/* Camada de produto para o cardápio — baseada no TS Design System. */
:root {
  --menu-brand: var(--ts-color-lime);
  --menu-brand-contrast: var(--ts-color-ink);
  --menu-accent: var(--ts-color-coral);
  --menu-shell: 82rem;
  --menu-content: 72rem;
}

html { scroll-behavior: smooth; scroll-padding-top: 7.5rem; }
body.menu-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 5% 6%, color-mix(in srgb, var(--menu-brand) 24%, transparent) 0 9rem, transparent 9.1rem),
    radial-gradient(circle at 94% 30%, color-mix(in srgb, var(--ts-color-blue) 12%, transparent) 0 13rem, transparent 13.1rem),
    var(--ts-surface-page);
  color: var(--ts-text-primary);
  font-family: var(--ts-font-body);
}

.menu-shell { width: min(100%, var(--menu-shell)); min-height: 100vh; margin-inline: auto; }
.menu-main { width: min(calc(100% - 2rem), var(--menu-content)); margin-inline: auto; padding-bottom: 9rem; }
.hidden { display: none !important; }
.menu-muted { color: var(--ts-text-secondary); }
.menu-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.menu-topbar {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ts-border-default);
  background: var(--ts-surface-inverse);
  color: var(--ts-text-inverse);
}
.menu-topbar__inner {
  width: min(calc(100% - 2rem), var(--menu-content));
  min-height: 5.25rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ts-space-4);
}
.menu-brand { min-width: 0; display: flex; align-items: center; gap: var(--ts-space-3); }
.menu-brand__mark {
  width: 2.75rem; height: 2.75rem; flex: 0 0 auto; display: grid; place-items: center;
  border: 1px solid var(--menu-brand); border-radius: 50%; background: var(--menu-brand); color: var(--menu-brand-contrast);
  font-family: var(--ts-font-display); font-weight: var(--ts-font-weight-black); font-size: 1.15rem;
}
.menu-brand__logo { width: 3.5rem; height: 3.5rem; flex: 0 0 auto; display: block; border: 2px solid var(--menu-brand); border-radius: 1rem; object-fit: cover; }
.menu-brand__eyebrow { margin: 0 0 .2rem; color: var(--menu-brand); font-size: .65rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.menu-brand__name { margin: 0; overflow: hidden; font-family: var(--ts-font-display); font-size: clamp(1.15rem, 3vw, 1.7rem); font-weight: 900; letter-spacing: -.035em; line-height: 1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.menu-topbar__actions { display: flex; align-items: center; gap: var(--ts-space-3); }
.menu-instagram { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid var(--menu-brand); border-radius: 50%; color: var(--menu-brand); font-size: 1.2rem; transition: transform .2s ease, background .2s ease, color .2s ease; }
.menu-instagram:hover { background: var(--menu-brand); color: var(--menu-brand-contrast); transform: translateY(-2px); }
.menu-status { flex: 0 0 auto; color: var(--ts-color-white); }
.menu-status::before { background: var(--menu-status-color, var(--ts-color-success)); }
.menu-status.is-closed { --menu-status-color: var(--ts-color-coral); }

.menu-banner { position: relative; width: min(calc(100% - 2rem), var(--menu-content)); margin: var(--ts-space-6) auto 0; overflow: hidden; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-color-ink); box-shadow: var(--ts-shadow-hard-sm); }
.menu-banner img { width: 100%; aspect-ratio: 5 / 2; display: block; object-fit: cover; }
.menu-install { position: absolute; top: var(--ts-space-3); right: var(--ts-space-3); }

.menu-hero { padding-block: clamp(2.5rem, 7vw, 5rem) clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr); align-items: end; gap: clamp(2rem, 7vw, 6rem); }
.menu-hero > *, .menu-hero__aside { min-width: 0; }
.menu-hero__kicker { margin-bottom: var(--ts-space-5); }
.menu-hero__title { max-width: 12ch; margin: 0; font-family: var(--ts-font-display); font-size: clamp(3.4rem, 8vw, 7.25rem); font-weight: 900; letter-spacing: -.07em; line-height: .82; text-transform: uppercase; }
.menu-hero__title span { color: var(--ts-color-blue); }
.menu-hero__copy { margin: var(--ts-space-6) 0 0; max-width: 36rem; color: var(--ts-text-secondary); font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.65; }
.menu-hero__aside { display: grid; gap: var(--ts-space-4); }
.menu-hero-note { padding: var(--ts-space-5); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--menu-brand); box-shadow: var(--ts-shadow-hard-sm); color: var(--ts-color-ink); }
.menu-hero-note strong { display: block; margin-bottom: var(--ts-space-2); font-family: var(--ts-font-display); font-size: 1.45rem; font-weight: 900; text-transform: uppercase; }
.menu-hero-note p { margin: 0; font-size: .9rem; line-height: 1.5; }

