/* Frontage identification and owner-confirmed summer hours, 5 October 2026. */
.frontage-hours {
  position: relative;
  margin-top: 0;
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: 24px;
  background: #061726;
}
.frontage-hours__photo { overflow: hidden; }
.frontage-hours__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.frontage-hours__card {
  position: absolute;
  inset: 0 0 0 auto;
  box-sizing: border-box;
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(16px, 1.8vw, 28px);
  border-left: 3px solid #ffcf22;
  border-radius: 28px 0 0 28px;
  color: #f5fbff;
  background: #061726;
  box-shadow: -10px 0 30px rgb(0 0 0 / 24%);
}
.frontage-hours__season {
  margin: 0 0 10px;
  color: #65d7ff;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.frontage-hours__card h2 {
  margin: 0 0 12px;
  color: #ffcf22;
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.1;
}
.frontage-hours__times { margin: 0; }
.frontage-hours__times > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid #294354;
}
.frontage-hours__times dt {
  color: #d5e5ef;
  font-size: 15px;
  line-height: 1.4;
}
.frontage-hours__times dd {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
}
.frontage-hours__times .is-today { background: #12334a; margin-inline: -8px; padding-inline: 8px; border-radius: 8px; }
.frontage-hours__times .is-today dt, .frontage-hours__times .is-today dd { font-weight: 900; color: #ffcf22; }
.frontage-hours__today { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.frontage-hours__today[hidden] { display: none; }
.frontage-hours__status { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; font-size: 15px; line-height: 1.3; }
.frontage-hours__status > span { flex: 0 0 10px; height: 10px; border-radius: 50%; background: #adbac5; }
.frontage-hours__status[data-state="open"] > span { background: #40de8c; }
.frontage-hours__status[data-state="closed"] > span { background: #ff6c76; }
[data-hours-hero][data-state="open"] .shop-status__dot { background: #40de8c; }
[data-hours-hero][data-state="closed"] .shop-status__dot { background: #ff6c76; }
[data-hours-hero][data-state="unknown"] .shop-status__dot { background: #adbac5; }
.frontage-hours__note { margin: 12px 0 0; color: #d5e5ef; font-size: 12px; line-height: 1.4; }
@media (max-width: 1200px) {
  /* Show the left 72% of the same image: shop sign and entrance remain visible. */
  .frontage-hours__photo img { width: 138.888889%; max-width: none; }
  .frontage-hours__card {
    position: static;
    width: 100%;
    padding: 24px;
    border-left: 0;
    border-top: 3px solid #ffcf22;
    border-radius: 24px 24px 0 0;
    box-shadow: none;
  }
  .frontage-hours__card h2 { font-size: 28px; }
}
@media (prefers-contrast: more) {
  .frontage-hours__times dt { color: #fff; }
  .frontage-hours__times > div { border-color: #fff; }
}
