/* ==========================================================================
   FISIOFIT SSD — Foglio di stile condiviso
   Contiene le regole CSS comuni a tutte le pagine del sito (variabili,
   layout base, navbar, bottoni, footer, componenti ricorrenti), estratte
   dagli stili inline duplicati per permettere la cache del browser tra le
   pagine.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior-x:none}

body{background:var(--black);color:var(--white);font-family:'Barlow',sans-serif;font-weight:300;overflow-x:hidden;overscroll-behavior-x:none}

::-webkit-scrollbar{width:4px}

::-webkit-scrollbar-track{background:var(--black)}

::-webkit-scrollbar-thumb{background:var(--red)}

.nav-logo span{color:var(--red)}

#nav.scrolled{border-bottom-color:var(--red);box-shadow:0 4px 30px rgba(204,0,0,.18)}

.hamburger span{width:23px;height:2px;background:var(--white);display:block;border-radius:2px;pointer-events:none}

.mob-nav{position:fixed;inset:0;z-index:2000;background:rgba(8,8,8,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .3s ease,visibility 0s linear .3s;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:4.5rem 1.2rem 2rem}

.mob-nav.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .3s ease}

.mob-nav a:hover{color:var(--red)}

.mob-drop{display:flex;flex-direction:column;align-items:center;width:100%}

.mob-drop-row{display:flex;align-items:center;justify-content:center;gap:.5rem}

.mob-drop-toggle:hover{color:var(--red)}

.mob-drop-toggle .chevron{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.35rem;font-size:.6em;transition:transform .3s ease}

.mob-drop.open .chevron{transform:translateY(-50%) rotate(180deg)}

.mob-submenu{max-height:0;overflow:hidden;transition:max-height .35s ease;display:flex;flex-direction:column;align-items:center}

.mob-drop.open .mob-submenu{max-height:20rem}

.mob-nav a.mob-sublink{font-family:'Barlow',sans-serif;font-weight:600;font-size:clamp(.95rem,3.6vh,1.15rem);letter-spacing:.04em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:.18rem 0;transition:color .2s;text-align:center}

.mob-nav a.mob-sublink:hover{color:var(--red)}

.dtop-hide{display:none}

.sec-label{font-size:.62rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}

.sec-label::before{content:'';width:26px;height:1px;background:var(--red);flex-shrink:0}

.sec-title span{color:var(--red)}

.ft-logo span{color:var(--red)}

.ft-links{display:flex;gap:1.8rem;list-style:none}

.ft-links a{color:rgba(255,255,255,.3);text-decoration:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}

.ft-links a:hover{color:var(--red)}

.ft-copy{font-size:.68rem;color:rgba(255,255,255,.25);letter-spacing:.06em}

.wa-float{position:fixed;bottom:1.8rem;right:1.8rem;z-index:500;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.4);text-decoration:none;transition:transform .2s}

.wa-float:hover{transform:scale(1.1)}

.wa-float svg{width:27px;height:27px}

.nav-logo{justify-self:start;font-family:'Padaloma',sans-serif;font-style:italic;font-size:1.9rem;letter-spacing:.05em;text-decoration:none;color:var(--white)}

.nav-links{justify-self:center;display:flex;gap:2rem;list-style:none}

.nav-links a{color:var(--dim);text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:color .2s;position:relative}

.nav-links a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--red);transition:width .25s}

.nav-links a:hover{color:var(--white)}

.nav-links a:hover::after{width:100%}

.nav-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.8rem}

.btn-nav:hover{background:var(--red);border-color:var(--red)}

.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:10px;margin:-10px;background:transparent;border:0;position:relative;z-index:2101;touch-action:manipulation;-webkit-tap-highlight-color:transparent}

.mob-nav a{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.4rem,6.2vh,2.2rem);letter-spacing:.08em;color:var(--white);text-decoration:none;padding:.22rem 0;transition:color .2s;text-align:center}

.mob-drop-toggle{background:none;border:0;cursor:pointer;font-family:'Bebas Neue',sans-serif;font-size:clamp(1.3rem,5.8vh,2.2rem);letter-spacing:.08em;color:var(--white);transition:color .2s;position:relative;padding:.22rem 0}

.mob-close{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;color:var(--white);font-size:2rem;cursor:pointer}
