:root{
  --paper:#f7f6f2;--card:#fffefb;--ink:#22251f;--muted:#65705c;--soft:#8b937f;--line:#e5e7dc;
  --brand:#cf3379;--brand-soft:#fcebf3;--accent:#ed76ab;--forest:#2f3a2a;--forest-2:#43523a;
  --good:#2f7a45;--good-soft:#e5f2e6;--warn:#a6611d;--warn-soft:#fbefdf;--bad:#b0412e;--bad-soft:#faece7;
  --radius:16px;--shadow:0 10px 30px #2a361f12;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper)
}
/* Public editorial feed and company/legal information share the storefront palette. */
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.editorial-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);display:flex;flex-direction:column;align-items:flex-start}
.editorial-card h3{margin:8px 0;font-size:21px;line-height:1.3}
.editorial-card p{color:var(--muted);margin:0 0 20px;flex:1}
.editorial-card a{color:var(--brand);font-weight:700}
.company-footer{font-size:12px;color:var(--muted);max-width:360px;overflow-wrap:anywhere}
.company-footer p{margin:0 0 5px}.footer-links{flex-wrap:wrap}
.legal-page{max-width:860px;margin:0 auto;padding:32px 24px 64px;overflow-wrap:anywhere}
.legal-nav,.legal-footer{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:0 0 28px}
.legal-nav a:not(.footer-brand),.legal-footer a,.legal-page p a,.company-block a{text-decoration:underline;text-underline-offset:3px;color:var(--brand)}
.legal-page h1{font-size:clamp(32px,6vw,48px);line-height:1.15;margin:14px 0}
.legal-page h2{font-size:22px;margin:32px 0 10px}.legal-page p{line-height:1.8}
.legal-date{color:var(--muted);font-size:14px}.legal-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;font-size:14px}
.company-block{padding:8px 24px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:28px 0}
.company-block dl{display:grid;grid-template-columns:180px 1fr;gap:14px}.company-block dt{font-weight:650}.company-block dd{margin:0}
@media(max-width:760px){.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-block dl{grid-template-columns:1fr;gap:5px}.company-block dd{margin-bottom:12px}}
@media(max-width:480px){.editorial-grid{grid-template-columns:1fr}.legal-page{padding:24px 20px 48px}.legal-nav{gap:16px}.company-block{padding:8px 18px 18px}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);min-height:100vh}
button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:wait;opacity:.6}
a{color:inherit;text-decoration:none}img{max-width:100%}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:6px}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.skip-link{position:fixed;top:10px;left:10px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--soft);text-transform:uppercase}

