/* ToozitCORE Ecomm storefront — lightweight, responsive, theme-neutral.
   Reskin later; this is a clean functional baseline. */
:root{--tce-ink:#1f2a37;--tce-muted:#6b7280;--tce-line:#e5e7eb;--tce-accent:#1F3A5F;--tce-accent2:#2c7a92;--tce-bg:#fff;--tce-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--tce-font-heading:var(--tce-font);}
*{box-sizing:border-box}
/* global safety net: no image or video ever overflows its container — scales on every device */
img,video{max-width:100%;height:auto}
body{font-family:var(--tce-font);color:var(--tce-ink)}
h1,h2,h3,h4,.tce-slide-in h2,.tce-band-h,.tce-page-title,.tce-logo{font-family:var(--tce-font-heading)}
.tce-wrap{max-width:1120px;margin:0 auto;padding:18px 16px 60px}
.tce-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:14px 16px;border-bottom:1px solid var(--tce-line);position:sticky;top:0;background:var(--tce-head-bg,var(--tce-bg));font-family:var(--tce-head-font,var(--tce-font));z-index:5}
.tce-head a.tce-logo{font-weight:800;font-size:1.15rem;color:var(--tce-head-fg,var(--tce-ink));font-family:var(--tce-head-font,var(--tce-font-heading));text-decoration:none;letter-spacing:-.02em}
.tce-head nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:2px 0}
.tce-head nav a{color:var(--tce-head-fg,var(--tce-ink));text-decoration:none;margin-left:18px;font-size:.95rem}
.tce-cartbtn{position:relative}
#tce-cart-count{position:absolute;top:-8px;right:-12px;background:var(--tce-accent2);color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;padding:1px 6px}
h1.tce-pd-title{font-size:1.5rem;margin:.1em 0 .3em}
.tce-empty{color:var(--tce-muted);padding:40px 0;font-size:1.05rem;text-align:center}
.tce-btn{display:inline-block;background:var(--tce-accent);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-size:.98rem;font-weight:700;cursor:pointer;text-decoration:none;margin-top:12px}
.tce-btn[disabled]{opacity:.45;cursor:not-allowed}
.tce-link{background:none;border:0;color:var(--tce-accent2);cursor:pointer;font-size:.9rem;padding:0}
.tce-msg{font-size:.9rem;margin-top:8px;color:var(--tce-accent2)}
.tce-warn,.tce-note,.tce-co-note{color:var(--tce-muted);font-size:.85rem}
.tce-warn{color:#b45309}
/* grid */
.tce-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
.tce-card{border:1px solid var(--tce-line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--tce-ink);background:var(--tce-bg);transition:box-shadow .15s,transform .15s}
.tce-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.tce-card-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tce-card-img img{width:100%;height:100%;object-fit:contain}
.tce-noimg{color:#b6bcc4;font-size:.85rem}.tce-noimg.tall{padding:60px 0}
.tce-card-b{padding:12px 13px}
.tce-brand{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tce-muted);font-weight:700}
.tce-title{font-weight:600;margin:2px 0 6px;line-height:1.25}
.tce-price{font-weight:800;color:var(--tce-ink)}
.tce-was{color:var(--tce-muted);text-decoration:line-through;font-weight:500;font-size:.85em}
.tce-opt{font-size:.75rem;color:var(--tce-accent2);margin-top:4px}
/* product detail */
.tce-pd{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:12px}
.tce-pd-media #tce-pd-img img{width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:12px;border:1px solid var(--tce-line)}
.tce-pd-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tce-pd-thumbs img{width:64px;height:64px;object-fit:cover;border:1px solid var(--tce-line);border-radius:6px;cursor:pointer}
.tce-pd-thumbs img:hover{border-color:var(--tce-accent)}
.tce-pd-price{font-size:1.5rem;font-weight:800;margin:.2em 0 .5em;color:var(--tce-accent)}
.tce-pd-desc{color:#374151;line-height:1.55;margin-bottom:16px}
.tce-opt-row,.tce-qty-row{margin:10px 0}
.tce-opt-row label,.tce-qty-row label{display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}
.tce-opt-sel,.tce-qty-row input{padding:9px 10px;border:1px solid var(--tce-line);border-radius:8px;font-size:.95rem;min-width:180px}
.tce-stock{font-size:.85rem;color:var(--tce-muted);margin:8px 0}
.tce-opt-chosen{font-weight:400;color:var(--tce-muted);font-size:.85rem}
/* swatches */
.tce-swatches{display:flex;flex-wrap:wrap;gap:8px}
.tce-swatch{padding:0;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer;line-height:0}
.tce-swatch span{display:block;width:34px;height:34px;border-radius:6px;border:1px solid rgba(0,0,0,.15);background-size:cover;background-position:center}
.tce-sw-color span{width:30px;height:30px;border-radius:50%}
.tce-swatch.on{border-color:var(--tce-accent)}
.tce-swatch:hover{border-color:var(--tce-accent2)}
.tce-radios{display:flex;flex-wrap:wrap;gap:8px}
.tce-radio{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tce-line);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:.9rem}
.tce-radio input{margin:0}
/* cart */
.tce-cart-t{width:100%;border-collapse:collapse;margin-top:10px}
.tce-cart-t th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tce-muted);border-bottom:1px solid var(--tce-line);padding:8px}
.tce-cart-t td{padding:12px 8px;border-bottom:1px solid var(--tce-line);vertical-align:middle}
.tce-ci{display:flex;gap:12px;align-items:center}
.tce-ci img{width:56px;height:56px;object-fit:cover;border-radius:6px}
.tce-ci-t{font-weight:600}.tce-ci-v{font-size:.82rem;color:var(--tce-muted)}
.tce-cart-foot{margin-top:18px;text-align:right}
.tce-sub{font-size:1.1rem}
/* checkout */
.tce-co{display:grid;grid-template-columns:1fr 1.2fr;gap:34px;margin-top:12px;align-items:start}
.tce-co-sum{border:1px solid var(--tce-line);border-radius:12px;padding:16px;background:#fafafa}
.tce-co-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.92rem}
.tce-co-line em{color:var(--tce-muted);font-style:normal;font-size:.85em}
.tce-co-sub{border-top:1px solid var(--tce-line);margin-top:6px;padding-top:10px;font-weight:800}
.tce-co-form h3{margin:18px 0 8px;font-size:1rem}
.tce-f{margin:8px 0}.tce-f label{display:block;font-size:.82rem;font-weight:600;margin-bottom:3px}
.tce-f input{width:100%;padding:9px 10px;border:1px solid var(--tce-line);border-radius:8px;font-size:.95rem}
.tce-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tce-pm{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--tce-line);border-radius:8px;padding:11px;margin:8px 0;cursor:pointer}
.tce-pm small{color:var(--tce-muted)}
/* confirmation */
.tce-conf{max-width:560px;margin:20px auto;text-align:center}
.tce-conf-check{width:64px;height:64px;border-radius:50%;background:#1a7f37;color:#fff;font-size:2rem;line-height:64px;margin:0 auto 12px}
.tce-conf-pay{border:1px solid var(--tce-line);border-radius:12px;padding:18px;margin:18px 0;text-align:left;background:#fafafa}
.tce-instr{white-space:pre-wrap;background:#fff;border:1px dashed var(--tce-line);border-radius:8px;padding:12px;font-size:.92rem}
/* hero + filters + footer */
.tce-hero{background:linear-gradient(135deg,var(--tce-accent),var(--tce-accent2));color:#fff;padding:44px 20px;text-align:center}
.tce-hero:empty{display:none}
.tce-hero h1{font-size:2rem;margin:0 0 8px}.tce-hero p{margin:0 auto;max-width:640px;opacity:.92;line-height:1.5}
.tce-shopbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;flex-wrap:wrap}
.tce-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tce-filters select{padding:8px 10px;border:1px solid var(--tce-line);border-radius:8px;font-size:.9rem;background:#fff}
.tce-facet{display:flex;align-items:center;gap:8px;border:1px solid var(--tce-line);border-radius:8px;padding:6px 10px;background:#fff;flex-wrap:wrap}
.tce-facet-name{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--tce-muted)}
.tce-facet-chk{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;cursor:pointer}
.tce-facet-chk input{margin:0}
.tce-foot{border-top:1px solid var(--tce-line);margin-top:40px;padding:24px 16px;text-align:center;color:var(--tce-muted);font-size:.85rem}
/* search + category nav + ratings + related + reviews + wishlist */
.tce-search{padding:9px 12px;border:1px solid var(--tce-line);border-radius:8px;font-size:.9rem;min-width:220px}
.tce-catnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.tce-chip{border:1px solid var(--tce-line);background:#fff;border-radius:16px;padding:6px 14px;font-size:.85rem;cursor:pointer;color:var(--tce-ink)}
.tce-chip.on{background:var(--tce-accent);color:#fff;border-color:var(--tce-accent)}
.tce-rating{margin:2px 0 6px}.tce-star{color:#d1d5db;font-size:1.05rem}.tce-star.on{color:#f5b301}
.tce-rc{color:var(--tce-muted);font-size:.85rem;margin-left:4px}
/* compact rating on product tiles */
.tce-card-rate{margin:2px 0 4px;line-height:1}.tce-card-rate .tce-star{font-size:.82rem}.tce-card-rate .tce-rc{font-size:.72rem;margin-left:3px}
/* source-brand line on the product page: "Brand ↗ · what they do" */
.tce-brandline{font-size:.85rem;margin:0 0 6px;color:var(--tce-muted)}
.tce-brandlink{font-weight:700;color:var(--tce-accent);text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.tce-brandlink:hover{text-decoration:underline}.tce-ext{font-weight:400;font-size:.72rem}
.tce-brandblurb{color:var(--tce-muted);font-weight:400;text-transform:none;letter-spacing:0}
/* availability labels (no unit counts) */
.tce-stk{display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:11px}
.tce-stk.in{background:#e7f6ec;color:#137a3b}.tce-stk.low{background:#fef3c7;color:#8a5a00}.tce-stk.out{background:#fee2e2;color:#b0202a}
/* brand / source page hero */
.tce-brandhero{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:18px 0 6px;border-bottom:1px solid var(--tce-line);margin-bottom:8px}
.tce-brandhero-logo{max-height:80px;max-width:160px;object-fit:contain}
.tce-brandhero-b h1{margin:0 0 4px;font-size:1.5rem}
.tce-brandhero-blurb{margin:0 0 8px;color:var(--tce-muted)}
.tce-brandhero-link{display:inline-block;font-weight:700;color:var(--tce-accent);text-decoration:none;font-size:.9rem}
.tce-brandhero-link:hover{text-decoration:underline}
/* checkout promo / totals */
.tce-co-promo{display:flex;gap:8px;margin:10px 0 2px}
.tce-co-promo input{flex:1;padding:9px 10px;border:1px solid var(--tce-line);border-radius:8px}
.tce-btn2{background:#eef1f4;color:var(--tce-accent);border:1px solid var(--tce-line);border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer;white-space:nowrap}
.tce-co-disc span:last-child{color:#137a3b;font-weight:700}
.tce-co-tot{border-top:1px solid var(--tce-line);margin-top:6px;padding-top:8px;font-weight:800;font-size:1.05rem}
.tce-ship-title{font-weight:700;margin:10px 0 4px;font-size:.9rem}
.tce-wish{background:#fff;border:1px solid var(--tce-line);border-radius:8px;padding:11px 16px;font-size:.95rem;cursor:pointer;color:var(--tce-ink);margin-top:12px}
.tce-wish.on{border-color:#e0245e;color:#e0245e}
.tce-sec-h{font-size:1.15rem;margin:28px 0 12px;border-top:1px solid var(--tce-line);padding-top:20px}
#tce-related,#tce-reviews{max-width:100%}
.tce-review{border:1px solid var(--tce-line);border-radius:10px;padding:12px 14px;margin:10px 0}
.tce-rev-top{font-size:.95rem}.tce-rev-meta{color:var(--tce-muted);font-size:.8rem;margin:3px 0 6px}.tce-rev-body{line-height:1.5}
.tce-rev-form{border:1px solid var(--tce-line);border-radius:10px;padding:14px;margin-top:16px;max-width:560px}
.tce-rev-form input,.tce-rev-form textarea,.tce-rev-form select{width:100%;padding:8px 10px;border:1px solid var(--tce-line);border-radius:8px;margin:5px 0;font-family:inherit;font-size:.92rem}
.tce-rev-row{display:flex;gap:8px}.tce-rev-row input{flex:1}.tce-rev-row select{width:130px}
/* ===== homepage page-builder sections ===== */
.tce-slider{position:relative;overflow:hidden}
.tce-slide{display:none;position:relative;text-align:center;color:#fff}
.tce-slide.on{display:block}
/* image slides: the WHOLE image, scaled to fit the width and never taller than the viewport — no cropping, auto-resizes on every device */
.tce-slide-img{display:block;width:auto;height:auto;max-width:100%;max-height:85vh;margin:0 auto}
/* text-only slides keep a gradient band */
.tce-slide.tce-noimg{background:linear-gradient(135deg,var(--tce-accent),var(--tce-accent2));min-height:340px}
.tce-slide.tce-noimg.on{display:flex;align-items:center;justify-content:center;padding:56px 20px}
.tce-slide-in{max-width:720px;margin:0 auto}
/* on image slides the heading/button overlay the bottom of the image */
.tce-slide.tce-has-img .tce-slide-in{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 34px;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.tce-slide-in h2{font-size:2.4rem;margin:0 0 12px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.tce-slide-in p{font-size:1.1rem;opacity:.95;margin:0 0 20px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.tce-slide-in .tce-btn{background:#fff;color:var(--tce-accent)}
.tce-slide-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:8px;justify-content:center}
.tce-dot{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer}.tce-dot.on{background:#fff}
.tce-slide-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.25);color:#fff;border:0;font-size:1.4rem;width:44px;height:44px;cursor:pointer}
.tce-slide-nav.prev{left:0}.tce-slide-nav.next{right:0}
.tce-band{padding:40px 0}
.tce-band-h{text-align:center;font-size:1.6rem;margin:0 0 22px}
.tce-rich{max-width:760px;margin:0 auto;text-align:center;line-height:1.6;color:#374151;white-space:pre-wrap}
.tce-paystrip{background:#111;color:#fff;padding:26px 0;text-align:center}
.tce-paystrip h3{margin:0 0 8px;font-size:1.2rem}
.tce-pays{letter-spacing:.06em;opacity:.85;font-size:.95rem;text-transform:uppercase}
.tce-badges{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center}
.tce-badges img{max-height:56px}
.tce-badge2{border:1px solid var(--tce-line);border-radius:20px;padding:8px 18px;font-weight:700;color:var(--tce-ink)}
.tce-cta{background:linear-gradient(135deg,var(--tce-accent2),var(--tce-accent));color:#fff;text-align:center;padding:50px 20px}
.tce-cta h2{font-size:1.8rem;margin:0 0 8px}.tce-cta p{opacity:.92;margin:0 0 18px}
.tce-cta .tce-btn{background:#fff;color:var(--tce-accent)}
.tce-footer-cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;text-align:left;margin-bottom:20px}
.tce-fcol h4{font-size:.95rem;margin:0 0 8px}
.tce-fcol a{display:block;color:var(--tce-muted);text-decoration:none;font-size:.88rem;padding:2px 0}
.tce-foot-legal{text-align:center}
.tce-page-title{font-size:1.8rem;margin:20px 0 16px}
.tce-page-body{line-height:1.65;color:#374151;max-width:760px}
.tce-page-body h2{font-size:1.3rem;margin:20px 0 8px}.tce-page-body p{margin:0 0 12px}
@media(max-width:760px){.tce-pd,.tce-co{grid-template-columns:1fr}.tce-hero h1{font-size:1.5rem}.tce-slide-in h2{font-size:1.6rem}}
