/*
Theme Name:   Nido Il Sorriso — Astra Child
Theme URI:    https://www.nidoilsorriso.it/
Description:  Child theme di Astra per Micronido Il Sorriso. Riproduce l'identità visiva del sito (font Lato, arancione #e85316, header/footer dedicati, cerchi dipinti a mano). Parte del progetto di standardizzazione del parco siti su Astra.
Author:       Emanuele Zamboni / valuenet — Atelier Orlandi
Template:     astra
Version:      1.1.5
Text Domain:  nidoilsorriso-astra
*/

/* =========================================================
   1. DESIGN TOKENS — identità Micronido Il Sorriso
   ========================================================= */
:root{
  --ns-brand:      #e85316;   /* arancione principale (logo, titoli, footer) */
  --ns-brand-dark: #d1440d;   /* hover / stati attivi */
  --ns-text:       #111111;   /* testo corpo */
  --ns-muted:      #8c9091;   /* grigio nav / testo secondario */
  --ns-lilac:      #cdb8ec;   /* cerchio "Chi siamo" (fallback) */
  --ns-yellow:     #f7d269;   /* cerchio "Il servizio" (fallback) */
  --ns-coral:      #e07a5a;   /* cerchio "Contatti" (fallback) */
  --ns-footer-bg:  #e85316;
  --ns-white:      #ffffff;
  --ns-line:       #eadfd8;
  --hero-h:        70vh;
}

/* =========================================================
   2. BASE — tipografia
   ========================================================= */
body,.ast-container,button,input,select,textarea{
  font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--ns-text);font-size:17px;line-height:1.7;}
h1,h2,h3,h4,h5,h6,.entry-title{
  font-family:"Lato",sans-serif;color:var(--ns-brand);font-weight:600;line-height:1.2;}
h1,.entry-title{font-size:46px;} h2{font-size:34px;} h3{font-size:24px;}

a{color:var(--ns-brand);text-decoration:none;}
a:hover,a:focus{color:var(--ns-brand-dark);}

/* Sottotitolo corsivo tipico (H3 sotto il titolo pagina) */
.ns-subtitle,.wp-block-heading.is-style-ns-subtitle,.ns-kicker{
  font-style:italic;font-weight:600;color:var(--ns-brand);}
.ns-kicker{color:var(--ns-muted);margin-top:-.4em;}

/* =========================================================
   3. HEADER / MENU — logo a sinistra, menu a destra
   ========================================================= */
.site-header,.ast-primary-header-bar{background:var(--ns-white);}
/* Header alto 100px (standard parco) */
.ast-primary-header-bar,.ast-primary-header-bar .site-primary-header-wrap{min-height:100px!important;}
/* Logo dimensione come originale */
.custom-logo,.site-logo-img .custom-logo,.ast-site-identity .custom-logo{max-width:200px!important;height:auto!important;}
/* Titolo sito nascosto (mostriamo solo il logo) */
.site-title{display:none!important;}

.main-header-menu .menu-link,.ast-header-navigation-arrow,.main-navigation a{
  font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:13px;color:var(--ns-muted)!important;}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item>.menu-link,
.main-header-menu .current-menu-ancestor>.menu-link{color:var(--ns-brand)!important;}
.main-header-menu .current-menu-item>.menu-link{box-shadow:inset 0 -3px 0 0 var(--ns-brand);}

/* Icona social (Facebook) in coda al menu */
.ns-social-item{display:flex;align-items:center;}
.ns-fb-link{display:inline-flex;width:34px;height:34px;border-radius:50%;
  background:#f3e2da;color:var(--ns-brand)!important;align-items:center;justify-content:center;
  text-decoration:none;margin-left:12px;line-height:1;transition:background .2s,color .2s;}
.ns-fb-link:hover{background:var(--ns-brand);color:#fff!important;}
.ns-fb-link svg{width:16px;height:16px;fill:currentColor;display:block;}

/* Burger mobile arancione */
.ast-mobile-menu-trigger-minimal,.ast-mobile-menu-trigger-fill,
.main-header-menu-toggle,.menu-toggle .ast-icon,.menu-toggle .ast-mobile-svg{color:var(--ns-brand)!important;fill:var(--ns-brand)!important;}

/* =========================================================
   4. HERO — cover a tutta larghezza, a filo sotto il menu
   ========================================================= */
/* Rimuove il padding superiore del contenitore così l'hero parte subito */
.ast-separate-container .site-content>.ast-container{padding-top:0!important;}
.ast-separate-container .ast-article-single,.ast-separate-container .ast-article-post{padding-top:0!important;}
#primary{margin-top:0!important;padding-top:0!important;}
.entry-content{margin-top:0!important;}

.wp-block-cover.alignfull{min-height:var(--hero-h)!important;}
/* I cover sono stati convertiti in Custom HTML (validita' blocchi): riproduco qui
   il comportamento del blocco cover, cosi' l'immagine copre il contenitore anche
   senza il CSS del core block. */
.wp-block-cover{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center;}
.wp-block-cover .wp-block-cover__image-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0;margin:0;max-width:none;border-radius:0;}
.wp-block-cover .wp-block-cover__background{position:absolute;inset:0;}
.wp-block-cover .wp-block-cover__inner-container{position:relative;z-index:1;width:100%;}
.ns-hero{width:100%;min-height:420px;background-size:cover;background-position:center;}
.ns-page-title{color:var(--ns-brand);font-size:46px;font-weight:600;margin:0;}

