/*
Theme Name: æ parrucchieri
Theme URI: https://www.aeparrucchieri.it
Author: Cappelletti Design — per Cobra Studio S.r.l.
Author URI: https://www.aeparrucchieri.it
Description: Tema custom leggero per æ parrucchieri (Cobra Studio), Elementor-compatibile. Fedele al design XD: rame #AD4C14 + bianco, griglia di puntini 156×204, font Helvetica Neue. Misure ricavate dai vettoriali XD (artboard 1920×1080) e espresse in vw per scalare in proporzione.
Version: 2.23.2
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ae-parrucchieri
*/

/* =====================================================================
   æ parrucchieri — Cobra Studio SRL
   TARATURA ESATTA SUI VETTORIALI XD "Website Desktop_Sandro"
   Sistema: artboard 1920×1080; griglia puntini passo 156×204, offset (19,34).
   Conversione px→vw: valore/19.2. A 1920px di viewport le misure coincidono
   al pixel con l'XD; sotto/oltre scalano in proporzione.
   Colonne griglia (x): 19,175,331,487,643,799,955,1111,1267,1423,1579,1735.
   Testi incolonnati a colonna+12 (32,186,343,498,654,…,1123,…,1435).
   ===================================================================== */

/* ---------- Tokens ---------- */
:root{
  --copper:#AD4C14;            /* primario (testi, heading, nav)         */
  --copper-deep:#8F3D10;       /* hover / contrasto                      */
  --copper-soft:#D9C3B3;       /* heading/nav inattivi (rame desaturato) */
  --copper-tint:#F4E9E1;       /* sfondi tenui                           */
  --paper:#FFFFFF;             /* fondo pagine                           */
  --cream:#FFFFFF;             /* testo/elementi su fondo rame (bianco)  */
  --ink:#2A2A2A;               /* testo neutro scuro (raro)              */
  --dot:#E4D9D1;               /* puntini griglia su fondo chiaro        */
  --dot-on-copper:rgba(255,255,255,.30); /* puntini su fondo rame        */

  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;

  /* unità XD: 1 “px artboard” = 0.0520833vw (1/19.2) */
  --pad-x:9.6875vw;            /* 186px — margine contenuti              */
  --grid-x:8.125vw;            /* 156px — passo griglia orizzontale      */
  --grid-y:10.625vw;           /* 204px — passo griglia verticale        */

  --fs-body:max(15px,1.09375vw);  /* 21px @1920                          */
  --fs-title:max(26px,2.6042vw);  /* 50px @1920                          */
  --lh-body:1.1905;               /* 25/21                               */
  --lh-title:1.2;                 /* 60/50                               */
}

/* ---------- Font: Ninna Trial (paragrafi) ----------
   Licenza TRIAL: da sostituire con licenza completa prima della produzione. */
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Book.woff2') format('woff2');font-weight:450;font-style:normal;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-BookItalic.woff2') format('woff2');font-weight:450;font-style:italic;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Ninna Trial';src:url('assets/fonts/Ninna-BlackItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font);
  font-weight:400;
  font-size:var(--fs-body);
  color:var(--copper);
  background:var(--paper);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  min-height:100vh;
  display:flex;flex-direction:column;
}
.site-main{flex:1 0 auto;width:100%}
/* Tutti i titoli in Ninna ('nina-trial-book' = fallback Use Any Font già sul server).
   Il selettore lungo serve a battere la tipografia globale Elementor in post-9.css
   (.elementor-widget-heading .elementor-heading-title). Incluse le categorie
   .stack-headings convertite a text-editor (sono titoli a tutti gli effetti). */
h1,h2,h3,h4,h5,h6,
body .elementor-widget-heading .elementor-heading-title,
.stack-headings .item p{font-family:'Ninna Trial','nina-trial-book',var(--font)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}

/* ---------- Griglia di puntini decorativa ----------
   XD: 13 colonne a x=20+156n; riga a y=20 (header) + righe a y=240+204n */
.dotgrid{
  background-image:
    radial-gradient(var(--dot) 1.5px,transparent 1.6px),
    radial-gradient(var(--dot) 1.5px,transparent 1.6px);
  background-size:var(--grid-x) 2.084vw,var(--grid-x) var(--grid-y);
  background-position:
    calc(1.0417vw - var(--grid-x)/2) 0,
    calc(1.0417vw - var(--grid-x)/2) calc(12.5vw - var(--grid-y)/2);
  background-repeat:repeat-x,repeat;
}
.dotgrid--copper{
  background-color:var(--copper);
  background-image:
    radial-gradient(var(--dot-on-copper) 1.5px,transparent 1.6px),
    radial-gradient(var(--dot-on-copper) 1.5px,transparent 1.6px);
}

/* Editor Elementor: il canvas dell'editor sovrascrive lo sfondo del body,
   quindi sulle pagine rame il testo bianco sparisce. Ridipingiamo il rame. */
body.elementor-editor-active.dotgrid--copper,
body.elementor-editor-active.page-copper{background-color:var(--copper) !important}
body.elementor-editor-active.page-copper [data-elementor-type="wp-page"]{color:var(--cream)}

/* ---------- Container ---------- */
.container{max-width:none;margin-inline:auto;padding-inline:var(--pad-x)}
.section{padding-block:0}
.section--tight{padding-block:0}
.section--full{min-height:100vh;display:flex;flex-direction:column;justify-content:center}

/* =====================================================================
   HEADER / NAV — menu su colonne di griglia (item = 156px), logo 54px
   XD: testo menu a x=32, baseline 27; logo 54×38 a (1825,18)
   ===================================================================== */
.site-header{
  position:absolute;top:0;left:0;width:100%;z-index:40;
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:.39vw 2.135vw 0 1.0417vw;
}
.nav{flex:1 1 auto}
.nav__links{display:flex;gap:0;flex-wrap:wrap;margin:0;padding:0}
.nav__links li{list-style:none;flex:0 0 var(--grid-x);min-width:0}
.nav__link,.nav__links a{
  font-size:var(--fs-body);font-weight:400;color:var(--copper);
  line-height:var(--lh-body);
  display:inline-block;position:relative;padding-left:.677vw;
}
.nav__link:hover,.nav__links a:hover{color:var(--copper-deep)}
.nav__links .current-menu-item>a,.nav__links .current_page_item>a{font-weight:400}
.nav__links li{position:relative}
.nav__link.is-active::before,
.nav__links .current-menu-item::before,
.nav__links .current_page_item::before{
  content:"";position:absolute;left:0;top:50%;transform:translate(-50%,-50%);
  width:.573vw;height:.573vw;min-width:8px;min-height:8px;border-radius:50%;background:var(--copper);z-index:1;
}
.site-header--on-copper .nav__links .current-menu-item::before{background:var(--cream)}
.nav__addr{font-size:var(--fs-body);color:var(--copper);margin-top:0}
.site-header--on-copper .nav__link,
.site-header--on-copper .nav__addr,
.site-header--on-copper .nav__links a,
.site-header--on-copper .nav__links a::before{color:var(--cream)}

.brand-link{flex:0 0 auto}
.brand{width:2.8125vw;min-width:34px;height:auto;margin-top:.55vw}

/* hamburger (mobile) */
.nav-toggle{display:none;position:absolute;top:24px;right:calc(20px + 64px);
  width:34px;height:26px;flex-direction:column;justify-content:space-between;z-index:41}
.nav-toggle span{height:2px;width:100%;background:var(--copper);transition:.3s}
.site-header--on-copper .nav-toggle span{background:var(--cream)}

/* =====================================================================
   SPLASH / LOADER — logo 147×104 centrato su fondo rame (XD: CARICAMENTO)
   ===================================================================== */
.splash{
  position:fixed;inset:0;z-index:9999;
  background:var(--copper);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s ease,visibility .6s ease;
}
.splash img{width:7.66vw;min-width:96px;height:auto;animation:splashPulse 1.6s ease-in-out infinite}
.splash__note{position:absolute;right:24px;bottom:18px;color:rgba(255,255,255,.6);font-size:12px}
.splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes splashPulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}

/* =====================================================================
   FOOTER — una riga in fondo al viewport, voci su colonne griglia
   XD: "Alessandro ed Eleonora s.n.c." x=31 · "P.IVA" x=343 · indirizzo x=1435
   baseline 1066 (bordo inferiore artboard 1080)
   ===================================================================== */
.site-footer{
  flex-shrink:0;position:relative;width:100%;
  display:block;
  padding:.42vw 0 .44vw 1.615vw;
  font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper);
}
.site-footer__left{display:inline;margin:0;font-size:0}
.site-footer__left > *{font-size:var(--fs-body)}
.site-footer__left .prefix-dot:first-child,
.site-footer__left > span:first-child{display:inline-block;width:16.25vw}
.site-footer__right{position:absolute;left:74.74vw;top:.42vw;margin:0}
.site-footer .prefix-dot::before{content:none}
.site-footer--on-copper{background:var(--copper);color:var(--cream)}

/* =====================================================================
   HEADER/FOOTER COSTRUITI IN ELEMENTOR (plugin Header & Footer Builder)
   Stesse misure del tema, applicate al markup del plugin.
   ===================================================================== */
header#masthead{position:fixed !important;top:0;left:0;width:100%;z-index:40;background:var(--paper)}
/* Chi Siamo: header TRASPARENTE sul fondo rame a puntini (rich. 2026-08-25).
   !important perché il template HFE porta un suo <style> inline che carica
   dopo style.css e a pari specificità vincerebbe. */
body.page-copper header#masthead,.page-copper header#masthead{background:transparent !important}
#masthead .main-title.bhf-hidden{display:none}
#page.site{min-height:100vh;display:flex;flex-direction:column}
#page > #content,#page > .site-content{flex:1 0 auto;width:100%}
footer#colophon{flex-shrink:0;margin-top:auto}
.site-header--hf{display:block;padding:0;height:auto}
.site-footer--hf{padding:0}
.ae-hf-header{
  padding:.39vw 2.135vw 0 1.0417vw !important;
  justify-content:space-between;align-items:flex-start;
}
.ae-hf-header .elementor-widget-navigation-menu{width:auto;flex:1 1 auto}
.ae-hf-header .elementor-widget-image{width:auto;flex:0 0 auto}
.ae-hf-header .elementor-widget-image img{width:2.8125vw !important;min-width:34px;margin-top:.55vw}
.ae-hf-header .hfe-nav-menu,ul.hfe-nav-menu{display:flex;gap:0;flex-wrap:wrap}
.ae-hf-header .hfe-nav-menu li,ul.hfe-nav-menu li.menu-item{list-style:none;flex:0 0 var(--grid-x);min-width:0}
ul.hfe-nav-menu li.menu-item{position:relative}
ul.hfe-nav-menu li.menu-item a.hfe-menu-item{
  color:var(--copper) !important;font-size:var(--fs-body);font-weight:400;
  line-height:var(--lh-body);
  padding:0 0 0 .677vw !important;display:inline-block;background:none !important;
}
ul.hfe-nav-menu li.menu-item a.hfe-menu-item:hover,
ul.hfe-nav-menu li.menu-item a.hfe-menu-item:focus{color:var(--copper-deep) !important}
ul.hfe-nav-menu li.current-menu-item > a.hfe-menu-item{color:var(--copper) !important;font-weight:400}
ul.hfe-nav-menu li.current-menu-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translate(-50%,-50%);
  width:.573vw;height:.573vw;min-width:8px;min-height:8px;border-radius:50%;background:var(--copper);z-index:1;
}
.page-copper ul.hfe-nav-menu li.current-menu-item::before{background:var(--cream)}
.page-copper ul.hfe-nav-menu li.menu-item a.hfe-menu-item,
.page-copper ul.hfe-nav-menu li.current-menu-item > a.hfe-menu-item{color:var(--cream) !important}
.page-copper .ae-hf-header img,.page-copper header#masthead img,.page-copper .site-header img{filter:brightness(0) invert(1)}

.ae-hf-footer{
  padding:.42vw 0 .44vw 1.823vw !important;
  position:relative;justify-content:flex-start;align-items:baseline;
  font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper);
}
.ae-hf-footer .elementor-widget-text-editor{color:inherit;width:auto}
.ae-hf-footer p{margin:0;font-size:var(--fs-body);line-height:var(--lh-body)}
.ae-hf-footer .prefix-dot{display:inline-block}
/* 4 colonne DISTINTE su misure XD rev. ago 2026 (tavole nuove, x assolute):
   ragione 35 · P.IVA 503 · via 1125 · credits 1659 */
.ae-hf-footer > .elementor-widget-text-editor:nth-of-type(2),
.ae-hf-footer .e-con-inner > .elementor-widget-text-editor:nth-of-type(2){position:absolute;left:26.198vw;top:.42vw}
.ae-hf-footer > .elementor-widget-text-editor:nth-of-type(3),
.ae-hf-footer .e-con-inner > .elementor-widget-text-editor:nth-of-type(3){position:absolute;left:58.594vw;top:.42vw}
.ae-hf-footer > .elementor-widget-text-editor:nth-of-type(4),
.ae-hf-footer .e-con-inner > .elementor-widget-text-editor:nth-of-type(4){position:absolute;left:86.406vw;top:.42vw}
.page-copper .ae-hf-footer{color:var(--cream)}
/* il footer del plugin deve stare in fondo alla pagina */
footer.footer-width-full,footer#colophon{flex-shrink:0;margin-top:auto}
/* footer sempre visibile in fondo alla viewport (come XD), fondo TRASPARENTE;
   su mobile resta in flusso */
@media(min-width:861px){
  footer#colophon{position:fixed;left:0;right:0;bottom:0;z-index:80;background:transparent !important}
}
footer#colophon{background:transparent !important} /* batte il bianco del plugin HFE */
#colophon .footer-width-fixer,#colophon .elementor{background:transparent !important}

/* chi siamo: il titolo "parte un po' più alto" del paragrafo (logica XD ago 2026:
   il frame del paragrafo è ancorato ~40px sotto il top del box del titolo fs70 →
   scalato al fs-title 50 del sito = 25px = 1.3vw) */
.page-chi-siamo .ae-pair .elementor-widget-text-editor,
.page-chi-siamo .ae-value .elementor-widget-text-editor{margin-top:1.3vw}

/* =====================================================================
   TIPOGRAFIA RICORRENTE
   ===================================================================== */
