/*
Theme Name: Pirola Hub
Theme URI: http://localhost:10023/
Author: Studio + Claude
Description: Tema del centro multidisciplinare PIROLA HUB (Milano). Ricostruzione fedele del design del designer (PDF) sul wireframe navigabile. Font grandi, palette verde teal. Testi placeholder in attesa della copy (da approvare).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: pirola-hub
*/

/* =====================================================================
   PIROLA HUB — design system
   Font: Urbane Rounded reale via Adobe Fonts (kit use.typekit.net/uyw5dct.css)
   ===================================================================== */
:root{
  /* palette dal PDF */
  --green-deep:#0E4D40;     /* logo / testi / bottone header */
  --band:#0E4A44;           /* banda hero scura/teal (dal PDF #034845) */
  --band-2:#14564A;         /* banda hero (sfumatura) */
  --cta:#5FAE78;            /* bottone "Prenota ora" verde brillante */
  --cta-deep:#4E9D67;
  --accent:#69AE87;         /* kicker / accenti verde medio (PDF) */
  --accent-soft:#88C69E;    /* highlight "performance" (PDF #8BC59D) */
  --sage:#8AAFA2;           /* p del logo / dettagli */
  --card-top:#D9EADF;       /* gradiente card (alto) */
  --card-bottom:#1E6B55;    /* gradiente card (basso) */
  --paper:#FFFFFF;
  --paper-2:#F4F8F5;        /* sezioni alternate */
  --ink:#0E4D40;            /* testo principale (verde scuro brand) */
  --ink-soft:#3F6B5F;       /* testo secondario */
  --muted:#7C978C;
  --line:#E2EAE5;
  --line-2:#D3E0D8;

  /* scala tipografica GRANDE (rif. fisioterapistapirola.it) */
  --fs-hero: clamp(2.8rem, 1.4rem + 4.4vw, 5rem);
  --fs-h1:   clamp(2.4rem, 1.4rem + 3.4vw, 4rem);
  --fs-h2:   clamp(2rem, 1.25rem + 2.9vw, 3.5rem);
  --fs-h3:   clamp(1.3rem, 1.1rem + 0.7vw, 1.7rem);
  --fs-lead: clamp(1.1rem, 1rem + 0.55vw, 1.4rem);
  --fs-body: clamp(1rem, 0.96rem + 0.2vw, 1.12rem);
  --fs-kicker: clamp(0.85rem, 0.8rem + 0.2vw, 1rem);

  --wrap:1240px;
  --radius:18px;
  --radius-lg:26px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'urbane-rounded',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:var(--fs-body);line-height:1.65;font-weight:500;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,.display{font-family:'urbane-rounded',sans-serif;font-weight:500;color:var(--ink);}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,48px);}

/* ---------- bottoni ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'urbane-rounded',sans-serif;font-weight:600;letter-spacing:.01em;
  border:0;cursor:pointer;border-radius:14px;line-height:1;
  transition:transform .15s ease, filter .15s ease, background .15s ease, color .15s ease;
}
.btn svg{width:1.15em;height:1.15em;}
.btn .cal-ic{width:1.7em;height:1.7em;object-fit:contain;flex:0 0 auto;display:block;margin:-0.3em 0;}
.btn:hover{transform:translateY(-2px);}
.btn.lg{font-size:clamp(1.02rem,0.95rem+0.3vw,1.18rem);padding:18px 30px;}
.btn.md{font-size:1rem;padding:14px 24px;}
.btn-primary{background:var(--cta);color:#fff;box-shadow:0 12px 26px -14px rgba(79,157,103,.8);}
.btn-primary:hover{filter:brightness(1.05);}
.btn-deep{background:var(--green-deep);color:#fff;}
.btn-deep:hover{background:#0a3b31;}
.btn-outline{background:transparent;color:var(--ink);border:2px solid var(--line-2);}
.btn-outline:hover{border-color:var(--cta);background:var(--paper-2);}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:92px;}
.site-logo img{height:clamp(46px,5vw,62px);width:auto;}
.main-nav{display:flex;align-items:center;gap:2px;margin-left:auto;}
.main-nav a{
  font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:.84rem;
  text-transform:uppercase;letter-spacing:.03em;color:var(--green-deep);
  padding:9px 11px;border-radius:24px;line-height:1.05;transition:background .15s ease,color .15s ease;
}
.main-nav a.wrap2{white-space:normal;max-width:120px;text-align:center;}
.main-nav a:hover{background:var(--paper-2);}
.main-nav a.current{background:var(--card-top);color:var(--green-deep);}
.header-cta{margin-left:8px;flex:0 0 auto;}
.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line-2);border-radius:12px;background:#fff;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.menu-toggle span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--green-deep);transition:.2s;}
.mobile-nav{display:none;}

/* ---------- sezioni ---------- */
.section{padding:clamp(56px,7vw,104px) 0;}
.section.alt{background:var(--paper-2);}
.section.tight{padding:clamp(34px,4vw,56px) 0;}
.kicker{
  font-family:'urbane-rounded',sans-serif;font-weight:700;font-size:var(--fs-kicker);
  text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 14px;
}
.sect-head{max-width:780px;margin-bottom:clamp(34px,4vw,56px);}
.sect-head.center{margin-left:auto;margin-right:auto;text-align:center;}
h2.sect-title{font-size:var(--fs-h2);line-height:1.05;letter-spacing:-.01em;margin:0 0 16px;}
.sect-sub{font-size:var(--fs-lead);color:var(--ink-soft);line-height:1.55;margin:0;max-width:640px;}
.center .sect-sub{margin-left:auto;margin-right:auto;}

