/* Mais conteúdo visível, sem reduzir os campos de formulário. */
.topbar { height:56px; padding:0 15px; }
.wordmark { gap:8px; }
.wordmark .header-logo { width:33px; height:33px; border-radius:10px; }
.wordmark .header-brand { gap:4px; }
.wordmark .header-brand-name { font-size:13px; }
.wordmark .header-brand-caption { font-size:5.5px; letter-spacing:1.1px; }
.topbar .icon-button { width:32px; height:32px; border-radius:10px; }
.topbar .icon-button svg { height:17px; width:17px; }
.ribbon-marquee { container-type:inline-size; display:flex; align-items:center; justify-content:center; height:39px; min-height:39px; padding:0; background:linear-gradient(110deg,#24221d,#302b20,#24221d); border-top:1px solid #b9975424; border-bottom:1px solid #b9975442; overflow:hidden; }
.ribbon-viewport { width:100%; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent); }
.ribbon-track { display:flex; align-items:center; width:max-content; animation:kings-marquee 30s linear infinite; will-change:transform; }
.ribbon-group { display:flex; align-items:center; gap:0; padding:0; flex-shrink:0; white-space:nowrap; }
.ribbon-group span { display:flex; align-items:center; justify-content:center; flex:0 0 100cqw; width:100cqw; min-height:29px; padding:0 25px; font-size:11.5px; font-weight:650; line-height:1.3; letter-spacing:.25px; color:#f3e7cc; text-align:center; }
.ribbon-group b { position:relative; width:0; flex:0 0 0; color:#bd9a52; font-size:10px; font-weight:400; line-height:1; transform:translateX(-5px); }
.ribbon-marquee:hover .ribbon-track,.ribbon-marquee:focus .ribbon-track { animation-play-state:paused; }
.reference-cover { height:195px; background-size:auto,310px; }
.cover-status { top:10px; left:14px; font-size:9px; padding:5px 9px; }
.reference-store { margin-top:-158px; padding:13px 13px 12px; border-radius:19px; }
.store-row { gap:10px; }
.store-logo { width:52px; height:52px; border-radius:14px; border-width:2px; }
.store-row h2 { font-size:16px; }
.store-row small { margin-top:5px; }
.location-trigger { margin-top:4px; }
.hours-chip { margin-top:5px; padding:2px 7px; font-size:8px; }
.super-badge { font-size:7px; padding:3px 5px; }
.store-features { margin-top:11px; gap:7px; }
.store-features > div { min-height:64px; padding:8px 4px; border-radius:15px; }
.store-features svg.icon { width:14px; height:14px; padding:4px; margin-bottom:4px; }
.store-features strong { font-size:10px; }
.store-features span { font-size:9px; margin-top:2px; }
.store-tags { margin-top:9px; }
.store-tags span { padding:3px 7px; font-size:8px; }
.section { padding:12px 13px 0; }
.delivery-note { padding:8px 9px; font-size:10px; }
.delivery-note svg { height:14px; width:14px; }
.search { min-height:40px; padding:9px 11px; margin-top:11px; border-radius:11px; }
.search input { font-size:11px; }
.search svg { width:15px; height:15px; }
.categories { top:56px; padding:9px 13px; gap:6px; scroll-margin-top:56px; }
.categories button { min-height:30px; padding:6px 10px; font-size:9px; border-radius:9px; }
.catalog-section { padding-top:15px; scroll-margin-top:110px; }
.section-heading { margin-bottom:10px; }
.section-heading h2 { font-size:18px; letter-spacing:-.5px; }
.category-caption { margin-top:3px; font-size:9px; }
.section-heading .option-count { height:21px; min-width:21px; border-radius:7px; font-size:9px; }
.product-list { gap:8px; }
.product-card { padding:11px 12px; gap:12px; border-radius:14px; min-height:105px; }
.product-card .product-text { min-width:0; }
.product-card h3 { font-size:13px; line-height:1.25; padding-top:0; letter-spacing:-.2px; }
.product-card .description { font-size:10px; line-height:1.4; margin-top:5px; -webkit-line-clamp:2; }
.product-card .product-price { margin-top:6px; gap:6px; }
.product-card .product-price strong { font-size:16px; line-height:1.2; letter-spacing:-.4px; }
.product-card .product-price del { font-size:9px; }
.product-card .product-benefit { display:none; }
.product-media { width:82px; height:82px; min-height:0; flex:0 0 82px; border-radius:10px; }
.product-media > img { object-fit:contain; border-radius:10px; }
.product-media.missing img { width:53px; height:53px; border-radius:8px; }
.product-media.missing > span:not(.add-circle) { font-size:7px; }
.discount-badge { top:-4px; left:-4px; font-size:7px; padding:2px 4px; border-radius:4px; }
.add-circle { height:26px; width:26px; right:-4px; bottom:-4px; border-radius:8px; }
.add-circle svg { height:14px; width:14px; }
.catalog-directory { padding:0 13px; margin-top:20px; }
.catalog-directory h2 { font-size:17px; }
.catalog-directory > p { font-size:10px; }
.directory-grid { margin-top:11px; border-radius:13px; }
.directory-grid button { min-height:55px; padding:10px 13px; gap:10px; }
.directory-grid button > svg { width:14px; height:14px; padding:7px; border-radius:9px; }
.directory-grid span { font-size:11px; }
.directory-grid small { font-size:9px; margin-top:2px; }
.directory-grid button:after { font-size:21px; }
.show-complete { min-height:41px; font-size:11px; margin-top:12px; }
.bottom-nav { min-height:54px; padding:7px 9px calc(7px + env(safe-area-inset-bottom)); border-radius:15px 15px 0 0; background:#fffefbf7; border:1px solid #e6e0d5; border-bottom:0; box-shadow:0 -3px 16px #32271408; }
.bottom-nav button { position:relative; justify-content:center; gap:3px; min-height:39px; border-radius:10px; color:#a29988; font-size:8px; font-weight:550; }
.bottom-nav button svg { height:18px; width:18px; stroke-width:1.65; }
.bottom-nav button.active { color:#80642e; background:#f5efdf; font-weight:750; }
.bottom-nav button.active:before { display:none; }
.nav-count { top:-3px; left:56%; min-width:13px; height:13px; font-size:7px; border:2px solid #fffefb; box-sizing:content-box; }
.cart-float { bottom:calc(63px + env(safe-area-inset-bottom)); width:calc(100% - 24px); max-width:416px; min-height:41px; padding:9px 12px; gap:8px; border-radius:12px; background:#29261f; color:#f7edda; border:1px solid #51432b; box-shadow:0 4px 12px #32220f20; font-size:10px; font-weight:650; }
.cart-float span:first-child { min-width:21px; height:21px; padding:0 5px; background:#b4934d26; color:#dcc48c; font-size:10px; border:1px solid #a68b4f24; border-radius:6px; }
.cart-float strong { color:#e8d29b; font-size:12px; letter-spacing:-.15px; }
.cart-float > svg { color:#c5a35c; width:15px; height:15px; }
.app { padding-bottom:72px; }
.app:has(.cart-float) { padding-bottom:116px; }
.footer { margin-top:22px; padding:21px 18px 18px; }
.footer img { width:51px; height:51px; border-radius:13px; }
#toast { bottom:calc(116px + env(safe-area-inset-bottom)); }
@keyframes kings-marquee { from{transform:translateX(0)}to{transform:translateX(-50%)} }
@media(max-width:370px){.topbar{padding:0 12px}.wordmark .header-logo{height:31px;width:31px}.wordmark .header-brand-name{font-size:12px}.wordmark .header-brand-caption{font-size:5px}.product-card{padding:10px;gap:10px}.product-media{width:76px;height:76px;flex-basis:76px}.product-card h3{font-size:12px}.product-card .description{font-size:9px}.product-card .product-price strong{font-size:15px}.directory-grid button{min-height:53px;padding:10px 12px}.directory-grid span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;transform:none}.ribbon-viewport{mask-image:none}.ribbon-track{width:100%}.ribbon-group{width:100%;justify-content:center;gap:9px;padding:0 12px;white-space:normal}.ribbon-group[aria-hidden=true]{display:none}.ribbon-group span{font-size:9px;flex:1;width:auto;min-height:29px;padding:0}.ribbon-group b{width:8px;flex-basis:8px;transform:none}.ribbon-group b:last-child{display:none}}
/* Fluxo contínuo: o espaço acompanha o texto, sem intervalos de uma tela. */
.ribbon-group { gap:20px; padding-right:20px; }
.ribbon-group span { flex:0 0 auto; width:auto; padding:0; }
.ribbon-group b { flex:0 0 8px; width:8px; transform:none; }
.product-media .illustrative-label { position:absolute; left:0; bottom:3px; width:100%; font-size:5.5px; text-align:center; color:#fff; text-shadow:0 1px 3px #000; pointer-events:none; }
@media(prefers-reduced-motion:reduce){.ribbon-marquee{height:auto;min-height:39px;padding:6px 0}.ribbon-group{gap:7px;padding:0 10px;flex-wrap:wrap}.ribbon-group span{flex:0 1 auto;width:auto;min-height:0;font-size:9px}.ribbon-group b{font-size:7px;flex-basis:6px;width:6px}}
.address-shortcut{display:flex;align-items:center;gap:8px;width:100%;text-align:left;margin-top:10px;padding:10px 0 0;border:0;border-top:1px solid #eee8de;background:transparent;color:#776442}.address-shortcut>svg{width:16px;height:16px;flex-shrink:0;color:#a78648}.address-shortcut>span{flex:1;min-width:0}.address-shortcut small{display:block;font-size:6px;letter-spacing:1px;color:#a59a84;margin-bottom:2px}.address-shortcut strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550;color:#756b58}.address-shortcut>b{display:flex;align-items:center;gap:3px;font-size:9px;white-space:nowrap;color:#9b7735;font-weight:700}.address-shortcut b svg{width:11px;height:11px}.address-shortcut:hover b{color:#664917}.address-modal{padding-top:28px}.address-modal>h2{padding-right:20px}.address-city{display:flex;align-items:center;gap:7px;width:100%;margin:17px 0;padding:12px;border:1px solid #e7decd;border-radius:11px;background:#fbf8f1;text-align:left;font-size:11px;color:#756039}.address-city svg{width:16px;height:16px;flex-shrink:0}.address-city span{flex:1}.address-city b{font-size:9px;font-weight:650}.address-modal .form{gap:15px}.address-modal .form textarea{min-height:88px}.address-modal .form label{font-size:11px}
