:root{
    --ivory:#F7F0E4;
    --ivory-2:#EFE5D2;
    --ink:#1E140F;
    --charcoal:#332419;
    --maroon:#7A1330;
    --maroon-deep:#4A0D1F;
    --gold:#B8892B;
    --gold-light:#E4C77C;
    --plum:#241019;
    --plum-2:#33131D;
    --teal:#0E5C55;
    --teal-deep:#083F3A;
    --gray:#8A7A6B;
    --line:rgba(30,20,15,.14);
    --line-dark:rgba(247,240,228,.18);
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Jost',sans-serif;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  }
  ::selection{background:var(--maroon);color:var(--ivory);}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .serif{font-family:'Cormorant Garamond',serif;}
  .urdu{font-family:'Noto Nastaliq Urdu',serif;direction:rtl;unicode-bidi:isolate;}
  .wrap{max-width:1320px;margin:0 auto;padding:0 48px;}
  @media(max-width:720px){ .wrap{padding:0 20px;} }
  .eyebrow{
    font-size:11px;letter-spacing:.22em;text-transform:uppercase;
    font-weight:600;color:var(--maroon);display:flex;align-items:center;gap:10px;
  }
  .eyebrow.on-dark{color:var(--gold-light);}
  .eyebrow .dot{width:5px;height:5px;border-radius:50%;background:currentColor;}

  /* ---------- reveal-on-scroll ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1;transform:none;}

  /* ---------- ring / gujra motif (signature) ---------- */
  .ring-motif{position:absolute;border-radius:50%;border:1px solid var(--gold);opacity:.35;pointer-events:none;}

  /* ---------- bangle scroll indicator ---------- */
  .bangle-track{
    position:fixed;left:16px;top:50%;transform:translateY(-50%);
    display:flex;flex-direction:column;gap:14px;z-index:80;
  }
  .bangle-track svg{width:20px;height:20px;display:block;}
  .bangle-track circle{fill:none;stroke:var(--maroon);stroke-opacity:.28;stroke-width:1.6;transition:stroke-opacity .4s var(--ease), stroke .4s var(--ease);}
  .bangle-track .ring.on circle{stroke:var(--gold);stroke-opacity:1;}
  @media(max-width:860px){ .bangle-track{display:none;} }

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:22px 0;transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  header.solid{background:rgba(247,240,228,.94);backdrop-filter:blur(10px);padding:14px 0;border-color:var(--line);}
  header .wrap{display:flex;align-items:center;justify-content:space-between;}
  .logo{display:flex;align-items:baseline;gap:8px;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:28px;color:var(--ivory);transition:color .4s var(--ease);}
  header.solid .logo{color:var(--ink);}
  .logo .u{font-family:'Noto Nastaliq Urdu',serif;font-style:normal;font-size:20px;opacity:.55;}
  nav.links{display:flex;gap:34px;align-items:center;}
  nav.links a{font-size:13px;letter-spacing:.04em;color:rgba(247,240,228,.82);transition:color .3s;}
  header.solid nav.links a{color:var(--charcoal);}
  nav.links a:hover{color:var(--gold);}
  .nav-cta{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--gold);color:var(--ink);font-size:12px;font-weight:600;
    letter-spacing:.04em;padding:10px 18px;border-radius:100px;
    transition:transform .25s var(--ease), background .25s;
  }
  .nav-cta:hover{transform:translateY(-2px);background:var(--gold-light);}
  .menu-btn{display:none;background:none;border:0;color:var(--ivory);}
  header.solid .menu-btn{color:var(--ink);}
  .nav-right{display:flex;align-items:center;gap:20px;}
  @media(max-width:860px){
    nav.links{position:fixed;inset:0;background:var(--plum);flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;padding:0 32px;transform:translateX(100%);transition:transform .5s var(--ease);}
    nav.links.open{transform:translateX(0);}
    nav.links a{color:var(--ivory);font-size:22px;font-family:'Cormorant Garamond',serif;}
    .nav-cta{order:5;}
    .menu-btn{display:block;z-index:101;}
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
    background:radial-gradient(ellipse 120% 80% at 80% 0%, var(--plum-2), var(--plum) 60%);
    overflow:hidden;color:var(--ivory);padding-top:110px;
  }
  .hero .rings{position:absolute;right:-120px;top:8%;width:560px;height:560px;pointer-events:none;}
  .hero .rings .ring-motif{border-color:var(--gold);}
  .hero .r1{width:560px;height:560px;top:0;right:0;opacity:.22;}
  .hero .r2{width:420px;height:420px;top:70px;right:70px;opacity:.28;}
  .hero .r3{width:290px;height:290px;top:135px;right:135px;opacity:.4;border-color:var(--maroon);}
  .hero .r4{width:170px;height:170px;top:195px;right:195px;opacity:.55;}
  .hero .ghost-urdu{
    position:absolute;left:-4vw;bottom:-6vw;font-size:min(46vw,520px);color:rgba(184,137,43,.07);
    line-height:1;pointer-events:none;user-select:none;
  }
  .hero-inner{position:relative;z-index:2;}
  .hero .eyebrow{color:var(--gold-light);margin-bottom:22px;}
  .hero h1{
    font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;
    font-size:clamp(64px,12vw,150px);line-height:.92;letter-spacing:-.01em;
    display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;
  }
  .hero h1 .u{font-family:'Noto Nastaliq Urdu',serif;font-style:normal;font-weight:600;font-size:.5em;color:var(--gold-light);opacity:.8;}
  .hero .sub{
    margin-top:26px;max-width:560px;font-size:19px;line-height:1.55;color:rgba(247,240,228,.82);
  }
  .hero .sub b{color:var(--gold-light);font-weight:500;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.15em;}
  .hero .cta-row{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:100px;
    font-size:13px;letter-spacing:.05em;font-weight:600;text-transform:uppercase;
    transition:transform .3s var(--ease), background .3s, color .3s, border-color .3s;
  }
  .btn.primary{background:var(--gold);color:var(--ink);}
  .btn.primary:hover{background:var(--gold-light);transform:translateY(-3px);}
  .btn.ghost{border:1px solid var(--line-dark);color:var(--ivory);}
  .btn.ghost:hover{border-color:var(--gold);color:var(--gold-light);transform:translateY(-3px);}
  .btn svg{width:16px;height:16px;}
  .hero .trust{
    margin-top:46px;display:flex;gap:28px;flex-wrap:wrap;font-size:12px;letter-spacing:.03em;
    color:rgba(247,240,228,.6);
  }
  .hero .trust span{display:flex;align-items:center;gap:8px;}
  .hero .trust .dot{width:4px;height:4px;border-radius:50%;background:var(--gold);}
  .scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(247,240,228,.5);font-size:10px;letter-spacing:.2em;text-transform:uppercase;z-index:2;}
  .scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:cue 2s infinite var(--ease);}
  @keyframes cue{0%{opacity:0;transform:scaleY(0);transform-origin:top;}40%{opacity:1;transform:scaleY(1);transform-origin:top;}60%{opacity:1;transform:scaleY(1);transform-origin:bottom;}100%{opacity:0;transform:scaleY(0);transform-origin:bottom;}}

  /* ---------- marquee ---------- */
  .marquee{background:var(--gold);color:var(--ink);overflow:hidden;white-space:nowrap;border-top:1px solid var(--maroon);border-bottom:1px solid var(--maroon);}
  .marquee-track{display:inline-flex;animation:scroll-left 32s linear infinite;padding:13px 0;}
  .marquee-track span{display:inline-flex;align-items:center;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:0 28px;}
  .marquee-track span::after{content:"✦";margin-left:28px;color:var(--maroon);}
  @keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- section basics ---------- */
  section{padding:120px 0;position:relative;}
  @media(max-width:720px){ section{padding:80px 0;} }
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;flex-wrap:wrap;}
  .section-head h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(34px,4.6vw,54px);line-height:1.05;margin-top:14px;max-width:640px;}
  .section-head h2 i{color:var(--maroon);}
  .section-head p{max-width:340px;color:var(--gray);font-size:15px;line-height:1.6;}

  /* ---------- category strip ---------- */
  .cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:860px){ .cats{grid-template-columns:1fr;} }
  .cat-card{
    position:relative;overflow:hidden;border-radius:6px;padding:36px 28px;min-height:280px;
    display:flex;flex-direction:column;justify-content:flex-end;color:var(--ivory);
    transition:transform .5s var(--ease);
  }
  .cat-card:hover{transform:translateY(-6px);}
  .cat-card .pattern{position:absolute;inset:0;opacity:.5;}
  .cat-card.jora{background:linear-gradient(160deg,var(--maroon),var(--maroon-deep) 75%);}
  .cat-card.ghari{background:linear-gradient(160deg,var(--teal),var(--teal-deep) 75%);}
  .cat-card.gujray{background:linear-gradient(160deg,#8A6A22,#3E2E10 75%);}
  .cat-card .num{position:absolute;top:24px;right:28px;font-family:'Noto Nastaliq Urdu',serif;font-size:15px;color:rgba(247,240,228,.55);}
  .cat-card .t{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:40px;font-weight:600;position:relative;z-index:1;}
  .cat-card .d{font-size:13px;color:rgba(247,240,228,.7);margin-top:8px;max-width:230px;position:relative;z-index:1;}
  .cat-card .go{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-light);position:relative;z-index:1;}
  .cat-card .go svg{width:13px;height:13px;transition:transform .3s var(--ease);}
  .cat-card:hover .go svg{transform:translateX(5px);}

  /* dot-grid pattern for jora (embroidery stitch feel) */
  .cat-card.jora .pattern{background-image:radial-gradient(rgba(247,240,228,.35) 1px, transparent 1.4px);background-size:14px 14px;}
  /* dial-arc pattern for ghari */
  .cat-card.ghari .pattern{background-image:repeating-radial-gradient(circle at 85% 15%, rgba(247,240,228,.28) 0 1px, transparent 1px 22px);}
  /* stacked ring pattern for gujray */
  .cat-card.gujray .pattern{background-image:repeating-radial-gradient(circle at 15% 85%, transparent 0 10px, rgba(247,240,228,.3) 11px 12px);}

  /* ---------- product groups ---------- */
  .cat-kicker{display:flex;align-items:center;gap:14px;margin:64px 0 26px;}
  .cat-kicker:first-child{margin-top:0;}
  .cat-kicker .line{flex:1;height:1px;background:var(--line);}
  .cat-kicker .label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--maroon);}
  .cat-kicker .count{font-size:11px;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;}

  .product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px;}
  .p-card{background:var(--ivory-2);border-radius:6px;overflow:hidden;border:1px solid var(--line);transition:transform .45s var(--ease), box-shadow .45s var(--ease);}
  .p-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(30,20,15,.14);}
  .p-image{position:relative;aspect-ratio:4/5;overflow:hidden;display:block;}
  .p-image .pattern{position:absolute;inset:0;}
  .p-card:hover .p-image .pattern{transform:scale(1.06);}
  .p-image .pattern{transition:transform .8s var(--ease);}
  .p-tag{
    position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:6px;
    background:rgba(30,20,15,.55);backdrop-filter:blur(4px);color:var(--ivory);
    font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
    padding:6px 11px;border-radius:100px;z-index:1;
  }
  .p-tag .dot{width:6px;height:6px;border-radius:50%;}
  .p-tag.jora .dot{background:#E58A9A;}
  .p-tag.ghari .dot{background:#4FD3C4;}
  .p-tag.gujray .dot{background:var(--gold-light);}
  .p-body{padding:20px 22px 24px;}
  .p-body .name{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;}
  .p-body .desc{font-size:13px;color:var(--gray);margin-top:6px;line-height:1.5;}
  .p-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;}
  .p-price{font-size:17px;font-weight:600;}
  .p-price .rs{font-size:12px;font-weight:500;color:var(--gray);margin-right:3px;}
  .p-order{
    display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
    color:var(--maroon);border-bottom:1px solid var(--maroon);padding-bottom:2px;transition:color .25s,border-color .25s;
  }
  .p-order:hover{color:var(--gold);border-color:var(--gold);}
  .p-cod{font-size:10.5px;color:var(--gray);margin-top:8px;letter-spacing:.03em;}

  /* jora fabric-style pattern in product images */
  .pat-jora1{background:linear-gradient(150deg,#B8365A,#5A1128 78%);}
  .pat-jora1::after,.pat-jora2::after,.pat-ghari1::after,.pat-ghari2::after,.pat-gujray1::after{content:"";position:absolute;inset:0;}
  .pat-jora1::after{background-image:radial-gradient(rgba(247,240,228,.5) 1px, transparent 1.6px);background-size:16px 16px;}
  .pat-jora2{background:linear-gradient(150deg,#1F7A5C,#0B2E22 78%);}
  .pat-jora2::after{background-image:radial-gradient(rgba(247,240,228,.45) 1.5px, transparent 2px);background-size:22px 22px;}
  .pat-ghari1{background:linear-gradient(150deg,#D9BE8C,#8A6A2E 78%);}
  .pat-ghari1::after{background-image:repeating-radial-gradient(circle at 50% 45%, transparent 0 20px, rgba(30,20,15,.18) 21px 22px);}
  .pat-ghari2{background:linear-gradient(150deg,#3A342E,#100C09 78%);}
  .pat-ghari2::after{background-image:repeating-radial-gradient(circle at 50% 45%, transparent 0 20px, rgba(228,199,124,.28) 21px 22px);}
  .pat-gujray1{background:linear-gradient(150deg,#E4C77C,#8A6A22 78%);}
  .pat-gujray1::after{background-image:repeating-radial-gradient(circle at 50% 60%, transparent 0 12px, rgba(74,13,31,.35) 13px 15px);}
  .p-image > div{position:absolute;inset:0;}

  /* ---------- how it works ---------- */
  .steps{background:var(--charcoal);color:var(--ivory);}
  .step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);margin-top:20px;}
  @media(max-width:860px){ .step-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:520px){ .step-grid{grid-template-columns:1fr;} }
  .step{background:var(--charcoal);padding:34px 26px;}
  .step .n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;color:var(--gold-light);}
  .step h3{font-size:16px;margin-top:14px;font-weight:600;}
  .step p{font-size:13px;color:rgba(247,240,228,.62);margin-top:10px;line-height:1.6;}

  /* ---------- philosophy ---------- */
  .philosophy{background:var(--plum);color:var(--ivory);position:relative;overflow:hidden;}
  .philosophy .ring-motif{border-color:var(--gold);}
  .phil-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;position:relative;z-index:1;}
  @media(max-width:860px){ .phil-grid{grid-template-columns:1fr;gap:34px;} }
  .phil-grid .big-urdu{font-family:'Noto Nastaliq Urdu',serif;font-size:120px;color:var(--gold-light);text-align:center;}
  .phil-grid p{font-size:19px;line-height:1.65;color:rgba(247,240,228,.85);margin-bottom:20px;}
  .phil-grid p:last-child{margin-bottom:0;}
  .phil-grid p i{color:var(--gold-light);font-style:italic;}

  /* ---------- newsletter ---------- */
  .join{background:var(--gold-light);}
  .join-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
  .join h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4vw,44px);max-width:440px;}
  .join p{color:var(--charcoal);font-size:14px;margin-top:10px;max-width:420px;}
  .join-form{display:flex;gap:0;border-bottom:2px solid var(--ink);padding-bottom:10px;min-width:300px;flex:1;max-width:420px;}
  .join-form input{flex:1;background:none;border:0;font-family:inherit;font-size:15px;color:var(--ink);}
  .join-form input::placeholder{color:rgba(30,20,15,.5);}
  .join-form button{background:none;border:0;color:var(--ink);}
  .join-form button svg{width:22px;height:22px;}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:rgba(247,240,228,.65);padding:80px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid var(--line-dark);}
  @media(max-width:720px){ .foot-grid{grid-template-columns:1fr 1fr;} }
  .foot-grid h4{color:var(--gold-light);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
  .foot-grid li{margin-bottom:10px;font-size:14px;}
  .foot-grid a:hover{color:var(--gold-light);}
  .foot-brand .logo{color:var(--ivory);}
  .foot-brand p{margin-top:16px;font-size:13px;max-width:260px;line-height:1.6;}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:12px;flex-wrap:wrap;gap:12px;}
  .foot-bottom a{margin-left:18px;}

  /* ---------- whatsapp float ---------- */
  .wa-float{
    position:fixed;bottom:24px;right:24px;z-index:90;
    width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;
    display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.25);
    transition:transform .3s var(--ease);
  }
  .wa-float:hover{transform:scale(1.08);}
  .wa-float svg{width:28px;height:28px;}

/* ================= NAV CART ICON ================= */
.nav-cart{position:relative;display:inline-flex;align-items:center;color:rgba(247,240,228,.82);transition:color .3s;}
header.solid .nav-cart{color:var(--charcoal);}
.nav-cart:hover{color:var(--gold);}
.nav-cart svg{width:21px;height:21px;}
.cart-badge{
  position:absolute;top:-8px;right:-10px;background:var(--maroon);color:var(--ivory);
  font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:100px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
  transition:transform .2s var(--ease);
}
.cart-badge.bump{animation:bump .35s var(--ease);}
@keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.4);}100%{transform:scale(1);}}
@media(max-width:860px){
  .nav-cart{color:var(--ivory);}
  .cart-badge{background:var(--gold);color:var(--ink);}
}

