/* Pagina informativa com convite a visita; escopo exclusivo do por do sol. */
.sunset-nav {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 46px; padding: 6px 64px 6px 22px;
  border-bottom: 1px solid var(--hairline);
}
.sunset-nav a { text-decoration: none; }
.sunset-nav__brand { min-width: 0; overflow-wrap: anywhere; font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; }
.sunset-nav__table { min-width: 0; font-size: 0.82rem; color: var(--on-card-soft); text-align: right; }
.sunset-page .theme-toggle {
  top: 6px; right: 18px; background: var(--card-2); color: var(--on-card);
  border-color: var(--hairline); opacity: 1; backdrop-filter: none;
}
.sunset-intro .board { padding: 18px 22px 0; text-align: left; }
.sunset-intro .board h1 { margin: 0; max-width: 23ch; font-size: 1.65rem; line-height: 1.12; }
.sunset-intro .hero { margin: 16px 22px 0; }
.sunset-intro .hero::after { content: none; }
.sunset-intro .hero picture { display: block; }
.sunset-intro .hero__img { height: 205px; object-position: center 65%; border-radius: 13px; }
.sunset-intro .hero figcaption { margin-top: 5px; font-size: 0.78rem; line-height: 1.4; color: var(--on-card-soft); }
.sunset-today {
  /* As colunas se empilham quando o texto ampliado precisa de mais espaco. */
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); gap: 0 12px; align-items: center;
  margin: 14px 22px 0; padding: 11px 14px; border-radius: 12px;
  background: var(--card-2); border: 1px solid var(--hairline);
}
.sunset-today__context { min-width: 0; overflow-wrap: anywhere; }
.sunset-today__label { margin: 0; font-size: 0.86rem; font-weight: 600; }
.sunset-today__date { display: block; color: var(--on-card-soft); font-size: 0.75rem; margin-top: 2px; line-height: 1.4; }
.sunset-today__time {
  display: flex; align-items: center; min-height: 2.05rem;
  font-family: var(--font-display); font-weight: 600;
  font-size: 1rem; line-height: 1; margin: 0; justify-self: end; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.sunset-today[data-sunset-ready] .sunset-today__time { font-size: 2.05rem; }
.sunset-today__next { grid-column: 1 / -1; margin: 8px 0 0; font-size: 0.86rem; font-weight: 600; }
.sunset-today__next[hidden] { display: none; }
.sunset-page .sunset-invite { margin-top: 14px; }
.sunset-invite h2 { font-size: 1.25rem; margin-bottom: 7px; }
.sunset-invite > p { line-height: 1.5; margin-bottom: 14px; }
.sunset-invite .btn-pair { gap: 10px; }
.sunset-invite .btn-pair .btn { padding-top: 13px; padding-bottom: 13px; font-size: 0.94rem; }
.sunset-invite .sunset-invite__note { margin: 9px 0 0; font-size: 0.8rem; line-height: 1.45; }
.sunset-venue__photo { margin: 14px 0; }
.sunset-venue__photo img { width: 100%; height: auto; border-radius: 16px; }
.sunset-venue__photo figcaption, .sunset-dishes figcaption {
  margin-top: 7px; font-size: 0.82rem; line-height: 1.4; color: var(--on-card-soft);
}
.sunset-dishes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
.sunset-dishes figure { margin: 0; }
.sunset-dishes img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.sunset-dishes a { text-decoration: none; }
.sunset-page .sunset-proof { margin-top: 14px; font-size: 0.9rem; }
.sunset-proof small { display: block; color: var(--on-card-soft); font-size: 0.75rem; }
.sunset-page .sunset-rule { font-size: 0.86rem; }
.sunset-page :is(a, button):focus-visible { outline: 3px solid var(--sea); outline-offset: 4px; }
.sunset-page :is(#tabela, #daqui, #metodo) { scroll-margin-top: 20px; }
.sunset-page .hours div { flex-wrap: wrap; }
.sunset-page .hours dd { margin-left: auto; }

@media (max-height: 650px) and (max-width: 699px) {
  .sunset-intro .board { padding-top: 12px; }
  .sunset-intro .board h1 { font-size: 1.45rem; }
  .sunset-intro .hero { margin-top: 12px; }
  .sunset-intro .hero__img { height: 175px; }
}

@media (min-width: 700px) {
  .sunset-page::before { content: none; }
  .shell--sunset { max-width: none; box-shadow: none; }
  .sunset-nav { padding-left: max(32px, calc((100% - 1120px) / 2)); padding-right: max(88px, calc((100% - 1008px) / 2)); }
  .sunset-page .theme-toggle { right: max(30px, calc((100% - 1120px) / 2)); }
  .sunset-intro, .sunset-guide, .shell--sunset > main > .links { max-width: 1184px; margin-left: auto; margin-right: auto; }
  .sunset-intro { padding: 28px 32px 0; }
  .sunset-intro .hero { max-width: 600px; margin-left: auto; margin-right: auto; }
  .sunset-intro .hero__img { height: 300px; }
  .sunset-intro .board { padding-top: 14px; }
  .sunset-intro .board h1 { font-size: 2.2rem; max-width: 24ch; }
  .sunset-intro .board__sub { max-width: 56ch; font-size: 1rem; }
  .sunset-today { max-width: 600px; margin-left: auto; margin-right: auto; }
  .sunset-invite { max-width: 600px; margin-left: auto; margin-right: auto; padding: 0; }
  .sunset-guide { padding: 0 32px; }
  .sunset-guide > .sec { padding: 0; margin-top: 48px; }
  .sunset-guide .sec > p { max-width: 72ch; }
  .sunset-venue__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
  .sunset-venue__photo { margin-top: 0; }
  .sunset-venue__copy .place { margin-top: 0; }
  .sunset-page .foot { margin-top: 48px; padding: 30px 32px; }
}

@media (min-width: 1000px) {
  .sunset-intro {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto; gap: 22px 56px; padding-top: 44px;
  }
  .sunset-intro .hero { grid-column: 2; grid-row: 1 / 4; display: flex; flex-direction: column; min-height: 420px; width: 100%; max-width: none; margin: 0; }
  .sunset-intro .hero picture { flex: 1; min-height: 0; position: relative; }
  .sunset-intro .hero__img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-position: center 65%; }
  .sunset-intro .board { grid-column: 1; grid-row: 1; text-align: left; padding: 0; }
  .sunset-intro .eyebrow { margin-top: 0; }
  .sunset-intro .board h1 { margin: 0; max-width: 20ch; font-size: clamp(2.3rem, 3.2vw, 3rem); line-height: 1.08; }
  .sunset-intro .board__sub { margin-left: 0; font-size: 1.02rem; }
  .sunset-today { grid-column: 1; grid-row: 2; margin: 0; width: 100%; max-width: none; }
  .sunset-intro .sunset-invite { grid-column: 1; grid-row: 3; margin: 0; max-width: none; }
  .sunset-guide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 56px; padding-top: 64px; }
  .sunset-guide > .sec { margin: 0; }
  .sunset-guide .sec h2 { font-size: 1.65rem; }
  .sunset-guide .sec p { font-size: 1rem; }
  #tabela { grid-column: 1; grid-row: 1 / 3; }
  #por-que { grid-column: 2; grid-row: 1; }
  #quando-chegar { grid-column: 2; grid-row: 2; }
  #onde-olhar, #daqui, #metodo { grid-column: 1 / -1; }
  #onde-olhar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 56px; align-items: start; padding-top: 24px; }
  #onde-olhar > :not(figure) { grid-column: 1; }
  #onde-olhar > figure { grid-column: 2; grid-row: 1 / 4; margin-top: 0; }
  #daqui { padding-top: 24px; }
  .sunset-venue__grid { gap: 56px; margin-top: 24px; }
  #metodo { padding-top: 24px; }
  .shell--sunset > main > .links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; padding: 32px; }
  .shell--sunset .links__label { grid-column: 1 / -1; }
}
