:root { --ink:#242321; --muted:#77746f; --gold:#b88b38; --gold-dark:#8f6827; --brand:#bd2833; --brand-dark:#991e29; }
body { color:#242321; background:#eeedea; }
.app { background:#f6f5f2; }
.topbar { background:#fffefbf5; border-color:#e7e3dc; }
.wordmark .header-brand-name,.header-brand-name em { color:#242321; }
.wordmark .header-brand-caption { color:#9a7b42; }
.wordmark .header-logo { border-color:#8a682c; box-shadow:0 2px 8px #2a200b12; }
.ribbon-carousel { display:flex; align-items:center; gap:7px; background:#24221e; border-bottom:1px solid #a47b3438; color:#f2e6cc; padding:7px 10px; min-height:35px; }
.ribbon-carousel > span { flex:1; font-size:10px; font-weight:650; text-align:center; letter-spacing:.1px; }
.ribbon-carousel button { border:0; background:transparent; color:#c6a768; width:21px; height:21px; display:grid; place-items:center; font-size:19px; padding:0; line-height:1; flex-shrink:0; }
.ribbon-carousel #ribbon-pause { font-size:10px; margin-left:2px; opacity:.75; }
.ribbon-carousel button:hover { background:#ffffff0d; border-radius:5px; color:#fff0cb; }
.reference-cover { background-color:#574126; background-image:linear-gradient(110deg,#171612b3,#37291b94),url('/assets/reference-banner.png'); background-blend-mode:normal,luminosity; }
.reference-store { background:#fffefc; border-color:#fff; box-shadow:0 9px 27px #332a160a; }
.store-row h2,.store-features strong,.section-heading h2,.catalog-directory h2,.page-head h1,.product-card h3,.summary-heading,.order-heading h1,.modal-body h2 { color:#242321; }
.verified { background:#b08a42; }
.super-badge { background:#faf4e7; color:#987436; border-color:#eadbb8; }
.store-features > div { background:#f6f5f1; border-color:#eeebe3; }
.store-features > div:first-child svg { color:#ae8433; fill:#dfb85f; stroke:#ae8433; }
.store-features > div:nth-child(2) svg { color:#a5803c; }
.store-features span,.store-row small,.store-tags span,.location-trigger,.location-trigger .location-distance { color:#7d7972; }
.store-tags span { background:#f1efe9; }
.hours-chip { color:#9a7636; background:#f8f2e7; }
.categories { background:#f6f5f2f5; border-color:#e8e4dc; }
.categories button { color:#77736b; border-color:#e7e1d8; background:#fffefb; }
.categories button.active { color:#f2dfb5; background:#292720; border-color:#292720; box-shadow:0 2px 7px #27221513; }
.section-heading .option-count { background:#eee7d9; color:#a1844d; }
.category-caption,.catalog-directory > p { color:#817c73; }
.product-card { background:#fffefc; border-color:#e7e2d9; box-shadow:0 3px 12px #29201104; }
.product-card:hover { border-color:#d5be92; box-shadow:0 4px 15px #6b53220b; }
.product-card .description { color:#7d7972; }
.product-price del { color:#a49e93; }
.product-price strong,.summary .total span:last-child,.order-card b { color:#37704e; }
.discount-badge { background:#fdf9ef; color:#997226; border-color:#e9ddbf; }
.add-circle,.btn,.btn.dark { background:var(--brand); color:#fff; }
.directory-grid { display:flex; flex-direction:column; gap:0; margin-top:15px; border:1px solid #e7e1d8; border-radius:16px; overflow:hidden; background:#fffefc; }
.directory-grid button { width:100%; min-height:68px; display:flex; align-items:center; gap:13px; border:0; border-bottom:1px solid #eeeae2; border-radius:0; background:transparent; padding:14px 16px; box-shadow:none; }
.directory-grid button:last-child { border-bottom:0; }
.directory-grid button:hover { background:#faf7ef; border-color:#eeeae2; }
.directory-grid button > svg { background:#f6f0e2; color:#a5823d; padding:9px; width:17px; height:17px; border-radius:11px; }
.directory-grid span { color:#35332e; font-size:12px; line-height:1.4; font-weight:650; }
.directory-grid small { color:#9c9588; font-size:10px; margin-top:3px; }
.directory-grid button:after { content:'›'; color:#b19a6a; margin-left:auto; font-size:24px; font-weight:300; }
.btn.secondary { background:#fffefb; border-color:#e6dfd3; color:#7c756a; }
.bottom-nav { background:#fffefbf5; border-color:#e7e0d4; }
.bottom-nav button { color:#a59b8a; }
.bottom-nav button.active { color:#a3813b; }
.bottom-nav button.active:before { background:#b38a3e; }
.nav-count { background:var(--brand); color:#fff; }
.search { border-color:#e5e0d6; background:#fffefb; }
.search input { color:#35322c; }
.search input::placeholder { color:#9c968a; }
.search:focus-within { border-color:#c5a66b; box-shadow:0 0 0 3px #b38a3e09; }
.form legend,.form label,.modal-body label,.extra-group legend { color:#676052; }
.form input,.form textarea { color:#3c3830; border-color:#e7e1d6; background:#faf9f5; }
.summary,.cart-line,.timeline,.order-card { border-color:#e8e2d7; background:#fffefb; }
.modal-category { color:#9b7938; }
.footer strong { color:#50452f; }
.footer p,.footer a { color:#8b8271; }
@media(max-width:370px) { .ribbon-carousel > span { font-size:9px; }.directory-grid button { padding:13px 14px; gap:12px; }.directory-grid button > svg { padding:8px; width:16px; height:16px; }.directory-grid span { font-size:12px; } }
/* Localização com a mesma identidade do cardápio. */
.location-dialog { background:#fffefb; color:#35312a; border:1px solid #e7dfcf; border-bottom:0; box-shadow:0 -12px 55px #231c1733; }
.location-dialog::backdrop { background:#24211cc2; }
.location-dialog .sheet-handle { background:#dfd5c1; }
.location-dialog h2 { color:#242321; font-weight:800; letter-spacing:-.4px; }
.location-dialog .location-pin { width:58px; height:58px; display:flex; align-items:center; justify-content:center; margin:17px auto 0; background:#f8f1e3; border:1px solid #ecdfc3; border-radius:19px; }
.location-dialog .location-pin svg { width:31px; height:31px; fill:#ab873d; stroke:#fffefb; }
.location-dialog .location-red { color:#9a7937; font-size:13px; }
.location-dialog .city-pill { background:#f5f1e8; border:1px solid #eae0cc; border-radius:17px; padding:12px 25px; }
.location-dialog .city-pill strong { color:#343026; font-size:18px; font-weight:750; }
.location-dialog .city-pill span { color:#a1844a; font-size:12px; margin-top:2px; }
.location-dialog .location-question { color:#8a8172; font-size:12px; margin-top:18px; }
.location-dialog .location-buttons { gap:10px; margin-top:18px; }
.location-dialog .location-buttons button { border-color:#e6dfd2; background:#fffefb; color:#786c57; border-radius:13px; height:46px; font-size:12px; font-weight:650; }
.location-dialog .location-buttons button:first-child { background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 3px 9px #8b24351a; }
.location-dialog .location-buttons button:first-child:hover { background:var(--brand-dark); }
.location-dialog .location-text-button { color:#a28a5b; font-size:10px; text-underline-offset:3px; }
.location-dialog .location-text-button:hover { color:#7b602e; }
.location-dialog .location-check { background:#f8f1df; border-color:#e9d9ad; }
.location-dialog .location-check svg { stroke:#a1833c; }
.location-dialog .location-state { color:#8b8170; font-size:13px; }
.location-dialog .location-delivery { background:#f6f2e9; border:1px solid #eae1cf; border-radius:16px; padding:15px; }
.location-dialog .location-delivery p { color:#776b56; font-size:12px; }
.location-dialog .location-delivery svg { stroke:#a78842; }
.location-dialog .location-search { background:#fffefb; border-color:#e5ddce; border-radius:12px; }
.location-dialog .location-search svg { stroke:#b09b72; }
.location-dialog .location-search input { color:#524a3b; font-size:13px; }
.location-dialog .location-search input::placeholder { color:#b2a58e; }
.location-dialog .location-options button { color:#655b49; border-radius:10px; }
.location-dialog .location-options button:hover { background:#f5f0e4; }
.location-dialog .location-options small { color:#b39d71; }
.location-dialog .location-selector-heading button { color:#a58b55; }
.location-dialog .location-detecting { color:#8c806a; }
.location-dialog .location-detecting h2 { color:#786b54; }
.location-dialog .location-spinner { border-color:#eee4cf; border-top-color:#b08d43; }
