/*
Theme Name:   Nido La Perla — Astra Child
Theme URI:    https://www.nidolaperla.it/
Description:  Child theme di Astra per l'Asilo Nido "La Perla". Ricostruzione modernizzata da YOOtheme (palette verde). Parte del progetto di standardizzazione del parco siti su Astra.
Author:       Emanuele Zamboni / valuenet — Atelier Orlandi
Template:     astra
Version:      1.1.3
Text Domain:  nidolaperla-astra
*/

:root{
  --np-green:  #35A936;   /* verde brand: menu attivo, titoli, pulsanti, link */
  --np-green2: #2e9430;   /* verde hover */
  --np-dark:   #1f6b20;   /* verde scuro */
  --np-text:   #111111;   /* testo (near black, come l'originale) */
  --np-heading:#35A936;   /* titoli verdi come l'originale */
  --np-line:   #e8e8e8;
  --hero-h:    600px;
  --foot-h:    450px;
}

/* BASE - font Lato come l'originale */
body,.ast-container,button,input,select,textarea{font-family:"Lato",-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--np-text);font-size:16px;line-height:1.7;}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:"Lato",sans-serif;color:var(--np-heading);font-weight:700;line-height:1.2;}
h1,.entry-title{font-size:40px;} h2{font-size:30px;} h3{font-size:22px;} h5{font-size:18px;}

/* Link: verdi */
a{color:var(--np-green);text-decoration:none;}
a:hover,a:focus{color:var(--np-dark);text-decoration:underline;}
.ns-rich a,.entry-content a{color:var(--np-green)!important;}
.ns-rich a:hover,.entry-content a:hover{color:var(--np-dark)!important;}

/* HEADER / MENU */
.site-header,.ast-primary-header-bar{background:#fff;}
.main-header-menu .menu-link{font-family:"Lato",sans-serif;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.03em;font-size:13px!important;color:var(--np-green)!important;}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item>.menu-link{color:var(--np-dark)!important;}
.main-header-menu .current-menu-item>.menu-link{box-shadow:inset 0 -3px 0 0 var(--np-green);}
.custom-logo,.site-logo-img .custom-logo{max-width:230px!important;height:auto!important;}
/* Titolo sito nascosto (mostriamo solo il logo) */
.site-title{display:none!important;}
/* Header alto 100px */
.ast-primary-header-bar,.ast-primary-header-bar .site-primary-header-wrap{min-height:100px!important;}
/* Hero a filo, subito sotto il menu (rimuove il padding superiore del contenitore Astra) */
.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;}

/* HERO uniforme: immagine singola full-width (pagine interne) e slider (home) */
figure.ns-page-hero{margin:0;height:var(--hero-h);overflow:hidden;}
figure.ns-page-hero img{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center;}
.ns-page-hero--slider{position:relative;}
@media(max-width:1200px){:root{--hero-h:480px;}}
@media(max-width:921px){:root{--hero-h:340px;}}