.menu-closed { margin-bottom: var(--ts-space-6); }
.menu-category-bar { position: sticky; top: 0; z-index: var(--ts-z-sticky); margin-inline: -1rem; padding: .8rem 1rem; border-block: 1px solid var(--ts-border-default); background: color-mix(in srgb, var(--ts-surface-page) 92%, transparent); backdrop-filter: blur(14px); }
.menu-search { margin-bottom: var(--ts-space-2); position: relative; }
.menu-search i { position: absolute; top: 50%; left: 1rem; color: var(--ts-text-muted); transform: translateY(-50%); pointer-events: none; }
.menu-search .ts-input { height: 2.75rem; padding-left: 2.75rem; border-color: var(--ts-color-ink); border-radius: var(--ts-radius-pill); background: var(--ts-surface-raised); }
.menu-category-wrap { position: relative; display: flex; align-items: center; }
.menu-category-list { display: flex; gap: var(--ts-space-2); overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.menu-category-list::-webkit-scrollbar { display: none; }
.category-chip { min-height: 2.65rem; padding: .75rem 1rem; flex: 0 0 auto; display: inline-flex; align-items: center; scroll-snap-align: start; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-pill); background: var(--ts-surface-raised); color: var(--ts-text-primary); font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: background var(--ts-duration-fast), color var(--ts-duration-fast), transform var(--ts-duration-fast); }
.category-chip:hover, .category-chip.is-active { background: var(--ts-color-ink); color: var(--ts-color-white); transform: translateY(-2px); }
.category-chip--promo { background: var(--menu-brand); color: var(--ts-color-ink); }
.scroll-arrow { width: 2.5rem; height: 2.5rem; padding: 0; display: none; place-items: center; position: absolute; z-index: 2; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--ts-surface-raised); color: var(--ts-text-primary); box-shadow: var(--ts-shadow-xs); cursor: pointer; }
.scroll-arrow.visible { display: grid; }
.scroll-arrow--left { left: -.5rem; }
.scroll-arrow--right { right: -.5rem; }

.menu-feature { position: relative; margin-bottom: clamp(2.5rem, 6vw, 5rem); overflow: hidden; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-color-blue); color: var(--ts-color-white); box-shadow: var(--ts-shadow-hard-md); }
.menu-feature .product-card { min-height: 0; display: block; overflow: visible; border: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; }
.menu-feature .product-card:hover { transform: none; box-shadow: none; }
.destaque-slide { transition: opacity var(--ts-duration-slow) var(--ts-ease-standard); }
.destaque-slide.opacity-0 { opacity: 0; }
.menu-feature__content { min-height: 22rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); }
.menu-feature__copy { padding: clamp(1.5rem, 5vw, 4rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.menu-feature__eyebrow { margin-bottom: var(--ts-space-3); color: var(--menu-brand); font-size: .7rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.menu-feature__title { max-width: 13ch; margin: 0; font-family: var(--ts-font-display); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 900; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.menu-feature__description { max-width: 38rem; margin: var(--ts-space-4) 0 0; color: rgba(255,255,255,.8); line-height: 1.55; }
.menu-feature__price { margin-top: var(--ts-space-6); color: var(--menu-brand); font-family: var(--ts-font-display); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; letter-spacing: -.04em; }
.menu-feature__old-price { margin-right: var(--ts-space-2); color: rgba(255,255,255,.62); font-size: 1rem; text-decoration: line-through; }
.menu-feature__image { min-height: 20rem; background: var(--ts-color-blue-dark); }
.menu-feature__image img { width: 100%; height: 100%; min-height: 20rem; display: block; object-fit: cover; }
.menu-feature .scroll-arrow { top: 50%; transform: translateY(-50%); }
.menu-feature .scroll-arrow--left { left: var(--ts-space-3); }
.menu-feature .scroll-arrow--right { right: var(--ts-space-3); }

.menu-section { padding-block: clamp(2.5rem, 6vw, 4.5rem); scroll-margin-top: 5.5rem; border-top: 1px solid var(--ts-border-default); }
.menu-no-results { margin: var(--ts-space-8) 0; }
.menu-section:first-of-type { border-top: 0; }
.menu-section__header { margin-bottom: var(--ts-space-8); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ts-space-6); }
.menu-section__index { color: var(--ts-color-blue); font-family: var(--ts-font-mono); font-size: .72rem; font-weight: 800; }
.menu-section__title { margin: .35rem 0 0; font-family: var(--ts-font-display); font-size: clamp(2.5rem, 6vw, 4.75rem); font-weight: 900; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.menu-section__count { color: var(--ts-text-secondary); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.menu-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ts-space-5); }
.product-card { position: relative; min-height: 10.75rem; padding: 0; display: grid; grid-template-columns: 10rem minmax(0, 1fr); overflow: hidden; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--ts-surface-raised); color: var(--ts-text-primary); text-align: left; cursor: pointer; box-shadow: var(--ts-shadow-xs); transition: transform var(--ts-duration-normal) var(--ts-ease-expressive), box-shadow var(--ts-duration-normal) var(--ts-ease-expressive); }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--ts-shadow-hard-sm); }
.product-card:focus-visible { outline: 3px solid var(--ts-focus); outline-offset: 3px; }
.product-card__image { width: 100%; height: 100%; min-height: 10.75rem; object-fit: cover; background: var(--ts-surface-subtle); }
.product-card__body { min-width: 0; padding: var(--ts-space-5); display: flex; flex-direction: column; align-items: flex-start; }
.product-card__eyebrow { margin-bottom: .45rem; color: var(--ts-color-coral-dark); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.product-card__title { margin: 0; font-family: var(--ts-font-display); font-size: 1.35rem; font-weight: 900; letter-spacing: -.03em; line-height: 1.05; text-transform: uppercase; }
.product-card__description { margin: .6rem 0 0; display: -webkit-box; overflow: hidden; color: var(--ts-text-secondary); font-size: .82rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-card__footer { width: 100%; margin-top: auto; padding-top: var(--ts-space-3); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ts-space-3); }
.product-card__price { color: var(--ts-color-ink); font-family: var(--ts-font-display); font-size: 1.35rem; font-weight: 900; white-space: nowrap; }
.product-card__price-old { display: block; color: var(--ts-text-muted); font-family: var(--ts-font-body); font-size: .7rem; font-weight: 600; text-decoration: line-through; }
.product-card__add { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--menu-brand); color: var(--ts-color-ink); font-size: 1.2rem; }
.product-card--promo { background: var(--ts-color-coral-soft); }

