/* Smile Atelier — design system per Uncode + WPBakery */

:root{
  
  --alabastro:  #FBF9F6;  
  --lino:       #F0EAE1;  
  --argilla:    #DFD5C7;  
  --greige:     #C3B8A9;  
  --taupe:      #6E6559;  
  --taupe-tenue:#7D7367;  
  --cacao:      #4A4038;  
  --inchiostro: #2B2724;  
  --salvia:     #7C8A7E;  
  --champagne:  #B79A6E;  
  --bianco:     #FFFFFF;

  --hairline: rgba(43,39,36,.14);
  --hairline-chiara: rgba(251,249,246,.22);

  
  --display: "Marcellus", "Iowan Old Style", Georgia, serif;
  --testo: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  --t-h1: clamp(2.6rem, 6.1vw, 5rem);
  --t-h2: clamp(1.95rem, 3.9vw, 3.25rem);
  --t-h3: clamp(1.3rem, 1.9vw, 1.7rem);
  --t-h4: clamp(1.05rem, 1.3vw, 1.2rem);
  --t-lead: clamp(1.06rem, 1.45vw, 1.3rem);
  --t-body: 1.0625rem;   
  --t-small: 1rem;       
  --t-caption: .875rem;  
  --t-eyebrow: .8125rem; 

  
  --s1: .25rem;  --s2: .5rem;   --s3: .75rem;  --s4: 1rem;
  --s5: 1.5rem;  --s6: 2rem;    --s7: 3rem;    --s8: 4rem;
  --s9: 6rem;    --s10: 8rem;   --s11: 10rem;
  --sezione: clamp(4.5rem, 9vw, 8.5rem);
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --max: 1320px;
  --max-testo: 62ch;

  
  --r-sm: 2px; --r: 4px; --r-lg: 8px; --r-full: 999px;
  --ombra-morbida: 0 10px 40px rgba(43,39,36,.06);
  --ombra-barra: 0 -1px 24px rgba(43,39,36,.08);

  
  --e: cubic-bezier(.22,.61,.36,1);
  --d-veloce: .22s; --d: .45s; --d-lenta: .9s;
}
.sa-root *, .sa-root *::before, .sa-root *::after{box-sizing:border-box}
.post-body *, .post-body *::before, .post-body *::after{box-sizing:border-box}
.sa-root{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
.post-body{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
.sa-root{
  margin:0; background:var(--alabastro); color:var(--inchiostro);
  font-family:var(--testo); font-size:var(--t-body); font-weight:400;
  line-height:1.75; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.post-body{
  margin:0; background:var(--alabastro); color:var(--inchiostro);
  font-family:var(--testo); font-size:var(--t-body); font-weight:400;
  line-height:1.75; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.sa-root img{max-width:100%; height:auto; display:block}
.post-body img{max-width:100%; height:auto; display:block}
.sa-root a{color:inherit; text-decoration:none}
.post-body a{color:inherit; text-decoration:none}
.sa-root button{font:inherit; color:inherit}
.post-body button{font:inherit; color:inherit}
.sa-root ul, .sa-root ol{margin:0; padding:0; list-style:none}
.post-body ul, .post-body ol{margin:0; padding:0; list-style:none}
.sa-root h1, .sa-root h2, .sa-root h3, .sa-root h4, .sa-root p, .sa-root figure{margin:0}
.post-body h1, .post-body h2, .post-body h3, .post-body h4, .post-body p, .post-body figure{margin:0}
.sa-root hr{border:0; border-top:1px solid var(--hairline); margin:0}
.post-body hr{border:0; border-top:1px solid var(--hairline); margin:0}
.sa-root :focus-visible{outline:2px solid var(--champagne); outline-offset:3px; border-radius:var(--r-sm)}
.post-body :focus-visible{outline:2px solid var(--champagne); outline-offset:3px; border-radius:var(--r-sm)}
.sa-root .skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--inchiostro); color:var(--alabastro); padding:var(--s3) var(--s5);
}
.post-body .skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--inchiostro); color:var(--alabastro); padding:var(--s3) var(--s5);
}
.sa-root .skip:focus{left:var(--s4); top:var(--s4)}
.post-body .skip:focus{left:var(--s4); top:var(--s4)}
.sa-root .sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.post-body .sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.sa-root h1, .sa-root .h1, .sa-root h2, .sa-root .h2, .sa-root h3, .sa-root .h3{
  font-family:var(--display); font-weight:400; letter-spacing:-.012em; text-wrap:balance;
}
.post-body h1, .post-body .h1, .post-body h2, .post-body .h2, .post-body h3, .post-body .h3{
  font-family:var(--display); font-weight:400; letter-spacing:-.012em; text-wrap:balance;
}
.sa-root h1, .sa-root .h1{font-size:var(--t-h1); line-height:1.02}
.post-body h1, .post-body .h1{font-size:var(--t-h1); line-height:1.02}
.sa-root h2, .sa-root .h2{font-size:var(--t-h2); line-height:1.08}
.post-body h2, .post-body .h2{font-size:var(--t-h2); line-height:1.08}
.sa-root h3, .sa-root .h3{font-size:var(--t-h3); line-height:1.22; letter-spacing:-.005em}
.post-body h3, .post-body .h3{font-size:var(--t-h3); line-height:1.22; letter-spacing:-.005em}
.sa-root h4, .sa-root .h4{
  font-family:var(--testo); font-size:var(--t-h4); font-weight:500;
  line-height:1.4; letter-spacing:.01em;
}
.post-body h4, .post-body .h4{
  font-family:var(--testo); font-size:var(--t-h4); font-weight:500;
  line-height:1.4; letter-spacing:.01em;
}
.sa-root .eyebrow{
  display:block; font-size:var(--t-eyebrow); font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--taupe);
  margin-bottom:var(--s5);
}
.post-body .eyebrow{
  display:block; font-size:var(--t-eyebrow); font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--taupe);
  margin-bottom:var(--s5);
}
.sa-root .eyebrow--filo{display:flex; align-items:center; gap:var(--s4)}
.post-body .eyebrow--filo{display:flex; align-items:center; gap:var(--s4)}
.sa-root .eyebrow--filo::after{content:""; flex:1; height:1px; background:var(--hairline); max-width:120px}
.post-body .eyebrow--filo::after{content:""; flex:1; height:1px; background:var(--hairline); max-width:120px}
.sa-root .lead{
  font-size:var(--t-lead); font-weight:300; line-height:1.62;
  color:var(--cacao); max-width:54ch;
}
.post-body .lead{
  font-size:var(--t-lead); font-weight:300; line-height:1.62;
  color:var(--cacao); max-width:54ch;
}
.sa-root p{max-width:var(--max-testo)}
.post-body p{max-width:var(--max-testo)}
.sa-root p + p{margin-top:var(--s4)}
.post-body p + p{margin-top:var(--s4)}
.sa-root .testo-secondario{color:var(--taupe)}
.post-body .testo-secondario{color:var(--taupe)}
.sa-root .caption{font-size:var(--t-caption); color:var(--taupe); line-height:1.55; letter-spacing:.02em}
.post-body .caption{font-size:var(--t-caption); color:var(--taupe); line-height:1.55; letter-spacing:.02em}
.sa-root .serif-corsivo{font-family:var(--display); font-size:var(--t-h3); line-height:1.35}
.post-body .serif-corsivo{font-family:var(--display); font-size:var(--t-h3); line-height:1.35}
.sa-root .numero{
  font-family:var(--testo); font-size:var(--t-caption); font-weight:400;
  letter-spacing:.14em; color:var(--champagne);
}
.post-body .numero{
  font-family:var(--testo); font-size:var(--t-caption); font-weight:400;
  letter-spacing:.14em; color:var(--champagne);
}
.sa-root .link-testo{
  display:inline-block; font-size:var(--t-small); letter-spacing:.06em;
  text-transform:uppercase; padding-bottom:2px; position:relative;
}
.post-body .link-testo{
  display:inline-block; font-size:var(--t-small); letter-spacing:.06em;
  text-transform:uppercase; padding-bottom:2px; position:relative;
}
.sa-root .link-testo::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform var(--d) var(--e);
}
.post-body .link-testo::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform var(--d) var(--e);
}
.sa-root .link-testo:hover::after, .sa-root .link-testo:focus-visible::after{transform:scaleX(1); transform-origin:left}
.post-body .link-testo:hover::after, .post-body .link-testo:focus-visible::after{transform:scaleX(1); transform-origin:left}
.sa-root .link-testo .freccia{display:inline-block; transition:transform var(--d) var(--e); margin-left:.4em}
.post-body .link-testo .freccia{display:inline-block; transition:transform var(--d) var(--e); margin-left:.4em}
.sa-root .link-testo:hover .freccia{transform:translateX(4px)}
.post-body .link-testo:hover .freccia{transform:translateX(4px)}
.sa-root .wrap{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter)}
.post-body .wrap{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter)}
.sa-root .wrap--stretto{max-width:940px}
.post-body .wrap--stretto{max-width:940px}
.sa-root .sezione{padding-block:var(--sezione)}
.post-body .sezione{padding-block:var(--sezione)}
.sa-root .sezione--corta{padding-block:calc(var(--sezione) * .62)}
.post-body .sezione--corta{padding-block:calc(var(--sezione) * .62)}
.sa-root .sezione--lino{background:var(--lino)}
.post-body .sezione--lino{background:var(--lino)}
.sa-root .sezione--scura{background:var(--inchiostro); color:var(--alabastro)}
.post-body .sezione--scura{background:var(--inchiostro); color:var(--alabastro)}
.sa-root .sezione--scura .lead, .sa-root .sezione--scura .testo-secondario{color:rgba(251,249,246,.72)}
.post-body .sezione--scura .lead, .post-body .sezione--scura .testo-secondario{color:rgba(251,249,246,.72)}
.sa-root .sezione--scura .eyebrow{color:rgba(251,249,246,.6)}
.post-body .sezione--scura .eyebrow{color:rgba(251,249,246,.6)}
.sa-root .sezione--scura .eyebrow--filo::after{background:var(--hairline-chiara)}
.post-body .sezione--scura .eyebrow--filo::after{background:var(--hairline-chiara)}
.sa-root .filo{height:1px; background:var(--hairline); border:0}
.post-body .filo{height:1px; background:var(--hairline); border:0}
.sa-root .griglia{display:grid; gap:var(--s7)}
.post-body .griglia{display:grid; gap:var(--s7)}
.sa-root .g-2{grid-template-columns:repeat(2,1fr)}
.post-body .g-2{grid-template-columns:repeat(2,1fr)}
.sa-root .g-3{grid-template-columns:repeat(3,1fr)}
.post-body .g-3{grid-template-columns:repeat(3,1fr)}
.sa-root .g-4{grid-template-columns:repeat(4,1fr)}
.post-body .g-4{grid-template-columns:repeat(4,1fr)}
.sa-root .split{display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem,6vw,5.5rem); align-items:center}
.post-body .split{display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem,6vw,5.5rem); align-items:center}
.sa-root .split--inverso{grid-template-columns:7fr 5fr}
.post-body .split--inverso{grid-template-columns:7fr 5fr}
.sa-root .split--alto{align-items:start}
.post-body .split--alto{align-items:start}
.sa-root .pila{display:flex; flex-direction:column; gap:var(--s5); align-items:flex-start}
.post-body .pila{display:flex; flex-direction:column; gap:var(--s5); align-items:flex-start}
.sa-root .btn{
  --bg:var(--inchiostro); --fg:var(--alabastro); --bd:var(--inchiostro);
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  min-height:52px; padding:0 var(--s6);
  background:var(--bg); color:var(--fg); border:1px solid var(--bd); border-radius:var(--r-sm);
  font-size:var(--t-small); font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer; text-align:center;
  transition:background var(--d) var(--e), color var(--d) var(--e),
             border-color var(--d) var(--e), transform var(--d-veloce) var(--e);
}
.post-body .btn{
  --bg:var(--inchiostro); --fg:var(--alabastro); --bd:var(--inchiostro);
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  min-height:52px; padding:0 var(--s6);
  background:var(--bg); color:var(--fg); border:1px solid var(--bd); border-radius:var(--r-sm);
  font-size:var(--t-small); font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer; text-align:center;
  transition:background var(--d) var(--e), color var(--d) var(--e),
             border-color var(--d) var(--e), transform var(--d-veloce) var(--e);
}
.sa-root .btn:hover{--bg:var(--cacao); --bd:var(--cacao)}
.post-body .btn:hover{--bg:var(--cacao); --bd:var(--cacao)}
.sa-root .btn:active{transform:translateY(1px)}
.post-body .btn:active{transform:translateY(1px)}
.sa-root .btn--secondario{--bg:transparent; --fg:var(--inchiostro); --bd:var(--hairline)}
.post-body .btn--secondario{--bg:transparent; --fg:var(--inchiostro); --bd:var(--hairline)}
.sa-root .btn--secondario:hover{--bg:var(--inchiostro); --fg:var(--alabastro); --bd:var(--inchiostro)}
.post-body .btn--secondario:hover{--bg:var(--inchiostro); --fg:var(--alabastro); --bd:var(--inchiostro)}
.sa-root .btn--chiaro{--bg:var(--alabastro); --fg:var(--inchiostro); --bd:var(--alabastro)}
.post-body .btn--chiaro{--bg:var(--alabastro); --fg:var(--inchiostro); --bd:var(--alabastro)}
.sa-root .btn--chiaro:hover{--bg:var(--lino); --bd:var(--lino)}
.post-body .btn--chiaro:hover{--bg:var(--lino); --bd:var(--lino)}
.sa-root .btn--fantasma{--bg:transparent; --fg:var(--alabastro); --bd:var(--hairline-chiara)}
.post-body .btn--fantasma{--bg:transparent; --fg:var(--alabastro); --bd:var(--hairline-chiara)}
.sa-root .btn--fantasma:hover{--bg:var(--alabastro); --fg:var(--inchiostro); --bd:var(--alabastro)}
.post-body .btn--fantasma:hover{--bg:var(--alabastro); --fg:var(--inchiostro); --bd:var(--alabastro)}
.sa-root .btn--largo{width:100%}
.post-body .btn--largo{width:100%}
.sa-root .azioni{display:flex; flex-wrap:wrap; gap:var(--s4); align-items:center}
.post-body .azioni{display:flex; flex-wrap:wrap; gap:var(--s4); align-items:center}
.sa-root .media{position:relative; overflow:hidden; border-radius:var(--r); background:var(--argilla)}
.post-body .media{position:relative; overflow:hidden; border-radius:var(--r); background:var(--argilla)}
.sa-root .media img{width:100%; height:100%; object-fit:cover; display:block}
.post-body .media img{width:100%; height:100%; object-fit:cover; display:block}
.sa-root .media--alta{aspect-ratio:3/4}
.post-body .media--alta{aspect-ratio:3/4}
.sa-root .media--quadro{aspect-ratio:1/1}
.post-body .media--quadro{aspect-ratio:1/1}
.sa-root .media--larga{aspect-ratio:16/10}
.post-body .media--larga{aspect-ratio:16/10}
.sa-root .media--panorama{aspect-ratio:21/9}
.post-body .media--panorama{aspect-ratio:21/9}
.sa-root .media--contieni img{object-fit:contain; padding:var(--s4)}
.post-body .media--contieni img{object-fit:contain; padding:var(--s4)}
.sa-root .mappa{position:relative; aspect-ratio:16/10; border-radius:var(--r); overflow:hidden; border:1px solid var(--hairline); background:var(--argilla)}
.post-body .mappa{position:relative; aspect-ratio:16/10; border-radius:var(--r); overflow:hidden; border:1px solid var(--hairline); background:var(--argilla)}
.sa-root .mappa iframe{position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(.35) contrast(.95)}
.post-body .mappa iframe{position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(.35) contrast(.95)}
.sa-root .media-nota{
  margin-top:var(--s3); font-size:var(--t-caption); color:var(--taupe);
  letter-spacing:.02em; display:flex; gap:var(--s3); align-items:baseline;
}
.post-body .media-nota{
  margin-top:var(--s3); font-size:var(--t-caption); color:var(--taupe);
  letter-spacing:.02em; display:flex; gap:var(--s3); align-items:baseline;
}
.sa-root .media-nota::before{content:""; width:18px; height:1px; background:var(--champagne); flex:none; transform:translateY(-4px)}
.post-body .media-nota::before{content:""; width:18px; height:1px; background:var(--champagne); flex:none; transform:translateY(-4px)}
.sa-root .card{
  display:flex; flex-direction:column; gap:var(--s4);
  padding:var(--s6); background:var(--bianco);
  border:1px solid var(--hairline); border-radius:var(--r-lg);
  transition:border-color var(--d) var(--e), transform var(--d) var(--e), box-shadow var(--d) var(--e);
}
.post-body .card{
  display:flex; flex-direction:column; gap:var(--s4);
  padding:var(--s6); background:var(--bianco);
  border:1px solid var(--hairline); border-radius:var(--r-lg);
  transition:border-color var(--d) var(--e), transform var(--d) var(--e), box-shadow var(--d) var(--e);
}
.sa-root .card:hover{border-color:var(--greige); transform:translateY(-3px); box-shadow:var(--ombra-morbida)}
.post-body .card:hover{border-color:var(--greige); transform:translateY(-3px); box-shadow:var(--ombra-morbida)}
.sa-root .card h3{font-size:1.28rem}
.post-body .card h3{font-size:1.28rem}
.sa-root .card p{font-size:var(--t-small); color:var(--taupe); margin:0}
.post-body .card p{font-size:var(--t-small); color:var(--taupe); margin:0}
.sa-root .card .link-testo{margin-top:auto}
.post-body .card .link-testo{margin-top:auto}
.sa-root .indice{display:grid; grid-template-columns:1fr 400px; gap:clamp(2rem,5vw,4.5rem); align-items:start}
.post-body .indice{display:grid; grid-template-columns:1fr 400px; gap:clamp(2rem,5vw,4.5rem); align-items:start}
.sa-root .indice-lista{border-top:1px solid var(--hairline)}
.post-body .indice-lista{border-top:1px solid var(--hairline)}
.sa-root .indice-gruppo{padding-top:var(--s5); padding-bottom:var(--s2)}
.post-body .indice-gruppo{padding-top:var(--s5); padding-bottom:var(--s2)}
.sa-root .indice-gruppo .eyebrow{margin-bottom:var(--s3); color:var(--champagne)}
.post-body .indice-gruppo .eyebrow{margin-bottom:var(--s3); color:var(--champagne)}
.sa-root .indice-voce{border-bottom:1px solid var(--hairline)}
.post-body .indice-voce{border-bottom:1px solid var(--hairline)}
.sa-root .indice-voce a{
  display:grid; grid-template-columns:2.6rem 1fr auto; align-items:baseline; gap:var(--s4);
  padding:var(--s5) var(--s2) var(--s5) 0;
  transition:padding-left var(--d) var(--e), color var(--d) var(--e);
}
.post-body .indice-voce a{
  display:grid; grid-template-columns:2.6rem 1fr auto; align-items:baseline; gap:var(--s4);
  padding:var(--s5) var(--s2) var(--s5) 0;
  transition:padding-left var(--d) var(--e), color var(--d) var(--e);
}
.sa-root .indice-voce a:hover, .sa-root .indice-voce a:focus-visible{padding-left:var(--s4)}
.post-body .indice-voce a:hover, .post-body .indice-voce a:focus-visible{padding-left:var(--s4)}
.sa-root .indice-titolo{font-family:var(--display); font-size:clamp(1.35rem,2.4vw,1.9rem); line-height:1.15}
.post-body .indice-titolo{font-family:var(--display); font-size:clamp(1.35rem,2.4vw,1.9rem); line-height:1.15}
.sa-root .indice-desc{
  display:block; font-family:var(--testo); font-size:1rem;
  color:var(--taupe); letter-spacing:.02em; margin-top:.35em; max-width:46ch;
}
.post-body .indice-desc{
  display:block; font-family:var(--testo); font-size:1rem;
  color:var(--taupe); letter-spacing:.02em; margin-top:.35em; max-width:46ch;
}
.sa-root .indice-voce .freccia{color:var(--taupe); transition:transform var(--d) var(--e), color var(--d) var(--e)}
.post-body .indice-voce .freccia{color:var(--taupe); transition:transform var(--d) var(--e), color var(--d) var(--e)}
.sa-root .indice-voce a:hover .freccia{transform:translateX(5px); color:var(--inchiostro)}
.post-body .indice-voce a:hover .freccia{transform:translateX(5px); color:var(--inchiostro)}
.sa-root .indice-vetrina{position:sticky; top:120px}
.post-body .indice-vetrina{position:sticky; top:120px}
.sa-root .indice-vetrina .media{aspect-ratio:3/4}
.post-body .indice-vetrina .media{aspect-ratio:3/4}
.sa-root .indice-vetrina .strato{
  position:absolute; inset:0; opacity:0; transition:opacity var(--d) var(--e);
}
.post-body .indice-vetrina .strato{
  position:absolute; inset:0; opacity:0; transition:opacity var(--d) var(--e);
}
.sa-root .indice-vetrina .strato[data-attivo="true"]{opacity:1}
.post-body .indice-vetrina .strato[data-attivo="true"]{opacity:1}
.sa-root .percorso{counter-reset:tappa; border-top:1px solid var(--hairline-chiara)}
.post-body .percorso{counter-reset:tappa; border-top:1px solid var(--hairline-chiara)}
.sa-root .tappa{
  display:grid; grid-template-columns:6rem 1fr 1.2fr; gap:var(--s6);
  padding-block:var(--s6); border-bottom:1px solid var(--hairline-chiara); align-items:start;
}
.post-body .tappa{
  display:grid; grid-template-columns:6rem 1fr 1.2fr; gap:var(--s6);
  padding-block:var(--s6); border-bottom:1px solid var(--hairline-chiara); align-items:start;
}
.sa-root .tappa .numero{color:var(--champagne)}
.post-body .tappa .numero{color:var(--champagne)}
.sa-root .tappa h3{font-size:clamp(1.2rem,1.9vw,1.55rem)}
.post-body .tappa h3{font-size:clamp(1.2rem,1.9vw,1.55rem)}
.sa-root .tappa p{font-size:var(--t-small); color:rgba(251,249,246,.72); margin:0}
.post-body .tappa p{font-size:var(--t-small); color:rgba(251,249,246,.72); margin:0}
.sa-root .sezione:not(.sezione--scura) .percorso, .sa-root .sezione:not(.sezione--scura) .tappa{border-color:var(--hairline)}
.post-body .sezione:not(.sezione--scura) .percorso, .post-body .sezione:not(.sezione--scura) .tappa{border-color:var(--hairline)}
.sa-root .sezione:not(.sezione--scura) .tappa p{color:var(--taupe)}
.post-body .sezione:not(.sezione--scura) .tappa p{color:var(--taupe)}
.sa-root .fatti{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s6); border-top:1px solid var(--hairline); padding-top:var(--s6)}
.post-body .fatti{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s6); border-top:1px solid var(--hairline); padding-top:var(--s6)}
.sa-root .fatto .numero{display:block; color:var(--taupe); margin-bottom:var(--s3)}
.post-body .fatto .numero{display:block; color:var(--taupe); margin-bottom:var(--s3)}
.sa-root .fatto p{font-family:var(--display); font-size:1.15rem; line-height:1.4; color:var(--inchiostro); margin:0}
.post-body .fatto p{font-family:var(--display); font-size:1.15rem; line-height:1.4; color:var(--inchiostro); margin:0}
.sa-root .sezione--scura .fatto p{color:var(--alabastro)}
.post-body .sezione--scura .fatto p{color:var(--alabastro)}
.sa-root .faq{border-top:1px solid var(--hairline)}
.post-body .faq{border-top:1px solid var(--hairline)}
.sa-root .faq details{border-bottom:1px solid var(--hairline)}
.post-body .faq details{border-bottom:1px solid var(--hairline)}
.sa-root .faq summary{
  display:flex; gap:var(--s5); align-items:baseline; justify-content:space-between;
  padding:var(--s5) 0; cursor:pointer; list-style:none;
  font-family:var(--display); font-size:clamp(1.08rem,1.6vw,1.3rem); line-height:1.35;
}
.post-body .faq summary{
  display:flex; gap:var(--s5); align-items:baseline; justify-content:space-between;
  padding:var(--s5) 0; cursor:pointer; list-style:none;
  font-family:var(--display); font-size:clamp(1.08rem,1.6vw,1.3rem); line-height:1.35;
}
.sa-root .faq summary::-webkit-details-marker{display:none}
.post-body .faq summary::-webkit-details-marker{display:none}
.sa-root .faq summary::after{
  content:"+"; font-family:var(--testo); font-size:1.4rem; font-weight:300; color:var(--taupe);
  flex:none; transition:transform var(--d) var(--e);
}
.post-body .faq summary::after{
  content:"+"; font-family:var(--testo); font-size:1.4rem; font-weight:300; color:var(--taupe);
  flex:none; transition:transform var(--d) var(--e);
}
.sa-root .faq details[open] summary::after{transform:rotate(45deg)}
.post-body .faq details[open] summary::after{transform:rotate(45deg)}
.sa-root .faq-risposta{padding:0 0 var(--s5); max-width:70ch}
.post-body .faq-risposta{padding:0 0 var(--s5); max-width:70ch}
.sa-root .faq-risposta p{font-size:var(--t-small); color:var(--taupe)}
.post-body .faq-risposta p{font-size:var(--t-small); color:var(--taupe)}
.sa-root .form{display:grid; gap:var(--s5)}
.post-body .form{display:grid; gap:var(--s5)}
.sa-root .campo{display:flex; flex-direction:column; gap:var(--s2)}
.post-body .campo{display:flex; flex-direction:column; gap:var(--s2)}
.sa-root .campo label{font-size:var(--t-caption); letter-spacing:.1em; text-transform:uppercase; color:var(--taupe)}
.post-body .campo label{font-size:var(--t-caption); letter-spacing:.1em; text-transform:uppercase; color:var(--taupe)}
.sa-root .campo input, .sa-root .campo select, .sa-root .campo textarea{
  font-family:var(--testo); font-size:var(--t-body); color:var(--inchiostro);
  background:var(--bianco); border:1px solid var(--hairline); border-radius:var(--r-sm);
  padding:var(--s4); min-height:52px; width:100%;
  transition:border-color var(--d-veloce) var(--e), background var(--d-veloce) var(--e);
}
.post-body .campo input, .post-body .campo select, .post-body .campo textarea{
  font-family:var(--testo); font-size:var(--t-body); color:var(--inchiostro);
  background:var(--bianco); border:1px solid var(--hairline); border-radius:var(--r-sm);
  padding:var(--s4); min-height:52px; width:100%;
  transition:border-color var(--d-veloce) var(--e), background var(--d-veloce) var(--e);
}
.sa-root .campo textarea{min-height:140px; resize:vertical; line-height:1.6}
.post-body .campo textarea{min-height:140px; resize:vertical; line-height:1.6}
.sa-root .campo input:focus, .sa-root .campo select:focus, .sa-root .campo textarea:focus{border-color:var(--taupe); outline-offset:1px}
.post-body .campo input:focus, .post-body .campo select:focus, .post-body .campo textarea:focus{border-color:var(--taupe); outline-offset:1px}
.sa-root .campo input::placeholder, .sa-root .campo textarea::placeholder{color:var(--taupe-tenue)}
.post-body .campo input::placeholder, .post-body .campo textarea::placeholder{color:var(--taupe-tenue)}
.sa-root .campo .aiuto{font-size:var(--t-caption); color:var(--taupe); text-transform:none; letter-spacing:0}
.post-body .campo .aiuto{font-size:var(--t-caption); color:var(--taupe); text-transform:none; letter-spacing:0}
.sa-root .campo .errore{font-size:var(--t-caption); color:#8C3B2E; text-transform:none; letter-spacing:0; display:none}
.post-body .campo .errore{font-size:var(--t-caption); color:#8C3B2E; text-transform:none; letter-spacing:0; display:none}
.sa-root .campo[data-errore="true"] input, .sa-root .campo[data-errore="true"] textarea, .sa-root .campo[data-errore="true"] select{border-color:#8C3B2E}
.post-body .campo[data-errore="true"] input, .post-body .campo[data-errore="true"] textarea, .post-body .campo[data-errore="true"] select{border-color:#8C3B2E}
.sa-root .campo[data-errore="true"] .errore{display:block}
.post-body .campo[data-errore="true"] .errore{display:block}
.sa-root .consenso{display:flex; gap:var(--s3); align-items:flex-start}
.post-body .consenso{display:flex; gap:var(--s3); align-items:flex-start}
.sa-root .consenso input{width:20px; height:20px; min-height:0; flex:none; margin-top:3px; accent-color:var(--inchiostro)}
.post-body .consenso input{width:20px; height:20px; min-height:0; flex:none; margin-top:3px; accent-color:var(--inchiostro)}
.sa-root .consenso label{text-transform:none; letter-spacing:0; font-size:var(--t-caption); line-height:1.6; color:var(--taupe)}
.post-body .consenso label{text-transform:none; letter-spacing:0; font-size:var(--t-caption); line-height:1.6; color:var(--taupe)}
.sa-root .consenso a{text-decoration:underline; text-underline-offset:3px}
.post-body .consenso a{text-decoration:underline; text-underline-offset:3px}
.sa-root .form-esito{
  display:none; padding:var(--s5); border:1px solid var(--hairline);
  border-left:2px solid var(--salvia); background:var(--bianco); border-radius:var(--r-sm);
  font-size:var(--t-small);
}
.post-body .form-esito{
  display:none; padding:var(--s5); border:1px solid var(--hairline);
  border-left:2px solid var(--salvia); background:var(--bianco); border-radius:var(--r-sm);
  font-size:var(--t-small);
}
.sa-root .form-esito[data-visibile="true"]{display:block}
.post-body .form-esito[data-visibile="true"]{display:block}
.sa-root .griglia-form{display:grid; grid-template-columns:1fr 1fr; gap:var(--s5)}
.post-body .griglia-form{display:grid; grid-template-columns:1fr 1fr; gap:var(--s5)}
.sa-root .tbd{
  display:inline-block; font-family:var(--testo); font-size:.72rem; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:#7A5C2E; background:rgba(183,154,110,.16);
  border:1px dashed rgba(183,154,110,.55); border-radius:var(--r-sm);
  padding:.15em .5em; white-space:nowrap;
}
.post-body .tbd{
  display:inline-block; font-family:var(--testo); font-size:.72rem; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:#7A5C2E; background:rgba(183,154,110,.16);
  border:1px dashed rgba(183,154,110,.55); border-radius:var(--r-sm);
  padding:.15em .5em; white-space:nowrap;
}
.sa-root .briciole{font-size:var(--t-caption); color:var(--taupe); letter-spacing:.04em; padding-top:var(--s5)}
.post-body .briciole{font-size:var(--t-caption); color:var(--taupe); letter-spacing:.04em; padding-top:var(--s5)}
.sa-root .briciole ol{display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center}
.post-body .briciole ol{display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center}
.sa-root .briciole li::after{content:"/"; margin-left:var(--s2); color:var(--greige)}
.post-body .briciole li::after{content:"/"; margin-left:var(--s2); color:var(--greige)}
.sa-root .briciole li:last-child::after{content:""}
.post-body .briciole li:last-child::after{content:""}
.sa-root .briciole a:hover{color:var(--inchiostro)}
.post-body .briciole a:hover{color:var(--inchiostro)}
.sa-root .briciole [aria-current]{color:var(--inchiostro)}
.post-body .briciole [aria-current]{color:var(--inchiostro)}
.sa-root .elenco-filo{border-top:1px solid var(--hairline)}
.post-body .elenco-filo{border-top:1px solid var(--hairline)}
.sa-root .elenco-filo li{
  border-bottom:1px solid var(--hairline); padding:var(--s4) 0 var(--s4) var(--s6);
  position:relative; font-size:var(--t-small); line-height:1.7;
}
.post-body .elenco-filo li{
  border-bottom:1px solid var(--hairline); padding:var(--s4) 0 var(--s4) var(--s6);
  position:relative; font-size:var(--t-small); line-height:1.7;
}
.sa-root .elenco-filo li::before{
  content:""; position:absolute; left:0; top:1.55em;
  width:14px; height:1px; background:var(--champagne);
}
.post-body .elenco-filo li::before{
  content:""; position:absolute; left:0; top:1.55em;
  width:14px; height:1px; background:var(--champagne);
}
.sa-root .elenco-filo li strong{
  display:block; font-weight:500; font-size:var(--t-body);
  color:var(--inchiostro); margin-bottom:.15em;
}
.post-body .elenco-filo li strong{
  display:block; font-weight:500; font-size:var(--t-body);
  color:var(--inchiostro); margin-bottom:.15em;
}
.sa-root .elenco-filo li br:first-of-type{ display:none }
.post-body .elenco-filo li br:first-of-type{ display:none }
.sa-root .elenco-filo li a{ text-decoration:underline; text-underline-offset:3px }
.post-body .elenco-filo li a{ text-decoration:underline; text-underline-offset:3px }
.sa-root .elenco-filo li .caption{ display:block; margin-top:.4em }
.post-body .elenco-filo li .caption{ display:block; margin-top:.4em }
.sa-root .elenco-punti li{
  padding-left:var(--s5); position:relative; font-size:var(--t-small); margin-bottom:var(--s3);
  color:var(--taupe); max-width:var(--max-testo);
}
.post-body .elenco-punti li{
  padding-left:var(--s5); position:relative; font-size:var(--t-small); margin-bottom:var(--s3);
  color:var(--taupe); max-width:var(--max-testo);
}
.sa-root .elenco-punti li::before{
  content:""; position:absolute; left:0; top:.72em; width:8px; height:1px; background:var(--champagne);
}
.post-body .elenco-punti li::before{
  content:""; position:absolute; left:0; top:.72em; width:8px; height:1px; background:var(--champagne);
}
.sa-root .firma{
  font-family:var(--display); font-size:clamp(1.5rem,3.1vw,2.4rem); line-height:1.3;
  letter-spacing:-.01em; max-width:24ch;
}
.post-body .firma{
  font-family:var(--display); font-size:clamp(1.5rem,3.1vw,2.4rem); line-height:1.3;
  letter-spacing:-.01em; max-width:24ch;
}
.sa-root .firma-autore{margin-top:var(--s5); font-size:var(--t-caption); letter-spacing:.16em; text-transform:uppercase; color:var(--taupe)}
.post-body .firma-autore{margin-top:var(--s5); font-size:var(--t-caption); letter-spacing:.16em; text-transform:uppercase; color:var(--taupe)}
.sa-root .hero{position:relative; padding-top:clamp(7rem,13vw,10rem); padding-bottom:var(--sezione)}
.post-body .hero{position:relative; padding-top:clamp(7rem,13vw,10rem); padding-bottom:var(--sezione)}
.sa-root .hero-griglia{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:end}
.post-body .hero-griglia{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:end}
.sa-root .hero h1{margin-bottom:var(--s5)}
.post-body .hero h1{margin-bottom:var(--s5)}
.sa-root .hero .lead{margin-bottom:var(--s7)}
.post-body .hero .lead{margin-bottom:var(--s7)}
.sa-root .hero-media{position:relative}
.post-body .hero-media{position:relative}
.sa-root .hero-media .media{aspect-ratio:4/5}
.post-body .hero-media .media{aspect-ratio:4/5}
.sa-root .scheda{
  background:var(--alabastro); border:1px solid var(--hairline); border-radius:var(--r);
  padding:var(--s5) var(--s6); max-width:340px;
}
.post-body .scheda{
  background:var(--alabastro); border:1px solid var(--hairline); border-radius:var(--r);
  padding:var(--s5) var(--s6); max-width:340px;
}
.sa-root .scheda-riga{display:flex; justify-content:space-between; gap:var(--s4); padding:var(--s3) 0; font-size:var(--t-caption); letter-spacing:.03em}
.post-body .scheda-riga{display:flex; justify-content:space-between; gap:var(--s4); padding:var(--s3) 0; font-size:var(--t-caption); letter-spacing:.03em}
.sa-root .scheda-riga + .scheda-riga{border-top:1px solid var(--hairline)}
.post-body .scheda-riga + .scheda-riga{border-top:1px solid var(--hairline)}
.sa-root .scheda-riga dt{color:var(--taupe)}
.post-body .scheda-riga dt{color:var(--taupe)}
.sa-root .scheda-riga dd{margin:0; text-align:right; font-family:var(--display); font-size:.95rem}
.post-body .scheda-riga dd{margin:0; text-align:right; font-family:var(--display); font-size:.95rem}
@media (min-width:900px){
.sa-root .scheda{position:absolute; left:calc(var(--s7) * -1); bottom:var(--s7); box-shadow:var(--ombra-morbida)}
}
.sa-root .hero-pagina{padding-top:clamp(6rem,11vw,8.5rem); padding-bottom:var(--sezione)}
.post-body .hero-pagina{padding-top:clamp(6rem,11vw,8.5rem); padding-bottom:var(--sezione)}
.sa-root .hero-pagina h1{margin-bottom:var(--s5); max-width:16ch}
.post-body .hero-pagina h1{margin-bottom:var(--s5); max-width:16ch}
.sa-root .hero-pagina .lead{margin-bottom:var(--s6)}
.post-body .hero-pagina .lead{margin-bottom:var(--s6)}
.sa-root .testata{
  position:sticky; top:0; z-index:100; background:rgba(251,249,246,.9);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid transparent; transition:border-color var(--d) var(--e), background var(--d) var(--e);
}
.post-body .testata{
  position:sticky; top:0; z-index:100; background:rgba(251,249,246,.9);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid transparent; transition:border-color var(--d) var(--e), background var(--d) var(--e);
}
.sa-root .testata[data-scroll="true"]{border-bottom-color:var(--hairline)}
.post-body .testata[data-scroll="true"]{border-bottom-color:var(--hairline)}
.sa-root .testata-inner{display:flex; align-items:center; justify-content:space-between; gap:var(--s5); min-height:76px}
.post-body .testata-inner{display:flex; align-items:center; justify-content:space-between; gap:var(--s5); min-height:76px}
.sa-root .logo{display:flex; align-items:center; flex:none}
.post-body .logo{display:flex; align-items:center; flex:none}
.sa-root .logo img{display:block; width:auto; height:42px}
.post-body .logo img{display:block; width:auto; height:42px}
.sa-root .logo--pie img{height:78px}
.post-body .logo--pie img{height:78px}
.sa-root .logo-nome{font-family:var(--display); font-size:1.32rem; letter-spacing:.02em}
.post-body .logo-nome{font-family:var(--display); font-size:1.32rem; letter-spacing:.02em}
.sa-root .logo-payoff{font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; color:var(--taupe)}
.post-body .logo-payoff{font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; color:var(--taupe)}
.sa-root .nav{display:flex; align-items:center; gap:clamp(1rem,2.2vw,2rem)}
.post-body .nav{display:flex; align-items:center; gap:clamp(1rem,2.2vw,2rem)}
.sa-root .nav a{font-size:var(--t-caption); letter-spacing:.1em; text-transform:uppercase; color:var(--cacao); position:relative; padding-block:.4rem}
.post-body .nav a{font-size:var(--t-caption); letter-spacing:.1em; text-transform:uppercase; color:var(--cacao); position:relative; padding-block:.4rem}
.sa-root .nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:right; transition:transform var(--d) var(--e);
}
.post-body .nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:right; transition:transform var(--d) var(--e);
}
.sa-root .nav a:hover::after, .sa-root .nav a[aria-current="page"]::after{transform:scaleX(1); transform-origin:left}
.post-body .nav a:hover::after, .post-body .nav a[aria-current="page"]::after{transform:scaleX(1); transform-origin:left}
.sa-root .nav a[aria-current="page"]{color:var(--inchiostro)}
.post-body .nav a[aria-current="page"]{color:var(--inchiostro)}
.sa-root .testata .btn{min-height:44px; padding-inline:var(--s5); font-size:var(--t-caption)}
.post-body .testata .btn{min-height:44px; padding-inline:var(--s5); font-size:var(--t-caption)}
.sa-root .hamburger{
  display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:none; border:1px solid var(--hairline); border-radius:var(--r-sm); cursor:pointer;
}
.post-body .hamburger{
  display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:none; border:1px solid var(--hairline); border-radius:var(--r-sm); cursor:pointer;
}
.sa-root .hamburger span{display:block; width:18px; height:1px; background:var(--inchiostro); position:relative; transition:background var(--d-veloce)}
.post-body .hamburger span{display:block; width:18px; height:1px; background:var(--inchiostro); position:relative; transition:background var(--d-veloce)}
.sa-root .hamburger span::before, .sa-root .hamburger span::after{content:""; position:absolute; left:0; width:18px; height:1px; background:var(--inchiostro); transition:transform var(--d) var(--e)}
.post-body .hamburger span::before, .post-body .hamburger span::after{content:""; position:absolute; left:0; width:18px; height:1px; background:var(--inchiostro); transition:transform var(--d) var(--e)}
.sa-root .hamburger span::before{top:-6px}
.post-body .hamburger span::before{top:-6px}
.sa-root .hamburger span::after{top:6px}
.post-body .hamburger span::after{top:6px}
.sa-root .hamburger[aria-expanded="true"] span{background:transparent}
.post-body .hamburger[aria-expanded="true"] span{background:transparent}
.sa-root .hamburger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.post-body .hamburger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.sa-root .hamburger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.post-body .hamburger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.sa-root .menu-mobile{
  position:fixed; inset:76px 0 0; background:var(--alabastro); z-index:99;
  padding:var(--s7) var(--gutter) var(--s9); overflow-y:auto;
  transform:translateY(-8px); opacity:0; pointer-events:none;
  transition:opacity var(--d) var(--e), transform var(--d) var(--e);
}
.post-body .menu-mobile{
  position:fixed; inset:76px 0 0; background:var(--alabastro); z-index:99;
  padding:var(--s7) var(--gutter) var(--s9); overflow-y:auto;
  transform:translateY(-8px); opacity:0; pointer-events:none;
  transition:opacity var(--d) var(--e), transform var(--d) var(--e);
}
.sa-root .menu-mobile[data-aperto="true"]{opacity:1; transform:none; pointer-events:auto}
.post-body .menu-mobile[data-aperto="true"]{opacity:1; transform:none; pointer-events:auto}
.sa-root .menu-mobile a{display:block; font-family:var(--display); font-size:1.65rem; padding:var(--s4) 0; border-bottom:1px solid var(--hairline)}
.post-body .menu-mobile a{display:block; font-family:var(--display); font-size:1.65rem; padding:var(--s4) 0; border-bottom:1px solid var(--hairline)}
.sa-root .menu-mobile .sotto a{font-family:var(--testo); font-size:var(--t-small); color:var(--taupe); padding:var(--s3) 0}
.post-body .menu-mobile .sotto a{font-family:var(--testo); font-size:var(--t-small); color:var(--taupe); padding:var(--s3) 0}
.sa-root .menu-mobile .btn{margin-top:var(--s6)}
.post-body .menu-mobile .btn{margin-top:var(--s6)}
.sa-root .barra-mobile{
  position:fixed; left:0; right:0; bottom:0; z-index:98; display:none;
  gap:1px; background:var(--hairline); box-shadow:var(--ombra-barra);
}
.post-body .barra-mobile{
  position:fixed; left:0; right:0; bottom:0; z-index:98; display:none;
  gap:1px; background:var(--hairline); box-shadow:var(--ombra-barra);
}
.sa-root .barra-mobile a{
  flex:1; display:flex; align-items:center; justify-content:center; gap:.5em;
  min-height:56px; background:var(--alabastro); font-size:var(--t-caption);
  letter-spacing:.1em; text-transform:uppercase;
}
.post-body .barra-mobile a{
  flex:1; display:flex; align-items:center; justify-content:center; gap:.5em;
  min-height:56px; background:var(--alabastro); font-size:var(--t-caption);
  letter-spacing:.1em; text-transform:uppercase;
}
.sa-root .barra-mobile a.primaria{background:var(--inchiostro); color:var(--alabastro)}
.post-body .barra-mobile a.primaria{background:var(--inchiostro); color:var(--alabastro)}
.sa-root .pie{background:var(--inchiostro); color:var(--alabastro); padding-block:var(--s9) var(--s6)}
.post-body .pie{background:var(--inchiostro); color:var(--alabastro); padding-block:var(--s9) var(--s6)}
.sa-root .pie a{color:rgba(251,249,246,.72); transition:color var(--d-veloce)}
.post-body .pie a{color:rgba(251,249,246,.72); transition:color var(--d-veloce)}
.sa-root .pie a:hover{color:var(--alabastro)}
.post-body .pie a:hover{color:var(--alabastro)}
.sa-root .pie-griglia{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:var(--s7); padding-bottom:var(--s8)}
.post-body .pie-griglia{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:var(--s7); padding-bottom:var(--s8)}
.sa-root .pie h4{font-size:var(--t-caption); letter-spacing:.18em; text-transform:uppercase; color:rgba(251,249,246,.64); margin-bottom:var(--s5); font-weight:500}
.post-body .pie h4{font-size:var(--t-caption); letter-spacing:.18em; text-transform:uppercase; color:rgba(251,249,246,.64); margin-bottom:var(--s5); font-weight:500}
.sa-root .pie li{margin-bottom:var(--s3); font-size:var(--t-small)}
.post-body .pie li{margin-bottom:var(--s3); font-size:var(--t-small)}
.sa-root .pie .logo-nome{font-size:1.5rem}
.post-body .pie .logo-nome{font-size:1.5rem}
.sa-root .pie .logo-payoff{color:rgba(251,249,246,.66)}
.post-body .pie .logo-payoff{color:rgba(251,249,246,.66)}
.sa-root .pie-descrizione{font-size:var(--t-small); color:rgba(251,249,246,.72); margin-top:var(--s5); max-width:34ch}
.post-body .pie-descrizione{font-size:var(--t-small); color:rgba(251,249,246,.72); margin-top:var(--s5); max-width:34ch}
.sa-root .pie-legale{
  border-top:1px solid var(--hairline-chiara); padding-top:var(--s5);
  display:flex; flex-wrap:wrap; gap:var(--s5); justify-content:space-between;
  font-size:var(--t-caption); color:rgba(251,249,246,.66);
}
.post-body .pie-legale{
  border-top:1px solid var(--hairline-chiara); padding-top:var(--s5);
  display:flex; flex-wrap:wrap; gap:var(--s5); justify-content:space-between;
  font-size:var(--t-caption); color:rgba(251,249,246,.66);
}
.sa-root .pie-legale nav{display:flex; flex-wrap:wrap; gap:var(--s5)}
.post-body .pie-legale nav{display:flex; flex-wrap:wrap; gap:var(--s5)}
.sa-root .pie-obbligatorie{font-size:var(--t-caption); color:rgba(251,249,246,.66); max-width:80ch; margin-top:var(--s5); line-height:1.7}
.post-body .pie-obbligatorie{font-size:var(--t-caption); color:rgba(251,249,246,.66); max-width:80ch; margin-top:var(--s5); line-height:1.7}
.sa-root .cta-finale{text-align:center}
.post-body .cta-finale{text-align:center}
.sa-root .cta-finale h2{margin-inline:auto; max-width:18ch}
.post-body .cta-finale h2{margin-inline:auto; max-width:18ch}
.sa-root .cta-finale .lead{margin:var(--s5) auto var(--s7); text-align:center}
.post-body .cta-finale .lead{margin:var(--s5) auto var(--s7); text-align:center}
.sa-root .cta-finale .azioni{justify-content:center}
.post-body .cta-finale .azioni{justify-content:center}
.sa-root .cta-finale .caption{margin-top:var(--s6)}
.post-body .cta-finale .caption{margin-top:var(--s6)}
.sa-root .reveal{opacity:0; transform:translateY(14px); transition:opacity var(--d-lenta) var(--e), transform var(--d-lenta) var(--e)}
.post-body .reveal{opacity:0; transform:translateY(14px); transition:opacity var(--d-lenta) var(--e), transform var(--d-lenta) var(--e)}
.sa-root .reveal[data-visibile="true"]{opacity:1; transform:none}
.post-body .reveal[data-visibile="true"]{opacity:1; transform:none}
.sa-root .reveal[data-ritardo="1"]{transition-delay:.08s}
.post-body .reveal[data-ritardo="1"]{transition-delay:.08s}
.sa-root .reveal[data-ritardo="2"]{transition-delay:.16s}
.post-body .reveal[data-ritardo="2"]{transition-delay:.16s}
.sa-root .reveal[data-ritardo="3"]{transition-delay:.24s}
.post-body .reveal[data-ritardo="3"]{transition-delay:.24s}
.sa-root .zoom-lento img{transform:scale(1.04); transition:transform 1.4s var(--e)}
.post-body .zoom-lento img{transform:scale(1.04); transition:transform 1.4s var(--e)}
.sa-root .zoom-lento[data-visibile="true"] img{transform:none}
.post-body .zoom-lento[data-visibile="true"] img{transform:none}
@media (prefers-reduced-motion:reduce){
.sa-root *, .sa-root *::before, .sa-root *::after{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
.sa-root .reveal{opacity:1; transform:none}
.post-body .reveal{opacity:1; transform:none}
.sa-root .zoom-lento img{transform:none}
.post-body .zoom-lento img{transform:none}
}
@media (max-width:1080px){
.sa-root .indice{grid-template-columns:1fr}
.sa-root .indice-vetrina{display:none}
.post-body .indice-vetrina{display:none}
.sa-root .pie-griglia{grid-template-columns:1fr 1fr; gap:var(--s6)}
.post-body .pie-griglia{grid-template-columns:1fr 1fr; gap:var(--s6)}
.sa-root .tappa{grid-template-columns:4rem 1fr; }
.post-body .tappa{grid-template-columns:4rem 1fr; }
.sa-root .tappa p{grid-column:2}
.post-body .tappa p{grid-column:2}
}
@media (max-width:900px){
.sa-root .logo img{height:34px}
.sa-root .logo--pie img{height:64px}
.post-body .logo--pie img{height:64px}
.sa-root .nav, .sa-root .testata .btn{display:none}
.post-body .nav, .post-body .testata .btn{display:none}
.sa-root .hamburger{display:flex}
.post-body .hamburger{display:flex}
.sa-root .barra-mobile{display:flex}
.post-body .barra-mobile{display:flex}
.sa-root{padding-bottom:56px}
.post-body{padding-bottom:56px}
.sa-root .hero-griglia, .sa-root .split, .sa-root .split--inverso, .sa-root .g-2, .sa-root .g-3, .sa-root .g-4, .sa-root .griglia-form{grid-template-columns:1fr}
.post-body .hero-griglia, .post-body .split, .post-body .split--inverso, .post-body .g-2, .post-body .g-3, .post-body .g-4, .post-body .griglia-form{grid-template-columns:1fr}
.sa-root .split{gap:var(--s6)}
.post-body .split{gap:var(--s6)}
.sa-root .hero-media .media{aspect-ratio:4/3}
.post-body .hero-media .media{aspect-ratio:4/3}
.sa-root .scheda{max-width:none; margin-top:var(--s5)}
.post-body .scheda{max-width:none; margin-top:var(--s5)}
.sa-root .fatti{grid-template-columns:1fr; gap:var(--s5)}
.post-body .fatti{grid-template-columns:1fr; gap:var(--s5)}
.sa-root .fatto{border-bottom:1px solid var(--hairline); padding-bottom:var(--s5)}
.post-body .fatto{border-bottom:1px solid var(--hairline); padding-bottom:var(--s5)}
.sa-root .fatti .fatto:last-child{border-bottom:0; padding-bottom:0}
.post-body .fatti .fatto:last-child{border-bottom:0; padding-bottom:0}
.sa-root .indice-voce a{grid-template-columns:2rem 1fr auto; gap:var(--s3); padding-block:var(--s4)}
.post-body .indice-voce a{grid-template-columns:2rem 1fr auto; gap:var(--s3); padding-block:var(--s4)}
:root{--t-body:1.0625rem}
}
@media (max-width:560px){
.sa-root .logo img{height:30px}
.sa-root .g-2, .sa-root .g-3, .sa-root .g-4{gap:var(--s5)}
.post-body .g-2, .post-body .g-3, .post-body .g-4{gap:var(--s5)}
.sa-root .azioni .btn{width:100%}
.post-body .azioni .btn{width:100%}
.sa-root .pie-griglia{grid-template-columns:1fr}
.post-body .pie-griglia{grid-template-columns:1fr}
.sa-root .indice-voce .freccia{display:none}
.post-body .indice-voce .freccia{display:none}
}
@media print{
.sa-root .testata, .sa-root .barra-mobile, .sa-root .menu-mobile, .sa-root .btn{display:none !important}
.sa-root{background:#fff; color:#000}
.post-body{background:#fff; color:#000}
}

/* ── Innesto su Uncode / WPBakery ─────────────────────────────────────
   Uncode stampa il contenuto in div.post-body, non tramite the_content:
   è quello il contenitore a cui agganciare il design system. Header e
   footer restano fuori e non vengono toccati. */

/* Le sezioni sono righe WPBakery: la classe arriva su .vc_row */
.post-body .sezione{ padding-block:var(--sezione) }
.post-body .sezione--corta{ padding-block:calc(var(--sezione) * .62) }
.post-body .sezione--lino{ background:var(--lino) }
.post-body .sezione--scura{ background:var(--inchiostro); color:var(--alabastro) }
.post-body .hero-pagina{ padding-top:clamp(6rem,11vw,8.5rem); padding-bottom:var(--sezione) }
.post-body .cta-finale{ text-align:center }

/* Le righe vanno a piena larghezza: il contenimento lo fa .wrap */
/* Attenzione: .row-container è anche la classe delle NOSTRE sezioni.
   Se una sezione finisce annidata dentro un'altra riga, senza :not(.vc_row)
   questa regola le azzererebbe il padding e la sezione apparirebbe
   schiacciata. */
.post-body .vc_row > .row-inner,
.post-body .vc_row .row-container:not(.vc_row),
.post-body .vc_row .wpb_column,
.post-body .vc_row .vc_column-inner,
.post-body .vc_row .wpb_wrapper{ max-width:none; width:auto; padding:0; margin:0 }

/* La spaziatura delle sezioni vince comunque, anche se annidate */
.post-body .vc_row.sezione{ padding-block:var(--sezione) !important }
.post-body .vc_row.sezione--corta{ padding-block:calc(var(--sezione) * .62) !important }
.post-body .vc_row.hero-pagina{ padding-top:clamp(6rem,11vw,8.5rem) !important }
.post-body .vc_row .wpb_raw_html{ margin-bottom:0 }
.post-body .post-wrapper, .post-body .post-content{ padding:0 }

/* Uncode aggiunge margini verticali propri alle righe: li azzeriamo,
   la respirazione la definisce il design system. */
.post-body .sezione, .post-body .hero-pagina{ margin:0 }
/* Uncode a volte genera .vc_row, a volte il suo .row: la regola non deve
   dipendere da quale dei due produce. */
.post-body .row.sezione > .row-inner,
.post-body .row.sezione > .wpb_column{ padding:0; margin:0 }


/* ══════════════════════════════════════════════════════════════════
   SICUREZZA: il contenuto non dipende dal JavaScript
   Le animazioni di comparsa partono da opacity:0 e vengono rivelate
   dallo script. Se lo script non viene caricato — per una cache, un
   ottimizzatore o un conflitto — la pagina resterebbe bianca pur
   avendo tutto il contenuto. Qui il comportamento è invertito:
   visibile per impostazione predefinita, animato solo se il JS c'è.
   ══════════════════════════════════════════════════════════════════ */
.post-body .reveal,
.post-body .zoom-lento img{ opacity:1 !important; transform:none !important }

html.sa-js .post-body .reveal{
  opacity:0 !important; transform:translateY(14px) !important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
}
html.sa-js .post-body .reveal[data-visibile="true"]{ opacity:1 !important; transform:none !important }
html.sa-js .post-body .zoom-lento img{ transform:scale(1.04) !important; transition:transform 1.4s cubic-bezier(.22,.61,.36,1) }
html.sa-js .post-body .zoom-lento[data-visibile="true"] img{ transform:none !important }

@media (prefers-reduced-motion:reduce){
  html.sa-js .post-body .reveal{ opacity:1 !important; transform:none !important }
}


/* ══════════════════════════════════════════════════════════════════
   PULSANTE "PRENOTA UNA VISITA" NEL MENU
   Uncode marca la voce con .menu-item-button ma non la colora: il
   colore arriverebbe dall'accento del tema. Inoltre blocca lo sfondo
   con !important su <a>, .menu-btn-table, .menu-item e <span>.
   L'unico livello lasciato libero è .menu-btn-cell: è lì che va
   dipinto il pulsante. Verificato sul sito, non dedotto.

   Tocca SOLO la voce di menu con Button Style attivo. Nessun altro
   elemento del sito è interessato.
   ══════════════════════════════════════════════════════════════════ */
.menu-smart li.menu-item-button > a{ padding:0 !important }

.menu-smart li.menu-item-button > a .menu-btn-cell{
  background-color:var(--inchiostro) !important;
  border:1px solid var(--inchiostro) !important;
  border-radius:var(--r-sm) !important;
  padding:0 22px !important; min-height:44px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:background-color var(--d) var(--e), border-color var(--d) var(--e) !important;
}
.menu-smart li.menu-item-button > a:hover .menu-btn-cell{
  background-color:var(--cacao) !important; border-color:var(--cacao) !important;
}
/* Dentro la cella Uncode annida un div.menu-item con un bordo di 1px e
   un padding di 34px: il bordo produceva due lineette verticali chiare
   e il padding, sommandosi a quello della cella, allargava il pulsante
   a 270px contro i 154px del testo. */
.menu-smart li.menu-item-button > a .menu-btn-cell > .menu-item{
  border:0 !important; padding:0 !important; background:none !important;
}

.menu-smart li.menu-item-button > a span{
  color:var(--alabastro) !important;
  font-family:var(--testo) !important; font-size:13px !important; font-weight:500 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important; white-space:nowrap !important;
}


/* ══════════════════════════════════════════════════════════════════
   FOOTER
   Il contenuto è un Content Block di Uncode costruito con WPBakery:
   le classi arrivano da el_class sulle righe e dall'HTML interno.
   Tocca solo le righe con classe .pie-atelier.
   ══════════════════════════════════════════════════════════════════ */
.vc_row.pie-atelier{
  background:var(--inchiostro) !important; color:var(--alabastro);
  padding-block:var(--s9) var(--s5) !important;
}
.vc_row.pie-atelier.pie-coda{ padding-block:0 var(--s6) !important }

/* Il footer sta FUORI da .post-body, quindi non eredita nulla dal design
   system: font e colore vanno dichiarati qui su tutti gli elementi di
   testo, non solo sui link. Senza, liste e paragrafi ricadono sul
   sans-serif e sul nero di Uncode. */
.pie-atelier,
.pie-atelier p,
.pie-atelier li,
.pie-atelier span,
.pie-atelier div{
  font-family:var(--testo) !important;
  color:rgba(251,249,246,.72) !important;
}
.pie-atelier a{ color:rgba(251,249,246,.72) !important; text-decoration:none; transition:color var(--d-veloce) }
.pie-atelier a:hover{ color:var(--alabastro) !important }

.pie-atelier h4{
  font-family:var(--testo) !important; font-size:var(--t-caption); font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(251,249,246,.64) !important; margin:0 0 var(--s5);
}
.pie-atelier .pie-h4-secondo{ margin-top:var(--s6) }

.pie-atelier .pie-lista{ list-style:none; margin:0; padding:0 }
.pie-atelier .pie-lista li{ margin-bottom:var(--s3); font-size:var(--t-small); line-height:1.6 }

.pie-atelier .pie-logo{ display:block; width:auto; height:78px; margin-bottom:var(--s5) }
.pie-atelier .pie-descrizione{
  font-size:var(--t-small); color:rgba(251,249,246,.72) !important; max-width:34ch; margin:0;
}
.pie-atelier .tbd{ color:#E0C89B !important }

.pie-atelier .pie-legale-blocco{ border-top:1px solid var(--hairline-chiara); padding-top:var(--s5) }
.pie-atelier .pie-obbligatorie{
  font-size:var(--t-caption); color:rgba(251,249,246,.66) !important;
  line-height:1.7; max-width:none; margin:0 0 var(--s5);
}
.pie-atelier .pie-riga-finale{
  display:flex; flex-wrap:wrap; gap:var(--s5); justify-content:space-between;
  font-size:var(--t-caption); color:rgba(251,249,246,.66);
}
.pie-atelier .pie-note{ display:flex; flex-wrap:wrap; gap:var(--s5) }
.pie-atelier .tbd{
  color:#E0C89B; background:rgba(183,154,110,.18);
  border:1px dashed rgba(183,154,110,.5); border-radius:2px;
  padding:.1em .45em; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
}

@media (max-width:900px){
  .pie-atelier .pie-logo{ height:64px }
  .pie-atelier .pie-riga-finale{ flex-direction:column; gap:var(--s3) }
}


/* ══════════════════════════════════════════════════════════════════
   SPAZIATURA DELLE SEZIONI
   Uncode aggiunge un proprio padding di 36px sopra e sotto ogni riga,
   che si sommava al nostro: tra due sezioni si arrivava a 331px invece
   dei 272 del prototipo. La respirazione la definisce il design system,
   quindi il padding interno del tema viene azzerato.
   ══════════════════════════════════════════════════════════════════ */
.post-body .vc_row .row-parent{ padding-top:0 !important; padding-bottom:0 !important }
.post-body .vc_row .uncell{ padding:0 !important }

/* Blocchi vuoti: se durante l'incollaggio WPBakery genera un Text Block
   senza contenuto, non deve occupare spazio. */
.post-body .wpb_text_column:empty,
.post-body .wpb_raw_code:empty,
.post-body .wpb_wrapper:empty{ display:none }


/* ══════════════════════════════════════════════════════════════════
   SEZIONI SCURE — colore dei titoli
   Uncode assegna ai titoli un colore proprio (#141618) che vince
   sull'ereditarietà: su fondo inchiostro restavano neri su nero.
   Paragrafi, occhielli e numerazioni erano già corretti: qui si
   interviene solo sui titoli e sui link, e solo dentro .sezione--scura.
   ══════════════════════════════════════════════════════════════════ */
.post-body .sezione--scura h1,
.post-body .sezione--scura h2,
.post-body .sezione--scura h3,
.post-body .sezione--scura h4,
.post-body .sezione--scura .firma,
.post-body .sezione--scura strong{ color:var(--alabastro) !important }

.post-body .sezione--scura a:not(.btn){ color:var(--alabastro) !important }
.post-body .sezione--scura a:not(.btn):hover{ color:rgba(251,249,246,.72) !important }

/* Card e filetti dentro le sezioni scure */
.post-body .sezione--scura .card{
  background:rgba(251,249,246,.05) !important; border-color:var(--hairline-chiara) !important;
}
.post-body .sezione--scura .tappa{ border-color:var(--hairline-chiara) !important }


/* ══════════════════════════════════════════════════════════════════
   LEGGIBILITÀ
   Uncode assegna una dimensione propria a paragrafi e liste, che vince
   sull'ereditarietà: il corpo del testo scendeva a 15px invece dei 17
   previsti. Qui la scala del design system viene riaffermata.
   ══════════════════════════════════════════════════════════════════ */
.post-body p,
.post-body li,
.post-body .wpb_text_column p{ font-size:var(--t-body); line-height:1.75 }

.post-body .lead{ font-size:var(--t-lead); line-height:1.62 }
.post-body .caption,
.post-body .media-nota,
.post-body .faq-risposta p{ font-size:var(--t-caption) }
.post-body .card p,
.post-body .tappa p,
.post-body .elenco-filo li,
.post-body .elenco-punti li{ font-size:var(--t-small) }
.post-body .indice-desc{ font-size:1rem; line-height:1.55 }
.post-body .eyebrow{ font-size:var(--t-eyebrow) }
.post-body .numero{ font-size:var(--t-caption) }


/* ══════════════════════════════════════════════════════════════════
   SEZIONE CTA — centratura
   Uncode assegna alla colonna la classe .align_left, che impone
   l'allineamento a sinistra e vince sul centraggio ereditato dalla
   riga. Qui il centraggio viene riaffermato sui singoli elementi.
   ══════════════════════════════════════════════════════════════════ */
.post-body .cta-finale,
.post-body .cta-finale .wrap,
.post-body .cta-finale h1,
.post-body .cta-finale h2,
.post-body .cta-finale p,
.post-body .cta-finale .eyebrow{ text-align:center !important }

.post-body .cta-finale .wrap,
.post-body .cta-finale .lead,
.post-body .cta-finale h2{ margin-inline:auto }

/* L'occhiello ha un filetto laterale pensato per l'allineamento a
   sinistra: centrato non ha senso e viene rimosso. */
.post-body .cta-finale .eyebrow--filo{ justify-content:center }
.post-body .cta-finale .eyebrow--filo::after{ display:none }

.post-body .cta-finale .azioni{ justify-content:center }


/* ══════════════════════════════════════════════════════════════════
   HERO DELLA HOME — variante C
   Riguarda SOLO la home: la classe .hero esiste unicamente lì, le
   pagine interne usano .hero-pagina e non vengono toccate.

   Due interventi:
   1. padding superiore da 160 a 86px (a 1440px di larghezza);
   2. colonne allineate in alto invece che in basso. Il vuoto sopra il
      titolo era la differenza di altezza tra la colonna di testo e la
      fotografia verticale a cui era ancorata.
   Il titolo passa da 586 a 353px dall'alto: 233px guadagnati.

   Sotto i 900px le colonne si impilano e l'allineamento non ha effetto:
   sul mobile cambia solo il padding, da 112 a 48px.
   ══════════════════════════════════════════════════════════════════ */
.post-body .hero{ padding-top:clamp(3rem, 6vw, 5.5rem) }
.post-body .hero .hero-griglia{ align-items:start }


/* ══════════════════════════════════════════════════════════════════
   SEZIONI CONSECUTIVE CON LO STESSO SFONDO
   Quando due sezioni hanno lo stesso colore di fondo, i due padding si
   sommano in un unico vuoto (259px) senza alcuno stacco visivo che lo
   giustifichi: il lettore vede un buco, non una separazione. In quel
   caso il padding superiore della seconda viene rimosso e resta una
   sola spaziatura di sezione.
   Si vede soprattutto in Contatti e Prenota, dove il modulo e la CTA
   finale sono entrambi su fondo sabbia.
   ══════════════════════════════════════════════════════════════════ */
.post-body .sezione--lino + .sezione--lino{ padding-top:0 !important }
.post-body .sezione--scura + .sezione--scura{ padding-top:0 !important }

/* Vale anche per le sezioni su fondo alabastro, che non hanno una classe
   di sfondo: due sezioni chiare consecutive producevano lo stesso vuoto
   doppio di 259px, per esempio in home tra la hero e la sezione
   "Che cos'è Smile Atelier". */
.post-body .sezione:not(.sezione--lino):not(.sezione--scura) + .sezione:not(.sezione--lino):not(.sezione--scura),
.post-body .hero + .sezione:not(.sezione--lino):not(.sezione--scura),
.post-body .hero-pagina + .sezione:not(.sezione--lino):not(.sezione--scura){ padding-top:0 !important }


/* ══════════════════════════════════════════════════════════════════
   SEZIONI SCURE — testo semplice e didascalie
   La regola precedente copriva titoli, citazioni e link. I paragrafi
   senza classe e le didascalie restavano invece con il colore di
   Uncode (#141618 e taupe), illeggibili su fondo inchiostro.
   ══════════════════════════════════════════════════════════════════ */
.post-body .sezione--scura p,
.post-body .sezione--scura li,
.post-body .sezione--scura .lead,
.post-body .sezione--scura .indice-desc{ color:rgba(251,249,246,.78) !important }

.post-body .sezione--scura .caption,
.post-body .sezione--scura .media-nota,
.post-body .sezione--scura .firma-autore{ color:rgba(251,249,246,.6) !important }

.post-body .sezione--scura .tbd{
  color:#E0C89B !important; background:rgba(183,154,110,.18);
  border-color:rgba(183,154,110,.5);
}

/* ══════════════════════════════════════════════════════════════════
   RESPIRO SOTTO I TITOLI
   Uncode azzera i margini dei titoli. Nel prototipo il distacco dal
   testo che segue è dato dal margine inferiore dell'h2: senza, il
   paragrafo si appoggia alla riga di base del titolo.
   ══════════════════════════════════════════════════════════════════ */
.post-body h2 + p,
.post-body h2 + .lead,
.post-body h3 + p,
.post-body .eyebrow + h2{ margin-top:var(--s5) }

.post-body h2{ margin-bottom:0 }
.post-body h2 + *{ margin-top:var(--s5) }


/* ══════════════════════════════════════════════════════════════════
   MOBILE E TABLET
   Quattro correzioni sulla resa da telefono e tablet.
   ══════════════════════════════════════════════════════════════════ */

/* 1 — MENU: Uncode dimensiona le voci mobile in vw (5.5vw le principali,
   4.5vw i sottomenu). Su un telefono da 393px diventano 21,6 e 17,7px.
   Qui passano a misure fisse e proporzionate. */
@media (max-width:959px){
  body.menu-mobile-centered .main-menu-container .menu-horizontal .menu-smart > li > a,
  .menu-container:not(.grid-filters) .menu-smart > li > a,
  .font-size-mobile-centered-menu,
  .font-size-menu-mobile{
    font-size:16px !important; letter-spacing:.08em !important;
  }
  body.menu-mobile-centered .main-menu-container .menu-smart ul li a,
  .menu-container:not(.grid-filters) .menu-smart ul li a,
  .font-size-mobile-centered-submenu{
    font-size:15px !important; letter-spacing:.02em !important; text-transform:none !important;
  }
  .menu-smart li.menu-item-button > a .menu-btn-cell{ min-height:48px !important }
}

/* 2 — INDICE TRATTAMENTI: su schermo stretto la colonna del numero e i
   margini interni lasciavano al testo poco più di metà larghezza. */
@media (max-width:900px){
  .post-body .indice-voce a{
    grid-template-columns:1.6rem 1fr !important;
    gap:.6rem !important; padding-right:0 !important;
  }
  .post-body .indice-voce a:hover,
  .post-body .indice-voce a:focus-visible{ padding-left:0 !important }
  .post-body .indice-desc{ max-width:none !important }
  .post-body .indice-titolo{ font-size:1.5rem !important; line-height:1.2 }
  .post-body .indice-voce .freccia{ display:none }
}
@media (max-width:560px){
  .post-body .wrap{ padding-inline:1.125rem !important }
  .post-body .uncol, .post-body .uncont, .post-body .uncell{ padding-inline:0 !important }
  .post-body .indice-titolo{ font-size:1.4rem !important }
}

/* 3 — PULSANTI DELLA CTA: su mobile devono restare centrati e allineati
   in colonna, non appoggiati a sinistra. */
@media (max-width:560px){
  .post-body .cta-finale .azioni{
    display:flex !important; flex-direction:column; align-items:center !important;
    justify-content:center !important; gap:.75rem;
  }
  .post-body .cta-finale .azioni a.btn{ width:100%; max-width:22rem }
  .post-body .azioni{ justify-content:flex-start }
}

/* 4 — SPAZIO PRIMA DEL FOOTER: sull'ultima sezione il padding inferiore
   pieno lascia una fascia chiara sproporzionata su schermo piccolo. */
@media (max-width:900px){
  .post-body .vc_row:last-child.sezione,
  .post-body .vc_row:last-child.cta-finale{ padding-bottom:3.5rem !important }
  .post-body .row-container:last-child{ margin-bottom:0 !important }
}


/* ══════════════════════════════════════════════════════════════════
   MOBILE — correzioni definitive
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:900px){

  /* 1 — LA FASCIA CHIARA PRIMA DEL FOOTER
     Nel prototipo lo spazio per la barra CTA fissa era un padding sul
     <body>. Convertendo il CSS, quella regola è finita su .post-body,
     cioè DENTRO il contenuto: da lì una fascia chiara di 56px tra
     l'ultima sezione e il footer. Lo spazio va sul body, dove serve. */
  .post-body, .sa-root{ padding-bottom:0 !important }
  body{ padding-bottom:56px }

  /* 2 — LARGHEZZA UTILE
     Uncode aggiunge margini interni alle colonne che, su schermo
     stretto, lasciavano al testo poco più di metà riga. */
  .post-body .wrap{ max-width:none !important; padding-inline:1.125rem !important }
  .post-body .uncell, .post-body .uncol, .post-body .uncont,
  .post-body .wpb_column, .post-body .vc_column-inner,
  .post-body .wpb_wrapper, .post-body .row-inner{
    padding-inline:0 !important; margin-inline:0 !important; max-width:none !important;
  }

  /* 3 — INDICE DEI TRATTAMENTI a piena larghezza */
  .post-body .indice, .post-body .indice-lista{ width:100% !important; max-width:none !important }
  .post-body .indice-voce a{
    grid-template-columns:1.5rem 1fr !important; gap:.5rem !important;
    padding:1rem 0 !important;
  }
  .post-body .indice-desc{ max-width:none !important }
}

@media (max-width:560px){
  /* 4 — PULSANTI DELLA CTA centrati davvero:
     il contenitore è flex in colonna, i pulsanti si centrano da soli. */
  .post-body .cta-finale .azioni{
    display:flex !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important;
    gap:.75rem !important; width:100% !important;
  }
  .post-body .cta-finale .azioni a.btn{
    width:100% !important; max-width:20rem !important; margin-inline:auto !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   PULSANTE DEL MENU — respiro dalle voci
   Lo stacco era di 5px, lo stesso che separa due voci di testo. Un
   blocco pieno ha bisogno di più aria per non sembrare attaccato
   all'ultima parola: da 5 a 33px sul desktop.
   ══════════════════════════════════════════════════════════════════ */
.menu-smart > li.menu-item-button{ margin-left:28px }

@media (max-width:959px){
  /* Nel menu mobile le voci sono in colonna: qui serve stacco sopra,
     non a sinistra. */
  .menu-smart > li.menu-item-button{
    margin-left:0; margin-top:1.75rem;
  }
}


/* ══════════════════════════════════════════════════════════════════
   REGOLE GEMELLE MANCANTI — correzione
   Il convertitore che duplica ogni regola da .sa-root a .post-body ne
   ha saltate alcune dentro le media query. La più dannosa riguardava
   l'indice: su mobile la vetrina fotografica veniva nascosta, ma la
   sua colonna da 400px restava nella griglia. Il testo si stringeva
   nel poco spazio rimasto — la larghezza dimezzata che si vedeva.
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .post-body .indice{ grid-template-columns:1fr !important }
  .post-body .indice-vetrina{ display:none !important }
  .post-body .tappa{ grid-template-columns:4rem 1fr }
  .post-body .tappa p{ grid-column:2 }
}

@media (max-width:900px){
  .post-body .scheda{ max-width:none; margin-top:1.5rem; position:static }
  .post-body .hero-media .media{ aspect-ratio:4/3 }
  .post-body .fatti{ grid-template-columns:1fr; gap:1.5rem }
}

@media (max-width:560px){
  .post-body .g-2, .post-body .g-3, .post-body .g-4{ gap:1.5rem }
  .post-body .indice-voce .freccia{ display:none }
}