/* CONTENUTO: gruppo constrained (blocchi nativi validi) */
.ns-page-body{background:#fff;padding-top:52px;padding-bottom:52px;}
.ns-page-body.is-layout-constrained > :where(:not(.alignfull):not(.alignwide)){
  max-width:1280px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.ns-rich p{margin:0 0 18px;} .ns-rich h2,.ns-rich h3{margin:26px 0 12px;}
.ns-rich img{max-width:100%;height:auto;border-radius:6px;} .ns-rich ul,.ns-rich ol{margin:0 0 18px 22px;}
.wp-block-image img{border-radius:6px;}

/* Titoli verdi come l'originale (tutti i livelli nel contenuto, incl. h1 e h4) */
h2,h3{color:var(--np-heading)!important;}
.ns-rich :is(h1,h2,h3,h4,h5,h6),
.entry-content :is(h1,h2,h3,h4,h5,h6),
.ns-rich :is(h1,h2,h3,h4,h5,h6) :is(i,em,b,strong,span){color:var(--np-heading)!important;}

/* Separatori hr grigi e semplici */
.wp-block-separator,.ns-rich hr,.entry-content hr{
  border:0!important;border-top:1px solid #ddd!important;
  width:100%!important;max-width:1280px!important;margin:26px auto!important;opacity:1!important;height:0;}

/* Mappa Leaflet (contatti) a tutto schermo, altezza standard */
.ns-page-body .ns-foot-map{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;padding:0!important;line-height:0;}
.ns-page-body .ns-foot-map .leaflet-container{width:100vw!important;max-width:100vw!important;height:var(--foot-h)!important;}
.ns-page-body:has(.ns-foot-map){padding-bottom:0!important;}
@media(max-width:921px){:root{--foot-h:300px;}}

/* Pulsanti verdi */
.wp-block-button__link{background:var(--np-green);color:#fff!important;border-radius:6px;padding:12px 24px;font-weight:700;text-transform:uppercase!important;}
.wp-block-button__link:hover{background:var(--np-dark);}

@media(max-width:921px){h1,.entry-title{font-size:30px;} .ns-page-body{padding-top:38px;padding-bottom:38px;}}

/* Burger menu mobile: verde */
.menu-toggle,.main-header-menu-toggle,.ast-mobile-menu-trigger-minimal,.ast-mobile-menu-trigger-fill{color:var(--np-green)!important;}
.menu-toggle svg,.main-header-menu-toggle svg,.ast-mobile-menu-trigger-minimal svg,.ast-mobile-menu-trigger-fill svg,.menu-toggle .ast-mobile-svg{fill:var(--np-green)!important;}

/* Pulsante torna-su di Astra: verde */
#ast-scroll-top{background:var(--np-green)!important;color:#fff!important;}
#ast-scroll-top svg{fill:#fff!important;}
#ast-scroll-top:hover,#ast-scroll-top:focus{background:var(--np-dark)!important;}

/* ===== Icone social a destra del menu ===== */
.np-social-item{display:flex;align-items:center;}
.np-social-item a{display:flex;align-items:center;justify-content:center;color:var(--np-green)!important;padding:0 6px;}
.np-social-item a:hover{color:var(--np-dark)!important;text-decoration:none!important;}
.np-social-item svg{width:22px;height:22px;display:block;}

/* ===== Accordion (Il Servizio): titoli piu' grandi e verdi, separatore grigio ===== */
.ns-rich .wp-block-details,.entry-content .wp-block-details{
  border-bottom:1px solid #ddd;padding-bottom:16px;margin-bottom:16px;}
.ns-rich .wp-block-details:last-child,.entry-content .wp-block-details:last-child{margin-bottom:0;}
.ns-rich .wp-block-details>summary,.entry-content .wp-block-details>summary{
  color:var(--np-green)!important;font-size:20px;font-weight:700;cursor:pointer;list-style-position:inside;}
.ns-rich .wp-block-details>summary:hover,.entry-content .wp-block-details>summary:hover{color:var(--np-dark)!important;}

/* ===== Gallery: banner immagine a tutta larghezza prima del pre-footer ===== */
.np-gallery-banner{width:100%;height:240px;overflow:hidden;line-height:0;}
.np-gallery-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
@media(max-width:921px){.np-gallery-banner{height:160px;}}
@media(max-width:560px){.np-gallery-banner{height:120px;}}

/* ===== Gallery: immagini cliccabili con lightbox ===== */
.wp-block-gallery.ns-gallery img{cursor:zoom-in;transition:filter .2s,transform .2s;}
.wp-block-gallery.ns-gallery img:hover{filter:brightness(1.04);}
.np-lightbox{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);align-items:center;justify-content:center;}
.np-lightbox.is-open{display:flex;}
.np-lb-img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 12px 46px rgba(0,0,0,.55);border-radius:4px;}
.np-lb-close,.np-lb-prev,.np-lb-next{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;line-height:1;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.np-lb-close:hover,.np-lb-prev:hover,.np-lb-next:hover{background:var(--np-green);}
.np-lb-close{top:18px;right:22px;font-size:32px;}
.np-lb-prev{left:22px;top:50%;transform:translateY(-50%);font-size:26px;}
.np-lb-next{right:22px;top:50%;transform:translateY(-50%);font-size:26px;}
.np-lb-counter{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;font-size:14px;letter-spacing:.05em;}
@media(max-width:560px){.np-lb-prev,.np-lb-next{width:42px;height:42px;font-size:22px;}.np-lb-close{width:44px;height:44px;font-size:28px;top:12px;right:12px;}}

/* ===== Documenti: 5 link in griglia a 3 colonne ===== */
.np-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px;align-items:start;justify-items:center;margin:48px 0 16px;}
.np-doc-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;text-decoration:none!important;}
.np-doc-item img{width:120px;height:auto;display:block;}
.np-doc-item span{color:var(--np-green)!important;font-weight:700;font-size:16px;line-height:1.3;}
.np-doc-item:hover span{color:var(--np-dark)!important;}
@media(max-width:768px){.np-doc-grid{grid-template-columns:repeat(2,1fr);gap:30px 16px;}}
@media(max-width:460px){.np-doc-grid{grid-template-columns:1fr;}}

/* ===== Contatti: blocco VERSAMENTI su banda grigia a tutta larghezza ===== */
.ns-page-body .ns-versamenti{
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  width:100vw!important;max-width:100vw!important;box-sizing:border-box;
  background:#f2f2f2;
  padding-top:34px;padding-bottom:34px;
  padding-left:max(24px,calc(50vw - 640px));padding-right:max(24px,calc(50vw - 640px));
  border-radius:0;line-height:1.9;margin-bottom:0!important;}
/* Banda grigia a filo con la mappa (niente gap verticale) */
.ns-page-body .ns-versamenti + .ns-foot-map{margin-top:0!important;}

/* ===== Blocco pre-footer: 3 bolle colorate (Il Servizio / Gallery / Documenti) ===== */
.np-prefooter{background:#fff;padding:44px 24px;}
.np-prefooter-row{max-width:1280px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:110px;flex-wrap:wrap;}
.np-prefooter-card{display:block;line-height:0;transition:transform .2s ease;}
.np-prefooter-card:hover{transform:translateY(-5px);}
.np-prefooter-card img{height:200px;width:auto;display:block;}
@media(max-width:900px){.np-prefooter-row{gap:56px;} .np-prefooter-card img{height:160px;}}
@media(max-width:560px){.np-prefooter-row{gap:32px;} .np-prefooter-card img{height:130px;}}

/* La mappa Leaflet in Contatti resta a filo; il pre-footer torna su sfondo bianco */
.ns-page-body:has(.ns-foot-map) + .np-prefooter{border-top:0;}

/* ===== FOOTER fedele all'originale: fascia verde, testo bianco ===== */
.site-footer,.ast-small-footer{display:none!important;}
.np-site-footer{background:var(--np-green)!important;color:#fff!important;width:100%;}
.np-site-footer .np-footer{max-width:1280px;margin:0 auto;padding:34px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.np-foot-left{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left;}
.np-foot-text{text-align:left;}
.np-site-footer p{margin:0 0 8px;font-size:14px;line-height:1.75;color:#fff;}
.np-site-footer a{color:#fff!important;text-decoration:none!important;font-weight:700;}
.np-site-footer a:hover{text-decoration:underline!important;}
.np-foot-logo{flex:0 0 auto;line-height:0;}
.np-foot-logo img{height:auto;display:block;}
.np-foot-logo-left img{max-width:180px;}
.np-foot-logo-right img{max-width:200px;}
@media(max-width:782px){.np-site-footer .np-footer{flex-direction:column;align-items:center;} .np-foot-left{align-items:center;text-align:center;} .np-foot-text{text-align:center;}}
