/* Layout concept: a Damascene arch as the recurring frame — generous blush whitespace,
   brand wordmark that docks into the header, arch-shaped product stages. */
:root{
  --paper:#FFFBFB;      /* page ground */
  --blush:#FBF0F2;      /* soft surfaces */
  --petal:#F5DCE2;      /* pastel pink */
  --rose:#E6B3BE;       /* borders / fills */
  --rose-deep:#A14E67;  /* accent: buttons, links */
  --rose-ink:#8B3F56;   /* accent hover */
  --plum:#3A2730;       /* text */
  --muted:#7D6872;      /* secondary text (4.5:1 on the page and on soft surfaces) */
  --line:#F0DEE3;       /* hairlines */
  --champagne:#C4A172;  /* subtle gold */
  --white:#FFFFFF;
  --ok:#2E7A58; --ok-bg:#E7F4EE; --warn:#976212; --warn-bg:#FBF1DF; --err:#B03A45; --err-bg:#FBE9EB;
  /* admin palette — deliberately different world */
  --a-bg:#F5F5F7; --a-panel:#FFFFFF; --a-ink:#1E212B; --a-muted:#6A6F7E; --a-line:#E4E5EB; --a-accent:#A14E67; --a-soft:#F7EDF0;
  --f-brand:"Bodoni Moda", Didot, "Times New Roman", serif;
  --f-display-ar:"El Messiri", "Noto Naskh Arabic", Tahoma, serif;
  --f-body-ar:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  --f-display-en:"Bodoni Moda", Didot, "Times New Roman", serif;
  --f-body-en:"Jost", "Helvetica Neue", Arial, sans-serif;
  --f-admin:"IBM Plex Sans Arabic", "IBM Plex Sans", "Segoe UI", Tahoma, sans-serif;
  --radius:20px; --radius-sm:12px;
  --shadow:0 18px 40px -22px rgba(125,50,72,.28);
  --shadow-soft:0 6px 18px -10px rgba(125,50,72,.22);
  --hdr:72px; --dirx:1;
  color-scheme:light;
}
html[lang=ar]{--f-display:var(--f-display-ar);--f-body:var(--f-body-ar);--dirx:-1}
html[lang=en]{--f-display:var(--f-display-en);--f-body:var(--f-body-en)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--plum);font-family:var(--f-body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
input,select,textarea{font:inherit;color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px;border-radius:10px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.3;text-wrap:balance;margin:0}
html[lang=en] h1,html[lang=en] h2{font-weight:500;letter-spacing:-.01em;line-height:1.12}
p{margin:0}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}
html[lang=ar] .eyebrow{letter-spacing:0;font-size:.92rem}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.muted{color:var(--muted)}
.icon{width:20px;height:20px;flex:none}
.icon-sm{width:16px;height:16px;flex:none}
html[dir=rtl] .flip{transform:scaleX(-1)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.8em 1.6em;border-radius:999px;font-weight:500;font-size:.98rem;transition:transform .25s ease,background .25s,box-shadow .25s,border-color .25s;white-space:nowrap;line-height:1.4}
.btn-primary{background:var(--rose-deep);color:var(--white);box-shadow:0 10px 22px -12px var(--rose-deep)}
.btn-primary:hover{background:var(--rose-ink);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--rose);background:var(--white);color:var(--plum)}
.btn-ghost:hover{background:var(--blush);border-color:var(--rose-deep)}
.btn-dark{background:var(--plum);color:var(--white)}
.btn-dark:hover{background:#27181f;transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn-block{width:100%}
.btn-sm{padding:.55em 1.1em;font-size:.88rem}
.link{color:var(--rose-deep);font-weight:500;display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid transparent;transition:border-color .2s}
.link:hover{border-color:currentColor}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1.5}
.pill-rose{background:var(--rose-deep);color:var(--white)}
.pill-soft{background:var(--blush);color:var(--rose-deep);border:1px solid var(--line)}
.pill-gold{background:#F8F0E4;color:#86683F;border:1px solid #EADCC6}

/* stars */
.stars{position:relative;display:inline-block;color:#EBD9DD;letter-spacing:1px;font-family:Arial,sans-serif;line-height:1;font-size:14px;white-space:nowrap;direction:ltr}
.stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:var(--champagne);white-space:nowrap}

/* header */
.site-header{position:fixed;top:0;inset-inline:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:rgba(255,251,251,calc(var(--hp,1)*.9));backdrop-filter:blur(calc(var(--hp,1)*14px));-webkit-backdrop-filter:blur(calc(var(--hp,1)*14px));border-bottom:1px solid rgba(230,179,190,calc(var(--hp,1)*.5))}
.hdr{display:flex;align-items:center;gap:clamp(10px,2vw,24px);height:var(--hdr)}
.brand-slot{font-family:var(--f-brand);font-size:26px;line-height:1;white-space:nowrap;visibility:hidden;direction:ltr}
.nav{flex:1;display:flex;justify-content:center;gap:clamp(14px,2.2vw,34px)}
.nav a{font-size:.95rem;position:relative;padding:6px 0;color:var(--plum)}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:var(--rose-deep);transform:scaleX(0);transition:transform .35s ease}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.hdr-actions{display:flex;gap:4px;align-items:center;margin-inline-start:auto}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;position:relative;transition:background .2s}
.icon-btn:hover{background:var(--blush)}
.lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--white);margin-inline:4px}
.lang-switch button{padding:3px 11px;border-radius:999px;font-size:.8rem;font-family:var(--f-body-en);transition:background .25s,color .25s}
.lang-switch button[aria-pressed=true]{background:var(--plum);color:var(--white)}
.count{position:absolute;top:3px;inset-inline-end:1px;min-width:18px;height:18px;border-radius:9px;background:var(--rose-deep);color:var(--white);font-size:11px;display:grid;place-items:center;padding:0 5px;font-family:var(--f-body-en);line-height:1}
.count[data-n="0"]{display:none}
.bump{animation:bump .55s ease}
@keyframes bump{30%{transform:scale(1.25)}60%{transform:scale(.92)}}
.menu-btn{display:none}
@media (max-width:940px){.nav{display:none}.menu-btn{display:grid}.hdr .lang-switch{display:none}}
@media (max-width:380px){.hdr-actions .search-btn{display:none}}
#brandFly{position:fixed;left:0;top:0;z-index:55;font-family:var(--f-brand);font-size:26px;line-height:1;white-space:nowrap;transform-origin:center center;color:var(--plum);direction:ltr;font-weight:400}
#brandFly em{font-style:italic;color:var(--rose-deep)}
#brandFly.anim{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
body.is-admin .site-header,body.is-admin #brandFly,body.is-admin .site-footer,body.is-admin .ai-fab,body.is-admin .ai-teaser,body.is-admin .ai-panel,body.is-admin .proto-pill{display:none}