.h-display,.h-lg,.h-md{font-weight:400;font-size:var(--fs-title);line-height:var(--lh-title);letter-spacing:0}
.eyebrow{font-size:var(--fs-body);font-weight:400;letter-spacing:.02em}
.lead{font-size:var(--fs-body);line-height:var(--lh-body);max-width:23.96vw}
.muted{color:var(--copper-soft)}
.prefix-dot::before{content:none}
.link-underline{border-bottom:1px solid currentColor;padding-bottom:2px}
.link-underline:hover{color:var(--copper-deep)}

/* heading impilate (colonna sinistra servizi/prodotti): ritmo 204px */
/* colonna sx a 5 slot (rich. 2026-08-05): pitch 153px (¾ di 204) = voce 60 + gap 93;
   slot a y 212/365/518/671/824 — l'ultima voce chiude a 884, sopra il footer fixed */
.stack-headings{display:flex;flex-direction:column;gap:4.844vw;padding:0}
.stack-headings .item{font-weight:400;font-size:var(--fs-title);line-height:var(--lh-title);color:var(--copper-soft);cursor:pointer;transition:color .25s}
/* 5ª voce vuota: occupa lo slot ma è invisibile e fuori dal JS (niente classe .item) */
.stack-headings .item-empty{font-size:var(--fs-title);line-height:var(--lh-title);visibility:hidden;pointer-events:none}
.stack-headings .item-empty p{margin:0}
.stack-headings .item.is-active,.stack-headings .item:hover{color:var(--copper)}
.stack-headings .item a.is-active{color:var(--copper)}

/* utilità */
.center{text-align:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px)}
.fade-up{transition:opacity .7s ease,transform .7s ease}
.js .fade-up{opacity:0;transform:translateY(22px)}
.fade-up.in{opacity:1;transform:none}

/* =====================================================================
   BLOCCHI NATIVI ELEMENTOR — regole generali
   ===================================================================== */
.elementor-widget-heading .elementor-heading-title{font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit;letter-spacing:inherit}
.elementor-widget-heading .elementor-heading-title a{color:inherit}
/* Paragrafi nativi convertiti da ex-heading: azzera margini e uniforma i link delle voci */
.price-row .elementor-widget-text-editor p,
.orari-row .elementor-widget-text-editor p,
.ae-contact-item .contact-label p,
.stack-headings .item p{margin:0}
.stack-headings .item a{color:inherit;text-decoration:none;display:block}
.e-con > .elementor-widget{margin-block-end:0}
/* i padding/gap di default o impostati dei container Elementor non fanno parte
   del layout XD: si azzerano e si ricostruisce tutto con margini espliciti */
.elementor[data-elementor-type="wp-page"] .e-con{padding:0 !important;gap:0 !important}
.elementor[data-elementor-type="wp-page"] > .e-con{padding-inline:var(--pad-x) !important}
.elementor[data-elementor-type="wp-page"] .e-con.ae-anchors{gap:4.844vw !important}
.elementor[data-elementor-type="wp-page"] .e-con.ae-contact-grid{gap:7.708vw 0 !important}
.elementor[data-elementor-type="wp-page"] .e-con.ae-staff-grid{gap:2px !important}
.e-n-tabs{gap:0 !important}
.e-n-tabs-content{padding:0 !important}
.e-con.container{max-width:none}

/* offset prima sezione: titoli a y=212 (baseline 258); pagine con tab a y=134 */
.elementor[data-elementor-type="wp-page"] > .e-con:first-child{padding-top:11.07vw !important;padding-bottom:2vw !important}
.elementor[data-elementor-type="wp-page"] > .e-con:first-child:has(.ae-tabs){padding-top:7.005vw !important;padding-bottom:2vw !important}
.elementor[data-elementor-type="wp-page"] > .e-con.hero:first-child{padding:41.2vh 0 0 9.1666vw !important}

/* colonne: lo split parte al bordo contenuti (186) e finisce a 1734 */
.ae-split,.ae-pair,.ae-2col,.ae-value{flex-direction:row !important}
.ae-split{padding:0;gap:0 !important}
.ae-split > .ae-side{padding:0 !important;flex:0 0 auto;min-width:0}
.ae-switch > .ae-side{width:60.53%}          /* servizi: destra a x=1123  */
.ae-spy > .ae-side{width:60.53%}             /* prodotti: destra a x=1123 come servizi/ispirazioni */
.ae-split > .cat-content{flex:1 1 0;min-width:0;padding:0 !important}
.ae-spy > .cat-content,
.page-prodotti .ae-split > .cat-content{margin-top:1.38vw}  /* card prodotti a y=239 (prodotti oggi è .ae-switch) */
.ae-collage{margin-top:1.38vw}                 /* collage a y=239        */
.ae-side{position:sticky;top:2vw;align-self:flex-start}
.ae-side .h-lg{white-space:nowrap}
.cat-nav__sub{font-style:italic;font-size:var(--fs-body);color:var(--copper);margin-top:0}
/* anchors: primo item allineato al titolo di destra (servizi) */
.ae-anchors{gap:4.844vw !important;padding:0 !important;margin-top:0}
/* prodotti: titolo+sottotitolo sopra, primo anchor a y=419.
   NON su ispirazioni (.ae-isp): lì Donna/Uomo partono alla stessa quota
   del titolo grande di Prodotti, come XD. */
.ae-spy .ae-side .ae-anchors,
.ae-split:not(.ae-switch):not(.ae-spy):not(.ae-isp) .ae-side .ae-anchors{margin-top:6.38vw}
/* prodotti: titolo+sottotitolo occupano lo slot 1, gli anchors partono dallo slot 2 (y=365) */
.page-prodotti .ae-side .ae-anchors{margin-top:3.516vw}
.ae-split.ae-isp .ae-side .ae-anchors{margin-top:0 !important}
/* il kit-ponte aveva compresso gli anchors di Prodotti (4.3vw) quando il layout era
   boxed: riallineato al ritmo a 5 slot. Stessa specificità del kit, ma il tema
   carica dopo → vince. */
body.page-id-13 .elementor[data-elementor-type="wp-page"] .e-con.ae-anchors{gap:4.844vw !important}

/* =====================================================================
   TAB NATIVI (nested tabs) — Donna/Uomo/Altri servizi su colonne griglia
   XD: baseline 154; x=1123,1279,1435; attivo rame pieno, nessuna riga
   ===================================================================== */
.ae-tabs .e-n-tabs-heading{
  justify-content:flex-start;gap:0 !important;padding:0 !important;
  margin-left:60.53%;margin-bottom:2.76vw;
}
.ae-tabs .e-n-tab-title{
  background:none !important;border:none;box-shadow:none !important;
  flex:0 0 var(--grid-x);width:var(--grid-x);min-width:0;padding:0 !important;justify-content:flex-start;
  font-size:var(--fs-body) !important;line-height:var(--lh-body) !important;font-weight:400;
  color:var(--copper-soft);
  --n-tabs-title-background-color:transparent;
  --n-tabs-title-background-color-hover:transparent;
  --n-tabs-title-background-color-active:transparent;
  --n-tabs-title-color:var(--copper-soft);
  --n-tabs-title-color-hover:var(--copper);
  --n-tabs-title-color-active:var(--copper);
}
.ae-tabs .e-n-tab-title .e-n-tab-title-text{font-size:var(--fs-body) !important;line-height:var(--lh-body) !important}
.ae-tabs .e-n-tab-title:hover{color:var(--copper)}
.ae-tabs .e-n-tab-title[aria-selected="true"]{color:var(--copper);font-weight:400;box-shadow:none !important}

/* Descrizioni/listino servizi in font bastoni (richiesta cliente 2026-08-03):
   nel contenuto di destra i titoli-gruppo e le righe (widget heading) tornano
   Helvetica; i titoli grandi della colonna sinistra restano in Ninna. */
.ae-switch .cat-content .elementor-heading-title,
.ae-switch .cat-content h1,.ae-switch .cat-content h2,.ae-switch .cat-content h3,
.ae-switch .cat-content h4,.ae-switch .cat-content h5,.ae-switch .cat-content h6{font-family:var(--font)}
/* Contatti: tutta la pagina in font bastoni (richiesta cliente 2026-08-03).
   Serve battere la regola Ninna "body .elementor-widget-heading .elementor-heading-title". */
.page-contatti .elementor-widget-heading .elementor-heading-title,
.page-contatti h1,.page-contatti h2,.page-contatti h3,
.page-contatti h4,.page-contatti h5,.page-contatti h6,
.page-contatti .stack-headings .item p{font-family:var(--font)}
/* Prodotti e Servizi: header e colonna sinistra bloccati — scorre SOLO la
   colonna di destra (scroll interno; il contenuto non passa mai sotto il
   footer trasparente). Su Servizi serve da 2.16.0: Donna+Uomo impilati
   superano la viewport. */
@media(min-width:861px){
  /* Niente più finestra di scorrimento interna (rich. Davide 01/10): con lo
     scroll interno il prodotto a cavallo del bordo resta sempre troncato, sia
     salendo sia scendendo. Ora scorre la PAGINA, come prevede l'XD nuovo
     (le tavole sono alte 7654px): i prodotti escono dallo schermo e basta.
     La colonna dei filtri resta a video (sticky) e il footer, che fisso
     coprirebbe il contenuto, torna in fondo alla pagina. */
  .page-prodotti .elementor[data-elementor-type="wp-page"] .e-con.cat-content,
  .page-servizi .elementor[data-elementor-type="wp-page"] .e-con.cat-content{
    max-height:none !important;overflow:visible !important;
    padding-top:0 !important;padding-bottom:6vw !important}
  body.page-prodotti .elementor[data-elementor-type="wp-page"] .e-con.cat-content{margin-top:-4.87vw !important}
  body.page-servizi .elementor[data-elementor-type="wp-page"] .e-con.cat-content{margin-top:0 !important}
  .page-prodotti .ae-split,.page-servizi .ae-split{align-items:flex-start !important}
  /* La colonna dei filtri resta FERMA dov'è, non si alza scorrendo: lo sticky
     parte esattamente dalla sua quota iniziale (11.07vw = 159px a 1440), che è
     la stessa su Prodotti e su Servizi. */
  .page-prodotti .ae-split > .ae-side,
  .page-servizi .ae-split > .ae-side{position:sticky !important;top:11.07vw;align-self:flex-start}
  /* footer FISSO come sul resto del sito (rich. Davide): è trasparente, quindi
     il contenuto gli scorre dietro e resta visibile; il padding-bottom della
     colonna (6vw) lascia scorrere l'ultima riga oltre la fascia del footer. */
  body.page-prodotti footer#colophon,
  body.page-servizi footer#colophon{position:fixed !important;background:transparent !important}
  /* Header TRASPARENTE e fisso (rich. Davide 01/10): il contenuto gli scorre
     dietro e si vede, quindi niente più effetto "prodotto tagliato" dal blocco
     bianco. L'<style> inline del template HFE carica dopo style.css: serve
     !important anche sul background. */
  body.page-prodotti header#masthead,
  body.page-servizi header#masthead{position:fixed !important;background:transparent !important}

  /* ---- Ispirazioni: stesso trattamento di Prodotti (rich. Davide 01/10) ----
     niente scroll interno del collage, colonna delle tipologie ferma, header e
     footer fissi e trasparenti. La colonna qui è `absolute` dentro lo split
     (coordinate XD), quindi per tenerla ferma serve `fixed` con le sue stesse
     quote (top 11.07vw come Prodotti/Servizi, left = --pad-x). */
  body.page-ispirazioni .ae-split.ae-isp > .cat-content{max-height:none !important;overflow:visible !important;
    padding-bottom:6vw !important}
  body.page-ispirazioni .ae-split.ae-isp > .ae-side{position:fixed !important;top:11.07vw;left:9.6875vw;width:7.72vw}
  body.page-ispirazioni header#masthead,
  body.page-ispirazioni footer#colophon{position:fixed !important;background:transparent !important}
  /* anche Donna/Uomo resta fermo: sticky alla sua stessa quota iniziale
     (7.01vw = 101px a 1440), così non si muove e non sposta il collage
     (a differenza di `fixed`, lo sticky tiene il suo posto nel flusso) */
  body.page-ispirazioni .ae-tabs .e-n-tabs-heading{position:sticky !important;top:7.01vw;z-index:5}

  /* ---- Colonne di sinistra identiche fra Prodotti, Servizi e Ispirazioni ----
     Le voci stanno su SLOT di altezza fissa (7.969vw = 115px a 1440, il passo
     di Servizi) invece che su gap + altezza del contenuto: così la n-esima voce
     cade alla stessa quota in tutte e tre le pagine anche quando la voce è alta
     due righe, come su Prodotti dove c'è il sottotitolo (prima il passo era 137
     e "Creme e maschere" scendeva più in basso di "Piega"). Su Prodotti il
     titolo "Don't mess with my Hair" occupa il primo slot. */
  /* il gap va scritto con la stessa forma del kit Elementor
     (`body.page-id-13 .elementor[data-elementor-type="wp-page"] .e-con.ae-anchors{gap:4.844vw
     !important}`): a parità di specificità vince il tema, che carica dopo. */
  body.page-prodotti .elementor[data-elementor-type="wp-page"] .e-con.ae-anchors,
  body.page-servizi .elementor[data-elementor-type="wp-page"] .e-con.ae-anchors,
  body.page-ispirazioni .elementor[data-elementor-type="wp-page"] .e-con.ae-anchors{gap:0 !important}
  body.page-prodotti .elementor .ae-anchors > *,
  body.page-servizi .elementor .ae-anchors > *,
  body.page-ispirazioni .elementor .ae-anchors > *{height:7.969vw;min-height:0;
    display:flex;flex-direction:column;justify-content:flex-start}
}
}

/* =====================================================================
   SERVIZI — listini
   XD: nome a x=1124, prezzo allineato a sinistra a x=1716; righe da 25px;
   titolo gruppo → righe: 17px; ritmo blocco→blocco 204 (min-height listino)
   ===================================================================== */
