/* =====================================================================
   MORELINA — edizione "maison". Bianco, nero, Jost, maiuscolo spaziato.
   ===================================================================== */
@font-face{font-family:'Jost';src:url('../fonts/jost-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Jost';src:url('../fonts/jost-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Jost';src:url('../fonts/jost-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  --bg:#fff; --ink:#111; --ink-2:#555; --line:#e5e5e5; --tile:#f6f5f3; --rosa:#BB8793; --giallo:#FFE600;
  --font:'Jost','Futura','Helvetica Neue',Arial,sans-serif;
  --track:.16em; --hdr:64px; --gut:clamp(16px,4vw,48px); --maxw:1440px;
  --ease:cubic-bezier(.25,.1,.25,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-weight:400;font-size:15px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-weight:400;line-height:1.15}
.skip{position:absolute;inset-inline-start:8px;top:-60px}.skip:focus{top:8px;background:#fff;padding:8px;z-index:200} /* fuori schermo in verticale: con l'arabo (RTL) un offset orizzontale creerebbe scroll */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.only-desk{display:none}
@media(min-width:1000px){.only-desk{display:inline-flex}}

/* ---- tipografia maison ---- */
.eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.sec-title,.edit-text h2,.duo-text h2,.unici-text h2,.designer-text h2,.news-text h2,.intro-title,.cat-title,.pd-name{font-size:clamp(1.25rem,2.2vw,1.8rem);letter-spacing:var(--track);text-transform:uppercase;font-weight:400}
.cta{display:inline-block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid currentColor;transition:opacity .3s}
.cta:hover{opacity:.55}
.cta-light{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--ink);transition:background .3s,color .3s;min-height:48px}
.btn-black{background:var(--ink);color:#fff}.btn-black:hover{background:#333}
.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.badge{display:inline-block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rosa);border:1px solid var(--rosa);padding:4px 8px;background:rgba(255,255,255,.9)}

/* ---- header ---- */
.hdr{position:fixed;top:0;left:0;right:0;height:var(--hdr);z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.hdr.scrolled,.is-catalog .hdr,.is-product .hdr{border-bottom-color:var(--line)}
.is-home .hdr:not(.scrolled){background:transparent;color:#fff}

.hdr-in{max-width:var(--maxw);margin:0 auto;height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gut)}
.hdr-left,.hdr-right{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.hdr-right{justify-content:flex-end}
.hdr-link{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;position:relative;padding:4px 0}
.hdr-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .35s var(--ease)}
.hdr-link:hover::after{transform:scaleX(1)}
.hdr-icon svg{width:20px;height:20px;display:block}
.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem;letter-spacing:.34em;text-transform:uppercase;font-weight:500;padding-left:.34em}
.brand img{width:28px;height:28px}
.is-home .hdr:not(.scrolled) .brand img{filter:drop-shadow(0 0 6px rgba(255,255,255,.55))} /* logo sempre a colori (malva), con alone per leggibilità sulla foto */
.burger{display:flex;align-items:center;gap:12px;padding:8px 0}
.burger-ico{position:relative;width:20px;height:12px;display:block}
.burger-ico span{position:absolute;left:0;width:20px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}
.burger-ico span:nth-child(1){top:0}.burger-ico span:nth-child(2){top:50%;transform:translateY(-50%)}.burger-ico span:nth-child(3){bottom:0}
.burger em{font-style:normal;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
body.menu-open .burger-ico span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}body.menu-open .burger-ico span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}body.menu-open .burger-ico span:nth-child(2){opacity:0}
body.menu-open{overflow:hidden}
body.menu-open .hdr{background:#fff;color:var(--ink)}body.menu-open .brand img{filter:none}
.menu{position:fixed;inset:var(--hdr) 0 0 0;background:#fff;z-index:90;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);overflow:auto}
body.menu-open .menu{opacity:1;transform:none;pointer-events:auto}
.menu-in{max-width:var(--maxw);margin:0 auto;padding:40px var(--gut);display:flex;flex-direction:column;gap:6px}
.menu-in a{font-size:clamp(1.1rem,3vw,1.5rem);letter-spacing:.2em;text-transform:uppercase;padding:14px 0;border-bottom:1px solid var(--line)}
.menu-in a.menu-small{font-size:.72rem;letter-spacing:.18em;border:0;margin-top:20px;color:var(--ink-2)}

/* ---- slot immagine + rettangolo giallo ---- */
.slot{position:relative;margin:0;overflow:hidden;background:var(--tile)}
.slot-img{width:100%;height:100%;object-fit:cover;display:block;animation:fadein 1.2s var(--ease) both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.slot-d{display:block}.slot-m{display:none}
@media(max-width:760px){.slot-d{display:none}.slot-m{display:block}}
.slot-d,.slot-m,.slot-d>*,.slot-m>*{height:100%}
.ph-yellow{background:var(--giallo);display:flex;align-items:center;justify-content:center;text-align:center;color:#111;position:relative;width:100%;height:100%}
.ph-yellow::before{content:'';position:absolute;inset:14px;border:2px dashed rgba(0,0,0,.45)}
.ph-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;padding:16px;position:relative;z-index:1}
.ph-label b{font-weight:500}.ph-label small{text-transform:none;letter-spacing:.04em;opacity:.7}

/* ---- hero ---- */
.hero{position:relative;height:100svh;min-height:560px;color:#fff;isolation:isolate}
.hero .slot,.hero .slot-d,.hero .slot-m{position:absolute;inset:0;height:100%}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,0) 55%,rgba(0,0,0,.45) 100%);z-index:1;pointer-events:none}
.hero-text{position:absolute;left:0;right:0;bottom:clamp(40px,8vh,90px);z-index:2;text-align:center;padding:0 var(--gut);animation:rise 1.2s .3s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .eyebrow{color:rgba(255,255,255,.85)}
.hero-title{font-size:clamp(1.5rem,3.6vw,2.6rem);letter-spacing:.2em;text-transform:uppercase;font-weight:400;max-width:22ch;margin:0 auto 26px}
.hero .cta{color:#fff}

/* ---- sezioni ---- */
.intro{max-width:760px;margin:0 auto;padding:clamp(60px,9vw,120px) var(--gut);text-align:center}
.intro-title{margin-bottom:22px}
.intro-body{color:var(--ink-2);font-size:1.02rem;font-weight:300;line-height:1.8}
.edit{padding:0 0 clamp(50px,7vw,90px)}
.edit>.slot{height:min(86vh,56.25vw)}
@media(max-width:760px){.edit>.slot{height:auto;aspect-ratio:4/5}}
.edit-text{max-width:720px;margin:0 auto;text-align:center;padding:clamp(36px,5vw,64px) var(--gut) 0}
.edit-text p{color:var(--ink-2);font-weight:300;margin:14px auto 22px;max-width:52ch}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;max-width:var(--maxw);margin:0 auto;padding:clamp(30px,5vw,70px) var(--gut)}
.duo-media .slot{aspect-ratio:8/5}
@media(max-width:760px){.duo-media .slot{aspect-ratio:4/5}}
.duo-text{padding:clamp(24px,5vw,80px)}
.duo-text p{color:var(--ink-2);font-weight:300;margin:14px 0 22px;max-width:44ch}
.duo-rev .duo-media{order:2}
.duo-grid{grid-column:1/-1;margin-top:clamp(24px,4vw,48px)}
@media(max-width:900px){.duo{grid-template-columns:1fr}.duo-rev .duo-media{order:0}}
.grid{display:grid;gap:clamp(12px,2vw,28px) clamp(10px,1.6vw,20px)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.grid-4{grid-template-columns:repeat(2,1fr)}}

/* strip orizzontale */
.strip{max-width:var(--maxw);margin:clamp(30px,4vw,56px) auto 0;padding:0 var(--gut);overflow:hidden}
.strip-track{display:flex;gap:clamp(10px,1.6vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.strip-track::-webkit-scrollbar{display:none}
.strip-track .card{flex:0 0 clamp(190px,22vw,300px);scroll-snap-align:start}

/* card */
.card-media{position:relative;aspect-ratio:4/5;background:var(--tile);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .6s var(--ease)}
.card-b{position:absolute;inset:0;opacity:0}
.card:hover .card-a{transform:scale(1.03)}
.card:hover .card-b{opacity:1}
.card .badge{position:absolute;left:10px;top:10px}
.card-info{padding:12px 2px 0}
.card-name{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.card-meta{display:flex;justify-content:space-between;gap:10px;font-size:.74rem;color:var(--ink-2);margin-top:4px}
.card-price{color:var(--ink)}

/* pezzi unici — banda nera */
.unici{background:#000;color:#fff;padding-bottom:clamp(50px,7vw,90px)}
.unici .slot{height:min(70vh,42.8vw)}
@media(max-width:760px){.unici .slot{height:auto;aspect-ratio:4/5}}
.unici-text{max-width:720px;margin:0 auto;text-align:center;padding:clamp(36px,5vw,64px) var(--gut) 0}
.unici .eyebrow{color:rgba(255,255,255,.65)}
.unici-text p{color:rgba(255,255,255,.7);font-weight:300;margin:14px auto 22px;max-width:48ch}
.unici .card-media{background:#161616}.unici .card-meta{color:rgba(255,255,255,.6)}.unici .card-price{color:#fff}.unici .badge{background:rgba(0,0,0,.6)}

/* designer */
.designer{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;max-width:var(--maxw);margin:0 auto;padding:clamp(30px,5vw,80px) var(--gut)}
.designer-media .slot{aspect-ratio:4/5}
.designer-text{padding:clamp(24px,5vw,80px)}
.designer-text p{color:var(--ink-2);font-weight:300;margin:14px 0 26px;max-width:44ch}
.timeline{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:.84rem}
.timeline dt{letter-spacing:.1em;color:var(--ink-2)}
.timeline dd{border-bottom:1px solid var(--line);padding-bottom:10px}
@media(max-width:900px){.designer{grid-template-columns:1fr}}

/* faq */
.faq{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,90px) var(--gut)}
.faq .sec-title{text-align:center;margin-bottom:26px}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 30px 18px 0;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:4px;top:14px;font-size:1.3rem;font-weight:300}
.faq-item[open] summary::after{content:'–'}
.faq-item p{padding:0 0 20px;color:var(--ink-2);font-weight:300;max-width:60ch}

/* newsletter */
.news{display:grid;grid-template-columns:1fr 1fr;align-items:center;border-top:1px solid var(--line)}
.news .slot{aspect-ratio:3/2;height:100%}
.news-text{padding:clamp(36px,6vw,90px);text-align:center}
.news-text p{color:var(--ink-2);font-weight:300;margin:12px auto 24px;max-width:40ch}
.news-form{display:flex;gap:10px;max-width:440px;margin:0 auto}
.news-form input[type=email]{flex:1;border:0;border-bottom:1px solid var(--ink);padding:12px 4px;font:inherit;background:transparent}
.news-form input:focus{outline:none;border-bottom-width:2px}
.hp{display:none}
@media(max-width:800px){.news{grid-template-columns:1fr}}

/* footer */
.ftr{border-top:1px solid var(--line);padding:clamp(40px,5vw,64px) var(--gut) 30px}
.ftr-in{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.ftr h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.ftr p{font-size:.86rem;color:var(--ink-2);font-weight:300;line-height:1.8}
.ftr a:hover{color:var(--ink);text-decoration:underline}
.ftr-fine{max-width:var(--maxw);margin:40px auto 0;font-size:.7rem;letter-spacing:.1em;color:#999;text-align:center}
@media(max-width:800px){.ftr-in{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ftr-in{grid-template-columns:1fr}}

/* ---- catalogo ---- */
.is-catalog main,.is-product main{padding-top:var(--hdr)}
.cat-head{text-align:center}
.cat-banner{height:min(46vh,33vw)}
@media(max-width:760px){.cat-banner{height:auto;aspect-ratio:6/5}}
.cat-title{margin:clamp(30px,4vw,50px) 0 8px}
.cat-sub{color:var(--ink-2);font-weight:300;padding:0 var(--gut)}
.cat{max-width:var(--maxw);margin:0 auto;padding:30px var(--gut) 90px}
.cat-bar{position:sticky;top:var(--hdr);z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--line);transition:.25s}
.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-tools{display:flex;align-items:center;gap:16px}
.count{font-size:.74rem;color:var(--ink-2);letter-spacing:.08em}
.tool{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid var(--ink)}
.tool select{font:inherit;border:0;background:transparent;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;cursor:pointer}
.active-chips{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0 4px;min-height:14px}
.active-chips button{font-size:.68rem;letter-spacing:.1em;padding:6px 10px;background:var(--tile);border:1px solid var(--line)}
.active-chips button::after{content:' ×';opacity:.6}
#grid{margin-top:22px}
.empty{text-align:center;padding:80px 0;color:var(--ink-2);line-height:2.4}
.drawer{position:fixed;inset:0;z-index:150;pointer-events:none}
.drawer::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:opacity .3s}
.drawer-in{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;transform:translateX(100%);transition:transform .4s var(--ease);overflow:auto;padding:24px var(--gut) 100px;display:flex;flex-direction:column;gap:26px}
.drawer.open{pointer-events:auto}.drawer.open::before{opacity:1}.drawer.open .drawer-in{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center}
.drawer-head h2{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase}
.x{font-size:1.8rem;line-height:1;font-weight:300}
.drawer fieldset{border:0;border-top:1px solid var(--line);padding-top:18px}
.drawer legend{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding-right:12px}
.bands,.colls{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:.9rem;font-weight:300}
.colls{flex-direction:row;flex-wrap:wrap}
.colls label{border:1px solid var(--line);padding:8px 12px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.colls label:has(input:checked){background:var(--ink);color:#fff;border-color:var(--ink)}
.colls input{position:absolute;opacity:0;width:0}
.range{display:flex;align-items:center;gap:10px;margin-top:14px}
.range input{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 4px;font:inherit}
.check{font-size:.9rem;font-weight:300;display:flex;gap:10px;align-items:center}
.drawer-foot{position:sticky;bottom:0;background:#fff;padding:16px 0;display:flex;gap:10px;margin-top:auto;border-top:1px solid var(--line)}
.drawer-foot .btn{flex:1}

/* ---- scheda prodotto ---- */
.pd{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);max-width:var(--maxw);margin:0 auto;padding:clamp(20px,3vw,40px) var(--gut) 60px;align-items:start}
.pd-gallery{display:grid;gap:10px}
.pd-shot{background:var(--tile);aspect-ratio:4/5;overflow:hidden}
.pd-shot img{width:100%;height:100%;object-fit:cover}
.pd-info{position:sticky;top:calc(var(--hdr) + 20px)}
.crumbs{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:24px}
.crumbs a:hover{color:var(--ink)}
.pd-coll{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:10px}
.pd-price{font-size:1.15rem;margin-top:18px;letter-spacing:.06em}
.pd-unique{margin-top:16px;font-size:.86rem;color:var(--ink-2);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pd-desc{margin-top:22px;color:var(--ink-2);font-weight:300;line-height:1.8;max-width:54ch}
.pd-ctas{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.pd-ctas .btn{flex:1;min-width:180px}
.pd-reassure{list-style:none;margin-top:26px;border-top:1px solid var(--line);padding-top:16px;font-size:.8rem;color:var(--ink-2);display:grid;gap:6px}
.pd-reassure li::before{content:'—  ';color:#bbb}
.pd-sign{margin-top:18px;font-size:.76rem;letter-spacing:.06em;color:var(--ink-2)}
.related{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) 90px}
.related .sec-title{text-align:center;margin-bottom:28px}
@media(max-width:900px){.pd{grid-template-columns:1fr}.pd-info{position:static}.pd-gallery{grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory}.pd-shot{scroll-snap-align:start}}
.loading{text-align:center;padding:80px;color:var(--ink-2)}

/* ---- reveal ---- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* header compatto su mobile */
@media(max-width:640px){
  .hdr-right .hdr-link{display:none}
  .brand{font-size:.82rem;letter-spacing:.26em;gap:8px}
  .brand img{width:24px;height:24px}
  .burger em{display:none}
  :root{--hdr:56px}
}

/* atelier: due immagini affiancate */
.atelier{max-width:var(--maxw);margin:0 auto;padding:clamp(20px,4vw,60px) var(--gut)}
.atelier-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vw,20px)}
.atelier-grid .slot{aspect-ratio:8/5}
@media(max-width:760px){.atelier-grid{grid-template-columns:1fr}.atelier-grid .slot{aspect-ratio:4/5}}
.atelier-cap{text-align:center;max-width:56ch;margin:clamp(20px,3vw,36px) auto 0;color:var(--ink-2);font-weight:300}
.atelier-cap .eyebrow{display:block;margin-bottom:10px}

/* =====================================================================
   NEGOZIO — barra promo, prezzi ancorati, borsa, popup, checkout, Natale
   ===================================================================== */
:root{--bar:0px;--rosso:#8c1d2b}
body.has-bar{--bar:34px}
.promo-bar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:110;background:var(--rosso);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:0 12px;white-space:nowrap;overflow:hidden}
.promo-bar.mine{background:#111}
.promo-bar a{display:flex;gap:10px;align-items:center}
.promo-bar b{font-weight:500;letter-spacing:.2em}
.pb-sep{opacity:.5}
@media(max-width:640px){.promo-bar{font-size:.6rem;letter-spacing:.1em}.promo-bar .pb-more,.promo-bar .pb-more+.pb-sep{display:none}}
.hdr{top:var(--bar)}
.menu{inset:calc(var(--hdr) + var(--bar)) 0 0 0}
.is-catalog main,.is-product main{padding-top:calc(var(--hdr) + var(--bar))}
.cat-bar{top:calc(var(--hdr) + var(--bar))}
.pd-info{top:calc(var(--hdr) + var(--bar) + 20px)}

/* prezzi ancorati */
[data-price] s{color:#999;font-weight:300;margin-right:2px}
.card-price .now{color:var(--rosso)}
.pd-price .now{color:var(--rosso);font-size:1.3rem}
.pd-save{display:inline-block;margin-left:10px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;background:var(--rosso);color:#fff;padding:4px 8px;vertical-align:middle}
.pd-code{display:block;font-size:.76rem;color:var(--ink-2);letter-spacing:.02em;margin-top:6px}
.pd-promo{margin-top:14px;font-size:.84rem;color:var(--rosso)}
.badge-sold{color:#777;border-color:#bbb}
.card:has(.badge-sold) .card-media img{opacity:.55}

/* icona borsa */
.bag-btn{position:relative}
.bag-n{position:absolute;top:-6px;right:-9px;min-width:16px;height:16px;border-radius:8px;background:var(--rosso);color:#fff;font-size:.6rem;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* borsa (drawer) */
.bag{position:fixed;inset:0;z-index:160;pointer-events:none}
.bag::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:opacity .3s}
.bag-in{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;transform:translateX(100%);transition:transform .4s var(--ease);display:flex;flex-direction:column}
.bag.open{pointer-events:auto}.bag.open::before{opacity:1}.bag.open .bag-in{transform:none}
body.bag-open{overflow:hidden}
.bag-head{display:flex;justify-content:space-between;align-items:center;padding:18px var(--gut);border-bottom:1px solid var(--line)}
.bag-head h2{font-size:.86rem;letter-spacing:.2em;text-transform:uppercase}
.bag-body{flex:1;overflow:auto;padding:10px var(--gut)}
.bag-empty{text-align:center;padding:60px 0;color:var(--ink-2);display:grid;gap:18px;justify-items:center}
.bag-foot{border-top:1px solid var(--line);padding:16px var(--gut) 20px;display:grid;gap:12px}
.bag-trust{font-size:.7rem;color:var(--ink-2);text-align:center;line-height:1.7}
.bl{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.bl img{width:76px;aspect-ratio:4/5;object-fit:cover;background:var(--tile)}
.bl-i{display:flex;flex-direction:column;gap:3px;font-size:.84rem}
.bl-i b{font-weight:400;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem}
.bl-i small{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa)}
.bl-p s{color:#999;margin-right:4px}
.bl-q{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:.78rem}
.bl-q button{width:26px;height:26px;border:1px solid var(--line)}
.bl-q em{font-style:normal;color:var(--ink-2)}
.bl-rm{width:auto!important;border:0!important;text-decoration:underline;color:var(--ink-2);margin-left:auto}
.bag-warn{background:#fff6e0;padding:10px;font-size:.8rem;margin:8px 0}
.bag-up{display:block;width:100%;margin:16px 0 4px;padding:14px;background:#fbf3f4;border:1px dashed var(--rosso);color:var(--rosso);font-size:.8rem;text-align:left;line-height:1.5}
.bag-x{margin-top:22px}.bag-x .eyebrow{margin-bottom:4px}.bag-x .bl{border:0}.bag-x .cta{align-self:flex-start;margin-top:6px;font-size:.68rem}
.bag-sum{display:grid;gap:6px;font-size:.86rem}
.bag-sum>div{display:flex;justify-content:space-between}
.bag-sum .disc{color:var(--rosso)}
.bag-sum .tot{border-top:1px solid var(--line);padding-top:10px;margin-top:4px;font-size:1rem;letter-spacing:.06em}

/* popup e-mail + form iscrizione */
.pop{border:0;padding:clamp(28px,5vw,48px);max-width:min(480px,calc(100% - 32px));margin:auto;text-align:center}
.pop::backdrop{background:rgba(0,0,0,.45)}
.pop h2{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.pop-b{color:var(--ink-2);font-weight:300;margin-bottom:22px}
.pop-x{position:absolute;top:10px;right:16px}
.pop-s{font-size:.72rem;color:#999;margin-top:14px}
.sub-form{max-width:460px;margin:0 auto;display:grid;gap:10px;text-align:left}
.sub-row{display:flex;gap:10px}
.sub-row input{flex:1;min-width:0;border:0;border-bottom:1px solid var(--ink);padding:12px 4px;font:inherit;background:transparent}
.sub-row input:focus{outline:none;border-bottom-width:2px}
.sub-row .btn{padding:12px 18px;white-space:nowrap}
.sub-consent{font-size:.74rem;color:var(--ink-2);display:flex;gap:8px;align-items:flex-start}
.sub-consent a{text-decoration:underline}
.sub-consent.need{color:var(--rosso)}
.sub-msg{font-size:.78rem;color:var(--rosso);min-height:1em}
.sub-ok{text-align:center;display:grid;gap:10px;justify-items:center}
.sub-code{font-size:1.8rem;letter-spacing:.3em;border:1px dashed var(--ink);padding:10px 22px}
.news-promo{color:var(--rosso);margin:-8px auto 20px!important}
@media(max-width:480px){.sub-row{flex-direction:column}}

/* checkout */
.co{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,72px);max-width:1200px;margin:0 auto;padding:clamp(20px,3vw,40px) var(--gut) 90px;align-items:start}
.co-lead{color:var(--ink-2);font-weight:300;margin:10px 0 26px}
#co-form{display:grid;gap:22px}
#co-form fieldset{border:0;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}
#co-form legend{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding-right:10px}
#co-form label{display:grid;gap:4px;font-size:.74rem;letter-spacing:.06em;color:var(--ink-2)}
#co-form input:not([type=checkbox]):not([type=radio]),#co-form select,#co-form textarea,.co-code input{font:inherit;font-size:.95rem;color:var(--ink);border:1px solid var(--line);padding:12px;background:#fff;width:100%}
#co-form input:focus,#co-form select:focus,#co-form textarea:focus{outline:none;border-color:var(--ink)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.f3{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px}
@media(max-width:600px){.f2,.f3{grid-template-columns:1fr}}
#co-form .chk{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--ink);letter-spacing:0}
#co-form .chk a{text-decoration:underline}
.co-ship{font-size:.8rem;color:var(--rosso)}
.pay-opts,.mock-methods{display:grid;gap:8px}
.pay-opt{display:flex!important;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:14px;cursor:pointer;color:var(--ink)!important}
.pay-opt:has(input:checked){border-color:var(--ink)}
.pay-opt span{display:grid;gap:2px}.pay-opt b{font-weight:500;font-size:.86rem;letter-spacing:.04em}.pay-opt small{font-size:.76rem;color:var(--ink-2)}
.co-secure{font-size:.74rem;color:var(--ink-2)}
.co-err{background:#fbf3f4;border-left:3px solid var(--rosso);padding:12px 16px;font-size:.84rem}.co-err ul{margin:6px 0 0 18px}
.co-go{width:100%}
.co-side{position:sticky;top:calc(var(--hdr) + var(--bar) + 20px);background:var(--tile);padding:24px}
.co-side-t{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}
.co-code{margin:16px 0}.co-code label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;display:grid;gap:6px}
.co-code-row{display:flex;gap:8px}.co-code-row .btn{padding:10px 16px;min-height:0}
.ok-t{color:#2d6a3e;font-size:.78rem;margin-top:6px}.err-t{color:var(--rosso);font-size:.78rem;margin-top:6px}
.co-pay-t{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;margin:10px 0 16px}
.mock-pay{border:2px dashed var(--giallo);padding:18px;display:grid;gap:14px}
.mock-flag{background:var(--giallo);padding:8px 12px;font-size:.74rem;letter-spacing:.06em}
@media(max-width:900px){.co{grid-template-columns:1fr}.co-side{position:static;order:-1}}

/* conferma ordine */
.ok{max-width:680px;margin:0 auto;padding:clamp(30px,5vw,70px) var(--gut) 90px;text-align:center}
.ok-in{display:grid;gap:18px}
.ok-lead{color:var(--ink-2);font-weight:300}
.ok-lines{text-align:left}
.ok .bag-sum{text-align:left}
.ok-gift{font-style:italic;color:var(--ink-2)}
.iban{background:var(--tile);padding:18px;display:grid;gap:8px;text-align:left}
.iban div{display:flex;justify-content:space-between;gap:12px;font-size:.88rem}.iban span{color:var(--ink-2)}

/* Natale */
.xmas-hero{position:relative;height:88svh;min-height:520px;color:#fff;isolation:isolate}
.xmas-hero .slot,.xmas-hero .slot-d,.xmas-hero .slot-m{position:absolute;inset:0;height:100%}
.xmas-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,0) 40%,rgba(0,0,0,.5));z-index:1;pointer-events:none}
.xmas-hero .ph-yellow{color:#111}
.xmas-text{position:absolute;left:0;right:0;bottom:clamp(40px,9vh,100px);z-index:2;text-align:center;padding:0 var(--gut)}
.xmas-text .eyebrow{color:rgba(255,255,255,.85)}
.xmas-promo{font-size:.9rem;letter-spacing:.06em;margin:-10px auto 22px;max-width:44ch}
.xmas-hero .cta{color:#fff}
.budget{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(40px,6vw,80px)}
.budget .sec-title{text-align:center;margin-bottom:26px}
.budget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.4vw,18px)}
.budget-tile{border:1px solid var(--line);padding:clamp(22px,3vw,40px) 18px;display:grid;gap:8px;justify-items:center;text-align:center;transition:background .3s,color .3s}
.budget-tile:hover{background:var(--ink);color:#fff}
.bt-t{font-size:clamp(.9rem,1.6vw,1.15rem);letter-spacing:.18em;text-transform:uppercase}
.bt-s{font-size:.78rem;color:var(--ink-2);font-weight:300}.budget-tile:hover .bt-s{color:#ccc}
.budget-tile .cta{margin-top:8px;font-size:.66rem}
@media(max-width:800px){.budget-grid{grid-template-columns:1fr 1fr}}
.xmas-row{padding-bottom:clamp(40px,6vw,80px)}
.xmas-row-head{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:flex;justify-content:space-between;align-items:baseline}
.xmas-row .strip{margin-top:20px}
.xmas-unici{padding-top:10px}
.gift{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);max-width:1100px;margin:0 auto;padding:clamp(50px,7vw,100px) var(--gut)}
.gift-i p:not(.eyebrow){color:var(--ink-2);font-weight:300;margin-top:12px}
.gift .sec-title{font-size:clamp(1rem,1.6vw,1.3rem)}
@media(max-width:800px){.gift{grid-template-columns:1fr}}

/* pagine legali */
.legal{max-width:760px;margin:0 auto;padding:clamp(30px,5vw,60px) var(--gut) 90px}
.legal h2{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin:28px 0 8px}
.legal p{color:var(--ink-2);font-weight:300}
.legal a{text-decoration:underline}
.legal-draft{background:var(--giallo);color:#111!important;padding:6px 10px;display:inline-block;margin-top:10px;font-size:.78rem}
[hidden]{display:none!important}

/* ---- banda Natale in home ---- */
:root{--logo:#9D6472}
.hero-ctas{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.xmas-band{background:var(--rosso);color:#fff;text-align:center;padding:clamp(44px,6vw,80px) var(--gut);position:relative;overflow:hidden}
.xmas-band::before,.xmas-band::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#d9b779,transparent)}
.xmas-band::before{top:14px}.xmas-band::after{bottom:14px}
.xb-in{max-width:880px;margin:0 auto;display:grid;gap:16px;justify-items:center}
.xb-star{width:22px;height:22px;color:#d9b779}
.xmas-band .eyebrow{color:rgba(255,255,255,.75);margin:0}
.xb-title{font-size:clamp(1.3rem,2.6vw,2rem);letter-spacing:.2em;text-transform:uppercase}
.xb-promo{font-weight:300;max-width:52ch;font-size:1rem}
.xb-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin:8px 0}
.xb-tiles a{border:1px solid rgba(255,255,255,.45);padding:16px 8px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;transition:background .3s,color .3s}
.xb-tiles a:hover{background:#fff;color:var(--rosso)}
@media(max-width:700px){.xb-tiles{grid-template-columns:1fr 1fr}}
.xb-sub{width:100%}
.xmas-band .sub-row input{border-bottom-color:#fff;color:#fff}.xmas-band .sub-row input::placeholder{color:rgba(255,255,255,.7)}
.xmas-band .sub-row .btn{background:#fff;color:var(--rosso);border-color:#fff}
.xmas-band .sub-consent,.xmas-band .sub-consent a{color:rgba(255,255,255,.85)}
.xmas-band .sub-msg{color:#ffd9a0}
.xmas-band .sub-ok{color:#fff}.xmas-band .sub-code{border-color:#fff}
/* Natale: tocco festivo sulla landing */
.is-natale .xmas-hero::after{background:linear-gradient(180deg,rgba(140,29,43,.35),rgba(0,0,0,0) 40%,rgba(140,29,43,.65))}
.is-natale .budget-tile:hover{background:var(--rosso);border-color:var(--rosso)}
.is-natale .gift{border-top:1px solid #d9b779;border-bottom:1px solid #d9b779}
.pb-short{display:none}
@media(max-width:640px){.pb-long{display:none}.pb-short{display:inline}.promo-bar .pb-sep:has(+ .pb-more){display:none}}
/* scheda: misure e versione inglese */
.pd-size{margin-top:14px;font-size:.82rem;color:var(--ink-2);line-height:1.7}
.pd-size b{font-weight:500;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;margin-right:8px}
.pd-lang{margin-top:14px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px;color:var(--ink-2)}
.pd-lang:hover{color:var(--ink)}
.pd-en{margin-top:4px;border-left:2px solid var(--line);padding-left:14px}
.pd-lang::after{content:' +'}.pd-lang[aria-expanded=true]::after{content:' –'}

/* ---- lingue: selettore, arabo (RTL), cinese/giapponese/coreano ---- */
.lang-sw{position:relative;font-size:.72rem;letter-spacing:.14em}
.lang-sw summary{list-style:none;cursor:pointer;padding:4px 2px}
.lang-sw summary::-webkit-details-marker{display:none}
.lang-sw summary::after{content:' ▾';font-size:.6rem;opacity:.6}
.lang-sw ul{position:absolute;top:calc(100% + 12px);right:0;background:#fff;color:var(--ink);border:1px solid var(--line);list-style:none;padding:6px 0;min-width:160px;z-index:120;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.lang-sw li a{display:block;padding:9px 16px;letter-spacing:.02em;font-size:.86rem}
.lang-sw li a:hover,.lang-sw li a[aria-current]{background:var(--tile)}
.menu-langs{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:22px}
.menu-in .menu-langs a{font-size:.82rem;letter-spacing:.04em;text-transform:none;padding:6px 0;border:0}
.menu-langs a[aria-current]{text-decoration:underline}
/* arabo: da destra a sinistra; la spaziatura tra lettere spezzerebbe le legature */
[dir=rtl] *,[dir=rtl] *::before,[dir=rtl] *::after{letter-spacing:0!important}
[dir=rtl] body{font-family:'Geeza Pro','Noto Naskh Arabic','Segoe UI',Tahoma,var(--font)}
[dir=rtl] .lang-sw ul{right:auto;left:0}
[dir=rtl] .bag-n{right:auto;left:-9px}
[dir=rtl] .bl-rm{margin-left:0;margin-right:auto}
[dir=rtl] .co-err{border-left:0;border-right:3px solid var(--rosso)}
[dir=rtl] .pd-en{border-left:0;border-right:2px solid var(--line);padding-left:0;padding-right:14px}
[dir=rtl] .faq-item summary{padding:18px 0 18px 30px}[dir=rtl] .faq-item summary::after{right:auto;left:4px}
/* cinese, giapponese, coreano: niente maiuscolo spaziato, a capo corretti */
html:is([lang=zh],[lang=ja],[lang=ko]) *{letter-spacing:.02em!important}
html:is([lang=zh],[lang=ja]) body{line-break:strict}
html[lang=ko] body{word-break:keep-all}
html:is([lang=zh],[lang=ja],[lang=ko]) body{font-family:var(--font),'PingFang SC','Hiragino Sans','Apple SD Gothic Neo','Noto Sans CJK SC',sans-serif}

/* ---- showroom su appuntamento ---- */
.showroom{background:var(--tile);padding:clamp(48px,7vw,96px) var(--gut);text-align:center}
.sr-in{max-width:720px;margin:0 auto;display:grid;gap:14px;justify-items:center}
.sr-body{color:var(--ink-2);font-weight:300;max-width:56ch}
.sr-addr{font-size:.86rem;letter-spacing:.04em}.sr-addr a{text-decoration:underline}
.sr-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:8px}
.pd-showroom{margin-top:14px;font-size:.82rem;color:var(--ink-2)}.pd-showroom a{color:var(--ink);text-decoration:underline}
a[href^="tel:"]{white-space:nowrap}

/* ---- inviti alla collezione e Family & Friends ---- */
.hero-pill{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:rgba(140,29,43,.94);color:#fff;padding:15px 46px;min-height:50px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;border:1px solid rgba(255,255,255,.4);animation:pillIn .9s cubic-bezier(.2,.7,.2,1) both,pillGlow 3.6s ease-in-out 1.2s infinite;transition:background .3s}
.hero-pill::after{content:"→";position:absolute;inset-inline-end:18px;top:50%;margin-top:-.6em;line-height:1.2;letter-spacing:0;transition:transform .3s}
.hero-pill::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);animation:sheen 4.8s ease-in-out 1.4s infinite;pointer-events:none}
.hero-pill:hover,.hero-pill:focus-visible{background:#8c1d2b}
.hero-pill:hover::after,.hero-pill:focus-visible::after{transform:translateX(4px)}
.hero-title+.hero-pill{margin-top:4px}
@media(max-width:520px){.hero-pill{padding:14px 40px;font-size:.66rem;letter-spacing:.16em}.hero-pill::after{inset-inline-end:14px}}
/* pagina Family & Friends: tutto su un asse, come un invito */
.ff-page .hero-text{bottom:auto;top:50%;transform:translateY(-50%);animation:none;display:grid;justify-items:center;gap:14px}
.ff-page::after{background:rgba(20,6,9,.55)}
.ff-title{margin-bottom:0}
.ff-lead{font-weight:300;max-width:52ch;opacity:.95;text-wrap:balance}
.ff-msg,.ff-dates{text-wrap:balance}
.promo-bar .pb-shop{margin-inline-start:10px}
.ff-dates{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.ff-state{display:grid;justify-items:center;gap:18px;margin-top:10px}
.ff-state[hidden]{display:none}
.ff-msg{max-width:44ch;font-size:1rem}
.gift-one{grid-template-columns:1fr;text-align:center;max-width:720px}
.hero-ctas{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}
.btn-hero{position:relative;overflow:hidden;background:#fff;color:#111;border-color:#fff;min-width:240px;animation:pillIn .9s cubic-bezier(.2,.7,.2,1) .25s both}
.btn-hero .arr{display:inline-block;animation:nudge 2.4s ease-in-out 1.6s infinite}
.btn-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(140,29,43,.12) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 4.8s ease-in-out 3.8s infinite;pointer-events:none}
.btn-hero:hover{background:transparent;color:#fff}
.btn-hero:hover .arr{animation:none;transform:translateX(5px);transition:transform .3s}
@keyframes pillIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pillGlow{0%,100%{box-shadow:0 0 0 0 rgba(140,29,43,0)}50%{box-shadow:0 0 0 6px rgba(140,29,43,.22)}}
@keyframes sheen{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
@keyframes nudge{0%,60%,100%{transform:none}30%{transform:translateX(6px)}}
[dir=rtl] .hero-pill::after,[dir=rtl] .btn-hero .arr{transform:scaleX(-1)}
[dir=rtl] .btn-hero .arr{animation:none}
.xmas-text .btn-hero{margin-top:4px}
.xmas-lead,.xb-lead{font-weight:300;font-size:.98rem;max-width:52ch;margin:0 auto 10px;opacity:.92}
.xb-ctas{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:6px}
.btn-light{background:#fff;color:var(--rosso);border-color:#fff}.btn-light:hover{background:transparent;color:#fff}
.promo-bar .pb-shop{font-weight:500;letter-spacing:.14em}
.sticky-cta{position:fixed;left:16px;right:16px;bottom:14px;z-index:95;display:flex;justify-content:center;align-items:center;min-height:50px;background:#111;color:#fff;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.18)}
@media(min-width:761px){.sticky-cta{display:none!important}}
body.bag-open .sticky-cta,body.menu-open .sticky-cta{display:none!important}
@media(max-width:640px){.promo-bar .pb-shop,.promo-bar .pb-shop+.pb-sep{display:none}.hero-ctas{flex-direction:column;gap:14px}}