/* page transition */
#app{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px));min-height:70vh}
body.is-admin #app{padding-top:0}
.page{animation:pageIn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}}
@supports (animation-timeline:view()){
  .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
  @keyframes rise{from{opacity:.001;transform:translateY(28px)}}
}

/* brand stage + hero */
.brand-stage{height:clamp(160px,26vw,330px);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:4px}
.brand-tag{font-family:var(--f-body-en);font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);opacity:var(--tag,1);direction:ltr;text-align:center}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(28px,5vw,64px) clamp(56px,7vw,100px)}
.hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.2rem)}
html[lang=en] .hero h1{font-size:clamp(2.4rem,5.4vw,4.6rem)}
.hero h1 .soft{color:var(--rose-deep)}
html[lang=en] .hero h1 .soft{font-style:italic}
.hero-sub{max-width:44ch;color:var(--muted);font-size:1.08rem}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.trust-row{display:flex;gap:10px 22px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.trust-row span{display:inline-flex;align-items:center;gap:8px}
.trust-row .icon-sm{color:var(--rose-deep)}
.arch{position:relative;aspect-ratio:4/5;width:100%;max-width:520px;justify-self:center;border-radius:999px 999px 28px 28px;background:radial-gradient(120% 80% at 50% 10%,#FFF 0%,var(--petal) 55%,#EFC9D1 100%);overflow:hidden;box-shadow:var(--shadow)}
.arch::before{content:"";position:absolute;inset:14px;border-radius:999px 999px 18px 18px;border:1px solid rgba(196,161,114,.55);pointer-events:none;z-index:3}
/* Pictures in the arch: 1–4 equal square tiles that sit at the bottom of the arch. Each shows its whole picture
   (contain), so photos of any size or shape stay complete, undistorted and never overlap. */
.arch-shelf{position:absolute;inset:0 8% 15% 8%;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-end;gap:10px}
.arch-item{position:relative;display:block;flex:none;width:calc(50% - 5px);aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--white);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 28px -16px rgba(120,50,70,.4);transition:transform .35s,box-shadow .35s}
a.arch-item:hover{transform:translateY(-4px);box-shadow:0 22px 34px -16px rgba(120,50,70,.45)}
.arch-item img,.arch-item svg{width:100%!important;height:100%!important;object-fit:contain!important;display:block}
.arch-shelf.n1 .arch-item{width:70%}
.arch-shelf.n3 .arch-item:first-child{width:56%}
.arch-shelf.n4 .arch-item{width:calc(46% - 5px)}
.arch-chips{position:absolute;z-index:4;inset-inline:6%;bottom:4.2%;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.arch .deco{position:absolute;inset:0;z-index:1}
@keyframes float{50%{transform:translateY(-8px)}}
.arch-chip{background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.82rem;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-soft)}
@media (max-width:860px){.hero{grid-template-columns:1fr}.arch{max-width:420px}}
@media (max-width:480px){.arch-chip{font-size:.74rem;padding:6px 10px}}

/* sections */
.sec{padding-block:clamp(56px,8vw,112px)}
.sec-tight{padding-block:clamp(36px,5vw,64px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap;margin-bottom:clamp(24px,4vw,44px)}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.sec-head p{color:var(--muted);max-width:52ch;margin-top:8px}
.band{background:var(--blush)}

/* categories */
.cats{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.cat-hero{grid-row:span 3;position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#FCEFF2 0%,var(--petal) 60%,#EEC5CF 100%);padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;gap:14px;min-height:460px;isolation:isolate}
.cat-hero h3{font-size:clamp(2.2rem,4.4vw,3.6rem);font-family:var(--f-display-ar)}
.cat-hero .sub{font-family:var(--f-body-en);letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:var(--rose-deep)}
.cat-hero p{max-width:34ch;color:var(--muted)}
.cat-hero .art{position:absolute;inset-inline-end:-4%;bottom:-2%;width:min(58%,330px);z-index:-1}
.cat-hero .btn{align-self:flex-start;margin-top:auto}
.cat-soon{display:flex;gap:16px;align-items:center;padding:16px;border-radius:var(--radius);background:var(--white);border:1px solid var(--line);position:relative;transition:border-color .3s,transform .3s}
.cat-soon:hover{border-color:var(--rose);transform:translateY(-2px)}
.cat-soon .thumb{width:96px;height:96px;flex:none;border-radius:14px;background:var(--blush);display:grid;place-items:center;overflow:hidden}
.cat-soon .thumb svg{width:110%;filter:saturate(.55);opacity:.85}
.cat-soon h3{font-size:1.2rem}
.cat-soon .en{font-family:var(--f-body-en);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cat-soon .meta{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.cat-soon .notify{font-size:.82rem;color:var(--rose-deep);display:inline-flex;gap:6px;align-items:center;align-self:flex-start}
@media (max-width:860px){.cats{grid-template-columns:1fr}.cat-hero{grid-row:auto;min-height:380px}}
/* hotfix1: on phones put the collection image in the flow so long (English) text never runs over it */
@media (max-width:860px){.cat-hero{min-height:0}.cat-hero .art{position:relative;inset:auto;width:min(70%,280px);align-self:flex-end;margin-top:4px;z-index:auto}.cat-hero .btn{margin-top:6px}}

/* product grid & card */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:clamp(12px,2vw,24px)}
@media (max-width:620px){.grid{grid-template-columns:1fr 1fr}}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;transition:box-shadow .35s,transform .35s,border-color .35s;min-width:0}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:transparent}
.pcard-media{position:relative;display:block;aspect-ratio:1/1;background:radial-gradient(80% 70% at 50% 40%,#FFF,var(--blush));overflow:hidden}
.pcard-media svg{width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pcard-media svg{transform:scale(1.06)}
.pcard .tags{position:absolute;top:12px;inset-inline-start:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;z-index:2}
.pcard .off{position:absolute;top:12px;inset-inline-end:12px;z-index:2;background:var(--white);color:var(--rose-deep);font-size:.76rem;font-weight:600;border-radius:999px;padding:3px 10px;border:1px solid var(--line);font-family:var(--f-body-en)}
/* Quick view sits directly under the "+" (add to bag) row, always visible and easy to tap */
.qv{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:38px;margin-top:8px;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--rose-ink);font-size:.84rem;transition:background .25s,border-color .25s}
.qv:hover{background:var(--blush);border-color:var(--rose)}
.pcard-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard-body h3{font-size:1.06rem;font-family:var(--f-display);line-height:1.4}
html[lang=en] .pcard-body h3{font-family:var(--f-body-en);font-weight:500;font-size:1rem}
.pcard-body .desc{color:var(--muted);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}
.rate{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);font-family:var(--f-body-en)}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.price b{font-size:1.08rem;font-weight:600}
.price s{color:var(--muted);font-size:.84rem}
.add-btn{width:42px;height:42px;border-radius:50%;background:var(--plum);color:var(--white);display:grid;place-items:center;flex:none;transition:background .25s,transform .25s}
.add-btn:hover{background:var(--rose-deep);transform:rotate(90deg)}
.add-btn.done{background:var(--ok)}
@media (max-width:620px){.pcard-body{padding:10px 12px 12px}.pcard-body .desc{display:none}.pcard-body h3{font-size:.95rem}.add-btn{width:36px;height:36px}.qv{font-size:.78rem;min-height:36px;margin-top:6px}.price b{font-size:.95rem}.pcard .off{top:8px;inset-inline-end:8px}.pcard .tags{top:8px;inset-inline-start:8px}.pill{font-size:.7rem;padding:2px 9px}}

/* collection spotlight */
.spot{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.spot h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.spot .lead{color:var(--muted);margin-top:14px;max-width:48ch}
.gens{display:grid;gap:14px}
.gen{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;transition:transform .3s}
.gen:hover{transform:translateX(calc(var(--dirx)*6px))}
.medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display-ar);font-size:1.5rem;color:var(--rose-deep);background:radial-gradient(circle at 30% 30%,#FFF,var(--petal));border:1px solid var(--rose);position:relative}
.medal::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px dashed rgba(196,161,114,.6)}
.gen h3{font-size:1.15rem}
.gen p{color:var(--muted);font-size:.9rem}
.gen .role{font-size:.76rem;color:var(--rose-deep);font-weight:500}
@media (max-width:860px){.spot{grid-template-columns:1fr}}

/* video */
.video{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.vthumb{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#F9E3E8,#E9B9C4 60%,#C98597);display:grid;place-items:center;cursor:pointer;isolation:isolate}
.vthumb .wm{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-brand);font-size:clamp(4rem,12vw,9rem);color:rgba(255,255,255,.28);font-style:italic;z-index:-1;direction:ltr}
.vthumb .arches{position:absolute;inset:0;z-index:-1;opacity:.5}
.vthumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(58,39,48,.45),transparent 55%);z-index:0}
.play{position:relative;z-index:1;width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--rose-deep);box-shadow:0 12px 30px -10px rgba(58,39,48,.5);transition:transform .3s}
.play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,255,255,.7);animation:ring 2.4s ease-out infinite}
@keyframes ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}
.vthumb:hover .play{transform:scale(1.08)}
.vmeta{position:absolute;z-index:1;bottom:16px;inset-inline:18px;display:flex;justify-content:space-between;color:var(--white);font-size:.85rem}
.video h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.video .copy{display:flex;flex-direction:column;gap:16px}
@media (max-width:860px){.video{grid-template-columns:1fr}}

