.cardapio-page {
  background: var(--color-creme-quente);
}

.cardapio-page .section {
  scroll-margin-top: 9rem;
}

.cardapio-hero {
  padding-top: var(--space-7);
}

.cardapio-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.cardapio-hero__content {
  grid-column: 1 / span 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.cardapio-hero__content > * { margin: 0; }

.cardapio-breadcrumb {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  color: var(--color-areia-900);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.cardapio-breadcrumb span[aria-hidden="true"] { color: var(--color-borda-suave); }
.cardapio-breadcrumb a:hover, .cardapio-breadcrumb a:focus-visible { text-decoration: underline; }

.cardapio-hero__lead { max-width: 35rem; font-size: var(--text-lg); line-height: var(--leading-lg); }
.cardapio-hero__support { max-width: 31rem; color: color-mix(in srgb, var(--color-areia-900) 76%, transparent); }

.cardapio-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.cardapio-hero__actions > * { min-width: 0; }

.cardapio-hero__media { grid-column: 3 / span 1; width: 100%; min-width: 0; margin: var(--space-5) 0 0; }
.cardapio-hero__media img { width: 100%; max-width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 60% center; border-radius: var(--radius-xl); }

.cardapio-categories { position: relative; z-index: 2; padding-block: var(--space-5); }
.cardapio-categories__intro { max-width: 42rem; }
.cardapio-categories__intro h2 { font-size: var(--text-2xl); }
.cardapio-categories__eyebrow, .cardapio-cocktails__eyebrow, .cardapio-reservation__eyebrow { margin: 0 0 var(--space-2); color: var(--color-terracota); font-size: var(--text-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.cardapio-category-nav {
  position: sticky;
  top: 5rem;
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding: var(--space-2);
  border: var(--border-default);
  border-radius: var(--radius-lg);
  background: rgb(255 249 240 / 96%);
  box-shadow: var(--shadow-control);
  backdrop-filter: blur(10px);
}

.cardapio-category-nav a {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: .625rem .875rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--color-azul-petroleo);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.cardapio-category-nav a:hover, .cardapio-category-nav a:focus-visible, .cardapio-category-nav a[aria-current="true"] { border-color: var(--color-azul-petroleo); background: var(--color-azul-petroleo); color: var(--color-branco-neutro); }

.cardapio-share { padding-top: var(--space-7); }
.cardapio-share__header { max-width: 35rem; }
.cardapio-share__lists { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); margin-top: var(--space-6); }
.cardapio-menu-group { min-width: 0; padding: var(--space-5); border-top: 3px solid var(--color-terracota); background: var(--color-areia-100); }
.cardapio-menu-group:first-child { grid-column: 1 / span 1; }
.cardapio-menu-group:last-child { grid-column: 3 / span 1; }
.cardapio-menu-group h3 { margin-bottom: var(--space-5); }

.cardapio-menu-list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.cardapio-menu-item { display: grid; grid-template-columns: minmax(0, 1fr) max-content; min-width: 0; column-gap: var(--space-4); align-items: start; padding-bottom: var(--space-4); border-bottom: var(--border-default); }
.cardapio-menu-item:last-child { padding-bottom: 0; border-bottom: 0; }
.cardapio-menu-item__copy { min-width: 0; }
.cardapio-menu-item__copy h3, .cardapio-menu-item__copy h4 { margin-bottom: var(--space-2); }
.cardapio-menu-item__copy h4 { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 400; }
.cardapio-menu-item__copy p { margin: 0; color: color-mix(in srgb, var(--color-areia-900) 77%, transparent); font-size: var(--text-sm); line-height: var(--leading-sm); }
.cardapio-menu-item__price { min-width: max-content; color: var(--color-verde-folha); font-size: var(--text-sm); line-height: var(--leading-sm); white-space: nowrap; }

.cardapio-main-dishes__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; }
.cardapio-main-dishes__intro { grid-column: 1 / span 1; max-width: 36rem; min-width: 0; }
.cardapio-main-dishes__media { grid-column: 3 / span 1; width: 100%; min-width: 0; margin: 0; }
.cardapio-main-dishes__media img { width: 100%; max-width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: right bottom; border-radius: var(--radius-xl); }
.cardapio-main-dishes__list { display: flex; width: min(100%, 56rem); min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-7); }
.cardapio-menu-item--featured { padding-bottom: var(--space-5); }
.cardapio-menu-item--featured .cardapio-menu-item__copy h3 { font-size: var(--text-xl); }

.cardapio-sandwiches__header { max-width: 36rem; }
.cardapio-sandwiches__cards { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); margin-top: var(--space-6); }
.cardapio-sandwich-card { display: flex; min-width: 0; min-height: 16rem; flex-direction: column; justify-content: space-between; gap: var(--space-5); padding: var(--space-6); border: var(--border-default); border-top: 3px solid var(--color-terracota); border-radius: var(--radius-lg); background: var(--color-areia-100); box-shadow: var(--shadow-surface); }
.cardapio-sandwich-card:first-child { grid-column: 1 / span 1; }
.cardapio-sandwich-card:last-child { grid-column: 3 / span 1; }
.cardapio-sandwich-card__content { min-width: 0; }
.cardapio-sandwich-card__content p { margin-bottom: 0; }
.cardapio-sandwich-card > strong { color: var(--color-verde-folha); }

