/* Dott. Jacopo Onorio Locatelli – Biologo Nutrizionista
   Palette presa dal logo dello studio */
:root{
  --verde-scuro:#2F5D50;
  --verde-medio:#5E8B6E;
  --salvia:#9DBA8A;
  --salvia-chiaro:#E7EFE3;
  --salvia-fondo:#F4F7F2;
  --pesca:#E2A47F;
  --testo:#33403B;
  --testo-tenue:#4E6259;
  --linea:#D3DECF;
  --bianco:#FFFFFF;
  --max:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bianco);color:var(--testo);
  font-family:'Jost','Futura','Century Gothic',sans-serif;
  font-weight:400;font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde-scuro);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#1E3F36}
:focus-visible{outline:2px solid var(--pesca);outline-offset:3px}
h1,h2,h3{color:var(--verde-scuro);font-weight:400;line-height:1.15;margin:0}
h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:300;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:300}
h3{font-size:1.2rem;font-weight:500}
p{margin:0 0 1em}
.contenitore{max-width:var(--max);margin:0 auto;padding:0 28px}
.salta{position:absolute;left:-999px;top:8px;background:var(--verde-scuro);color:#fff;padding:10px 16px;z-index:10}
.salta:focus{left:8px}

/* Intestazione */
.testata{border-bottom:1px solid var(--linea);background:var(--bianco)}
.testata .contenitore{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:16px;padding-bottom:16px}
.marchio{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--verde-scuro)}
.marchio img{width:58px}
.marchio span{display:flex;flex-direction:column;line-height:1.2}
.marchio strong{font-weight:400;font-size:1.25rem}
.marchio small{font-size:.85rem;letter-spacing:.18em;color:var(--testo-tenue)}
.menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;font-size:1rem}
.menu a{text-decoration:none;padding:8px 0}
.menu a:hover,.menu a[aria-current="page"]{text-decoration:underline}
.bottone{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 26px;border-radius:999px;background:var(--verde-scuro);color:#fff !important;text-decoration:none !important;font-weight:500;border:1px solid var(--verde-scuro);font:inherit;font-weight:500;cursor:pointer}
.bottone:hover{background:#244a40}
.bottone.chiaro{background:transparent;color:var(--verde-scuro) !important}
.bottone.chiaro:hover{background:var(--salvia-chiaro)}
.menu .bottone{padding:8px 22px}

/* Apertura con le tappe */
.apertura{background:var(--salvia-chiaro)}
.apertura .contenitore{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:80px;padding-bottom:88px}
.apertura .testo{flex:1 1 420px;min-width:0}
.apertura .testo p{font-size:1.2rem;max-width:32em;margin:22px 0 30px}
.apertura .tappe{flex:1 1 420px;min-width:0}
.azioni{display:flex;flex-wrap:wrap;gap:12px}

/* Sezioni */
.sezione{padding:96px 0}
.sezione.tinta{background:var(--salvia-fondo)}
.sezione .intro{max-width:36em;margin:14px 0 48px}
.due-colonne{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.due-colonne > *{flex:1 1 380px;min-width:0}
.foto{max-width:440px}
.foto img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* Tabelle con bordi sottili, come nei piani */
table{border-collapse:collapse;width:100%}
.tabella-dati td{padding:14px 18px 14px 0;border-top:1px solid var(--linea);vertical-align:top}
.tabella-dati tr:last-child td{border-bottom:1px solid var(--linea)}
.tabella-dati td:first-child{color:var(--testo-tenue);width:32%}
.tabella-sedi{min-width:560px}
.tabella-sedi th{text-align:left;font-weight:500;color:var(--verde-scuro);padding:10px 18px 10px 0;border-bottom:1px solid var(--verde-scuro)}
.tabella-sedi td{padding:14px 18px 14px 0;border-bottom:1px solid var(--linea)}
.scorre{overflow-x:auto}

/* Servizi */
.elenco-servizi{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:56px}
.elenco-servizi article{border-top:1px solid #C3D3BE;padding:24px 0 34px}
.elenco-servizi h3{margin-bottom:8px}
.elenco-servizi p{margin:0 0 10px}

/* Percorso */
.percorso{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:40px 32px;counter-reset:tappa}
.percorso li{position:relative}
.percorso .icona{width:62px;height:62px;border-radius:50%;border:2px solid var(--verde-scuro);display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:var(--bianco)}
.percorso li:last-child .icona{background:var(--pesca)}
.percorso h3{margin-bottom:6px}
.percorso p{font-size:1rem;margin:0}
.percorso .numero{display:block;font-size:.95rem;color:var(--testo-tenue);margin-bottom:2px}

/* Pagine interne */
.pagina-titolo{background:var(--salvia-chiaro);padding:64px 0 56px}
.pagina-titolo p{max-width:36em;font-size:1.15rem;margin:16px 0 0}
.testo-lungo{max-width:44em}
.testo-lungo h2{font-size:1.7rem;margin:44px 0 14px}
.testo-lungo ul{padding-left:1.2em;margin:0 0 1em}
.testo-lungo li{margin-bottom:6px}
.altri-servizi{display:flex;flex-wrap:wrap;gap:10px 28px;padding:0;list-style:none}

/* Modulo contatti */
.modulo{display:flex;flex-direction:column;gap:18px}
.modulo .riga{display:flex;flex-wrap:wrap;gap:18px}
.modulo .riga > label{flex:1 1 220px}
.modulo label{display:flex;flex-direction:column;gap:6px;font-size:.98rem;color:var(--verde-scuro)}
.modulo input[type=text],.modulo input[type=email],.modulo input[type=tel],.modulo textarea{
  font:inherit;color:var(--testo);background:var(--bianco);border:1px solid #AFC3AA;border-radius:0;padding:11px 14px;min-height:46px;width:100%}
.modulo textarea{min-height:150px;resize:vertical}
.modulo input:focus,.modulo textarea:focus{border-color:var(--verde-scuro);outline:2px solid var(--salvia);outline-offset:0}
.modulo .consenso{flex-direction:row;align-items:flex-start;gap:10px;color:var(--testo);font-size:.95rem}
.modulo .consenso input{width:20px;height:20px;margin-top:3px;accent-color:var(--verde-scuro);flex:none}
.modulo .bottone{align-self:flex-start}
.trappola{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.avviso{padding:14px 18px;border-left:3px solid var(--verde-scuro);background:var(--salvia-fondo);margin-bottom:20px}
.avviso.errore{border-left-color:#A4492A}

/* Fascia finale, come la copertina dei piani */
.fascia{background:#DCE7DA;color:var(--verde-scuro);padding:48px 0;font-size:.98rem}
.fascia .contenitore{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.fascia .firma{display:flex;align-items:center;gap:18px}
.fascia .firma img{width:76px}
.fascia .firma strong{display:block;font-weight:400;font-size:1.3rem}
.fascia .legale{font-size:.92rem;line-height:1.7}
.fascia .legale p{margin:0}

@media (max-width:720px){
  .sezione{padding:68px 0}
  .apertura .contenitore{padding-top:52px;padding-bottom:60px}
  .menu{gap:4px 18px}
  .marchio img{width:48px}
}
.testo-lungo h3{margin:26px 0 6px}
.contenitore.testo-lungo{max-width:var(--max)}
.contenitore.testo-lungo > *{max-width:44em}
.bottone.grande{min-height:56px;padding:14px 38px;font-size:1.15rem}
