/*
Theme Name: Stile a Strati
Theme URI: https://stileastrati.it
Author: Studio Stile a Strati
Description: Tema custom "Versione A" per ecommerce di vasi stampati in 3D. Stile sito ufficiale: tipografia Archivo + Spectral, base chiara, logo a strati, accento terracotta. 8 modelli reali, 2 serie, 7 finiture.
Version: 0.9.57
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: stileastrati
Tags: woocommerce, custom, editorial
*/

/* ============================================================
   VERSIONE A — stile sito ufficiale Stile a Strati, base CHIARA
   Font ufficiali Archivo + Spectral · logo a strati · accento terracotta.
   ============================================================ */
:root{
  --paper:   #FFFFFF;
  --paper-2: #FFFFFF;
  --card-bg: #FFFFFF;
  --ink:     #1A1714;
  --ink-2:   #3F3A33;
  --muted:   #7A7466; /* sito-check 02/07: era #8A8478 (3,7:1) → 4,65:1 su bianco, AA */
  --faint:   #A9A294;
  --accent:  #4A5A48;
  --line:    #E7E6E2;
  --line-2:  #DCDBD6;
  --dark:    #16140F;

  --sans:  'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;
  --serif: 'Spectral', Georgia, serif;
  --pad: clamp(20px, 6vw, 110px);
  --maxw: 1240px;
}
*{ box-sizing:border-box; }
html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif); font-weight:300; font-size:18px; line-height:1.6; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad); }
.section{ padding-block:clamp(56px,8vw,108px); }

.eyebrow{ font-family:var(--sans); font-weight:600; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); }
.serif-d{ font-family:var(--serif); font-weight:300; line-height:1.04; letter-spacing:-.01em; }
.serif-d em{ font-style:italic; }
.label{ font-family:var(--sans); font-weight:600; font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; }

/* topbar + nav */
.topbar{ background:var(--dark); color:#cfc8ba; display:flex; justify-content:space-between; padding:9px var(--pad); }
.topbar span{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px var(--pad); border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:saturate(1.2) blur(8px); z-index:40; }
.brand{ display:flex; align-items:center; gap:13px; }
.brand img{ width:26px; filter:invert(1) brightness(.1); }
.brand b{ font-family:var(--sans); font-weight:700; font-size:16px; letter-spacing:.16em; text-transform:uppercase; }
.nav__links{ display:flex; gap:28px; align-items:center; }
.nav__links a{ font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
.nav__links a:hover{ color:var(--accent); }
.nav__cart{ font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
.nav__cart a:hover{ color:var(--accent); }

.btn{ display:inline-block; font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; padding:15px 28px; cursor:pointer; background:var(--ink); color:var(--paper); border:1px solid var(--ink); transition:.2s; }
.btn:hover{ background:transparent; color:var(--ink); }
.btn--ghost{ background:transparent; color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:var(--paper); }
.btn--block{ display:block; width:100%; text-align:center; }

/* HERO chiaro */
.hero{ display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(24px,4vw,60px); align-items:center; padding-top:clamp(36px,5vw,72px); }
.hero__copy .eyebrow{ display:block; margin-bottom:26px; }
.hero h1{ margin:0; font-size:clamp(44px,6.6vw,92px); }
.hero p{ color:var(--ink-2); max-width:42ch; margin:26px 0 34px; font-size:19px; }
.hero__media{ background:var(--card-bg); overflow:hidden; aspect-ratio:4/5; }
.hero__media img{ width:100%; height:100%; object-fit:cover; }
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hero__spec{ display:flex; gap:24px; flex-wrap:wrap; margin-top:34px; padding-top:20px; border-top:1px solid var(--line); }
.hero__spec span{ font-family:var(--sans); font-weight:600; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }

/* SERIE */
.serie__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:36px; flex-wrap:wrap; }
.serie__head h2{ font-size:clamp(30px,4.4vw,54px); margin:14px 0 0; }
.serie__head p{ color:var(--ink-2); max-width:44ch; }
.twocol{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.5vw,56px); margin-top:46px; }
.twocol .pic{ aspect-ratio:5/4; background:var(--card-bg); overflow:hidden; }
.twocol .pic img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.6,.2,1); }
.twocol a:hover .pic img{ transform:scale(1.04); }
.twocol h3{ font-family:var(--sans); font-weight:700; font-size:26px; letter-spacing:.02em; text-transform:uppercase; margin:20px 0 0; }
.twocol .d{ color:var(--ink-2); margin:10px 0 0; font-size:17px; max-width:46ch; }
.twocol .m{ font-family:var(--sans); font-weight:600; font-size:13px; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); margin-top:14px; }

/* GRID 8 modelli */
.mgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,26px); margin-top:44px; }
.mcard .pic{ aspect-ratio:1/1; background:var(--card-bg); overflow:hidden; }
.mcard .pic img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.6,.2,1); }
.mcard:hover .pic img{ transform:scale(1.045); }
.mcard__row{ display:flex; justify-content:space-between; align-items:baseline; margin-top:13px; gap:10px; }
.mcard__n{ font-family:var(--serif); font-weight:300; font-size:22px; }
.mcard__p{ font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.06em; color:var(--ink); white-space:nowrap; }
.mcard__s{ font-family:var(--sans); font-weight:600; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:3px; }

/* FINITURE */
.swrow{ display:grid; grid-template-columns:repeat(7,1fr); gap:clamp(8px,1.2vw,16px); margin-top:44px; }
.sw .pc{ aspect-ratio:1/1; background:var(--card-bg); overflow:hidden; }
.sw .pc img{ width:100%; height:100%; object-fit:cover; }
.sw .nm{ font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:.02em; text-transform:uppercase; margin-top:11px; line-height:1.25; }
.sw .op{ font-family:var(--sans); font-weight:500; font-size:10.5px; letter-spacing:.13em; color:var(--muted); margin-top:2px; }