.cardapio-desserts__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); align-items: center; }
.cardapio-desserts__content { grid-column: 1 / span 1; min-width: 0; max-width: 36rem; }
.cardapio-desserts__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-5); }
.cardapio-desserts__media { grid-column: 3 / span 1; width: 100%; min-width: 0; margin: 0; }
.cardapio-desserts__media img { width: 100%; max-width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: right center; border-radius: var(--radius-xl); }

.cardapio-drinks__header { max-width: 37rem; }
.cardapio-drinks__groups { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 3fr) minmax(0, 5fr); margin-top: var(--space-6); }
.cardapio-drink-group { min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-areia-100); }
.cardapio-drink-group:first-child { grid-column: 1 / span 1; }
.cardapio-drink-group:nth-child(2) { grid-column: 3 / span 1; }
.cardapio-drink-group h3 { font-size: var(--text-xl); }
.cardapio-cocktails { grid-column: 4 / span 1; min-width: 0; padding: var(--space-6); border-radius: var(--radius-xl); background: var(--color-azul-petroleo); color: var(--color-branco-neutro); }
.cardapio-cocktails h3, .cardapio-cocktails h4 { color: var(--color-branco-neutro); }
.cardapio-cocktails__eyebrow { color: var(--color-dourado-envelhecido); }
.cardapio-cocktails__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.cardapio-cocktails .cardapio-menu-item { border-color: rgb(255 253 248 / 28%); }
.cardapio-cocktails .cardapio-menu-item__copy p { color: rgb(255 253 248 / 84%); }
.cardapio-cocktails .cardapio-menu-item__price { color: var(--color-branco-neutro); }
.cardapio-cocktails__note { margin: var(--space-5) 0 0; color: rgb(255 253 248 / 80%); font-size: var(--text-xs); }

.cardapio-moments__header { max-width: 42rem; margin-inline: auto; text-align: center; }
.cardapio-moments__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-6); }
.cardapio-moment-card { display: flex; min-width: 0; min-height: 19rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-default); background: var(--color-areia-100); }
.cardapio-moment-card > * { margin: 0; }
.cardapio-moment-card p { font-size: var(--text-sm); line-height: var(--leading-sm); }
.cardapio-moment-card--terracotta { border-top: 4px solid var(--color-terracota); }
.cardapio-moment-card--green { border-top: 4px solid var(--color-verde-folha); }
.cardapio-moment-card--blue { border-top: 4px solid var(--color-azul-petroleo); }
.cardapio-moment-card .button { margin-top: auto; }