/* reviews */
.rev-wrap{display:grid;grid-template-columns:320px 1fr;gap:clamp(20px,4vw,48px);align-items:start}
.rev-sum{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--hdr) + 20px)}
.rev-big{font-family:var(--f-brand);font-size:3.6rem;line-height:1;direction:ltr}
.rev-sum .stars{font-size:20px}
.dist{display:grid;gap:6px;font-size:.82rem;font-family:var(--f-body-en)}
.dist div{display:grid;grid-template-columns:18px 1fr 36px;gap:10px;align-items:center}
.bar{height:6px;border-radius:3px;background:var(--blush);overflow:hidden}
.bar i{display:block;height:100%;background:var(--champagne);border-radius:3px}
.rev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.rcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px}
.rcard p{font-size:.95rem}
.rcard .who{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--petal);color:var(--rose-deep);display:grid;place-items:center;font-weight:600;flex:none}
.who small{display:block;color:var(--muted);font-size:.76rem;font-family:var(--f-body-en)}
.verified{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;color:var(--ok)}
.rev-prod{font-size:.8rem;color:var(--rose-deep)}
@media (max-width:900px){.rev-wrap{grid-template-columns:1fr}.rev-sum{position:static}}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.flabel{font-size:.86rem;font-weight:500}
.field .opt{color:var(--muted);font-weight:400}
.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--white);border-radius:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;font-size:.95rem}
.textarea{min-height:96px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--rose-deep);box-shadow:0 0 0 4px rgba(161,78,103,.12)}
.field.has-err .input,.field.has-err .select,.field.has-err .textarea{border-color:var(--err);background:var(--err-bg)}
.err-msg{color:var(--err);font-size:.8rem;display:none}
.field.has-err .err-msg{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.star-input{display:flex;gap:4px;direction:ltr}
html[dir=rtl] .star-input{flex-direction:row-reverse;justify-content:flex-end}
.star-input button{font-size:26px;color:#EBD9DD;line-height:1;transition:transform .15s,color .15s}
.star-input button.on{color:var(--champagne)}
.star-input button:hover{transform:scale(1.15)}
.check{display:flex;align-items:center;gap:8px;font-size:.88rem;cursor:pointer}
.check input{accent-color:var(--rose-deep);width:16px;height:16px}

/* social */
.social{display:flex;gap:12px;flex-wrap:wrap}
.soc{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);color:var(--plum);transition:background .3s,color .3s,transform .3s}
.soc:hover{background:var(--plum);color:var(--white);transform:translateY(-3px)}
.soc svg{width:22px;height:22px}
.community{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,48px);position:relative;overflow:hidden}
.community h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.handles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.handle{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--blush);font-size:.9rem;transition:background .25s;min-width:0}
.handle:hover{background:var(--petal)}
.handle svg{width:20px;height:20px;flex:none;color:var(--rose-deep)}
.handle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
@media (max-width:760px){.community{grid-template-columns:1fr}}
@media (max-width:400px){.handles{grid-template-columns:1fr}}