.price-block{scroll-margin-top:96px;padding:0 !important;align-items:flex-start}
.price-block .elementor-widget-heading{width:100%}
.price-block + .price-block{margin-top:0}
.pricelist{display:flex;flex-direction:column;width:100%;max-width:100%;padding:0 !important;line-height:var(--lh-body);margin-top:.885vw}
.ae-switch .pricelist,.ae-switch .ae-pricelist{min-height:6.63vw;margin-bottom:0}
.ae-pricelist + .ae-pricelist{min-height:0 !important}
/* separazione "riga vuota" tra sotto-gruppi dello stesso listino (XD ago 2026) */
.ae-switch .ae-pricelist + .ae-pricelist{margin-top:1.77vw}
.price-row{display:flex;flex-direction:row !important;padding:0 !important;width:100%;font-size:var(--fs-body);line-height:var(--lh-body);align-items:baseline;flex-wrap:nowrap;gap:0 !important}
.price-row > .elementor-widget:first-child{flex:0 0 30.885vw;min-width:0;width:auto !important}
.price-row > .elementor-widget:last-child{flex:0 0 auto;width:auto !important;white-space:nowrap;text-align:left}
.price-row .price-val{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400;color:var(--copper)}
.ae-group-title{margin:0}
.price-title{margin-bottom:0}
.cat-content > .price-block .ae-group-title:first-child,
.cat-content .e-con:first-child .ae-group-title{margin-top:0}
.price-sub{font-size:var(--fs-body);font-weight:400;color:var(--copper);margin:28px 0 8px}
.price-note{margin-top:54px;font-size:clamp(13px,.9vw,16px);color:var(--copper-soft);max-width:60ch}

/* --- Servizi a 4 voci (XD ago-2026, tavole SERVIZI ×4) — 2.16.0 ---------
   Via le tab Donna/Uomo/Altri: le voci sono Taglio artistico · Arte e colore ·
   Forma e struttura · Trattamenti, con Donna e Uomo SOTTOGRUPPI impilati
   dentro la prima (niente filtro Donna/Uomo, rich. 2026-08-25).
   Nell'XD nuovo i titoli gruppo (Donna, Armocromia, …) sono in Ninna
   come le voci di sinistra, non più in Helvetica. */
.page-servizi .ae-switch .cat-content .ae-group-title,
.page-servizi .ae-switch .cat-content .ae-group-title .elementor-heading-title{
  font-family:'Ninna Trial','nina-trial-book',var(--font)}
/* respiro fra un sottogruppo e il successivo (Donna→Uomo, Colorazione→Schiariture) */
.page-servizi .ae-switch .cat-content .e-con + .ae-group-title{margin-top:4.7vw}
.page-servizi .ae-switch .ae-group-title + .e-con.ae-pricelist{margin-top:1vw}
/* il ritmo a min-height serviva alle tab corte: coi sottogruppi lo spazio
   lo danno i margini qui sopra */
.page-servizi .ae-switch .pricelist,.page-servizi .ae-switch .ae-pricelist{min-height:0}
/* prezzi allineati a destra al bordo colonna (nell'XD ago-2026 chiudono
   tutti sullo stesso filo; da sinistra sforavano il contenitore) */
.page-servizi .price-row > .elementor-widget:first-child{flex:1 1 auto}
.page-servizi .price-row > .elementor-widget:last-child{text-align:right}

/* switcher categorie (una per volta, come XD) */
.ae-switch .price-block{display:none}
.ae-switch .price-block.is-on{display:flex}
/* modalità "tutti i prodotti": il titolo grande (.ae-filter-all) mostra tutti i blocchi */
.ae-switch.ae-show-all .price-block{display:flex}
.ae-switch .price-block.ae-empty{display:none !important}
.ae-switch.ae-show-all .price-block + .price-block{margin-top:8.7vw}
.ae-filter-all .elementor-heading-title{cursor:pointer;transition:color .25s}
.ae-filter-all.is-dim .elementor-heading-title{color:var(--copper-soft)}
.ae-filter-all.is-dim:hover .elementor-heading-title{color:var(--copper)}
.ae-isp .price-block{display:none}
.ae-isp .price-block.is-on{display:block}
.ae-anchors .item{cursor:pointer}
.cat-content,.cat-content .e-con{align-items:flex-start}

/* =====================================================================
   PRODOTTI — card su celle griglia: 312×411, gap 156; Creme 780×400
   meta "(01) / 300 ml" 13px sotto l'immagine
   ===================================================================== */
.ae-product-grid{display:flex;flex-direction:row !important;flex-wrap:wrap;justify-content:space-between;gap:0 !important;padding:0 !important;width:calc(100% + 2px)}
.ae-product-grid > .ae-product-card{width:calc(50% - .834vw);flex:0 0 calc(50% - .834vw);max-width:none;padding:0 !important}
.ae-product-grid > .ae-product-card:only-child{width:100%;flex:0 0 100%}
/* la griglia era larga +2px del contenitore a scroll: tagliava il formato a dx */
body.page-prodotti .ae-product-grid{width:100%}
/* packshot del cliente (flaconi verticali con trasparenza): "contain" su fondo
   rame tenue, mai croppati (2026-08-23, foto ufficiali). */
.ae-product-card img{width:100%;aspect-ratio:312/411;object-fit:contain;
  background:var(--copper-tint);padding:5% 12%;border-radius:0}
.ae-product-grid > .ae-product-card:only-child img{aspect-ratio:780/400}
.product-meta{display:flex;flex-direction:row !important;justify-content:space-between;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper);margin-top:.7vw;font-variant-numeric:tabular-nums;padding:0 .5vw 0 .42vw;width:100%}
.ae-product-card .product-meta{margin-top:.7vw}
.ae-product-card:hover img{transform:none}

/* --- Catalogo 28 prodotti (Excel cliente 2026-08-23) ---------------------
   a) card senza foto: box rame tenue con il marchio æ in filigrana
      (segnaposto in attesa delle foto prodotto del cliente);
   b) nome del prodotto nella riga meta (a sx, formato a dx): con 28 referenze
      le card senza nome non sarebbero riconoscibili. */
/* NB: su questa installazione Elementor NON stampa .elementor-widget-container,
   quindi la box è il widget stesso (regole valide in entrambi i casi). */
.ae-card-ph{position:relative;display:block;width:100%;aspect-ratio:312/411;
  background:var(--copper-tint);overflow:hidden}
.ae-card-ph > .elementor-widget-container{position:absolute;inset:0}
.ae-card-ph::after{content:"";position:absolute;inset:0;
  background:url('assets/img/logo-ae-copper.webp') center/22% no-repeat;opacity:.22}
.ae-card-ph p{display:none}
/* foto mancante sul server: la card resta un segnaposto, non un'immagine rotta */
.ae-card-img.is-missing{position:relative;display:block;width:100%;aspect-ratio:312/411;
  background:var(--copper-tint);overflow:hidden}
.ae-card-img.is-missing img{display:none}
.ae-card-img.is-missing::after{content:"";position:absolute;inset:0;
  background:url('assets/img/logo-ae-copper.webp') center/22% no-repeat;opacity:.22}
.ae-product-grid > .ae-product-card:only-child .ae-card-ph{aspect-ratio:780/400}
.product-meta .ae-card-name p{margin:0}
.ae-card-name{max-width:72%}
.ae-card-name p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ae-card-fmt p{margin:0;white-space:nowrap}
/* spazio tra blocchi categoria (Shampoo → Creme: 167px) */
.ae-spy .price-block + .price-block{margin-top:8.7vw}
.price-block.ae-empty{display:none}

/* =====================================================================
   ISPIRAZIONI — collage assoluto su griglia, full-bleed oltre la colonna
   Coordinate esatte XD (rel. al bordo contenuti 186 / riga 239):
   ===================================================================== */
.ae-split:not(.ae-switch):not(.ae-spy){display:block !important;position:relative}
.ae-split:not(.ae-switch):not(.ae-spy) > .ae-side{position:absolute;top:0;left:0;z-index:2;width:auto}
.ae-collage{position:relative;padding:0 !important;display:block !important;width:100% !important;min-height:420px}
.ae-collage > .elementor-widget-image{position:absolute;overflow:hidden;transform-style:preserve-3d}
.ae-collage > .elementor-widget-image > *{height:100%}
.ae-collage img{width:100%;height:100%;object-fit:cover}
.ae-collage > .elementor-widget-image.is-flipping{animation:none}
@keyframes aeFlip{0%{transform:rotateY(0)}45%{transform:rotateY(88deg)}55%{transform:rotateY(88deg)}100%{transform:rotateY(0)}}
/* filtro tipologia (dormiente finché il cliente non manda la mappa foto→tipologia):
   le foto non corrispondenti spariscono, le altre risalgono nelle prime celle */
.ae-collage > .elementor-widget-image.is-off{display:none !important}
/* DONNA — 5 foto (spec XD luglio) */
.ae-collage--donna{height:37.45vw}
.ae-collage--donna > .elementor-widget-image:nth-child(1){left:23.854vw !important;top:0 !important;width:16.25vw !important;height:21.406vw !important}
.ae-collage--donna > .elementor-widget-image:nth-child(2){left:72.604vw !important;top:0 !important;width:16.146vw !important;height:21.406vw !important}
.ae-collage--donna > .elementor-widget-image:nth-child(3){left:40.104vw !important;top:10.677vw !important;width:16.198vw !important;height:21.406vw !important}
.ae-collage--donna > .elementor-widget-image:nth-child(4){left:56.354vw !important;top:10.729vw !important;width:16.25vw !important;height:10.677vw !important}
.ae-collage--donna > .elementor-widget-image:nth-child(5){left:64.479vw !important;top:21.302vw !important;width:16.198vw !important;height:16.146vw !important}
/* UOMO — 6 foto (spec XD luglio) */
.ae-collage--uomo{height:42.813vw}
.ae-collage--uomo > .elementor-widget-image:nth-child(1){left:23.854vw !important;top:0 !important;width:16.25vw !important;height:10.781vw !important}
.ae-collage--uomo > .elementor-widget-image:nth-child(2){left:56.354vw !important;top:0 !important;width:16.25vw !important;height:10.99vw !important}
.ae-collage--uomo > .elementor-widget-image:nth-child(3){left:72.604vw !important;top:0 !important;width:16.354vw !important;height:21.51vw !important}
.ae-collage--uomo > .elementor-widget-image:nth-child(4){left:40.104vw !important;top:10.729vw !important;width:16.302vw !important;height:21.406vw !important}
.ae-collage--uomo > .elementor-widget-image:nth-child(5){left:56.354vw !important;top:15.677vw !important;width:16.25vw !important;height:21.406vw !important}
.ae-collage--uomo > .elementor-widget-image:nth-child(6){left:23.854vw !important;top:21.354vw !important;width:16.25vw !important;height:21.458vw !important}

/* Collage con MENO foto delle caselle (foto cliente 2026-08-23: Uomo ne ha 5 in
   tutto). Il blocco si accorcia alla prima fascia invece di lasciare un buco. */
.ae-collage.is-short{height:21.51vw;min-height:0}
/* casella nata orizzontale che ospita una foto verticale */
.ae-collage > .elementor-widget-image.ae-tile-tall{height:21.51vw !important}

/* =====================================================================
   CONTATTI — due colonne 312px senza gap; orari lh 34px; mappa 625×413
   ===================================================================== */
.ae-2col{padding:0}
.ae-2col > .e-con{min-width:0;padding:0}
.contatti .ae-2col > .e-con:first-child,
.ae-2col > .e-con:first-child{flex:0 0 49.74%}
.ae-2col > .e-con:last-child{flex:1 1 0}
.ae-contact-grid{display:flex;flex-direction:row !important;flex-wrap:wrap;padding:0 !important;width:32.5vw;gap:7.708vw 0 !important;margin-top:.78vw;margin-bottom:0}
.ae-contact-grid > .e-con{width:16.25vw;flex:0 0 16.25vw;padding:0}
.ae-contact-item{gap:0 !important;padding:0 !important}
.contact-label{font-size:var(--fs-body);color:var(--copper);font-weight:400;line-height:1.381}
.ae-contact-item a,.ae-contact-item p{font-size:var(--fs-body);color:var(--copper);line-height:1.381}
.ae-contact-item a:hover{color:var(--copper-deep)}
.ae-orari{max-width:none;width:auto;padding:0 !important;margin-top:7.4vw;gap:0 !important}
.orari-row{display:flex;flex-direction:row !important;flex-wrap:nowrap !important;width:100%;padding:0 !important;font-size:var(--fs-body);line-height:1.792vw;gap:0 !important}
.orari-row .elementor-widget{flex:0 0 auto !important;width:auto !important}
.orari-row .elementor-widget:first-child{flex:0 0 8.177vw !important}
.orari-row .elementor-widget:last-child{text-align:left}
.orari-row span:last-child{font-variant-numeric:tabular-nums}
.orari-row--closed{color:var(--copper)}
.contatti-map-native{--container-widget-width:32.552vw;max-width:32.552vw !important;width:32.552vw}
.contatti-map-native,.contatti .ae-2col > .e-con:last-child > .elementor-widget-image{background:var(--copper)}
.contatti-map-native img,
.ae-2col > .e-con:last-child > .elementor-widget-image img{width:32.552vw;aspect-ratio:625/413;object-fit:cover;border-radius:0}
body:not(.page-copper) .ae-2col > .e-con:last-child > .elementor-widget-image:first-child{background:var(--copper)}
body:not(.page-copper) .ae-2col > .e-con:last-child > .elementor-widget-image:first-child img{mix-blend-mode:luminosity;opacity:.92}
.ae-2col > .e-con:last-child > .elementor-widget-image{margin-top:1.328vw}
.ae-2col > .e-con:last-child > .elementor-widget-text-editor{margin-top:.47vw}

/* =====================================================================
   CHI SIAMO (pagina rame, one-page) — spec XD luglio
   ===================================================================== */
.page-copper{color:var(--cream)}
.page-copper .h-display,.page-copper .h-lg,.page-copper .h-md{color:var(--cream)}
.page-copper .lead{color:var(--cream)}
.page-copper .link-underline,.page-copper a{color:var(--cream)}
.page-copper .prefix-dot::before{color:var(--cream)}
.page-copper .elementor-heading-title,
.page-copper .elementor-widget-text-editor,
.page-copper .elementor-widget-heading{color:var(--cream)}

/* Concept: titolo col. 186 (312 di larghezza), testo a 498 */
.ae-pair{padding:0;gap:0 !important}
.ae-pair > .e-con:first-child{width:16.25vw;flex:0 0 auto;min-width:0;padding:0}
.ae-pair > .e-con:last-child{flex:1 1 0;min-width:0;padding:0}
.elementor-widget.lead{--container-widget-width:23.96vw;max-width:23.96vw !important}