.menu-cart-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 300; pointer-events: none; }
.menu-cart-bar__inner { width: min(calc(100% - 2rem), 40rem); margin: 0 auto var(--ts-space-4); padding: var(--ts-space-3); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: color-mix(in srgb, var(--ts-surface-raised) 94%, transparent); box-shadow: var(--ts-shadow-md); backdrop-filter: blur(16px); pointer-events: auto; }
.menu-cart-empty { padding: .65rem; color: var(--ts-text-secondary); font-size: .86rem; text-align: center; }
.menu-cart-button { width: 100%; min-height: 3.75rem; padding: .75rem 1.15rem; display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--menu-brand); color: var(--ts-color-ink); font: inherit; font-weight: 900; cursor: pointer; transition: transform var(--ts-duration-fast), box-shadow var(--ts-duration-fast); }
.menu-cart-button:hover { transform: translateY(-2px); box-shadow: var(--ts-shadow-hard-sm); }
.menu-cart-total { font-family: var(--ts-font-display); font-size: 1.45rem; font-weight: 900; }
.menu-cart-button:disabled { background: var(--ts-surface-subtle); color: var(--ts-text-muted); cursor: not-allowed; }

/* Modais montados pelo JavaScript. */
.menu-modal-layer { position: fixed; inset: 0; z-index: var(--ts-z-modal); padding: var(--ts-space-4); display: grid; place-items: center; background: rgba(7,17,15,.76); backdrop-filter: blur(6px); }
.menu-modal { width: min(100%, 36rem); max-height: min(90dvh, 50rem); overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-surface-raised); color: var(--ts-text-primary); box-shadow: 12px 12px 0 var(--ts-color-ink); animation: menu-modal-in var(--ts-duration-slow) var(--ts-ease-expressive); }
.menu-modal__header { padding: var(--ts-space-5) var(--ts-space-6); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border-bottom: 1px solid var(--ts-border-default); }
.menu-modal__title { margin: 0; font-family: var(--ts-font-display); font-size: clamp(1.7rem, 5vw, 2.5rem); font-weight: 900; letter-spacing: -.045em; text-transform: uppercase; }
.menu-modal__close { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: transparent; color: currentColor; font-size: 1.6rem; cursor: pointer; }
.menu-modal__body { padding: var(--ts-space-6); overflow-y: auto; }
.menu-modal__intro { margin: 0 0 var(--ts-space-5); color: var(--ts-text-secondary); line-height: 1.55; }
.menu-modal__section-title { margin: var(--ts-space-6) 0 var(--ts-space-3); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.menu-option-list { display: grid; gap: var(--ts-space-3); }
.menu-option { padding: var(--ts-space-4); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: var(--ts-surface-subtle); cursor: pointer; }
.menu-option:has(input:checked) { border-color: var(--ts-color-ink); background: var(--ts-color-lime-soft); box-shadow: 4px 4px 0 var(--ts-color-ink); }
.menu-option__name { display: block; font-weight: 800; }
.menu-option__price { display: block; margin-top: .2rem; color: var(--ts-color-lime-dark); font-size: .8rem; font-weight: 800; }
.menu-option input { width: 1.35rem; height: 1.35rem; accent-color: var(--ts-color-ink); }
.menu-custom-item { padding: var(--ts-space-4); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border-bottom: 1px solid var(--ts-border-default); }
.menu-custom-item:first-child { border-top: 1px solid var(--ts-border-default); }
.menu-custom-item__name { font-weight: 800; }
.menu-custom-item__info { margin-top: .2rem; color: var(--ts-color-coral-dark); font-size: .75rem; }
.menu-modal__footer { padding: var(--ts-space-4) var(--ts-space-6); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border-top: 1px solid var(--ts-border-default); background: var(--ts-surface-subtle); }
.menu-quantity { display: flex; align-items: center; gap: var(--ts-space-2); }
.menu-quantity button { width: 2.75rem; height: 2.75rem; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--ts-surface-raised); color: var(--ts-text-primary); font-size: 1.2rem; font-weight: 900; cursor: pointer; }
.menu-quantity span { min-width: 2rem; font-family: var(--ts-font-mono); font-weight: 800; text-align: center; }
.menu-modal__price { font-family: var(--ts-font-display); font-size: 1.5rem; font-weight: 900; }
@keyframes menu-modal-in { from { opacity: 0; transform: translateY(1.5rem) scale(.98); } }

