/* soroush-pages.css — home, shop, pdp, cart, checkout, modals */

/* ════ HERO A ════ */
.heroA{background:
  radial-gradient(120% 90% at 88% 10%,color-mix(in srgb,var(--brand-mid) 55%,transparent) 0%,transparent 50%),
  linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 100%);color:#fff;overflow:hidden;}
.heroA-in{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;min-height:460px;padding-top:30px;padding-bottom:30px;}
.heroA-kicker{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  padding:7px 16px;border-radius:99px;font-size:12.5px;font-weight:600;margin-bottom:22px;}
.heroA-copy h1{font-size:calc(64px * var(--head-scale));font-weight:900;line-height:1.05;letter-spacing:-.02em;}
.heroA-copy h1 span{color:var(--accent);position:relative;}
.heroA-copy p{font-size:17px;color:#d6e8e0;margin:20px 0 30px;max-width:380px;line-height:1.9;}
.heroA-cta{display:flex;gap:12px;flex-wrap:wrap;}
.heroA-cta .btn-solid{background:#fff;color:var(--brand-deep);box-shadow:0 8px 24px rgba(0,0,0,.18);}
.heroA-cta .btn-solid:hover{background:var(--accent);color:var(--brand-deep);}
.heroA-cta .btn-line{border-color:rgba(255,255,255,.4);color:#fff;}
.heroA-cta .btn-line:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;}
.heroA-trust{display:flex;gap:24px;margin-top:34px;}
.heroA-trust span{font-size:13px;color:#bcd6cb;}
.heroA-trust b{color:#fff;font-weight:800;}
.heroA-stage{position:relative;display:grid;place-items:center;min-height:420px;}
.heroA-frame{position:relative;width:330px;height:380px;border:2px solid var(--accent);border-radius:24px;
  display:grid;place-items:center;background:rgba(255,255,255,.05);backdrop-filter:blur(2px);}
.heroA-frame-glow{position:absolute;width:240px;height:240px;border-radius:99px;
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);}
.heroA-frame-tag{position:absolute;bottom:18px;font-family:ui-monospace,monospace;letter-spacing:.22em;
  font-size:13px;color:var(--accent);}
.heroA-chip{position:absolute;background:#fff;border-radius:20px;padding:14px;box-shadow:var(--shadow-lg);
  display:grid;place-items:center;animation:floaty 5s ease-in-out infinite;}
.heroA-chip-1{top:8%;left:2%;}
.heroA-chip-2{bottom:10%;right:0;animation-delay:-2.5s;}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ════ SUGGEST / RAILS ════ */
.home>section{padding:calc(54px * var(--pad)) 0;}
.home>section.suggest{padding-top:calc(58px * var(--pad));}
.suggest.tight{padding-top:46px;}
.rail-wrap{position:relative;}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 12px;
  scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.rail-item{flex:0 0 246px;scroll-snap-align:start;}
.rail-nav{position:absolute;top:42%;z-index:5;width:42px;height:42px;border-radius:99px;background:#fff;
  box-shadow:var(--shadow-md);display:grid;place-items:center;color:var(--ink);transition:.16s;border:1px solid var(--line);}
.rail-nav:hover{background:var(--brand);color:#fff;}
.rail-nav.prev{right:-14px;}
.rail-nav.next{left:-14px;}

/* mosaic */
.mosaic-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:18px;}
.mosaic-grid .cat-tile{grid-row:span 1;}
.mosaic-grid .cat-tile.tall{grid-row:span 2;}

/* price filter */
.pricefilter{background:var(--surface);}
.pricefilter-in{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px;}
.pricefilter-art{position:relative;display:grid;place-items:center;min-height:280px;}
.pf-disc{position:absolute;width:260px;height:260px;border-radius:99px;background:var(--brand-soft);}
.pf-watch{position:relative;}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.pf-band{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;
  border:1.5px solid var(--line);border-radius:13px;padding:16px 18px;font-size:15px;font-weight:700;
  color:var(--ink);transition:.16s;}
.pf-band:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);transform:translateX(-3px);}
.pf-band svg{color:var(--brand);}

/* brands */
.brands-sec{background:#fff;}
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.brand-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:18px 10px;
  transition:.16s;min-height:78px;}
.brand-chip:hover{border-color:var(--brand);background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.brand-en{font-family:'Vazirmatn',ui-monospace,sans-serif;font-weight:800;font-size:14px;color:var(--ink);letter-spacing:.02em;}
.brand-fa{font-size:11px;color:var(--muted);}
.brand-chip:hover .brand-en{color:var(--brand);}

/* about */
.about-block{background:var(--brand-deep);color:#cfe0d8;}
.about-in{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;}
.about-txt h2{color:#fff;font-size:calc(30px * var(--head-scale));margin-bottom:16px;}
.about-txt p{font-size:14px;line-height:2.05;color:#a9c4ba;margin-bottom:14px;}
.about-txt .btn-ghost{background:rgba(255,255,255,.12);color:#fff;margin-top:8px;}
.about-txt .btn-ghost:hover{background:var(--accent);color:var(--brand-deep);}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.about-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;
  padding:24px 18px;text-align:center;}
.about-stat b{display:block;font-size:34px;font-weight:900;color:#fff;letter-spacing:-.02em;}
.about-stat i{font-style:normal;font-size:13px;color:var(--accent);}

/* ════ HERO B ════ */
.heroB{background:#fff;border-bottom:1px solid var(--line);overflow:hidden;}
.heroB-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:54px 24px;}
.heroB-idx{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.12em;color:var(--brand-mid);font-weight:600;}
.heroB-left h1{font-size:calc(72px * var(--head-scale));font-weight:900;line-height:1.04;letter-spacing:-.03em;margin:18px 0 22px;}
.heroB-left h1 em{font-style:normal;color:var(--brand);position:relative;}
.heroB-left h1 em::after{content:'';position:absolute;right:0;left:0;bottom:6px;height:10px;background:var(--brand-soft);z-index:-1;}
.heroB-left p{font-size:17px;color:var(--muted);max-width:420px;line-height:2;margin-bottom:30px;}
.heroB-right{position:relative;}
.heroB-right .photo-slot{height:480px;}
.heroB-float{position:absolute;bottom:-26px;right:-26px;background:#fff;border-radius:20px;padding:18px;
  box-shadow:var(--shadow-lg);animation:floaty 5s ease-in-out infinite;}
.heroB-price{position:absolute;top:24px;left:24px;background:var(--brand-deep);color:#fff;
  font-weight:700;font-size:13px;padding:9px 16px;border-radius:99px;}
.heroB-marquee{background:var(--brand-deep);color:rgba(255,255,255,.9);overflow:hidden;padding:14px 0;}
.heroB-track{display:flex;white-space:nowrap;animation:marquee 30s linear infinite;font-family:ui-monospace,monospace;
  font-size:14px;letter-spacing:.1em;}
.heroB-track span{padding-left:0;}
@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* cat index list */
.catindex{padding:calc(56px * var(--pad)) 0;}
.catindex-in{display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:center;}
.catindex-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:18px;width:100%;
  padding:20px 14px;border-bottom:1px solid var(--line);transition:.18s;text-align:right;}
.catindex-row:hover,.catindex-row.hot{background:var(--surface);padding-right:22px;}
.catindex-no{font-family:ui-monospace,monospace;font-size:14px;color:var(--brand-mid);font-weight:700;}
.catindex-fa{font-size:26px;font-weight:800;color:var(--ink);}
.catindex-row.hot .catindex-fa{color:var(--brand);}
.catindex-en{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:var(--muted2);text-transform:uppercase;}
.catindex-arr{color:var(--brand);opacity:0;transform:translateX(8px);transition:.18s;}
.catindex-row:hover .catindex-arr,.catindex-row.hot .catindex-arr{opacity:1;transform:none;}
.catindex-preview{position:relative;}
.catindex-preview .photo-slot{height:440px;}
.catindex-cap{position:absolute;inset:auto 18px 18px 18px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-radius:14px;padding:14px 18px;}
.catindex-cap span{font-size:13px;color:var(--muted);}
.catindex-cap b{display:block;font-family:ui-monospace,monospace;font-size:13px;color:var(--brand);}

/* feature band */
.featband{background:linear-gradient(120deg,var(--brand-deep),var(--brand));color:#fff;overflow:hidden;}
.featband-in{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:0 24px;min-height:380px;}
.featband-kicker{color:var(--accent);font-weight:700;font-size:13px;}
.featband-copy h2{font-size:calc(40px * var(--head-scale));font-weight:900;margin:14px 0 16px;line-height:1.1;}
.featband-copy p{font-size:16px;color:#cfe0d8;max-width:400px;line-height:1.9;margin-bottom:26px;}
.featband-art{position:relative;display:grid;place-items:center;min-height:360px;}
.featband-watch{position:relative;z-index:2;}
.featband-ring{position:absolute;width:300px;height:300px;border:2px dashed rgba(255,255,255,.25);border-radius:99px;
  animation:spin 40s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* ════ SHOP ════ */
.crumb{background:var(--surface);border-bottom:1px solid var(--line);}
.crumb-in{display:flex;align-items:center;gap:8px;padding:11px 24px;font-size:12.5px;}
.crumb-in button{color:var(--muted);transition:.13s;}
.crumb-in button:hover{color:var(--brand);}
.crumb-sep{color:var(--muted2);}
.crumb-cur{color:var(--ink);font-weight:600;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.shop-hero{background:linear-gradient(120deg,var(--brand-deep),var(--ct,var(--brand)));color:#fff;}
.shop-hero-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 24px;flex-wrap:wrap;}
.shop-hero h1{font-size:calc(32px * var(--head-scale));font-weight:900;}
.shop-hero p{color:#d6e8e0;font-size:14px;margin-top:7px;}
.shop-hero-chips{display:flex;gap:8px;flex-wrap:wrap;}
.shop-chip{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);color:#fff;
  padding:8px 16px;border-radius:99px;font-size:13px;font-weight:600;transition:.15s;}
.shop-chip:hover,.shop-chip.on{background:#fff;color:var(--brand-deep);}
.shop-body{display:grid;grid-template-columns:264px 1fr;gap:28px;padding-top:28px;padding-bottom:60px;align-items:start;}
.shop-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:8px;}
.fgroup{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;}
.fgroup-head h4{font-size:14px;margin-bottom:10px;}
.fgroup-body{display:flex;flex-direction:column;gap:2px;}
.fcheck{display:flex;align-items:center;gap:9px;padding:7px 4px;text-align:right;transition:.12s;border-radius:8px;}
.fcheck:hover{background:var(--surface);}
.fcheck-box{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--line2);display:grid;place-items:center;
  color:#fff;flex-shrink:0;transition:.14s;}
.fcheck.on .fcheck-box{background:var(--brand);border-color:var(--brand);}
.fcheck-dot{width:9px;height:9px;border-radius:99px;flex-shrink:0;}
.fcheck-lbl{font-size:13.5px;font-weight:600;color:var(--ink);}
.fbrand-en{font-style:normal;font-size:10px;color:var(--muted2);font-family:ui-monospace,monospace;}
.fcolor-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.fcolor{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1.5px solid var(--line);border-radius:9px;
  font-size:12.5px;font-weight:600;transition:.14s;}
.fcolor span{width:15px;height:15px;border-radius:99px;border:1px solid rgba(0,0,0,.1);}
.fcolor.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);}
.fbrand-search{display:flex;align-items:center;gap:7px;background:var(--surface);border-radius:9px;padding:0 10px;margin-bottom:8px;}
.fbrand-search svg{color:var(--muted2);}
.fbrand-search input{border:none;background:none;outline:none;height:36px;font-size:13px;flex:1;}
.fbrand-list{max-height:240px;overflow-y:auto;scrollbar-width:thin;}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:var(--surface);border-radius:13px;padding:11px 16px;margin-bottom:14px;}
.shop-count{font-size:13px;color:var(--muted);font-weight:600;}
.shop-sort{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.shop-sort>span{font-size:12.5px;color:var(--muted2);margin-left:4px;}
.shop-sort button{padding:7px 14px;border-radius:99px;font-size:13px;font-weight:600;color:var(--muted);transition:.14s;}
.shop-sort button:hover{color:var(--brand);}
.shop-sort button.on{background:var(--brand);color:#fff;}
.shop-mobfilter{display:none;align-items:center;gap:7px;font-weight:700;font-size:13.5px;color:var(--ink);
  background:#fff;border:1px solid var(--line2);padding:9px 16px;border-radius:10px;}
.shop-mobfilter em{font-style:normal;background:var(--brand);color:#fff;font-size:11px;width:18px;height:18px;
  border-radius:99px;display:grid;place-items:center;}
.shop-active{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;align-items:center;}
.achip{background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:600;padding:6px 12px;
  border-radius:99px;cursor:pointer;transition:.13s;}
.achip:hover{background:var(--brand);color:#fff;}
.aclear{color:var(--danger);font-size:12.5px;font-weight:700;margin-right:4px;}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.shop-empty{text-align:center;padding:60px 0;display:flex;flex-direction:column;align-items:center;gap:16px;}
.shop-empty p{color:var(--muted);font-size:15px;}

/* ════ PDP ════ */
.pdp-top{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;padding-top:30px;padding-bottom:40px;}
.pdp-main{aspect-ratio:1/1;border-radius:var(--radius);display:grid;place-items:center;position:relative;border:1px solid var(--line);}
.pdp-main .pcard-badge{top:18px;right:18px;font-size:13px;}
.pdp-thumbs{display:flex;gap:10px;margin-top:14px;}
.pdp-thumb{width:74px;height:74px;border-radius:13px;border:1.5px solid var(--line);background:var(--surface);
  display:grid;place-items:center;transition:.14s;overflow:hidden;}
.pdp-thumb.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
.pdp-thumb-ph{width:100%;height:100%;background:repeating-linear-gradient(135deg,#eef1ec,#eef1ec 7px,#e6ebe5 7px,#e6ebe5 14px);}
/* per-colour photo gallery (blue → 10 photos, black → 2, …) */
.pdp-cset{display:none;grid-area:1/1;width:100%;height:100%;place-items:center;}
.pdp-main .pdp-cset.on{display:grid;}
.pdp-mainimg{grid-area:1/1;display:none;width:100%;height:100%;object-fit:contain;padding:6%;}
.pdp-mainimg.on{display:block;}
.pdp-tset{display:none;flex-wrap:wrap;gap:10px;flex:1;}
.pdp-thumbs .pdp-tset.on{display:flex;}
.pdp-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:11px;}
.pdp-brandline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;}
.pdp-brand{color:var(--brand-mid);font-weight:700;font-size:14px;}
.pdp-code{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--muted2);}
.pdp-title{font-size:calc(27px * var(--head-scale));font-weight:800;line-height:1.5;}
.pdp-rate{display:flex;align-items:center;gap:9px;margin:13px 0 18px;font-size:13px;color:var(--muted);}
.pdp-rate i{color:var(--line2);}
.pdp-quick{display:flex;flex-direction:column;gap:9px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px;}
.pdp-quick li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);font-weight:600;}
.pdp-quick li svg{color:var(--brand);}
.pdp-variant-head{display:flex;align-items:center;gap:8px;margin-bottom:11px;font-size:13.5px;}
.pdp-variant-head span{color:var(--muted);}
.pdp-variant-head b{color:var(--ink);}
.pdp-swatches{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px;}
.pdp-swatch{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--line2);border-radius:11px;
  font-size:13px;font-weight:600;transition:.14s;}
.pdp-swatch-dot{width:17px;height:17px;border-radius:99px;border:1px solid rgba(0,0,0,.12);}
.pdp-swatch.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);}
.pdp-buy{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.pdp-price{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px;}
.pdp-price-old{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.pdp-price-old span{text-decoration:line-through;color:var(--muted2);font-size:14px;}
.pdp-price-old em{font-style:normal;background:var(--danger);color:#fff;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:6px;}
.pdp-price-now{font-size:30px;font-weight:900;color:var(--brand);display:flex;align-items:baseline;gap:6px;}
.pdp-price-now i{font-style:normal;font-size:14px;font-weight:500;color:var(--muted);}
.pdp-stock{margin:10px 0 16px;font-size:13px;}
.pdp-stock .in{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-weight:600;}
.pdp-stock .dot{width:8px;height:8px;border-radius:99px;background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
.pdp-stock .out{color:var(--danger);font-weight:600;}
.pdp-buyrow{display:flex;gap:12px;}
.pdp-qty{display:flex;align-items:center;background:#fff;border:1.5px solid var(--line2);border-radius:12px;overflow:hidden;}
.pdp-qty button{width:42px;height:50px;font-size:20px;color:var(--ink);transition:.13s;}
.pdp-qty button:hover{background:var(--brand-soft);color:var(--brand);}
.pdp-qty span{width:42px;text-align:center;font-weight:700;font-size:16px;}
.pdp-addcart{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--brand);color:#fff;
  font-weight:700;font-size:15.5px;border-radius:12px;transition:.16s;box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 30%,transparent);}
.pdp-addcart:hover{background:var(--brand-deep);}
.pdp-tabs-wrap{padding-bottom:30px;}
.pdp-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:24px;}
.pdp-tabs button{padding:14px 22px;font-size:15px;font-weight:700;color:var(--muted);position:relative;transition:.14s;}
.pdp-tabs button.on{color:var(--brand);}
.pdp-tabs button.on::after{content:'';position:absolute;bottom:-2px;right:0;left:0;height:2px;background:var(--brand);}
.spectable{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:760px;}
.spectable-head{background:var(--brand);color:#fff;font-weight:800;font-size:15px;padding:14px 20px;text-align:center;}
.spec-row{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:14px 20px;align-items:center;}
.spec-k{font-weight:700;font-size:14px;color:var(--ink);}
.spec-v{font-size:13.5px;color:var(--muted);line-height:1.8;}
.pdp-desc{max-width:760px;font-size:14.5px;line-height:2.1;color:var(--ink);}
.pdp-desc p{margin-bottom:14px;}
.pdp-desc-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.pdp-desc-list li{padding:10px 16px;background:var(--surface);border-radius:10px;font-size:13.5px;font-weight:600;}
.pdp-reviews{max-width:760px;display:flex;flex-direction:column;gap:14px;}
.rev{border:1px solid var(--line);border-radius:14px;padding:18px;}
.rev-head{display:flex;align-items:center;gap:10px;margin-bottom:9px;}
.rev-head b{font-size:14px;}
.rev-buy{font-size:11px;color:var(--brand);background:var(--brand-soft);padding:3px 9px;border-radius:6px;margin-right:auto;}
.rev p{font-size:13.5px;color:var(--muted);line-height:1.9;}
.pdp-related{background:var(--surface);}

/* ════ CART ════ */
.cartpage,.checkout{min-height:50vh;}
.cart-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;padding-top:30px;padding-bottom:50px;align-items:start;}
.cart-items-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;}
.cart-items-head h1{font-size:26px;}
.cart-items-head span{color:var(--muted);font-size:13.5px;}
.line{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:12px;background:#fff;transition:.15s;}
.line:hover{border-color:var(--line2);box-shadow:var(--shadow-sm);}
.line-img{width:88px;height:88px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);}
.line-body{flex:1;display:flex;flex-direction:column;gap:6px;}
.line-title{font-size:14.5px;font-weight:700;color:var(--ink);text-align:right;line-height:1.6;transition:.13s;}
.line-title:hover{color:var(--brand);}
.line-brand{font-size:11.5px;color:var(--muted2);}
.line-color{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);}
.line-color i{width:12px;height:12px;border-radius:99px;border:1px solid rgba(0,0,0,.12);}
.line-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.line-price{font-weight:800;font-size:16px;color:var(--ink);}
.line-price i{font-style:normal;font-weight:500;font-size:11px;color:var(--muted);}
.line-qty{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line2);border-radius:10px;overflow:hidden;}
.line-qty button{width:32px;height:34px;font-size:17px;transition:.12s;}
.line-qty button:hover{background:var(--brand-soft);color:var(--brand);}
.line-qty span{width:34px;text-align:center;font-weight:700;font-size:14px;}
.line-del{color:var(--muted2);font-size:12.5px;font-weight:600;transition:.13s;display:grid;place-items:center;}
.line-del:hover{color:var(--danger);}
.cart-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:96px;}
.cart-summary h3{font-size:17px;margin-bottom:16px;}
.csum-row{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--muted);padding:8px 0;}
.csum-row b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;}
.csum-row.off b{color:var(--danger);}
.csum-coupon{display:flex;gap:8px;margin:12px 0;}
.csum-coupon input{flex:1;border:1.5px solid var(--line2);border-radius:10px;height:42px;padding:0 12px;font-size:13px;outline:none;}
.csum-coupon input:focus{border-color:var(--brand);}
.csum-coupon button{background:var(--ink);color:#fff;font-weight:700;font-size:13px;padding:0 18px;border-radius:10px;}
.csum-total{display:flex;align-items:center;justify-content:space-between;padding:14px 0;margin-top:6px;
  border-top:2px solid var(--line);}
.csum-total span{font-weight:700;}
.csum-total b{font-size:20px;font-weight:900;color:var(--brand);}
.csum-total i{font-style:normal;font-size:12px;font-weight:500;color:var(--muted);}
.cart-cont{display:block;width:100%;text-align:center;margin-top:12px;color:var(--brand);font-weight:700;font-size:13.5px;padding:8px;}
.cart-empty-page{text-align:center;padding:70px 0;display:flex;flex-direction:column;align-items:center;gap:14px;}
.cart-empty-page h2{font-size:24px;}
.cart-empty-page p{color:var(--muted);}

/* ════ CHECKOUT ════ */
.co-steps{display:flex;align-items:center;gap:10px;padding:24px;justify-content:center;}
.co-step{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--muted2);}
.co-step:not(:last-child)::after{content:'';width:40px;height:2px;background:var(--line);margin-right:10px;}
.co-step.on{color:var(--brand);}
.co-step-n{width:30px;height:30px;border-radius:99px;background:var(--surface2);color:var(--muted2);
  display:grid;place-items:center;font-size:13px;}
