/* Deal Store — Amazon-inspired storefront (original CSS, no Amazon assets).
   WHITE theme is the default. Dark applies only with data-theme="dark" (shopper toggle, saved). */
:root, :root[data-theme="light"]{
  --navy:#131921; --navy2:#232f3e; --bg:#ffffff; --page:#eaeded; --card:#ffffff; --ink:#0f1111; --muted:#565959;
  --line:#d5d9d9; --search-btn:#8b5cf6; --search-btn-h:#7c3aed;
  --buy:#7c3aed; --buy-h:#6d28d9; --checkout:#c2410c; --checkout-h:#9a3412; --logo-accent:#c4b5fd;
  --price:#0f1111; --deal:#cc0c39; --link:#007185; --radius:8px;
  --hero-grad:#ffffff; --estimate-bg:#fef8e7; --estimate-line:#f5d97e; --field:#ffffff;
}
:root[data-theme="dark"]{
  --bg:#131314; --page:#131314; --card:#1e1e21; --ink:#f5f5f4; --muted:#a1a1aa;
  --line:#3f3f46; --hero-grad:#1e1e21; --estimate-bg:#2a2103; --estimate-line:#92600a; --field:#26262a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--page);color:var(--ink);line-height:1.45}
.wrap{max-width:1240px;margin:0 auto;padding:0 14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)} .small{font-size:.84rem} .center{text-align:center}
a{color:var(--link)}