/* ================= BREADCRUMB ================= */
.crumb{padding:150px 0 0;font-size:12px;letter-spacing:.04em;color:var(--gray);}
.crumb a:hover{color:var(--maroon);}
.crumb span{margin:0 6px;}

/* ================= PRODUCT DETAIL ================= */
.pd{padding:40px 0 100px;}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:flex-start;}
@media(max-width:860px){ .pd-grid{grid-template-columns:1fr;gap:34px;} }
.pd-image{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;}
.pd-image > div:first-child{position:absolute;inset:0;}
.pd-info{position:sticky;top:120px;}
@media(max-width:860px){ .pd-info{position:static;} }
.pd-info .name{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,44px);font-weight:600;margin-top:14px;line-height:1.05;}
.pd-info .price{font-size:24px;font-weight:600;margin-top:14px;}
.pd-info .price .rs{font-size:14px;font-weight:500;color:var(--gray);margin-right:4px;}
.pd-info .desc{font-size:15px;line-height:1.7;color:var(--charcoal);margin-top:20px;max-width:440px;}
.pd-divider{height:1px;background:var(--line);margin:28px 0;}
.pd-field{margin-bottom:22px;}
.pd-field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gray);margin-bottom:10px;}
.pd-options{display:flex;gap:10px;flex-wrap:wrap;}
.pd-opt{
  border:1px solid var(--line);background:var(--ivory-2);padding:9px 16px;border-radius:100px;
  font-size:13px;cursor:pointer;transition:border-color .25s,background .25s,color .25s;
}
.pd-opt.active{border-color:var(--maroon);background:var(--maroon);color:var(--ivory);}
.pd-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;overflow:hidden;}
.pd-qty button{background:none;border:0;width:38px;height:38px;font-size:16px;color:var(--ink);}
.pd-qty button:hover{background:var(--ivory-2);}
.pd-qty span{width:36px;text-align:center;font-size:14px;font-weight:600;}
.pd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.pd-actions .btn{border-radius:100px;padding:16px 24px;}
.btn.dark{background:var(--ink);color:var(--ivory);}
.btn.dark:hover{background:var(--charcoal);transform:translateY(-3px);}
.btn.outline{border:1px solid var(--ink);color:var(--ink);}
.btn.outline:hover{background:var(--ink);color:var(--ivory);transform:translateY(-3px);}
.pd-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gray);margin-top:16px;}
.pd-note svg{width:15px;height:15px;color:var(--maroon);flex-shrink:0;}
.pd-accordion{border-top:1px solid var(--line);margin-top:34px;}
.pd-acc-item{border-bottom:1px solid var(--line);}
.pd-acc-item summary{
  list-style:none;cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;align-items:center;
  font-size:13px;font-weight:600;letter-spacing:.02em;
}
.pd-acc-item summary::-webkit-details-marker{display:none;}
.pd-acc-item summary .plus{font-size:18px;font-weight:400;color:var(--gray);transition:transform .3s var(--ease);}
.pd-acc-item[open] summary .plus{transform:rotate(45deg);}
.pd-acc-item p{padding-bottom:16px;font-size:13.5px;color:var(--gray);line-height:1.6;max-width:440px;}
.pd-added-toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--ivory);padding:14px 24px;border-radius:100px;font-size:13px;
  display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);z-index:200;
}
.pd-added-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.pd-added-toast svg{width:16px;height:16px;color:var(--gold-light);}