.co-step.on .co-step-n{background:var(--brand);color:#fff;}
.co-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;padding-bottom:54px;align-items:start;}
.co-main{display:flex;flex-direction:column;gap:18px;}
.co-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;}
.co-card h3{font-size:17px;margin-bottom:18px;}
.co-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;}
.co-form label{display:flex;flex-direction:column;gap:7px;}
.co-form .co-full{grid-column:1/-1;}
.co-form span{font-size:13px;font-weight:600;color:var(--ink);}
.co-form input,.co-form textarea{border:1.5px solid var(--line2);border-radius:11px;padding:12px 14px;font-size:14px;outline:none;transition:.14s;resize:vertical;}
.co-form input:focus,.co-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
.co-opts{display:flex;flex-direction:column;gap:10px;}
.co-opt{display:flex;align-items:center;gap:13px;padding:15px 18px;border:1.5px solid var(--line2);border-radius:13px;
  text-align:right;transition:.14s;}
.co-opt:hover{border-color:var(--brand-mid);}
.co-opt.on{border-color:var(--brand);background:var(--brand-soft);}
.co-radio{width:20px;height:20px;border-radius:99px;border:2px solid var(--line2);flex-shrink:0;transition:.14s;}
.co-opt.on .co-radio{border-color:var(--brand);border-width:6px;}
.co-opt div{flex:1;display:flex;flex-direction:column;}
.co-opt b{font-size:14.5px;}
.co-opt i{font-style:normal;font-size:12px;color:var(--muted);}
.co-opt-c{font-weight:700;font-size:14px;color:var(--brand);}
.co-actions{display:flex;gap:12px;justify-content:space-between;}
.co-review{display:flex;flex-direction:column;gap:0;margin-bottom:18px;}
.co-review-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.co-review-row span{color:var(--muted);}
.co-review-row b{font-weight:600;text-align:left;}
.co-review-items{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.co-ri{display:flex;align-items:center;gap:12px;}
.co-ri .line-img{width:54px;height:54px;}
.co-ri div{flex:1;display:flex;flex-direction:column;}
.co-ri b{font-size:13px;font-weight:600;}
.co-ri i{font-style:normal;font-size:11.5px;color:var(--muted);}
.co-ri span{font-weight:700;font-size:13.5px;}
.co-mini{display:flex;flex-direction:column;gap:7px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line);}
.co-mini-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);}
.co-mini-row b{color:var(--ink);font-weight:600;}

