/* ==========================================================
   MAUREL PRIVATE COLLECTION — shared stylesheet
   Used by every page. Edit tokens in :root to restyle globally.
   ========================================================== */

:root{
  --ink:#111111;
  --ink-soft:#5c5c5c;
  --line:rgba(17,17,17,0.13);
  --bg:#ffffff;
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Jost', sans-serif;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--ink);color:#fff;}
img{display:block;max-width:100%;}
button{font-family:inherit;}
.display{font-family:'Cormorant Garamond', serif;font-weight:400;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1);}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- icon top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:200;
  background:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 6vw;
  border-bottom:1px solid transparent;
}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;position:relative;}
.icon-btn svg{width:20px;height:20px;}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:22px;}
.topbar-mark{font-family:'Cormorant Garamond', serif;font-size:26px;letter-spacing:0.1em;}
.badge{
  position:absolute;top:-6px;right:-8px;
  background:var(--ink);color:#fff;
  font-size:9px;line-height:1;
  width:15px;height:15px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- mobile menu overlay ---------- */
.mobile-menu{
  position:fixed;inset:0;background:#fff;z-index:400;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:30px;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.mobile-menu.open{opacity:1;pointer-events:auto;}
.mobile-menu a{font-family:'Cormorant Garamond', serif;font-size:26px;}
.mobile-menu-close{position:absolute;top:22px;right:6vw;background:none;border:none;font-size:26px;cursor:pointer;}
@media (min-width:781px){ .mobile-menu-trigger{display:none;} }

/* ---------- primary nav (desktop) ---------- */
.primary-nav{display:flex;gap:30px;list-style:none;}
.primary-nav a{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);opacity:0.75;}
.primary-nav a:hover,.primary-nav a.active{opacity:1;border-bottom:1px solid var(--ink);padding-bottom:3px;}
@media (max-width:780px){ .primary-nav{display:none;} }

/* ---------- page header (for interior pages) ---------- */
.page-header{padding:90px 6vw 60px;text-align:center;max-width:760px;margin:0 auto;}
.page-header .eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;}
.page-header h1{font-size:clamp(32px, 5vw, 56px);font-weight:400;line-height:1.15;}
.page-header p{margin-top:22px;color:var(--ink-soft);font-size:17px;line-height:1.7;}

/* ---------- hero (editorial, full bleed — homepage) ---------- */
.hero{
  position:relative;
  aspect-ratio:9/14;
  max-height:96vh;
  overflow:hidden;
  background:linear-gradient(155deg,#c9c2b6 0%, #8f8676 55%, #57503f 100%);
}
.ph-tag{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.6);
  border:1px solid rgba(255,255,255,0.35);
  padding:6px 14px;pointer-events:none;text-align:center;white-space:nowrap;
}
.ph-tag.dark{color:rgba(17,17,17,0.45);border-color:rgba(17,17,17,0.25);}
.hero-overlay{
  position:absolute;left:0;right:0;bottom:0;
  padding:160px 8vw 64px;
  text-align:center;
  color:#fff;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 70%);
}
.hero-eyebrow{font-size:11px;letter-spacing:0.4em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:20px;}
.hero-overlay h1{font-family:'Cormorant Garamond', serif;font-weight:300;font-size:clamp(30px, 5vw, 52px);line-height:1.25;max-width:14ch;margin:0 auto 26px;}
.hero-link{display:inline-block;font-size:15px;font-family:'Cormorant Garamond', serif;font-style:italic;border-bottom:1px solid rgba(255,255,255,0.7);padding-bottom:3px;}

