/*
Theme Name: Barbara G. Sorge
Theme URI: https://barbaragiovannasorge.it/
Author: Cima Progetti
Author URI: https://cimaprogetti.it/
Description: Tema su misura per barbaragiovannasorge.it — Struttura Maieutica Reciproca Integrata. Colonna centrale come un telefono, sfondo verde, pagine bianche.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: Proprietario
Text Domain: barbara-sorge
*/

/* ---------- Font (Lato, nel tema: niente Google Fonts) ---------- */
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lato-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lato-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/lato-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/lato-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/lato-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/lato-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Colori e misure ---------- */
:root{
  --verde:#99CC33;        /* sfondo del sito, testi in evidenza */
  --verde-cerchio:#7CB342;/* cerchi delle frecce e dei numeri */
  --verde-cta:#8aae16;    /* pulsanti WhatsApp */
  --verde-cta-hover:#7c9d12;
  --scuro:#3b431f;        /* titoli */
  --testo:#414a2b;        /* paragrafi */
  --grigio:#5a6247;       /* note, fonti */
  --grigio-chiaro:#8a927a;
  --home-testo:#1c2606;
  --home-sotto:#28340a;
  --scheda:#f5f2e9;       /* fondo della scheda che sale dal basso */
  --bordo:rgba(107,122,63,.18);
  --larghezza:520px;
  --font:Lato,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--verde);color:var(--testo);font-family:var(--font);font-size:15px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:inherit}
button{font-family:inherit}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@keyframes screenIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes sheetDown{from{transform:translateY(0)}to{transform:translateY(100%)}}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
@keyframes overlayOut{from{opacity:1}to{opacity:0}}

/* La colonna: come lo schermo di un telefono, centrata sul verde */
.app{position:relative;max-width:var(--larghezza);margin:0 auto;min-height:100vh;min-height:100dvh}
.schermo{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;animation:screenIn .35s ease-out both}
@media (prefers-reduced-motion:reduce){.schermo,.scheda,.scheda__sfondo{animation:none!important}}