/* Contenitore Smart Slider 3 in home (hero slideshow) */
.ns-home-slider{width:100%;line-height:0;}

/* =========================================================
   5. CONTENUTO PAGINE
   ========================================================= */
.ns-textblock-wrap{background:var(--ns-white);}
.ns-textblock{max-width:1160px;margin:0 auto;padding:64px 24px;}
.ns-textblock.ns-center{text-align:center;}
.ns-home-intro h1{margin-bottom:.1em;}
.ns-home-intro h3,.ns-subtitle{margin-top:0;}
.ns-block{margin:10px 0;}
.ns-block h3,.ns-block h2{margin-bottom:.15em;font-weight:700;}
.textBlack{font-weight:700;}
.wp-block-columns.alignwide{max-width:1160px;margin-left:auto;margin-right:auto;gap:40px;align-items:center;}
/* Colonne appiattite in Custom HTML (validita' blocchi): riproduco il layout flex
   del blocco columns, che altrimenti perde le classi di layout generate a runtime */
.wp-block-columns{display:flex;flex-wrap:wrap;gap:2em;}
.wp-block-columns.are-vertically-aligned-center{align-items:center;}
.wp-block-column{flex-grow:1;flex-basis:0;min-width:0;}
.wp-block-column[style*="flex-basis"]{flex-grow:0;}
.wp-block-column.is-vertically-aligned-center{align-self:center;}
/* Da desktop niente wrap (come il core): le colonne si adattano al gap senza andare a capo */
@media(min-width:782px){.wp-block-columns{flex-wrap:nowrap!important;}}
@media(max-width:781px){.wp-block-columns{flex-direction:column;}.wp-block-column{flex-basis:100%!important;}}
.image-container img,.wp-block-image img{border-radius:8px;}
.wp-block-columns .wp-block-image img{max-height:340px;width:auto;}
.ns-fullwidth-img{width:100%;display:block;}
/* Immagini full-width decorative */
.immagineInterno,.immagineGiardino{background-attachment:scroll;}

/* =========================================================
   6. BOX COLORATI ARROTONDATI (come originale YOOtheme)
   ========================================================= */