/* Servizi: heading a x=501, lista a x=816, foto 625×410 a (1110,647) */
.ae-cs-servizi{margin-top:7.63vw !important;padding-block:0 !important}
.ae-cs-servizi > .e-con:first-child > .elementor-widget-heading{margin-left:16.406vw}
.ae-cs-servizi > .e-con:first-child > .elementor-widget-text-editor{margin-left:32.813vw;margin-top:-2.34vw}
.ae-cs-servizi > .e-con:first-child > .elementor-widget-text-editor + .elementor-widget-text-editor{margin-top:5.42vw}
.ae-cs-servizi > .e-con:last-child > .elementor-widget-image{margin-left:auto;margin-top:1.276vw;--container-widget-width:32.552vw;max-width:32.552vw !important}
.ae-cs-servizi > .e-con:last-child img{width:32.552vw;aspect-ratio:625/410;object-fit:cover}
.inline-list{display:flex;flex-direction:column;gap:0;font-size:var(--fs-body);line-height:var(--lh-body)}
.inline-list li::before{content:none}

/* Valori: blocchi sfalsati sulla griglia (Arte 186, Accoglienza 969, Sostenibilità 345, Ricerca 815) */
.ae-cs-values{margin-top:8.72vw !important;padding-block:0 !important;position:relative;min-height:43.3vw;display:block !important}
.ae-value{max-width:none;width:auto;padding:0;gap:0 !important;position:absolute;flex-wrap:nowrap !important;align-items:flex-start}
.ae-value > .e-con:first-child{width:16.93vw;flex:0 0 auto;padding:0}
.ae-value > .e-con:last-child{flex:0 1 auto;padding:0}
.ae-value .lead{max-width:19.3vw}
.ae-value--right{margin-left:0}
.ae-cs-values > .ae-value:nth-child(1){left:9.6875vw;top:0}
.ae-cs-values > .ae-value:nth-child(2){left:50.468vw;top:11.458vw}
.ae-cs-values > .ae-value:nth-child(3){left:17.968vw;top:22.187vw}
.ae-cs-values > .ae-value:nth-child(4){left:42.448vw;top:32.76vw}

/* Staff: titolo a sinistra, foto gruppo 1249×616 da colonna 331 */
.ae-cs-staff{display:flex !important;flex-direction:row !important;align-items:flex-start;margin-top:10.99vw !important;padding-block:0 !important;gap:0 !important}
.ae-cs-staff > .elementor-widget-heading{width:7.6vw;flex:0 0 auto}
.ae-cs-staff > .elementor-widget-image{flex:0 0 auto;margin-top:1.43vw;--container-widget-width:65.05vw;max-width:65.05vw !important}
.ae-cs-staff img{width:65.05vw;aspect-ratio:1249/616;object-fit:cover}

/* Alessandro: testo 20px, griglia staff 4×2 su celle griglia, foto 780×617 */
.ae-cs-ale{margin-top:10.34vw !important;margin-bottom:10.57vw !important;padding-block:0 !important}
.ae-cs-ale > .e-con:first-child{flex:0 0 49.74%}
.ae-cs-ale > .e-con:first-child > .elementor-widget-text-editor{font-size:max(14px,1.0417vw);line-height:1.2;max-width:none}
.ae-staff-grid{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:2px !important;padding:0 !important;width:32.552vw;margin-left:-.573vw;margin-top:3.83vw}
.ae-staff-grid > .elementor-widget-image{width:calc(25% - 1.5px)}
.ae-staff-grid img{width:100%;aspect-ratio:156/206;object-fit:cover;border-radius:0}
/* Foto grande VERTICALE, stesse proporzioni delle miniature (richiesta cliente 2026-08-03).
   Il selettore .ae-2col.ae-cs-ale serve a battere la regola mappa dei Contatti (625/413). */
.ae-cs-ale > .e-con:last-child > .elementor-widget-image{--container-widget-width:24.3vw;max-width:24.3vw !important;margin-top:1.43vw}
.ae-2col.ae-cs-ale > .e-con:last-child > .elementor-widget-image img{width:24.3vw;aspect-ratio:156/206;object-fit:cover}

/* =====================================================================
   HOME — striscia 3×312 + 1×626 (h 411) a (176,445); nessun logo centrale
   ===================================================================== */
.hero{position:relative}
.hero.e-con{min-height:calc(100vh - 2.1vw);justify-content:flex-start}
.ae-hero-strip,.ae-hero-strip-f{width:81.25vw;max-width:none;height:21.406vw;padding:0 !important;gap:0 !important;display:flex;flex-direction:row !important}
.ae-hero-strip > .elementor-widget-image,.ae-hero-strip-f > .elementor-widget-image{flex:1 1 0;max-width:none;padding:0;height:100%;overflow:hidden;position:relative}
.ae-hero-strip > .elementor-widget-image:last-child,.ae-hero-strip-f > .elementor-widget-image:last-child{flex:2 2 0}
/* La striscia mostra 4 caselle (XD); le foto in coda sono la riserva da cui
   pesca il cambio foto (widget nativi, nascosti qui). */
.ae-hero-strip > .elementor-widget-image:nth-child(n+5),
.ae-hero-strip-f > .elementor-widget-image:nth-child(n+5){display:none}
/* contatore 1/4 della home mobile (lo crea main.js): su desktop non esiste */
.ae-hero-count{display:none}
/* foto interno salone di Chi Siamo: solo mobile (XD mobile), su desktop il layout valori resta intatto */
.ae-cs-foto-salone{display:none}
.ae-hero-strip > .elementor-widget-image:nth-child(4),
.ae-hero-strip-f > .elementor-widget-image:nth-child(4){flex:2 2 0}
.ae-hero-strip > .elementor-widget-image > *,.ae-hero-strip-f > .elementor-widget-image > *{height:100%}
.ae-hero-strip img,.ae-hero-strip-f img{width:100%;height:100%;object-fit:cover}
/* foto home: cambio diretto senza effetto (rich. 2026-08-05, via il flip).
   .ae-hero-strip-f = alias usato dal widget-ponte per sganciare il flip del main.js 2.10.1 */
.ae-hero-logo{display:none}

/* prototipo statico (site/): stessa geometria */
.hero .container{display:flex;flex-direction:column;align-items:flex-start;padding:0}
.hero__strip{display:flex;gap:0;width:81.25vw;height:21.406vw}
.hero__strip .slide{position:relative;flex:1 1 0;max-width:none;height:100%;overflow:hidden}
.hero__strip .slide:last-child{flex:2 2 0}
.hero__strip .slide img{width:100%;height:100%;object-fit:cover}
.hero__caption{display:none}
.hero__logo{display:none}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:860px){
  body{font-size:16px;line-height:1.5}
  .nav-toggle{display:flex}
  .nav__links{
    position:fixed;inset:0;background:var(--paper);
    flex-direction:column;justify-content:center;align-items:center;gap:22px;
    transform:translateX(100%);transition:transform .35s ease;z-index:40;
  }
  .nav__links.open{transform:none}
  .nav__links li{flex:0 0 auto}
  .nav__link,.nav__links a{font-size:22px}
  .nav__addr{display:none}
  .grid-2{grid-template-columns:1fr;gap:34px}

  .e-con.container{padding-inline:20px !important}
  .elementor[data-elementor-type="wp-page"] > .e-con:first-child{padding-top:90px}
  .elementor[data-elementor-type="wp-page"] > .e-con:first-child:has(.ae-tabs){padding-top:80px}
  .ae-tabs .e-n-tabs-heading{margin-left:0;justify-content:center;margin-bottom:20px}
  .ae-tabs .e-n-tab-title{width:auto;margin-right:22px}

  .ae-pair,.ae-2col,.ae-split{flex-direction:column}
  .ae-side{position:static}
  .ae-isp > .ae-side{position:static}
  .ae-split > .ae-side,.ae-switch > .ae-side,.ae-spy > .ae-side{width:100%;padding-left:0}
  .ae-anchors{gap:22px !important;margin-top:20px !important}
  .ae-spy .ae-side .ae-anchors,.ae-isp .ae-side .ae-anchors{margin-top:20px}
  .stack-headings .item{font-size:24px}
  .ae-side .h-lg{white-space:normal;font-size:28px}
  .h-display,.h-lg,.h-md{font-size:28px}

  .ae-switch .pricelist,.ae-switch .ae-pricelist{min-height:0}
  .price-row{font-size:16px;line-height:1.5}
  .price-row > .elementor-widget:first-child{flex:1 1 auto}
  .price-row > .elementor-widget:last-child{flex:0 0 auto}
  .ae-group-title{margin:26px 0 8px}

  .ae-product-grid{gap:20px !important}
  .ae-product-grid > .ae-product-card{width:100%;max-width:420px}
  .ae-product-card img,.ae-product-grid > .ae-product-card:only-child img{aspect-ratio:3/4}
  .ae-card-ph,.ae-product-grid > .ae-product-card:only-child .ae-card-ph{aspect-ratio:3/4}
  .ae-card-name{max-width:60%}
  .ae-spy .price-block + .price-block{margin-top:40px}
  .product-meta{margin-top:8px;padding:0}

  .ae-collage,.ae-collage--donna,.ae-collage--uomo{position:static;height:auto;display:flex;flex-wrap:wrap;gap:10px}
  .ae-collage > .elementor-widget-image,
  .ae-collage--donna > .elementor-widget-image,
  .ae-collage--uomo > .elementor-widget-image{position:static !important;width:calc(50% - 5px) !important;height:auto !important;aspect-ratio:3/4;left:auto !important;top:auto !important}

  .ae-contact-grid{width:100%;gap:30px 20px !important;margin-top:0}
  .ae-contact-grid > .e-con{width:calc(50% - 10px);flex:0 0 auto}
  .ae-orari{margin-top:36px}
  .orari-row{line-height:1.9}
  .orari-row > .elementor-widget:first-child{flex:0 0 110px}
  .contatti-map-native,.contatti-map-native img,
  .ae-2col > .e-con:last-child > .elementor-widget-image img{width:100%;max-width:none !important}

  .ae-pair > .e-con:first-child{width:100%}
  .elementor-widget.lead{max-width:none !important}
  .ae-cs-servizi > .e-con:first-child > .elementor-widget-heading,
  .ae-cs-servizi > .e-con:first-child > .elementor-widget-text-editor{margin-left:0;margin-top:12px}
  .ae-cs-servizi > .e-con:last-child img{width:100%}
  .ae-cs-values > .ae-value{margin-left:0 !important;margin-top:30px !important}
  .ae-value > .e-con:first-child{width:100%}
  .ae-value .lead{max-width:none}
  .ae-cs-staff{flex-direction:column !important}
  .ae-cs-staff > .elementor-widget-heading{width:auto}
  .ae-cs-staff img{width:100%}
  .ae-staff-grid{width:100%;margin-left:0;margin-top:20px}
  .ae-staff-grid > .elementor-widget-image{width:calc(33.33% - 1.4px)}
  .ae-cs-ale > .e-con:last-child img{width:100%}

  .hero.e-con{padding:120px 20px 0 !important;min-height:calc(100vh - 60px)}
  .ae-hero-strip,.ae-hero-strip-f,.hero__strip{width:100%;height:auto;flex-wrap:wrap}
  .ae-hero-strip > .elementor-widget-image,.ae-hero-strip-f > .elementor-widget-image,.hero__strip .slide{flex:1 1 44% !important;aspect-ratio:19/20;height:auto}

  .site-footer{padding:14px 20px}
  .site-footer__left > span:first-child,.site-footer__left .prefix-dot:first-child{width:auto;margin-right:14px}
  .site-footer__right{position:static}
  .ae-hf-footer{padding:14px 20px !important;flex-wrap:wrap}
  .ae-hf-footer > .elementor-widget-text-editor:nth-of-type(2),
  .ae-hf-footer .e-con-inner > .elementor-widget-text-editor:nth-of-type(2),
  .ae-hf-footer > .elementor-widget-text-editor:nth-of-type(3),
  .ae-hf-footer .e-con-inner > .elementor-widget-text-editor:nth-of-type(3){position:static}
  .ae-hf-footer .elementor-widget-text-editor:first-child .prefix-dot:first-child{width:auto;margin-right:14px}
}

/* Elementor legacy */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:none}

/* =====================================================================
   DRAWER PRODOTTO (bottom-sheet) — v2.4.0
   Si apre al click su una card .ae-product-card. Layout come XD:
   nome + pillole formato in alto, poi 3 colonne descrizione/risultato/ingredienti.
   ===================================================================== */
.ae-product-card{cursor:pointer}
.ae-prod-data{display:none !important}
.ae-drawer{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.ae-drawer.is-open{visibility:visible;pointer-events:auto}
.ae-drawer__scrim{position:absolute;inset:0;background:rgba(42,42,42,.30);opacity:0;transition:opacity .4s ease}
.ae-drawer.is-open .ae-drawer__scrim{opacity:1}
.ae-drawer__sheet{position:absolute;left:0;right:0;bottom:0;background:var(--paper);
	transform:translateY(100%);transition:transform .5s cubic-bezier(.22,.61,.36,1);
	max-height:88vh;overflow-y:auto;box-shadow:0 -1.5vw 3vw -1.8vw rgba(0,0,0,.45)}
.ae-drawer.is-open .ae-drawer__sheet{transform:none}
.ae-drawer__inner{position:relative;padding:clamp(26px,2.6vw,50px) clamp(20px,8.45vw,162px) clamp(30px,3vw,58px)}
/* z-index: senza, la __inner (relative, dopo nel DOM) copre la X e il click non chiude */
/* X nell'angolo in alto a sinistra dello sheet, come XD (rich. 2026-08-25) */
.ae-drawer__close{position:absolute;top:clamp(12px,1.05vw,20px);left:clamp(14px,1.25vw,24px);
	width:1.6em;height:1.6em;font-size:clamp(26px,1.9vw,36px);line-height:1;color:var(--copper);
	background:none;border:0;cursor:pointer;padding:0;z-index:5}
/* con la X nell'angolo il nome torna al filo del padding interno (XD: x=182) */
.ae-drawer__head{display:flex;align-items:baseline;gap:clamp(16px,1.7vw,34px);flex-wrap:wrap;
	margin:0 0 clamp(22px,2.3vw,44px);padding-left:0}
.ae-drawer__name{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:400;color:var(--copper);margin:0}
.ae-drawer__sizes{display:flex;gap:.6vw;align-self:center}
.ae-drawer__size{border:1px solid var(--copper);border-radius:999px;padding:.28em 1.1em;
	font-size:var(--fs-body);line-height:1.2;color:var(--copper);background:none;cursor:pointer;transition:.2s}
/* bollino attivo: bordo rame, interno bianco, scritta rame (richiesta cliente 2026-08-03) */
.ae-drawer__size.is-active{background:var(--paper);color:var(--copper);border-color:var(--copper);font-weight:500}
/* colonne come XD: descrizione (larga, sx) · TIPOLOGIA (centro) · INGREDIENTI (dx)
   — "Modalità d'uso" RIMOSSA (rich. 2026-08-25, l'XD non la prevede) */
.ae-drawer__cols{display:grid;grid-template-columns:40% 22% 20%;justify-content:space-between;
	gap:clamp(24px,2.2vw,44px);padding-left:0}
.ae-drawer__uso{display:none}
.ae-drawer__label{font-size:var(--fs-body);color:var(--copper);margin:0 0 1em;text-transform:uppercase;letter-spacing:.03em}
.ae-drawer__desc,.ae-drawer__tipologia,.ae-drawer__uso,.ae-drawer__ingredienti{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper)}
.ae-drawer__uso{font-size:max(13px,.94vw);line-height:1.35}
.ae-drawer__uso ul,.ae-drawer__desc ul{list-style:none;margin:0 0 .6em;padding:0}
.ae-drawer__uso li,.ae-drawer__desc li{position:relative;padding-left:1em;margin-bottom:.35em}
.ae-drawer__uso li::before,.ae-drawer__desc li::before{content:"·";position:absolute;left:.2em}
.ae-drawer__ingredienti{font-style:italic;font-size:max(11px,.73vw);line-height:1.55}
.ae-drawer__desc p,.ae-drawer__tipologia p,.ae-drawer__uso p,.ae-drawer__ingredienti p{margin:0 0 .6em}
/* footer del drawer RIMOSSO (feedback 2026-08-03): il drawer copre quello del sito.
   La regola resta per nascondere il markup su installazioni con tema vecchio. */