/* Checkout e páginas de retorno. */
.order-page { width: min(100% - 2rem, 72rem); margin-inline: auto; padding: var(--ts-space-6) 0 10rem; }
.order-header { position: sticky; top: 0; z-index: var(--ts-z-sticky); border-bottom: 1px solid var(--ts-border-default); background: color-mix(in srgb, var(--ts-surface-page) 92%, transparent); backdrop-filter: blur(14px); }
.order-header__inner { width: min(100% - 2rem, 72rem); min-height: 4.75rem; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); }
.order-back { color: var(--ts-text-primary); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.order-back:hover { color: var(--ts-color-blue-dark); }
.order-progress { color: var(--ts-text-secondary); font-size: .72rem; font-family: var(--ts-font-mono); }
.order-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .75fr); align-items: start; gap: var(--ts-space-8); }
.order-title { margin: var(--ts-space-8) 0 var(--ts-space-3); font-family: var(--ts-font-display); font-size: clamp(3.2rem, 8vw, 6.5rem); font-weight: 900; letter-spacing: -.07em; line-height: .85; text-transform: uppercase; }
.order-lead { max-width: 42rem; margin: 0 0 var(--ts-space-8); color: var(--ts-text-secondary); font-size: 1.05rem; line-height: 1.6; }
.order-panel { margin-bottom: var(--ts-space-5); padding: var(--ts-space-6); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--ts-surface-raised); box-shadow: var(--ts-shadow-xs); }
.order-panel__title { margin: 0 0 var(--ts-space-5); font-family: var(--ts-font-display); font-size: 1.65rem; font-weight: 900; letter-spacing: -.035em; text-transform: uppercase; }
.order-panel__subtitle { margin: var(--ts-space-8) 0 var(--ts-space-4); padding-top: var(--ts-space-5); border-top: 1px solid var(--ts-border-default); font-family: var(--ts-font-display); font-size: 1.2rem; font-weight: 900; text-transform: uppercase; }
.order-field { display: grid; gap: .45rem; }
.order-field + .order-field { margin-top: var(--ts-space-4); }
.order-label { font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.order-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ts-space-4); }
.order-span-1 { grid-column: span 1; }.order-span-2 { grid-column: span 2; }.order-span-3 { grid-column: span 3; }.order-span-4 { grid-column: span 4; }.order-span-6 { grid-column: span 6; }
.order-coupon { display: flex; gap: var(--ts-space-2); }
.order-coupon .ts-input { min-width: 0; text-transform: uppercase; }
.order-feedback { min-height: 1.3rem; margin-top: var(--ts-space-2); font-size: .8rem; }
.order-feedback[data-state="success"] { color: var(--ts-color-lime-dark); font-weight: 800; }
.order-feedback[data-state="warning"] { color: #765000; }
.order-feedback[data-state="error"] { color: var(--ts-color-danger); }
.ts-input.is-disabled { background: var(--ts-surface-subtle); color: var(--ts-text-muted); }
.order-cart-items { display: grid; gap: var(--ts-space-3); }
.order-cart-item { padding: var(--ts-space-4); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ts-space-3); border-bottom: 1px solid var(--ts-border-default); }
.order-cart-item:last-child { border-bottom: 0; }
.order-cart-item__name { font-weight: 800; }
.order-cart-item__details { margin-top: .25rem; color: var(--ts-text-secondary); font-size: .76rem; line-height: 1.45; }
.order-cart-item__price { font-family: var(--ts-font-display); font-size: 1.1rem; font-weight: 900; white-space: nowrap; }
.order-summary { position: sticky; top: 6rem; padding: var(--ts-space-6); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--ts-color-ink); color: var(--ts-color-white); box-shadow: var(--ts-shadow-hard-sm); }
.order-summary__title { margin: 0 0 var(--ts-space-6); color: var(--menu-brand); font-family: var(--ts-font-display); font-size: 1.7rem; font-weight: 900; text-transform: uppercase; }
.order-summary__line { padding-block: .45rem; display: flex; justify-content: space-between; gap: var(--ts-space-4); color: rgba(255,255,255,.72); font-size: .87rem; }
.order-summary__line--discount { color: var(--ts-color-coral); }
.order-summary__total { margin: var(--ts-space-5) 0; padding-top: var(--ts-space-5); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ts-space-4); border-top: 1px solid rgba(255,255,255,.25); font-weight: 800; }
.order-summary__total strong { color: var(--menu-brand); font-family: var(--ts-font-display); font-size: 2rem; }
.order-summary .ts-button { width: 100%; }
.form-input-error { border-color: var(--ts-color-danger) !important; box-shadow: 0 0 0 3px rgba(229,72,77,.22) !important; }
.order-check { display: flex; align-items: flex-start; gap: var(--ts-space-3); color: var(--ts-text-secondary); font-size: .86rem; line-height: 1.45; }
.order-check input { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; accent-color: var(--ts-color-ink); }

.result-page { min-height: 100vh; padding: var(--ts-space-8) var(--ts-space-4); display: grid; place-items: center; }
.result-card { width: min(100%, 43rem); padding: clamp(1.5rem, 6vw, 4rem); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-surface-raised); box-shadow: var(--ts-shadow-hard-md); text-align: center; }
.result-mark { width: 6rem; height: 6rem; margin: 0 auto var(--ts-space-6); display: grid; place-items: center; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--menu-brand); color: var(--ts-color-ink); font-size: 2.4rem; box-shadow: var(--ts-shadow-hard-sm); }
.result-mark--error { background: var(--ts-color-coral); }
.result-mark--whatsapp { background: #25d366; color: #07110f; }
.result-whatsapp-cta { width: 100%; margin: var(--ts-space-6) 0 var(--ts-space-4); display: flex; justify-content: center; background: #25d366; color: #07110f; border: 1px solid #07110f; box-shadow: var(--ts-shadow-hard-sm); font-weight: 900; text-decoration: none; }
.result-whatsapp-cta:hover { background: #1fbd59; transform: translateY(-2px); }
.result-instructions { margin: 0 0 var(--ts-space-6); padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ts-space-2); list-style: none; }
.result-instructions li { padding: var(--ts-space-3); display: grid; justify-items: center; gap: .4rem; border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); color: var(--ts-text-secondary); font-size: .72rem; text-align: center; }
.result-instructions li span { width: 1.65rem; height: 1.65rem; display: grid; place-items: center; border-radius: 50%; background: var(--ts-color-ink); color: var(--ts-color-white); font-weight: 900; }
.result-kicker { color: var(--ts-color-blue-dark); font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.result-title { margin: var(--ts-space-3) 0; font-family: var(--ts-font-display); font-size: clamp(3rem, 10vw, 5.75rem); font-weight: 900; letter-spacing: -.07em; line-height: .85; text-transform: uppercase; }
.result-copy { margin: 0 auto; max-width: 34rem; color: var(--ts-text-secondary); font-size: 1.05rem; line-height: 1.6; }
.result-details { margin: var(--ts-space-8) 0; padding: var(--ts-space-5); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: var(--ts-surface-subtle); text-align: left; }
.result-detail { padding-block: .6rem; display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); border-bottom: 1px solid var(--ts-border-default); }
.result-detail:last-child { border-bottom: 0; }
.result-detail span:first-child { color: var(--ts-text-secondary); font-size: .82rem; }
.result-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--ts-space-3); }
.result-actions .ts-button { width: 100%; }