/* ════ DRAWER ════ */
.drawer-root{position:fixed;left:0;right:0;top:0;height:100vh;height:100dvh;z-index:300;pointer-events:none;}
.drawer-scrim{position:absolute;inset:0;background:rgba(10,30,22,.4);opacity:0;transition:.25s;backdrop-filter:blur(2px);}
.drawer{position:absolute;top:0;bottom:0;left:0;width:400px;max-width:92vw;background:#fff;
  transform:translateX(-100%);transition:.28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);}
.drawer-root.open{pointer-events:auto;}
.drawer-root.open .drawer-scrim{opacity:1;}
.drawer-root.open .drawer{transform:none;}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line);flex-shrink:0;}
.drawer-head b{font-size:17px;display:flex;align-items:center;gap:9px;}
.drawer-head em{font-style:normal;background:var(--brand);color:#fff;font-size:12px;min-width:22px;height:22px;border-radius:99px;display:grid;place-items:center;padding:0 6px;}
.drawer-head button{width:34px;height:34px;border-radius:9px;color:var(--muted);transition:.13s;font-size:16px;}
.drawer-head button:hover{background:var(--surface);color:var(--ink);}
.drawer-ship{padding:14px 20px;background:var(--brand-soft);flex-shrink:0;}
.drawer-ship-bar{height:6px;background:#fff;border-radius:99px;overflow:hidden;margin-bottom:8px;}
.drawer-ship-bar span{display:block;height:100%;background:var(--brand);transition:.3s;}
.drawer-ship p{font-size:12px;color:var(--brand-deep);}
.drawer-ship b{font-weight:800;}
.drawer-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 20px;}
.line-sm{padding:0 0 14px;border:none;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:14px;background:none;}
.line-sm:hover{box-shadow:none;}
.line-sm .line-img{width:64px;height:64px;}
.line-foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
.drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px;}
.drawer-empty p{color:var(--muted);font-size:15px;}
.drawer-foot{border-top:1px solid var(--line);padding:18px 20px;padding-bottom:max(18px,env(safe-area-inset-bottom));flex-shrink:0;}
.drawer-sum{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.drawer-sum span{color:var(--muted);font-size:14px;}
.drawer-sum b{font-size:19px;font-weight:900;color:var(--brand);}
.drawer-sum i{font-style:normal;font-size:12px;font-weight:500;color:var(--muted);}
/* keep the drawer clear of the WP admin bar (logged-in users) */
body.admin-bar .drawer-root{top:32px;height:calc(100dvh - 32px);}
@media (max-width:782px){body.admin-bar .drawer-root{top:46px;height:calc(100dvh - 46px);}}
/* drawer mini-cart: content is a flex column so the list scrolls and the foot pins */
.drawer .widget_shopping_cart_content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;}
.drawer .line-img,.drawer .line-img a{display:grid;place-items:center;width:64px;height:64px;}
.drawer .line-img a{width:100%;height:100%;}
.drawer .line-img .soroush-cart-glyph{display:grid;place-items:center;width:100%;height:100%;}
.drawer .line-img .soroush-cart-glyph svg,.drawer .line-img img{width:46px;height:auto;}
.drawer .line-del{align-self:flex-start;width:30px;height:30px;border-radius:8px;}
.drawer .line-del:hover{background:var(--surface);}
.drawer.drawer-loading .drawer-list{opacity:.55;pointer-events:none;transition:.15s;}