/* metodo (banda scura) */
.metodo{ background:var(--dark); color:#ECE8DE; }
.metodo .eyebrow{ color:var(--faint); }
.metodo h2{ color:#f1ede3; font-size:clamp(30px,4.4vw,56px); margin:16px 0 0; }
.metodo p{ color:#cdc7ba; max-width:62ch; margin:24px 0 0; }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:54px; border-top:1px solid rgba(236,232,222,.16); padding-top:34px; }
.steps h3{ font-family:var(--sans); font-weight:600; font-size:14px; letter-spacing:.05em; text-transform:uppercase; color:#f1ede3; margin:0; }
.steps .n{ font-family:var(--sans); font-weight:700; color:var(--accent); margin-right:9px; }
.steps p{ color:var(--faint); font-size:15.5px; margin:13px 0 0; }

/* CTA + footer */
.endcta{ text-align:center; }
.endcta h2{ font-size:clamp(34px,5.4vw,72px); margin:14px 0 28px; }
.foot{ background:var(--dark); color:#cfc8ba; }
.foot__top{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:26px; padding-block:54px 36px; border-bottom:1px solid rgba(236,232,222,.16); }
.foot__top img{ width:210px; }
.foot__cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; padding-block:42px; }
.foot__cols h4{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--faint); margin:0 0 13px; }
.foot__cols a{ display:block; color:#cfc8ba; font-size:15px; padding:5px 0; }
.foot__cols a:hover{ color:#fff; }
.foot__bar{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid rgba(236,232,222,.16); padding-block:20px; }
.foot__bar span{ font-family:var(--sans); font-weight:500; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); }
.foot__legal{ display:flex; gap:16px; }
.foot__legal a{ color:var(--faint); text-decoration:underline; text-underline-offset:2px; }
.foot__legal a:hover{ color:var(--paper); }

/* ============================================================
   PAGINE INFO (studio / assistenza)
   ============================================================ */
.page-head{ padding-top:clamp(40px,6vw,84px); }
.page-head h1{ font-size:clamp(40px,6.4vw,88px); margin:18px 0 0; }
.page-head p{ color:var(--ink-2); max-width:58ch; margin:24px 0 0; font-size:19px; }
.doc{ display:grid; grid-template-columns:.5fr 1fr; gap:clamp(24px,3.4vw,60px); padding-block:clamp(36px,5vw,64px); border-top:1px solid var(--line); }
.doc h2{ font-family:var(--serif); font-weight:300; font-size:clamp(24px,3vw,38px); line-height:1.06; margin:8px 0 0; letter-spacing:-.01em; }
.doc .body p{ color:var(--ink-2); margin:0 0 14px; max-width:60ch; }
.doc .body p:last-child{ margin-bottom:0; }
.doc .body ul{ margin:0; padding-left:1.05em; color:var(--ink-2); }
.doc .body li{ margin:0 0 9px; max-width:58ch; }
.doc .body a{ color:var(--accent); }

/* form contatti */
.contact-list{ list-style:none; padding:0; margin:18px 0 0; }
.contact-list li{ font-family:var(--sans); font-weight:500; font-size:13px; letter-spacing:.02em; color:var(--muted); margin:0 0 8px; }
.contact-list a{ color:var(--ink); }
.cform{ display:flex; flex-direction:column; gap:16px; max-width:560px; }
.cform__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cform__grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cform__field{ display:flex; flex-direction:column; gap:7px; }
.cform__field > span{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.cform input[type=text], .cform input[type=email], .cform textarea{
  font-family:var(--sans); font-size:15px; color:var(--ink); padding:13px 14px;
  border:1px solid var(--line-2); background:var(--paper-2); border-radius:0; width:100%; }
.cform input:focus, .cform textarea:focus{ outline:none; border-color:var(--ink); }
.cform textarea{ resize:vertical; min-height:120px; line-height:1.5; }
.cform__check{ display:flex; gap:10px; align-items:flex-start; font-family:var(--sans); font-weight:500; font-size:12.5px; color:var(--muted); line-height:1.4; }
.cform__check input{ margin-top:2px; }
/* autocomplete indirizzo */
.sas-ac{ position:absolute; left:0; right:0; top:100%; z-index:30; background:#fff; border:1px solid var(--line-2); border-top:0; max-height:248px; overflow:auto; box-shadow:0 24px 50px -28px rgba(0,0,0,.4); }
.sas-ac:empty{ display:none; }
.sas-ac__i{ padding:11px 14px; font-family:var(--sans); font-size:13.5px; color:var(--ink); cursor:pointer; border-top:1px solid var(--line); }
.sas-ac__i:first-child{ border-top:0; }
.sas-ac__i:hover{ background:#ecf0ea; color:var(--accent); }
.cform .btn{ align-self:flex-start; margin-top:4px; border:0; }
.cform__msg{ font-family:var(--sans); font-weight:600; font-size:13px; padding:13px 16px; margin-bottom:6px; }
.cform__msg--ok{ background:#eef3ec; color:#3c5a36; border-left:3px solid #5a7a4e; }
.cform__msg--err{ background:#ecf0ea; color:#384636; border-left:3px solid var(--accent); }
@media (max-width:560px){ .cform__grid{ grid-template-columns:1fr; } }
.cform__select{ font-family:var(--sans); font-size:15px; color:var(--ink); padding:13px 14px; border:1px solid var(--line-2); background:var(--paper-2); border-radius:0; width:100%; -webkit-appearance:none; appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 18px) center,calc(100% - 13px) center; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.cform__select:focus{ outline:none; border-color:var(--ink); }
.b2b-aside{ color:var(--ink-2); margin-top:14px; font-size:15px; max-width:34ch; }

/* ============================================================
   B2B — Programma Rivenditori
   ============================================================ */
.b2b-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.4vw,40px); margin-top:40px; }
.b2b-why__i{ border-top:2px solid var(--ink); padding-top:16px; }
.b2b-why__n{ font-family:var(--serif); font-size:14px; color:var(--accent); letter-spacing:.04em; }
.b2b-why__i h3{ font-family:var(--sans); font-weight:700; font-size:16px; letter-spacing:.02em; text-transform:uppercase; margin:8px 0 7px; }
.b2b-why__i p{ color:var(--ink-2); font-size:14.5px; margin:0; }

.tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,28px); margin-top:40px; align-items:stretch; }
.tier{ border:1px solid var(--line-2); padding:clamp(24px,2.4vw,34px); display:flex; flex-direction:column; }
.tier--hl{ border-color:var(--ink); box-shadow:0 30px 70px -40px rgba(0,0,0,.4); }
.tier__lev{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.tier__name{ font-family:var(--serif); font-weight:300; font-size:30px; margin:10px 0 0; letter-spacing:-.01em; }
.tier__price{ display:flex; align-items:baseline; gap:9px; margin:18px 0 0; }
.tier__v{ font-family:var(--serif); font-size:34px; line-height:1; }
.tier__u{ font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.tier__disc{ font-family:var(--sans); font-weight:700; font-size:14px; letter-spacing:.04em; color:var(--accent); margin:14px 0 0; }
.tier__disc span{ color:var(--muted); font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.tier__list{ list-style:none; padding:0; margin:20px 0 24px; border-top:1px solid var(--line); }
.tier__list li{ font-family:var(--sans); font-size:13.5px; color:var(--ink-2); padding:10px 0 10px 18px; position:relative; border-bottom:1px solid var(--line); }
.tier__list li::before{ content:""; position:absolute; left:0; top:17px; width:6px; height:6px; background:var(--accent); border-radius:50%; }
.tier .btn{ margin-top:auto; border:1px solid var(--ink); }
@media (max-width:900px){ .b2b-why{ grid-template-columns:1fr 1fr; } .tiers{ grid-template-columns:1fr; } }

/* B2B fase 2 — prezzo riservato + login + dashboard */
.b2b-tag{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); background:#ecf0ea; padding:3px 8px; vertical-align:middle; margin-left:7px; }
.b2b-remind{ border:1px solid var(--line-2); border-left:3px solid var(--accent); background:var(--paper-2); padding:16px 20px; margin:0 0 26px; }
.b2b-remind__tag{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:7px; }
.b2b-remind p{ margin:0; font-family:var(--sans); font-size:13.5px; line-height:1.5; color:var(--ink-2); }

/* pulsantino "Rivenditori" nel nav (staccato, poco evidente) */
.nav__right{ display:flex; align-items:center; gap:16px; }
.nav__b2b{ font-family:var(--sans); font-weight:600; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line-2); padding:7px 13px; transition:.18s; white-space:nowrap; }
.nav__b2b:hover{ color:var(--ink); border-color:var(--ink); }
.nav__b2b--ghost{ border-color:transparent; padding-left:2px; padding-right:2px; }
.nav__b2b--ghost:hover{ border-color:transparent; }

/* selettore livello rivenditore (nell'hub) */
.b2b-levels{ margin-top:30px; border-top:1px solid var(--line); padding-top:24px; }
.b2b-levels h3{ font-family:var(--serif); font-weight:300; font-size:24px; margin:0 0 6px; }
.b2b-levels__hint{ color:var(--muted); font-size:13.5px; margin:0 0 18px; max-width:62ch; }
.b2b-levels__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.b2b-lv{ display:flex; flex-direction:column; gap:8px; border:1px solid var(--line-2); padding:16px 16px 18px; cursor:pointer; transition:border-color .18s; position:relative; }
.b2b-lv:hover{ border-color:var(--ink); }
/* Evidenzia la card SUBITO al click (segue il radio selezionato, non serve ricaricare la pagina) */
.b2b-lv:has(input:checked){ border-color:var(--ink); box-shadow:inset 3px 0 0 var(--accent); }
.b2b-lv input{ position:absolute; opacity:0; pointer-events:none; }
.b2b-lv__top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.b2b-lv__name{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.b2b-lv__pct{ font-family:var(--serif); font-size:22px; color:var(--accent); }
.b2b-lv__d{ font-family:var(--sans); font-size:12.5px; color:var(--muted); line-height:1.45; }
.b2b-levels__btn{ margin-top:16px; border:0; }
/* Sotto i 900px le 3 card diventano strette e il testo si spezza male (stessa soglia di .tiers, la card gemella su /rivenditori/) */
@media (max-width:900px){ .b2b-levels__grid{ grid-template-columns:1fr; } }

/* pannello affiliazione (hub rivenditore) */
.ref-panel{ margin-top:30px; border:1px solid var(--line-2); border-left:3px solid var(--accent); padding:22px 24px; }
.ref-panel h3{ font-family:var(--serif); font-weight:300; font-size:24px; margin:0 0 6px; }
.ref-panel__hint{ color:var(--muted); font-size:13.5px; margin:0 0 18px; max-width:64ch; }
.ref-panel__grid{ display:grid; grid-template-columns:1.4fr .9fr; gap:clamp(20px,3vw,40px); align-items:start; }
.ref-panel__lab{ display:block; font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.ref-copy{ display:flex; }
.ref-copy input{ flex:1; font-family:var(--sans); font-size:13.5px; padding:11px 13px; border:1px solid var(--line-2); background:var(--paper-2); color:var(--ink); min-width:0; }
.ref-copy__btn{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:0 16px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); cursor:pointer; }
.ref-copy__btn:hover{ background:transparent; color:var(--ink); }
.ref-panel__bal{ font-family:var(--serif); font-size:34px; line-height:1; color:var(--ink); }
.ref-panel__sub{ display:block; font-family:var(--sans); font-size:11.5px; color:var(--muted); margin-top:6px; }
@media (max-width:760px){ .ref-panel__grid{ grid-template-columns:1fr; } }

.b2b-login{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,64px); align-items:start; }
.b2b-login__form h3, .b2b-login__cta h3, .b2b-dash__card h3{ font-family:var(--serif); font-weight:300; font-size:26px; margin:0 0 18px; }
.b2b-login__cta{ border-left:1px solid var(--line); padding-left:clamp(20px,3vw,48px); }
.b2b-login__cta p{ color:var(--ink-2); margin:0 0 22px; }
.b2b-login form{ display:flex; flex-direction:column; gap:14px; max-width:380px; }
.b2b-login .login-username, .b2b-login .login-password{ display:flex; flex-direction:column; gap:7px; margin:0; }
.b2b-login label{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.b2b-login input[type=text], .b2b-login input[type=password]{ font-family:var(--sans); font-size:15px; padding:13px 14px; border:1px solid var(--line-2); background:var(--paper-2); width:100%; }
.b2b-login input:focus{ outline:none; border-color:var(--ink); }
.b2b-login .login-remember{ flex-direction:row; align-items:center; gap:9px; font-size:12.5px; color:var(--muted); text-transform:none; letter-spacing:0; font-weight:500; }
.b2b-login .login-submit{ margin:0; }
.b2b-login .login-submit input{ font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; padding:15px 28px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); cursor:pointer; transition:.2s; }
.b2b-login .login-submit input:hover{ background:transparent; color:var(--ink); }
.b2b-dash{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(20px,3vw,40px); align-items:start; }
.b2b-dash__card{ border:1px solid var(--line-2); padding:clamp(24px,2.6vw,36px); }
.b2b-dash__card--hl{ border-color:var(--ink); }
.b2b-dash__pct{ font-family:var(--serif); font-size:64px; line-height:1; margin:12px 0 10px; color:var(--ink); }
.b2b-dash__card p{ color:var(--ink-2); }
@media (max-width:760px){ .b2b-login, .b2b-dash{ grid-template-columns:1fr; } .b2b-login__cta{ border-left:0; padding-left:0; } }
.b2b-acct{ margin-top:clamp(28px,3.4vw,48px); border-top:1px solid var(--line); padding-top:clamp(22px,2.4vw,34px); }
.b2b-acct h3{ font-family:var(--serif); font-weight:300; font-size:24px; margin:0 0 18px; }
.b2b-acct__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.6vw,20px); }
.b2b-acct__grid a{ border:1px solid var(--line-2); padding:18px; display:flex; flex-direction:column; gap:5px; transition:border-color .18s; }
.b2b-acct__grid a:hover{ border-color:var(--ink); }
.b2b-acct__grid span{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); }
.b2b-acct__grid small{ font-family:var(--sans); font-size:12px; color:var(--muted); }
@media (max-width:760px){ .b2b-acct__grid{ grid-template-columns:1fr 1fr; } }

/* ============================================================
   IL MIO ACCOUNT (WooCommerce) — stile coerente col tema
   ============================================================ */
/* Layout a blocchi: menu ORIZZONTALE in alto + contenuto a piena larghezza (come lo shop) */
.woocommerce-account .woocommerce{ display:block; margin-top:18px; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{ margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation{ width:100%; margin:0 0 clamp(30px,4vw,48px); }
.woocommerce-account .woocommerce-MyAccount-content{ width:100%; min-width:0; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.woocommerce-MyAccount-navigation li{ margin:0; border:0; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:15px 20px; font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); transition:color .18s ease, box-shadow .18s ease; }
.woocommerce-MyAccount-navigation li a:hover{ color:var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a{ color:var(--ink); box-shadow:inset 0 -2px 0 var(--accent); }
@media (max-width:600px){ .woocommerce-MyAccount-navigation li a{ padding:12px 14px; font-size:11px; } }
.woocommerce-MyAccount-content{ font-family:var(--sans); font-size:15px; color:var(--ink-2); line-height:1.6; }
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{ font-family:var(--serif); font-weight:300; color:var(--ink); font-size:24px; margin:0 0 14px; letter-spacing:-.01em; }
.woocommerce-MyAccount-content p{ margin:0 0 14px; }
.woocommerce-MyAccount-content a:not(.btn):not(.button){ color:var(--accent); }
/* tabelle (ordini, downloads) */
.woocommerce table.shop_table{ width:100%; border-collapse:collapse; border:0; margin:0 0 18px; border-radius:0; font-family:var(--sans); font-size:14px; }
.woocommerce table.shop_table thead th{ text-align:left; font-weight:600; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--ink); padding:11px 12px; background:transparent; }
.woocommerce table.shop_table tbody td,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{ padding:13px 12px; border-top:0; border-bottom:1px solid var(--line); color:var(--ink); }
.woocommerce table.shop_table .button{ margin:0; }
.woocommerce .woocommerce-orders-table__cell-order-actions{ text-align:right; }
/* indirizzi */
.woocommerce .woocommerce-Addresses{ display:flex; flex-wrap:wrap; gap:24px; margin-top:8px; }
.woocommerce .woocommerce-Address{ flex:1 1 280px; border:1px solid var(--line); padding:20px; }
.woocommerce .woocommerce-Address-title h3{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; }
.woocommerce .woocommerce-Address-title a{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.woocommerce address{ font-style:normal; font-family:var(--sans); font-size:14px; color:var(--ink-2); line-height:1.7; }
/* form (dati account / indirizzo) */
.woocommerce form .form-row{ display:flex; flex-direction:column; gap:7px; margin:0 0 16px; }
.woocommerce form label{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.woocommerce form .input-text,.woocommerce form input[type=text],.woocommerce form input[type=email],.woocommerce form input[type=password],.woocommerce form input[type=tel],.woocommerce form select{ font-family:var(--sans); font-size:15px; padding:13px 14px; border:1px solid var(--line-2); background:var(--paper-2); width:100%; border-radius:0; }
.woocommerce form .input-text:focus,.woocommerce form select:focus{ outline:none; border-color:var(--ink); }
.woocommerce fieldset{ border:1px solid var(--line); padding:20px; margin:26px 0 0; }
.woocommerce fieldset legend{ font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.13em; text-transform:uppercase; padding:0 8px; color:var(--ink); }
.woocommerce-account .b2b-dash{ margin-bottom:28px; }
@media (max-width:760px){ .woocommerce-account .woocommerce-MyAccount-navigation{ flex-basis:100%; } .woocommerce .woocommerce-Addresses{ grid-template-columns:1fr; } }
.doc .note{ font-family:var(--sans); font-weight:500; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:18px; }

/* ============================================================
   PRODUCT PAGE (override WooCommerce dentro layout A)
   ============================================================ */
.crumb{ padding:18px var(--pad); }
.crumb span,.crumb a{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.crumb b{ color:var(--ink); font-weight:600; }
.pdp{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,4vw,64px); align-items:start; }
.pdp .gal{ position:relative; }
.buy{ position:sticky; top:90px; }
.buy .eyebrow{ display:block; }
.buy h1{ font-family:var(--serif); font-weight:300; font-size:clamp(38px,5vw,60px); line-height:1; margin:12px 0 0; letter-spacing:-.01em; }
.buy .price, .buy .woocommerce-Price-amount{ font-family:var(--serif); font-weight:300; }
.buy__price{ font-family:var(--serif); font-weight:300; font-size:30px; margin:16px 0 0; }
.buy__lead{ color:var(--ink-2); margin:18px 0 0; max-width:46ch; }
.note{ font-family:var(--sans); font-weight:500; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:center; margin-top:11px; }
.spec{ margin-top:34px; border-top:1px solid var(--line-2); }
.spec .row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); gap:18px; }
.spec dt{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0; }
.spec dd{ margin:0; font-size:15.5px; text-align:right; }
.descr{ background:var(--dark); color:#ECE8DE; }
.descr__grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(28px,4vw,64px); align-items:start; }
.descr h2{ font-family:var(--serif); font-weight:300; color:#f1ede3; font-size:clamp(28px,4vw,46px); margin:0; }
.descr p{ color:#cdc7ba; margin:0 0 16px; } .descr p:last-child{ color:#9a9286; margin:0; }

/* galleria WooCommerce */
.woocommerce-product-gallery{ margin:0!important; }
.woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery__image{ background:var(--card-bg); }
.woocommerce-product-gallery__image a, .woocommerce-product-gallery__image img{ display:block; }
.woocommerce-product-gallery .flex-control-thumbs{ display:grid!important; grid-template-columns:repeat(3,1fr); gap:10px; margin:10px 0 0; padding:0; list-style:none; }
.woocommerce-product-gallery .flex-control-thumbs li{ margin:0; }
.woocommerce-product-gallery .flex-control-thumbs img{ background:var(--card-bg); opacity:.7; transition:.2s; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover{ opacity:1; }

/* form variazioni / prezzo / bottone */
.single-product .price, .single-product .woocommerce-variation-price .price{ color:var(--ink); font-size:28px; margin:16px 0 0; }
.single-product .price del{ color:var(--muted); font-weight:300; }
.single-product .price ins{ text-decoration:none; }
table.variations{ width:100%; border-collapse:collapse; margin:24px 0 0; }
table.variations th.label{ text-align:left; font-family:var(--sans); font-weight:600; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding:10px 14px 10px 0; vertical-align:middle; }
table.variations td{ padding:8px 0; }
table.variations select{ width:100%; font-family:var(--sans); font-size:14px; padding:13px 14px; border:1px solid var(--line-2); background:var(--paper-2); color:var(--ink); border-radius:0; -webkit-appearance:none; appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 18px) center,calc(100% - 13px) center; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.woocommerce-variation-add-to-cart{ margin-top:22px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.reset_variations{ font-family:var(--sans); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.single-product .quantity input.qty{ width:64px; padding:14px 8px; text-align:center; border:1px solid var(--line-2); background:var(--paper-2); font-family:var(--sans); font-size:15px; }
.single-product .single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
  font-family:var(--sans)!important; font-weight:600!important; font-size:12px!important; letter-spacing:.16em!important; text-transform:uppercase!important;
  padding:16px 30px!important; background:var(--ink)!important; color:var(--paper)!important; border:1px solid var(--ink)!important; border-radius:0!important; transition:.2s!important; line-height:1.2!important; }
.single-product .single_add_to_cart_button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{ background:transparent!important; color:var(--ink)!important; }
.woocommerce a.button.alt, .woocommerce button.button.alt{ background:var(--accent)!important; border-color:var(--accent)!important; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{ background:transparent!important; color:var(--accent)!important; }

/* ============================================================
   PDP v0.5 — galleria custom per-colore + swatch + badge taglie
   ============================================================ */
.pdp table.variations{ display:none; }            /* select nativi nascosti (restano funzionali) */
.gal__main{ border:1px solid var(--line); background:var(--card-bg); overflow:hidden; }
.gal__main img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.gallery__thumbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:10px 0 0; }
.gallery__thumbs .thumb{ padding:0; border:1px solid var(--line); background:var(--card-bg); cursor:pointer; overflow:hidden; transition:border-color .2s; }
.gallery__thumbs .thumb img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; opacity:.72; transition:opacity .2s; }
.gallery__thumbs .thumb:hover img{ opacity:1; }
.gallery__thumbs .thumb.is-active{ border-color:var(--ink); }
.gallery__thumbs .thumb.is-active img{ opacity:1; }

.sas-options{ margin:26px 0 4px; display:flex; flex-direction:column; gap:24px; }
.opt__label{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; }
.opt__label .mono{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.opt__label .mono--ink{ color:var(--muted); }
.opt-current{ color:var(--ink); letter-spacing:.03em; }
.swatches{ display:flex; flex-wrap:wrap; gap:13px; }
.swatch{ width:30px; height:30px; border-radius:50%; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); transition:transform .15s; }
.swatch:hover{ transform:scale(1.08); }
.swatch.is-active{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), 0 0 0 2px var(--paper), 0 0 0 4px var(--ink); }
.sizes{ display:flex; gap:12px; flex-wrap:wrap; }
.size{ flex:1 1 0; min-width:150px; text-align:left; cursor:pointer; background:var(--paper-2); border:1px solid var(--line-2); padding:13px 16px; transition:.18s; display:flex; flex-direction:column; gap:3px; }
.size:hover{ border-color:var(--ink); }
.size.is-active{ border-color:var(--ink); background:var(--ink); }
.size.is-active .s-name, .size.is-active .s-mm{ color:var(--paper); }
.s-name{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); }
.s-mm{ font-family:var(--sans); font-size:11px; letter-spacing:.02em; color:var(--muted); }
/* Rivenditore: con 4+ misure (S/M/L/XL/MAX) i tasti diventano compatti su 4 colonne */
.sizes:has(.size:nth-child(4)){ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.sizes:has(.size:nth-child(4)) .size{ min-width:0; padding:11px 12px; }
.sizes:has(.size:nth-child(4)) .s-name{ font-size:12px; letter-spacing:.04em; }
.sizes:has(.size:nth-child(4)) .s-mm{ font-size:10px; }
@media (max-width:600px){ .sizes:has(.size:nth-child(4)){ grid-template-columns:repeat(2,1fr); } }

/* ============================================================
   SHOP / ARCHIVE (catalogo)
   ============================================================ */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering{ font-family:var(--sans); font-size:12px; letter-spacing:.08em; color:var(--muted); }
.woocommerce ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,26px); margin:0!important; padding:0!important; list-style:none; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ display:none!important; }
.woocommerce ul.products li.product{ width:auto!important; float:none!important; margin:0!important; text-align:left; }
.woocommerce ul.products li.product a img{ aspect-ratio:1/1; object-fit:cover; width:100%; background:var(--card-bg); margin:0 0 13px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--serif)!important; font-weight:300!important; font-size:22px!important; padding:0!important; color:var(--ink); }
.woocommerce ul.products li.product .price{ font-family:var(--sans)!important; font-weight:600; font-size:13px!important; letter-spacing:.04em; color:var(--ink)!important; }
.woocommerce ul.products li.product .price del{ color:var(--muted); } .woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{ margin-top:8px; }
.woocommerce-products-header{ padding-top:clamp(28px,4vw,52px); }
.woocommerce-products-header__title, .woocommerce-products-header .page-title{ font-family:var(--serif)!important; font-weight:300!important; font-size:clamp(34px,5vw,64px)!important; letter-spacing:-.01em; }
.term-description{ color:var(--ink-2); max-width:60ch; }

/* toast carrello (demo PDP custom, se usato) */
.toast{ position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:var(--paper); font-family:var(--sans); font-weight:600; font-size:13px; letter-spacing:.04em; padding:14px 22px; opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; z-index:90; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

@media (max-width:900px){
  .nav__links{ display:none; }
  .hero,.twocol,.pdp,.steps,.foot__cols,.doc,.descr__grid{ grid-template-columns:1fr; }
  .mgrid,.woocommerce ul.products{ grid-template-columns:1fr 1fr!important; }
  .swrow{ grid-template-columns:repeat(4,1fr); }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none!important; } }

/* ============================================================
   v0.3 — bianco puro, bordi, mega-menu, video, sezioni foto
   ============================================================ */
/* bordi su tutti i contenitori immagine (ora che il fondo è bianco) */
.hero__media,
.twocol .pic,
.mcard .pic,
.sw .pc,
.gal .woocommerce-product-gallery__image,
.gal .flex-viewport,
.woocommerce-product-gallery .flex-control-thumbs img,
.woocommerce ul.products li.product img{ border:1px solid var(--line); }

/* HERO video */
.hero__media{ position:relative; }
.hero__media video{ width:100%; height:100%; object-fit:cover; display:block; }

/* NAV mega-menu */
.nav__item{ position:relative; display:inline-flex; align-items:center; padding:6px 0; }
.nav__item > a{ display:inline-flex; align-items:center; gap:7px; }
.nav__caret{ font-size:8px; opacity:.55; transition:transform .2s; }
.nav__item:hover .nav__caret{ transform:rotate(180deg); }
.mega{ position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:#fff; border:1px solid var(--line); padding:16px; display:flex; flex-direction:column; gap:14px;
  opacity:0; visibility:hidden; transition:opacity .18s ease; z-index:60;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.34); }
.mega__cards{ display:flex; gap:14px; }
.mega__all{ display:block; text-align:right; font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); padding-top:13px; border-top:1px solid var(--line); }
.mega__all:hover{ color:var(--accent); }
.nav__item:hover .mega{ opacity:1; visibility:visible; }
.mega__card{ width:236px; }
.mega__pic{ aspect-ratio:4/3; background:var(--card-bg); border:1px solid var(--line); overflow:hidden; }
.mega__pic img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.6,.2,1); }
.mega__card:hover .mega__pic img{ transform:scale(1.05); }
.mega__name{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-top:11px; color:var(--ink); }
.mega__sub{ font-family:var(--sans); font-size:11px; letter-spacing:.03em; color:var(--muted); margin-top:3px; }

/* BAND lifestyle (foto a tutta larghezza con testo) */
.band{ position:relative; min-height:clamp(420px,52vw,620px); display:flex; align-items:flex-end; overflow:hidden; }
.band img.band__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.band__veil{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(13,12,11,.12) 0%, rgba(13,12,11,.05) 38%, rgba(13,12,11,.78) 100%); }
.band__copy{ position:relative; z-index:2; padding:clamp(36px,6vw,90px); max-width:780px; }
.band__copy .eyebrow{ color:#d2ccbf; }
.band__copy h2{ font-family:var(--serif); font-weight:300; font-size:clamp(30px,4.6vw,62px); line-height:1.04; color:#fff; margin:16px 0 0; letter-spacing:-.01em; }
.band__copy h2 em{ font-style:italic; }
.band__copy p{ color:#e7e1d4; margin:20px 0 0; max-width:48ch; font-size:18px; }

/* SPLIT (immagine + testo) */
.split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.split--rev .split__media{ order:2; }
.split__media{ background:var(--card-bg); overflow:hidden; min-height:clamp(360px,40vw,520px); }
.split__media img{ width:100%; height:100%; object-fit:cover; }
.split__copy{ padding:clamp(36px,6vw,96px); display:flex; flex-direction:column; justify-content:center; }
.split__copy h2{ font-size:clamp(28px,4vw,52px); margin:16px 0 0; }
.split__copy p{ color:var(--ink-2); margin:20px 0 0; max-width:46ch; }
.split--dark{ background:var(--dark); }
.split--dark .split__copy{ color:#ECE8DE; }
.split--dark h2{ color:#f1ede3; } .split--dark p{ color:#cdc7ba; } .split--dark .eyebrow{ color:var(--faint); }

/* PAGINA SERIE (archivio categoria) */
.series-hero{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(28px,4vw,60px); align-items:center; padding-top:clamp(34px,5vw,68px); padding-bottom:clamp(34px,5vw,60px); }
.series-hero__media{ aspect-ratio:4/5; background:var(--card-bg); overflow:hidden; border:1px solid var(--line); }
.series-hero__media img{ width:100%; height:100%; object-fit:cover; }
.series-hero__copy{ padding:0; }
.series-hero__copy h1{ font-size:clamp(40px,6vw,82px); margin:14px 0 0; }
.series-hero__copy p{ color:var(--ink-2); margin:22px 0 0; max-width:46ch; font-size:19px; }
.series-hero__copy .m{ font-family:var(--sans); font-weight:600; font-size:13px; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); margin-top:22px; }

/* WooCommerce: shop/categoria/cart dentro .wrap (niente full-width) */
.woo-wrap{ padding-top:clamp(24px,4vw,44px); padding-bottom:clamp(48px,7vw,96px); }

@media (max-width:900px){
  .split, .series-hero{ grid-template-columns:1fr; }
  .split--rev .split__media{ order:0; }
  .mega{ display:none; }
}

/* ============================================================
   v0.4 — ELEVAZIONE EDITORIALE (ui-ux-pro-max:
   Swiss Modernism + Exaggerated Minimalism + monochrome gallery)
   ============================================================ */
html{ scroll-behavior:smooth; }

/* ritmo verticale più ampio e matematico */
.section{ padding-block:clamp(76px,11vw,156px); }

/* DISPLAY oversized + tracking stretto (Spectral) */
.serif-d{ letter-spacing:-.025em; line-height:1.0; }
.hero h1{ font-size:clamp(54px,8.6vw,128px); letter-spacing:-.035em; line-height:.93; }
.hero p{ font-size:clamp(17px,1.35vw,21px); max-width:44ch; }
.serie__head h2, .forme__head h2{ font-size:clamp(38px,5.6vw,78px); letter-spacing:-.03em; }
.colori__head h2{ font-size:clamp(36px,5vw,68px); letter-spacing:-.03em; }
.metodo h2{ font-size:clamp(38px,5.4vw,74px); letter-spacing:-.03em; }
.endcta h2{ font-size:clamp(52px,8.4vw,116px); letter-spacing:-.04em; }
.buy h1{ font-size:clamp(40px,5.2vw,68px); letter-spacing:-.025em; }
.series-hero__copy h1{ letter-spacing:-.03em; }

/* eyebrow con tratto "—" (cue editoriale Swiss) */
.eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:11.5px; letter-spacing:.28em; }
.eyebrow::before{ content:""; width:28px; height:1px; background:currentColor; opacity:.55; flex:none; }

/* divisori di sezione sottili (struttura editoriale) */
.serie__head, .forme__head{ border-top:1px solid var(--line); padding-top:clamp(22px,2.6vw,40px); }

/* cifre tabellari per prezzi e dati */
.mcard__p, .price, .buy__price, .woocommerce .price, .s-mm, .amount{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }

/* CARD prodotto: hover premium (cornice→ink, nome con underline animata) */
.mcard .pic{ transition:border-color .28s ease; }
.mcard:hover .pic{ border-color:var(--ink); }
.mcard__n{ position:relative; display:inline-block; }
.mcard__n::after{ content:""; position:absolute; left:0; bottom:-3px; width:0; height:1px; background:var(--ink); transition:width .35s cubic-bezier(.2,.6,.2,1); }
.mcard:hover .mcard__n::after{ width:100%; }
.woocommerce ul.products li.product img{ transition:border-color .28s ease, transform .55s cubic-bezier(.2,.6,.2,1); }
.woocommerce ul.products li.product a:hover img{ border-color:var(--ink); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ transition:color .2s; }
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{ color:var(--accent); }

/* nav raffinata */
.nav__links a, .nav__cart{ font-size:11.5px; letter-spacing:.16em; }

/* hero più arioso */
.hero{ padding-top:clamp(48px,6vw,92px); padding-bottom:clamp(20px,3vw,48px); gap:clamp(34px,5vw,84px); align-items:stretch; }
.hero__copy{ display:flex; flex-direction:column; justify-content:center; }

/* MICRO-ANIMAZIONI: reveal allo scroll (gestito da reveal.js, con stagger) */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.6,.2,1); will-change:opacity,transform; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ============================================================
   3D — viewer in scheda prodotto + visualizzatore "nella tua foto"  (v0.8.0)
   ============================================================ */

/* toggle Foto / 3D */
.gal__modes{ display:flex; gap:6px; margin-bottom:14px; }
.gmode{ font:600 12px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.08em; text-transform:uppercase;
  padding:9px 16px; border:1px solid var(--line-2); background:var(--paper); color:var(--muted);
  cursor:pointer; border-radius:999px; transition:.18s ease; }
.gmode:hover{ color:var(--ink); border-color:var(--ink); }
.gmode.is-active{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* riquadro 3D */
.gal__3d{ aspect-ratio:1/1; }   /* visore 3D quadrato come la galleria foto (su mobile è absolute inset:0) */
.gal__3d .sas-mv{ width:100%; height:100%; background:
  radial-gradient(120% 90% at 50% 18%, #fbfbf9 0%, #f0efea 70%, #e8e7e1 100%);
  border:1px solid var(--line); border-radius:2px; --poster-color:transparent; }
.mv-hint{ position:absolute; left:0; right:0; bottom:12px; text-align:center;
  font-size:11px; letter-spacing:.04em; color:var(--muted); pointer-events:none; }
.mv-ar{ position:absolute; top:14px; right:14px; background:var(--ink); color:#fff; border:0;
  font:600 12px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.04em;
  padding:11px 15px; border-radius:999px; cursor:pointer; box-shadow:0 4px 18px rgba(0,0,0,.18); }
.mv-photo-btn{ display:block; width:100%; margin-top:12px; background:var(--paper); color:var(--ink);
  border:1px solid var(--ink); font:600 13px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.04em;
  padding:14px; cursor:pointer; transition:.18s ease; }
.mv-photo-btn:hover{ background:var(--ink); color:#fff; }

/* ---- modale visualizzatore ---- */
.sas-viz{ position:fixed; inset:0; z-index:9999; background:#14130F; color:#fff;
  display:flex; flex-direction:column; animation:vizIn .25s ease; }
@keyframes vizIn{ from{ opacity:0 } to{ opacity:1 } }
.viz__bar{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.12); flex:0 0 auto; }
.viz__bar strong{ font:600 14px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.04em; }
.viz__actions{ display:flex; gap:8px; align-items:center; }
.viz__btn{ font:600 12px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.05em;
  padding:10px 14px; border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff;
  cursor:pointer; border-radius:999px; transition:.18s ease; display:inline-flex; align-items:center; gap:6px; }
.viz__btn:hover{ background:#fff; color:#14130F; }
.viz__btn:disabled{ opacity:.4; cursor:not-allowed; }
.viz__btn:disabled:hover{ background:transparent; color:#fff; }
.viz__close{ border-radius:999px; width:38px; height:38px; padding:0; justify-content:center; }

.viz__stage{ position:relative; flex:1 1 auto; overflow:hidden; background:#1d1c18 center/cover no-repeat; }
.viz__stage.has-bg{ background-color:#000; }
.viz__hint{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:0 24px; max-width:560px; margin:auto; color:rgba(255,255,255,.7);
  font:400 16px/1.5 var(--font-ui,Archivo,sans-serif); }
.viz__obj{ position:absolute; transform:translate(-50%,-90%); touch-action:none; cursor:grab; }
.viz__obj.is-drag{ cursor:grabbing; }
.viz__obj::after{ content:""; position:absolute; inset:0; } /* cattura il drag sopra al canvas */
.viz__mv{ width:100%; height:100%; --poster-color:transparent; background:transparent; pointer-events:none; }

.viz__tools{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; flex:0 0 auto;
  padding:14px 18px; border-top:1px solid rgba(255,255,255,.12); }
.viz__tools label{ display:flex; align-items:center; gap:10px;
  font:600 11px/1 var(--font-ui,Archivo,sans-serif); letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.viz__tools input[type=range]{ width:160px; accent-color:#fff; }
.viz__tip{ margin-left:auto; color:rgba(255,255,255,.45); font-size:11px; }

@media (max-width:640px){
  .viz__tip{ display:none; }
  .viz__tools input[type=range]{ width:120px; }
  .viz__bar strong{ display:none; }
}

/* ============================================================
   v0.5 — HERO FULL-BLEED (galleria, Opzione B) + NAV overlay
   ============================================================ */
.hero-full{ position:relative; min-height:100vh; min-height:100svh; display:flex; flex-direction:column;
  justify-content:flex-end; overflow:hidden; color:#fff; background:var(--dark); }
.hero-full__bg{ position:absolute; inset:0; z-index:0; }
.hero-full__bg img{ width:100%; height:100%; object-fit:cover; }
.hero-full__veil{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(8,7,6,.60) 0%, rgba(8,7,6,.10) 30%, rgba(8,7,6,.22) 56%, rgba(8,7,6,.90) 100%); }
.hero-full__veil::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,7,6,.55) 0%, rgba(8,7,6,0) 60%); }
.hero-full__inner{ position:relative; z-index:3; width:100%; padding-bottom:clamp(58px,8vw,118px); }
.hero-full .eyebrow{ color:rgba(255,255,255,.86); margin-bottom:24px; }
.hero-full .eyebrow::before{ background:var(--accent); opacity:1; }
.hero-full h1{ color:#fff; font-size:clamp(50px,7.6vw,124px); line-height:.93; letter-spacing:-.032em; margin:0; }
.hero-full__lead{ margin:26px 0 0; max-width:48ch; font-size:clamp(16px,1.3vw,20px); line-height:1.5; color:rgba(255,255,255,.85); }
.hero-full .hero__actions{ margin-top:38px; display:flex; gap:14px; flex-wrap:wrap; }
.hero-full .btn{ background:transparent; border-color:#fff; color:#fff; }
.hero-full .btn:hover{ background:#fff; color:var(--ink); }
.hero-full .btn--light{ background:#fff; border-color:#fff; color:var(--ink); }
.hero-full .btn--light:hover{ background:transparent; color:#fff; }
.hero-full .btn--ghostlight{ background:transparent; border-color:rgba(255,255,255,.6); color:#fff; }
.hero-full .btn--ghostlight:hover{ background:#fff; border-color:#fff; color:var(--ink); }
.hero-full__cap{ position:absolute; right:var(--pad); bottom:clamp(26px,4vw,46px); z-index:3;
  font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.hero-full__scroll{ position:absolute; left:50%; transform:translateX(-50%); bottom:18px; z-index:3; text-align:center;
  font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.hero-full__scroll span{ display:block; margin-top:6px; animation:sasbob 1.9s ease-in-out infinite; }
@keyframes sasbob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(5px); } }

/* NAV in overlay (solo home): trasparente sopra la hero, solida dopo lo scroll */
.nav--overlay{ position:fixed; top:0; left:0; right:0; z-index:50; background:transparent; border-bottom-color:transparent;
  transition:background .3s ease, border-color .3s ease; }
.nav--overlay .brand, .nav--overlay .nav__links a, .nav--overlay .nav__cart, .nav--overlay .nav__cart a, .nav--overlay .nav__b2b{ color:#fff; }
.nav--overlay .brand img{ filter:none; }
.nav--overlay .nav__b2b--ghost{ border-color:rgba(255,255,255,.55); }
.nav--overlay .nav__links a:hover{ opacity:.7; }
.nav--overlay.is-solid{ background:rgba(255,255,255,.95); border-bottom-color:var(--line); backdrop-filter:saturate(1.2) blur(8px); }
.nav--overlay.is-solid .brand, .nav--overlay.is-solid .nav__links a, .nav--overlay.is-solid .nav__cart, .nav--overlay.is-solid .nav__cart a, .nav--overlay.is-solid .nav__b2b{ color:var(--ink); }
.nav--overlay.is-solid .brand img{ filter:invert(1) brightness(.1); }
.nav--overlay.is-solid .nav__b2b--ghost{ border-color:var(--line-2); }
/* hero full-bleed sulle pagine Serie (un filo più bassa della home) */
.hero-full--series{ min-height:78vh; }
.hero-full__models{ margin-top:24px; font-family:var(--sans); font-weight:600; font-size:13px;
  letter-spacing:.13em; text-transform:uppercase; color:#fff; }

@media (max-width:900px){
  .hero-full h1{ font-size:clamp(40px,11vw,72px); }
  .hero-full--series{ min-height:64vh; }
}
@media (prefers-reduced-motion:reduce){ .hero-full__scroll span{ animation:none; } }

/* hero-full variante CHIARA (foto prodotto su fondo bianco): testo scuro, velo bianco a sinistra */
.hero-full--light{ color:var(--ink); background:var(--paper); }
.hero-full--light .hero-full__bg img{ object-position:62% center; }
.hero-full--light .hero-full__veil{ background:
  linear-gradient(90deg, rgba(247,246,242,.97) 0%, rgba(247,246,242,.88) 22%, rgba(247,246,242,.48) 44%, rgba(247,246,242,.08) 64%, rgba(247,246,242,0) 100%),
  linear-gradient(180deg, rgba(247,246,242,.55) 0%, rgba(247,246,242,0) 26%, rgba(247,246,242,0) 72%, rgba(247,246,242,.5) 100%); }
.hero-full--light .hero-full__veil::after{ display:none; }
.hero-full--light .eyebrow{ color:var(--muted); }
.hero-full--light .eyebrow::before{ background:var(--accent); }
.hero-full--light h1{ color:var(--ink); }
.hero-full--light .hero-full__lead{ color:var(--ink-2); }
.hero-full--light .hero-full__models{ color:var(--accent); }
.hero-full--light .hero-full__cap, .hero-full--light .hero-full__scroll{ color:var(--muted); }

/* nav overlay su hero CHIARA: testo scuro */
.nav--overlay-light .brand, .nav--overlay-light .nav__links a, .nav--overlay-light .nav__cart,
.nav--overlay-light .nav__cart a, .nav--overlay-light .nav__b2b{ color:var(--ink); }
.nav--overlay-light .brand img{ filter:invert(1) brightness(.1); }
.nav--overlay-light .nav__b2b--ghost{ border-color:var(--line-2); }
.nav--overlay-light .nav__links a:hover{ color:var(--accent); opacity:1; }

/* ============================================================
   CHECKOUT — pulizia pagamenti (PayPal doppio + campi carta)
   ============================================================ */
/* PayPal in alto (express) nascosto al CHECKOUT: resta come opzione sotto, accanto alla Carta.
   Apple/Google Pay restano i pulsanti rapidi in alto. */
#express-payment-method-ppcp-gateway-paypal{ display:none !important; }

/* Campi carta PayPal: NIENTE bordo nostro (il doppio-box col box interno di
   PayPal faceva sembrare tutto "storto"). Si usa il box nativo dell'iframe;
   aggiungiamo solo un po' di respiro tra i campi. */
#radio-control-wc-payment-method-options-ppcp-credit-card-gateway__content [id^="zoid-paypal-card-number-field"]{ margin-bottom:10px !important; }
#radio-control-wc-payment-method-options-ppcp-credit-card-gateway__content [id^="zoid-paypal-card-cvv-field"]{ margin-left:10px !important; }

/* ============================================================
   HEADER MOBILE — menu hamburger (≤900px)
   ============================================================ */
.nav__burger{ display:none; }
.nav__mobile{ display:none; }
@media (max-width:900px){
  .nav{ gap:12px; padding:16px var(--pad); }
  .brand b{ white-space:nowrap; font-size:14px; }
  .nav__right .nav__b2b{ display:none; }       /* i bottoni vanno nel pannello */
  .nav__right{ gap:14px; }
  .nav__burger{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:30px; height:30px; padding:4px; background:none; border:0; cursor:pointer; color:inherit; }
  .nav__burger span{ display:block; height:2px; width:22px; background:currentColor; border-radius:2px; }
  .nav--overlay .nav__burger span{ background:#fff; }
  .nav--overlay.is-solid .nav__burger span{ background:var(--ink); }
  .nav__mobile{ display:flex; }
  .nav__mobile[hidden]{ display:none; }
}
.nav__mobile{ position:fixed; inset:0; z-index:60; background:var(--paper); flex-direction:column; justify-content:center; align-items:center; padding:var(--pad); }
.nav__mobile-close{ position:absolute; top:14px; right:var(--pad); width:42px; height:42px; font-size:36px; line-height:1; background:none; border:0; cursor:pointer; color:var(--ink); }
.nav__mobile-links{ display:flex; flex-direction:column; align-items:center; width:100%; max-width:320px; }
.nav__mobile-links a{ font-family:var(--sans); font-weight:600; font-size:19px; letter-spacing:.1em; text-transform:uppercase; padding:17px 0; width:100%; text-align:center; border-bottom:1px solid var(--line); }
.nav__mobile-links a:last-child{ border-bottom:0; }
.nav__mobile-b2b{ color:var(--accent); }
html.nav-open{ overflow:hidden; }

/* Carrello: testo su desktop, ICONA compatta su mobile (no "Carrello (0)" a capo su iPhone mini) */
.nav__cart-ico{ display:none; }
@media (max-width:900px){
  .nav__cart-txt{ display:none; }
  .nav__cart-ico{ display:inline-flex; align-items:center; position:relative; }
}
.nav__cart-badge{ position:absolute; top:-5px; right:-9px; min-width:16px; height:16px; line-height:16px; padding:0 4px; border-radius:9px; background:var(--accent); color:#fff; font-family:var(--sans); font-weight:700; font-size:9px; font-style:normal; text-align:center; letter-spacing:0; }
.nav--overlay .nav__cart-ico svg{ stroke:#fff; }
.nav--overlay.is-solid .nav__cart-ico svg{ stroke:var(--ink); }

/* === PDP mobile UX (colore vicino all'immagine + AR visibile) === */
.gal__ar{ display:none; }
@media (max-width:900px){
  .buy{ display:flex; flex-direction:column; }
  .buy > .eyebrow{ order:1; }
  .buy > h1{ order:2; }
  .buy > .price{ order:3; }
  .buy > .cart{ order:4; }
  .buy > .note{ order:5; }
  .buy__lead{ order:6; }
  .buy > .spec{ order:7; }
  .gal__modes{ display:none; }
  .gal__ar{ display:block; width:100%; margin:12px 0 0; font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:15px; background:var(--paper); color:var(--ink); border:1px solid var(--ink); cursor:pointer; transition:.18s; }
  .gal__ar:active{ background:var(--ink); color:var(--paper); }
}

@keyframes sas-arload{ 0%{left:0;width:0} 45%{left:0;width:100%} 55%{left:0;width:100%} 100%{left:100%;width:0} }
@media (max-width:900px){
  .gal{ position:relative; }
  .gal__photo{ position:relative; z-index:1; }
  .gal__ar{ position:relative; z-index:2; overflow:hidden; }
  .gal__3d[hidden]{ display:block; }                 /* forza il caricamento anche da 'hidden' */
  .gal__3d{ position:absolute; inset:0; z-index:0; opacity:0; pointer-events:none; }
  .gal__ar.is-loading{ color:transparent; }
  .gal__ar.is-loading::after{ content:""; position:absolute; left:0; bottom:0; height:3px; background:var(--ink); animation:sas-arload 1.1s ease-in-out infinite; }
}

/* ===== PDP v0.9.18: tab + sezioni ===== */
.sas-tabs{padding-top:clamp(30px,5vw,60px)}
.sas-tabs .tabs__nav{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:28px;flex-wrap:wrap}
.sas-tabs .tabs__btn{background:none;border:0;padding:0 0 14px;margin-bottom:-1px;font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.sas-tabs .tabs__btn:hover{color:var(--ink)}
.sas-tabs .tabs__btn.is-active{color:var(--ink);border-bottom-color:var(--accent)}
.sas-tabs .tabs__panel{display:none;max-width:760px;font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--ink-2)}
.sas-tabs .tabs__panel.is-active{display:block}
.spec--tab{display:grid;margin:0;max-width:620px}
.spec--tab .row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.spec--tab dt{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.spec--tab dd{margin:0;text-align:right;font-family:var(--serif);font-size:16px}
.size-table{border-collapse:collapse;width:100%;max-width:560px;font-family:var(--sans);font-size:14px}
.size-table th{text-align:left;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 16px 10px 0;border-bottom:1px solid var(--ink)}
.size-table td{padding:11px 16px 11px 0;border-bottom:1px solid var(--line)}
.size-note{margin-top:14px;font-family:var(--sans);font-size:12px;color:var(--muted);font-style:italic}
.sas-howto h2,.sas-related h2,.sas-process h2{font-size:clamp(26px,3.4vw,40px);margin:0 0 30px;font-weight:300}
.howto{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.howto li{border-top:1px solid var(--ink);padding-top:18px}
.howto__n{font-family:var(--serif);font-size:30px;color:var(--accent);display:block;line-height:1;margin-bottom:12px}
.howto b{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:8px}
.howto p{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink-2);margin:0}
.related__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.related__card{text-decoration:none;color:inherit;display:block}
.related__img{display:block;border:1px solid var(--line);overflow:hidden;margin-bottom:12px}
.related__img img{width:100%;height:auto;display:block;transition:.3s}
.related__card:hover .related__img img{transform:scale(1.03)}
.related__name{display:block;font-family:var(--serif);font-size:19px;margin-bottom:3px}
.related__card:hover .related__name{color:var(--accent)}
.related__price{display:block;font-family:var(--sans);font-size:13px;color:var(--muted)}
.sas-process{background:var(--dark);color:#ece8de;padding:clamp(50px,8vw,100px) 0;margin-top:clamp(40px,7vw,90px)}
.sas-process .eyebrow{color:var(--accent)}
.sas-process h2{color:#f4f1ea;max-width:18ch}
.sas-process p{max-width:56ch;color:#cdc7ba;font-family:var(--serif);font-size:19px;line-height:1.7;margin-top:18px}
@media(max-width:760px){.howto,.related__grid{grid-template-columns:1fr 1fr}.sas-tabs .tabs__nav{gap:18px}}
@media(max-width:520px){.howto{grid-template-columns:1fr}}

/* PDP v0.9.19: tab staccate + icone come-si-usa */
.sas-tabs .tabs__nav{border-bottom:0;gap:10px;margin-bottom:26px}
.sas-tabs .tabs__btn{border:1px solid var(--line-2);padding:11px 22px;margin:0;color:var(--ink-2);font-size:12px;border-bottom:1px solid var(--line-2)}
.sas-tabs .tabs__btn:hover{border-color:var(--ink);color:var(--ink)}
.sas-tabs .tabs__btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.howto li{border-top:1px solid var(--ink);padding-top:20px}
.howto .ico{display:block;width:42px;height:42px;color:var(--accent);margin-bottom:14px}
.howto .ico svg{width:100%;height:100%;display:block}

/* ======================================================================
   ARCHIVIO PRODOTTI — toolbar selettore colore + filtri serie/tag (v0.9.21)
   ====================================================================== */
.shop-tools{ display:flex; flex-direction:column; gap:14px; margin:0 0 clamp(24px,3vw,40px);
  padding-bottom:18px; border-bottom:1px solid var(--line); }
.shop-tools .stool{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.shop-tools .stool__lab{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); min-width:54px; }
/* swatches colore */
.shop-tools .swatches{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.shop-tools .sw{ width:26px; height:26px; border-radius:50%; padding:0; cursor:pointer;
  background:var(--sw); border:1px solid rgba(0,0,0,.18); position:relative; transition:transform .18s ease, box-shadow .18s ease; }
.shop-tools .sw:hover{ transform:scale(1.12); }
.shop-tools .sw.is-active{ box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--ink); }
.shop-tools .sw--rand{ display:inline-flex; align-items:center; justify-content:center;
  background:var(--paper); color:var(--ink); border:1px dashed var(--muted); }
.shop-tools .sw--rand.is-active{ border-style:solid; color:var(--accent); box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--accent); }
.shop-tools .sw-reset{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); background:none; border:0; cursor:pointer; padding:4px 4px; }
.shop-tools .sw-reset.is-active{ color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
/* chips serie/tag */
.shop-tools .chips{ display:flex; flex-wrap:wrap; gap:8px; }
.shop-tools .chip{ font-family:var(--sans); font-size:12.5px; letter-spacing:.02em; color:var(--ink);
  background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:6px 14px; cursor:pointer;
  transition:border-color .18s ease, background .18s ease, color .18s ease; }
.shop-tools .chip:hover{ border-color:var(--ink); }
.shop-tools .chip.is-active{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
.shop-tools .chip--sm{ font-size:11.5px; padding:4px 11px; text-transform:lowercase; }
.shop-tools .chip--sm.is-active{ background:var(--accent); border-color:var(--accent); }
/* tag in details (collassabile) */
.shop-tools details.stool--tag{ display:block; }
.shop-tools details.stool--tag summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center;
  gap:6px; width:auto; }
.shop-tools details.stool--tag summary::-webkit-details-marker{ display:none; }
.shop-tools details.stool--tag .stool__cue{ color:var(--muted); font-size:13px; }
.shop-tools details.stool--tag[open] .stool__cue{ transform:rotate(45deg); }
.shop-tools details.stool--tag .chips--tag{ margin-top:12px; }
.shop-tools__meta{ font-family:var(--sans); font-size:12px; letter-spacing:.04em; color:var(--muted); }
.shop-tools__meta b{ color:var(--ink); }
@media (max-width:600px){
  .shop-tools .stool{ gap:10px; }
  .shop-tools .stool__lab{ width:100%; min-width:0; }
}

/* ======================================================================
   BARRA COLORE VERTICALE FISSA — archivio prodotti (v0.9.22)
   ====================================================================== */
.colorrail{ position:fixed; right:max(14px, calc((100vw - var(--maxw)) / 2 + 4px)); top:var(--rail-top,130px); transform:none; z-index:30;
  display:flex; flex-direction:column; align-items:center; gap:9px; padding:13px 10px;
  background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
  border:1px solid var(--line); border-radius:999px; box-shadow:0 8px 30px rgba(26,23,20,.10); }
.colorrail__lab{ font-family:var(--sans); font-size:9.5px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted); writing-mode:vertical-rl; transform:rotate(180deg);
  margin-bottom:3px; }
.colorrail .crail, .colorrow .crail{ position:relative; width:24px; height:24px; border-radius:50%; padding:0; cursor:pointer;
  border:1px solid rgba(0,0,0,.16); background:var(--sw,#fff); transition:transform .16s ease, box-shadow .16s ease; }
.colorrail .crail:hover, .colorrow .crail:hover{ transform:scale(1.18); }
.colorrail .crail.is-active, .colorrow .crail.is-active{ box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ink); }
.colorrail .crail--rand, .colorrow .crail--rand{ display:flex; align-items:center; justify-content:center; color:var(--ink);
  background:var(--paper); border:1px dashed var(--muted); }
.colorrail .crail--rand.is-active, .colorrow .crail--rand.is-active{ border-style:solid; color:var(--accent); box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--accent); }
/* tooltip nome colore al hover (a sinistra della barra verticale) */
.colorrail .crail__name{ position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(6px);
  font-family:var(--sans); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--paper);
  background:var(--ink); padding:3px 9px; border-radius:3px; white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .15s ease, transform .15s ease; }
.colorrail .crail:hover .crail__name{ opacity:1; transform:translateY(-50%) translateX(0); }
.colorrow .crail__name{ display:none; } /* riga orizzontale: uso il title nativo del browser */
/* Riga COLORE orizzontale (pagine serie), sopra i prodotti */
.colorrow{ display:flex; align-items:center; gap:14px; margin:2px 0 6px; flex-wrap:wrap; }
.colorrow__lab{ font-family:var(--sans); font-size:9.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.colorrow__sw{ display:flex; align-items:center; gap:11px; flex-wrap:wrap; }
.shop-tools__hint{ color:var(--muted); }
@media (max-width:820px){
  .colorrail{ right:auto; left:0; bottom:0; top:auto; transform:none; flex-direction:row; width:100%;
    justify-content:center; gap:12px; border-radius:0; border:0; border-top:1px solid var(--line);
    padding:10px 12px; box-shadow:0 -4px 20px rgba(26,23,20,.08); }
  .colorrail__lab{ display:none; }
  .colorrail .crail__name{ display:none; }
  .shop-tools__hint{ display:none; }
  .woocommerce ul.products{ padding-bottom:60px!important; }
}

.nowrap{white-space:nowrap}

/* Fix mega-menu Serie: gli elementi sono <span> inline → i margin-top di nome/sub venivano ignorati
   e il testo sforava sovrapponendosi a "Tutti i modelli". Li rendo block. (v0.9.27) */
.mega__card{ display:flex; flex-direction:column; }
.mega__pic{ display:block; }
.mega__name,.mega__sub{ display:block; }

/* ======================================================================
   AREA RIVENDITORI — layout account + fatture/clienti (v0.9.28)
   ====================================================================== */
/* (layout account = menu orizzontale + contenuto full-width, vedi sezione dedicata sopra) */
.sas-hub-hi{ font-family:var(--sans); font-size:14px; color:var(--muted); margin:0 0 24px; }
.sas-hub-hi strong{ color:var(--ink); }
.b2b-hub__head{ margin:0 0 22px; }
.b2b-hub__head .eyebrow{ color:var(--accent); }
.b2b-hub__title{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3vw,34px); margin:5px 0 0; letter-spacing:-.01em; }
/* tabelle Fatture / I tuoi clienti */
.sas-fat-table .ta-r, .sas-cli-table .ta-r{ text-align:right; }
.sas-fat-table .button{ margin:0; padding:6px 15px; font-size:11px; }
.sas-cli-hint{ font-size:14px; color:var(--ink-2); max-width:70ch; margin:0 0 18px; }
.sas-cli-tot{ font-size:14px; color:var(--muted); margin-top:16px; }
.sas-cli-tot strong{ color:var(--ink); }

.b2b-guide{ margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.b2b-guide a{ font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink)!important; }
.b2b-guide a:hover{ color:var(--accent)!important; }

/* I tuoi clienti — dettaglio ordine espandibile con miniature (v0.9.31) */
.sas-cli-toggle{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); background:none; border:1px solid var(--line); border-radius:999px; padding:6px 14px; cursor:pointer; transition:background .18s, border-color .18s, color .18s; white-space:nowrap; }
.sas-cli-toggle:hover{ border-color:var(--ink); }
.sas-cli-toggle.is-open{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.sas-cli-det > td{ background:#F6F4EF; padding:0!important; }
.sas-cli-prods{ display:flex; flex-wrap:wrap; gap:16px 30px; padding:18px 16px; }
.sas-cli-prod{ display:flex; align-items:center; gap:12px; }
.sas-cli-prod__img img{ width:52px; height:52px; object-fit:cover; border:1px solid var(--line); display:block; background:#fff; }
.sas-cli-prod__txt{ display:flex; flex-direction:column; gap:2px; }
.sas-cli-prod__txt b{ font-family:var(--serif); font-weight:400; font-size:15px; color:var(--ink); }
.sas-cli-prod__txt span{ font-family:var(--sans); font-size:12px; color:var(--muted); }

/* ---- Badge "Esclusiva rivenditori" (lancio a tappe) ---- */
.sas-excl-badge{ display:inline-block; font-family:var(--sans); font-weight:600; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--paper); background:var(--accent); padding:3px 8px; margin:2px 0 10px; border-radius:2px; }
.sas-excl-badge--sm{ position:absolute; top:8px; left:8px; z-index:3; font-size:8px; letter-spacing:.07em; padding:2px 6px; margin:0; }
.woocommerce ul.products li.product{ position:relative; }
.mega__pic{ position:relative; }

/* ---- FINITURE "il palco" (home, mockup C approvato 02/07) ---- */
.palco__split{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(34px,5vw,80px); align-items:center; }
.palco__stage{ position:relative; border:1px solid var(--line); background:#f4f3f0; overflow:hidden; }
.palco__stage img{ width:100%; aspect-ratio:4/3.4; object-fit:cover; display:block; transition:opacity .25s ease; }
.palco__tag{ position:absolute; left:0; bottom:0; background:var(--dark); color:#F1EDE3; font-family:var(--sans); font-weight:600; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; padding:9px 16px; }
.palco__side .serif-d{ font-size:clamp(34px,4.2vw,60px); }
.palco__lead{ color:var(--ink-2); max-width:44ch; }
.palco__fins{ margin-top:clamp(24px,3vw,40px); border-top:1px solid var(--line); }
.palco__fin{ display:flex; align-items:center; gap:16px; width:100%; background:none; border:0; border-bottom:1px solid var(--line); padding:15px 4px; cursor:pointer; font-family:var(--sans); text-align:left; transition:padding-left .18s ease; }
.palco__fin:hover{ padding-left:12px; }
.palco__fin .dot{ width:15px; height:15px; border-radius:50%; flex:none; border:1px solid rgba(0,0,0,.18); }
.palco__fin .nm{ font-weight:600; font-size:11.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink); }
.palco__fin .op{ margin-left:auto; font-weight:500; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.palco__fin[aria-pressed="true"]{ background:linear-gradient(to right, rgba(74,90,72,.07), transparent); }
.palco__fin[aria-pressed="true"] .nm{ color:var(--accent); }
.palco__fin[aria-pressed="true"] .dot{ box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--accent); }
.palco__fin:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:900px){ .palco__split{ grid-template-columns:1fr; } }

/* ---- FIX sito-check 02/07 · eyebrow banda Processo: era overflow 386px su mobile.
   "Eco‑manifattura digitale" usa trattino/spazi non-breaking (non può spezzarsi) → si riduce il corpo. ---- */
@media (max-width:560px){
  .sas-process .eyebrow{ flex-wrap:wrap; font-size:11px; letter-spacing:.1em; }
  .sas-process .eyebrow .nowrap{ white-space:normal; }
}

/* ---- PDP rivista (mockup approvato 02/07): sezioni editoriali al posto delle tab ---- */
.pdp-two{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(30px,4.5vw,70px); align-items:start; padding-block:clamp(48px,6.5vw,92px); }
.pdp-two.hair{ border-top:1px solid var(--line); }
.pdp-two__t{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,2.8vw,38px); letter-spacing:-.015em; margin:12px 0 0; }
.pdp-two__txt{ font-family:var(--serif); font-size:18px; line-height:1.7; color:var(--ink-2); max-width:66ch; }
.pdp-two__txt p{ margin:0 0 1em; } .pdp-two__txt p:last-child{ margin-bottom:0; }

/* striscia dati nel pannello acquisto */
.dstrip{ display:grid; grid-template-columns:repeat(4,auto); justify-content:start; gap:clamp(16px,2.4vw,38px); border-block:1px solid var(--line); padding:14px 0; margin:20px 0 22px; }
.dstrip .v{ font-family:var(--sans); font-weight:600; font-size:13px; letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.dstrip .k{ font-family:var(--sans); font-weight:500; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:3px; }

/* carta d'identità: griglia definizioni */
.idcard{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(30px,4vw,60px); margin:0; }
.idcard .row{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; border-bottom:1px solid var(--line); padding:13px 2px; }
.idcard dt{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); flex:none; }
.idcard dd{ font-family:var(--sans); font-weight:500; font-size:13px; color:var(--ink); margin:0; text-align:right; }

/* misure: tabella + quota tecnica */
.pdp-mis{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(30px,4.5vw,70px); align-items:center; }
.pdp-mis .size-table td{ white-space:nowrap; }
.pdp-quote svg{ width:100%; height:auto; display:block; }

/* banda texture full-bleed */
.pdp-texture{ position:relative; overflow:hidden; margin-top:clamp(20px,3vw,40px); }
.pdp-texture img{ width:100%; height:clamp(300px,42vw,500px); object-fit:cover; display:block; }
.pdp-texture::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(22,20,15,.55), transparent 55%); }
.pdp-texture .cap{ position:absolute; left:var(--pad); right:var(--pad); bottom:clamp(24px,4vw,44px); color:#F1EDE3; z-index:2; }
.pdp-texture .cap .eyebrow{ color:#CFC8BA; }
.pdp-texture .cap h2{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3.4vw,44px); letter-spacing:-.02em; margin:10px 0 0; max-width:18ch; }

.sas-process{ margin-top:clamp(30px,5vw,64px); }

/* ---- ABOUT restyle 03/07: hero split ugello + striscia dati + banda collezione + swatch ---- */
.about-hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,80px); align-items:center; }
.about-hero__media{ margin:0; position:relative; }
.about-hero__media img{ width:100%; height:clamp(340px,34vw,520px); object-fit:cover; object-position:center 26%; display:block; }
.about-hero__media figcaption{ position:absolute; left:12px; bottom:12px; font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#F1EDE3; background:rgba(22,20,15,.72); padding:6px 10px; }
.about-strip{ margin-bottom:0; }
.about-band{ margin:0; position:relative; }
.about-band img{ width:100%; height:clamp(300px,42vw,540px); object-fit:cover; display:block; }
.about-band figcaption{ position:absolute; left:var(--pad); bottom:16px; font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); background:rgba(243,243,241,.88); padding:6px 10px; }
.about-swatches{ display:flex; gap:8px; margin-top:26px; }
.about-swatches span{ width:13px; height:13px; border-radius:50%; border:1px solid rgba(0,0,0,.16); }
/* disclaimer colore: doveroso ma sottovoce (corsivo minuscolo, non più maiuscolo urlato) */
.doc .note, .doc .body p.note{ margin:30px 0 0; text-align:left; text-transform:none; letter-spacing:.01em; font-family:var(--serif); font-style:italic; font-weight:400; font-size:13px; color:var(--muted); margin-top:30px; }
.about-band img{ object-position:center 67%; }
@media (max-width:900px){
  .about-hero{ grid-template-columns:1fr; gap:26px; }
  .about-hero__media img{ height:56vw; }
}

/* ---- BAND "anche da vuoti": pannello copy + trittico foto reali di vasi vuoti (02/07) ---- */
.band--vuoti{ display:block; background:#F3F3F1; min-height:0; }
.band--vuoti .band__tri{ display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; min-height:clamp(380px,40vw,560px); }
.band--vuoti .band__copy{ position:relative; z-index:auto; display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,4vw,64px); max-width:none; }
.band--vuoti .band__copy .eyebrow{ color:var(--muted); }
.band--vuoti .band__copy h2{ color:var(--ink); font-size:clamp(28px,2.9vw,44px); }
.band--vuoti .band__copy p{ color:var(--ink-2); font-size:16.5px; }
.band--vuoti .band__tri figure{ margin:0; position:relative; overflow:hidden; }
.band--vuoti .band__tri img{ width:100%; height:100%; object-fit:cover; display:block; }
.band--vuoti .band__tri figcaption{ position:absolute; left:12px; bottom:12px; font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); background:rgba(243,243,241,.88); padding:6px 10px; }
@media (max-width:960px){
  .band--vuoti .band__tri{ grid-template-columns:1fr 1fr; min-height:0; }
  .band--vuoti .band__copy{ grid-column:1 / -1; padding:clamp(30px,6vw,54px) var(--pad) 22px; }
  .band--vuoti .band__tri figure{ aspect-ratio:1/1; }
  .band--vuoti .band__tri figure:last-child{ grid-column:1 / -1; aspect-ratio:16/9; }
}

@media (max-width:900px){
  .pdp-two{ grid-template-columns:1fr; gap:22px; }
  .idcard{ grid-template-columns:1fr; }
  .pdp-mis{ grid-template-columns:1fr; }
  .pdp-mis > div:first-child{ min-width:0; overflow-x:auto; }
  .pdp-quote{ max-width:260px; margin:0 auto; }
  .dstrip{ grid-template-columns:1fr 1fr; gap:12px 20px; justify-content:stretch; }
}

/* ==== SITO-CHECK 02/07 · Skin blocchi WooCommerce + My Account (on-brand: angoli vivi, Spectral 300 / Archivo caps) ==== */

/* titolo pagina usato dai template Woo del tema: la classe era referenziata ma mai definita (cadeva sul bold di default) */
.display{ font-family:var(--serif); font-weight:300; letter-spacing:-.01em; color:var(--ink); }

/* bottoni dei blocchi cart/checkout → come i .btn del tema */
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wp-block-woocommerce-cart .wp-element-button,
.wp-block-woocommerce-checkout .wp-element-button{
  border-radius:0; font-family:var(--sans); font-weight:600; font-size:12px;
  letter-spacing:.18em; text-transform:uppercase;
  background:var(--ink); color:var(--paper); border:1px solid var(--ink);
  padding:15px 28px; box-shadow:none;
}
.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wp-block-woocommerce-cart .wp-element-button:hover,
.wp-block-woocommerce-checkout .wp-element-button:hover{ background:var(--ink-2); border-color:var(--ink-2); color:var(--paper); }

/* carrello vuoto */
.wc-block-cart__empty-cart__title{ font-family:var(--serif); font-weight:300; font-size:clamp(26px,3.4vw,40px); letter-spacing:-.01em; color:var(--ink); }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{ display:none; } /* safety: mai più la faccina */
.sas-empty-sub{ font-family:var(--serif); font-weight:300; font-size:17px; color:var(--ink-2); max-width:46ch; margin-left:auto; margin-right:auto; }
.sas-empty-cta{ margin-top:30px; }

/* titoli interni ai blocchi (es. "Potrebbero interessarti…") */
.wp-block-woocommerce-cart h2.wp-block-heading{ font-family:var(--serif); font-weight:300; letter-spacing:-.01em; }

/* niente angoli tondi nei componenti blocchi */
.wc-block-components-text-input input,
.wc-block-components-totals-coupon input,
.wc-block-components-panel,
.wc-block-components-notice-banner,
.wc-block-cart-item__image img,
.wc-block-components-quantity-selector{ border-radius:0; }
.wc-block-components-text-input input,
.wc-block-components-totals-coupon input{ border:1px solid var(--line-2); }

/* select "Ordinamento" di Woo: superflua con 8 modelli, era un orfano visivo sopra la griglia */
.woocommerce-ordering{ display:none; }

/* my-account (login/registrati classici) */
.woocommerce form.login, .woocommerce form.register{ border-radius:0; border:1px solid var(--line-2); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{ border-radius:0; border:1px solid var(--line-2); }
.woocommerce form .form-row .required{ color:var(--accent); }
.woocommerce-account h2{ font-family:var(--serif); font-weight:300; letter-spacing:-.01em; }