/* footer */
.site-footer{background:#2F1F27;color:#EAD9DE;margin-top:40px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-block:64px 36px}
.foot h4{font-family:var(--f-body);font-size:.86rem;font-weight:600;color:var(--white);margin-bottom:14px;letter-spacing:.04em}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.9rem}
.foot a:hover{color:var(--white)}
.foot .fbrand{font-family:var(--f-brand);font-size:2rem;color:var(--white);direction:ltr;display:inline-block}
.foot .fbrand em{color:#E6B3BE}
.foot p{font-size:.9rem;color:#C9B3BA;margin-top:12px;max-width:34ch}
.foot .soc{background:transparent;border-color:rgba(234,217,222,.25);color:#EAD9DE;width:42px;height:42px}
.foot .soc:hover{background:#EAD9DE;color:#2F1F27}
.foot .num{direction:ltr;display:inline-block;font-family:var(--f-body-en)}
.pays{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pays span{border:1px solid rgba(234,217,222,.25);border-radius:8px;padding:3px 10px;font-size:.76rem}
.legal{border-top:1px solid rgba(234,217,222,.15);padding-block:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#B49BA3}
@media (max-width:900px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot{grid-template-columns:1fr}}

/* page headers & breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.84rem;color:var(--muted);padding-block:22px 6px}
.crumbs a:hover{color:var(--rose-deep)}
.crumbs .sep{opacity:.5}
.col-banner{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(120deg,#FCEFF2,var(--petal) 55%,#EBC0CA);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:24px;margin-block:14px 36px;isolation:isolate}
.col-banner h1{font-size:clamp(2.4rem,6vw,4.4rem);font-family:var(--f-display-ar)}
.col-banner .sub{font-family:var(--f-body-en);letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:var(--rose-deep)}
.col-banner p{color:var(--muted);max-width:46ch;margin-top:10px}
.col-banner .art{max-width:280px;justify-self:end}
@media (max-width:700px){.col-banner{grid-template-columns:1fr}.col-banner .art{justify-self:center;max-width:220px}}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;max-width:100%}
.chips::-webkit-scrollbar{display:none}
.chip{padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-size:.86rem;white-space:nowrap;transition:all .2s}
.chip:hover{border-color:var(--rose)}
.chip[aria-pressed=true]{background:var(--plum);color:var(--white);border-color:var(--plum)}
.select-sm{border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--white);font-size:.86rem}
.page-title{font-size:clamp(2rem,4vw,3rem);margin-block:8px 24px}

/* product page */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start;padding-bottom:40px}
.gallery{display:grid;gap:12px;position:sticky;top:calc(var(--hdr) + 16px)}
.g-main{aspect-ratio:1/1;border-radius:28px;background:radial-gradient(80% 70% at 50% 40%,#FFF,var(--petal));overflow:hidden;position:relative;max-width:100%}
.g-main svg{width:100%;height:100%;animation:imgIn .6s ease}
@keyframes imgIn{from{opacity:0;transform:scale(1.04)}}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.g-thumbs button{aspect-ratio:1/1;border-radius:14px;background:var(--blush);border:1px solid var(--line);overflow:hidden;transition:border-color .2s}
.g-thumbs button[aria-pressed=true]{border:2px solid var(--rose-deep)}
.pinfo{display:flex;flex-direction:column;gap:16px;min-width:0}
.pinfo h1{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.pinfo .size{color:var(--muted);font-size:.9rem}
.pprice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.pprice b{font-size:1.8rem;font-weight:600;font-family:var(--f-body-en)}
html[lang=ar] .pprice b{font-family:var(--f-body-ar)}
.pprice s{color:var(--muted)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.qty button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}
.qty button:hover{background:var(--blush)}
.qty output,.qty span{min-width:32px;text-align:center;font-variant-numeric:tabular-nums;font-family:var(--f-body-en)}
.buy-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.buy-row .btn{flex:1;min-width:150px}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.perks div{background:var(--blush);border-radius:14px;padding:12px;font-size:.8rem;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
.perks svg{color:var(--rose-deep)}
@media (max-width:420px){.perks{grid-template-columns:1fr}}
details.acc{border-top:1px solid var(--line)}
details.acc:last-of-type{border-bottom:1px solid var(--line)}
details.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 2px;font-weight:500}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary .pm{transition:transform .3s}
details.acc[open] summary .pm{transform:rotate(45deg)}
details.acc .acc-body{padding:0 2px 18px;color:var(--muted);font-size:.95rem;animation:pageIn .35s ease}
.acc-body ul{margin:0;padding-inline-start:20px;display:grid;gap:6px}
.ingr{display:flex;flex-wrap:wrap;gap:8px}
.ingr span{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.84rem;color:var(--plum)}
.care-note{display:flex;gap:10px;background:#FBF6EE;border:1px solid #EFE2CD;border-radius:14px;padding:12px 14px;font-size:.84rem;color:#6E5634}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--ok)}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.buybar{display:none}
@media (max-width:860px){
  .pdp{grid-template-columns:1fr}.gallery{position:static}
  .buybar{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:45;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));gap:12px;align-items:center}
  .buybar .btn{flex:1}
  body.has-buybar .ai-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body.has-buybar .proto-pill{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* overlays */
.scrim{position:fixed;inset:0;background:rgba(47,31,39,.38);backdrop-filter:blur(2px);z-index:79;opacity:0;pointer-events:none;transition:opacity .35s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;z-index:80;width:min(440px,100%);background:var(--paper);display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 60px rgba(58,39,48,.2);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.end{inset-inline-end:0;transform:translateX(calc(var(--dirx)*100%))}
.drawer.start{inset-inline-start:0;transform:translateX(calc(var(--dirx)*-100%))}
.drawer.open{transform:none}
.d-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.d-head h2{font-size:1.4rem}
.d-body{flex:1;overflow-y:auto;padding:16px 20px}
.d-foot{border-top:1px solid var(--line);padding:18px 20px;display:grid;gap:10px;background:var(--white)}
.citem{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;padding-block:16px;border-bottom:1px solid var(--line);animation:pageIn .35s ease;align-items:start}
/* the whole product stays visible in its frame: never cropped, never stretched */
.citem .ci-img{display:block;aspect-ratio:1/1;border-radius:16px;background:var(--white);border:1px solid var(--line);overflow:hidden}
.citem .ci-img img,.citem .ci-img svg{width:100%!important;height:100%!important;object-fit:contain!important;display:block}
.citem .ci-main{display:grid;gap:6px;min-width:0}
.citem h3{font-size:1rem;font-family:var(--f-body);font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.ci-meta{font-size:.8rem;color:var(--muted)}
.ci-parts{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:.82rem;color:var(--muted)}
.ci-prices{margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.84rem}
.ci-prices div{display:flex;gap:6px;align-items:baseline}
.ci-prices dt{color:var(--muted)}
.ci-prices dd{margin:0;font-variant-numeric:tabular-nums}
.ci-prices s{color:var(--muted);font-size:.78rem}
.ci-prices .ci-total b{font-size:1rem}
.citem .ci-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ci-qty{display:inline-flex;align-items:center;gap:8px}
@media (max-width:400px){.citem{grid-template-columns:100px minmax(0,1fr);gap:12px}}
.citem .qty button{width:32px;height:32px}
.rm{font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:4px}
.rm:hover{color:var(--err)}
.sumline{display:flex;justify-content:space-between;font-size:.92rem;font-variant-numeric:tabular-nums}
.sumline.disc{color:var(--ok)}
.sumline.total{font-size:1.1rem;font-weight:600;padding-top:8px;border-top:1px dashed var(--line)}
.ship-meter{background:var(--blush);border-radius:14px;padding:12px 14px;font-size:.84rem;display:grid;gap:8px}
.ship-meter .bar{background:var(--white)}
.ship-meter .bar i{background:var(--rose-deep);transition:width .5s}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:48px 12px}
.empty .ill{width:140px;height:140px;border-radius:50%;background:var(--blush);display:grid;place-items:center}
.empty h3{font-size:1.3rem}
.empty p{color:var(--muted);max-width:30ch}
.mnav{display:grid;gap:4px}
.mnav a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:1.25rem}
.search-panel{position:fixed;top:0;inset-inline:0;z-index:85;background:var(--paper);padding:calc(18px + env(safe-area-inset-top,0px)) 0 24px;transform:translateY(-105%);transition:transform .45s cubic-bezier(.2,.7,.2,1);box-shadow:0 20px 50px -20px rgba(58,39,48,.3);max-height:90vh;overflow-y:auto}
.search-panel.open{transform:none}
.sbox{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--rose);padding-bottom:10px}
.sbox input{flex:1;border:0;background:none;font-size:1.3rem;font-family:var(--f-display);outline:none;min-width:0}
.sres{display:grid;gap:4px;margin-top:14px}
.sres a{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:14px}
.sres a:hover{background:var(--blush)}
.sres .ci-img{aspect-ratio:1/1;border-radius:10px;background:var(--blush);overflow:hidden}
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;pointer-events:none}
.modal .box{background:var(--paper);border-radius:28px;width:min(860px,100%);max-height:calc(100dvh - 32px);overflow:auto;position:relative;opacity:0;transform:translateY(20px) scale(.98);transition:opacity .35s,transform .35s;pointer-events:none}
.modal.open{pointer-events:auto}
.modal.open .box{opacity:1;transform:none;pointer-events:auto}
.modal .x{position:absolute;top:12px;inset-inline-end:12px;z-index:2;background:var(--white)}
.qv-grid{display:grid;grid-template-columns:1fr 1fr}
.qv-grid .g-main{border-radius:0}
.qv-grid .pinfo{padding:32px 28px}
@media (max-width:700px){.qv-grid{grid-template-columns:1fr}.qv-grid .pinfo{padding:20px}}
.vid-ph{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,#3A2730,#6C3B4B);color:#F5DCE2;text-align:center;padding:24px;gap:10px}
.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;z-index:95;transform:translate(-50%,30px);opacity:0;background:var(--plum);color:var(--white);padding:12px 20px;border-radius:999px;font-size:.9rem;display:flex;gap:10px;align-items:center;transition:all .35s;pointer-events:none;max-width:calc(100% - 32px)}
.toast.on{transform:translate(-50%,0);opacity:1}
.toast svg{color:#9EE0C0}

/* AI assistant */
.ai-fab{position:fixed;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;height:58px;padding-inline:8px 20px;border-radius:999px;background:var(--plum);color:var(--white);display:flex;align-items:center;gap:10px;box-shadow:0 18px 40px -14px rgba(58,39,48,.6);transition:transform .3s,bottom .3s}
.ai-fab:hover{transform:translateY(-3px)}
.ai-orb{width:42px;height:42px;border-radius:50%;background:conic-gradient(from 200deg,#F5DCE2,#E6B3BE,#C4A172,#F5DCE2);display:grid;place-items:center;color:var(--plum);animation:spin 8s linear infinite}
.ai-orb svg{animation:spin 8s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.ai-fab .lbl{font-size:.9rem;font-weight:500}
@media (max-width:600px){.ai-teaser{display:none}.ai-fab{padding-inline:8px;width:58px;justify-content:center}.ai-fab .lbl{display:none}}
.ai-teaser{position:fixed;inset-inline-end:20px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:69;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:12px 36px 12px 14px;font-size:.88rem;box-shadow:var(--shadow);max-width:260px;animation:pageIn .6s ease 1.2s both}
html[dir=rtl] .ai-teaser{padding:12px 14px 12px 36px}
.ai-teaser .x{position:absolute;top:6px;inset-inline-end:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.ai-panel{position:fixed;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:75;width:min(410px,calc(100vw - 24px));height:min(640px,calc(100dvh - 110px));background:var(--paper);border-radius:28px;box-shadow:0 30px 80px -20px rgba(58,39,48,.45);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transform:scale(.6) translateY(40px);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s;border:1px solid var(--line)}
html[dir=rtl] .ai-panel{transform-origin:bottom left}
.ai-panel.open{transform:none;opacity:1;pointer-events:auto}
@media (max-width:600px){.ai-panel{inset:0;width:100%;height:100%;border-radius:0;padding-top:env(safe-area-inset-top,0px)}}
.ai-head{padding:16px 18px;background:linear-gradient(135deg,var(--plum),#5A3342);color:var(--white);display:flex;align-items:center;gap:12px}
.ai-head .ai-orb{width:40px;height:40px;flex:none}
.ai-head h2{font-size:1.05rem;font-family:var(--f-body);font-weight:600}
.ai-head small{color:#E6B3BE;font-size:.76rem;display:flex;align-items:center;gap:6px}
.ai-head small::before{content:"";width:7px;height:7px;border-radius:50%;background:#8BD8B3}
.ai-head .icon-btn{margin-inline-start:auto;color:var(--white)}
.ai-head .icon-btn:hover{background:rgba(255,255,255,.12)}
.ai-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(var(--paper),var(--blush))}
.msg{max-width:88%;padding:11px 14px;border-radius:18px;font-size:.92rem;line-height:1.65;animation:pageIn .35s ease}
.msg.bot{background:var(--white);border:1px solid var(--line);border-end-start-radius:6px;align-self:flex-start}
.msg.me{background:var(--rose-deep);color:var(--white);border-end-end-radius:6px;align-self:flex-end}
.msg ul{margin:6px 0 0;padding-inline-start:18px}
.ai-prods{display:grid;gap:8px;margin-top:10px}
.ai-prod{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;background:var(--blush);border-radius:14px;padding:8px}
.ai-prod .ci-img{aspect-ratio:1/1;border-radius:10px;background:var(--white);overflow:hidden}
.ai-prod b{font-size:.86rem;font-weight:500;display:block;line-height:1.4}
.ai-prod .pr{font-size:.8rem;color:var(--rose-deep);font-variant-numeric:tabular-nums}
.ai-prod .acts{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.ai-prod .acts a,.ai-prod .acts button{font-size:.74rem;padding:3px 10px;border-radius:999px;border:1px solid var(--rose);background:var(--white)}
.ai-prod .acts button{background:var(--plum);color:var(--white);border-color:var(--plum)}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-chips button{font-size:.8rem;padding:6px 12px;border-radius:999px;background:var(--white);border:1px solid var(--rose);color:var(--rose-deep);transition:background .2s;text-align:start}
.ai-chips button:hover{background:var(--petal)}
/* Phase 4: real assistant replies (safe formatted text, medical CTA, approved recipes) */
.ai-head-acts{margin-inline-start:auto;display:flex;gap:2px}
.ai-head .ai-head-acts .icon-btn{margin-inline-start:0}
.ai-text p{margin:0 0 6px}.ai-text p:last-child{margin-bottom:0}.ai-text p:empty{display:none}
.ai-text ul,.ai-text ol{margin:4px 0 8px;padding-inline-start:20px}.ai-text li{margin:2px 0}
.ai-text b{font-weight:600}
.msg.bot.is-medical{border-color:#EFE2CD;background:#FFFCF6}
.msg.bot.is-error{border-style:dashed}
.ai-note{display:flex;gap:6px;align-items:center;color:#86683F;margin-bottom:4px;font-weight:600}
.ai-contacts{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.ai-contact{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:500;color:#fff;background:var(--plum);text-decoration:none;max-width:100%}
.ai-contact .icon,.ai-contact svg{width:16px;height:16px;flex:none}
.ai-contact b{font-weight:600;font-variant-numeric:tabular-nums}
.ai-c-whatsapp,.ai-c-medical{background:#1F8A5B;box-shadow:0 8px 18px -10px rgba(31,138,91,.7)}
.ai-c-facebook{background:#1877F2}.ai-c-instagram{background:#C13584}.ai-c-tiktok{background:#111}
.ai-med{margin-top:10px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ai-med small{font-size:.76rem;color:var(--muted)}
.ai-med-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:#1F8A5B;color:#fff;font-size:.86rem;font-weight:500;box-shadow:0 8px 18px -10px rgba(31,138,91,.7)}
.ai-med-btn:hover{background:#18744C}
.ai-team{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;padding:6px 12px;border-radius:999px;background:var(--white);border:1px solid var(--line);color:var(--plum)}
.ai-recipe{margin-top:10px;background:var(--blush);border-radius:14px;padding:10px 12px;font-size:.86rem}
.ai-recipe .t{display:block;font-weight:600;margin-bottom:4px}
.ai-recipe .h{font-weight:600;color:var(--plum);font-size:.8rem}
.ai-recipe p{margin:4px 0}.ai-recipe ul,.ai-recipe ol{margin:2px 0 6px;padding-inline-start:20px}
.ai-recipe .warn{margin-top:6px;background:#FFF6E5;border:1px solid #F0DDB5;border-radius:10px;padding:6px 8px;font-size:.78rem;color:#7A5A1F}
.ai-recipe .src,.ai-src small{display:block;margin-top:4px;font-size:.74rem;color:var(--muted)}
.typing{display:inline-flex;gap:4px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--rose);animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{transform:translateY(-5px);background:var(--rose-deep)}}
.ai-foot{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--white)}
.ai-form{display:flex;gap:8px;align-items:center;background:var(--blush);border-radius:999px;padding:5px 5px 5px 16px}
html[dir=rtl] .ai-form{padding:5px 16px 5px 5px}
.ai-form input{flex:1;border:0;background:none;outline:none;min-width:0;font-size:.92rem}
.ai-form button{width:40px;height:40px;border-radius:50%;background:var(--rose-deep);color:var(--white);display:grid;place-items:center;flex:none}
.ai-disc{font-size:.72rem;color:var(--muted);text-align:center;margin-top:6px;line-height:1.5}
.compare{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:8px}
.compare th,.compare td{padding:6px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.proto-pill{position:fixed;inset-inline-start:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;font-size:.82rem;font-weight:500;background:#1E212B;color:#fff;padding:10px 16px;border-radius:999px;display:flex;gap:8px;align-items:center;box-shadow:0 12px 28px -12px rgba(20,22,30,.6)}
.proto-pill:hover{background:#000}
@media (max-width:600px){.proto-pill{bottom:calc(30px + env(safe-area-inset-bottom,0px))}}

/* checkout */
.steps{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:28px;font-size:.86rem}
.steps span{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.steps b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rose);font-weight:500;font-family:var(--f-body-en);font-size:.8rem}
.steps .done b{background:var(--ok);border-color:var(--ok);color:var(--white)}
.steps .cur{color:var(--plum);font-weight:500}
.steps .cur b{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--white)}
.steps .ln{width:28px;height:1px;background:var(--rose)}
.co{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(20px,4vw,48px);align-items:start;padding-bottom:60px}
.co-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3vw,28px);display:grid;gap:16px}
.co-card h2{font-size:1.25rem;display:flex;align-items:center;gap:10px}
.co-card h2 i{font-style:normal;width:28px;height:28px;border-radius:50%;background:var(--blush);color:var(--rose-deep);display:grid;place-items:center;font-size:.85rem;font-family:var(--f-body-en)}
.co-form{display:grid;gap:18px;min-width:0}
.co-sum{position:sticky;top:calc(var(--hdr) + 16px)}
.paym{display:grid;gap:10px}
.pay-opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .2s,background .2s}
.pay-opt:hover{border-color:var(--rose)}
.pay-opt input{accent-color:var(--rose-deep);width:18px;height:18px}
.pay-opt:has(input:checked){border-color:var(--rose-deep);background:var(--blush)}
.pay-opt b{display:block;font-weight:500}
.pay-opt small{color:var(--muted);font-size:.8rem}
.pay-logo{font-family:var(--f-body-en);font-size:.72rem;font-weight:600;padding:5px 8px;border-radius:8px;letter-spacing:.02em}
.pl-vf{background:#E60000;color:#fff}.pl-ip{background:#4B1E78;color:#fff}.pl-cod{background:var(--plum);color:#fff}
.pay-info{background:#FBF6EE;border:1px solid #EFE2CD;border-radius:14px;padding:14px;display:grid;gap:10px;font-size:.88rem;animation:pageIn .3s ease}
.copy-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--white);border-radius:10px;padding:8px 12px;border:1px solid #EFE2CD}
.copy-row code{font-family:var(--f-body-en);font-size:1rem;direction:ltr;user-select:all}
.mini-items{display:grid;gap:12px;max-height:320px;overflow:auto}
.mini{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;font-size:.88rem}
.mini .ci-img{aspect-ratio:1/1;border-radius:12px;background:var(--blush);overflow:hidden;position:relative}
.mini .q{position:absolute;top:-4px;inset-inline-end:-4px}
.form-err{background:var(--err-bg);color:var(--err);border-radius:12px;padding:10px 14px;font-size:.86rem;display:flex;gap:8px;align-items:center}
.success{max-width:640px;margin-inline:auto;text-align:center;display:grid;gap:16px;justify-items:center;padding-block:40px 80px}
.tick{width:92px;height:92px;border-radius:50%;background:var(--ok-bg);display:grid;place-items:center;color:var(--ok)}
.tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s .2s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.btn-wa{background:#1A8748;color:#fff}
.btn-wa:hover{background:#178247}
@media (max-width:900px){.co{grid-template-columns:1fr}.co-sum{position:static;order:-1}}

/* simple content pages */
.prose{max-width:68ch;display:grid;gap:14px;color:var(--muted)}
.prose h2{color:var(--plum);font-size:1.6rem;margin-top:12px}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px}
.values div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:8px}
.values svg{color:var(--rose-deep)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;padding-bottom:60px}
.wa-card{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:14px}
.wa-card .ic{width:42px;height:42px;border-radius:50%;background:#E9F6EE;color:#1F9D55;display:grid;place-items:center;flex:none}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ================= PHASE 2 additions (same tokens, smallest possible components) ================= */
.icon-xs{width:12px;height:12px;flex:none}
.pill-out{background:var(--plum);color:var(--white)}
.pcard.is-out .pcard-media svg,.pcard.is-out .pcard-media img{opacity:.55;filter:saturate(.6)}
.add-btn[disabled]{background:var(--line);color:var(--muted);cursor:not-allowed;transform:none}
.qty button[disabled]{opacity:.35;cursor:not-allowed;background:none}
.stock.low{color:var(--warn)}
.stock.out{color:var(--err)}
.stock-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--err-bg);color:var(--err);border-radius:14px;padding:12px 14px;font-size:.88rem}
.stock-box .btn{margin-inline-start:auto}
.form-ok{background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:10px 14px;font-size:.86rem;display:flex;gap:8px;align-items:flex-start}
.tb-end{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filter-btn{display:inline-flex;align-items:center;gap:6px}
.fcount{min-width:18px;height:18px;border-radius:9px;background:var(--rose-deep);color:var(--white);font-size:11px;display:inline-grid;place-items:center;padding:0 5px;font-family:var(--f-body-en)}
.sort-lbl{font-size:.86rem;display:flex;gap:8px;align-items:center}
.results-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 18px;font-size:.86rem}
.fpill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--blush);border:1px solid var(--line);color:var(--plum);font-size:.8rem;transition:border-color .2s}
.fpill:hover{border-color:var(--rose-deep)}
.fgroups{display:grid;gap:22px;align-content:start}
.fgroups fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.fgroups legend{font-weight:500;margin-bottom:8px;padding:0}
.cart-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px;font-size:.84rem}
.ship-select{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.86rem}
.ship-select span{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}
.ship-select select{max-width:60%}
.btn.is-disabled{opacity:.5;cursor:not-allowed;transform:none}
.has-issue{background:linear-gradient(var(--err-bg),var(--err-bg)) padding-box;border-radius:12px}
.citem.has-issue{padding-inline:8px}
.issue{color:var(--err);font-size:.78rem;display:flex;gap:4px;align-items:center;margin-top:4px}
/* ---------- checkout: searchable address boxes ---------- */
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:420px){.row3{gap:8px}.row3 .field label{font-size:.78rem}.row3 .opt{display:none}}
.geo-field{position:relative;scroll-margin-top:96px}
.geo-field.is-open{z-index:6}
.combo{position:relative}
.combo-input{padding-inline-end:42px;text-overflow:ellipsis}
.combo-ic{position:absolute;inset-block:0;inset-inline-end:14px;display:grid;place-items:center;color:var(--muted);pointer-events:none}
.combo-ic .icon{width:18px;height:18px}
.combo-pop{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:40;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(60,30,40,.16);max-height:min(300px,46vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.combo-pop[hidden]{display:none}
.combo-list{list-style:none;margin:0;padding:6px}
.combo-opt{padding:11px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.95rem;line-height:1.35}
.combo-opt small{color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48%}
.combo-opt:hover,.combo-opt[aria-selected="true"]{background:var(--blush)}
.combo-note{padding:12px;color:var(--muted);font-size:.88rem;display:flex;align-items:center;gap:8px}
.combo-more,.combo-foot{padding:8px 12px;font-size:.86rem}
.combo-foot{border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
.geo-switch{align-self:flex-start;font-size:.82rem;text-align:start;padding:2px 0}
.geo-wait{font-size:.82rem;padding:12px 0}
.geo-credit{font-size:.72rem;margin:0}
.spin-sm{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--rose-deep);display:inline-block;animation:geo-spin .7s linear infinite}
@keyframes geo-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin-sm{animation:none}}
.ship-line{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--blush);border-radius:12px;padding:10px 14px;font-size:.9rem;font-variant-numeric:tabular-nums}
.ship-line span:first-child{display:inline-flex;gap:8px;align-items:center;color:var(--muted)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.send-note{display:flex;gap:10px;align-items:flex-start;text-align:start;background:#FBF6EE;border:1px solid #EFE2CD;color:#6E5634;border-radius:14px;padding:12px 16px;font-size:.9rem;max-width:560px}
.next-steps{text-align:start;display:grid;gap:8px;margin:0;padding-inline-start:22px;max-width:520px;color:var(--plum)}
.wa-help{width:100%;max-width:560px;border:1px solid var(--line);border-radius:14px;background:var(--white);text-align:start}
.wa-help summary{cursor:pointer;padding:12px 16px;font-weight:500;list-style:none}
.wa-help summary::-webkit-details-marker{display:none}
.wa-help .acc-body{padding:0 16px 16px;color:var(--muted);font-size:.9rem}
.tick.pending{background:var(--blush);color:var(--rose-deep)}
.success .steps{justify-content:center}
.soc.is-off,.foot .soc.is-off{opacity:.4;cursor:default}
.soc.is-off:hover{background:var(--white);color:var(--plum);transform:none}
.foot .soc.is-off:hover{background:transparent;color:#EAD9DE}
.handle.is-off{opacity:.6}
.handle.is-off:hover{background:var(--blush)}
.toast.err{background:var(--err)}
.toast.err svg{color:#FFD9DD}
.co>*{min-width:0}
.btn-block,.success .btn{white-space:normal;text-align:center}

/* ================= PHASE 3 additions (offers, banners, video) — same tokens ================= */
[hidden]{display:none!important}
.offer-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.offer-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border-radius:var(--radius);background:linear-gradient(135deg,#FCEFF2,var(--petal));border:1px solid var(--line);overflow:hidden;isolation:isolate;min-height:120px;transition:transform .3s,box-shadow .3s}
.offer-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.offer-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.offer-card:has(img)::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(58,39,48,.62),rgba(58,39,48,.1));z-index:-1}
.offer-card:has(img){color:var(--white);min-height:170px;justify-content:flex-end}
.offer-card b{font-family:var(--f-display);font-size:1.2rem;font-weight:600;line-height:1.35}
.offer-card small{font-size:.84rem;opacity:.85}
.offer-card:has(img) .link{color:var(--white)}
.offer-parts{line-height:1.6}
.offer-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.btn-offer{background:var(--plum);color:var(--white)}
.btn-offer:hover{background:var(--rose-deep)}
.offer-card:has(img) .btn-offer{background:var(--white);color:var(--plum)}
.offer-card:has(img) .btn-offer:hover{background:var(--blush)}
.offer-off{font-size:.82rem;opacity:.9}
/* offer with an uploaded picture: the picture whole on top (its own text stays readable), the card text below it */
.offer-card.has-media{padding:0;gap:0;color:inherit;justify-content:flex-start;background:var(--white)}
.offer-card.has-media::after{content:none}
.offer-card.has-media .oc-media{display:block;width:100%;aspect-ratio:2/1;background:var(--blush);overflow:hidden}
.offer-card.has-media .oc-media img{position:static;inset:auto;width:100%;height:100%;object-fit:contain;z-index:auto;display:block}
.offer-card.has-media .oc-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px 18px;flex:1;width:100%}
.offer-card.has-media .link{color:var(--plum)}
.offer-card.has-media .btn-offer{background:var(--plum);color:var(--white)}
.offer-card.has-media .btn-offer:hover{background:var(--rose-deep)}
.offer-detail .od-banner:has(img){aspect-ratio:2/1}
.offer-detail .od-banner img{object-fit:contain}
.offer-detail .od-banner{aspect-ratio:16/7;background:var(--blush);overflow:hidden;border-radius:28px 28px 0 0}
.offer-detail .od-banner img{width:100%;height:100%;object-fit:cover;display:block}
.offer-detail .pinfo{padding:26px 26px 30px;display:grid;gap:12px;justify-items:start}
.od-items{list-style:none;margin:0;padding:0;display:grid;gap:10px;width:100%}
.od-items li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}
.od-items .ci-img{display:block;aspect-ratio:1/1;border-radius:12px;background:var(--white);border:1px solid var(--line);overflow:hidden}
.od-items .ci-img img,.od-items .ci-img svg{width:100%!important;height:100%!important;object-fit:contain!important;display:block}
.od-items span{display:grid;gap:2px;min-width:0}
.od-items s{color:var(--muted)}
.received-name{font-family:var(--f-display);font-size:1.3rem;margin:0}
.received-ref{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;background:var(--blush);border:1px solid var(--line);border-radius:999px;padding:8px 10px 8px 18px}
html[dir=rtl] .received-ref{padding:8px 18px 8px 10px}
.received-ref b{font-family:var(--f-body-en);font-size:1.1rem;letter-spacing:.02em}
.received-thanks{margin:0;font-weight:500}
.prose ol{padding-inline-start:1.3em;display:grid;gap:6px;color:var(--muted)}
.offer-note{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--blush);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.86rem;color:var(--rose-deep)}
.offer-note span{color:var(--muted)}
.vid-frame{aspect-ratio:16/9;background:#000;max-width:100%}
.vid-frame iframe,.vid-frame video{width:100%;height:100%;border:0;display:block}

/* UGC videos (homepage) + category social links — added with the marketing add-ons */
.ugc-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,250px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 2px 14px;scrollbar-width:thin}
.ugc-card{scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 34px -26px rgba(58,39,48,.5)}
.ugc-media{aspect-ratio:9/16;background:linear-gradient(160deg,#F7E4E8,#EAC7CF);position:relative}
.ugc-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.ugc-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;font-size:.88rem;line-height:1.6}
.ugc-body p{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.ugc-body .link{font-size:.82rem;align-self:flex-start}
@media (max-width:600px){.ugc-row{grid-auto-columns:68vw;margin-inline:-16px;padding-inline:16px}}
.cat-social{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-16px 0 28px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:18px}
.cat-social .lbl{font-size:.86rem;font-weight:500;color:var(--plum)}
.cat-social .handles{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.cat-social .handle{padding:8px 12px;border-radius:999px;font-size:.84rem;max-width:100%}
.cat-social .handle span{direction:inherit;unicode-bidi:plaintext}

.brand-tag span{display:inline-block;white-space:nowrap}
@media (max-width:480px){.brand-tag{font-size:.66rem;letter-spacing:.24em}}