.ae-drawer__footer{display:none}
body.ae-drawer-open{overflow:hidden}
@media(max-width:860px){
	.ae-drawer__inner{padding:24px 20px 34px}
	/* a sinistra colliderebbe col nome (padding mobile 20px): X a destra */
	.ae-drawer__close{left:auto;right:14px;top:12px}
	.ae-drawer__head,.ae-drawer__cols{padding-left:0}
	.ae-drawer__cols{grid-template-columns:1fr;gap:22px}
	.ae-drawer__sizes{gap:8px}
	.ae-drawer__ingredienti{font-size:12px}
	.ae-drawer__uso{font-size:14px}
	.ae-drawer__footer{padding:18px 20px;gap:4px 16px}
}

/* =====================================================================
   STAFF — solo interattività sulle miniature (struttura originale invariata)
   La griglia .ae-staff-grid e la colonna .ae-cs-ale restano quelle originali.
   ===================================================================== */
.ae-staff-thumb{cursor:pointer}
/* miniature tutte uguali, senza overlay né contorno (richiesta cliente 2026-08-03) */

/* --- Prodotti su mobile: la colonna prodotti restava a larghezza 0 perché
   .ae-split conservava flex-direction:row (variabile Elementor che vince sul
   tema). Qui forziamo l'impilamento SOLO su questa pagina. --------------- */
@media(max-width:768px){
  body.page-prodotti .ae-split.ae-switch{flex-direction:column !important}
  body.page-prodotti .ae-split > .ae-side{width:100% !important}
  body.page-prodotti .ae-split > .cat-content{width:100% !important;max-height:none !important;
    overflow:visible !important;margin-top:24px !important}
  body.page-prodotti .price-block{width:100% !important}
  body.page-prodotti .ae-product-grid{width:100% !important;gap:20px !important;justify-content:flex-start}
  body.page-prodotti .ae-product-grid > .ae-product-card{width:100% !important;flex:0 0 auto !important;max-width:420px}
  body.page-prodotti .ae-card-ph{aspect-ratio:3/4}
  body.page-prodotti .product-meta .ae-card-name{max-width:60%}
}

/* --- Servizi su mobile (2.16.0): stesso problema di Prodotti — .ae-split
   resta row (variabile Elementor che vince sul tema): impilamento forzato
   solo su questa pagina, colonna a scroll di pagina. -------------------- */
@media(max-width:860px){
  body.page-servizi .ae-split.ae-switch{flex-direction:column !important}
  body.page-servizi .ae-split > .ae-side{width:100% !important}
  body.page-servizi .ae-split > .cat-content{width:100% !important;max-height:none !important;
    overflow:visible !important;margin-top:24px !important}
  body.page-servizi .price-block{width:100% !important}
}

/* =====================================================================
   XD 2026-08 — layout nuovi (generato dai tool)
   Home 3 caselle · Ispirazioni collage editoriale · Prodotti 3 colonne a scala
   reale, righe distanziate e bollino "Scopri" · Chi Siamo nome sotto la foto.
   ===================================================================== */
body.home .ae-hero-strip,body.home .ae-hero-strip-f{margin-top:-11.406vw}
.ae-hero-strip,.ae-hero-strip-f{width:81.25vw;height:32.188vw}
.ae-hero-strip > .elementor-widget-image:nth-child(n+4),
.ae-hero-strip-f > .elementor-widget-image:nth-child(n+4){display:none}
.ae-hero-strip > .elementor-widget-image:nth-child(1),
.ae-hero-strip-f > .elementor-widget-image:nth-child(1){flex:2 2 0}
.ae-hero-strip > .elementor-widget-image:nth-child(2),
.ae-hero-strip > .elementor-widget-image:nth-child(3),
.ae-hero-strip-f > .elementor-widget-image:nth-child(2),
.ae-hero-strip-f > .elementor-widget-image:nth-child(3){flex:4 4 0}

/* --- Ispirazioni --- */
/* Ispirazioni — collage editoriale, coordinate dall'XD 2026-08 (generato
   da tools/build-ispirazioni-xd.py: non modificare a mano) */
.page-ispirazioni .ae-collage{position:relative;display:block !important;width:100% !important;
  min-height:0;padding:0 !important;margin:0 !important;height:auto}