/* Header */
.site-header{position:sticky;top:0;z-index:30;background:#fffefbeb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1240px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:21px;letter-spacing:-.6px;flex-shrink:0}
.brand-art{position:relative;display:inline-block;width:36px;height:48px;overflow:hidden;background:#fff;border-radius:8px;flex-shrink:0}
.brand-art img{position:absolute;width:78px;height:117px;max-width:none;left:-21px;top:-26px}
.search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d9ddd0;border-radius:12px;padding:4px 4px 4px 12px;min-width:0}
.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #cf337922}
.search>.icon{color:var(--soft);width:18px;height:18px}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;padding:9px 0;font-size:15px}
.search-go{background:var(--forest);color:#fff;font-weight:650;font-size:14px;padding:9px 16px;border-radius:9px;white-space:nowrap}
.search-go:hover{background:var(--forest-2)}
.location-chip{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;max-width:200px;white-space:nowrap}
.location-chip span{overflow:hidden;text-overflow:ellipsis}.location-chip .icon{width:17px;height:17px;color:var(--brand)}
.location-chip.set{color:var(--ink)}
.header-nav{display:flex;gap:4px}
.header-link{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--muted);padding:9px 10px;border-radius:9px;position:relative}
.header-link:hover,.header-link.active{background:#f1f2ea;color:var(--ink)}
.count{background:var(--brand);color:#fff;font-size:11px;line-height:1;padding:3px 6px;border-radius:99px}
.check-status{max-width:1240px;margin:0 auto;padding:0 24px;font-size:14px;color:var(--muted)}
.check-status:not(:empty){padding-bottom:10px}.check-status.error{color:var(--bad)}

main{max-width:1240px;margin:0 auto;padding:28px 24px 40px;outline:none}
.app-search-promo{display:flex;align-items:center;gap:10px;margin:0 0 22px;padding:13px 16px;border:1px solid #f2bfd6;border-radius:12px;background:var(--brand-soft);color:#8f2b59;font-size:15px}
.app-search-promo p{margin:0}.app-search-promo strong{font-weight:750}

/* Buttons */
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);color:#fff;font-weight:700;font-size:15px;padding:13px 20px;border-radius:11px;min-height:46px;white-space:nowrap;transition:background .15s,transform .15s}
.primary-button:hover{background:#b8296a;transform:translateY(-1px)}.primary-button .icon{width:17px;height:17px}
.primary-button.wide{width:100%}
.buy-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--good);color:#fff;font-weight:700;font-size:16px;padding:14px 22px;border-radius:12px;min-height:50px;transition:background .15s,transform .15s}
.buy-button:hover{background:#25643a;transform:translateY(-1px)}.buy-button .icon{width:18px;height:18px}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8dccf;background:#fff;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;min-height:44px}
.secondary-button:hover{border-color:#aab29d}.secondary-button .icon{width:16px;height:16px}
.secondary-button.on{background:var(--brand-soft);border-color:#f2bfd6;color:#8f2b59}
.text-button{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--muted);padding:4px 0}
.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:10px}.icon-button:hover{background:#f0f1ea}

/* Hero */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#eff1e6,#f6eef2);border:1px solid var(--line);border-radius:24px;padding:40px}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px #2f7a4522}
.hero h1{font-size:46px;line-height:1.08;letter-spacing:-1.8px;margin:14px 0 12px;font-weight:750}
.hero h1 span{color:var(--brand)}
.hero-copy>p{font-size:17px;color:var(--muted);max-width:560px;margin:0 0 22px}
.hero-search{display:flex;gap:8px;background:#fff;border:1px solid #d9ddd0;border-radius:14px;padding:6px;max-width:620px;box-shadow:var(--shadow)}
.hero-search:focus-within{border-color:var(--brand)}
.hero-search input{flex:1;min-width:0;border:0;outline:0;padding:10px 12px;font-size:16px;background:none}
.example-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font-size:14px;color:var(--soft)}
.example-chip{border:1px solid var(--line);background:#fffefbcc;border-radius:99px;padding:6px 12px;font-size:13px;color:var(--ink)}
.example-chip:hover{border-color:var(--brand);color:var(--brand)}
.perks{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:18px 0 0;font-size:14px;color:var(--muted)}
.perks li{display:flex;align-items:center;gap:6px}.perks .icon{width:16px;height:16px;color:var(--good)}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);transform:rotate(1.5deg);position:relative}
.hero-card::before{content:"EXAMPLE";position:absolute;top:-10px;right:14px;font-size:10px;font-weight:700;letter-spacing:1px;background:var(--forest);color:#fff;padding:3px 8px;border-radius:6px}
.mock-row{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:10px;font-size:15px}
.mock-row+.mock-row{margin-top:4px}.mock-row strong{font-weight:700}
.mock-row.best{background:var(--good-soft)}.mock-row em{font-style:normal;font-size:11px;font-weight:700;color:var(--good);background:#fff;padding:2px 7px;border-radius:6px;margin-left:6px}
.mock-chart{width:100%;height:70px;margin:12px 0 6px}.mock-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round}
.mock-badge{display:inline-flex;align-items:center;gap:6px;background:var(--good-soft);color:var(--good);font-weight:700;font-size:13px;padding:7px 10px;border-radius:8px}.mock-badge .icon{width:16px;height:16px}

.store-strip{display:flex;align-items:center;gap:18px;padding:20px 4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.strip-label{font-size:11px;font-weight:700;letter-spacing:1.3px;color:var(--soft)}
.merchant-list{display:flex;flex-wrap:wrap;gap:8px 22px}.merchant-list span{font-weight:750;font-size:15px;color:#59634f;letter-spacing:-.3px}

/* Sections & cards */
.home-section{margin-top:34px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-heading h2{font-size:26px;letter-spacing:-.7px;margin:4px 0 0}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;position:relative}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-art{height:170px;border-radius:10px;background:#f0f2ea;display:grid;place-items:center;overflow:hidden;position:relative}
.card-art img{max-width:82%;max-height:88%;object-fit:contain}
.store-label{position:absolute;left:8px;top:8px;font-size:12px;font-weight:650;background:#fffffff0;padding:3px 8px;border-radius:6px;color:var(--muted)}
.save-button{position:absolute;right:8px;top:8px;width:38px;height:38px;border-radius:50%;background:#ffffffee;display:grid;place-items:center;color:var(--soft)}
.save-button.is-saved{color:var(--brand)}.save-button.is-saved .icon{fill:#f6c2d8}
.drop-badge{position:absolute;left:8px;bottom:8px;background:var(--good);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px}
.card-copy{padding:12px 4px 4px;display:flex;flex-direction:column;flex:1}
.card-copy h3{font-size:15px;line-height:1.35;margin:0 0 6px;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.card-meta{font-size:13px;color:var(--soft);margin:0 0 12px;flex:1}
.card-price{font-size:18px;font-weight:750;color:var(--ink)}.card-price small{font-size:12px;font-weight:500;color:var(--soft);margin-left:4px}
.card-check{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:10px;font-size:14px;font-weight:650;color:var(--brand);min-height:40px}
.card-check .icon{width:16px;height:16px}

.qc-card{display:flex;gap:20px;align-items:center;margin-top:34px;background:var(--forest);color:#f5f8ee;border-radius:20px;padding:26px 28px}
.qc-icon{width:56px;height:56px;border-radius:16px;background:#45543b;display:grid;place-items:center;flex-shrink:0}.qc-icon .icon{width:28px;height:28px;color:#ffd166}
.qc-copy{flex:1}.qc-copy .eyebrow{color:#b9c6a8}.qc-copy h2{font-size:22px;margin:4px 0 6px;letter-spacing:-.4px}.qc-copy p{margin:0;color:#ccd6bf;font-size:15px}
.qc-apps{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.qc-apps span{background:#46553c;border-radius:99px;padding:4px 10px;font-size:13px}.qc-apps small{align-self:center;font-size:13px;color:#b9c6a8}
.qc-card .secondary-button{background:#f5f8ee;border-color:#f5f8ee;color:var(--forest)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.steps article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.steps span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:#8f2b59;font-weight:750}
.steps h3{margin:12px 0 6px;font-size:18px}.steps p{margin:0;color:var(--muted);font-size:15px}

/* Views */
.view-head{margin-bottom:20px}.view-head h1{font-size:34px;letter-spacing:-1px;margin:6px 0}.view-head.sub{margin-top:32px}.view-head.sub h2{font-size:22px;margin:0}
.view-description{color:var(--muted);margin:0;max-width:680px}
.result-list{display:grid;gap:10px}
.list-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.list-row img{width:72px;height:72px;object-fit:contain;background:#f0f2ea;border-radius:10px;padding:6px}
.list-row h3{font-size:15px;margin:0 0 4px;line-height:1.35}
.list-row p{margin:0;font-size:13px;color:var(--soft)}
.list-price{text-align:right}.list-price strong{display:block;font-size:18px}.list-price span{font-size:12px;color:var(--soft)}
.list-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:6px}
.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #d3d9c8;border-radius:16px;background:#f3f5ed;padding:44px 20px;color:var(--muted)}
.empty-state h2{font-size:20px;color:var(--ink);margin:10px 0 6px}.empty-state .icon{width:34px;height:34px;color:var(--soft)}

/* Product view */
.product-top{display:grid;grid-template-columns:240px 1fr;gap:28px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.product-image{background:#f1f3eb;border-radius:14px;display:grid;place-items:center;min-height:240px;padding:16px}
.product-image img{max-height:220px;object-fit:contain}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--soft);margin-bottom:6px}
.store-pill{background:#eef0e7;color:var(--muted);font-weight:650;padding:3px 9px;border-radius:7px}
.product-top h1{font-size:24px;line-height:1.3;letter-spacing:-.4px;margin:0 0 6px}
.rating{font-size:14px;color:var(--muted)}.rating b{color:#b7791f}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:14px 0 4px}
.price-now{font-size:38px;font-weight:800;letter-spacing:-1.2px}
.price-mrp{font-size:17px;color:var(--soft);text-decoration:line-through}
.price-off{font-size:14px;font-weight:700;color:var(--good);background:var(--good-soft);padding:4px 8px;border-radius:7px}
.price-meta{font-size:13px;color:var(--soft);margin:0 0 12px}.price-meta.error{color:var(--bad);font-weight:600}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;padding:4px 9px;border-radius:7px;background:var(--good-soft);color:var(--good)}
.stock.out{background:var(--bad-soft);color:var(--bad)}.stock.unknown{background:#eef0e7;color:var(--muted)}
.verdict{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:12px 14px;margin:14px 0}
.verdict .icon{width:22px;height:22px;margin-top:2px}.verdict strong{display:block;font-size:16px}.verdict span{font-size:14px;color:inherit;opacity:.85}
.verdict.LOWEST_PRICE,.verdict.GOOD_DEAL{background:var(--good-soft);color:#1f5a32}
.verdict.FAIR_PRICE{background:#eef0e7;color:#3f4936}
.verdict.WAIT{background:var(--warn-soft);color:#7a4510}
.verdict.NOT_ENOUGH_DATA{background:#f1f2ec;color:var(--muted)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.unavailable-box{background:var(--warn-soft);color:#6f430f;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:15px}
.last-seen{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}.last-seen strong{font-size:26px;color:var(--ink)}
.best-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,#e3f1e4,#f0f7ec);border:1px solid #c9e2cc;border-radius:16px;padding:18px 22px;margin-top:16px}
.best-banner .eyebrow{color:var(--good)}.best-banner h2{margin:4px 0 0;font-size:21px;letter-spacing:-.3px}.best-banner p{margin:2px 0 0;color:var(--muted);font-size:14px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:16px}
.panel h2{font-size:20px;margin:0 0 4px;letter-spacing:-.3px}.panel>p{color:var(--muted);margin:0 0 12px;font-size:14px}
.offers{width:100%;border-collapse:collapse}
.offers td{padding:14px 8px;border-top:1px solid var(--line);vertical-align:middle}
.offers tr.best td{background:#f3faf2}
.offers .store{font-weight:700;font-size:15px}.offers .detail{display:block;font-size:12px;color:var(--soft);margin-top:2px}
.offers .amount{font-size:18px;font-weight:750;white-space:nowrap}.offers .tag{font-size:11px;font-weight:700;background:var(--good);color:#fff;padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:middle}
.offers .go{text-align:right;width:1%}
.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.stat{background:#f4f5ef;border-radius:10px;padding:10px}.stat span{display:block;font-size:12px;color:var(--soft)}.stat strong{font-size:16px}
.range-tabs{display:flex;gap:4px;margin:6px 0 10px;flex-wrap:wrap}
.range-tabs button{font-size:13px;font-weight:650;padding:6px 11px;border-radius:8px;color:var(--muted);border:1px solid var(--line)}
.range-tabs button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.chart-wrap{position:relative}
.chart{width:100%;height:220px;display:block;touch-action:none}
.chart .grid{stroke:#eceee5;stroke-width:1}.chart .axis{font-size:11px;fill:#8b937f}
.chart .line{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.chart .area{fill:#cf33790f}.chart .now{stroke:var(--good);stroke-dasharray:5 4;stroke-width:1.5}
.chart .cursor{stroke:#9aa28d;stroke-width:1}.chart .dot{fill:#fff;stroke:var(--brand);stroke-width:2.2}
.chart-tip{position:absolute;top:6px;pointer-events:none;background:var(--forest);color:#fff;font-size:12px;padding:6px 9px;border-radius:8px;white-space:nowrap;transform:translateX(-50%)}
.chart-sources{font-size:12px;color:var(--soft);margin:8px 0 0}
.alert-form{display:grid;gap:10px}
.alert-form label{font-size:13px;font-weight:650;color:var(--muted)}
.input{width:100%;border:1px solid #d6dbcc;border-radius:10px;padding:11px 12px;background:#fff;font-size:15px}
.input:focus{outline:2px solid var(--brand);outline-offset:1px}
.money-input{position:relative}.money-input span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--soft)}.money-input .input{padding-left:26px}
.watchers{font-size:13px;color:var(--soft);margin:0}
.footnote{font-size:12px;color:var(--soft);margin:14px 2px 0;line-height:1.6}
.loading{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px}
.loading h2{margin:0 0 14px;font-size:20px}
.loading ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.loading li{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:15px}
.loading li::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid #cfd5c4}
.loading li.active{color:var(--ink)}.loading li.active::before{border-color:var(--brand);border-top-color:transparent;animation:spin .8s linear infinite}
.loading li.done{color:var(--good)}.loading li.done::before{background:var(--good);border-color:var(--good)}
@keyframes spin{to{transform:rotate(360deg)}}
.location-card{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--brand-soft);border:1px solid #f2c4d9;border-radius:14px;padding:16px;margin-top:12px}
.location-card p{margin:0;flex:1;min-width:220px}

/* Footer, nav, dialogs */
.site-footer{max-width:1240px;margin:20px auto 0;padding:22px 24px 90px;border-top:1px solid var(--line);display:grid;gap:12px;font-size:14px;color:var(--soft)}
.footer-brand{font-size:20px;font-weight:800;color:var(--forest)}.footer-brand span{color:var(--brand)}
.site-footer p{margin:2px 0 0}.affiliate-note{max-width:720px}
.footer-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.bottom-nav{display:none}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fffefbf5;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px}
.sticky-buy strong{font-size:18px}.sticky-buy span{display:block;font-size:12px;color:var(--soft)}
dialog{border:0;border-radius:18px;padding:0;width:min(440px,calc(100vw - 32px));box-shadow:0 30px 80px #0004}
dialog::backdrop{background:#1d241866}
dialog form{padding:22px;display:grid;gap:10px}
.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0;font-size:20px}
.dialog-note,.dialog-hint{margin:0;font-size:14px;color:var(--muted)}.dialog-hint{font-size:13px}
.dialog-or{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:13px;margin:4px 0}.dialog-or::before,.dialog-or::after{content:"";flex:1;height:1px;background:var(--line)}
dialog label{font-size:13px;font-weight:650;color:var(--muted)}dialog label span{font-weight:400}
dialog select,dialog input{width:100%;border:1px solid #d6dbcc;border-radius:10px;padding:11px 12px;background:#fff;font-size:15px}
.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--forest);color:#f3f7ec;padding:12px 18px;border-radius:10px;font-size:14px;z-index:60;max-width:92%;text-align:center;box-shadow:0 10px 30px #0003}
.faq{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:6px 22px}
.faq details{border-top:1px solid var(--line);padding:16px 0}.faq details:first-child{border-top:0}
.faq summary{font-weight:650;cursor:pointer}.faq p{color:var(--muted);margin:10px 0 0}

@media (max-width:1050px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero{grid-template-columns:1fr}.hero-card{display:none}
  .two-col{grid-template-columns:1fr}
  .header-link span:not(.count){display:none}
}
@media (max-width:760px){
  .header-inner{flex-wrap:wrap;padding:8px 16px;gap:8px 10px}
  .brand-name{font-size:19px}.brand-art{width:30px;height:40px}.brand-art img{width:65px;height:97px;left:-17px;top:-21px}
  .location-chip{margin-left:auto;padding:7px 10px;font-size:13px;max-width:150px}
  .header-nav{display:none}
  .search{order:3;flex-basis:100%}
  .search-go{padding:9px 12px}
  .check-status{padding:0 16px}
  main{padding:18px 16px 30px}
  .hero{padding:24px 18px;border-radius:18px}.hero h1{font-size:34px;letter-spacing:-1.2px}.hero-copy>p{font-size:16px}
  .hero-search{flex-direction:column}.hero-search .primary-button{width:100%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card-art{height:130px}.card-copy h3{font-size:14px}
  .qc-card{flex-direction:column;align-items:flex-start;padding:22px}
  .steps{grid-template-columns:1fr}
  .product-top{grid-template-columns:1fr;padding:16px;gap:14px}.product-image{min-height:180px}.product-image img{max-height:170px}
  .product-top h1{font-size:20px}.price-now{font-size:32px}
  .best-banner{flex-direction:column;align-items:stretch}.best-banner .buy-button{width:100%}
  .panel{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}
  .offers td{padding:12px 4px}.offers .amount{font-size:16px}
  .list-row{grid-template-columns:56px 1fr;}.list-row img{width:56px;height:56px}.list-price{grid-column:2;text-align:left}.list-actions{justify-content:flex-start}
  .cta-row .buy-button{flex:1}
  .bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:35;background:#fffefbf5;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);padding:6px;border-radius:10px;min-height:48px}
  .bottom-nav button.active{color:var(--brand)}
  .sticky-buy{bottom:64px}
  .toast{bottom:150px}
  .site-footer{padding:22px 16px 150px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.offers .amount.stale{color:var(--soft);font-weight:600}.offers .detail.fast{color:var(--good);font-weight:650}
.offer-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.offer-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 9px;font-size:13px}.offer-chip span{color:var(--muted)}.offer-chip:hover{border-color:var(--brand)}.offer-chip.best{border-color:#bfe0c4;background:var(--good-soft)}.offer-chip.best strong{color:var(--good)}.offer-chip.stale strong{color:var(--soft);font-weight:600}
.offer-chip em{font-style:normal;font-size:12px;color:var(--good);font-weight:650}

.mode-switch{display:flex;background:#eef0e7;border-radius:11px;padding:3px;flex-shrink:0}
.mode-switch button{font-size:13px;font-weight:650;padding:8px 12px;border-radius:9px;color:var(--muted);white-space:nowrap}
.mode-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0001}
.qc-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.qc-platforms{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.qc-location-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f3f5ed;color:var(--muted);font-size:13px}
.qc-location-prompt[hidden]{display:none}
.qc-location-prompt .secondary-button{flex-shrink:0}
@media (max-width:600px){.qc-location-prompt{align-items:flex-start;flex-direction:column}}
.platform-pill{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:#fff;font-size:12px;min-width:110px}
.platform-pill span{color:var(--soft)}.platform-pill.ok{border-color:#bfe0c4;background:var(--good-soft)}.platform-pill.ok span{color:var(--good)}
.qc-cart{position:sticky;top:150px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:12px}
.qc-cart-head{display:flex;justify-content:space-between;align-items:baseline}.qc-cart-head h2{margin:0;font-size:19px}
.qc-cart-head span{font-size:13px;color:var(--soft)}
.cart-line{display:grid;grid-template-columns:1fr 32px 26px 32px;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.cart-name{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.qty{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:700}
.cart-qty{text-align:center;font-weight:650}
.cart-platform{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:grid;gap:4px}
.cart-platform.cheapest{border-color:#9fd1a8;background:var(--good-soft)}
.cart-platform-head{display:flex;justify-content:space-between;align-items:baseline}.cart-total{font-size:18px;font-weight:800}
.tag-best{font-size:11px;font-weight:700;color:var(--good)}
.cart-meta{margin:0;font-size:13px;color:var(--muted)}.cart-missing{margin:0;font-size:12px;color:var(--bad)}
@media (max-width:1050px){.qc-layout{grid-template-columns:1fr}.qc-cart{position:static}}
@media (max-width:760px){.mode-switch{order:4;flex-basis:100%}.mode-switch button{flex:1}}

/* ------------------------------------------------------------------ four modes: shopping, groceries, food, dining */
.mode-bar{border-top:1px solid var(--line)}
.mode-bar-inner{max-width:1240px;margin:0 auto;padding:6px 24px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.mode-bar-inner::-webkit-scrollbar{display:none}
.mode-bar button{display:flex;align-items:center;gap:9px;padding:7px 14px 7px 10px;border-radius:12px;border:1px solid transparent;color:var(--muted);text-align:left;white-space:nowrap;flex-shrink:0}
.mode-bar button:hover{background:#f1f2ea}
.mode-bar button.active{background:var(--brand-soft);border-color:#f3c6db;color:var(--ink)}
.mode-emoji{font-size:20px;line-height:1}
.mode-text{display:flex;flex-direction:column;line-height:1.2}.mode-text strong{font-size:14px}.mode-text small{font-size:11.5px;color:var(--soft)}
.mode-bar button.active .mode-text strong{color:var(--brand)}
.local-modes{margin-top:34px}.local-modes .section-heading{align-items:flex-end}
.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mode-card{border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:6px;color:#f5f8ee;background:var(--forest)}
.mode-card.food{background:#7a2e1f}.mode-card.dining{background:#3a2f55}
.mode-card .eyebrow{color:#ffffffa8}.mode-card h3{font-size:19px;margin:6px 0 2px;letter-spacing:-.3px}.mode-card p{margin:0;color:#ffffffc4;font-size:14px;flex:1}
.mode-card .qc-icon{background:#ffffff1f;width:46px;height:46px;border-radius:13px}
.mode-card.food .qc-icon .icon{color:#ffb38a}.mode-card.dining .qc-icon .icon{color:#c9b8ff}
.mode-card .qc-apps span{background:#ffffff24}
.mode-card-go{margin-top:12px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ink);font-weight:650;font-size:14px;border-radius:10px;padding:9px 14px}
.mode-card-go .icon{width:16px;height:16px}
.sort-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.sort-row button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font-size:13px;color:var(--muted)}
.sort-row button.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);font-weight:650}
.platform-pill.link_only{border-style:dashed}.platform-pill a{color:var(--brand);font-weight:650}
.food-row{grid-template-columns:96px 1fr auto}.food-row img{width:96px;height:96px;object-fit:cover;padding:0}
.food-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted);margin:2px 0 6px}
.rating{display:inline-flex;align-items:center;gap:3px;background:var(--good);color:#fff;font-weight:700;font-size:12px;border-radius:6px;padding:2px 6px}
.rating .icon{width:11px;height:11px;fill:#fff;stroke:none}
.offer-tag{display:inline-block;background:#eaf3ff;color:#1f5fa8;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:650;margin:2px 4px 0 0}
.dish-list{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:10px;display:grid;gap:6px}
.dish-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}.dish-line span{color:var(--muted)}.dish-line .veg{color:var(--good)}.dish-line .nonveg{color:var(--bad)}
.food-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:280px}.food-actions>*{white-space:nowrap}
.link-button{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:650;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff}
.link-button .icon{width:14px;height:14px}
.dining-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}
.dining-search label{display:grid;gap:5px;font-size:13px;font-weight:650;color:var(--muted)}.dining-search em{font-weight:400;font-style:normal;color:var(--soft)}
.dining-search input{border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:15px;background:#fff;width:100%}
.venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.venue{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.venue>img{width:100%;height:150px;object-fit:cover;background:#f0f2ea}
.venue-body{padding:14px 16px 16px;display:grid;gap:8px;flex:1}
.venue h3{margin:0;font-size:17px}.venue-sub{font-size:13px;color:var(--muted);margin:0}
.venue-best{background:var(--good-soft);color:var(--good);border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:650}
.deal-table{display:grid;gap:6px}
.deal{display:grid;grid-template-columns:96px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-size:13px}
.deal.best{border-color:#bfe0c4;background:#f5fbf5}.deal strong{font-size:13px}.deal .deal-offer{color:var(--ink)}.deal .deal-none{color:var(--soft)}
.deal a{font-weight:700;color:var(--brand);white-space:nowrap}
.venue-links{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--soft);align-items:center}
.venue-links a{color:var(--muted);text-decoration:underline}
@media (max-width:1050px){.mode-cards{grid-template-columns:1fr}}
@media (max-width:760px){
  /* phones: all four modes visible at once, icon over a short label */
  .mode-bar-inner{padding:4px 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
  .mode-text small{display:none}.mode-bar button{flex-direction:column;gap:2px;padding:6px 2px;text-align:center;white-space:normal;justify-content:center}
  .mode-text strong{font-size:12px;line-height:1.15}.mode-emoji{font-size:18px}
  .dining-search{grid-template-columns:1fr}.food-row{grid-template-columns:72px 1fr}.food-row img{width:72px;height:72px}
  .food-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.food-actions .secondary-button{min-height:36px;padding:7px 10px}
  .venue-grid{grid-template-columns:1fr}.local-modes .section-heading{flex-direction:column;align-items:flex-start;gap:10px}
}

/* ------------------------------------------------------------------ food: dish comparison, menu and bills */
.dish-compare{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 14px}
.dish-compare-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dish-compare-head h2{margin:2px 0 0;font-size:18px}
.dish-table{display:grid;gap:6px;margin-top:12px}
.dish-row{display:grid;grid-template-columns:1.3fr 1.3fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.dish-row>div:first-child{display:grid}.dish-row.cheapest{border-color:#bfe0c4;background:#f5fbf5}.dish-row.cheapest .dish-price{color:var(--good)}
.back-link{margin:4px 0 6px;color:var(--brand);font-weight:650}
.menu-filter{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;background:#fff;margin-bottom:8px}
.food-menu{min-width:0}
.menu-line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 2px}
.menu-line strong{font-size:14.5px}.menu-line .footnote{margin:2px 0 0}.menu-line.sold-out{opacity:.55}
.menu-line .veg{color:var(--good)}.menu-line .nonveg{color:var(--bad)}
.menu-price{font-weight:700;white-space:nowrap}.menu-add{min-height:34px;padding:6px 12px}
.bill-rows{display:grid;gap:4px;margin:8px 0}
.bill-row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.bill-row.strong{font-weight:700;border-top:1px dashed var(--line);padding-top:4px}
.bill-row.muted span:last-child{color:var(--soft);font-style:italic}.bill-row.good span:last-child{color:var(--good);font-weight:650}
.cart-total.muted{color:var(--soft);font-weight:500}.bill.unavailable{border-style:dashed}
@media (max-width:760px){
  .dish-row{grid-template-columns:1fr auto}.dish-row>span{grid-column:1}.dish-act{grid-column:2;grid-row:1}
  .dish-compare-head{flex-direction:column;align-items:flex-start}
}
#food-view.restaurant-open>.view-head,#food-view.restaurant-open>#food-platforms,#food-view.restaurant-open>#food-form,#food-view.restaurant-open>#food-examples{display:none}
table.offers tr.sold-out .amount{color:var(--soft)}.detail.out-of-stock{color:var(--bad);font-weight:650}
.offer-chip.sold-out strong{color:var(--soft);text-decoration:line-through}.offer-chip em.oos{color:var(--bad)}

/* Picked for you */
.for-you .section-heading{align-items:flex-end}.for-you-controls{display:flex;gap:12px}
.for-you-sub{font-size:16px;margin:18px 0 4px}.for-you .footnote{margin:0 0 10px}
@media (max-width:760px){.for-you .section-heading{flex-direction:column;align-items:flex-start;gap:6px}}

/* Buckstra Scanner savings box (product page) */
.verdict.scanner-box{background:#fff4f9;color:#5a1f3c;border:1px solid #f3c6db}
.scanner-copy{flex:1;min-width:0}.scanner-copy>span{display:block;margin-top:6px}
.scanner-lines{display:grid;gap:4px;margin:8px 0 6px}
.scanner-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.scanner-line.locked span{filter:blur(5px);user-select:none}
.scanner-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed #f3c6db;padding-top:6px}
.scanner-total strong{font-size:20px;color:var(--brand)}
.scanner-lock{margin:8px 0 0}.scanner-login{min-height:36px;padding:7px 12px}
.verdict .scanner-hint{font-size:13.5px;font-weight:650;opacity:1}.verdict .scanner-fine{font-size:12px;opacity:.7}
.login-dialog .login-qr{display:grid;place-items:center;margin:12px auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;width:max-content}

/* Buckstra Scanner strip in search results */
.scanner-strip{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;padding:6px 10px;border-radius:10px;
  background:#fff4f9;border:1px solid #f3c6db;font-size:13px;color:#5a1f3c}
.scanner-tag{font-weight:700;color:var(--brand)}
.scanner-blur{filter:blur(4px);user-select:none}
.scanner-strip strong{color:var(--brand)}
.scanner-strip-login{font-size:13px;font-weight:650;color:var(--brand);padding:0}

/* Locality search uses explicit requests, with keyboard-accessible result buttons. */
.locality-search-row{display:flex;gap:8px;align-items:center}.locality-search-row input{min-width:0;flex:1}.locality-search-row button{flex-shrink:0}.locality-examples{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.locality-results{list-style:none;padding:0;margin:8px 0;max-height:240px;overflow:auto}.locality-result{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;margin:6px 0}.locality-result:hover,.locality-result:focus-visible{background:var(--pink-soft,#fff4f8);outline:2px solid var(--brand)}.locality-result small{color:var(--muted)}

#location-dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}#location-dialog .dialog-head{position:sticky;top:-22px;background:var(--card,#fff);z-index:1;padding:8px 0}.locality-result{min-height:48px;overflow-wrap:anywhere}