/* ---------- HERO home ---------- */
.hero{
  position:relative;background:var(--band);color:#fff;overflow:hidden;
  min-height:clamp(560px,52vw,760px);display:flex;align-items:center;
}
.hero .hero-photo{
  position:absolute;inset:0;background-size:cover;background-position:center right;
}
.hero .hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg, var(--band) 30%, rgba(14,74,68,.86) 46%, rgba(14,74,68,.15) 70%, rgba(14,74,68,0) 86%),
    linear-gradient(0deg, rgba(11,58,52,.55), rgba(11,58,52,0) 40%);
}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:64px;padding-bottom:64px;}
.hero-inner{max-width:660px;}
.hero .kicker{color:var(--accent);}
.hero .kicker .city{color:#fff;}
.hero h1{
  color:#fff;font-size:var(--fs-hero);line-height:1.04;letter-spacing:-.015em;
  margin:0 0 22px;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--accent-soft);}
.hero .lead{font-size:var(--fs-lead);line-height:1.55;color:rgba(255,255,255,.86);max-width:540px;margin:0 0 32px;}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:32px;}
.chips{display:flex;gap:10px;flex-wrap:wrap;}
.chip{
  font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:.84rem;letter-spacing:.06em;
  text-transform:uppercase;padding:9px 17px;border-radius:30px;
  border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.08);
}

/* ---------- collaborazioni ---------- */
.collab{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.collab .lab{font-family:'urbane-rounded',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.collab .slots{display:flex;gap:16px;flex:1;flex-wrap:wrap;}
.collab .slot{flex:1;min-width:120px;height:56px;border:1px solid var(--line);border-radius:12px;background:#fff;}

/* ---------- griglia attività / discipline ---------- */
.grid{display:grid;gap:24px;}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
/* Blocchi centrati quando in un gruppo sono 1 o 2 (invece di allinearsi a sinistra) */
.grid.cols-3.few{grid-template-columns:repeat(auto-fit,minmax(280px,380px));justify-content:center;}

/* griglia servizi: flex centrato, così le card orfane dell'ultima riga stanno al centro */
.disc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
.disc-grid .disc-card{flex:0 0 calc((100% - 48px)/3);}

/* card disciplina con gradiente verde (stile PDF servizi) */
.disc-card{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(300px,26vw,376px);padding:32px;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(150deg, #DCEBE0 0%, #A8CFB6 50%, #2D7155 100%);
  color:#fff;transition:transform .2s ease, box-shadow .2s ease;
}
.disc-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(14,77,64,.6);}
/* foto nella card + velatura verde dal basso per la leggibilità del testo */
.disc-card .ph{position:absolute;inset:0;background-size:cover;background-position:center;}
.disc-card .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,77,64,0) 26%,rgba(14,77,64,.42) 56%,rgba(11,56,47,.94) 100%);}
.disc-card h3,.disc-card p,.disc-card .more{position:relative;z-index:1;}
.disc-card h3{color:#fff;font-size:var(--fs-h3);margin:0 0 10px;}
.disc-card p{margin:0 0 14px;color:rgba(255,255,255,.9);font-size:1rem;line-height:1.5;}
.disc-card .more{font-family:'urbane-rounded',sans-serif;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:8px;}
.disc-card .more::after{content:'→';transition:transform .15s ease;}
.disc-card:hover .more::after{transform:translateX(5px);}

/* ---------- trattamenti (card con foto) ---------- */
.treat-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;transition:transform .2s ease, box-shadow .2s ease;
}
.treat-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(14,77,64,.5);}
.treat-card .photo{aspect-ratio:16/11;background-size:cover;background-position:center;}
.treat-card .body{padding:22px 24px 26px;}
.treat-card h3{font-size:1.32rem;margin:0 0 8px;}
.treat-card p{margin:0;color:var(--ink-soft);font-size:1rem;}

