:root {
  --wine: #b4004b;
  --wine-dark: #78002e;
  --orange: #ffad16;
  --orange-deep: #ef8c00;
  --cream: #fff8f1;
  --paper: #fffdf9;
  --ink: #2d1820;
  --muted: #705c61;
  --line: #efd9cf;
  font-family: "Arial Rounded MT Bold", "Nunito", "Trebuchet MS", system-ui, sans-serif;
  color: var(--ink);
  background: var(--cream);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; background: radial-gradient(circle at 10% 0, #ffd16b 0 1px, transparent 1.5px) 0 0 / 25px 25px, var(--cream); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.has-open-sheet, body.has-open-sheet { overflow: hidden; overscroll-behavior: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #ffc44c; outline-offset: 2px; }
.app-shell { width: min(100%, 680px); min-height: 100dvh; margin: 0 auto; padding-bottom: 8.5rem; background: var(--paper); overflow: hidden; }
.topbar { position: sticky; top: 0; z-index: 5; height: 4.8rem; display: flex; align-items: center; justify-content: space-between; padding: env(safe-area-inset-top, 0) 1.15rem 0; background: color-mix(in srgb, var(--paper) 89%, transparent); backdrop-filter: blur(14px); }
.brand { border: 0; background: transparent; color: var(--wine-dark); display: flex; align-items: center; gap: .65rem; font-weight: 900; font-size: 1.05rem; text-align: left; max-width: calc(100% - 4rem); }
.brand-mark { display: grid; place-items: center; width: 2.55rem; height: 2.55rem; border: 3px solid #ffca58; border-radius: 47% 53% 44% 56%; color: var(--orange); background: var(--wine); font-style: italic; letter-spacing: -.1em; font-size: 1.18rem; box-shadow: .18rem .22rem 0 #f4b427; transform: rotate(-6deg); }
.brand-copy { display: grid; gap: .08rem; min-width: 0; }.brand-copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.brand-copy small { color: var(--orange-deep); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
.cart-button, .icon-button { border: 0; background: #fff1d6; color: var(--wine); min-width: 2.65rem; min-height: 2.65rem; border-radius: 1rem; font-weight: 900; transition: transform .18s ease, background .18s ease; }
.cart-button:hover, .icon-button:hover { transform: translateY(-2px) rotate(-3deg); background: #ffe1a1; }
.cart-button { position: relative; font-size: 1.05rem; }
.cart-count { position: absolute; display: grid; place-items: center; right: -.28rem; top: -.3rem; min-width: 1.25rem; height: 1.25rem; padding: 0 .2rem; background: var(--wine); color: white; border: 2px solid var(--paper); border-radius: 999px; font-size: .68rem; }
.welcome { position: relative; overflow: hidden; padding: 1.82rem 1.2rem 1.6rem; color: white; background: linear-gradient(135deg, #970039 0%, var(--wine) 58%, #ce135d 100%); border-radius: 0 0 2.35rem 2.35rem; isolation: isolate; }
.welcome::before { content: ""; position: absolute; width: 15rem; height: 15rem; right: -7.5rem; top: -8.4rem; border: 1.2rem solid var(--orange); border-radius: 50%; opacity: .98; animation: orbit-pulse 5s ease-in-out infinite; }
.welcome::after { content: ""; position: absolute; width: 13rem; height: 13rem; right: -6.2rem; top: -7.3rem; border-radius: 50%; background: linear-gradient(145deg, #ffcf5c, var(--orange)); opacity: .95; z-index: -1; }
.hero-orbit { position: absolute; border: 1px solid rgba(255, 230, 173, .45); border-radius: 50%; pointer-events: none; }.hero-orbit-one { width: 11rem; height: 11rem; right: -4rem; top: -5rem; animation: spin 18s linear infinite; }.hero-orbit-two { width: 15rem; height: 15rem; right: -6rem; top: -7rem; border-style: dashed; animation: spin 25s linear infinite reverse; }.hero-dots { position: absolute; left: 1.15rem; bottom: 4.35rem; color: #ffce5a; line-height: 1.1; letter-spacing: .3rem; font-size: 1rem; opacity: .88; transform: rotate(-9deg); }
.welcome > :not(.hero-orbit):not(.hero-dots):not(.hero-products) { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 .35rem; color: inherit; font-size: .69rem; letter-spacing: .14em; font-weight: 900; }
.hero-orbit { z-index: 0; }.hero-products { --hero-product-offset: clamp(.85rem, 2.25svh, 1.25rem); position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }.hero-product { position: absolute; height: auto; max-width: none; filter: drop-shadow(0 .35rem .22rem rgba(74, 0, 26, .2)); transform-origin: 50% 100%; }.hero-product-oreo { z-index: 1; width: 55%; left: 30.5%; top: calc(4rem + var(--hero-product-offset)); transform: rotate(-5deg); }.hero-product-deleite { z-index: 2; width: 22%; min-width: 5.3rem; max-width: 9rem; left: 72%; top: calc(3.5rem + var(--hero-product-offset)); transform: rotate(4deg); }.hero-product-menta { z-index: 3; width: 74%; left: 34%; top: calc(1rem + var(--hero-product-offset)); animation: hero-float 4.2s ease-in-out infinite; }
.welcome h1 { margin: 0; max-width: 11ch; font-size: clamp(2rem, 9vw, 2.85rem); line-height: .94; letter-spacing: -.065em; text-wrap: balance; }.welcome h1 span { display: block; color: #ffca4e; }
.welcome-copy { max-width: 22ch; margin: 1rem 0 1.45rem; color: #fff2df; line-height: 1.45; font-family: system-ui, sans-serif; font-size: .91rem; }
.fulfillment-toggle { display: flex; gap: .45rem; padding: .35rem; max-width: 27rem; background: rgba(89, 0, 35, .32); border-radius: 1rem; }
.ticker { overflow: hidden; border-bottom: 1px solid #ffd996; color: var(--wine); background: #ffca4e; white-space: nowrap; font-size: .68rem; font-weight: 950; letter-spacing: .11em; line-height: 2.35rem; }.ticker div { display: inline-block; animation: ticker 18s linear infinite; }
.catalog-section { padding: 1.65rem 1.15rem; }
.section-heading, .sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.section-heading .eyebrow, .sheet-header .eyebrow { color: var(--orange-deep); }
h2 { margin: 0; font-size: 1.38rem; letter-spacing: -.035em; }
.catalog-status { display: flex; align-items: center; gap: .7rem; min-height: 6.5rem; margin-top: 1rem; padding: 1rem; border: 1px dashed var(--line); border-radius: 1rem; color: var(--muted); line-height: 1.4; }.catalog-status[hidden], .category-bar[hidden] { display: none; }
.catalog-status.is-error { border-style: solid; color: var(--wine-dark); background: #fff4f0; }
.catalog-search { display: flex; align-items: center; gap: .55rem; margin-top: .95rem; padding: .18rem .72rem; border: 1px solid var(--line); border-radius: .95rem; background: white; box-shadow: 0 .3rem .8rem rgba(74,26,39,.04); }.catalog-search:focus-within { border-color: var(--wine); box-shadow: 0 0 0 3px #ffe4ed; }.catalog-search > span { color: var(--wine); font-size: 1.3rem; font-weight: 950; }.catalog-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: .7rem 0; color: var(--ink); background: transparent; font: inherit; font-size: .86rem; font-weight: 700; }.catalog-search input::placeholder { color: #a9969d; font-weight: 600; }.catalog-search-empty { margin: 1.1rem 0 0; padding: 1rem; border: 1px dashed var(--line); border-radius: .9rem; color: var(--muted); font-size: .85rem; line-height: 1.4; text-align: center; }
.catalog-status button { border: 0; padding: 0; background: transparent; color: var(--wine); font-weight: 900; text-decoration: underline; }
.spinner { width: 1.25rem; height: 1.25rem; border: 3px solid #f6d5b5; border-top-color: var(--orange-deep); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes stuffed-cone-chocolate { 0%, 43% { opacity: 1; } 50%, 93% { opacity: 0; } 100% { opacity: 1; } }
@keyframes stuffed-cone-vanilla { 0%, 43% { opacity: 0; } 50%, 93% { opacity: 1; } 100% { opacity: 0; } }
.category-bar { display: flex; gap: .5rem; overflow: auto; padding: 1rem 0 .35rem; scrollbar-width: none; scroll-snap-type: x proximity; }
.category-bar::-webkit-scrollbar { display: none; }
.category-button { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; padding: .55rem .85rem; color: var(--wine-dark); background: white; font-weight: 800; scroll-snap-align: start; transition: transform .2s ease, background .2s ease; }
.category-button:active { transform: scale(.93); }
.category-button.is-active { background: var(--wine); color: white; border-color: var(--wine); }
.category-back { display: inline-flex; align-items: center; gap: .45rem; border: 0; border-radius: .8rem; padding: .62rem .78rem; color: var(--wine); background: #fff0d7; font-size: .78rem; font-weight: 950; transition: transform .18s ease, background .18s ease; }.category-back:hover { transform: translateX(-2px); background: #ffe0a1; }.category-back span { font-size: 1.1rem; }
.catalog-grid { display: grid; gap: .95rem; margin-top: 1.15rem; }
.product-card { position: relative; display: grid; grid-template-columns: 7.1rem 1fr; overflow: hidden; border: 1px solid color-mix(in srgb, var(--card-tone, var(--orange)) 42%, white); border-radius: 1.35rem; background: white; box-shadow: 0 .65rem 1.4rem rgba(74, 26, 39, .075); animation: card-enter .52s cubic-bezier(.22,.9,.36,1) both; animation-delay: var(--enter-delay, 0ms); transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 .9rem 1.7rem rgba(74, 26, 39, .12); }.product-card::after { content: ""; position: absolute; width: 5rem; height: 5rem; right: -2.8rem; bottom: -3rem; border: .9rem solid var(--card-tone, var(--orange)); border-radius: 50%; opacity: .35; }
.product-image { position: relative; display: grid; place-items: center; min-height: 9rem; overflow: hidden; background: linear-gradient(145deg, color-mix(in srgb, var(--card-tone, var(--orange)) 35%, white), var(--card-tone, var(--orange))); }.product-image::before { content: ""; position: absolute; width: 5.3rem; height: 5.3rem; border: 3px solid rgba(255,255,255,.68); border-radius: 48% 52% 55% 45%; transform: rotate(-16deg); }.product-image::after { content: "✦"; position: absolute; right: .55rem; top: .45rem; color: var(--wine); font-size: 1.1rem; animation: twinkle 2.5s ease-in-out infinite; }
.product-initial { position: relative; z-index: 1; color: var(--wine-dark); font-size: 3.15rem; font-weight: 950; text-transform: uppercase; text-shadow: 2px 3px 0 rgba(255,255,255,.55); transform: rotate(-7deg); }
.product-image--stuffed-cone { background: radial-gradient(circle at 50% 39%, #fff4c4 0 22%, transparent 54%), linear-gradient(145deg, #fff9e8, #ffd36f); }.product-image--stuffed-cone::before { display: none; }.product-image--stuffed-cone::after { z-index: 3; }.stuffed-cone-showcase { position: absolute; inset: .35rem .15rem; z-index: 1; }.stuffed-cone-showcase-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 .32rem .26rem rgba(87, 38, 0, .2)); will-change: opacity; }.stuffed-cone-showcase-image--chocolate { animation: stuffed-cone-chocolate 8s ease-in-out infinite; }.stuffed-cone-showcase-image--vanilla { animation: stuffed-cone-vanilla 8s ease-in-out infinite; opacity: 0; }
.product-image--traditional-big-cone { background: radial-gradient(circle at 50% 39%, #fff5d2 0 22%, transparent 57%), linear-gradient(145deg, #fff8e8, #f4c779); }.product-image--traditional-big-cone::before { display: none; }.product-image--traditional-big-cone::after { z-index: 3; }.traditional-big-cone-image { position: absolute; inset: .25rem .12rem; z-index: 1; width: calc(100% - .24rem); height: calc(100% - .5rem); object-fit: contain; filter: drop-shadow(0 .32rem .26rem rgba(87, 38, 0, .2)); }
.product-image--traditional-thin-cone { background: radial-gradient(circle at 50% 38%, #f6e7de 0 22%, transparent 57%), linear-gradient(145deg, #fff9ec, #e9c5b1); }.product-image--traditional-thin-cone::before { display: none; }.product-image--traditional-thin-cone::after { z-index: 3; }.traditional-thin-cone-image { position: absolute; inset: .18rem .1rem; z-index: 1; width: calc(100% - .2rem); height: calc(100% - .36rem); object-fit: contain; filter: drop-shadow(0 .32rem .26rem rgba(70, 31, 10, .2)); }
.product-image--traditional-cones-category { background: radial-gradient(circle at 50% 38%, #fff3d2 0 22%, transparent 57%), linear-gradient(145deg, #fff9e8, #f1c982); }.product-image--traditional-cones-category::before { display: none; }.product-image--traditional-cones-category::after { z-index: 3; }.traditional-cones-category-showcase { position: absolute; inset: .35rem .12rem; z-index: 1; pointer-events: none; }.traditional-cones-category-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 .32rem .26rem rgba(87, 38, 0, .2)); transition: opacity .52s ease; }.traditional-cones-category-image--big { opacity: 1; }.traditional-cones-category-image--thin { opacity: 0; }.traditional-cones-category-showcase.is-showing-thin-cone .traditional-cones-category-image--big { opacity: 0; }.traditional-cones-category-showcase.is-showing-thin-cone .traditional-cones-category-image--thin { opacity: 1; }
.product-details { display: flex; flex-direction: column; min-width: 0; padding: .95rem .9rem .82rem; }
.product-category { margin: 0 0 .2rem; color: var(--orange-deep); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.product-card h3 { display: -webkit-box; overflow: hidden; min-height: 2.36em; margin: 0; font-size: 1.03rem; line-height: 1.18; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-description { display: -webkit-box; overflow: hidden; margin: .36rem 0 .6rem; color: var(--muted); font-size: .8rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; }
.product-price { color: var(--wine); font-size: .95rem; }
.add-button { border: 0; border-radius: .75rem; padding: .58rem .72rem; background: var(--wine); color: white; font-size: .76rem; font-weight: 900; box-shadow: 0 .25rem 0 var(--wine-dark); transition: transform .14s ease, box-shadow .14s ease; }.add-button::before { content: "+ "; }.add-button:active { transform: translateY(.2rem); box-shadow: 0 .06rem 0 var(--wine-dark); }
.catalog-section-card { cursor: pointer; }.catalog-section-card:focus-visible { outline: 3px solid var(--wine); outline-offset: 3px; }.catalog-section-card .product-image { min-height: 10rem; }.catalog-section-card .product-category { color: var(--orange-deep); }.catalog-section-card .product-description { min-height: 2.7em; }.catalog-section-card .product-footer { justify-content: flex-start; }
.cart-dock { position: fixed; z-index: 8; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom, 0)); display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .65rem; width: min(calc(100% - 2rem), 39rem); padding: .72rem .85rem; border: 0; border-radius: 1.25rem; color: white; background: var(--wine); box-shadow: 0 .8rem 2rem rgba(111, 0, 45, .34); transform: translateX(-50%); animation: dock-in .34s cubic-bezier(.2,.9,.25,1); text-align: left; }.cart-dock[hidden] { display: none; }.cart-dock-icon { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: .82rem; background: var(--orange); }.cart-dock-copy { display: grid; min-width: 0; gap: .1rem; }.cart-dock-copy small, .cart-dock-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.cart-dock-copy small { color: #ffd180; font-size: .59rem; letter-spacing: .1em; }.cart-dock-copy strong { font-size: .85rem; }.cart-dock > strong { font-size: .9rem; white-space: nowrap; }.cart-dock-arrow { font-size: 1.25rem; color: var(--orange); }
.sheet { position: fixed; inset: 0; z-index: 10; display: grid; align-items: end; pointer-events: none; }
.sheet[aria-hidden="false"] { pointer-events: auto; }
.sheet-backdrop { position: absolute; inset: 0; opacity: 0; background: rgba(45, 12, 25, .48); touch-action: none; transition: opacity .2s ease; }
.sheet[aria-hidden="false"] .sheet-backdrop { opacity: 1; }
.sheet-panel { position: relative; width: min(100%, 680px); max-height: min(87dvh, 48rem); overflow: auto; overscroll-behavior: contain; margin: 0 auto; padding: .7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom, 0)); border-radius: 1.65rem 1.65rem 0 0; background: var(--paper); transform: translateY(105%); transition: transform .25s ease; }
.sheet[aria-hidden="false"] .sheet-panel { transform: translateY(0); }
.sheet-handle { width: 2.6rem; height: .28rem; margin: 0 auto 1rem; border-radius: 99px; background: #e6cbc0; }
.cart-items { display: grid; gap: .7rem; min-height: 8rem; padding: 1rem 0; }
.cart-empty { display: grid; place-items: center; min-height: 8rem; color: var(--muted); text-align: center; line-height: 1.45; }
.cart-item { display: grid; grid-template-columns: 1fr auto; gap: .5rem; padding: .85rem; border-radius: .9rem; background: #fff4e5; }
.cart-item h3 { margin: 0 0 .25rem; font-size: .96rem; }.cart-item p { margin: 0; color: var(--muted); font-size: .8rem; }
.cart-item-actions { display: flex; align-items: center; gap: .4rem; }.cart-item-actions button { width: 1.75rem; height: 1.75rem; border: 0; border-radius: .5rem; background: white; color: var(--wine); font-weight: 900; }.cart-item-actions span { min-width: 1rem; text-align: center; font-weight: 900; }
.cart-summary { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; border-top: 1px solid var(--line); font-weight: 800; }.cart-summary strong { color: var(--wine); font-size: 1.2rem; }
.primary-button { width: 100%; min-height: 3.25rem; border: 0; border-radius: .9rem; background: var(--wine); color: white; font-weight: 900; box-shadow: 0 .5rem 1rem rgba(140, 0, 56, .2); }.primary-button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.options-subtitle { margin: .8rem 0 0; color: var(--muted); line-height: 1.4; }.options-form { display: grid; gap: 1rem; padding-top: 1rem; padding-bottom: 4.75rem; }.options-quick-add { position: fixed; z-index: 12; left: 50%; bottom: calc(.85rem + env(safe-area-inset-bottom, 0)); width: min(calc(100% - 2rem), 40rem); min-height: 3.35rem; border: 0; border-radius: 1rem; background: var(--wine); color: white; box-shadow: 0 .65rem 1.45rem rgba(99, 0, 41, .34); font-weight: 950; text-transform: uppercase; transform: translateX(-50%); animation: dock-in .24s cubic-bezier(.2,.9,.25,1); }.options-quick-add[hidden] { display: none; }.variation-groups { display: grid; gap: .95rem; }.variation-groups--recheios-top { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }.variation-groups--recheios-top .variation-group[data-variation-type="sabor"] { grid-column: 1 / -1; }.variation-groups--recheios-top .variation-group { padding: .75rem; }.variation-groups--recheios-top .variation-group h3 { font-size: .86rem; }.variation-groups--recheios-top .variation-rule-hint { font-size: .72rem; }.variation-groups--recheios-top .variation-choice { gap: .42rem; padding: .58rem; font-size: .84rem; }.variation-groups--recheios-top .variation-choice small { font-size: .72rem; }.variation-group { padding: .9rem; border: 1px solid var(--line); border-radius: .95rem; background: #fffaf4; }.variation-group h3 { margin: 0 0 .2rem; color: var(--wine-dark); font-size: .95rem; text-transform: uppercase; }.variation-rule-hint { margin: 0 0 .65rem; color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; }.variation-search { width: 100%; min-height: 2.35rem; margin: 0 0 .65rem; border: 1px solid var(--line); border-radius: .65rem; padding: .55rem .65rem; color: var(--ink); background: white; font: inherit; font-size: .82rem; text-transform: uppercase; }.variation-list { display: grid; gap: .5rem; }.variation-group--grid .variation-list { grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); }.variation-group[data-variation-type="tamanho"] .variation-list { grid-template-rows: repeat(3, auto); grid-auto-flow: column; }.variation-groups--recheios-top .variation-group--grid .variation-list { grid-template-columns: 1fr; }.variation-choice { display: flex; align-items: center; gap: .65rem; min-width: 0; padding: .62rem .7rem; border: 1px solid transparent; border-radius: .65rem; background: white; color: var(--ink); font-size: .9rem; font-weight: 700; line-height: 1.25; text-transform: uppercase; }.variation-choice:has(input:checked) { border-color: var(--wine); background: #ffe8ef; }.variation-choice input { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; accent-color: var(--wine); }.variation-choice-content { display: grid; min-width: 0; gap: .12rem; }.variation-choice-content > span { min-width: 0; overflow-wrap: anywhere; }.variation-choice small { color: var(--wine); font-size: .78rem; font-weight: 900; white-space: nowrap; }
.checkout-form { display: grid; gap: .95rem; padding-top: 1rem; }.checkout-form label { display: grid; gap: .4rem; color: var(--wine-dark); font-size: .85rem; font-weight: 900; }.checkout-form input, .checkout-form textarea { width: 100%; border: 1px solid var(--line); border-radius: .75rem; padding: .78rem .85rem; color: var(--ink); background: white; font-weight: 600; resize: vertical; }.checkout-form fieldset { margin: 0; padding: 0; border: 0; }.checkout-form legend { margin-bottom: .5rem; color: var(--wine-dark); font-size: .85rem; font-weight: 900; }.fulfillment-options { display: grid; gap: .55rem; }.fulfillment-options label { display: block; }.fulfillment-options input { position: absolute; opacity: 0; pointer-events: none; }.fulfillment-options span { display: grid; grid-template-columns: 2rem 1fr; column-gap: .6rem; align-items: center; min-height: 4.15rem; border: 1px solid var(--line); border-radius: .9rem; padding: .7rem; background: white; color: var(--ink); font-size: .89rem; }.fulfillment-options b { display: grid; grid-row: span 2; place-items: center; width: 2rem; height: 2rem; border-radius: .65rem; background: #fff0d5; color: var(--wine); font-size: 1rem; }.fulfillment-options small { color: var(--muted); font-size: .7rem; font-weight: 600; }.fulfillment-options input:checked + span { border-color: var(--wine); background: #fff0f4; color: var(--wine-dark); box-shadow: inset 0 0 0 1px var(--wine); }.fulfillment-options input:checked + span b { background: var(--wine); color: white; }.payment-options { display: flex; flex-wrap: wrap; gap: .5rem; }.payment-options label { display: block; }.payment-options input { position: absolute; opacity: 0; pointer-events: none; }.payment-options span { display: block; border: 1px solid var(--line); border-radius: .65rem; padding: .55rem .75rem; background: white; color: var(--ink); font-size: .8rem; }.payment-options input:checked + span { border-color: var(--wine); background: #ffe6ef; color: var(--wine-dark); }.checkout-feedback { margin: 0; padding: .8rem; border-radius: .75rem; background: #fff4df; color: var(--wine-dark); font-size: .85rem; line-height: 1.35; }
.order-sent { display: grid; gap: .8rem; padding: 1.25rem 0 .5rem; text-align: center; }.order-sent[hidden] { display: none; }.order-sent h3 { margin: 0; color: var(--wine-dark); font-size: 1.35rem; }.order-sent p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }.order-ticket { display: grid; gap: .22rem; padding: .9rem; border: 1px dashed var(--wine); border-radius: .9rem; background: #fff4e7; }.order-ticket small { color: var(--wine); font-size: .62rem; font-weight: 950; letter-spacing: .1em; }.order-ticket strong { color: var(--wine-dark); font-size: 1.15rem; letter-spacing: .07em; }.order-ticket span { color: var(--muted); font-size: .68rem; font-weight: 700; }.copy-ticket-button { justify-self: start; margin-top: .45rem; border: 1px solid var(--wine); border-radius: .6rem; padding: .48rem .68rem; background: white; color: var(--wine); font-size: .72rem; font-weight: 950; transition: transform .16s ease, background .16s ease; }.copy-ticket-button:hover { transform: translateY(-1px); background: #ffe4ed; }.text-button { justify-self: center; border: 0; padding: .4rem; background: transparent; color: var(--wine); font-weight: 800; }
.delivery-location-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: .1rem; }.delivery-location-button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.45rem; border: 1px solid var(--wine); border-radius: .7rem; padding: .55rem .75rem; background: #fff; color: var(--wine); font-size: .76rem; font-weight: 900; cursor: pointer; transition: transform .16s ease, background .16s ease, opacity .16s ease; }.delivery-location-button:hover:not(:disabled) { transform: translateY(-1px); background: #ffe4ed; }.delivery-location-button.is-loading { opacity: .7; cursor: wait; }.delivery-location-button.is-loading span { animation: location-spin .8s linear infinite; }.delivery-map-button { justify-self: auto; padding: .45rem .2rem; font-size: .73rem; cursor: pointer; }.delivery-location-status { margin: -.2rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.35; }.delivery-location-status[data-state="success"] { color: #16884e; }.delivery-location-status[data-state="warning"] { color: #a35a00; }.delivery-location-status[data-state="loading"] { color: var(--wine); } @keyframes location-spin { to { transform: rotate(360deg); } }
.delivery-map-picker { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: max(.65rem, env(safe-area-inset-top, 0px)); }.delivery-map-picker[hidden] { display: none; }.delivery-map-picker-backdrop { position: absolute; inset: 0; background: rgba(45, 12, 25, .55); backdrop-filter: blur(3px); }.delivery-map-picker-card { position: relative; z-index: 1; display: grid; gap: .8rem; width: min(100%, 52rem); max-height: min(94dvh, 52rem); overflow: auto; padding: clamp(.9rem, 3vw, 1.35rem); border: 1px solid var(--line); border-radius: 1.25rem; background: #fffaf5; box-shadow: 0 1.3rem 3rem rgba(54,0,22,.3); animation: tracking-in .24s cubic-bezier(.2,.9,.25,1) both; }.delivery-map-picker-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; color: var(--wine-dark); font-size: .95rem; }.delivery-map-picker-head .text-button { color: var(--muted); font-size: .74rem; }.delivery-map-canvas { width: 100%; height: clamp(17rem, 58dvh, 34rem); min-height: 17rem; border-radius: .85rem; overflow: hidden; background: #eadfd9; z-index: 0; }.delivery-map-status { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }.delivery-map-status[data-state="success"] { color: #16884e; }.delivery-map-status[data-state="warning"] { color: #a35a00; }.delivery-map-status[data-state="loading"] { color: var(--wine); }.delivery-map-picker-actions { display: flex; justify-content: flex-end; }.delivery-map-picker-actions .primary-button { width: auto; min-width: 13rem; }
.order-tracking-modal { position: fixed; z-index: 45; inset: 0; display: grid; place-items: center; padding: 1rem; }.order-tracking-modal[hidden] { display: none; }.order-tracking-backdrop { position: absolute; inset: 0; background: rgba(78, 0, 31, .55); backdrop-filter: blur(5px); }.order-tracking-card { position: relative; z-index: 1; width: min(28rem, 100%); max-height: min(88dvh, 47rem); overflow: auto; display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.7); border-radius: 1.45rem; background: var(--paper); box-shadow: 0 1.3rem 3rem rgba(54,0,22,.3); animation: tracking-in .28s cubic-bezier(.2,.9,.25,1) both; }.order-tracking-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }.order-tracking-head .eyebrow { color: var(--orange-deep); }.order-tracking-head h2 { color: var(--wine-dark); font-size: 1.35rem; }.order-tracking-status { display: grid; grid-template-columns: 2.7rem 1fr; align-items: center; gap: .75rem; padding: .9rem; border-radius: 1rem; background: #fff0d7; color: var(--wine-dark); }.order-tracking-status-icon { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--wine); color: white; font-size: 1.25rem; font-weight: 950; box-shadow: .15rem .2rem 0 #ffca4e; }.order-tracking-status strong { display: block; font-size: 1rem; }.order-tracking-status p { margin: .22rem 0 0; color: var(--muted); font-size: .79rem; line-height: 1.35; }.order-tracking-status[data-status="accepted"], .order-tracking-status[data-status="in_cart"] { background: #fff1d8; }.order-tracking-status[data-status="completed"] { background: #e8fbef; }.order-tracking-status[data-status="completed"] .order-tracking-status-icon { background: #16884e; }.order-tracking-status[data-status="rejected"] { background: #ffe5e8; }.order-tracking-status[data-status="rejected"] .order-tracking-status-icon { background: #c4203e; }.order-tracking-steps { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }.order-tracking-steps li { position: relative; display: grid; grid-template-columns: 2rem 1fr; align-items: start; gap: .7rem; color: #9b8a8f; }.order-tracking-steps li:not(:last-child)::after { content: ""; position: absolute; left: .95rem; top: 2rem; width: 2px; height: calc(100% - .25rem); background: #ead6d2; }.order-tracking-steps li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 2rem; height: 2rem; border: 2px solid #ead6d2; border-radius: 50%; background: var(--paper); font-size: .78rem; font-weight: 950; }.order-tracking-steps li strong { display: block; padding-top: .06rem; color: inherit; font-size: .87rem; }.order-tracking-steps li small { display: block; margin-top: .14rem; color: inherit; font-size: .71rem; line-height: 1.3; }.order-tracking-steps li.is-done, .order-tracking-steps li.is-current { color: var(--wine-dark); }.order-tracking-steps li.is-done > span { border-color: var(--wine); background: var(--wine); color: white; }.order-tracking-steps li.is-current > span { border-color: var(--orange); color: var(--wine); box-shadow: 0 0 0 .28rem #fff0d5; }.order-tracking-steps li.is-done:not(:last-child)::after { background: var(--wine); }.order-tracking-steps.is-rejected { opacity: .52; }.order-tracking-reason { margin: 0; padding: .8rem; border-radius: .8rem; background: #ffe5e8; color: #a31434; font-size: .8rem; font-weight: 750; line-height: 1.4; }.order-tracking-close { margin-top: .1rem; }.order-tracking-card .order-ticket { margin: 0; } 
.order-tracking-status[data-status="accepted"] .order-tracking-status-icon { background: #e87800; box-shadow: .15rem .2rem 0 #ffd36b; animation: tracking-icon-pulse 1.9s ease-in-out infinite; }.order-tracking-status[data-status="in_cart"] { background: #e5f3ff; }.order-tracking-status[data-status="in_cart"] .order-tracking-status-icon { background: #1677bd; box-shadow: .15rem .2rem 0 #8dd5ff; animation: tracking-icon-pulse 1.9s ease-in-out infinite; }.order-tracking-status[data-status="completed"] .order-tracking-status-icon { animation: tracking-icon-pulse 2.4s ease-in-out infinite; }.order-tracking-steps li[data-step="1"].is-done, .order-tracking-steps li[data-step="1"].is-current { color: #a00045; }.order-tracking-steps li[data-step="1"].is-done > span { border-color: #b4004b; background: #b4004b; }.order-tracking-steps li[data-step="1"].is-current > span { border-color: #b4004b; color: #b4004b; box-shadow: 0 0 0 .28rem #ffe3ed; }.order-tracking-steps li[data-step="2"].is-done, .order-tracking-steps li[data-step="2"].is-current { color: #a74e00; }.order-tracking-steps li[data-step="2"].is-done > span { border-color: #e87800; background: #e87800; }.order-tracking-steps li[data-step="2"].is-current > span { border-color: #e87800; color: #b05a00; box-shadow: 0 0 0 .28rem #fff1d8; }.order-tracking-steps li[data-step="3"].is-done, .order-tracking-steps li[data-step="3"].is-current { color: #14629d; }.order-tracking-steps li[data-step="3"].is-done > span { border-color: #1677bd; background: #1677bd; }.order-tracking-steps li[data-step="3"].is-current > span { border-color: #1677bd; color: #1677bd; box-shadow: 0 0 0 .28rem #e3f3ff; }.order-tracking-steps li[data-step="4"].is-done, .order-tracking-steps li[data-step="4"].is-current { color: #157542; }.order-tracking-steps li[data-step="4"].is-done > span { border-color: #16884e; background: #16884e; }.order-tracking-steps li[data-step="4"].is-current > span { border-color: #16884e; color: #16884e; box-shadow: 0 0 0 .28rem #e3f8eb; }.order-tracking-steps li[data-step="1"].is-done:not(:last-child)::after { background: #b4004b; }.order-tracking-steps li[data-step="2"].is-done:not(:last-child)::after { background: #e87800; }.order-tracking-steps li[data-step="3"].is-done:not(:last-child)::after { background: #1677bd; }.order-tracking-steps li.is-current > span { animation: tracking-step-pulse 1.65s ease-in-out infinite; }
.order-tracking-status[data-status="ready_for_pickup"] { background: #f1e7ff; }.order-tracking-status[data-status="ready_for_pickup"] .order-tracking-status-icon { background: #7041a6; box-shadow: .15rem .2rem 0 #cfb2ff; animation: tracking-icon-pulse 1.9s ease-in-out infinite; }.order-tracking-status[data-status="out_for_delivery"] { background: #e1f8f6; }.order-tracking-status[data-status="out_for_delivery"] .order-tracking-status-icon { background: #087c78; box-shadow: .15rem .2rem 0 #91e3dc; animation: tracking-icon-pulse 1.9s ease-in-out infinite; }.order-tracking-status[data-status="picked_up"], .order-tracking-status[data-status="delivered"] { background: #e8fbef; }.order-tracking-status[data-status="picked_up"] .order-tracking-status-icon, .order-tracking-status[data-status="delivered"] .order-tracking-status-icon { background: #16884e; box-shadow: .15rem .2rem 0 #a9e8bf; animation: tracking-icon-pulse 2.4s ease-in-out infinite; }.order-tracking-status[data-status="cancelled"] { background: #f1edf0; }.order-tracking-status[data-status="cancelled"] .order-tracking-status-icon { background: #6d5761; box-shadow: .15rem .2rem 0 #d7cad0; }.order-tracking-steps li[data-step="4"].is-done, .order-tracking-steps li[data-step="4"].is-current { color: #7041a6; }.order-tracking-steps li[data-step="4"].is-done > span { border-color: #7041a6; background: #7041a6; }.order-tracking-steps li[data-step="4"].is-current > span { border-color: #7041a6; color: #7041a6; box-shadow: 0 0 0 .28rem #f1e7ff; }.order-tracking-steps li[data-step="5"].is-done, .order-tracking-steps li[data-step="5"].is-current { color: #157542; }.order-tracking-steps li[data-step="5"].is-done > span { border-color: #16884e; background: #16884e; }.order-tracking-steps li[data-step="5"].is-current > span { border-color: #16884e; color: #16884e; box-shadow: 0 0 0 .28rem #e3f8eb; }.order-tracking-steps li[data-step="4"].is-done:not(:last-child)::after { background: #7041a6; }.my-order-status[data-status="ready_for_pickup"] { color: #643798; background: #f0e5ff; }.my-order-status[data-status="out_for_delivery"] { color: #08756f; background: #def8f5; }.my-order-status[data-status="picked_up"], .my-order-status[data-status="delivered"] { color: #147342; background: #e2f8e9; }.my-order-status[data-status="cancelled"] { color: #68535d; background: #f0eaed; }
.order-tracking-status[data-status="on_hold"] { background: #eef1ff; }.order-tracking-status[data-status="on_hold"] .order-tracking-status-icon { background: #4c63b6; box-shadow: .15rem .2rem 0 #b9c7ff; animation: tracking-icon-pulse 1.9s ease-in-out infinite; }.my-order-status[data-status="on_hold"] { color: #40549d; background: #eaf0ff; }
.order-sending-overlay { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 1.5rem; background: rgba(105, 0, 43, .58); backdrop-filter: blur(5px); }.order-sending-overlay[hidden] { display: none; }.order-sending-overlay > div { width: min(22rem, 100%); display: grid; justify-items: center; gap: .75rem; padding: 1.8rem 1.4rem; border-radius: 1.35rem; background: var(--paper); color: var(--wine-dark); text-align: center; box-shadow: 0 1rem 2.5rem rgba(54,0,22,.28); }.order-sending-overlay strong { font-size: 1.1rem; }.order-sending-overlay p { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.4; }.order-sending-spinner { width: 2.8rem; height: 2.8rem; border: .3rem solid #ffd58e; border-top-color: var(--wine); border-radius: 50%; animation: spin .75s linear infinite; }
@keyframes card-enter { from { opacity: 0; transform: translateY(1.1rem) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dock-in { from { opacity: 0; transform: translate(-50%, 1.8rem) scale(.92); } to { opacity: 1; transform: translate(-50%, 0) scale(1); } }
@keyframes tracking-in { from { opacity: 0; transform: translateY(1rem) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes orbit-pulse { 50% { transform: scale(1.08) rotate(14deg); } }
@keyframes hero-float { 50% { transform: translateY(-.45rem) rotate(-1.25deg); } }
@keyframes twinkle { 50% { transform: scale(.7) rotate(24deg); opacity: .35; } }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes tracking-step-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.09); } }
@keyframes tracking-icon-pulse { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-.12rem) scale(1.04); } }
@media (min-width: 700px) { .app-shell { box-shadow: 0 0 3rem rgba(95, 17, 42, .1); } .catalog-grid { grid-template-columns: repeat(2, 1fr); } .product-card { grid-template-columns: 6.1rem 1fr; } }
@media (max-width: 360px) { .topbar { height: 4.35rem; padding-inline: .75rem; }.brand { gap: .45rem; font-size: .9rem; }.brand-mark { width: 2.2rem; height: 2.2rem; font-size: 1rem; }.brand-copy small { font-size: .55rem; }.cart-button, .icon-button { min-width: 2.35rem; min-height: 2.35rem; }.welcome { padding: 1.45rem .85rem 1.25rem; border-radius: 0 0 1.8rem 1.8rem; }.welcome h1 { font-size: clamp(1.78rem, 9vw, 2.1rem); }.welcome-copy { max-width: 19ch; margin: .8rem 0 1.1rem; font-size: .82rem; }.fulfillment-toggle { gap: .25rem; padding: .25rem; }.catalog-section { padding: 1.25rem .8rem; }.product-card { grid-template-columns: 5.7rem minmax(0, 1fr); border-radius: 1.1rem; }.product-image { min-height: 7.65rem; }.product-image::before { width: 4.35rem; height: 4.35rem; }.product-initial { font-size: 2.5rem; }.product-details { padding: .72rem .65rem; }.product-card h3 { font-size: .9rem; }.product-description { margin: .26rem 0 .42rem; font-size: .72rem; }.product-price { font-size: .82rem; }.add-button { padding: .5rem .55rem; font-size: .66rem; }.cart-dock { width: calc(100% - 1rem); gap: .4rem; padding: .62rem .65rem; border-radius: 1rem; }.cart-dock-icon { width: 2rem; height: 2rem; }.cart-dock-copy small { font-size: .5rem; }.cart-dock-copy strong, .cart-dock > strong { font-size: .76rem; }.cart-dock-arrow { font-size: 1rem; }.sheet-panel { padding-inline: .85rem; border-radius: 1.25rem 1.25rem 0 0; }.variation-groups--recheios-top { grid-template-columns: 1fr; }.variation-groups--recheios-top .variation-group[data-variation-type="sabor"] { grid-column: auto; }.variation-group[data-variation-type="tamanho"] .variation-list { grid-template-rows: none; grid-auto-flow: row; }.order-tracking-modal { padding: .55rem; }.order-tracking-card { gap: .75rem; padding: .9rem; border-radius: 1.1rem; }.order-tracking-head h2 { font-size: 1.15rem; }.order-tracking-status { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .6rem; padding: .72rem; }.order-tracking-status-icon { width: 2.25rem; height: 2.25rem; }.order-tracking-status strong { font-size: .9rem; }.order-tracking-status p { font-size: .72rem; }.order-tracking-steps { gap: .7rem; }.order-tracking-steps li { grid-template-columns: 1.75rem minmax(0, 1fr); gap: .55rem; }.order-tracking-steps li > span { width: 1.75rem; height: 1.75rem; font-size: .7rem; }.order-tracking-steps li:not(:last-child)::after { left: .82rem; top: 1.75rem; }.order-tracking-steps li strong { font-size: .8rem; }.order-tracking-steps li small { font-size: .66rem; } }
@media (max-height: 540px) and (orientation: landscape) { .topbar { height: 3.8rem; }.welcome { padding-block: 1rem; }.welcome-copy { margin-block: .55rem .8rem; }.catalog-section { padding-block: 1rem; }.sheet-panel { max-height: 93dvh; }.order-tracking-card { width: min(32rem, 96vw); max-height: 94dvh; gap: .7rem; padding: .9rem; }.order-tracking-steps { gap: .55rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Base única para todos os painéis: carrinho, opções, dados e acompanhamento. */
.sheet, .order-tracking-modal { position: fixed; inset: 0; z-index: 30; display: grid; align-items: end; justify-items: center; padding: max(.45rem, env(safe-area-inset-top, 0px)) .45rem 0; }
.sheet { pointer-events: none; }.sheet[aria-hidden="false"] { pointer-events: auto; }
.sheet-backdrop, .order-tracking-backdrop { touch-action: none; }
.sheet-panel, .order-tracking-card { width: min(100%, 42rem); max-height: calc(100dvh - max(.45rem, env(safe-area-inset-top, 0px))); min-width: 0; margin: 0 auto; padding: .85rem clamp(.9rem, 4vw, 1.35rem) calc(1.15rem + env(safe-area-inset-bottom, 0px)); overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border-radius: 1.45rem 1.45rem 0 0; }
.sheet-panel { transform: translateY(calc(100% + 1rem)); }.sheet[aria-hidden="false"] .sheet-panel { transform: translateY(0); }
.order-tracking-modal { z-index: 45; }.order-tracking-card { width: min(100%, 32rem); max-height: calc(100dvh - max(.45rem, env(safe-area-inset-top, 0px))); gap: clamp(.75rem, 2.5vw, 1rem); animation: tracking-sheet-in .28s cubic-bezier(.2,.9,.25,1) both; }
.order-sending-overlay { z-index: 50; padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px)); }.order-sending-overlay > div { width: min(100%, 22rem); }
.sheet-panel :is(input, textarea, select, button), .order-tracking-card :is(input, textarea, select, button) { max-width: 100%; }
.sheet-panel input, .sheet-panel textarea, .order-tracking-card input, .order-tracking-card textarea { min-width: 0; }

@keyframes tracking-sheet-in { from { opacity: 0; transform: translateY(1.2rem) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (min-width: 700px) {
  .sheet, .order-tracking-modal { align-items: center; padding: clamp(1rem, 4vh, 2rem); }
  .sheet-panel, .order-tracking-card { width: min(100%, 42rem); max-height: min(86dvh, 48rem); margin: auto; padding: clamp(1rem, 3vw, 1.5rem); border-radius: 1.45rem; }
  .sheet-panel { transform: translateY(1rem) scale(.985); opacity: 0; }.sheet[aria-hidden="false"] .sheet-panel { transform: translateY(0) scale(1); opacity: 1; }
  .order-tracking-card { width: min(100%, 30rem); }
}

@media (max-width: 359px) {
  .sheet, .order-tracking-modal { padding-inline: 0; }.sheet-panel, .order-tracking-card { border-radius: 1.1rem 1.1rem 0 0; padding-inline: .75rem; }.sheet-header, .order-tracking-head { gap: .5rem; }.sheet-header h2, .order-tracking-head h2 { font-size: 1.12rem; }.payment-options { gap: .35rem; }.payment-options span { padding: .48rem .58rem; font-size: .74rem; }
}

@media (max-height: 480px) and (orientation: landscape) {
  .sheet, .order-tracking-modal { align-items: center; padding: .45rem; }.sheet-panel, .order-tracking-card { max-height: calc(100dvh - .9rem); border-radius: 1rem; }.sheet-handle { margin-bottom: .55rem; }.order-tracking-card { width: min(100%, 32rem); }
}

.topbar { gap: .55rem; }.brand { flex: 1 1 auto; max-width: none; }.topbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .4rem; }.my-orders-button { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; min-width: 2.65rem; min-height: 2.65rem; border: 0; border-radius: 1rem; padding: 0 .7rem; color: var(--wine); background: #fff1d6; font-size: 1.12rem; font-weight: 950; transition: transform .18s ease, background .18s ease; }.my-orders-button:hover { transform: translateY(-2px) rotate(3deg); background: #ffe1a1; }.my-orders-label { display: none; font-size: .72rem; white-space: nowrap; }
.my-orders-panel { display: grid; gap: 1rem; }.my-orders-intro { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; }.my-orders-section { display: grid; gap: .65rem; }.my-orders-section + .my-orders-section { padding-top: .95rem; border-top: 1px solid var(--line); }.my-orders-section-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }.my-orders-section-head h3 { margin: 0; color: var(--wine-dark); font-size: .98rem; }.my-orders-section-head span { display: grid; place-items: center; min-width: 1.55rem; height: 1.55rem; padding: 0 .35rem; border-radius: 999px; color: var(--wine); background: #ffe4ed; font-size: .7rem; font-weight: 950; }.my-orders-list { display: grid; gap: .6rem; }.my-orders-empty { margin: 0; padding: .9rem; border: 1px dashed var(--line); border-radius: .8rem; color: var(--muted); font-size: .78rem; line-height: 1.4; text-align: center; }.my-order-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; align-items: center; padding: .8rem; border: 1px solid var(--line); border-radius: .95rem; background: #fffaf5; }.my-order-card-main { display: grid; min-width: 0; gap: .28rem; }.my-order-status { justify-self: start; display: inline-flex; align-items: center; gap: .3rem; padding: .27rem .48rem; border-radius: 999px; color: #8e1145; background: #ffe1ed; font-size: .61rem; font-weight: 950; letter-spacing: .045em; text-transform: uppercase; }.my-order-status[data-status="accepted"] { color: #a64d00; background: #fff0d5; }.my-order-status[data-status="in_cart"] { color: #15639c; background: #e2f3ff; }.my-order-status[data-status="completed"] { color: #147342; background: #e2f8e9; }.my-order-status[data-status="rejected"] { color: #a01532; background: #ffe2e6; }.my-order-ticket { overflow: hidden; color: var(--wine-dark); font-size: .91rem; font-weight: 950; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; }.my-order-meta { color: var(--muted); font-size: .69rem; font-weight: 700; line-height: 1.35; }.my-order-side { display: grid; justify-items: end; gap: .48rem; }.my-order-total { color: var(--wine); font-size: .88rem; font-weight: 950; white-space: nowrap; }.my-order-track { border: 1px solid var(--wine); border-radius: .6rem; padding: .44rem .56rem; color: var(--wine); background: white; font-size: .67rem; font-weight: 950; white-space: nowrap; transition: transform .16s ease, background .16s ease; }.my-order-track:hover { transform: translateY(-1px); background: #ffe4ed; }
.my-order-items { display: grid; gap: .18rem; margin: .18rem 0 0; padding: .52rem .6rem .52rem 1.45rem; border-radius: .62rem; background: #fff1d8; color: #6f394d; font-size: .68rem; font-weight: 750; line-height: 1.35; }.my-order-items li::marker { color: var(--wine); }
@media (min-width: 390px) { .my-orders-label { display: inline; }.my-orders-button { font-size: 1rem; } }
@media (max-width: 359px) { .topbar { padding-inline: .6rem; }.topbar-actions { gap: .25rem; }.my-orders-button, .cart-button { min-width: 2.2rem; min-height: 2.2rem; }.my-order-card { grid-template-columns: minmax(0, 1fr); }.my-order-side { grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; }.my-order-total { align-self: center; }.my-order-track { justify-self: end; } }
.cash-payment-details { display: grid; gap: .5rem; margin-top: .7rem; padding: .8rem; border: 1px dashed #e8b1c5; border-radius: .8rem; background: #fff7f9; }.cash-payment-details[hidden] { display: none; }.cash-payment-details label { font-size: .8rem; }.cash-payment-details input { font-size: 1rem; font-variant-numeric: tabular-nums; }.cash-payment-summary { min-height: 1.15rem; margin: 0; color: var(--wine-dark); font-size: .82rem; font-weight: 800; }.cash-payment-summary.is-change { color: #087b45; }.cash-payment-summary.is-missing { color: #b24100; }
.category-bar { gap: .65rem; padding: 1rem 0 .55rem; }.category-button { max-width: 13.5rem; min-height: 3.45rem; border-radius: .9rem; padding: .58rem .72rem; white-space: normal; color: var(--wine-dark); font-size: .72rem; font-weight: 950; line-height: 1.13; text-align: left; text-transform: uppercase; box-shadow: 0 .35rem .7rem rgba(74,26,39,.05); }.category-button::before { content: 'CARDÁPIO'; display: block; margin-bottom: .18rem; color: var(--orange-deep); font-size: .53rem; letter-spacing: .08em; }.category-button:hover { transform: translateY(-2px); border-color: var(--wine); }.category-button.is-active { box-shadow: 0 .45rem .9rem rgba(151,0,57,.2); }.category-button.is-active::before { color: #ffd26a; }