.a-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:30}
.a-header-in{display:flex;align-items:center;gap:14px;max-width:1240px;margin:0 auto;padding:9px 14px}
.a-logo{color:#fff;text-decoration:none;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.a-logo span{color:var(--logo-accent)}
.a-search{flex:1;display:flex;border-radius:6px;overflow:hidden;background:#fff;min-width:0}
.a-search input{flex:1;border:none;padding:12px 14px;font-size:1rem;min-width:0;color:var(--ink)}
.a-search input:focus{outline:3px solid var(--checkout);outline-offset:-3px}
.a-search button{background:var(--search-btn);border:none;padding:0 20px;font-weight:700;cursor:pointer;font-size:.95rem}
.a-search button:hover{background:var(--search-btn-h)}
.a-cart{position:relative;background:none;border:1px solid transparent;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:8px 10px}
.a-cart-count{position:absolute;top:-2px;right:2px;background:var(--checkout);color:#fff;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:.8rem;padding:0 5px}
.a-nav{background:var(--navy2);display:flex;gap:4px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:0 14px}
.a-nav-link{background:none;border:none;color:#fff;text-decoration:none;padding:9px 11px;font-size:.9rem;cursor:pointer;border-radius:4px}
.a-nav-link:hover,.a-nav-link.is-active{outline:1px solid #fff}

.hero{background:linear-gradient(180deg,var(--hero-grad), var(--page));border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:26px 14px 30px;align-items:center}
.hero-media{position:relative;border-radius:12px;overflow:hidden;background:var(--card);border:1px solid var(--line);aspect-ratio:4/3}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.deal-badge{position:absolute;top:12px;left:12px;background:var(--deal);color:#fff;font-weight:700;border-radius:6px;padding:6px 11px;font-size:.85rem}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--deal);font-weight:700;margin:0 0 6px}
.hero-copy h1{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.15;margin:0 0 8px}
.hero-price{font-size:2rem;font-weight:400;margin:4px 0}
.hero-price sup{font-size:1rem;top:-.6em;position:relative}
.hero-desc{color:#333;margin:8px 0;max-width:36rem}
.hero-meta{color:var(--muted);font-size:.92rem}
.hero-cta{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 10px}
.hero-note{color:var(--muted);font-size:.88rem}
.hero-dots{display:flex;gap:7px;margin-top:12px}
.hero-dots button{width:34px;height:34px;border-radius:8px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--card)}
.hero-dots button[aria-current="true"]{border-color:var(--checkout)}
.hero-dots img{width:100%;height:100%;object-fit:cover;display:block}

.btn{border-radius:999px;padding:10px 20px;font-weight:600;border:1px solid #d5d9d9;cursor:pointer;font-size:.95rem;background:#fff;color:var(--ink)}
.btn-buy{background:var(--buy);border-color:#6d28d9;color:#fff}
.btn-buy:hover{background:var(--buy-h)}
.btn-checkout{background:var(--checkout);border-color:#9a3412;color:#fff}
.btn-checkout:hover{background:var(--checkout-h)}
.btn-secondary{background:var(--card);color:var(--ink)}
.btn-ghost{background:transparent}
.btn-block{display:block;width:100%;text-align:center;margin-top:8px}
.btn:disabled{opacity:.55;cursor:not-allowed}

.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.section-head h2{margin:0;font-size:1.55rem}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 16px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px;cursor:pointer;font-size:.9rem}
.chip[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.select select{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:.95rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;padding:0 0 14px}
.card-img{aspect-ratio:1/1;background:var(--field);display:grid;place-items:center;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;display:block}
.card-img .noimg{color:var(--muted);padding:20px;text-align:center}
.card-body{padding:10px 14px 0;display:flex;flex-direction:column;gap:3px;flex:1}
.card-title{font-size:.98rem;line-height:1.3}
.card-title button{background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.card-title button:hover{color:#c7511f;text-decoration:underline}
.card-deal{align-self:flex-start;background:var(--deal);color:#fff;border-radius:5px;padding:3px 8px;font-size:.76rem;font-weight:700}
.price{font-size:1.35rem}
.price sup{font-size:.8rem;position:relative;top:-.5em}
.meta{font-size:.85rem;color:var(--muted)}
.stock{color:#b12704;font-size:.88rem;margin:2px 0}
.sku{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0}
.card-actions{margin-top:auto;padding:12px 14px 0;display:grid;gap:7px}
.card-actions .btn{padding:9px 12px;font-size:.9rem}
.ship-free{color:#067d62;font-size:.86rem}
.empty{padding:30px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:var(--radius)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:20px 0}
.panel h3{margin-top:0}
.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
.calc label{display:grid;gap:5px;font-size:.9rem;font-weight:600}
.calc input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-weight:400;background:var(--field);color:var(--ink)}
.calc-result{margin-top:14px}
.calc-result:empty{display:none}
.estimate{background:var(--estimate-bg);border:1px solid var(--estimate-line);border-radius:8px;padding:14px}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.perks p{color:var(--muted);margin:5px 0 0}
.a-footer{background:var(--navy2);color:#fff;margin-top:30px}
.a-footer .wrap{padding:22px 14px 30px}
.a-footer .muted{color:#c7ced6}

.dialog{border:none;border-radius:12px;max-width:1020px;width:calc(100% - 24px);padding:0;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.dialog::backdrop{background:rgba(15,17,17,.6)}
.dialog-in{padding:20px;position:relative}
.dialog-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;z-index:2}
.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
.gallery-main{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card);aspect-ratio:1/1}
.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.gallery-thumbs button{width:58px;height:58px;border-radius:8px;overflow:hidden;border:2px solid var(--line);padding:0;background:var(--card);cursor:pointer}
.gallery-thumbs button[aria-current="true"]{border-color:var(--checkout)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.price-lg{font-size:1.9rem;margin:6px 0}
.desc{white-space:pre-wrap}
.buy-box{border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:14px}
.buy-price{font-size:1.3rem;margin:0}
.drawer-backdrop{position:fixed;inset:0;background:rgba(15,17,17,.5);z-index:40}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:var(--card);color:var(--ink);z-index:41;padding:18px;overflow:auto;box-shadow:-14px 0 36px rgba(0,0,0,.25)}
.drawer-head{display:flex;align-items:center;justify-content:space-between}
.cart-items{display:flex;flex-direction:column;gap:11px;margin:14px 0}
.cart-row{display:grid;grid-template-columns:64px 1fr auto;gap:10px;border:1px solid var(--line);border-radius:8px;padding:9px;align-items:center}
.cart-row img{width:64px;height:64px;object-fit:cover;border-radius:6px}
.cart-row .remove{background:none;border:none;color:var(--link);cursor:pointer}
.cart-total{display:flex;justify-content:space-between;font-size:1.05rem}
.dialog-checkout{max-width:1060px}
.checkout-title{margin-top:0}
.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.ship-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.ship-form label{display:grid;gap:4px;font-size:.9rem;font-weight:600}
.ship-form label:first-child,.ship-form label:nth-child(2){grid-column:1/-1}
.ship-form input,.ship-estimate input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-weight:400;background:var(--field);color:var(--ink)}
.ship-estimate{display:flex;gap:9px;flex-wrap:wrap;align-items:end}
.ship-estimate label{display:grid;gap:4px;font-size:.9rem;font-weight:600}
.stripe-box{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--field)}
.order-box{border:1px solid var(--line);border-radius:8px;padding:16px;height:fit-content;background:var(--card)}
.order-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #eee;font-size:.93rem}
.totals{margin:12px 0}
.totals>div{display:flex;justify-content:space-between;padding:5px 0}
.totals .grand{border-top:1px solid var(--line);font-weight:800;font-size:1.08rem;color:#b12704}
.totals dt{margin:0}.totals dd{margin:0}

@media (max-width:820px){
  .hero-in,.detail-grid,.checkout-grid{grid-template-columns:1fr}
  .a-header-in{flex-wrap:wrap}
  .a-search{order:3;flex-basis:100%}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .ship-form{grid-template-columns:1fr}
}
.theme-btn{background:none;border:1px solid rgba(255,255,255,.55);color:#fff;border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:600;white-space:nowrap}
.theme-btn:hover{border-color:#fff}
.sync-status{margin:6px 0 0;font-size:.86rem;color:var(--muted)}
.sync-status.is-live{color:#067d62;font-weight:600}
:root[data-theme="dark"] .dialog,:root[data-theme="dark"] .drawer{background:var(--card);color:var(--ink)}
:root[data-theme="dark"] .dialog-close{background:var(--card);color:var(--ink)}
:root[data-theme="dark"] .a-search input{background:#fff;color:#0f1111}
.checkout-page{padding:22px 0 10px}
.crumbs{margin:0 0 6px}
.crumbs a{font-weight:600;text-decoration:none}
.checkout-h{margin:0 0 8px;font-size:1.8rem}
.steps-bar{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 18px;flex-wrap:wrap}
.steps-bar li{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-size:.88rem;color:var(--muted)}
.steps-bar li.is-on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
.checkout-form h4{margin:20px 0 10px}
.ship-box{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--card)}
.ship-opt{display:flex;gap:9px;align-items:flex-start}
.field-error{color:#b12704;min-height:1.2em;margin:6px 0 0}
.result-box{max-width:640px;padding:30px 0 50px}
:root[data-theme="dark"] .steps-bar li.is-on{background:#fafafa;color:#131315;border-color:#fafafa}
.account-btn{background:#fff;border:1px solid transparent;color:var(--navy);border-radius:6px;padding:8px 13px;cursor:pointer;font-weight:700;white-space:nowrap}
.account-btn:hover{outline:1px solid #fff}
.dialog-auth{max-width:480px}
.auth-tabs{display:flex;gap:8px;margin-bottom:14px}
.auth-tabs button{flex:1;border-radius:999px;padding:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-weight:700}
.auth-tabs button.is-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.auth-form{display:grid;gap:11px}
.auth-form label{display:grid;gap:4px;font-size:.92rem;font-weight:600}
.auth-form input{padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-weight:400;background:var(--field);color:var(--ink)}
label.check{display:flex !important;gap:9px;align-items:flex-start;font-weight:400 !important}
label.check input{width:auto;margin-top:3px}
.account-offer{border:1px dashed var(--line);border-radius:var(--radius);padding:13px 14px;margin-top:16px}
.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.status-badge{border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;color:#111}

.card-img{cursor:pointer}
.card-img:hover img{transform:scale(1.03)}
.card-img img{transition:transform .25s ease}
.card-img::after{content:"View details";position:absolute;right:10px;bottom:10px;background:rgba(30,27,75,.88);color:#fff;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;opacity:0;transition:opacity .2s}
.card-img:hover::after,.card-img:focus-visible::after{opacity:1}
.hero-media{cursor:pointer}

.card-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.card-cond{background:#fff;color:#374151;border:1.5px solid #374151;border-radius:5px;padding:2px 8px;font-size:.76rem;font-weight:700}
[data-theme="dark"] .card-cond{background:#1f2937;color:#f9fafb;border-color:#f9fafb}
.cond-badge{top:12px;background:#374151}