/* pills trattamenti */
.pills{display:flex;gap:12px;flex-wrap:wrap;}
.pill{
  font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:1rem;
  padding:12px 22px;border-radius:30px;border:1.5px solid var(--line-2);
  background:#fff;color:var(--green-deep);
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
/* pill linkate ai trattamenti: pieno verde all'hover, come i cerchi discipline */
a.pill:hover,a.pill:focus-visible{background:var(--green-deep);color:#fff;border-color:var(--green-deep);}

/* ---------- team ---------- */
.team-card{
  background:linear-gradient(165deg,#F4F8F5,#E7F0EA);border:1px solid var(--line);
  border-radius:var(--radius);padding:0 0 22px;overflow:hidden;text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.team-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(14,77,64,.5);}
.team-card .ph{aspect-ratio:71/96;background:linear-gradient(180deg,#8EACAA 0%,#C2D4D2 26%,#DEE8E7 48%,#7C9F97 70%,#1F5A56 87%,#0E4D40 100%);display:block;overflow:hidden;}
.team-card .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.team-card h3{font-size:1.2rem;margin:18px 18px 4px;}
.team-card .role{color:var(--accent);font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:.95rem;margin:0 18px;}

/* ---------- recensioni ---------- */
.rev-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;}
.stars{display:flex;gap:5px;}
.stars i{width:20px;height:20px;display:block;background:var(--cta);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}
.rev-card p{margin:0;font-size:1.08rem;line-height:1.6;color:var(--ink-soft);}
.rev-card .who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.rev-card .who b{font-family:'urbane-rounded',sans-serif;}

/* ---------- banda prenota ---------- */
.book-band{background:var(--green-deep);color:#fff;text-align:center;padding:clamp(60px,7vw,96px) 0;}
.book-band h2{color:#fff;font-size:var(--fs-h2);margin:0 0 14px;}
.book-band p{font-size:var(--fs-lead);color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 30px;}
.book-band .meta{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-top:26px;color:rgba(255,255,255,.7);font-size:1rem;}

/* ---------- footer ---------- */
.site-footer{padding:clamp(48px,6vw,72px) 0 36px;background:var(--paper);border-top:1px solid var(--line);}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.site-footer .flogo img{height:64px;margin-bottom:16px;}
.site-footer p{color:var(--ink-soft);font-size:1rem;max-width:280px;margin:0;}
.site-footer h4{font-family:'urbane-rounded',sans-serif;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.site-footer ul a,.site-footer li{color:var(--ink-soft);font-size:1rem;}
.site-footer ul a:hover{color:var(--cta);}
.site-footer .base{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.92rem;}

/* ---------- pagina interna head ---------- */
.page-head{padding:clamp(40px,5vw,64px) 0 0;}
.crumb{display:flex;gap:10px;align-items:center;font-size:.98rem;color:var(--muted);margin-bottom:20px;flex-wrap:wrap;}
.crumb a{color:var(--accent);font-weight:600;}
.crumb i{font-style:normal;color:var(--line-2);}

/* ---------- dettaglio disciplina ---------- */
/* hero interna FULL-WIDTH (full-bleed come la hero in home — non riquadrata) */
.det-hero{position:relative;background:var(--band);color:#fff;overflow:hidden;min-height:clamp(380px,40vw,520px);display:flex;align-items:center;}
.det-hero .photo{position:absolute;inset:0;background-size:cover;background-position:center right;}
.det-hero .ov{position:absolute;inset:0;background:linear-gradient(100deg,var(--band) 30%,rgba(14,74,68,.86) 46%,rgba(14,74,68,.15) 70%,rgba(14,74,68,0) 86%);}
.det-hero .wrap{position:relative;z-index:2;width:100%;}
.det-hero .inner{max-width:600px;padding:clamp(40px,5vw,64px) 0;}
.det-hero .crumb{color:rgba(255,255,255,.7);}
.det-hero .crumb a{color:var(--accent-soft);}
.det-hero h1{color:#fff;font-size:var(--fs-h1);margin:0 0 18px;line-height:1.05;}
.det-hero .intro{color:rgba(255,255,255,.88);font-size:var(--fs-lead);line-height:1.55;margin:0 0 26px;}
.det-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);padding:clamp(44px,5vw,72px) 0;}
.det-body h3{font-size:1.5rem;margin:0 0 20px;}
.det-body p{font-size:var(--fs-body);line-height:1.7;color:var(--ink-soft);margin:0;}

/* Approfondimento disciplina (area testuale SEO sotto det-body) */
.disc-appr{background:var(--paper-2);padding:clamp(48px,6vw,84px) 0;}
.disc-appr h2{font-size:var(--fs-h2);margin:0 0 clamp(28px,3.5vw,48px);}
.disc-appr-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);}
.disc-appr-item h3{font-size:var(--fs-h3);margin:0 0 14px;}
.disc-appr-item p{font-size:var(--fs-body);line-height:1.7;color:var(--ink-soft);margin:0;}

/* ---------- profilo professionista ---------- */
.prohero{display:grid;grid-template-columns:340px 1fr;gap:clamp(32px,5vw,56px);align-items:center;padding:clamp(24px,3vw,44px) 0 clamp(36px,4vw,56px);}
.pro-photo{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(180deg,#8EACAA 0%,#C2D4D2 26%,#DEE8E7 50%,#7C9F97 72%,#1F5A56 88%,#0E4D40 100%);display:flex;align-items:flex-end;justify-content:center;}
.pro-photo img{height:98%;width:auto;object-fit:contain;object-position:bottom center;}
.pro-name{font-size:var(--fs-h1);line-height:1.05;margin:8px 0 18px;}
.pro-bio{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-soft);max-width:520px;margin:0 0 28px;}
.pro-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.profile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.profile-list li{display:flex;gap:14px;align-items:flex-start;padding:15px 2px;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--ink-soft);}
.profile-list li::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--cta);margin-top:8px;flex:0 0 auto;}
@media (max-width:760px){ .prohero{grid-template-columns:1fr;} .pro-photo{max-width:300px;} }

/* card team cliccabile (pagina Team) */
a.team-card{cursor:pointer;}

/* ---------- form contatti ---------- */
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.field label{font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:.95rem;color:var(--ink-soft);}
.field input,.field textarea{font:inherit;font-size:1.05rem;border:1.5px solid var(--line-2);border-radius:12px;background:#FBFDFC;padding:14px 16px;outline:none;color:var(--ink);}
.field input:focus,.field textarea:focus{border-color:var(--cta);background:#fff;}
.field textarea{min-height:130px;resize:vertical;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.info-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:18px;}
.info-row{display:flex;align-items:center;gap:14px;color:var(--ink-soft);}
.info-row .ic{width:42px;height:42px;border-radius:12px;background:var(--card-top);flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--green-deep);}
.privacy{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;color:var(--muted);margin:6px 0 18px;}
.privacy input{width:20px;height:20px;accent-color:var(--cta);margin-top:2px;}

/* ---------- modale prenotazione ---------- */
.bk-ovl{position:fixed;inset:0;z-index:200;display:none;background:rgba(11,58,52,.55);align-items:center;justify-content:center;padding:24px;}
.bk-ovl.open{display:flex;}
.bk-modal{width:760px;max-width:100%;max-height:calc(100vh - 48px);background:#fff;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 50px 100px -30px rgba(11,58,52,.6);}
.bk-head{display:flex;align-items:center;padding:24px 30px;border-bottom:1px solid var(--line);}
.bk-head h3{font-size:1.4rem;margin:0;}
.bk-head .x{margin-left:auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);background:#fff;cursor:pointer;font-size:18px;color:var(--muted);}
.bk-steps{display:flex;align-items:center;padding:20px 30px 0;}
.bk-steps .st{display:flex;align-items:center;gap:10px;font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:.95rem;color:var(--muted);}
.bk-steps .st .n{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--line-2);background:#fff;font-size:.9rem;}
.bk-steps .st.on{color:var(--green-deep);}
.bk-steps .st.on .n{background:var(--cta);border-color:var(--cta);color:#fff;}
.bk-steps .sep{flex:1;height:2px;background:var(--line);margin:0 14px;}
.bk-body{padding:28px 30px;overflow-y:auto;}
.bk-q{font-family:'urbane-rounded',sans-serif;font-weight:600;font-size:1.15rem;margin:0 0 18px;color:var(--ink);}
.bk-foot{display:flex;align-items:center;gap:14px;padding:20px 30px;border-top:1px solid var(--line);}
.bk-foot .back{background:none;border:0;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;}
.bk-foot .btn{margin-left:auto;}
.pickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pick{border:1.5px solid var(--line-2);border-radius:14px;background:#FBFDFC;cursor:pointer;font:inherit;padding:18px 16px;text-align:left;transition:.12s;}
.pick b{font-family:'urbane-rounded',sans-serif;font-size:1.05rem;display:block;}
.pick:hover{border-color:var(--cta);}
.pick.sel{border-color:var(--cta);background:var(--card-top);box-shadow:0 0 0 1px var(--cta) inset;}
.daysrow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:26px;}
.day{border:1.5px solid var(--line-2);border-radius:12px;background:#FBFDFC;cursor:pointer;padding:14px 6px;text-align:center;font:inherit;}
.day small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.day b{font-family:'urbane-rounded',sans-serif;font-size:1.2rem;}
.day.sel{border-color:var(--cta);background:var(--card-top);box-shadow:0 0 0 1px var(--cta) inset;}
.slotrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.slot{border:1.5px solid var(--line-2);border-radius:12px;background:#FBFDFC;cursor:pointer;padding:16px;text-align:center;font:inherit;}
.slot b{font-family:'urbane-rounded',sans-serif;display:block;}
.slot small{color:var(--muted);}
.slot.sel{border-color:var(--cta);background:var(--card-top);box-shadow:0 0 0 1px var(--cta) inset;}
.bk-sum{background:var(--card-top);border-radius:14px;padding:20px 22px;margin-bottom:22px;display:flex;flex-direction:column;gap:10px;}
.bk-sum .row{display:flex;gap:12px;}
.bk-sum .row b{min-width:120px;font-family:'urbane-rounded',sans-serif;color:var(--green-deep);}
.bk-done{text-align:center;padding:24px 10px;}
.bk-done .ok{width:70px;height:70px;border-radius:50%;background:var(--cta);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 20px;}
.bk-done h3{font-size:1.5rem;margin:0 0 10px;}
.bk-done p{color:var(--ink-soft);max-width:400px;margin:0 auto 6px;}

/* ---------- badge testi placeholder ---------- */
.copy-flag{position:fixed;left:14px;bottom:14px;z-index:120;background:#FBE9A0;color:#6b5800;border:1px solid #E6CE6A;border-radius:10px;padding:8px 14px;font-size:.82rem;font-family:'urbane-rounded',sans-serif;font-weight:600;box-shadow:0 8px 20px -10px rgba(0,0,0,.3);}

/* ===== Popup Agosto — sempre aperti ===== */
.aug-ovl{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:24px;
	background:rgba(11,58,52,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
	opacity:0;transition:opacity .28s ease;}
.aug-ovl[hidden]{display:none;}
.aug-ovl.open{opacity:1;}
.aug-card{position:relative;width:400px;max-width:100%;background:#fff;border:1px solid var(--line);
	border-radius:var(--radius-lg);padding:40px 34px 34px;text-align:center;
	box-shadow:0 44px 90px -34px rgba(11,58,52,.55);
	transform:translateY(14px) scale(.98);transition:transform .32s cubic-bezier(.2,.8,.2,1);}
.aug-ovl.open .aug-card{transform:translateY(0) scale(1);}
.aug-card::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
	background:linear-gradient(90deg,var(--cta),var(--accent-soft));}
.aug-x{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;border-radius:50%;
	background:var(--paper-2);color:var(--ink-soft);font-size:1rem;cursor:pointer;line-height:1;
	transition:background .15s ease,color .15s ease;}
.aug-x:hover{background:var(--line);color:var(--ink);}
.aug-ic{display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--cta);}
.aug-ic svg{width:58px;height:58px;display:block;}
.aug-kicker{font-family:'urbane-rounded',sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
	font-size:.82rem;color:var(--accent);margin:0 0 6px;}
.aug-card h3{font-family:'urbane-rounded',sans-serif;font-weight:700;color:var(--green-deep);
	font-size:1.7rem;line-height:1.1;margin:0 0 12px;}
.aug-text{color:var(--ink-soft);font-size:1.02rem;line-height:1.5;margin:0 auto 26px;max-width:30ch;}
.aug-cta{justify-content:center;width:100%;}
@media (prefers-reduced-motion:reduce){.aug-ovl,.aug-card{transition:none;}}

/* ---------- generico articolo / blog ---------- */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(14,77,64,.5);}
.blog-card .photo{aspect-ratio:16/10;background:linear-gradient(160deg,#D9EADF,#9FCBB1);}
.blog-card .body{padding:22px 24px 26px;}
.blog-card .tag{display:inline-block;font-family:'urbane-rounded',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.blog-card h3{font-size:1.25rem;margin:0 0 10px;}
.article{max-width:780px;margin:0 auto;padding:clamp(32px,4vw,52px) 0;}
.article h1{font-size:var(--fs-h1);margin:0 0 18px;}
.article p{font-size:1.18rem;line-height:1.8;color:var(--ink-soft);}
.article .cover{aspect-ratio:16/8;border-radius:var(--radius);background:linear-gradient(160deg,#D9EADF,#9FCBB1);margin:18px 0;}
.article .lead{font-size:1.32rem;line-height:1.7;color:var(--ink);font-weight:500;margin:0 0 26px;}
.article .entry h2{font-size:clamp(1.7rem,1.3rem+1.4vw,2.3rem);color:var(--green-deep);margin:40px 0 16px;line-height:1.15;}
.article .entry h3{font-size:1.4rem;color:var(--green-deep);margin:28px 0 12px;}
.article .entry p{font-size:1.18rem;line-height:1.8;color:var(--ink-soft);margin:0 0 18px;}
.article .entry ul{margin:0 0 22px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.article .entry ul li{position:relative;padding-left:28px;font-size:1.15rem;line-height:1.7;color:var(--ink-soft);}
.article .entry ul li::before{content:'';position:absolute;left:2px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--cta);}
.article .entry strong{color:var(--ink);}
.article .entry .article-cta{background:var(--paper-2);border-left:4px solid var(--cta);border-radius:0 14px 14px 0;padding:24px 28px;margin:32px 0 0;}
.article .entry .article-cta p{margin:0 0 8px;color:var(--ink);}
.article .entry .article-cta p:last-child{margin:0;}
blockquote{border-left:4px solid var(--cta);background:var(--paper-2);border-radius:0 14px 14px 0;padding:22px 26px;margin:24px 0;font-size:1.2rem;color:var(--ink);}

/* ===== Home fedele al PDF — componenti ===== */

/* collaborazioni: banda scura */
.collab-band{background:#1F1F1D;padding:clamp(32px,4vw,50px) 0;}
.collab-band .collab .lab{color:rgba(255,255,255,.82);}
.collab-band .slot{background:transparent;border:1px solid rgba(255,255,255,.26);}

/* attività: cerchi discipline su banda sage */
.disc-band{background:#D4E9D8;padding:clamp(50px,6.5vw,90px) 0;overflow:hidden;}
/* fila unica che sfonda il .wrap: tutti i cerchi su una riga */
.disc-circles{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;width:100vw;margin-left:calc(50% - 50vw);}
.disc-circle{
	position:relative;flex:0 0 auto;width:clamp(120px,14.5vw,225px);aspect-ratio:1;margin-left:-34px;
	border:1.5px solid rgba(14,77,64,.55);border-radius:50%;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.68em;text-align:center;
	color:var(--green-deep);font-family:'urbane-rounded',sans-serif;font-weight:600;
	font-size:clamp(.92rem,1.05vw,1.15rem);
	background:radial-gradient(circle at 50% 34%,#ffffff 0%,#EAF3EC 62%,#D9E9DD 100%);
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 26px -18px rgba(14,77,64,.5);
	transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.disc-circle:hover{transform:translateY(-3px);}
/* icona: SVG inline, prende il colore dal cerchio (anche invertito in hover).
   La proporzione icona/cerchio (~0.37) è quella del set disegnato dal cliente. */
.disc-ic{display:block;flex:0 0 auto;width:clamp(46px,5.4vw,84px);height:clamp(46px,5.4vw,84px);padding:0;}
.disc-ic svg{width:100%;height:100%;display:block;}
.disc-circle:first-child{margin-left:0;}
.disc-circle span:not(.disc-ic){padding:0 12px;line-height:1.14;}
/* cerchio pieno = stato selezionato → al passaggio del mouse (over) */
.disc-circle:hover,.disc-circle:focus-visible{background:#0E4D40;color:#fff;border-color:#0E4D40;z-index:3;}

/* trattamenti: scacchiera 6 colonne (foto + card verde testo) */
.treat-checker{display:grid;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));gap:16px;}
/* desktop: ogni terapia = una colonna (foto+testo impilati, alternati a scacchiera);
   full-bleed oltre il .wrap così le 6 colonne respirano */
@media (min-width:1025px){
	.treat-checker{width:100vw;margin-left:calc(50% - 50vw);padding:0 clamp(20px,3vw,48px);}
	.treat-checker > :nth-child(1){grid-column:1;grid-row:1;}
	.treat-checker > :nth-child(2){grid-column:1;grid-row:2;}
	.treat-checker > :nth-child(3){grid-column:2;grid-row:2;}
	.treat-checker > :nth-child(4){grid-column:2;grid-row:1;}
	.treat-checker > :nth-child(5){grid-column:3;grid-row:1;}
	.treat-checker > :nth-child(6){grid-column:3;grid-row:2;}
	.treat-checker > :nth-child(7){grid-column:4;grid-row:2;}
	.treat-checker > :nth-child(8){grid-column:4;grid-row:1;}
	.treat-checker > :nth-child(9){grid-column:5;grid-row:1;}
	.treat-checker > :nth-child(10){grid-column:5;grid-row:2;}
	.treat-checker > :nth-child(11){grid-column:6;grid-row:2;}
	.treat-checker > :nth-child(12){grid-column:6;grid-row:1;}
}
.treat-checker .tphoto{
	position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;
	background-size:cover;background-position:center;display:flex;
}
.treat-checker .tphoto--down{align-items:flex-end;}
.treat-checker .tphoto--up{align-items:flex-start;}
.treat-checker .tphoto::after{content:'';position:absolute;inset:0;z-index:0;}
/* sfumatura grande verso colore pieno = colore della card di testo adiacente */
.treat-checker .tphoto--dark.tphoto--down::after{background:linear-gradient(180deg,transparent 26%,rgba(14,77,64,.5) 56%,#0E4D40 95%);}
.treat-checker .tphoto--dark.tphoto--up::after{background:linear-gradient(0deg,transparent 26%,rgba(14,77,64,.5) 56%,#0E4D40 95%);}
.treat-checker .tphoto--bright.tphoto--down::after{background:linear-gradient(180deg,transparent 26%,rgba(86,160,123,.45) 56%,#56A07B 95%);}
.treat-checker .tphoto--bright.tphoto--up::after{background:linear-gradient(0deg,transparent 26%,rgba(86,160,123,.45) 56%,#56A07B 95%);}
.treat-checker .tphoto--sage.tphoto--down::after{background:linear-gradient(180deg,transparent 26%,rgba(132,164,161,.5) 56%,#84A4A1 95%);}
.treat-checker .tphoto--sage.tphoto--up::after{background:linear-gradient(0deg,transparent 26%,rgba(132,164,161,.5) 56%,#84A4A1 95%);}
.treat-checker .tlabel{position:relative;z-index:1;color:#fff;font-family:'urbane-rounded',sans-serif;font-weight:700;font-size:.84rem;letter-spacing:.05em;padding:18px;}
.treat-checker .ttext{aspect-ratio:1;border-radius:14px;display:flex;align-items:center;padding:clamp(14px,1.4vw,22px);overflow:hidden;}
.treat-checker .ttext p{margin:0;color:rgba(255,255,255,.96);font-size:clamp(.78rem,.9vw,.94rem);line-height:1.42;}
/* 3 tinte con leggera sfumatura, come nel PDF designer */
.treat-checker .ttext--sage{background:linear-gradient(160deg,#90AEA8,#7B9C98);}
.treat-checker .ttext--dark{background:linear-gradient(160deg,#13564A,#0C463A);}
.treat-checker .ttext--bright{background:linear-gradient(160deg,#62AC82,#4B956F);}

/* team: banda verde con pattern (solo titolo) + layer verde sfumato dall'alto */
.team-band{position:relative;background:#044845;padding:clamp(54px,7vw,82px) 0 clamp(48px,6vw,72px);overflow:hidden;}
.team-band::before{
	content:'';position:absolute;inset:0;z-index:0;
	background:
		linear-gradient(180deg, rgba(4,72,69,.97) 0%, rgba(4,72,69,.9) 55%, rgba(4,72,69,.84) 100%),
		url(assets/img/banda_pattern.svg) center top / cover no-repeat,
		#044845;
}
.team-band > *{position:relative;z-index:1;}
.team-band .sect-head{margin-bottom:0;}

/* team: banda bianca con le card (sfondo azzurro→verde, persone bottom-aligned, altezza uniforme) */
.team-cards-band{background:#fff;padding:clamp(40px,5vw,64px) 0 clamp(48px,6vw,76px);}
.team-row{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.tmember{
	position:relative;display:block;aspect-ratio:71/96;border-radius:18px;overflow:hidden;
	background:linear-gradient(180deg,#8EACAA 0%,#C2D4D2 26%,#DEE8E7 48%,#7C9F97 70%,#1F5A56 87%,#0E4D40 100%);
	box-shadow:0 24px 48px -28px rgba(0,0,0,.5);transition:transform .18s ease, box-shadow .18s ease;
}
.tmember:hover{transform:translateY(-6px);box-shadow:0 30px 56px -28px rgba(14,77,64,.6);}
.tmember img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;transform:none;}
.tmember .tbar{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:42px 14px 18px;background:linear-gradient(0deg,#0E4D40 30%,rgba(14,77,64,.78) 60%,rgba(14,77,64,0) 100%);}
.tmember .tbar b{font-family:'urbane-rounded',sans-serif;font-weight:700;color:#fff;display:block;font-size:.92rem;line-height:1.2;white-space:nowrap;}
.tmember .tbar span{color:#fff;font-size:.8rem;}
/* Nome su una riga sola per tutti e alla stessa dimensione: la misura è dettata dal nome
   più lungo nella card più stretta. In cqw (% della larghezza della card) invece che in vw
   perché il numero di colonne cambia ai breakpoint e la card fa dei salti. */
@supports (container-type:inline-size){
	.tmember{container-type:inline-size;}
	.tmember .tbar b{font-size:clamp(9.5px,6.85cqw,15.2px);}
	.tmember .tbar span{font-size:clamp(8.5px,5.6cqw,12.6px);}
}

/* Hub (board 6): intro testo+foto + gallery ambienti */
.hub-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center;padding:clamp(20px,3vw,40px) 0 clamp(40px,5vw,64px);}
.hub-intro .hub-text h2{margin:8px 0 18px;}
.hub-intro .hub-text p{font-size:var(--fs-lead);color:var(--ink-soft);line-height:1.6;margin:0 0 26px;}
.hub-intro .hub-photo{border-radius:var(--radius-lg);min-height:clamp(300px,32vw,440px);background-size:cover;background-position:center;box-shadow:0 26px 50px -30px rgba(14,77,64,.5);}
.hub-gallery{display:grid;grid-template-columns:1.6fr 1fr;grid-auto-rows:1fr;gap:22px;padding-bottom:clamp(40px,5vw,72px);}
.hub-gallery .g-big{grid-column:1;grid-row:1 / 3;border-radius:var(--radius-lg);min-height:520px;background-size:cover;background-position:center;}
.hub-gallery .g-text{grid-column:2;grid-row:1;align-self:center;}
.hub-gallery .g-text p:last-child{font-size:var(--fs-body);color:var(--ink-soft);line-height:1.7;margin:0;}
.hub-gallery .g-small{grid-column:2;grid-row:2;border-radius:var(--radius-lg);min-height:230px;background-size:cover;background-position:center;}
@media (max-width:860px){
	.hub-intro{grid-template-columns:1fr;}
	.hub-gallery{grid-template-columns:1fr 1fr;}
	.hub-gallery .g-big{grid-column:1 / 3;grid-row:auto;min-height:300px;}
	.hub-gallery .g-text{grid-column:1 / 3;grid-row:auto;}
	.hub-gallery .g-small{grid-column:1 / 3;grid-row:auto;}
}

/* card pagina Trattamenti (board 4): foto + gradiente colore + titolo/desc/link */
.tcard{position:relative;display:block;min-height:clamp(340px,30vw,420px);border-radius:18px;overflow:hidden;box-shadow:0 22px 46px -28px rgba(14,77,64,.5);transition:transform .2s ease, box-shadow .2s ease;}
.tcard:hover{transform:translateY(-5px);box-shadow:0 30px 56px -28px rgba(14,77,64,.6);}
/* card senza pagina di destinazione (es. Connettivale): niente effetto cliccabile */
.tcard.is-static{cursor:default;}
.tcard.is-static:hover{transform:none;box-shadow:0 22px 46px -28px rgba(14,77,64,.5);}
.tcard-photo{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#cfe0d8;background-image:linear-gradient(160deg,#D9EADF,#9FCBB1);}
.tcard::after{content:'';position:absolute;inset:0;z-index:1;}
.tcard--teal::after{background:linear-gradient(0deg,#0E4D40 16%,rgba(14,77,64,.55) 48%,transparent 80%);}
.tcard--bright::after{background:linear-gradient(0deg,#3C8460 16%,rgba(62,142,102,.5) 48%,transparent 80%);}
.tcard--sage::after{background:linear-gradient(0deg,#5E807C 16%,rgba(132,164,161,.5) 48%,transparent 80%);}
.tcard-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(22px,2.5vw,30px);color:#fff;}
.tcard-body h3{color:#fff;font-size:clamp(1.3rem,1.1rem+0.6vw,1.6rem);margin:0 0 8px;}
.tcard-body p{color:rgba(255,255,255,.92);margin:0 0 14px;font-size:1rem;line-height:1.45;}
.tcard .more{font-family:'urbane-rounded',sans-serif;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:8px;}
.tcard .more::after{content:'→';transition:transform .15s ease;}
.tcard:hover .more::after{transform:translateX(5px);}

/* recensioni: banda sage */
.reviews-band{background:#84A4A1;padding:clamp(56px,7vw,96px) 0;}
.reviews-band .rev-card{background:#fff;border:0;box-shadow:0 18px 42px -28px rgba(0,0,0,.45);}
.reviews-band .rev-card p{color:var(--ink-soft);}

@media (max-width:1024px){
	.treat-checker{grid-template-columns:repeat(3,minmax(0,1fr));}
	.team-row{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:760px){
	.disc-circle{margin-left:0;width:clamp(120px,40vw,180px);}
	/* qui il cerchio cresce rispetto alla viewport: l'icona lo segue, altrimenti si perde */
	.disc-ic{width:clamp(44px,15vw,68px);height:clamp(44px,15vw,68px);}
	.disc-circles{flex-wrap:wrap;gap:10px;width:auto;margin-left:0;}
	.treat-checker{grid-template-columns:repeat(2,minmax(0,1fr));}
	.team-row{grid-template-columns:repeat(2,1fr);}
	.team-band{background:#044845;}
	.team-band::before{height:100%;}
}
@media (max-width:560px){
	/* mobile: una colonna, coppie foto+testo unite; spazio solo tra una terapia e l'altra */
	.treat-checker{grid-template-columns:1fr;row-gap:0;}
	.treat-checker .tphoto{aspect-ratio:16/10;border-radius:14px 14px 0 0;}
	.treat-checker .ttext{aspect-ratio:auto;align-items:flex-start;border-radius:0 0 14px 14px;margin-bottom:18px;}
	.treat-checker > :last-child{margin-bottom:0;}
	/* card team molto strette: recupero larghezza utile per tenere il nome su una riga */
	.tmember .tbar{padding:34px 10px 14px;}
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .grid.cols-3{grid-template-columns:repeat(2,1fr);}
  .disc-grid .disc-card{flex-basis:calc((100% - 24px)/2);}
  .det-body,.contact-grid,.disc-appr-grid{grid-template-columns:1fr;}
  .site-footer .cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .main-nav,.header-cta{display:none;}
  .menu-toggle{display:flex;}
  .mobile-nav{display:none;flex-direction:column;gap:6px;padding:16px clamp(20px,5vw,48px) 24px;border-bottom:1px solid var(--line);background:#fff;}
  .mobile-nav.open{display:flex;}
  .mobile-nav a{font-family:'urbane-rounded',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--green-deep);padding:12px 8px;border-radius:10px;}
  .mobile-nav a:hover{background:var(--paper-2);}
  .hero .hero-overlay{background:linear-gradient(180deg,rgba(14,74,68,.78),rgba(14,74,68,.92));}
  .hero .hero-photo{background-position:center;}
}
@media (max-width:680px){
  .grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr;}
  .disc-grid .disc-card{flex-basis:100%;}
  .frow{grid-template-columns:1fr;}
  .pickgrid{grid-template-columns:1fr 1fr;}
  .daysrow{grid-template-columns:repeat(3,1fr);}
  .slotrow{grid-template-columns:1fr;}
  .site-footer .cols{grid-template-columns:1fr;}
  .site-footer .base{flex-direction:column;}
  .book-band .meta{flex-direction:column;gap:10px;}
}


/* ===== Home: trattamenti per righe (PDF Modifiche) ===== */
.treat-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);}
/* ogni voce = foto (con etichetta) + card di testo, come nella scacchiera precedente;
   qui però sono 3 per riga, che è la distribuzione chiesta nel PDF */
.trt-item{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -26px rgba(14,77,64,.6);transition:transform .2s ease,box-shadow .2s ease;}
.trt-item:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(14,77,64,.7);}
/* tessera senza pagina di destinazione: niente effetto "cliccami" */
.trt-item.is-static{cursor:default;}
.trt-item.is-static:hover{transform:none;box-shadow:0 18px 40px -26px rgba(14,77,64,.6);}
.trt-photo{position:relative;display:flex;align-items:flex-end;aspect-ratio:16/10;background-size:cover;background-position:center;}
.trt-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,77,64,.92) 6%,rgba(14,77,64,.42) 42%,transparent 74%);}
.trt-item .tlabel{position:relative;z-index:1;color:#fff;font-family:'urbane-rounded',sans-serif;font-weight:700;font-size:clamp(.86rem,1.05vw,1.04rem);letter-spacing:.04em;padding:0 18px 16px;}
/* flex:1 → dentro la stessa riga le card di testo si pareggiano in altezza */
.trt-text{flex:1;padding:clamp(15px,1.6vw,22px);color:rgba(255,255,255,.96);font-size:clamp(.83rem,.95vw,.97rem);line-height:1.45;}
.trt-text--sage{background:linear-gradient(160deg,#90AEA8,#7B9C98);}
.trt-text--dark{background:linear-gradient(160deg,#13564A,#0C463A);}
.trt-text--bright{background:linear-gradient(160deg,#62AC82,#4B956F);}
@media(max-width:760px){.treat-rows{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.treat-rows{grid-template-columns:1fr;}}

/* ===== Home: sezione Ergonomia e postura (PDF Modifiche), fra Trattamenti e Team =====
   Le due card usano la stessa identica grafica delle tessere trattamenti (.trt-item):
   richiesta esplicita dell'utente, non devono avere un linguaggio grafico diverso.
   Qui il contenitore serve solo a metterle in due colonne e a limitarne la larghezza. */
.ergo-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);max-width:920px;margin:0 auto;}
@media(max-width:640px){.ergo-cards{grid-template-columns:1fr;}}


/* ===== Visite specialistiche: gruppi (PDF Modifiche) ===== */
.visite-group{margin-bottom:clamp(34px,4vw,52px);}
.visite-group:last-child{margin-bottom:0;}
.visite-group-label{font-size:clamp(1.15rem,1rem+0.6vw,1.5rem);color:var(--green-deep);margin:0 0 clamp(16px,2vw,24px);padding-bottom:12px;border-bottom:2px solid var(--line-2);}
/* pill statica = pulsante non cliccabile (prestazioni) */
.pill.is-static{cursor:default;background:var(--paper-2);color:var(--green-deep);border-color:var(--line-2);}
.pill.is-static:hover{background:var(--paper-2);color:var(--green-deep);border-color:var(--line-2);}


/* ===== Trattamenti: gruppi + tecniche correlate (PDF Modifiche) ===== */
.tratt-group{margin-bottom:clamp(38px,4.5vw,60px);}
.tratt-group:last-child{margin-bottom:0;}
.tratt-group-label{font-size:clamp(1.15rem,1rem+0.6vw,1.5rem);color:var(--green-deep);margin:0 0 clamp(16px,2vw,24px);padding-bottom:12px;border-bottom:2px solid var(--line-2);}
.det-related{padding:0 0 clamp(30px,4vw,56px);}
.det-related h3{font-size:var(--fs-h3);margin:0 0 16px;color:var(--green-deep);}


/* ===== Team: gruppi per categoria (PDF Modifiche) ===== */
.team-group{margin-bottom:clamp(34px,4vw,54px);}
.team-group:last-child{margin-bottom:0;}
.team-group-label{font-size:clamp(1.15rem,1rem+0.6vw,1.5rem);color:var(--green-deep);margin:0 0 clamp(16px,2vw,24px);padding-bottom:12px;border-bottom:2px solid var(--line-2);}
/* I gruppi hanno 1 o 2 membri su 4 colonne: con repeat(4,1fr) le card restavano
   schiacciate a sinistra lasciando un vuoto (segnalato da Liana, chat 30/07).
   Con auto-fit + larghezza massima le card tengono la misura di sempre (~268px)
   ma il gruppo si centra qualunque sia il numero di persone. */
.team-group .grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(0,268px));justify-content:center;}


/* ===== Contatti: mappa (PDF Modifiche) ===== */
.contact-map{flex:1;min-height:240px;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px -30px rgba(14,77,64,.5);}
.contact-map iframe{width:100%;height:100%;min-height:240px;border:0;display:block;}
