/* Aggiunte nostre, non fanno parte del sito originale.
   Ogni regola qui sotto corregge un difetto che ha anche l'originale. */

/* Strumenti dello sviluppatore rimasti nel sito: restano nel codice, non si mostrano. */
#global-theme-sw,
#cs-vsw,
.vsw{ display:none !important; }

/* 1. SELEZIONE TERAPISTA
   Le figure ai lati passavano sopra al testo e coprivano nome, descrizione e
   bottone. Il pannello sale sopra le figure e si appoggia su una velatura. */
#cs-info-panel{ z-index:40 !important; }
#cs-info-panel::before{
  content:""; position:absolute; inset:-2rem -3rem -2rem -3rem; z-index:-1;
  background:radial-gradient(130% 110% at 0% 50%, rgba(0,0,0,.80) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,0) 78%);
  pointer-events:none;
}
#cs-heading{ z-index:40 !important; }

/* 2. SERVIZI
   "Scopri di più" finiva a altezze diverse perché le descrizioni hanno
   lunghezze diverse. Ora il link è ancorato in fondo alla scheda. */
#specialties[data-v="v2"] .specialty-card{ height:100%; }
#specialties[data-v="v2"] .spec-desc{ padding-bottom:1rem; }
#specialties[data-v="v2"] .spec-more{
  margin-top:auto;                 /* ancorato in fondo: tutti alla stessa altezza */
  padding:0 1.5rem 1.6rem;         /* stessi margini laterali del resto della scheda */
  align-self:flex-start;
}

/* 3. RECENSIONI
   Il testo arrivava a filo del bordo della scheda. */
#testimonials[data-v="v3"] .test-card.active{
  padding:2.6rem clamp(1.5rem,4vw,3.2rem) 2.6rem;
}

/* 4. Margini laterali garantiti sul telefono: niente testo a filo di schermo. */
@media (max-width:640px){
  #testimonials[data-v="v3"] .test-card.active{ padding:2rem 1.4rem; }
  #cs-info-panel::before{ inset:-1rem -1.2rem; }
}

/* 5. RETE DI SICUREZZA
   Tutto quello che si rivela allo scorrimento parte da opacity 0. Se il
   JavaScript non gira (script bloccato, errore, connessione caduta) la pagina
   resta bianca. Con la classe no-js il contenuto e' visibile comunque. */
html.no-js .reveal,
html.no-js .section-header,
html.no-js .specialty-card,
html.no-js .tech-card,
html.no-js .gallery-card,
html.no-js .step,
html.no-js .stat-item{
  opacity:1 !important; transform:none !important; filter:none !important;
}
html.no-js #cs-doc-specialty,
html.no-js #cs-doc-name,
html.no-js #cs-doc-bio,
html.no-js #cs-doc-stats,
html.no-js #cs-book-btn{ opacity:1 !important; }

/* 6. COMANDI DELLA SEZIONE TERAPISTI
   Le frecce stavano a filo del bordo basso, dietro alle figure e quasi invisibili.
   Salgono, diventano tre cerchi leggibili e al centro entra la scheda del terapista. */
#cs-bottombar{
  bottom:5.2rem !important;
  left:50% !important;
  flex-direction:column;
  gap:.9rem !important;
  z-index:45 !important;
}
#cs-bottombar > div{ gap:14px !important; align-items:center !important; }
#cs-counter{
  order:-1;
  font-size:.95rem !important;
  opacity:.75;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
}
#cs-counter-num{ font-size:1.1rem !important; }

.cs-arrow-btn{
  width:46px !important; height:46px !important;
  border:1px solid rgba(255,255,255,.38) !important;
  color:rgba(255,255,255,.92) !important;
  background:rgba(8,12,10,.55);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  box-shadow:0 6px 20px rgba(0,0,0,.45);
  transition:border-color .2s, color .2s, background .2s, transform .2s;
}
.cs-arrow-btn:hover{
  border-color:var(--accent) !important; color:var(--accent) !important;
  background:rgba(8,12,10,.78); transform:translateY(-2px);
}
.cs-arrow-btn:active{ transform:translateY(0); }
.cs-btn-info{ width:52px !important; height:52px !important; }

/* il cursore dice che quel lato fa girare la fila */
#cs-stage.cs-verso-sx{ cursor:w-resize; }
#cs-stage.cs-verso-dx{ cursor:e-resize; }

@media (max-width:640px){
  #cs-bottombar{ bottom:calc(1.4rem + env(safe-area-inset-bottom,0px)) !important; left:50% !important; }
  /* sul telefono il contatore finiva sopra la riga "Scheda completa" */
  #cs-counter{ display:none !important; }
}