/* ---------- discovery grid (homepage categories) ---------- */
.discover{padding:120px 6vw 20px;text-align:center;}
.discover h2{font-size:clamp(24px, 3.2vw, 34px);font-weight:400;max-width:16ch;margin:0 auto 56px;line-height:1.3;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:44px 28px;max-width:var(--maxw);margin:0 auto;}
.grid2 .item{display:block;}
.grid2 .thumb{aspect-ratio:1/1.15;margin-bottom:20px;position:relative;overflow:hidden;}
.grid2 .thumb::before{content:"";position:absolute;inset:0;transition:transform .6s ease;}
.grid2 .item:hover .thumb::before{transform:scale(1.03);}
.thumb.t1::before{background:linear-gradient(160deg,#eee,#c7c2b6);}
.thumb.t2::before{background:linear-gradient(160deg,#e7e2d6,#a89b7c);}
.thumb.t3::before{background:linear-gradient(160deg,#ded9cd,#96897a);}
.thumb.t4::before{background:linear-gradient(160deg,#dcdcdc,#8a8a8a);}
.grid2 .cap{font-family:'Cormorant Garamond', serif;font-size:19px;}
@media (max-width:600px){ .grid2{gap:36px 18px;} }

/* ---------- maison / story section ---------- */
.maison{padding:150px 6vw 0;text-align:center;}
.maison h2{font-size:clamp(24px, 3vw, 32px);font-weight:400;margin-bottom:26px;}
.maison p{color:var(--ink-soft);font-size:16px;line-height:1.75;max-width:52ch;margin:0 auto 50px;}
.maison-media{
  aspect-ratio:3/4;
  max-height:70vh;
  margin:0 auto;
  max-width:520px;
  background:linear-gradient(165deg,#1c1a17,#3c372e 40%,#8b7c5c 78%, #d8c79a 100%);
  position:relative;
}
.slide-cap{padding:44px 6vw 12px;text-align:center;}
.slide-cap .name{font-family:'Cormorant Garamond', serif;font-size:22px;margin-bottom:14px;}
.slide-cap a{font-size:13px;letter-spacing:0.08em;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}
.dots{display:flex;justify-content:center;gap:8px;padding:22px 0 130px;}
.dot{width:6px;height:6px;border-radius:50%;background:#d2d2d2;border:none;padding:0;cursor:pointer;}
.dot.active{width:20px;border-radius:4px;background:var(--ink);}

/* ---------- product catalog grid (men.html / women.html) ---------- */
.catalog{padding:20px 6vw 140px;max-width:var(--maxw);margin:0 auto;}
.catalog-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:40px 28px;}
.product{display:block;}
.product-thumb{aspect-ratio:3/4;position:relative;overflow:hidden;margin-bottom:16px;background:#eee;}
.product-thumb::before{content:"";position:absolute;inset:0;transition:transform .6s ease;}
.product:hover .product-thumb::before{transform:scale(1.03);}
.product-thumb.p1::before{background:linear-gradient(160deg,#eee,#cfcabf);}
.product-thumb.p2::before{background:linear-gradient(160deg,#e6e1d4,#b5aa8e);}
.product-thumb.p3::before{background:linear-gradient(160deg,#ddd8cb,#9a8f7c);}
.product-thumb.p4::before{background:linear-gradient(160deg,#302c26,#665c48);}
.product-thumb.p5::before{background:linear-gradient(160deg,#e2ddd0,#a89b7c);}
.product-thumb.p6::before{background:linear-gradient(160deg,#1c1a17,#4a4234);}
.product-name{font-family:'Cormorant Garamond', serif;font-size:19px;margin-bottom:4px;}
.product-fabric{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.product-price{font-size:14px;margin-bottom:14px;}
.product-btn{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  border:1px solid var(--ink);
  padding:10px 16px;
  display:inline-block;
  background:none;cursor:pointer;color:var(--ink);
  transition:background .3s, color .3s;
}
.product-btn:hover{background:var(--ink);color:#fff;}
.product-btn.added{background:var(--ink);color:#fff;}
@media (max-width:860px){ .catalog-grid{grid-template-columns:repeat(2, 1fr);} }

/* ---------- filter/segment bar (men/women pages) ---------- */
.segment{display:flex;justify-content:center;gap:0;margin:0 0 60px;}
.segment button{
  background:none;border:none;padding:10px 22px;
  font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-soft);cursor:pointer;border-bottom:1px solid var(--line);
}
.segment button.active{color:var(--ink);border-bottom:1px solid var(--ink);}

/* ---------- enquiry drawer (cart-equivalent) ---------- */
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,0.35);
  opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:300;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
.drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(420px, 92vw);
  background:#fff;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.22,.61,.36,1);
  z-index:301;
  display:flex;flex-direction:column;
}
.drawer.open{transform:translateX(0);}
.drawer-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 6vw;border-bottom:1px solid var(--line);
}
.drawer-head h3{font-family:'Cormorant Garamond', serif;font-size:20px;font-weight:400;}
.drawer-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);}
.drawer-body{flex:1;overflow-y:auto;padding:20px 6vw;}
.drawer-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);}
.drawer-item .di-name{font-family:'Cormorant Garamond', serif;font-size:17px;}
.drawer-item .di-meta{font-size:12px;color:var(--ink-soft);margin-top:3px;}
.drawer-item .di-remove{background:none;border:none;font-size:12px;color:var(--ink-soft);text-decoration:underline;cursor:pointer;}
.drawer-empty{color:var(--ink-soft);font-size:14px;padding:30px 0;text-align:center;}
.drawer-foot{padding:22px 6vw 30px;border-top:1px solid var(--line);}
.drawer-foot p{font-size:12px;color:var(--ink-soft);margin-bottom:16px;line-height:1.6;}
.drawer-submit{
  width:100%;padding:14px;background:var(--ink);color:#fff;border:none;
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;
}
.drawer-submit:hover{opacity:0.9;}

/* ---------- generic form (contact page, enquiry) ---------- */
.form-block{max-width:520px;margin:0 auto;padding:0 6vw 140px;}
.field{margin-bottom:26px;}
.field label{display:block;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.field input,.field textarea,.field select{
  width:100%;border:none;border-bottom:1px solid var(--line);
  padding:10px 2px;font-family:'Cormorant Garamond', serif;font-size:18px;color:var(--ink);
  outline:none;background:none;
}
.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--ink);}
.field textarea{resize:vertical;min-height:100px;font-family:'Jost', sans-serif;font-size:15px;}
.submit-btn{
  padding:14px 30px;background:var(--ink);color:#fff;border:none;
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;
}
.submit-btn:hover{opacity:0.9;}
.form-note{margin-top:18px;font-size:12px;color:var(--ink-soft);}

/* ---------- contact info blocks ---------- */
.contact-info{max-width:520px;margin:0 auto 80px;padding:0 6vw;display:grid;grid-template-columns:1fr 1fr;gap:30px;text-align:center;}
.contact-info div h4{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.contact-info div p{font-family:'Cormorant Garamond', serif;font-size:18px;}
@media (max-width:560px){ .contact-info{grid-template-columns:1fr;} }

/* ---------- about page sections ---------- */
.about-block{max-width:760px;margin:0 auto;padding:0 6vw 120px;text-align:center;}
.about-block .eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;}
.about-block h2{font-size:clamp(26px, 3.4vw, 40px);font-weight:400;line-height:1.25;margin-bottom:24px;}
.about-block p{color:var(--ink-soft);font-size:17px;line-height:1.8;}
.fibre-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:var(--maxw);margin:0 auto 140px;padding:0 6vw;}
.fibre-card{text-align:left;}
.fibre-swatch{aspect-ratio:4/3;margin-bottom:18px;}
.fibre-swatch.cotton{background:linear-gradient(160deg,#f1efe9,#d8d2c2);}
.fibre-swatch.linen{background:linear-gradient(160deg,#ece7d8,#c7bfa2);}
.fibre-swatch.silk{background:linear-gradient(160deg,#efe9da,#c9a86b);}
.fibre-card h3{font-family:'Cormorant Garamond', serif;font-size:22px;margin-bottom:8px;}
.fibre-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.7;}
@media (max-width:760px){ .fibre-row{grid-template-columns:1fr;} }

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:20px;}
.footer-mark{
  text-align:center;padding:56px 6vw 30px;
  font-family:'Cormorant Garamond', serif;
  font-size:26px;letter-spacing:0.28em;
}
.accordion{max-width:640px;margin:0 auto;padding:0 6vw;}
.acc-row{border-top:1px solid var(--line);}
.acc-row:last-child{border-bottom:1px solid var(--line);}
.acc-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  background:none;border:none;padding:20px 4px;
  font-size:16px;color:var(--ink);cursor:pointer;text-align:left;
}
.acc-btn .plus{font-size:20px;font-weight:300;transition:transform .3s;}
.acc-row.open .acc-btn .plus{transform:rotate(45deg);}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.acc-row.open .acc-panel{max-height:260px;}
.acc-panel-in{padding:0 4px 22px;font-size:14px;color:var(--ink-soft);line-height:1.9;}
.acc-panel-in a{display:block;margin-bottom:8px;}
.acc-panel-in a:hover{color:var(--ink);}

.footer-bottom{text-align:center;padding:44px 6vw 20px;}
.footer-bottom .legal-links{display:flex;justify-content:center;gap:26px;font-size:13px;margin-bottom:26px;flex-wrap:wrap;}
.footer-bottom .legal-links a:hover{text-decoration:underline;}
.footer-lang{font-size:13px;color:var(--ink-soft);margin-bottom:30px;}
.footer-copy{font-size:11px;letter-spacing:0.08em;color:var(--ink-soft);padding-bottom:36px;}

/* ==========================================================
   RTL support (activated automatically when Arabic is selected
   — js/i18n.js sets <html dir="rtl"> for any language listed
   in RTL_LANGS). Only a few rules need mirroring; most of the
   layout is centered and works in either direction untouched.
   ========================================================== */
html[dir="rtl"] body{font-family:'Jost', 'Tahoma', sans-serif;}
html[dir="rtl"] .drawer{right:auto;left:0;transform:translateX(-100%);}
html[dir="rtl"] .drawer.open{transform:translateX(0);}
html[dir="rtl"] .badge{right:auto;left:-8px;}
html[dir="rtl"] .field label,
html[dir="rtl"] .acc-btn,
html[dir="rtl"] .drawer-item,
html[dir="rtl"] .contact-info,
html[dir="rtl"] .fibre-card{text-align:right;}
html[dir="rtl"] .grid2,
html[dir="rtl"] .catalog-grid,
html[dir="rtl"] .fibre-row{direction:rtl;}
html[dir="rtl"] .private-form,
html[dir="rtl"] .cta-form{direction:rtl;}

.lang-switch button.active{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;}

/* ---------- real product photography (overrides placeholder ::before) ---------- */
.product-thumb img,
.thumb img{
  position:relative;z-index:2;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
}
.hero img.hero-photo{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center 20%;
  z-index:0;
}
.maison-media img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- product detail overlay (PDP) ---------- */
.pdp-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,0.4);
  opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:400;
}
.pdp-backdrop.open{opacity:1;pointer-events:auto;}
.pdp{
  position:fixed;top:0;right:0;bottom:0;
  width:min(560px, 100vw);
  background:#fff;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.22,.61,.36,1);
  z-index:401;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
.pdp.open{transform:translateX(0);}
html[dir="rtl"] .pdp{right:auto;left:0;transform:translateX(-100%);}
html[dir="rtl"] .pdp.open{transform:translateX(0);}

.pdp-head{
  position:sticky;top:0;z-index:2;background:#fff;
  display:flex;justify-content:flex-end;padding:18px 18px 0;
}
.pdp-close{background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink);}

.pdp-gallery{position:relative;aspect-ratio:3/4;background:#eee;overflow:hidden;}
.pdp-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
.pdp-gallery .thumb-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#e6e1d4,#a89b7c);}
.pdp-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:6px;}
.pdp-dots .dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.55);border:none;padding:0;cursor:pointer;}
.pdp-dots .dot.active{background:#fff;}

.pdp-body{padding:26px 30px 40px;}
.pdp-eyebrow{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.pdp-name{font-family:'Cormorant Garamond', serif;font-size:32px;margin-bottom:6px;}
.pdp-price{font-size:16px;color:var(--ink);margin-bottom:22px;}

.pdp-sizes{margin-bottom:24px;}
.pdp-sizes .label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;display:block;}
.size-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:8px;}
.size-btn{
  padding:12px 0;text-align:center;border:1px solid var(--line);background:none;
  font-size:13px;color:var(--ink);cursor:pointer;
}
.size-btn:hover{border-color:var(--ink);}
.size-btn.selected{background:var(--ink);color:#fff;border-color:var(--ink);}

.pdp-cta{
  width:100%;padding:16px;background:var(--ink);color:#fff;border:none;
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;
  margin-bottom:8px;
}
.pdp-cta:disabled{background:#ccc;cursor:not-allowed;}
.pdp-cta-hint{font-size:12px;color:var(--ink-soft);margin-bottom:28px;}

.pdp-accordion .acc-row{border-top:1px solid var(--line);}
.pdp-accordion .acc-row:last-child{border-bottom:1px solid var(--line);}

.pdp-related{margin-top:36px;}
.pdp-related .label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;display:block;}
.pdp-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pdp-related-item{cursor:pointer;}
.pdp-related-thumb{aspect-ratio:3/4;margin-bottom:10px;background:#eee;overflow:hidden;}
.pdp-related-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pdp-related-name{font-family:'Cormorant Garamond', serif;font-size:15px;}
.pdp-related-price{font-size:12px;color:var(--ink-soft);}

.product{cursor:pointer;}

/* ---------- cookie consent banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:500;
  background:var(--ink);color:#fff;
  padding:18px 6vw;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  transform:translateY(100%);transition:transform .4s ease;
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-size:13px;line-height:1.6;max-width:640px;color:rgba(255,255,255,0.85);}
.cookie-banner .actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-banner button{
  padding:10px 20px;font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;border:1px solid #fff;
}
.cookie-banner .accept{background:#fff;color:var(--ink);}
.cookie-banner .decline{background:none;color:#fff;}

/* ---------- search overlay ---------- */
.search-overlay{
  position:fixed;inset:0;background:#fff;z-index:410;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
  padding:80px 6vw;
}
.search-overlay.open{opacity:1;pointer-events:auto;}
.search-overlay-close{position:absolute;top:22px;right:6vw;background:none;border:none;font-size:26px;cursor:pointer;}
.search-input-row{max-width:600px;margin:0 auto 40px;border-bottom:1px solid var(--ink);padding-bottom:14px;}
.search-input-row input{width:100%;border:none;outline:none;font-family:'Cormorant Garamond',serif;font-size:26px;font-style:italic;}
.search-results{max-width:600px;margin:0 auto;}
.search-result-item{
  display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;
}
.search-result-item:hover{background:#faf9f7;}
.search-result-thumb{width:60px;height:76px;background:#eee;flex-shrink:0;overflow:hidden;}
.search-result-thumb img{width:100%;height:100%;object-fit:cover;}
.search-result-name{font-family:'Cormorant Garamond',serif;font-size:18px;}
.search-result-meta{font-size:12px;color:var(--ink-soft);}
.search-empty{color:var(--ink-soft);font-size:14px;padding:20px 0;text-align:center;}

/* ---------- wishlist (reuses drawer-style side panel) ---------- */
.wishlist-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.35);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:420;}
.wishlist-backdrop.open{opacity:1;pointer-events:auto;}
.wishlist-panel{
  position:fixed;top:0;right:0;bottom:0;width:min(400px, 92vw);background:#fff;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.22,.61,.36,1);z-index:421;
  display:flex;flex-direction:column;
}
.wishlist-panel.open{transform:translateX(0);}
html[dir="rtl"] .wishlist-panel{right:auto;left:0;transform:translateX(-100%);}
html[dir="rtl"] .wishlist-panel.open{transform:translateX(0);}
.wishlist-head{display:flex;justify-content:space-between;align-items:center;padding:24px 6vw;border-bottom:1px solid var(--line);}
.wishlist-head h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;}
.wishlist-close{background:none;border:none;font-size:22px;cursor:pointer;}
.wishlist-body{flex:1;overflow-y:auto;padding:16px 6vw;}
.wishlist-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center;cursor:pointer;}
.wishlist-item-thumb{width:64px;height:82px;background:#eee;flex-shrink:0;overflow:hidden;}
.wishlist-item-thumb img{width:100%;height:100%;object-fit:cover;}
.wishlist-item-name{font-family:'Cormorant Garamond',serif;font-size:16px;}
.wishlist-item-price{font-size:12px;color:var(--ink-soft);}
.wishlist-item-remove{margin-left:auto;background:none;border:none;font-size:12px;color:var(--ink-soft);text-decoration:underline;cursor:pointer;}
html[dir="rtl"] .wishlist-item-remove{margin-left:0;margin-right:auto;}

.wish-heart{
  position:absolute;top:10px;right:10px;z-index:3;
  background:rgba(255,255,255,0.85);border:none;border-radius:50%;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
html[dir="rtl"] .wish-heart{right:auto;left:10px;}
.wish-heart svg{width:16px;height:16px;stroke:var(--ink);fill:none;transition:fill .2s, stroke .2s;}
.wish-heart.active svg{fill:var(--ink);stroke:var(--ink);}
.product{position:relative;}
.product-thumb{position:relative;}

.pdp-wish{
  display:flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);
  background:none;border:none;cursor:pointer;margin-bottom:20px;
}
.pdp-wish svg{width:16px;height:16px;stroke:var(--ink);fill:none;}
.pdp-wish.active svg{fill:var(--ink);}

/* ---------- size guide ---------- */
.size-guide-link{
  font-size:11px;letter-spacing:0.08em;text-decoration:underline;color:var(--ink-soft);
  background:none;border:none;cursor:pointer;margin-top:10px;display:inline-block;
}
.size-guide-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.4);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:430;}
.size-guide-modal-backdrop.open{opacity:1;pointer-events:auto;}
.size-guide-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.96);
  background:#fff;width:min(520px, 90vw);max-height:80vh;overflow-y:auto;
  z-index:431;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;
  padding:32px;
}
.size-guide-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.size-guide-modal h3{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:20px;}
.size-guide-modal table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:13px;}
.size-guide-modal th, .size-guide-modal td{border:1px solid var(--line);padding:8px 10px;text-align:center;}
.size-guide-modal th{background:#faf9f7;font-weight:500;}
.size-guide-modal .note{font-size:12px;color:var(--ink-soft);line-height:1.6;}
.size-guide-modal-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:22px;cursor:pointer;}

/* ---------- style advisor chat widget ---------- */
.adv-bubble{
  position:fixed;bottom:26px;right:26px;z-index:260;
  width:56px;height:56px;border-radius:50%;
  background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,0.18);
}
.adv-bubble svg{width:24px;height:24px;}
html[dir="rtl"] .adv-bubble{right:auto;left:26px;}

.adv-panel{
  position:fixed;bottom:26px;right:26px;z-index:261;
  width:min(360px, 90vw);
  height:min(520px, 74vh);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 40px rgba(0,0,0,0.18);
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;transform:translateY(16px) scale(0.98);
  transition:opacity .25s ease, transform .25s ease;
}
.adv-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
html[dir="rtl"] .adv-panel{right:auto;left:26px;}

.adv-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;border-bottom:1px solid var(--line);
}
.adv-head .t{font-family:'Cormorant Garamond', serif;font-size:19px;}
.adv-head .s{font-size:11px;color:var(--ink-soft);margin-top:2px;}
.adv-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--ink);}

.adv-messages{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;}
.adv-msg{max-width:82%;padding:10px 13px;font-size:14px;line-height:1.55;border-radius:2px;}
.adv-bot{align-self:flex-start;background:#f4f4f2;color:var(--ink);}
.adv-user{align-self:flex-end;background:var(--ink);color:#fff;}
html[dir="rtl"] .adv-bot{align-self:flex-end;}
html[dir="rtl"] .adv-user{align-self:flex-start;}

.adv-quick{display:flex;flex-wrap:wrap;gap:8px;}
.adv-quick button{
  font-size:12px;padding:8px 12px;border:1px solid var(--ink);background:none;color:var(--ink);
  cursor:pointer;border-radius:2px;
}
.adv-quick button:hover{background:var(--ink);color:#fff;}

.adv-combo{border:1px solid var(--line);}
.adv-combo-item{display:flex;justify-content:space-between;padding:10px 12px;font-size:13px;border-top:1px solid var(--line);}
.adv-combo-item:first-child{border-top:none;}
.adv-combo-name{font-family:'Cormorant Garamond', serif;font-size:15px;}
.adv-combo-meta{color:var(--ink-soft);font-size:11.5px;}

.adv-form{display:flex;border-top:1px solid var(--line);}
.adv-form input{
  flex:1;border:none;outline:none;padding:14px 16px;font-family:'Jost', sans-serif;font-size:13.5px;color:var(--ink);
}
.adv-form button{
  background:none;border:none;padding:0 18px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;
}
@media (max-width:480px){
  .adv-panel{right:10px;left:10px;width:auto;bottom:96px;}
  .adv-bubble{right:16px;bottom:16px;}
  html[dir="rtl"] .adv-bubble{left:16px;right:auto;}
}

/* ---------- topbar language dropdown ---------- */
.lang-dropdown{position:relative;}
.lang-dropdown-panel{
  position:absolute;top:calc(100% + 14px);right:0;
  background:#fff;border:1px solid var(--line);
  min-width:160px;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  transition:opacity .2s ease, transform .2s ease;
  z-index:250;
}
.lang-dropdown-panel.open{opacity:1;pointer-events:auto;transform:translateY(0);}
.lang-dropdown-panel button{
  display:flex;width:100%;justify-content:space-between;align-items:center;
  background:none;border:none;padding:12px 16px;
  font-size:14px;color:var(--ink);cursor:pointer;text-align:left;
}
.lang-dropdown-panel button:hover{background:#f7f7f7;}
.lang-dropdown-panel button + button{border-top:1px solid var(--line);}
.lang-dropdown-panel button .check{opacity:0;font-size:12px;}
.lang-dropdown-panel button.active .check{opacity:1;}
html[dir="rtl"] .lang-dropdown-panel{right:auto;left:0;}
html[dir="rtl"] .lang-dropdown-panel button{text-align:right;}