/* related products */
.related{padding:0 0 100px;}
.related h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:30px;margin-bottom:30px;}

/* ================= CART PAGE ================= */
.cart-page{padding:150px 0 100px;min-height:60vh;}
.cart-page h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(38px,5vw,56px);}
.cart-page .sub{color:var(--gray);font-size:14px;margin-top:8px;}
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;margin-top:48px;align-items:flex-start;}
@media(max-width:900px){ .cart-layout{grid-template-columns:1fr;} }
.cart-items{border-top:1px solid var(--line);}
.cart-row{display:grid;grid-template-columns:88px 1fr auto auto auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);}
@media(max-width:560px){ .cart-row{grid-template-columns:64px 1fr;grid-template-areas:"img name" "img meta" "img actions"; row-gap:8px;} }
.cart-thumb{width:88px;aspect-ratio:4/5;border-radius:4px;overflow:hidden;position:relative;}
@media(max-width:560px){ .cart-thumb{width:64px;grid-area:img;} }
.cart-thumb > div{position:absolute;inset:0;}
.cart-name-col .name{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;}
.cart-name-col .meta{font-size:12px;color:var(--gray);margin-top:4px;}
.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;}
.cart-qty button{background:none;border:0;width:30px;height:30px;font-size:14px;}
.cart-qty span{width:26px;text-align:center;font-size:13px;font-weight:600;}
.cart-price{font-size:14px;font-weight:600;white-space:nowrap;}
.cart-remove{color:var(--gray);font-size:12px;text-decoration:underline;text-underline-offset:3px;}
.cart-remove:hover{color:var(--maroon);}
.cart-empty{padding:60px 0;text-align:center;color:var(--gray);}
.cart-empty .btn{margin-top:18px;}
.cart-summary{background:var(--ivory-2);border:1px solid var(--line);border-radius:6px;padding:28px;position:sticky;top:130px;}
.cart-summary h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:18px;}
.cart-summary .line{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px;color:var(--charcoal);}
.cart-summary .line.total{font-weight:700;font-size:16px;border-top:1px solid var(--line);padding-top:14px;margin-top:6px;}
.cart-summary .btn{width:100%;justify-content:center;margin-top:20px;border-radius:100px;}
.cart-summary .note{font-size:11.5px;color:var(--gray);margin-top:14px;line-height:1.5;}
.cart-form{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;}
.cart-form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;font-weight:600;}
.cart-form input,.cart-form textarea{
  width:100%;border:1px solid var(--line);background:var(--ivory);border-radius:4px;
  padding:10px 12px;font-family:inherit;font-size:13.5px;margin-bottom:14px;color:var(--ink);
}
.cart-form textarea{resize:vertical;min-height:64px;}

/* ================= POLICY PAGES ================= */
.policy{padding:150px 0 100px;}
.policy .wrap{max-width:820px;}
.policy h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(38px,5vw,52px);}
.policy .updated{font-size:12.5px;color:var(--gray);margin-top:10px;letter-spacing:.03em;}
.policy h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;margin-top:44px;margin-bottom:14px;color:var(--maroon);}
.policy p{font-size:15px;line-height:1.75;color:var(--charcoal);margin-bottom:14px;}
.policy ul{margin:0 0 14px 20px;}
.policy li{font-size:15px;line-height:1.75;color:var(--charcoal);margin-bottom:8px;list-style:disc;}
.policy a{color:var(--maroon);text-decoration:underline;text-underline-offset:3px;}