.ns-cbox{padding:20px;border-radius:20px;margin-top:10px;}
.ns-cbox p:last-child,.ns-cbox ul:last-child{margin-bottom:0;}
.backgroundChiSiamo1{background:#a9d153;}
.backgroundChiSiamo2{background:#ef2e8b;}
.backgroundChiSiamo2,.backgroundChiSiamo2 p,.backgroundChiSiamo2 li,.backgroundChiSiamo2 strong,.backgroundChiSiamo2 a{color:#fff!important;}
.backgroundChiSiamo3{background:#2fd1dd;}
.backgroundGenitorialita{background:#f4a08c;}
.backgroundContinuita{background:#b5bae8;}
.backgroundComunita{background:#ffe7b2;}

/* =========================================================
   7. CERCHI "DIPINTI A MANO" — nav home + pre-footer interne
   ========================================================= */
.ns-circles{display:flex;justify-content:center;align-items:center;gap:6%;flex-wrap:wrap;padding:40px 0 60px;}
.ns-circle-link{display:inline-block;line-height:0;transition:transform .2s ease;}
.ns-circle-link:hover{transform:translateY(-5px) scale(1.04);}
.ns-circle-img{width:243px;height:auto;display:block;}
/* Fallback colore/forma se manca la PNG dipinta */
.ns-circle{width:243px;height:218px;display:flex;align-items:center;justify-content:center;
  color:var(--ns-white);font-size:28px;font-weight:600;text-align:center;
  background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .2s ease;}
.ns-circle:hover{transform:translateY(-4px) scale(1.03);color:var(--ns-white);}
.ns-circle--chisiamo{background-color:var(--ns-lilac);border-radius:48% 52% 55% 45%/52% 48% 52% 48%;}
.ns-circle--servizio{background-color:var(--ns-yellow);border-radius:52% 48% 46% 54%/48% 55% 45% 52%;}
.ns-circle--contatti{background-color:var(--ns-coral);border-radius:50% 50% 52% 48%/55% 45% 55% 45%;}
/* Blocco cerchi come pre-footer nelle pagine interne */
.ns-prefooter-circles{background:var(--ns-white);}

/* =========================================================
   8. CERTIFICAZIONI
   ========================================================= */
.ns-cert-cols{align-items:stretch;}
.ns-cert{border:1px solid var(--ns-line);border-radius:14px;padding:18px;text-align:center;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06);height:100%;}
.ns-cert-title{color:var(--ns-brand)!important;text-align:center;margin:0 0 14px;font-size:18px;font-weight:700;}
.ns-cert-img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:6px;}

/* =========================================================
   9. CONTATTI — box grigio + mappa Leaflet
   ========================================================= */
.ns-contact{line-height:1.9;}
.backgroundContatti{background:#e3e3e3!important;}
.backgroundContatti .ns-textblock{padding:40px 24px;}
.wp-block-separator.separator{max-width:90px;border-top-width:3px;color:var(--ns-brand);opacity:1;margin:24px auto;}
.ns-map{max-width:1160px;margin:0 auto 60px;padding:0 24px;}
.ns-map iframe{width:100%;border:0;border-radius:8px;display:block;}
.ns-map .leaflet-container{width:100%;height:420px;border-radius:8px;}

/* =========================================================
   10. PAGINE LEGALI
   ========================================================= */
.ns-legal{text-align:left;font-size:15px;line-height:1.7;color:#333;}
.ns-legal h1,.ns-legal h2,.ns-legal h3,.ns-legal h4{color:var(--ns-brand);}

/* =========================================================
   11. FOOTER — fascia arancione, testo bianco
   ========================================================= */
.site-footer,.ast-small-footer{display:none!important;}
.ns-site-footer{background:var(--ns-footer-bg);color:#fff;padding:44px 24px;}
.ns-site-footer .ns-footer{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;text-align:left;}
.ns-site-footer a{color:#fff!important;text-decoration:none;}
.ns-site-footer a:hover{text-decoration:underline;}
.ns-foot-logo-img{max-width:250px;height:auto;margin-bottom:12px;display:block;}
.ns-foot-logo-txt{font-weight:900;font-style:italic;font-size:22px;display:block;margin-bottom:12px;}
.ns-footer-brand p{line-height:1.85;margin:0 0 10px;font-size:15px;}
.ns-foot-fb{display:inline-flex;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff!important;align-items:center;justify-content:center;}
.ns-foot-fb svg{width:16px;height:16px;fill:currentColor;display:block;}
.ns-footer-coop{text-align:right;}
.ns-footer-coop small{opacity:.9;display:block;margin-bottom:6px;}
.ns-coop-img{max-width:150px;height:auto;display:inline-block;margin:6px 0;}
.ns-coop-text{font-size:15px;line-height:1.4;}

/* =========================================================
   12. PULSANTE TORNA-SU (Astra) — arancione
   ========================================================= */
#ast-scroll-top{background:var(--ns-brand)!important;color:#fff!important;}
#ast-scroll-top svg{fill:#fff!important;}
#ast-scroll-top:hover,#ast-scroll-top:focus{background:var(--ns-brand-dark)!important;}

/* =========================================================
   13b. RITOCCHI QA
   ========================================================= */
/* Titoli h1 di pagina in arancione (home + contatti); i box colorati
   con h3 a colore inline restano invariati */
.entry-content h1,.entry-content h1 strong{color:var(--ns-brand)!important;}

/* Contenuti "boxati" non a tutta larghezza: le colonne alignwide, in layout
   Astra full-width, vanno vincolate a max 1160px e centrate */
.entry-content .wp-block-columns.alignwide{max-width:1160px!important;margin-left:auto!important;margin-right:auto!important;}

/* Il Servizio: riduce lo spazio tra due gruppi testo consecutivi
   (troppo spazio sopra "GENITORIALITÀ"). Azzera il padding del wrap e comprime
   quello inferiore del gruppo che precede un altro gruppo testo. */
.ns-textblock-wrap{padding-top:0!important;padding-bottom:0!important;}
.ns-textblock-wrap + .ns-textblock-wrap .ns-textblock{padding-top:0!important;}
.ns-textblock-wrap:has(+ .ns-textblock-wrap) .ns-textblock{padding-bottom:24px!important;}

/* ---- Contatti ---- */
/* Testo allineato a sinistra (non centrato) */
.ns-page-contatti .ns-textblock,
.ns-page-contatti .ns-textblock.ns-center{text-align:left!important;}
/* Padding blocchi piu' contenuto */
.ns-page-contatti .ns-textblock{padding-top:38px!important;padding-bottom:38px!important;}
/* Mappa a filo, a tutta larghezza come la fascia grigia sopra */
.ns-page-contatti .ns-map{max-width:none!important;margin:0!important;padding:0!important;}
.ns-page-contatti .ns-map .leaflet-container{width:100%!important;height:440px!important;border-radius:0!important;}

/* =========================================================
   14. RESPONSIVE
   ========================================================= */
@media(max-width:921px){
  h1,.entry-title,.ns-page-title{font-size:34px;}
  .ns-circles{gap:28px;}
  :root{--hero-h:52vh;}
}
@media(max-width:782px){
  .ns-site-footer .ns-footer{flex-direction:column;}
  .ns-footer-coop{text-align:left;}
}
@media(max-width:544px){
  body{font-size:16px;}
  h1,.entry-title,.ns-page-title{font-size:28px;}
  .ns-circle{width:200px;height:180px;font-size:24px;}
  .ns-circle-img{width:200px;}
  .ns-textblock{padding:40px 18px;}
}