.status-track { margin: var(--ts-space-8) 0; display: grid; gap: 0; grid-template-columns: repeat(6, 1fr); }
.status-step { position: relative; min-width: 0; display: grid; justify-items: center; gap: var(--ts-space-2); color: var(--ts-text-muted); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.status-step::before { position: absolute; top: 1.25rem; right: 50%; left: -50%; height: 2px; z-index: 0; background: var(--ts-color-line); content: ''; }
.status-step:first-child::before { display: none; }
.status-step__icon { width: 2.5rem; height: 2.5rem; z-index: 1; display: grid; place-items: center; border: 1px solid var(--ts-border-default); border-radius: 50%; background: var(--ts-surface-raised); }
.status-step.is-done { color: var(--ts-color-ink); }
.status-step.is-done::before { background: var(--ts-color-success); }
.status-step.is-done .status-step__icon { border-color: var(--ts-color-ink); background: var(--ts-color-success); color: var(--ts-color-ink); }
.status-step.is-current .status-step__icon { background: var(--menu-brand); box-shadow: 0 0 0 6px color-mix(in srgb, var(--menu-brand) 25%, transparent); animation: menu-pulse 2s infinite; }
@keyframes menu-pulse { 50% { transform: scale(1.08); } }

/* Conta do cliente, CEP e imagens ausentes */
.menu-account-link { min-height: 2.45rem; padding: .52rem .75rem; display: inline-flex; align-items: center; gap: .45rem; border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-pill); color: var(--ts-text-primary); font-size: .72rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.menu-account-link:hover { border-color: var(--ts-color-ink); background: var(--menu-brand); }
.menu-account-link--guest { min-height: 2.4rem; padding-inline: .72rem; border-color: var(--menu-brand); background: var(--menu-brand); color: var(--ts-color-ink); box-shadow: 3px 3px 0 color-mix(in srgb, var(--ts-color-white) 34%, transparent); }
.menu-account-link--guest:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 color-mix(in srgb, var(--ts-color-white) 45%, transparent); }
.menu-install-help { margin: -.4rem 0 0; color: var(--ts-text-secondary); font-size: .72rem; line-height: 1.45; }
.menu-account-promo { padding: var(--ts-space-5); display: grid; gap: var(--ts-space-4); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--ts-color-ink); color: var(--ts-color-white); box-shadow: var(--ts-shadow-hard-sm); }
.menu-account-promo__heading { display: flex; align-items: flex-start; gap: var(--ts-space-3); }
.menu-account-promo__icon { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--menu-brand); color: var(--ts-color-ink); }
.menu-account-promo__heading > div { display: grid; gap: .25rem; }
.menu-account-promo__eyebrow { color: var(--menu-brand); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.menu-account-promo__heading strong { color: var(--ts-color-white); font-family: var(--ts-font-display); font-size: 1.35rem; font-weight: 900; line-height: 1.05; text-transform: uppercase; }
.menu-account-promo > p { margin: 0; color: rgba(255,255,255,.72); font-size: .82rem; line-height: 1.5; }
.menu-account-promo__benefits { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ts-space-2); list-style: none; }
.menu-account-promo__benefits li { padding: .4rem .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: var(--ts-radius-pill); color: rgba(255,255,255,.84); font-size: .66rem; font-weight: 800; }
.menu-account-promo__benefits i { margin-right: .3rem; color: var(--menu-brand); }
.menu-account-promo__actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--ts-space-2); }
.menu-account-promo__actions .ts-button { width: 100%; min-width: 0; padding-inline: .65rem; justify-content: center; text-align: center; }
.menu-account-promo > small { color: rgba(255,255,255,.58); font-size: .65rem; text-align: center; }
.menu-account-welcome { padding: var(--ts-space-4); display: flex; align-items: center; gap: var(--ts-space-3); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-md); background: var(--ts-color-ink); color: var(--ts-color-white); text-decoration: none; box-shadow: var(--ts-shadow-hard-sm); }
.menu-account-welcome > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: .2rem; }
.menu-account-welcome small { color: var(--menu-brand); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.menu-account-welcome strong { color: var(--ts-color-white); font-size: .85rem; }
.menu-account-welcome:hover { transform: translateY(-2px); }
.product-image-fallback { display: grid !important; place-items: center; align-content: center; gap: .4rem; background: linear-gradient(145deg, var(--ts-surface-subtle), color-mix(in srgb, var(--menu-brand) 22%, white)); color: var(--ts-color-blue-dark); }
.product-image-fallback i { font-size: clamp(1.35rem, 4vw, 2.4rem); }
.product-image-fallback small { font-size: .6rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.product-image-fallback--logo { padding: clamp(.7rem, 3vw, 1.6rem); object-fit: contain !important; background: var(--ts-surface-subtle); }
.menu-feature__media { width: 100%; height: 100%; min-height: 20rem; }
.customer-checkout-banner { width: min(100%, 72rem); margin: 0 0 var(--ts-space-6); padding: var(--ts-space-4); display: flex; align-items: center; gap: var(--ts-space-3); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: color-mix(in srgb, var(--menu-brand) 12%, var(--ts-surface-raised)); }
.customer-checkout-banner__icon { width: 2.6rem; height: 2.6rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--ts-color-ink); color: var(--menu-brand); }
.customer-checkout-banner div:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: .15rem; }
.customer-checkout-banner strong { color: var(--ts-text-primary); font-size: .88rem; }
.customer-checkout-banner span:not(.customer-checkout-banner__icon) { color: var(--ts-text-secondary); font-size: .76rem; }
.customer-checkout-banner a { color: var(--ts-color-blue-dark); font-size: .75rem; font-weight: 900; }
.customer-checkout-banner__actions { display: flex !important; flex: 0 0 auto !important; gap: var(--ts-space-3) !important; }
.customer-checkout-banner--guest { padding: clamp(1.25rem, 3vw, 2rem); align-items: flex-start; border-color: var(--ts-color-ink); background: var(--ts-color-ink); color: var(--ts-color-white); box-shadow: var(--ts-shadow-hard-sm); }
.customer-checkout-banner--guest .customer-checkout-banner__icon { width: 3.25rem; height: 3.25rem; background: var(--menu-brand); color: var(--ts-color-ink); font-size: 1.15rem; }
.customer-checkout-banner--guest .customer-checkout-banner__copy { gap: .35rem; }
.customer-checkout-banner--guest .customer-checkout-banner__eyebrow { color: var(--menu-brand); font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.customer-checkout-banner--guest strong { max-width: 42rem; color: var(--ts-color-white); font-family: var(--ts-font-display); font-size: clamp(1.2rem, 3vw, 1.75rem); font-weight: 900; line-height: 1.08; }
.customer-checkout-banner--guest span:not(.customer-checkout-banner__icon):not(.customer-checkout-banner__eyebrow) { color: rgba(255,255,255,.74); font-size: .8rem; line-height: 1.45; }
.customer-checkout-banner--guest small { margin-top: .25rem; color: rgba(255,255,255,.58); font-size: .68rem; line-height: 1.4; }
.customer-checkout-banner--guest small i { margin-right: .25rem; color: var(--menu-brand); }
.customer-checkout-banner--guest .customer-checkout-banner__actions { min-width: 12.5rem; display: grid !important; gap: var(--ts-space-2) !important; }
.customer-checkout-banner--guest .customer-checkout-banner__actions .ts-button { width: 100%; justify-content: center; color: var(--ts-color-ink); text-align: center; }
.customer-checkout-banner--guest .customer-checkout-banner__actions .ts-button--primary { background: var(--menu-brand); }
.customer-checkout-banner--guest .customer-checkout-banner__actions .ts-button--secondary { background: var(--ts-color-white); }
.order-saved-address { margin-bottom: var(--ts-space-5); }
.order-save-address { margin: var(--ts-space-4) 0 var(--ts-space-2); }
.cep-search-row { display: flex; align-items: stretch; gap: var(--ts-space-2); }
.cep-search-row .ts-input { min-width: 0; }
.cep-search-button { flex: 0 0 auto; padding-inline: .85rem; }

.customer-auth-page { min-height: 100vh; width: min(calc(100% - 2rem), 70rem); margin: 0 auto; padding: var(--ts-space-6) 0; display: grid; align-content: center; gap: var(--ts-space-4); }
.customer-auth-card { overflow: hidden; display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-surface-raised); box-shadow: var(--ts-shadow-hard-md); }
.customer-auth-card__intro { padding: clamp(1.5rem, 5vw, 3.5rem); display: grid; align-content: start; gap: var(--ts-space-6); background: var(--ts-color-ink); color: var(--ts-color-white); }
.customer-auth-card__intro .menu-brand__name { color: var(--ts-color-white); }
.customer-auth-card__intro h1 { margin: 0; color: var(--ts-color-white); font-family: var(--ts-font-display); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 900; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.customer-auth-card__intro > p { margin: 0; color: rgba(255,255,255,.7); line-height: 1.6; }
.customer-auth-benefits { margin: 0; padding: 0; display: grid; gap: var(--ts-space-3); list-style: none; color: rgba(255,255,255,.82); font-size: .8rem; }
.customer-auth-benefits i { margin-right: .5rem; color: var(--menu-brand); }
.customer-auth-card__form { padding: clamp(1.5rem, 5vw, 3.5rem); align-self: center; }
.customer-form { display: grid; gap: var(--ts-space-4); }
.customer-form .order-field + .order-field { margin-top: 0; }
.customer-form .ts-button { width: 100%; justify-content: center; }
.customer-auth-switch { margin: var(--ts-space-5) 0 0; color: var(--ts-text-secondary); font-size: .82rem; text-align: center; }
.customer-auth-switch a { color: var(--ts-color-blue-dark); font-weight: 900; }

.customer-account-header { border-bottom: 1px solid var(--ts-border-default); background: color-mix(in srgb, var(--ts-surface-raised) 94%, transparent); backdrop-filter: blur(12px); }
.customer-account-header__inner { width: min(calc(100% - 2rem), 76rem); min-height: 4.5rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); }
.customer-account-header__actions { display: flex; align-items: center; gap: var(--ts-space-2); }
.customer-account-page { width: min(calc(100% - 2rem), 76rem); margin: 0 auto; padding: var(--ts-space-8) 0; }
.customer-account-page > .ts-alert { margin-bottom: var(--ts-space-4); }
.customer-account-hero { margin-bottom: var(--ts-space-6); padding: clamp(1.5rem, 4vw, 2.6rem); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-5); border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-lg); background: var(--ts-color-ink); color: var(--ts-color-white); }
.customer-account-hero h1 { margin: .4rem 0; color: var(--ts-color-white); font-family: var(--ts-font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 900; letter-spacing: -.05em; line-height: .9; }
.customer-account-hero p { margin: 0; color: rgba(255,255,255,.68); }
.customer-account-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--ts-space-5); }
.customer-account-panel { padding: var(--ts-space-5); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-lg); background: var(--ts-surface-raised); }
.customer-account-panel__header { margin-bottom: var(--ts-space-5); display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); }
.customer-account-panel__header h2 { margin: .25rem 0 0; font-family: var(--ts-font-display); font-size: 1.65rem; font-weight: 900; }
.customer-account-count { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--ts-color-ink); color: var(--ts-color-white); font-weight: 900; }
.customer-address-list, .customer-order-list { display: grid; gap: var(--ts-space-3); }
.customer-address-card, .customer-order-card { padding: var(--ts-space-4); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: var(--ts-surface-subtle); }
.customer-address-card { display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-3); }
.customer-address-card.is-primary { border-color: var(--ts-color-ink); box-shadow: inset .25rem 0 0 var(--menu-brand); }
.customer-address-card p { margin: .25rem 0 0; color: var(--ts-text-secondary); font-size: .76rem; }
.customer-address-card__title { display: flex; align-items: center; gap: .5rem; font-weight: 900; }
.customer-address-card__title span { padding: .18rem .4rem; border-radius: var(--ts-radius-pill); background: var(--menu-brand); font-size: .56rem; text-transform: uppercase; }
.customer-address-card__actions { display: flex; align-items: center; gap: var(--ts-space-1); }
.customer-address-form-wrap { margin-top: var(--ts-space-5); border-top: 1px solid var(--ts-border-default); }
.customer-address-form-wrap summary { padding: var(--ts-space-4) 0; color: var(--ts-color-blue-dark); font-size: .8rem; font-weight: 900; cursor: pointer; }
.customer-address-form { display: grid; gap: var(--ts-space-4); }
.customer-address-form .order-field + .order-field { margin-top: 0; }
.customer-cep-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: var(--ts-space-2); }
.customer-address-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--ts-space-3); }
.customer-address-grid__wide { grid-column: 1 / -1; }
.customer-form-actions { display: flex; gap: var(--ts-space-2); }
.customer-order-card header, .customer-order-card footer { display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-3); }
.customer-order-card header > div { display: grid; gap: .2rem; }
.customer-order-card time { color: var(--ts-text-muted); font-size: .67rem; }
.customer-order-card__items { margin: var(--ts-space-3) 0; font-size: .78rem; font-weight: 800; line-height: 1.45; }
.customer-order-card__address { margin: 0 0 var(--ts-space-3); color: var(--ts-text-secondary); font-size: .72rem; }
.customer-order-card footer { padding-top: var(--ts-space-3); border-top: 1px solid var(--ts-border-default); }
.customer-order-card footer > strong { font-family: var(--ts-font-display); font-size: 1.25rem; }
.push-notification-card { margin: var(--ts-space-5) 0; padding: var(--ts-space-4); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--ts-space-3); border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: color-mix(in srgb, var(--menu-brand) 12%, var(--ts-surface-raised)); text-align: left; }
.customer-account-page > .push-notification-card { margin: 0 0 var(--ts-space-6); }
.push-notification-card__icon { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--ts-color-ink); color: var(--menu-brand); }
.push-notification-card__copy { min-width: 0; }
.push-notification-card__copy strong { display: block; font-size: .83rem; }
.push-notification-card__copy p { margin: .2rem 0 0; color: var(--ts-text-secondary); font-size: .7rem; line-height: 1.4; }
.push-notification-card [data-push-toggle].is-enabled { border-color: var(--ts-color-ink); background: var(--ts-color-ink); color: var(--ts-color-white); }
#menuPrimaryActions { position: fixed; top: max(5.25rem, calc(env(safe-area-inset-top) + 4.25rem)); right: max(1rem, env(safe-area-inset-right)); z-index: 90; width: min(25rem, calc(100vw - 2rem)); display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; pointer-events: none; }
#menuPrimaryActions > * { pointer-events: auto; }
.push-notification-card--pwa { position: relative; width: auto; margin: 0; padding: 0; display: block; border: 0; border-radius: var(--ts-radius-pill); background: transparent; box-shadow: none; }
.push-notification-card--pwa.hidden { display: none; }
.push-notification-card--pwa .push-notification-card__icon,
.push-notification-card--pwa .push-notification-card__copy { display: none; }
.push-notification-card--pwa > [data-push-toggle],
.push-notification-card--pwa > .ts-button { min-height: 3rem; padding: .75rem 1.15rem; border: 1px solid var(--ts-color-ink); border-radius: var(--ts-radius-pill); background: #7dd3fc; color: var(--ts-color-ink); box-shadow: var(--ts-shadow-hard-sm); font-size: .78rem; font-weight: 900; white-space: nowrap; }
.push-notification-card--pwa > [data-push-toggle]:hover,
.push-notification-card--pwa > .ts-button:hover { background: #bae6fd; transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--ts-color-ink); }
.push-notification-card__dismiss { position: absolute; top: -.6rem; right: -.45rem; z-index: 2; width: 1.65rem; height: 1.65rem; display: grid; place-items: center; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--ts-color-white); color: var(--ts-color-ink); box-shadow: 2px 2px 0 var(--ts-color-ink); font-size: 1rem; line-height: 1; cursor: pointer; }
.push-notification-card__dismiss:hover { background: var(--ts-surface-muted); color: var(--ts-text-primary); }
.menu-install-primary { position: relative; }
.menu-install-primary .ts-button { min-height: 3rem; border: 1px solid var(--ts-color-ink); box-shadow: var(--ts-shadow-hard-sm); font-weight: 900; }
.menu-primary-dismiss { position: absolute; top: -.6rem; right: -.45rem; width: 1.65rem; height: 1.65rem; display: grid; place-items: center; border: 1px solid var(--ts-color-ink); border-radius: 50%; background: var(--ts-color-white); color: var(--ts-color-ink); box-shadow: 2px 2px 0 var(--ts-color-ink); font-size: .75rem; cursor: pointer; }
.menu-primary-dismiss:hover { background: var(--ts-surface-muted); }
.menu-primary-dismiss:focus-visible { outline: 3px solid var(--ts-focus); outline-offset: 2px; }
.menu-app-footer { margin-top: 3rem; padding: .8rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-md); background: color-mix(in srgb, var(--ts-surface-raised) 94%, transparent); color: var(--ts-text-secondary); box-shadow: 0 2px 8px rgb(7 17 15 / .06); }
.menu-app-footer__label { display: flex; min-width: 0; align-items: center; gap: .55rem; color: var(--ts-text-primary); font-size: .75rem; font-weight: 900; }
.menu-app-footer__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.menu-app-footer__button { min-height: 2.15rem; padding: .42rem .72rem; display: inline-flex; align-items: center; justify-content: center; gap: .38rem; border: 1px solid var(--ts-border-default); border-radius: var(--ts-radius-pill); background: var(--ts-color-white); color: var(--ts-text-primary); font: inherit; font-size: .7rem; font-weight: 900; text-decoration: none; cursor: pointer; }
.menu-app-footer__button:hover { border-color: var(--ts-color-ink); background: var(--menu-brand); }
.menu-app-footer[data-state="enabled"] [data-push-footer-toggle] { border-color: var(--ts-color-success); background: color-mix(in srgb, var(--ts-color-success) 18%, var(--ts-color-white)); color: #183f22; }
.menu-app-footer__feedback { flex-basis: 100%; margin: 0; color: var(--ts-text-secondary); font-size: .66rem; line-height: 1.4; text-align: right; }

@media (max-width: 62rem) {
  .menu-hero, .order-layout { grid-template-columns: 1fr; }
  .menu-hero__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-summary { position: static; }
  .customer-account-grid { grid-template-columns: 1fr; }
}
@media (max-width: 48rem) {
  .menu-main { width: min(calc(100% - 1.25rem), var(--menu-content)); }
  .menu-topbar__inner, .menu-banner, .order-header__inner { width: calc(100% - 1.25rem); }
  .menu-category-bar { margin-inline: 0; }
  .menu-status span { display: none; }
  .menu-account-link:not(.menu-account-link--guest) span { display: none; }
  .menu-app-footer { align-items: flex-start; }
  .menu-app-footer__label span { display: none; }
  .menu-app-footer__actions { flex: 1; }
  .menu-app-footer__button { flex: 1; white-space: nowrap; }
  .menu-app-footer__feedback { text-align: left; }
  .menu-account-link--guest { min-height: 2.3rem; padding: .4rem .58rem; font-size: .64rem; }
  .menu-account-promo__actions { grid-template-columns: 1fr; }
  .menu-hero { padding-top: 2.25rem; }
  .menu-hero__title { font-size: clamp(3rem, 15vw, 5rem); }
  .menu-hero__aside { grid-template-columns: 1fr; }
  .menu-feature { box-shadow: 7px 7px 0 var(--ts-color-ink); }
  .menu-feature__content { grid-template-columns: 1fr; }
  .menu-feature__image { order: -1; min-height: 13rem; }
  .menu-feature__image img { min-height: 13rem; max-height: 15rem; }
  .menu-feature__media { min-height: 13rem; max-height: 15rem; }
  .menu-feature__copy { padding: var(--ts-space-6); }
  .menu-products { grid-template-columns: 1fr; }
  .product-card { grid-template-columns: 7.25rem minmax(0,1fr); min-height: 9.5rem; }
  .product-card__image { min-height: 9.5rem; }
  .product-card__body { padding: var(--ts-space-4); }
  .menu-modal-layer { padding: 0; place-items: end center; }
  .menu-modal { max-height: 92dvh; border-radius: var(--ts-radius-lg) var(--ts-radius-lg) 0 0; box-shadow: none; }
  .menu-modal__header, .menu-modal__body, .menu-modal__footer { padding-inline: var(--ts-space-4); }
  .menu-modal__footer { flex-wrap: wrap; }
  .menu-modal__footer > .ts-button { flex: 1; }
  .order-page { width: min(100% - 1.25rem, 72rem); }
  .order-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .order-span-1, .order-span-2, .order-span-3, .order-span-4, .order-span-6 { grid-column: span 2; }
  .order-mobile-half { grid-column: span 1; }
  .order-coupon { align-items: stretch; }
  .order-coupon .ts-button { padding-inline: var(--ts-space-4); }
  .customer-checkout-banner { align-items: flex-start; flex-wrap: wrap; }
  .customer-checkout-banner__actions { width: 100%; padding-left: 3.35rem; }
  .customer-checkout-banner--guest .customer-checkout-banner__copy { width: calc(100% - 4rem); }
  .customer-checkout-banner--guest .customer-checkout-banner__actions { min-width: 0; padding-left: 0; }
  .customer-checkout-banner--guest .customer-checkout-banner__actions .ts-button { min-height: 2.8rem; }
  .customer-auth-page { width: min(calc(100% - 1.25rem), 70rem); }
  .customer-auth-card { grid-template-columns: 1fr; box-shadow: 7px 7px 0 var(--ts-color-ink); }
  .customer-auth-card__intro { padding: var(--ts-space-6); }
  .customer-auth-benefits { display: none; }
  .customer-account-header__inner, .customer-account-page { width: calc(100% - 1.25rem); }
  .customer-account-header .menu-brand__name { display: none; }
  .customer-account-header__actions > .ts-button span { display: none; }
  .customer-account-hero { align-items: flex-start; flex-direction: column; }
  .customer-address-card { align-items: flex-start; flex-direction: column; }
  .customer-address-card__actions { width: 100%; justify-content: flex-end; }
  .push-notification-card { grid-template-columns: auto minmax(0, 1fr); }
  .push-notification-card [data-push-toggle] { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .customer-address-grid { grid-template-columns: 1fr; }
  .customer-address-grid__wide { grid-column: auto; }
  .customer-cep-row { grid-template-columns: 1fr; }
  .cep-search-row { flex-direction: column; }
  .cep-search-button { width: 100%; justify-content: center; }
  .result-card { box-shadow: 7px 7px 0 var(--ts-color-ink); }
  .result-actions { grid-template-columns: 1fr; }
  .status-step span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
