/* Deal Supplies — shared shell ("Electric Retail" brand kit, see REVAMP-NOTES.md).
   Header/footer/cart classes are ds-* prefixed so they can live inside index.html next to its own CSS. */
:root{
  --ds-ink:#0B1020;--ds-cobalt:#2039E6;--ds-cobalt-2:#1226B0;--ds-lime:#C6F24E;--ds-cloud:#F5F7FB;
  --ds-cream:#EAEEF6;--ds-card:#FFFFFF;--ds-line:#DCE1EC;--ds-slate:#5A6478;--ds-ok:#12805C;--ds-warn:#B42318;
  --ds-radius:18px;--ds-shadow:0 18px 50px -18px rgba(11,16,32,.22);
  --ds-sans:'Inter',system-ui,-apple-system,sans-serif;--ds-head:'Space Grotesk','Inter',sans-serif;
}
.ds-page{margin:0;font-family:var(--ds-sans);background:var(--ds-cloud);color:var(--ds-ink);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;}
.ds-page *,.ds-page *::before,.ds-page *::after{box-sizing:border-box;}
.ds-page img{max-width:100%;}
.ds-page a{color:inherit;}
.ds-wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
@media(max-width:600px){.ds-wrap{padding:0 16px;}}
.ds-skip{position:absolute;left:-999px;top:0;background:var(--ds-ink);color:#fff;padding:10px 14px;z-index:200;}
.ds-skip:focus{left:8px;top:8px;}

/* ---------- announcement ---------- */
.ds-ann{background:var(--ds-ink);color:#E7EBF5;font-size:12.5px;letter-spacing:.02em;text-align:center;padding:8px 16px;}
.ds-ann a{color:var(--ds-lime);text-decoration:none;font-weight:600;}

/* ---------- header ---------- */
.ds-hdr{position:sticky;top:0;z-index:90;background:rgba(245,247,251,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--ds-line);font-family:var(--ds-sans);}
.ds-hdr .ds-bar{display:flex;align-items:center;gap:22px;height:72px;}
.ds-logo{display:flex;align-items:center;flex-shrink:0;}
.ds-logo img{height:34px;width:auto;display:block;}
.ds-nav{display:flex;gap:20px;align-items:center;}
.ds-nav a{font-size:14px;font-weight:600;color:var(--ds-ink);opacity:.74;text-decoration:none;transition:.2s;white-space:nowrap;}
.ds-nav a:hover,.ds-nav a[aria-current="page"]{opacity:1;color:var(--ds-cobalt);}
.ds-sp{flex:1;}
.ds-icons{display:flex;align-items:center;gap:6px;}
.ds-ic{position:relative;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:transparent;border:0;color:var(--ds-ink);cursor:pointer;font-size:17px;text-decoration:none;transition:.2s;}
.ds-ic:hover{background:var(--ds-cream);color:var(--ds-cobalt);}
.ds-ic.cart{background:var(--ds-ink);color:#fff;}
.ds-ic.cart:hover{background:var(--ds-cobalt);color:#fff;}
.ds-count{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ds-lime);color:var(--ds-ink);font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid var(--ds-cloud);}
.ds-search{display:none;border-top:1px solid var(--ds-line);background:#fff;}
.ds-search.open{display:block;}
.ds-search form{display:flex;gap:10px;padding:12px 0;}
.ds-search input{flex:1;min-width:0;border:1px solid var(--ds-line);border-radius:999px;padding:12px 18px;font:500 15px var(--ds-sans);color:var(--ds-ink);background:var(--ds-cloud);}
.ds-search input:focus{outline:2px solid var(--ds-cobalt);outline-offset:1px;}
.ds-burger{display:none;}
.ds-mnav{display:none;}
@media(max-width:1080px){
  .ds-nav{display:none;}
  .ds-burger{display:grid;}
  .ds-mnav.open{display:block;border-top:1px solid var(--ds-line);background:#fff;}
  .ds-mnav nav{display:flex;flex-direction:column;padding:8px 0 14px;}
  .ds-mnav a{padding:12px 4px;font-weight:600;font-size:15px;color:var(--ds-ink);text-decoration:none;border-bottom:1px solid var(--ds-cloud);}
}
@media(max-width:600px){.ds-hdr .ds-bar{gap:10px;height:64px;}.ds-logo img{height:30px;}.ds-ic{width:40px;height:40px;}}

/* ---------- buttons ---------- */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:999px;font:700 14.5px var(--ds-sans);cursor:pointer;border:0;text-decoration:none;transition:.2s;line-height:1.1;}
.ds-btn.primary{background:var(--ds-cobalt);color:#fff;} .ds-btn.primary:hover{background:var(--ds-cobalt-2);}
.ds-btn.dark{background:var(--ds-ink);color:#fff;} .ds-btn.dark:hover{background:var(--ds-cobalt);}
.ds-btn.ghost{background:transparent;color:var(--ds-ink);border:1.5px solid var(--ds-line);} .ds-btn.ghost:hover{border-color:var(--ds-cobalt);color:var(--ds-cobalt);}
.ds-btn[disabled]{opacity:.45;cursor:not-allowed;}
.ds-btn.block{width:100%;}

/* ---------- section heads ---------- */
.ds-kicker{font:700 12px var(--ds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ds-cobalt);margin-bottom:10px;}
.ds-h1{font:700 clamp(28px,4.2vw,46px)/1.06 var(--ds-head);letter-spacing:-.02em;margin:0 0 12px;}
.ds-h2{font:700 clamp(24px,3vw,34px)/1.1 var(--ds-head);letter-spacing:-.015em;margin:0 0 10px;}
.ds-lead{color:var(--ds-slate);font-size:16px;max-width:720px;margin:0;}
.ds-crumbs{font-size:13px;color:var(--ds-slate);padding:18px 0 0;display:flex;flex-wrap:wrap;gap:6px;}
.ds-crumbs a{text-decoration:none;color:var(--ds-slate);} .ds-crumbs a:hover{color:var(--ds-cobalt);}
.ds-main{padding:26px 0 72px;min-height:50vh;}

/* ---------- product grid / cards ---------- */
.ds-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 18px;font-size:13.5px;color:var(--ds-slate);font-weight:600;}
.ds-toolbar select{border:1px solid var(--ds-line);border-radius:999px;padding:9px 14px;font:600 13.5px var(--ds-sans);background:#fff;color:var(--ds-ink);}
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
@media(max-width:600px){.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}
.ds-card{position:relative;background:var(--ds-card);border:1px solid var(--ds-line);border-radius:var(--ds-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;text-decoration:none;color:var(--ds-ink);}
.ds-card:hover{transform:translateY(-3px);box-shadow:var(--ds-shadow);}
.ds-card .imw{position:relative;}
.ds-card .im{position:relative;aspect-ratio:1/1;background:#fff;display:grid;place-items:center;overflow:hidden;}
.ds-card a{text-decoration:none;color:inherit;}
.ds-card .im img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .5s;}
.ds-card:hover .im img{transform:scale(1.05);}
.ds-card .bd{padding:12px 14px 16px;display:flex;text-decoration:none;color:inherit;flex-direction:column;gap:4px;flex:1;}
.ds-card .vd{font-size:11.5px;color:var(--ds-slate);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.ds-card .tt{font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ds-card .pr{margin-top:auto;padding-top:6px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
.ds-price{font:700 17px var(--ds-head);}
.ds-compare{color:var(--ds-slate);text-decoration:line-through;font-size:13px;}
.ds-badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--ds-ink);color:var(--ds-lime);font:800 11px var(--ds-sans);padding:5px 9px;border-radius:999px;letter-spacing:.03em;}
.ds-badge.out{background:#fff;color:var(--ds-ink);border:1px solid var(--ds-line);}
.ds-add{position:absolute;right:10px;bottom:10px;z-index:3;width:38px;height:38px;border-radius:999px;border:0;background:var(--ds-cobalt);color:#fff;font-size:15px;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px -8px rgba(32,57,230,.7);opacity:0;transform:translateY(6px);transition:.2s;}
.ds-card:hover .ds-add,.ds-add:focus{opacity:1;transform:none;}
@media(hover:none){.ds-add{opacity:1;transform:none;}}
.ds-add.added{background:var(--ds-lime);color:var(--ds-ink);width:auto;padding:0 12px;font-weight:800;font-size:12.5px;}

/* ---------- product page ---------- */
.ds-pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:start;margin-top:18px;}
@media(max-width:900px){.ds-pdp{grid-template-columns:minmax(0,1fr);gap:22px;}}
.ds-gal .main{background:#fff;border:1px solid var(--ds-line);border-radius:22px;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;}
.ds-gal .main img{width:100%;height:100%;object-fit:contain;padding:24px;}
.ds-gal .thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;}
.ds-gal .thumbs button{flex:0 0 72px;height:72px;border-radius:12px;border:1.5px solid var(--ds-line);background:#fff;padding:4px;cursor:pointer;}
.ds-gal .thumbs button[aria-current="true"]{border-color:var(--ds-cobalt);}
.ds-gal .thumbs img{width:100%;height:100%;object-fit:contain;}
.ds-info .vd{font:700 12px var(--ds-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ds-cobalt);}
.ds-info h1{font:700 clamp(24px,3vw,34px)/1.12 var(--ds-head);letter-spacing:-.015em;margin:8px 0 14px;}
.ds-info .prow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.ds-info .prow .ds-price{font-size:30px;}
.ds-stock{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;margin:6px 0 18px;}
.ds-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ds-ok);}
.ds-stock.out{color:var(--ds-warn);} .ds-stock.out::before{background:var(--ds-warn);}
.ds-opt{margin:0 0 16px;border:0;padding:0;}
.ds-opt legend{font-size:13px;font-weight:700;margin-bottom:8px;padding:0;}
.ds-opt .vals{display:flex;flex-wrap:wrap;gap:8px;}
.ds-opt label{position:relative;}
.ds-opt input{position:absolute;opacity:0;pointer-events:none;}
.ds-opt span{display:inline-block;padding:9px 14px;border:1.5px solid var(--ds-line);border-radius:999px;font-size:13.5px;font-weight:600;cursor:pointer;background:#fff;}
.ds-opt input:checked+span{border-color:var(--ds-cobalt);color:var(--ds-cobalt);box-shadow:0 0 0 3px rgba(32,57,230,.12);}
.ds-opt input:focus-visible+span{outline:2px solid var(--ds-cobalt);outline-offset:2px;}
.ds-opt span.na{opacity:.45;text-decoration:line-through;}
.ds-qty{display:inline-flex;align-items:center;border:1.5px solid var(--ds-line);border-radius:999px;background:#fff;}
.ds-qty button{width:40px;height:44px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--ds-ink);}
.ds-qty input{width:44px;text-align:center;border:0;font:700 15px var(--ds-sans);background:none;color:var(--ds-ink);}
.ds-buy{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:6px 0 10px;}
.ds-buy .full{grid-column:1/-1;}
.ds-trustlist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;font-size:13.5px;color:var(--ds-slate);}
.ds-trustlist li{display:flex;gap:10px;align-items:flex-start;}
.ds-trustlist i{color:var(--ds-cobalt);width:18px;text-align:center;margin-top:3px;}
.ds-trustlist a{color:var(--ds-cobalt);font-weight:600;text-decoration:none;}
.ds-seller{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--ds-line);border-radius:14px;padding:12px 14px;margin:16px 0 0;font-size:13.5px;text-decoration:none;color:var(--ds-ink);}
.ds-seller b{font-family:var(--ds-head);}
.ds-seller .pct{background:var(--ds-ink);color:var(--ds-lime);font:800 13px var(--ds-sans);border-radius:10px;padding:8px 10px;}
.ds-desc{margin-top:48px;background:#fff;border:1px solid var(--ds-line);border-radius:22px;padding:30px clamp(18px,4vw,40px);}
.ds-desc h2{font:700 22px var(--ds-head);margin:0 0 14px;}
.ds-rte{font-size:15px;color:#2B3245;overflow-wrap:anywhere;}
.ds-rte p,.ds-rte ul,.ds-rte ol,.ds-rte table{margin:0 0 12px;}
.ds-rte ul,.ds-rte ol{padding-left:22px;}
.ds-rte img{height:auto;border-radius:10px;}
.ds-rte table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;}
.ds-rte td,.ds-rte th{border:1px solid var(--ds-line);padding:6px 10px;font-size:13.5px;}
.ds-rte h3,.ds-rte h4{font-family:var(--ds-head);margin:18px 0 8px;}
.ds-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.96);border-top:1px solid var(--ds-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;gap:12px;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.ds-sticky .ds-price{font-size:18px;}
@media(max-width:900px){.ds-sticky.show{display:flex;}}

/* ---------- reviews ---------- */
.ds-rev-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:22px 0 26px;}
.ds-stat{background:var(--ds-ink);color:#fff;border-radius:18px;padding:18px 18px 16px;}
.ds-stat b{display:block;font:700 28px var(--ds-head);color:var(--ds-lime);}
.ds-stat span{font-size:12.5px;color:#C9D0E0;font-weight:600;letter-spacing:.02em;}
.ds-rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
@media(max-width:600px){.ds-rev-grid{grid-template-columns:1fr;}}
.ds-rev{background:#fff;border:1px solid var(--ds-line);border-radius:18px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;}
.ds-rev .top{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ds-slate);font-weight:600;flex-wrap:wrap;}
.ds-rev .rt{display:inline-flex;align-items:center;gap:6px;color:var(--ds-ok);font-weight:800;}
.ds-rev .rt.neutral{color:var(--ds-slate);}
.ds-rev blockquote{margin:0;font-size:15px;line-height:1.5;color:var(--ds-ink);}
.ds-rev .item{font-size:12.5px;color:var(--ds-slate);}
.ds-rev .item a{color:var(--ds-cobalt);text-decoration:none;}
.ds-rev .reply{font-size:13px;background:var(--ds-cloud);border-radius:12px;padding:10px 12px;color:#2B3245;}
.ds-rev .ver{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-cobalt);}
.ds-note{font-size:12.5px;color:var(--ds-slate);margin-top:18px;}

/* ---------- info pages (policies, contact) ---------- */
.ds-doc{max-width:860px;}
.ds-doc .ds-rte{background:#fff;border:1px solid var(--ds-line);border-radius:22px;padding:28px clamp(18px,4vw,40px);margin-top:18px;}
.ds-doc .meta{font-size:13px;color:var(--ds-slate);}
.ds-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:22px;}
.ds-ccard{background:#fff;border:1px solid var(--ds-line);border-radius:18px;padding:20px;}
.ds-ccard h3{font:700 17px var(--ds-head);margin:10px 0 6px;}
.ds-ccard p{margin:0 0 8px;font-size:14px;color:#2B3245;}
.ds-ccard a{color:var(--ds-cobalt);font-weight:700;text-decoration:none;overflow-wrap:anywhere;}
.ds-ccard .ic{width:40px;height:40px;border-radius:12px;background:var(--ds-ink);color:var(--ds-lime);display:grid;place-items:center;}

/* ---------- collections index ---------- */
.ds-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:22px;}
@media(max-width:600px){.ds-cgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}
.ds-coll{background:#fff;border:1px solid var(--ds-line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ds-ink);transition:.25s;display:flex;flex-direction:column;}
.ds-coll:hover{transform:translateY(-3px);box-shadow:var(--ds-shadow);}
.ds-coll .im{aspect-ratio:4/3;display:grid;place-items:center;background:#fff;}
.ds-coll .im img{width:100%;height:100%;object-fit:contain;padding:14px;}
.ds-coll .bd{padding:12px 14px 14px;border-top:1px solid var(--ds-line);}
.ds-coll h3{font:700 15px var(--ds-head);margin:0 0 2px;}
.ds-coll span{font-size:12.5px;color:var(--ds-slate);font-weight:600;}

/* ---------- cart drawer (shared by generated pages) ---------- */
.ds-ov{position:fixed;inset:0;background:rgba(11,16,32,.45);opacity:0;pointer-events:none;transition:.25s;z-index:120;}
.ds-ov.open{opacity:1;pointer-events:auto;}
.ds-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#fff;z-index:130;transform:translateX(100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s;display:flex;flex-direction:column;font-family:var(--ds-sans);color:var(--ds-ink);}
.ds-drawer.open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.7,.2,1);}
#cartPage.ds-drawer{visibility:visible;}
.ds-drawer .hd{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--ds-line);}
.ds-drawer .hd h3{font:700 19px var(--ds-head);margin:0;}
.ds-drawer .x{border:0;background:var(--ds-cloud);width:38px;height:38px;border-radius:999px;cursor:pointer;font-size:16px;}
.ds-lines{flex:1;overflow-y:auto;padding:8px 20px;}
.ds-line{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--ds-cloud);}
.ds-line img{width:64px;height:64px;object-fit:contain;border:1px solid var(--ds-line);border-radius:10px;background:#fff;}
.ds-line .t{font-size:13.5px;font-weight:600;line-height:1.3;}
.ds-line .v{font-size:12px;color:var(--ds-slate);}
.ds-line .r{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px;}
.ds-line .ds-qty button{width:32px;height:34px;font-size:16px;} .ds-line .ds-qty span{min-width:22px;text-align:center;font-weight:700;font-size:14px;}
.ds-line .rm{border:0;background:none;color:var(--ds-slate);font-size:12.5px;text-decoration:underline;cursor:pointer;}
.ds-drawer .ft{padding:16px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--ds-line);}
.ds-drawer .sub{display:flex;justify-content:space-between;font-weight:800;font-size:16px;margin-bottom:4px;}
.ds-drawer .fine{font-size:12px;color:var(--ds-slate);margin:4px 0 12px;}
.ds-empty{padding:40px 6px;text-align:center;color:var(--ds-slate);font-size:14px;}
.ds-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ds-ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:600;opacity:0;transition:.25s;z-index:150;pointer-events:none;}
.ds-toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- footer ---------- */
.ds-ftr{background:var(--ds-ink);color:#C9D0E0;font-family:var(--ds-sans);padding:56px 0 26px;margin-top:0;}
.ds-ftr a{color:#E7EBF5;text-decoration:none;} .ds-ftr a:hover{color:var(--ds-lime);}
.ds-ftr .top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px;}
@media(max-width:900px){.ds-ftr .top{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.ds-ftr .top{grid-template-columns:1fr;gap:26px;}}
.ds-ftr .brand img{height:38px;width:auto;background:#fff;border-radius:10px;padding:6px 10px;}
.ds-ftr .brand p{font-size:13.5px;margin:14px 0 0;max-width:340px;}
.ds-ftr h5{font:700 12px var(--ds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ds-lime);margin:0 0 12px;}
.ds-ftr .col{display:flex;flex-direction:column;gap:9px;font-size:14px;}
.ds-ftr .contact{font-size:13.5px;line-height:1.55;}
.ds-news{margin-top:34px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:18px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.ds-news b{font:700 18px var(--ds-head);color:#fff;}
.ds-news form{display:flex;gap:8px;flex:1;min-width:260px;max-width:480px;}
.ds-news input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:12px 16px;font:500 14px var(--ds-sans);}
.ds-news input::placeholder{color:#8F98AE;}
.ds-pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px;}
.ds-pay span{font-size:11.5px;font-weight:700;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:4px 8px;color:#DCE1EC;}
.ds-ftr .bot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;}