.cardapio-reservation__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr); align-items: center; padding: var(--space-8); border-radius: var(--radius-2xl); background: var(--color-verde-folha-escuro); color: var(--color-branco-neutro); }
.cardapio-reservation__info { grid-column: 1 / span 1; min-width: 0; max-width: 43rem; }
.cardapio-reservation__info h2, .cardapio-reservation__action h3 { color: var(--color-branco-neutro); }
.cardapio-reservation__info p:last-child { margin-bottom: 0; }
.cardapio-reservation__eyebrow { color: var(--color-coral-suave); }
.cardapio-reservation__action { grid-column: 3 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.cardapio-reservation__action > * { margin: 0; }
.cardapio-reservation__action p { font-size: var(--text-sm); line-height: var(--leading-sm); }

@media (max-width: 63.9375rem) {
  .cardapio-hero__grid, .cardapio-main-dishes__top { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-6); }
  .cardapio-hero__content, .cardapio-main-dishes__intro { grid-column: 1 / -1; width: min(100%, 42rem); }
  .cardapio-hero__media, .cardapio-main-dishes__media { grid-column: 1 / -1; width: min(100%, 50rem); margin: 0; }
  .cardapio-main-dishes__list { width: 100%; }
  .cardapio-share__lists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .cardapio-menu-group:first-child, .cardapio-menu-group:last-child { grid-column: auto; }
  .cardapio-sandwiches__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .cardapio-sandwich-card:first-child, .cardapio-sandwich-card:last-child { grid-column: auto; }
  .cardapio-desserts__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-6); }
  .cardapio-desserts__content, .cardapio-desserts__media { grid-column: 1 / -1; width: min(100%, 50rem); }
  .cardapio-drinks__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .cardapio-drink-group:first-child, .cardapio-drink-group:nth-child(2) { grid-column: auto; }
  .cardapio-cocktails { grid-column: 1 / -1; }
  .cardapio-moments__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .cardapio-moment-card--blue { grid-column: 1 / -1; }
  .cardapio-reservation__panel { grid-template-columns: 1fr; gap: var(--space-6); }
  .cardapio-reservation__info, .cardapio-reservation__action { grid-column: 1; }
}

@media (max-width: 47.5rem) {
  .cardapio-category-nav { top: 4.25rem; overflow-x: auto; padding-inline: var(--space-2); scroll-snap-type: x proximity; }
  .cardapio-category-nav a { flex: 0 0 auto; scroll-snap-align: start; }
  .cardapio-share__lists, .cardapio-sandwiches__cards, .cardapio-drinks__groups, .cardapio-moments__cards { grid-template-columns: 1fr; }
  .cardapio-menu-group:first-child, .cardapio-menu-group:last-child, .cardapio-sandwich-card:first-child, .cardapio-sandwich-card:last-child, .cardapio-drink-group:first-child, .cardapio-drink-group:nth-child(2), .cardapio-cocktails, .cardapio-moment-card--blue { grid-column: 1; }
  .cardapio-moments__cards { gap: var(--space-4); }
  .cardapio-moment-card { min-height: auto; }
}

@media (max-width: 43.75rem) {
  .cardapio-hero { padding-top: var(--space-6); }
  .cardapio-hero h1 { font-size: clamp(2.5rem, 11vw, 2.75rem); line-height: 1.08; }
  .cardapio-hero__actions { flex-direction: column; }
  .cardapio-hero__actions .button { width: 100%; }
  .cardapio-hero__lead { font-size: var(--text-base); line-height: var(--leading-base); }
  .cardapio-menu-item { grid-template-columns: minmax(0, 1fr) max-content; column-gap: var(--space-3); }
  .cardapio-share__lists { gap: var(--space-4); }
  .cardapio-menu-group, .cardapio-drink-group, .cardapio-sandwich-card { padding: var(--space-5); }
  .cardapio-reservation__panel { padding: var(--space-5); border-radius: var(--radius-xl); }
  .cardapio-reservation__action .button { width: 100%; }
}

@media (max-width: 21.25rem) {
  .cardapio-menu-item { grid-template-columns: 1fr; row-gap: var(--space-2); }
  .cardapio-menu-item__price { justify-self: start; }
}