.page-ispirazioni .ae-collage > .elementor-widget-image{position:absolute;overflow:hidden;margin:0}
.page-ispirazioni .ae-collage img{width:100%;height:100%;object-fit:cover}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-1{left:42.916vw;top:0.0vw;width:22.448vw;height:28.073vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-2{left:69.374vw;top:7.031vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-3{left:26.928vw;top:4.219vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-4{left:65.365vw;top:28.177vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-5{left:29.739vw;top:28.073vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-6{left:47.553vw;top:40.312vw;width:13.281vw;height:16.615vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-7{left:70.156vw;top:47.865vw;width:16.562vw;height:20.729vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-8{left:26.928vw;top:62.083vw;width:28.073vw;height:22.448vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-taglio-9{left:60.781vw;top:73.438vw;width:25.938vw;height:20.729vw}
.page-ispirazioni .ae-collage.ae-h-donna-taglio{height:94.167vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-1{left:70.156vw;top:0.0vw;width:16.562vw;height:20.729vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-2{left:26.928vw;top:14.219vw;width:28.073vw;height:22.448vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-3{left:60.781vw;top:25.573vw;width:25.938vw;height:20.729vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-4{left:26.928vw;top:42.917vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-5{left:66.666vw;top:56.042vw;width:20.052vw;height:25.052vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-6{left:32.968vw;top:63.177vw;width:25.833vw;height:20.677vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-7{left:58.802vw;top:83.854vw;width:13.229vw;height:16.458vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-8{left:26.928vw;top:92.24vw;width:22.448vw;height:28.073vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-9{left:69.374vw;top:103.073vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-10{left:49.374vw;top:120.312vw;width:22.448vw;height:28.073vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-11{left:26.928vw;top:125.677vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-12{left:69.374vw;top:151.146vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-13{left:29.739vw;top:149.531vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-colore-14{left:47.553vw;top:154.792vw;width:13.281vw;height:16.615vw}
.page-ispirazioni .ae-collage.ae-h-donna-colore{height:171.406vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-piega-1{left:26.928vw;top:2.448vw;width:22.448vw;height:28.073vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-piega-2{left:52.864vw;top:7.292vw;width:13.177vw;height:16.51vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-piega-3{left:71.823vw;top:16.667vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-piega-4{left:49.374vw;top:30.521vw;width:22.448vw;height:28.073vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-donna-piega-5{left:26.928vw;top:39.115vw;width:17.344vw;height:13.854vw}
.page-ispirazioni .ae-collage.ae-h-donna-piega{height:58.594vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-uomo-taglio-1{left:70.156vw;top:0.0vw;width:16.562vw;height:20.729vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-uomo-taglio-2{left:47.864vw;top:2.292vw;width:13.594vw;height:10.885vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-uomo-taglio-3{left:26.928vw;top:14.219vw;width:28.073vw;height:22.448vw}
.page-ispirazioni .ae-collage.ae-h-uomo-taglio{height:36.667vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-uomo-colore-1{left:20.573vw;top:-0.521vw;width:25.833vw;height:20.677vw}
.page-ispirazioni .ae-collage > .elementor-widget-image.ae-xt-uomo-colore-2{left:46.407vw;top:20.156vw;width:13.229vw;height:16.458vw}
.page-ispirazioni .ae-collage.ae-h-uomo-colore{height:36.615vw}
.page-ispirazioni .ae-split.ae-isp > .cat-content{width:calc(100% + 9.6875vw) !important;flex:0 0 auto !important;margin-right:-9.6875vw !important;max-height:calc(100vh - 13.8vw);overflow-y:auto;scrollbar-width:none}
.page-ispirazioni .cat-content::-webkit-scrollbar{display:none}
@media(max-width:1024px){
  .page-ispirazioni .ae-collage{height:auto !important;display:flex !important;flex-wrap:wrap;gap:10px}
  .page-ispirazioni .ae-collage > .elementor-widget-image{position:static !important;
    left:auto !important;top:auto !important;width:calc(50% - 5px) !important;height:auto !important;aspect-ratio:3/4}
  .page-ispirazioni .ae-split.ae-isp > .cat-content{max-height:none;overflow:visible}
}


/* --- Prodotti --- */
/* Prodotti — griglia e scale dall'XD 2026-08 (generato da
   tools/build-prodotti-xd.py: non modificare a mano) */
body.page-prodotti .ae-split > .ae-side{width:49.81% !important}
body.page-prodotti .ae-split > .cat-content{width:50.156vw !important;flex:0 0 auto !important;margin-right:-9.6875vw !important;margin-top:-4.87vw !important;max-height:calc(100vh - 10.5vw);overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
body.page-prodotti .cat-content::-webkit-scrollbar{display:none}
body.page-prodotti .ae-show-all .price-block + .price-block{margin-top:3.177vw}
body.page-prodotti .cat-content .price-block .ae-product-grid{position:relative;display:block !important;
  width:47.24vw !important;padding:0 !important}
body.page-prodotti .ae-product-grid > .ae-product-card{position:absolute;display:block;padding:0 !important;margin:0;max-width:none;cursor:pointer}
body.page-prodotti .ae-card-img{position:absolute;top:0;margin:0}
body.page-prodotti .ae-card-img img{background:none !important;padding:0 !important;
  aspect-ratio:auto !important;object-fit:contain;width:100% !important;height:100% !important}
body.page-prodotti .cat-content .price-block .product-meta{position:absolute;width:auto;max-width:none;margin:0;padding:0;justify-content:flex-start;align-items:baseline;gap:0.417vw !important}
body.page-prodotti .product-meta .ae-card-name{flex:0 0 auto;min-width:6.406vw}
body.page-prodotti .product-meta .ae-card-name p{white-space:nowrap;-webkit-mask-image:none;mask-image:none}
body.page-prodotti .product-meta .ae-card-scopri{flex:0 0 auto}
body.page-prodotti .ae-card-scopri p{margin:0;white-space:nowrap;text-decoration:none;font-size:max(12px,.78vw);border:1px solid var(--copper);border-radius:999px;padding:.22em .9em;line-height:1.2;transition:background .2s ease,color .2s ease}
body.page-prodotti .ae-product-card:hover .ae-card-scopri p{background:var(--copper);color:var(--paper)}
body.page-prodotti .ae-card-ph{width:100%;height:100%;aspect-ratio:auto}
body.page-prodotti .ae-anchors .item .ae-sub{display:block;font-style:italic;font-family:var(--font) !important;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper-soft);margin-top:.2em}
body.page-prodotti .cat-nav__sub{font-style:italic;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--copper-soft)}
body.page-prodotti .ae-side .ae-anchors{gap:5.156vw !important}
body.page-prodotti .cat-nav__sub p{margin:0}
body.page-prodotti .ae-prod-aaa-mare-shampoo{left:2.812vw;top:0.0vw;width:11.771vw;height:29.792vw}
body.page-prodotti .ae-prod-aaa-mare-shampoo .ae-card-img{left:0.0vw;width:10.365vw;height:26.25vw}
body.page-prodotti .ae-prod-aaa-mare-shampoo .product-meta{left:0.26vw;top:28.385vw}
body.page-prodotti .ae-prod-rispetta{left:18.958vw;top:0.104vw;width:11.51vw;height:29.688vw}
body.page-prodotti .ae-prod-rispetta .ae-card-img{left:0.312vw;width:9.896vw;height:26.146vw}
body.page-prodotti .ae-prod-rispetta .product-meta{left:0.0vw;top:28.281vw}
body.page-prodotti .ae-prod-nutri{left:18.958vw;top:32.76vw;width:11.51vw;height:29.792vw}
body.page-prodotti .ae-prod-nutri .ae-card-img{left:0.365vw;width:9.896vw;height:26.146vw}
body.page-prodotti .ae-prod-nutri .product-meta{left:0.0vw;top:28.385vw}
body.page-prodotti .ae-prod-kontrolla{left:34.323vw;top:32.917vw;width:11.771vw;height:29.635vw}
body.page-prodotti .ae-prod-kontrolla .ae-card-img{left:0.0vw;width:10.052vw;height:26.146vw}
body.page-prodotti .ae-prod-kontrolla .product-meta{left:0.26vw;top:28.229vw}
body.page-prodotti .ae-prod-proteggi{left:2.917vw;top:65.312vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-proteggi .ae-card-img{left:0.0vw;width:9.948vw;height:26.146vw}
body.page-prodotti .ae-prod-proteggi .product-meta{left:0.0vw;top:28.333vw}
body.page-prodotti .ae-prod-rivitalizza{left:18.958vw;top:65.417vw;width:11.51vw;height:29.583vw}
body.page-prodotti .ae-prod-rivitalizza .ae-card-img{left:0.521vw;width:8.854vw;height:26.146vw}
body.page-prodotti .ae-prod-rivitalizza .product-meta{left:0.0vw;top:28.177vw}
body.page-prodotti .ae-prod-lava{left:18.958vw;top:98.073vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-lava .ae-card-img{left:0.156vw;width:8.906vw;height:26.146vw}
body.page-prodotti .ae-prod-lava .product-meta{left:0.0vw;top:28.333vw}
body.page-prodotti .ae-prod-purifica{left:34.479vw;top:98.281vw;width:11.51vw;height:29.531vw}
body.page-prodotti .ae-prod-purifica .ae-card-img{left:0.781vw;width:8.958vw;height:26.146vw}
body.page-prodotti .ae-prod-purifica .product-meta{left:0.0vw;top:28.125vw}
body.page-prodotti .ae-prod-pettina{left:2.917vw;top:130.781vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-pettina .ae-card-img{left:0.677vw;width:8.906vw;height:26.146vw}
body.page-prodotti .ae-prod-pettina .product-meta{left:0.0vw;top:28.333vw}
body.page-prodotti .ae-prod-hidra-plus{left:31.823vw;top:-0.104vw;width:15.052vw;height:18.646vw}
body.page-prodotti .ae-prod-hidra-plus .ae-card-img{left:0.0vw;width:15.052vw;height:15.469vw}
body.page-prodotti .ae-prod-hidra-plus .product-meta{left:2.708vw;top:17.24vw}
body.page-prodotti .ae-prod-cura{left:0.156vw;top:10.885vw;width:15.521vw;height:19.01vw}
body.page-prodotti .ae-prod-cura .ae-card-img{left:0.0vw;width:15.521vw;height:15.469vw}
body.page-prodotti .ae-prod-cura .product-meta{left:2.708vw;top:17.604vw}
body.page-prodotti .ae-prod-vivaricci-velamina{left:2.812vw;top:37.969vw;width:11.51vw;height:24.688vw}
body.page-prodotti .ae-prod-vivaricci-velamina .ae-card-img{left:1.562vw;width:7.396vw;height:21.042vw}
body.page-prodotti .ae-prod-vivaricci-velamina .product-meta{left:0.0vw;top:23.281vw}
body.page-prodotti .ae-prod-vivaricci-crema{left:18.906vw;top:32.865vw;width:11.51vw;height:29.792vw}
body.page-prodotti .ae-prod-vivaricci-crema .ae-card-img{left:1.51vw;width:7.448vw;height:26.146vw}
body.page-prodotti .ae-prod-vivaricci-crema .product-meta{left:0.0vw;top:28.385vw}
body.page-prodotti .ae-prod-in-cera{left:34.583vw;top:59.74vw;width:11.51vw;height:24.74vw}
body.page-prodotti .ae-prod-in-cera .ae-card-img{left:1.823vw;width:5.938vw;height:21.094vw}
body.page-prodotti .ae-prod-in-cera .product-meta{left:0.0vw;top:23.333vw}
body.page-prodotti .ae-prod-in-pasta{left:2.812vw;top:87.396vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-in-pasta .ae-card-img{left:0.0vw;width:9.896vw;height:26.198vw}
body.page-prodotti .ae-prod-in-pasta .product-meta{left:0.0vw;top:28.333vw}
body.page-prodotti .ae-prod-idrata{left:2.865vw;top:4.74vw;width:11.51vw;height:24.948vw}
body.page-prodotti .ae-prod-idrata .ae-card-img{left:2.448vw;width:5.677vw;height:21.406vw}
body.page-prodotti .ae-prod-idrata .product-meta{left:0.0vw;top:23.542vw}
body.page-prodotti .ae-prod-volume{left:18.854vw;top:4.948vw;width:11.51vw;height:24.74vw}
body.page-prodotti .ae-prod-volume .ae-card-img{left:2.188vw;width:5.99vw;height:21.198vw}
body.page-prodotti .ae-prod-volume .product-meta{left:0.0vw;top:23.333vw}
body.page-prodotti .ae-prod-depura{left:34.583vw;top:4.583vw;width:11.51vw;height:25.104vw}
body.page-prodotti .ae-prod-depura .ae-card-img{left:0.885vw;width:7.708vw;height:21.823vw}
body.page-prodotti .ae-prod-depura .product-meta{left:0.0vw;top:23.698vw}
body.page-prodotti .ae-prod-forza{left:2.865vw;top:37.292vw;width:11.51vw;height:36.354vw}
body.page-prodotti .ae-prod-forza .ae-card-img{left:1.406vw;width:6.823vw;height:33.438vw}
body.page-prodotti .ae-prod-forza .product-meta{left:0.0vw;top:34.948vw}
body.page-prodotti .ae-prod-vigore{left:18.958vw;top:36.146vw;width:11.51vw;height:37.5vw}
body.page-prodotti .ae-prod-vigore .ae-card-img{left:1.458vw;width:7.344vw;height:33.958vw}
body.page-prodotti .ae-prod-vigore .product-meta{left:0.0vw;top:36.094vw}
body.page-prodotti .ae-prod-schiuma-forte{left:18.542vw;top:5.104vw;width:11.51vw;height:24.688vw}
body.page-prodotti .ae-prod-schiuma-forte .ae-card-img{left:1.979vw;width:5.417vw;height:21.042vw}
body.page-prodotti .ae-prod-schiuma-forte .product-meta{left:0.0vw;top:23.281vw}
body.page-prodotti .ae-prod-schiuma-leggera{left:34.583vw;top:5.156vw;width:11.51vw;height:24.635vw}
body.page-prodotti .ae-prod-schiuma-leggera .ae-card-img{left:2.604vw;width:5.469vw;height:21.094vw}
body.page-prodotti .ae-prod-schiuma-leggera .product-meta{left:0.0vw;top:23.229vw}
body.page-prodotti .ae-prod-districa{left:2.917vw;top:33.021vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-districa .ae-card-img{left:0.208vw;width:8.854vw;height:26.146vw}
body.page-prodotti .ae-prod-districa .product-meta{left:0.0vw;top:28.333vw}
body.page-prodotti .ae-prod-aaa-mare-olio{left:18.646vw;top:33.073vw;width:11.771vw;height:29.688vw}
body.page-prodotti .ae-prod-aaa-mare-olio .ae-card-img{left:0.0vw;width:7.448vw;height:21.042vw}
body.page-prodotti .ae-prod-aaa-mare-olio .product-meta{left:0.26vw;top:28.281vw}
body.page-prodotti .ae-prod-velvet-shield{left:34.583vw;top:65.312vw;width:11.51vw;height:29.948vw}
body.page-prodotti .ae-prod-velvet-shield .ae-card-img{left:1.146vw;width:7.292vw;height:26.146vw}
body.page-prodotti .ae-prod-velvet-shield .product-meta{left:0.0vw;top:28.542vw}
body.page-prodotti .ae-prod-spuma{left:2.917vw;top:90.99vw;width:11.51vw;height:36.667vw}
body.page-prodotti .ae-prod-spuma .ae-card-img{left:1.562vw;width:6.615vw;height:33.125vw}
body.page-prodotti .ae-prod-spuma .product-meta{left:0.0vw;top:35.26vw}
body.page-prodotti .ae-prod-lucida{left:18.906vw;top:91.146vw;width:11.51vw;height:36.51vw}
body.page-prodotti .ae-prod-lucida .ae-card-img{left:1.719vw;width:6.771vw;height:33.125vw}
body.page-prodotti .ae-prod-lucida .product-meta{left:0.0vw;top:35.104vw}
body.page-prodotti .ae-prod-vivaricci-fluido{left:34.583vw;top:130.99vw;width:11.51vw;height:29.792vw}
body.page-prodotti .ae-prod-vivaricci-fluido .ae-card-img{left:0.833vw;width:8.281vw;height:26.146vw}
body.page-prodotti .ae-prod-vivaricci-fluido .product-meta{left:0.0vw;top:28.385vw}
body.page-prodotti .ae-prod-heat-protect{left:2.812vw;top:163.698vw;width:11.51vw;height:29.74vw}
body.page-prodotti .ae-prod-heat-protect .ae-card-img{left:0.0vw;width:9.896vw;height:26.198vw}
body.page-prodotti .ae-prod-heat-protect .product-meta{left:0.0vw;top:28.333vw}
@media(min-width:769px){
  body.page-prodotti #ae-cat-shampoo .ae-product-grid{height:160.521vw}
  body.page-prodotti #ae-cat-creme .ae-product-grid{height:117.135vw}
  body.page-prodotti #ae-cat-sieri .ae-product-grid{height:73.646vw}
  body.page-prodotti #ae-cat-protezione .ae-product-grid{height:193.438vw}
}
@media(max-width:860px){
body.page-prodotti .elementor .ae-split > .cat-content{width:100% !important;margin:40px 0 0 !important;max-height:none !important;overflow:visible !important;padding:0 !important}
body.page-prodotti .elementor .cat-content .price-block{width:100% !important}
body.page-prodotti .elementor .cat-content .price-block .ae-product-grid{width:100% !important;position:relative !important;display:block !important;padding:0 !important}
body.page-prodotti .elementor .cat-content .ae-product-grid > .ae-product-card{position:absolute !important;display:block !important;margin:0 !important;max-width:none !important;flex-direction:unset}
body.page-prodotti .elementor .cat-content .ae-card-img{position:absolute !important;top:0 !important;margin:0 !important;max-height:none !important}
body.page-prodotti .elementor .cat-content .ae-card-img img{width:100% !important;height:100% !important;object-fit:contain;aspect-ratio:auto !important}
body.page-prodotti .elementor .cat-content .price-block .product-meta{position:absolute !important;width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important;justify-content:flex-start !important;align-items:baseline;gap:8px !important;flex-wrap:nowrap !important;font-size:12px;line-height:1.2;text-align:left}
body.page-prodotti .elementor .product-meta .ae-card-name{min-width:15.27vw}
body.page-prodotti .elementor .product-meta .ae-card-name p{white-space:nowrap;font-size:12px}
body.page-prodotti .elementor .ae-card-scopri p{font-size:11px;padding:.2em .85em}
body.page-prodotti .elementor .ae-split.ae-show-all > .cat-content{margin-top:56px !important}
body.page-prodotti .elementor .ae-split:not(.ae-show-all) > .cat-content{margin-top:76px !important}
body.page-prodotti .elementor .ae-card-ph{width:100% !important;height:100% !important;aspect-ratio:auto}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-shampoo{left:1.02vw !important;top:0.0vw !important;width:33.84vw !important;height:91.09vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-shampoo .ae-card-img{left:0.0vw !important;width:30.79vw !important;height:78.37vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-shampoo .product-meta{left:1.27vw !important;top:85.5vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rispetta{left:57.51vw !important;top:0.51vw !important;width:34.35vw !important;height:90.59vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rispetta .ae-card-img{left:0.51vw !important;width:29.77vw !important;height:78.37vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rispetta .product-meta{left:0.0vw !important;top:84.99vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-nutri{left:2.29vw !important;top:98.47vw !important;width:32.06vw !important;height:91.35vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-nutri .ae-card-img{left:0.51vw !important;width:29.77vw !important;height:78.88vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-nutri .product-meta{left:0.0vw !important;top:85.75vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-kontrolla{left:55.47vw !important;top:98.98vw !important;width:33.08vw !important;height:90.84vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-kontrolla .ae-card-img{left:0.0vw !important;width:30.28vw !important;height:78.37vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-kontrolla .product-meta{left:1.02vw !important;top:85.24vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-proteggi{left:1.53vw !important;top:197.2vw !important;width:33.33vw !important;height:90.84vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-proteggi .ae-card-img{left:0.0vw !important;width:30.28vw !important;height:80.15vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-proteggi .product-meta{left:0.0vw !important;top:85.24vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rivitalizza{left:57.51vw !important;top:235.37vw !important;width:32.32vw !important;height:90.33vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rivitalizza .ae-card-img{left:1.02vw !important;width:27.23vw !important;height:80.15vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-rivitalizza .product-meta{left:0.0vw !important;top:84.73vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lava{left:2.8vw !important;top:333.84vw !important;width:30.28vw !important;height:91.35vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lava .ae-card-img{left:0.25vw !important;width:26.72vw !important;height:78.37vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lava .product-meta{left:0.0vw !important;top:85.75vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-purifica{left:56.74vw !important;top:334.35vw !important;width:33.84vw !important;height:90.84vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-purifica .ae-card-img{left:2.04vw !important;width:27.48vw !important;height:79.9vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-purifica .product-meta{left:0.0vw !important;top:85.24vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-pettina{left:1.53vw !important;top:432.32vw !important;width:35.88vw !important;height:91.09vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-pettina .ae-card-img{left:1.53vw !important;width:27.48vw !important;height:80.41vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-pettina .product-meta{left:0.0vw !important;top:85.5vw !important}
body.page-prodotti .elementor #ae-cat-shampoo .ae-product-grid{height:523.41vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-hidra-plus{left:42.49vw !important;top:0.0vw !important;width:46.06vw !important;height:55.98vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-hidra-plus .ae-card-img{left:0.0vw !important;width:44.53vw !important;height:46.06vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-hidra-plus .product-meta{left:1.02vw !important;top:50.38vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-cura{left:1.53vw !important;top:71.5vw !important;width:49.87vw !important;height:57.76vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-cura .ae-card-img{left:0.76vw !important;width:46.06vw !important;height:46.06vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-cura .product-meta{left:0.0vw !important;top:52.16vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-velamina{left:4.33vw !important;top:176.08vw !important;width:34.1vw !important;height:74.81vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-velamina .ae-card-img{left:4.83vw !important;width:21.88vw !important;height:62.6vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-velamina .product-meta{left:0.0vw !important;top:69.21vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-crema{left:51.91vw !important;top:122.39vw !important;width:34.35vw !important;height:89.82vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-crema .ae-card-img{left:4.83vw !important;width:21.88vw !important;height:77.1vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-crema .product-meta{left:0.0vw !important;top:84.22vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-cera{left:54.96vw !important;top:238.68vw !important;width:31.3vw !important;height:74.3vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-cera .ae-card-img{left:5.34vw !important;width:17.81vw !important;height:63.1vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-cera .product-meta{left:0.0vw !important;top:68.7vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-pasta{left:1.53vw !important;top:313.99vw !important;width:33.33vw !important;height:97.71vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-pasta .ae-card-img{left:0.0vw !important;width:27.99vw !important;height:78.88vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-in-pasta .product-meta{left:0.76vw !important;top:92.11vw !important}
body.page-prodotti .elementor #ae-cat-creme .ae-product-grid{height:411.7vw !important}
body.page-prodotti .elementor .ae-show-all #ae-cat-creme{margin-top:-0.76vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-idrata{left:3.82vw !important;top:0.0vw !important;width:31.3vw !important;height:75.06vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-idrata .ae-card-img{left:7.38vw !important;width:17.3vw !important;height:64.63vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-idrata .product-meta{left:0.0vw !important;top:69.47vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-volume{left:53.94vw !important;top:0.51vw !important;width:31.04vw !important;height:74.55vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-volume .ae-card-img{left:6.36vw !important;width:18.07vw !important;height:64.63vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-volume .product-meta{left:0.0vw !important;top:68.96vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-depura{left:5.6vw !important;top:83.72vw !important;width:31.3vw !important;height:76.34vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-depura .ae-card-img{left:2.8vw !important;width:22.9vw !important;height:64.38vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-depura .product-meta{left:0.0vw !important;top:70.74vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-forza{left:3.82vw !important;top:177.1vw !important;width:31.3vw !important;height:108.91vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-forza .ae-card-img{left:4.33vw !important;width:20.36vw !important;height:100.0vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-forza .product-meta{left:0.0vw !important;top:103.31vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vigore{left:51.91vw !important;top:173.79vw !important;width:30.53vw !important;height:112.21vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vigore .ae-card-img{left:4.07vw !important;width:22.14vw !important;height:101.27vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vigore .product-meta{left:0.0vw !important;top:106.62vw !important}
body.page-prodotti .elementor #ae-cat-sieri .ae-product-grid{height:286.01vw !important}
body.page-prodotti .elementor .ae-show-all #ae-cat-sieri{margin-top:8.14vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-forte{left:2.29vw !important;top:0.0vw !important;width:31.3vw !important;height:74.3vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-forte .ae-card-img{left:5.6vw !important;width:15.78vw !important;height:61.58vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-forte .product-meta{left:0.0vw !important;top:68.7vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-leggera{left:49.11vw !important;top:0.51vw !important;width:31.55vw !important;height:73.79vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-leggera .ae-card-img{left:8.14vw !important;width:16.03vw !important;height:62.34vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-schiuma-leggera .product-meta{left:0.0vw !important;top:68.19vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-districa{left:4.33vw !important;top:92.11vw !important;width:30.79vw !important;height:89.31vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-districa .ae-card-img{left:0.76vw !important;width:26.21vw !important;height:77.35vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-districa .product-meta{left:0.0vw !important;top:83.72vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-olio{left:48.35vw !important;top:163.36vw !important;width:34.1vw !important;height:89.57vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-olio .ae-card-img{left:2.8vw !important;width:26.97vw !important;height:76.34vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-aaa-mare-olio .product-meta{left:0.0vw !important;top:83.97vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-velvet-shield{left:5.09vw !important;top:210.69vw !important;width:31.04vw !important;height:92.37vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-velvet-shield .ae-card-img{left:3.31vw !important;width:21.63vw !important;height:77.35vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-velvet-shield .product-meta{left:0.0vw !important;top:86.77vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-spuma{left:4.33vw !important;top:312.72vw !important;width:30.79vw !important;height:109.92vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-spuma .ae-card-img{left:4.33vw !important;width:19.85vw !important;height:98.22vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-spuma .product-meta{left:0.0vw !important;top:104.33vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lucida{left:51.4vw !important;top:313.23vw !important;width:31.04vw !important;height:109.41vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lucida .ae-card-img{left:5.34vw !important;width:19.85vw !important;height:97.71vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-lucida .product-meta{left:0.0vw !important;top:103.82vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-fluido{left:52.67vw !important;top:433.59vw !important;width:31.55vw !important;height:89.31vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-fluido .ae-card-img{left:2.8vw !important;width:24.68vw !important;height:77.61vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-vivaricci-fluido .product-meta{left:0.0vw !important;top:83.72vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-heat-protect{left:1.53vw !important;top:523.92vw !important;width:33.33vw !important;height:97.71vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-heat-protect .ae-card-img{left:0.0vw !important;width:27.99vw !important;height:78.88vw !important}
body.page-prodotti .elementor .cat-content .ae-prod-heat-protect .product-meta{left:0.76vw !important;top:92.11vw !important}
body.page-prodotti .elementor #ae-cat-protezione .ae-product-grid{height:621.63vw !important}
body.page-prodotti .elementor .ae-show-all #ae-cat-protezione{margin-top:21.37vw !important}
}


/* --- Chi Siamo --- */
/* Chi Siamo — scostamenti verso le coordinate dell'XD 2026-08
   (generato da tools/build-chisiamo-xd.py) */
body.page-chi-siamo .ae-cs-ale .ae-staff-foto{display:flex;flex-direction:column;align-items:flex-start;width:24.635vw;flex:0 0 auto;padding:0;height:auto;align-self:flex-start}
body.page-chi-siamo .ae-cs-ale .ae-staff-foto .ae-staff-big,
body.page-chi-siamo .ae-cs-ale .ae-staff-foto .ae-staff-big img{width:24.635vw !important;height:32.5vw !important;object-fit:cover;max-width:none}
body.page-chi-siamo .ae-cs-ale .ae-staff-foto .ae-staff-big{transform:none !important}
body.page-chi-siamo .ae-cs-ale .ae-staff-name{transform:none !important}
body.page-chi-siamo .ae-cs-ale .ae-staff-name{margin-top:1.04vw}
body.page-chi-siamo .ae-cs-ale .ae-staff-desc{display:none}
body.page-chi-siamo .ae-cs-servizi .media-frame{transform:translate(0.0vw,-4.323vw) !important}
body.page-chi-siamo .ae-cs-values .ae-value:nth-of-type(2){transform:translate(-8.438vw,0.0vw) !important}
body.page-chi-siamo .ae-cs-values .ae-value:nth-of-type(4){transform:translate(0.0vw,7.917vw) !important}
body.page-chi-siamo .ae-cs-staff .ae-staff-photo{transform:translate(7.812vw,-4.115vw) !important}
body.page-chi-siamo .ae-cs-ale .ae-staff-grid{transform:translate(0.0vw,-4.375vw) !important}
body.page-chi-siamo .ae-cs-ale .ae-staff-foto{transform:translate(15.781vw,-5.156vw) !important}
@media(max-width:1024px){
  body.page-chi-siamo .ae-cs-servizi .media-frame,
  body.page-chi-siamo .ae-cs-values .ae-value,
  body.page-chi-siamo .ae-cs-staff .ae-staff-photo,
  body.page-chi-siamo .ae-cs-ale .ae-staff-name,
  body.page-chi-siamo .ae-cs-ale .ae-staff-desc,
  body.page-chi-siamo .ae-cs-ale .ae-staff-grid,
  body.page-chi-siamo .ae-cs-ale .ae-staff-big{transform:none}
}


/* =====================================================================
   MOBILE 2.19.0 — impaginazione telefono/tablet (≤860px) dall'XD
   "Website Mobile_Sandro" (set 2026, tavole a 393px: 1vw = 3.93px).
   Sta IN CODA al file per battere i blocchi generati e i widget-ponte
   inline delle pagine (caricano dopo style.css e vincono a pari
   specificità): prefisso body.page-X + .elementor dove serve un gradino
   in più, !important dove la controparte lo usa.
   Header: gestito dal template HFE (≤768), non si tocca.
   Le card di Prodotti NON stanno qui: le genera build-prodotti-xd.py
   dalla tavola mobile (blocco @media 860 dentro la sezione marcata
   "Prodotti", più su) — qui solo fisarmonica e tipografia.
   ===================================================================== */
@media (max-width:860px){
  :root{--fs-body:16px;--fs-title:36px;--lh-title:1.1;--lh-body:1.5;
        --grid-x:60px;--grid-y:78px;--pad-x:20px}
  html{scroll-behavior:auto}
  body{font-size:16px;line-height:1.5}
  body .h-display,body .h-lg,body .h-md{font-size:36px;line-height:1.1}
  body .stack-headings .item{font-size:36px;line-height:1.1}

  /* header fixed (≈52px) → l'XD parte col titolo a ~150px dal top */
  body:not(.home) [data-elementor-type="wp-page"]{padding-top:64px}
  body .elementor[data-elementor-type="wp-page"] > .e-con{padding-inline:20px !important}
  body .elementor[data-elementor-type="wp-page"] > .e-con:first-child{padding-top:76px !important;padding-bottom:64px !important}
  body .elementor[data-elementor-type="wp-page"] > .e-con:first-child:has(.ae-tabs){padding-top:40px !important}

  /* ---- Pattern catalogo (Servizi/Prodotti): FISARMONICA come l'XD.
          .ae-side e .ae-anchors passano a display:contents → titolo,
          sottotitolo, voci e cat-content diventano TUTTI figli flex di
          .ae-split e si ordinano: voci sopra la attiva (order 2) →
          contenuto subito dopo la voce attiva (order 5) → voci dopo la
          attiva in coda (order 8). In "tutti i prodotti" (.ae-show-all)
          nessuna voce è attiva e vanno tutte in coda. ---- */
  body .ae-split,body .ae-split.ae-switch{display:flex !important;flex-direction:column !important;gap:0 !important;position:static}
  body.page-servizi .ae-split > .ae-side,
  body.page-prodotti .elementor .ae-split > .ae-side{display:contents !important}
  body.page-servizi .ae-side .ae-anchors,
  body.page-prodotti .elementor .ae-side .ae-anchors{display:contents !important}
  /* XD: voci chiuse in rame SBIADITO (~30%), la attiva piena — è il default
     del tema (.stack-headings), quindi qui nessun override di colore */
  body.page-servizi .elementor .ae-anchors .item,
  body.page-prodotti .elementor .ae-anchors .item{order:2;margin:56px 0 0 !important;white-space:normal;
    font-size:36px;line-height:1.1;width:auto !important;position:relative}
  /* Servizi mobile parte CHIUSO (rich. Davide 30/09): main.js toglie la voce
     attiva al load e tiene la classe ae-all-closed sul contenitore; le voci
     sono toggle (tap sulla aperta = richiude) */
  body.page-servizi .elementor .ae-split.ae-all-closed > .cat-content{display:none !important}
  body.page-prodotti .elementor .ae-anchors .item{margin-top:68px !important}
  /* coda: XD tiene le voci chiuse più distanziate (passo ~130 servizi, 135 prodotti) */
  body.page-servizi .elementor .ae-anchors .item.is-active ~ .item{margin-top:90px !important}
  /* prima voce della coda: nell'XD c'è ~90-145px d'aria dopo il contenuto */
  body.page-prodotti .ae-split.ae-show-all .elementor-widget-text-editor.item:first-of-type,
  body.page-prodotti .elementor .ae-anchors .item.is-active + .item{margin-top:110px !important}
  /* indicatori XD: "+" a filo destro su ogni voce chiusa, "×" sulla aperta
     (colore ereditato → sbiadito sulle chiuse, pieno sull'attiva) */
  body.page-servizi .elementor .ae-anchors .item::after,
  body.page-prodotti .elementor .ae-anchors .item::after{content:"+";position:absolute;right:0;top:2px;
    font-size:26px;line-height:1;font-family:var(--font);font-weight:300;pointer-events:none}
  body.page-servizi .elementor .ae-anchors .item.is-active::after,
  body.page-prodotti .elementor .ae-anchors .item.is-active::after{content:"×"}
  body.page-servizi .elementor .ae-anchors .item.is-active ~ .item,
  body.page-prodotti .elementor .ae-anchors .item.is-active ~ .item{order:8}
  body.page-prodotti .ae-split.ae-show-all .ae-anchors .item{order:8}
  body.page-servizi .ae-split > .cat-content,
  body.page-servizi .elementor .ae-split > .cat-content{order:5;width:100% !important;flex:0 0 auto !important;
    margin:56px 0 20px !important;max-height:none !important;overflow:visible !important;padding:0 !important}
  body.page-prodotti .elementor .ae-split > .cat-content{order:5}
  body.page-servizi .elementor .ae-anchors .item:first-child{margin-top:0 !important}
  body .ae-anchors .item-empty{display:none}
  body .ae-anchors .item p{margin:0}

  /* Prodotti: titolo sempre in testa, "Tutti i prodotti" sotto,
     sottotitolo corsivo visibile sotto ogni voce di categoria */
  body.page-prodotti .elementor .ae-side > .elementor-widget-heading{order:0;margin:0;width:auto !important}
  body.page-prodotti .elementor .ae-side > .elementor-widget-heading .elementor-heading-title{color:var(--copper);
    font-size:36px !important;line-height:1.15 !important;max-width:230px}  /* va a capo dopo "mess" come l'XD */
  body.page-prodotti .elementor .ae-side > .elementor-widget-text-editor{order:1;margin:14px 0 0;width:auto !important}
  /* nell'XD mobile "Tutti i prodotti" è Helvetica normale, rame pieno */
  body.page-prodotti .elementor .ae-side > .elementor-widget-text-editor .cat-nav__sub,
  body.page-prodotti .elementor .cat-nav__sub{font-style:normal;color:var(--copper);font-size:16px}
  body.page-prodotti .elementor .ae-anchors .item .ae-sub{display:block !important;font-style:italic;
    font-family:var(--font) !important;font-size:16px;line-height:1.5;color:var(--copper-soft);margin-top:4px}

  /* ---- Servizi: gruppi Ninna 36, listini a due colonne ---- */
  body.page-servizi .ae-switch .cat-content .e-con + .ae-group-title{margin-top:52px}
  body.page-servizi .ae-switch .ae-group-title + .e-con.ae-pricelist{margin-top:16px}
  body.page-servizi .ae-switch .ae-pricelist + .ae-pricelist{margin-top:40px}
  body .ae-group-title{margin:0}
  /* SOLO i titoli di gruppo (Donna, Armocromia…): un selettore generico sui
     heading del cat-content prenderebbe anche le etichette dei listini */
  body.page-servizi .ae-group-title .elementor-heading-title{font-size:36px;line-height:1.1}
  body .price-row{font-size:15px;line-height:1.45;padding:3px 0 !important;align-items:baseline}
  body .price-row > .elementor-widget:first-child{flex:1 1 auto !important;min-width:0;padding-right:14px}
  /* il prezzo può essere una frase ("+10% sul totale"): deve poter andare
     a capo invece di strizzare l'etichetta a una parola per riga */
  body .elementor .price-row > .elementor-widget:last-child{flex:0 1 auto !important;max-width:44% !important;text-align:right}
  body.page-servizi .elementor .price-row > .elementor-widget:last-child{padding-right:31px}
  body .price-note{margin-top:24px;font-size:13px}

  /* ---- Ispirazioni: tab Donna/Uomo al centro, tipologie Ninna 36 in
          riga distribuita, collage a 2 colonne con proporzioni naturali ---- */
  /* il contenitore di pagina qui è display:inline (via .section--tight):
     i figli ignorerebbero il padding-inline → collage a filo viewport */
  body.page-ispirazioni .elementor[data-elementor-type="wp-page"] > .e-con:first-child{display:flex !important;flex-direction:column !important;padding-top:56px !important}
  body.page-ispirazioni .elementor .ae-tabs{width:100% !important;max-width:100%}
  body.page-ispirazioni .ae-tabs .e-n-tabs{display:flex;flex-direction:column}
  body.page-ispirazioni .ae-tabs .e-n-tabs-heading{display:flex !important;flex-direction:row;flex-wrap:nowrap;gap:0 44px !important;
    margin:0 0 44px !important;padding:0 !important;justify-content:center;width:100%}
  body.page-ispirazioni .ae-tabs .e-n-tab-title{width:auto;flex:0 0 auto;margin:0 !important;padding:0 !important;
    font-size:17px !important;line-height:1.4 !important;order:0}
  body.page-ispirazioni .ae-tabs .e-n-tabs-content{display:block;width:100%}
  body.page-ispirazioni .ae-split.ae-isp{display:flex !important;flex-direction:column !important;gap:0 !important}
  body.page-ispirazioni .ae-split.ae-isp > .ae-side{position:static !important;width:100% !important;flex:0 0 auto !important;
    padding:0 !important;margin:0 !important;top:auto;display:flex !important}
  body.page-ispirazioni .ae-isp .ae-side .ae-anchors{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
    gap:8px 0 !important;justify-content:space-evenly;margin:0 !important;padding:0 !important;width:100% !important}
  body.page-ispirazioni .elementor .ae-anchors .item{flex:0 0 auto;white-space:nowrap;font-size:36px;line-height:1.1;margin:0}
  body.page-ispirazioni .ae-split.ae-isp > .cat-content{width:100% !important;margin:28px 0 0 !important;
    max-height:none !important;overflow:visible !important;padding:0 !important}
  /* column-gap con specificità (0,4,0): il tema ha `.elementor[...] .e-con{gap:0
     !important}` (0,3,0) che azzererebbe anche il gap delle colonne multicol */
  body.page-ispirazioni .elementor .ae-split .ae-collage,body.page-ispirazioni .elementor .ae-split .ae-collage[class*="ae-h-"]{display:block !important;columns:2;column-gap:12px !important;
    height:auto !important;min-height:0;position:static;width:100% !important;margin:0 !important}
  body.page-ispirazioni .ae-collage > .elementor-widget-image{position:static !important;left:auto !important;top:auto !important;
    width:100% !important;height:auto !important;aspect-ratio:auto;margin:0 0 12px;display:block;break-inside:avoid}
  body.page-ispirazioni .ae-collage > .elementor-widget-image img{width:100% !important;height:auto !important;aspect-ratio:auto !important}
  body.page-ispirazioni .ae-collage > .elementor-widget-image.is-off{display:none !important}

  /* ---- Contatti: info 2x2, orari a due colonne, mappa 349x204.
          Le altezze/posizioni desktop vanno azzerate sui CONTENITORI, non solo
          sulla griglia: altrimenti la griglia sborda dal padre e i margini dei
          fratelli (.ae-orari) partono dal bottom sbagliato = gap assorbito. ---- */
  body.page-contatti .elementor[data-elementor-type="wp-page"] > .e-con:first-child{padding-top:98px !important}
  body.page-contatti .ae-2col{display:flex !important;flex-direction:column !important}
  body.page-contatti .ae-2col > .e-con{flex:0 0 auto !important;width:100% !important;height:auto !important;min-height:0 !important;position:static !important}
  body.page-contatti .elementor[data-elementor-type="wp-page"] .e-con.ae-contact-grid{display:grid !important;grid-template-columns:1fr 1fr;
    gap:20px 16px !important;width:100% !important;height:auto !important;margin:0;position:static !important}
  body.page-contatti .ae-contact-grid > .e-con{width:100% !important;height:auto !important;flex:none;position:static !important}
  body.page-contatti .contact-label,body.page-contatti .ae-contact-item a,body.page-contatti .ae-contact-item p{font-size:16px;line-height:1.5}
  /* XD: ~106px d'aria tra il blocco contatti e gli orari */
  body.page-contatti .elementor .ae-orari{margin-top:100px !important;position:static !important;height:auto !important}
  body.page-contatti .orari-row{font-size:16px;line-height:1.8}
  /* colonna orari in asse con la colonna destra dei contatti (col2 a 50%+8px) */
  body.page-contatti .orari-row > .elementor-widget:first-child{flex:0 0 calc(50% + 8px) !important}
  body.page-contatti .ae-2col > .e-con:last-child{margin-top:14px}
  body.page-contatti .contatti-map-native,
  body.page-contatti .ae-2col > .e-con:last-child > .elementor-widget-image{--container-widget-width:100%;max-width:none !important;width:100% !important;margin-top:0}
  body.page-contatti .contatti-map-native img,
  body.page-contatti .ae-2col > .e-con:last-child > .elementor-widget-image img{width:100% !important;aspect-ratio:349/204;object-fit:cover}
  body.page-contatti .ae-2col > .e-con:last-child > .elementor-widget-text-editor{margin-top:24px}

  /* ---- Chi Siamo (pagina rame): colonna unica, titoli Ninna grandi con
          i rientri sfalsati dell'XD. Il ponte usa body.page-chi-siamo …
          !important → serve .elementor in più per vincere. ---- */
  body.page-chi-siamo .elementor .ae-pair,body.page-chi-siamo .elementor .ae-2col,body.page-chi-siamo .elementor .ae-value{display:flex !important;flex-direction:column !important;
    position:static !important;transform:none !important;width:100% !important;max-width:none !important;left:auto !important;top:auto !important}
  body.page-chi-siamo .elementor .ae-pair > .e-con,body.page-chi-siamo .elementor .ae-2col > .e-con,body.page-chi-siamo .elementor .ae-value > .e-con{width:100% !important;flex:0 0 auto !important;max-width:none !important}
  body.page-chi-siamo .elementor .elementor-widget-heading .elementor-heading-title{font-size:60px;line-height:1.02}
  body.page-chi-siamo .elementor .ae-pair .elementor-widget-text-editor,
  body.page-chi-siamo .elementor .ae-value .elementor-widget-text-editor{margin-top:16px;font-size:17px;line-height:1.55}
  body.page-chi-siamo .elementor .elementor-widget.lead,body.page-chi-siamo .elementor .ae-value .lead{--container-widget-width:100%;max-width:none !important;width:100%}
  /* rientri sfalsati dell'XD (Concept 12, Servizi 79, Sostenibilità 88, Staff 113) */
  body.page-chi-siamo [data-elementor-type="wp-page"] > .e-con.ae-pair .elementor-widget-heading{padding-left:12px}
  body.page-chi-siamo [data-elementor-type="wp-page"] > .e-con.ae-pair .elementor-widget-text-editor{padding-left:12px}
  body.page-chi-siamo .elementor .ae-cs-values .ae-value .elementor-widget-heading{padding-left:0}
  body.page-chi-siamo .elementor .ae-cs-servizi > .e-con:first-child > .elementor-widget-heading{padding-left:79px;margin-left:0}
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(1) .elementor-widget-text-editor{padding-left:94px}
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(3) .elementor-widget-text-editor{padding-left:88px}
  body.page-chi-siamo .elementor .ae-cs-foto-salone{display:block !important;width:100% !important;max-width:none !important;margin:72px 0 0 !important;position:static !important;transform:none !important}
  body.page-chi-siamo .elementor .ae-cs-foto-salone img{width:100% !important;aspect-ratio:347/238;object-fit:cover}
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(1) .elementor-widget-text-editor{max-width:343px}
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(2) .elementor-widget-text-editor,
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(4) .elementor-widget-text-editor{max-width:262px}
  body.page-chi-siamo .elementor .ae-cs-staff > .elementor-widget-heading{padding-left:113px}
  body.page-chi-siamo .elementor .ae-cs-servizi{margin-top:104px !important}
  body.page-chi-siamo .elementor .ae-cs-servizi > .e-con:first-child > .elementor-widget-text-editor{margin-left:0;margin-top:28px;padding-left:182px;font-size:17px;line-height:1.55}
  body.page-chi-siamo .elementor .ae-cs-servizi > .e-con:first-child > .elementor-widget-text-editor + .elementor-widget-text-editor{margin-top:22px}
  body.page-chi-siamo .elementor .ae-cs-servizi > .e-con:last-child > .elementor-widget-image,
  body.page-chi-siamo .elementor .ae-cs-servizi .media-frame{margin:32px 0 0 !important;--container-widget-width:100%;max-width:none !important;width:100%;transform:none !important}
  body.page-chi-siamo .elementor .ae-cs-servizi > .e-con:last-child img{width:100% !important;aspect-ratio:349/271;object-fit:cover}
  body.page-chi-siamo .elementor .ae-pair img{aspect-ratio:349/271;object-fit:cover;width:100% !important}
  body.page-chi-siamo .elementor .ae-cs-values{margin-top:96px !important;min-height:0 !important;position:static;display:flex !important;flex-direction:column !important;gap:0 !important}
  body.page-chi-siamo .elementor .ae-cs-values > .ae-value,
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(2),
  body.page-chi-siamo .elementor .ae-cs-values .ae-value:nth-of-type(4){position:static !important;left:auto !important;top:auto !important;margin:84px 0 0 !important;transform:none !important}
  body.page-chi-siamo .elementor .ae-cs-values > .ae-value:first-child{margin-top:0 !important}
  body.page-chi-siamo .elementor .ae-cs-staff{display:flex !important;flex-direction:column !important;margin-top:130px !important}
  body.page-chi-siamo .elementor .ae-cs-staff > .elementor-widget-heading{width:auto}
  body.page-chi-siamo .elementor .ae-cs-staff > .elementor-widget-image,
  body.page-chi-siamo .elementor .ae-cs-staff .ae-staff-photo{margin:22px 0 0 !important;--container-widget-width:100%;max-width:none !important;width:100%;transform:none !important}
  body.page-chi-siamo .elementor .ae-cs-staff img{width:100% !important;aspect-ratio:auto;height:auto !important;object-fit:contain}
  body.page-chi-siamo .elementor .ae-cs-ale{margin:64px 0 24px !important}
  body.page-chi-siamo .elementor .ae-cs-ale > .e-con:first-child > .elementor-widget-text-editor{font-size:16px;line-height:1.5}
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-grid{display:grid !important;grid-template-columns:repeat(4,1fr);width:100% !important;margin:0 !important;transform:none !important}
  body.page-chi-siamo .elementor .ae-staff-grid > .elementor-widget-image{width:100% !important}
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-foto{width:100% !important;transform:none !important;margin:24px 0 0 !important}
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-foto .ae-staff-big,
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-foto .ae-staff-big img{width:100% !important;height:auto !important;aspect-ratio:347/407;object-fit:cover;max-width:none !important}
  /* XD mobile: il nome sta SOPRA la foto grande, rientrato di 24px */
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-foto{display:flex;flex-direction:column}
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-name{order:-1;margin:0 0 18px;padding-left:24px;transform:none !important}
  body.page-chi-siamo .elementor .ae-cs-ale .ae-staff-name .elementor-heading-title{font-size:48px}

  /* ---- Home: una sola foto grande (349x613) che ruota, contatore 1/4 ---- */
  /* XD: foto a y=155, nel primo schermo solo foto+contatore (footer sotto la
     piega). min-height va QUI: una regola a parte perderebbe per specificità. */
  body.home .elementor[data-elementor-type="wp-page"] > .e-con.hero:first-child{padding:155px 20px 40px !important;min-height:100svh !important;justify-content:flex-start}
  body.home .hero .ae-hero-strip,body.home .hero .ae-hero-strip-f{width:100% !important;height:auto !important;margin:0 !important;
    display:block !important;gap:0 !important}
  body.home .hero .ae-hero-strip > .elementor-widget-image,
  body.home .hero .ae-hero-strip-f > .elementor-widget-image{display:none !important}
  body.home .hero .ae-hero-strip > .elementor-widget-image:first-child,
  body.home .hero .ae-hero-strip-f > .elementor-widget-image:first-child{display:block !important;flex:none !important;
    width:100% !important;height:auto !important;aspect-ratio:349/613;min-height:0}
  body.home .hero .ae-hero-strip > .elementor-widget-image:first-child img,
  body.home .hero .ae-hero-strip-f > .elementor-widget-image:first-child img{width:100% !important;height:100% !important;object-fit:cover}
  body.home .ae-hero-count{display:block;font-size:15px;color:var(--copper);text-align:right;margin-top:10px;font-family:var(--font)}

  /* ---- Footer: in flusso, 4 righe (batte il ponte inline con le colonne assolute) ---- */
  body footer#colophon{position:static !important}
  body footer#colophon .ae-hf-footer{display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;gap:2px !important;
    padding:28px 20px 30px !important;position:static;font-size:13px;line-height:1.5}
  body footer#colophon .ae-hf-footer > .elementor-widget-text-editor,
  body footer#colophon .ae-hf-footer .e-con-inner > .elementor-widget-text-editor{position:static !important;left:auto !important;top:auto !important;width:auto !important}
  body footer#colophon .ae-hf-footer p{font-size:13px !important;line-height:1.5 !important;margin:0}
  body footer#colophon .ae-hf-footer .prefix-dot{display:inline;width:auto !important;margin:0}

  /* ---- Drawer prodotto ---- */
  body .ae-drawer__sheet{max-height:92vh}
  body .ae-drawer__name{font-size:26px}
}