/* ════ QUICK VIEW ════ */
.qv-root{position:fixed;inset:0;z-index:320;background:rgba(10,30,22,.5);backdrop-filter:blur(3px);
  display:grid;place-items:center;padding:24px;animation:fade .2s;}
@keyframes fade{from{opacity:0}to{opacity:1}}
.qv{background:#fff;border-radius:22px;width:760px;max-width:100%;display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;position:relative;animation:pop .22s cubic-bezier(.34,1.4,.5,1);max-height:90vh;}
@keyframes pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.qv-x{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:9px;background:#fff;
  box-shadow:var(--shadow-sm);z-index:3;color:var(--ink);font-size:15px;}
.qv-media{display:grid;place-items:center;position:relative;}
.qv-body{padding:28px 26px;display:flex;flex-direction:column;gap:11px;overflow-y:auto;}
.qv-title{font-size:20px;font-weight:800;line-height:1.5;}
.qv-swatches{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0;}
.qv-actions{margin-top:8px;display:flex;flex-direction:column;gap:9px;}

/* ════ SUCCESS ════ */
.success-root{position:fixed;inset:0;z-index:340;background:rgba(10,30,22,.55);backdrop-filter:blur(4px);
  display:grid;place-items:center;padding:24px;animation:fade .2s;}
.success{background:#fff;border-radius:24px;padding:42px 36px;max-width:440px;width:100%;text-align:center;animation:pop .26s cubic-bezier(.34,1.4,.5,1);}
.success-check{width:84px;height:84px;border-radius:99px;background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;margin:0 auto 22px;animation:pop .4s .1s backwards;}
.success h2{font-size:24px;margin-bottom:12px;}
.success p{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:20px;}
.success p b{color:var(--brand);font-family:ui-monospace,monospace;}
.success-sum{display:flex;align-items:center;justify-content:space-between;background:var(--surface);
  border-radius:13px;padding:16px 20px;margin-bottom:22px;}
.success-sum span{color:var(--muted);font-size:14px;}
.success-sum b{font-size:18px;font-weight:900;color:var(--brand);}
.success-actions{display:flex;gap:12px;}
.success-actions .btn-solid,.success-actions .btn-line{flex:1;}

/* mobile filter sheet */
.mob-filter-overlay{position:fixed;inset:0;z-index:310;background:rgba(10,30,22,.45);display:none;}
.mob-filter-sheet{position:absolute;top:0;bottom:0;right:0;width:340px;max-width:90vw;background:#fff;
  overflow-y:auto;padding:18px;}
.mob-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.mob-filter-head b{font-size:18px;}
.mob-filter-apply{position:sticky;bottom:0;width:100%;margin-top:14px;background:var(--brand);color:#fff;font-weight:700;padding:14px;border-radius:12px;}

/* ════ RESPONSIVE ════ */
@media(max-width:1080px){
  .mega{width:600px;grid-template-columns:1fr 1fr;}
  .mega-feat{display:none;}
  .pdp-top{grid-template-columns:1fr;gap:28px;}
  .cart-grid,.co-grid{grid-template-columns:1fr;}
  .cart-summary,.co-summary{position:static;}
}
@media(max-width:900px){
  .hd-tool-lbl,.hd-nav-phone{display:none;}
  .hd-search{order:3;max-width:none;flex-basis:100%;}
  .hd-main-in{flex-wrap:wrap;height:auto;padding:14px 0;gap:14px;}
  .heroA-in,.heroB-in,.featband-in,.pricefilter-in,.about-in,.catindex-in{grid-template-columns:1fr;}
  .heroA-stage,.featband-art{display:none;}
  .heroB-right{display:none;}
  .shop-body{grid-template-columns:1fr;}
  .shop-side{display:none;}
  .shop-mobfilter{display:flex;}
  .mob-filter-overlay{display:block;}
  .mob-filter-sheet .shop-side{display:flex;position:static;}
  .trust-in{flex-wrap:wrap;gap:16px;}
  .trust-item{flex:1 1 40%;border-left:none;}
  .mosaic-grid{grid-template-columns:1fr 1fr;}
  .brand-grid{grid-template-columns:repeat(3,1fr);}
  .ft-in{grid-template-columns:1fr 1fr;gap:30px;}
}
@media(max-width:600px){
  .wrap{padding:0 16px;}
  .heroA-copy h1{font-size:44px;}
  .heroB-left h1{font-size:46px;}
  .sec-title{font-size:21px;}
  .shop-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .mosaic-grid{grid-template-columns:1fr;grid-auto-rows:170px;}
  .mosaic-grid .cat-tile.tall{grid-row:span 1;}
  .pf-grid,.co-form{grid-template-columns:1fr;}
  .qv{grid-template-columns:1fr;}
  .qv-media{min-height:240px;}
  .brand-grid{grid-template-columns:1fr 1fr;}
  .ft-in{grid-template-columns:1fr;}
  .spec-row{grid-template-columns:130px 1fr;}
  .variant-flip{flex-wrap:wrap;}
  .pcard-title{font-size:12.5px;}
}

/* ════ CHECKOUT (native WC styled to the design's co-grid) ════ */
.co-checkout .co-billing,.co-checkout .co-shipping{margin:0;}
.co-checkout h3{font-size:17px;margin:0 0 16px;font-weight:800;color:var(--ink);}
.co-checkout .woocommerce-billing-fields__field-wrapper,
.co-checkout .woocommerce-shipping-fields__field-wrapper,
.co-checkout .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.co-checkout .form-row{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;}
/* full-width fields */
.co-checkout #billing_address_1_field,.co-checkout #billing_address_2_field,
.co-checkout #billing_email_field,.co-checkout .form-row-wide,
.co-checkout .woocommerce-additional-fields,.co-checkout .notes,
.co-checkout #order_comments_field{grid-column:1/-1;}
.co-checkout .form-row label{font-size:13px;font-weight:600;color:var(--ink);margin:0;}
.co-checkout .form-row .required{color:var(--brand);text-decoration:none;}
.co-checkout .form-row input.input-text,.co-checkout .form-row textarea,
.co-checkout .form-row select,.co-checkout .select2-selection{
  border:1.5px solid var(--line2)!important;border-radius:11px!important;padding:12px 14px!important;
  font-size:14px!important;font-family:inherit;outline:none;transition:.14s;background:#fff;min-height:46px;}
.co-checkout .form-row textarea{min-height:84px;resize:vertical;}
.co-checkout .form-row input.input-text:focus,.co-checkout .form-row textarea:focus,
.co-checkout .select2-container--focus .select2-selection{border-color:var(--brand)!important;box-shadow:0 0 0 3px var(--brand-soft);}
.co-checkout .select2-selection__rendered{line-height:1.4!important;padding:0!important;}
/* centre the dropdown arrow vertically (match the 46px field) and inset it from the
   rounded corner; RTL puts it on the left. */
.co-checkout .select2-selection__arrow{top:0!important;bottom:0!important;height:auto!important;
  left:12px!important;right:auto!important;display:flex!important;align-items:center;}

/* order review (right summary) */
.co-summary #order_review{margin-top:14px;}
.co-summary .shop_table{width:100%;border-collapse:collapse;font-size:13.5px;}
.co-summary .shop_table th,.co-summary .shop_table td{padding:10px 0;border-bottom:1px solid var(--line);text-align:right;}
.co-summary .shop_table .product-name{color:var(--ink);font-weight:600;}
.co-summary .shop_table .product-total{font-weight:700;white-space:nowrap;}
.co-summary .cart-subtotal td,.co-summary .order-total td{font-weight:700;}
.co-summary .order-total .amount{color:var(--brand);font-size:17px;font-weight:900;}
.co-summary #payment{background:transparent;border-radius:0;margin-top:6px;}
.co-summary #payment ul.payment_methods{border:none;padding:0;margin:0 0 12px;list-style:none;}
.co-summary #payment ul.payment_methods li{border:1.5px solid var(--line2);border-radius:12px;padding:12px 14px;margin-bottom:10px;}
.co-summary #payment ul.payment_methods li:has(input:checked){border-color:var(--brand);background:var(--brand-soft);}
.co-summary #payment .payment_box{background:transparent;font-size:12.5px;color:var(--muted);margin-top:8px;}
.co-summary #payment .payment_box::before{display:none;}
.co-summary #place_order{width:100%;background:var(--brand)!important;color:#fff!important;border:none;border-radius:12px;
  padding:15px;font-size:15px;font-weight:800;cursor:pointer;transition:.15s;margin-top:6px;}
.co-summary #place_order:hover{background:var(--brand-deep)!important;}
.co-summary .woocommerce-terms-and-conditions-wrapper{margin-bottom:12px;font-size:12.5px;}
@media (max-width:880px){
  .co-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr;}
}

/* ── fixes: drawer foot button text, checkout field widths/review ── */
.drawer-foot .btn-solid,.drawer-foot .btn-solid:hover{color:#fff!important;}
/* checkout: inputs/selects fill their grid cell (first/last name were shrunk) */
.co-checkout .form-row input.input-text,.co-checkout .form-row textarea,
.co-checkout .form-row select,.co-checkout .form-row .select2-container{width:100%!important;box-sizing:border-box;}
.co-checkout .select2-container .select2-selection--single{height:46px!important;display:flex;align-items:center;}
/* checkout order-review lines: tidy card-like rows */
.co-summary .woocommerce-checkout-review-order-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.co-summary .shop_table td,.co-summary .shop_table th{padding:12px 14px;}
.co-summary .shop_table .cart_item td{border-bottom:1px solid var(--line);}
.co-summary .shop_table .product-name{line-height:1.7;}
.co-summary .shop_table .product-name .product-quantity{color:var(--muted);font-weight:600;}
.co-summary .cart-subtotal th,.co-summary .order-total th{padding-right:14px;}
.co-summary .cart-subtotal td,.co-summary .order-total td{padding-left:14px;}
/* let the grid size the columns — neutralise WC's 47% float on first/last rows */
.co-checkout .form-row{width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important;}

/* checkout review: render line items as drawer-style .line-sm cards */
.co-summary .woocommerce-checkout-review-order-table tbody td.co-item-cell{padding:0!important;border:none!important;background:none;}
.co-summary .co-line{padding:13px 2px!important;border:none!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;margin:0;background:none;gap:12px;}
.co-summary .co-line:hover{box-shadow:none;}
.co-summary .co-line .line-img{width:56px;height:56px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;overflow:hidden;
  background:radial-gradient(120% 120% at 50% 25%,var(--brand-soft) 0%,#fafbfa 72%);}
.co-summary .co-line .line-img .soroush-cart-glyph{display:grid;place-items:center;width:100%;height:100%;}
.co-summary .co-line .line-img .soroush-cart-glyph svg,.co-summary .co-line .line-img img{width:40px;height:auto;}
.co-summary .co-line .line-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.co-summary .co-line .line-title{font-size:13px;font-weight:700;color:var(--ink);line-height:1.6;}
.co-summary .co-line .line-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px;}
.co-summary .co-line .co-qty{font-size:12px;color:var(--muted);font-weight:600;}
.co-summary .co-line .line-price{font-size:13.5px;font-weight:800;color:var(--ink);}

/* wishlist heart — product page (next to add-to-cart) */
.pdp-fav{width:54px;height:54px;flex:0 0 54px;border-radius:14px;border:1.5px solid var(--line2);background:#fff;
  display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:.16s;}
.pdp-fav:hover{border-color:#e0556a;color:#e0556a;background:#fff5f6;}
.pdp-fav.is-on{background:#e0556a;border-color:transparent;color:#fff;}
.pdp-fav.is-on svg path{fill:currentColor;}
.pdp-fav.loading{opacity:.55;pointer-events:none;}

/* ════════ MOBILE FIXES: trust bar, mosaic sizing, section rhythm ════════ */
@media (max-width:820px){
  /* trust bar → even 2-col grid; a lone last item spans full width (no orphan gap) */
  .trust-in{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;padding:22px 16px;}
  .trust-item{flex:none;border-left:none;padding:4px 6px;}
  .trust-item:nth-child(odd):last-child{grid-column:1 / -1;justify-content:center;}
}
@media (max-width:430px){
  .trust-in{grid-template-columns:1fr;gap:14px;}
  .trust-item:nth-child(odd):last-child{grid-column:auto;justify-content:flex-start;}
}
@media (max-width:820px){
  /* category mosaic → proper 2-col tiles instead of giant 4-col spans */
  .mosaic-grid{grid-template-columns:1fr 1fr !important;grid-auto-rows:158px !important;gap:12px !important;}
  .mosaic-grid .cat-tile{grid-column:span 1 !important;grid-row:span 1 !important;min-height:158px !important;}
}
@media (max-width:440px){
  .mosaic-grid{grid-template-columns:1fr !important;grid-auto-rows:160px !important;}
  .mosaic-grid .cat-tile{min-height:160px !important;}
}
@media (max-width:781px){
  /* tighter, consistent vertical rhythm between home sections on mobile */
  .soroush-root .suggest,.soroush-root section.mosaic,.soroush-root .pricefilter,
  .soroush-root .brands-sec,.soroush-root .about-block,.soroush-root .catindex{
    padding-top:36px !important;padding-bottom:36px !important;}
  .soroush-root .trust .trust-in{padding-top:26px;padding-bottom:26px;}
}