/* ---------- Home ---------- */
.schermo--home{padding:96px 26px 30px;color:var(--home-testo)}
.home__testa{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.home__logo{display:block;width:220px;height:auto;margin:0 auto}
.home__logo img{display:block;width:100%;height:auto;object-fit:contain}
.home__frase{margin:0;font-size:13px;font-weight:600;letter-spacing:.3px;line-height:1.6;color:var(--home-sotto);text-align:justify;text-align-last:center}

.home__pulsanti{display:flex;flex-direction:column;gap:11px;margin-top:34px;padding:0;list-style:none}
.home__coppia{display:flex;gap:11px}
.home__coppia .pulsante{flex:1;min-width:0}
.pulsante{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid rgba(59,67,31,.16);color:var(--scuro);text-decoration:none;text-align:left;font-size:17px;font-weight:700;line-height:1.3;transition:background .15s,transform .12s}
.home__coppia .pulsante{padding:16px;gap:8px}
.pulsante:active{transform:scale(.97)}
.pulsante svg{flex:none}

.home__contatti{margin-top:auto;padding-top:34px;display:flex;flex-direction:column;align-items:center;gap:4px}
.home__scrivimi{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(36,48,6,.6)}
.home__icone{display:flex;gap:2px}
.home__icone a{width:64px;height:64px;color:#232d0f;display:grid;place-items:center;text-decoration:none;transition:transform .12s}
.home__icone a:active{transform:scale(.9)}
.home__firma{margin-top:6px;font-size:10px;color:rgba(36,48,6,.5);text-align:center}
.home__firma a{color:inherit;text-decoration:underline}

/* ---------- Pagine interne (schermata bianca) ---------- */
.schermo--pagina{background:#fff;color:var(--scuro)}
.schermo__testa{padding:56px 24px 0;display:flex;align-items:center;gap:13px}
.indietro{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;background:transparent;border:none;cursor:pointer;flex:none;transition:transform .12s;text-decoration:none}
.indietro:active{transform:scale(.9)}
.schermo__corpo{padding:20px 24px 34px;flex:1}
.sopratitolo{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--verde);min-height:1em}
.titolo{margin:8px 0 20px;font-weight:500;font-size:31px;line-height:1.15;color:var(--scuro)}
.titolo--lungo{font-size:26px;line-height:1.2}
.schermo__fine{margin:24px 0 0;font-size:13px;color:var(--grigio-chiaro)}

/* Foto in evidenza accanto al primo paragrafo (come in «Chi sono») */
.testo--con-foto::before{content:"";display:block}
.foto-accanto{float:left;width:108px;height:128px;margin:0 16px 10px 0;border-radius:14px;object-fit:cover;object-position:center top;border:1px solid rgba(107,122,63,.22)}
.foto-sopra{display:block;width:100%;max-width:210px;height:auto;margin:0 auto 22px;border-radius:14px}
.testo::after{content:"";display:table;clear:both}

/* ---------- Il testo delle pagine (blocchi dell'editor) ---------- */
.testo>*{margin:0 0 15px}
.testo p{font-size:15px;line-height:1.65;color:var(--testo)}
.testo p.has-small-font-size{font-size:14px;line-height:1.6}
.testo p.has-normal-font-size{font-size:15px}
.testo p.has-medium-font-size{font-size:16px;line-height:1.5}
.testo strong{font-weight:700}
.testo a{color:var(--scuro);text-decoration:underline}
.testo h2{margin:10px 0 16px;font-size:16px;font-weight:800;text-decoration:underline;color:var(--scuro);line-height:1.3}
.testo h3{margin:0 0 10px;font-size:14.5px;font-weight:700;color:var(--testo);line-height:1.4}
.testo h4{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--scuro);line-height:1.4}
.testo ul,.testo ol{margin:0 0 22px;padding-left:20px;font-size:14.5px;line-height:1.55;color:var(--testo)}
.testo li{margin:0 0 13px}
.testo li:last-child{margin-bottom:0}
.testo li ul,.testo li ol{margin:10px 0 0;padding-left:18px;font-size:13.5px;color:#4a5230}
.testo li li{margin-bottom:9px}
.testo blockquote{margin:0 0 20px;padding:0;border:none;text-align:center}
.testo blockquote p{margin:0 0 6px;font-size:13.5px;font-style:italic;line-height:1.5;color:var(--verde)}
.testo blockquote cite{display:block;font-size:15px;font-weight:700;font-style:normal;line-height:1.5;color:var(--verde)}
.testo figure{margin:0 0 22px}
.testo .wp-block-image img{display:block;margin:0 auto;height:auto}
.testo .wp-block-image:not(.alignfull):not(.alignwide) img{max-width:320px;width:100%}
.testo .wp-block-image.is-resized img{max-width:100%}
.testo .wp-block-image figcaption{margin:8px 0 0;font-size:13px;color:var(--grigio);text-align:center}
.testo hr{border:none;border-top:1px solid var(--bordo);margin:22px 0}
.testo .wp-block-separator{border-top:1px solid var(--bordo);border-bottom:none}
.testo .wp-block-table table{width:100%;border-collapse:collapse;font-size:14px}
.testo .wp-block-table td,.testo .wp-block-table th{border:1px solid var(--bordo);padding:8px 10px}
/* Stili scelti dal menu «Stili» del blocco paragrafo */
.testo p.is-style-evidenza{font-size:16px;font-weight:700;line-height:1.5;color:var(--verde);margin-bottom:18px}
.testo p.is-style-citazione{font-size:15px;font-style:italic;line-height:1.65;color:var(--verde)}
.testo p.is-style-citazione.has-text-align-center{font-size:13.5px;line-height:1.5;margin-bottom:6px}
.testo p.is-style-corsivo{font-style:italic;color:var(--scuro)}
.testo p.is-style-nota{font-size:14px;font-style:italic;line-height:1.6;color:var(--grigio)}
.testo p.is-style-firma{font-weight:700;line-height:1.6;margin-bottom:30px}
/* Colori della tavolozza (theme.json) */
.has-verde-color{color:var(--verde)!important}
.has-verde-scuro-color{color:var(--scuro)!important}
.has-testo-color{color:var(--testo)!important}
.has-grigio-color{color:var(--grigio)!important}
.has-bianco-color{color:#fff!important}
.has-verde-background-color{background-color:var(--verde)!important}
.has-bianco-background-color{background-color:#fff!important}
.has-scheda-background-color{background-color:var(--scheda)!important}
/* Distintivo SMRI (gruppo con classe «distintivo») */
.testo .distintivo{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(107,122,63,.07);border:1px solid rgba(107,122,63,.16);margin-bottom:24px}
.testo .distintivo figure{margin:0;flex:none}
.testo .distintivo img{width:48px;height:34px;object-fit:contain;max-width:none}
.testo .distintivo p{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.8px;line-height:1.35;color:#4a5230;text-transform:uppercase}
/* Pulsanti nel testo (blocco Pulsanti) */
.testo .wp-block-buttons{margin:22px 0 0;justify-content:center}
.testo .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:6px;background:#d8d8d3;border:1px solid rgba(59,67,31,.2);color:#3d5a1a;font-size:13.5px;font-weight:700;text-decoration:none;line-height:1.3}
.testo .wp-block-button__link:hover{background:#cfcfc9}

/* ---------- Pubblicazioni (gli articoli) ---------- */
.pubblicazioni{margin:10px 0 0}
.pubblicazioni__titolo{margin:0 0 8px;font-size:16px;font-weight:800;text-decoration:underline;color:var(--scuro)}
.pubblicazioni__sotto{margin:0 0 14px;font-size:14.5px;font-weight:700;color:var(--testo)}
.pubblicazioni__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pubblicazioni__fonte{font-size:13.5px;color:var(--grigio)}
.pubblicazioni__nome{display:block;font-size:14.5px;font-weight:700;font-style:italic;color:var(--scuro);text-decoration:none}
a.pubblicazioni__nome{text-decoration:underline}
.pubblicazioni__vuoto{font-size:14px;color:var(--grigio);font-style:italic}

/* ---------- Servizi (elenco numerato + scheda) ---------- */
.servizi{display:flex;flex-direction:column;margin:0 0 32px;padding:0;list-style:none}
.servizio{display:flex;align-items:center;gap:14px;padding:16px 4px;width:100%;text-align:left;border:none;border-bottom:1px solid var(--bordo);background:none;cursor:pointer;color:var(--scuro);transition:transform .12s,background .15s}
.servizi li:last-child .servizio{border-bottom:none}
.servizio:hover{background:rgba(107,122,63,.06)}
.servizio:active{transform:scale(.97)}
.servizio__n,.servizio__piu{flex:none;border-radius:50%;background:var(--verde-cerchio);color:#fff;display:grid;place-items:center;font-weight:800}
.servizio__n{width:30px;height:30px;font-size:14px}
.servizio__piu{width:26px;height:26px;margin-left:auto;font-size:16px}
.servizio__nome{flex:1;font-weight:600;font-size:24px;line-height:1.2}

.scheda__sfondo{position:fixed;inset:0;background:rgba(28,38,6,.45);z-index:30;display:flex;align-items:flex-end;justify-content:center;animation:overlayIn .25s ease-out}
.scheda__sfondo.chiude{animation:overlayOut .3s ease-out forwards}
.scheda{width:100%;max-width:var(--larghezza);max-height:78%;overflow-y:auto;background:var(--scheda);border-radius:22px 22px 0 0;padding:22px 24px 28px;box-shadow:0 -10px 30px rgba(0,0,0,.2);animation:sheetUp .32s cubic-bezier(.22,.8,.36,1)}
.chiude .scheda{animation:sheetDown .3s cubic-bezier(.4,0,1,1) forwards}
.scheda__maniglia{width:36px;height:4px;border-radius:2px;background:rgba(107,122,63,.3);margin:0 auto 18px}
.scheda__titolo{margin:0 0 14px;font-weight:600;font-size:22px;color:var(--scuro);line-height:1.2}
.scheda__benefici{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px}
.scheda__benefici li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--scuro)}
.scheda__benefici li::before{content:"✓";color:var(--verde);font-weight:800;flex:none}
.scheda__testo p{margin:0 0 22px;font-size:14.5px;line-height:1.65;color:var(--testo)}
.scheda__cta{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:14px;background:var(--verde-cta);color:var(--home-testo);text-decoration:none;font-weight:700;font-size:14px;transition:transform .12s}
.scheda__cta:active{transform:scale(.96)}
.scheda__chiudi{display:block;margin:14px auto 0;background:none;border:none;color:var(--verde);font-weight:600;font-size:12px;cursor:pointer}
body.scheda-aperta{overflow:hidden}

/* ---------- Pulsante WhatsApp a fine pagina ---------- */
.cta{display:flex;align-items:center;justify-content:center;margin:34px 0 0;padding:16px 18px;border-radius:14px;background:var(--verde-cta);color:#fff;text-decoration:none;font-weight:700;font-size:15px;line-height:1.35;text-align:center;transition:transform .12s,background .15s}
.cta:hover{background:var(--verde-cta-hover)}
.cta:active{transform:scale(.98)}

/* ---------- Articolo singolo ---------- */
.articolo__link{margin-top:26px}

/* ---------- Note legali ---------- */
.testo h4+p{margin-bottom:22px;font-size:14.5px}
.legali__fine{padding-top:20px;border-top:1px solid rgba(107,122,63,.2);font-size:12.5px;line-height:1.7;color:var(--grigio)}
.legali__fine div{margin:0}

/* ---------- Elenco articoli (archivio) ---------- */
.archivio .pubblicazioni{margin-top:0}

/* Schermi larghi: la colonna resta 520, il resto verde */
@media (min-width:560px){
  .app{box-shadow:0 30px 60px -20px rgba(40,45,20,.25)}
}
