/*
Theme Name:   Scuola Don Allegri — Astra Child
Theme URI:    https://www.donallegri.it/
Description:  Child theme di Astra per la Scuola Media Paritaria Don Allegri. Ricostruzione modernizzata da YOOtheme (palette teal/ciano). Parte del progetto di standardizzazione del parco siti su Astra.
Author:       Emanuele Zamboni / valuenet — Atelier Orlandi
Template:     astra
Version:      1.1.8
Text Domain:  donallegri-astra
*/

:root{
  --dg-teal:  #0a8f8a;   /* primario: titoli, fascia hero */
  --dg-cyan:  #05ddd7;   /* accento: bordi, separatori, pulsanti */
  --dg-dark:  #0b3b39;
  --dg-text:  #333333;
  --dg-muted: #667070;
  --dg-line:  #e5e8e8;
  --dg-soft:  #f2fbfb;
}

/* BASE */
body,.ast-container,button,input,select,textarea{font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--dg-text);font-size:16px;line-height:1.75;}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:"Dosis","Lato",sans-serif;color:var(--dg-teal);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 del sito: ciano, senza sottolineatura; sottolineati SOLO al focus */
a{color:var(--dg-cyan);text-decoration:none;}
a:hover{color:var(--dg-cyan);text-decoration:none;}
a:focus{color:var(--dg-cyan);text-decoration:underline;}
.ns-rich a,.entry-content a,.ns-rich a:hover,.entry-content a:hover{color:var(--dg-cyan)!important;text-decoration:none!important;}
.ns-rich a:focus,.entry-content a:focus{color:var(--dg-cyan)!important;text-decoration:underline!important;}

/* HEADER / MENU */
.site-header,.ast-primary-header-bar{background:#fff;}
.main-header-menu .menu-link{font-weight:700;text-transform:uppercase!important;letter-spacing:.02em;font-size:14px;color:var(--dg-dark)!important;}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item>.menu-link{color:var(--dg-cyan)!important;}
.main-header-menu .current-menu-item>.menu-link{box-shadow:inset 0 -3px 0 0 var(--dg-cyan);}
.custom-logo,.site-logo-img .custom-logo{max-width:200px!important;height:auto!important;}

/* HERO fascia titolo */
/* Hero immagine (slider originale): tutta larghezza, altezza come l'originale (700px) */
.ns-page-hero{min-height:700px!important;}
.ns-page-hero .wp-block-cover__image-background{object-fit:cover;object-position:center;}
/* Fascia titolo teal (pagine senza slider nell'originale) */
.ns-page-hero.ns-page-hero--band{min-height:220px!important;}
.ns-page-hero.ns-page-hero--band h1{color:#fff!important;font-size:40px;letter-spacing:.02em;}
@media(max-width:1200px){.ns-page-hero{min-height:46vw!important;}}
@media(max-width:921px){.ns-page-hero{min-height:52vw!important;} .ns-page-hero.ns-page-hero--band{min-height:180px!important;}}
/* Hero-slider MetaSlider: altezza naturale (responsive), niente 700px fissi */
.entry-content .ns-page-hero--slider{min-height:0!important;}
.entry-content .ns-page-hero--slider .metaslider{margin:0 auto;}

/* CONTENUTO */
.ns-page-body{background:#fff;}
.ns-container{max-width:1280px;margin:0 auto;padding:52px 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-columns.alignwide{max-width:1280px;margin-left:auto;margin-right:auto;gap:40px;padding-left:24px;padding-right:24px;box-sizing:border-box;}
.wp-block-image img{border-radius:6px;}
/* Separatori hr: ciano, larghi tutto il box contenuto */
.wp-block-separator,.ns-rich hr,.entry-content hr{
  border:0!important;border-top:2px solid var(--dg-cyan)!important;
  width:100%!important;max-width:1280px!important;margin:26px auto!important;opacity:1!important;height:0;}

/* Immagini di sezione: 'expand' dell'originale -> fascia a tutto schermo */
.ns-container .ns-cover-full{
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  max-width:100vw!important;width:100vw!important;}
.ns-cover-full .wp-block-cover__image-background,
.ns-cover-box .wp-block-cover__image-background{object-fit:cover;object-position:center;}
/* Sezione 'default' con immagine: resta dentro il box contenuto */
.ns-cover-box{max-width:100%!important;}

/* Mappa Google (contatti): a tutto schermo, come le immagini di sezione */
.ns-container iframe[src*="/maps/embed"],
.ns-container iframe[src*="google.com/maps"]{
  display:block;width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  border:0!important;height:450px;}

/* Nessuno stacco bianco tra l'ultimo elemento (immagine o mappa) e la fascia pedice ciano */
.ns-container > .wp-block-cover:last-child,
.ns-container > .wp-block-image:last-child,
.ns-container > iframe:last-child{margin-bottom:0!important;}
.ns-container:has(> .wp-block-cover:last-child),
.ns-container:has(> .wp-block-image:last-child),
.ns-container:has(> iframe:last-child){padding-bottom:0!important;}
.ns-page-body:has(> .ns-container > .wp-block-cover:last-child),
.ns-page-body:has(> .ns-container > .wp-block-image:last-child),
.ns-page-body:has(> .ns-container > iframe:last-child){padding-bottom:0!important;margin-bottom:0!important;}
.wp-block-button__link{background:var(--dg-teal);color:#fff!important;border-radius:4px;padding:12px 22px;font-weight:700;text-transform:uppercase!important;}
.border-line{border:2px solid var(--dg-cyan)!important;} .backgroud_st{background:var(--dg-cyan);}

/* FOOTER */
.site-footer,.ast-small-footer{background:var(--dg-teal)!important;color:#d8f3f2;}
.site-footer a,.ast-footer-copyright{color:#fff!important;}

@media(max-width:921px){h1,.entry-title,.ns-page-hero--band h1{font-size:30px;} .ns-container{padding:38px 18px;}}

/* ===== FOOTER fedele (nasconde quello di Astra) ===== */
.site-footer,.ast-small-footer{display:none!important;}
.dg-site-footer{background:var(--dg-teal);color:#dff5f4;}
.dg-footer{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:40px 24px;}
.dg-footer-col h4{color:#fff;margin:0 0 10px;}
.dg-footer-col p{margin:0;line-height:1.9;font-size:15px;}
.dg-site-footer a{color:#fff!important;text-decoration:none;} .dg-site-footer a:hover{text-decoration:underline;}
.dg-footer-coop{text-align:right;} .dg-footer-coop small{opacity:.9;}
.dg-coop-img{max-width:150px;height:auto;margin-top:8px;background:#fff;padding:8px;border-radius:6px;}
.dg-footer-bottom{border-top:1px solid rgba(255,255,255,.2);text-align:center;padding:14px;font-size:13px;color:#bfeae8;}
@media(max-width:782px){.dg-footer{flex-direction:column;} .dg-footer-coop{text-align:left;}}

/* ===== FOOTER v2: fedele all'originale (sfondo BIANCO) ===== */
.dg-site-footer{background:#ffffff!important;color:#333!important;border-top:1px solid var(--dg-line);}
.dg-site-footer .dg-footer{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;padding:44px 24px;}
.dg-footer-text{flex:1 1 60%;}
.dg-footer-text p{margin:0 0 12px;line-height:1.85;font-size:15px;color:#333;}
.dg-footer-text strong{color:#222;}
.dg-site-footer a{color:var(--dg-cyan)!important;text-decoration:none!important;}
.dg-site-footer a:hover{text-decoration:none!important;}
.dg-site-footer a:focus{text-decoration:underline!important;}
.dg-footer-logo{flex:0 0 auto;text-align:right;}
.dg-footer-logo img{max-width:325px;width:100%;height:auto;}
@media(max-width:782px){.dg-site-footer .dg-footer{flex-direction:column;align-items:flex-start;} .dg-footer-logo{text-align:left;}}

/* ===== Fascia pedice: 4 icone con link su sfondo ciano (footerTop originale) ===== */
.dg-footer-band{background:var(--dg-cyan);width:100%;}
.dg-footer-band .dg-band-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px 24px;}
.dg-footer-band .dg-band-item{flex:1 1 0;text-align:center;}
.dg-footer-band .dg-band-item a{display:inline-block;line-height:0;}
.dg-footer-band .dg-band-item img{max-width:285px;width:100%;height:auto;display:inline-block;transition:transform .2s ease;}
.dg-footer-band .dg-band-item a:hover img{transform:translateY(-4px);}
@media(max-width:680px){.dg-footer-band .dg-band-inner{flex-wrap:wrap;gap:18px;} .dg-footer-band .dg-band-item{flex:0 0 42%;}}

/* ===== Ritocchi richiesti: larghezza contenuti 1280 + titoli h2/h3 teal maiuscolo ===== */
.ast-container{max-width:1280px;}
.ns-container,.wp-block-columns.alignwide,.dg-site-footer .dg-footer{max-width:1280px;}
h2,h3,.ns-rich h2,.ns-rich h3,.entry-content h2,.entry-content h3{
  color:var(--dg-cyan)!important;
  text-transform:uppercase!important;
}

/* ===== Blocchi nativi validi: gruppo contenuto (sostituisce .ns-container) ===== */
.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-page-body > .wp-block-image.alignfull{margin-top:0;margin-bottom:0;}
figure.ns-page-hero{margin:0;}
figure.ns-page-hero img{display:block;width:100%;height:auto;}
/* niente stacco tra l'ultima immagine full e la fascia pedice ciano */
.ns-page-body:has(> .wp-block-image.alignfull:last-child){padding-bottom:0;}
@media(max-width:921px){.ns-page-body{padding-top:38px;padding-bottom:38px;}}

/* ===== Fascia-titolo (versione a Gruppo) e mappa nella struttura nativa ===== */
.ns-page-hero--band{padding-top:64px!important;padding-bottom:64px!important;text-align:center;}
.ns-page-hero--band .wp-block-heading{color:#fff!important;margin:0;}
.ns-page-body iframe[src*="/maps/embed"],.ns-page-body iframe[src*="google.com/maps"]{
  display:block;width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border:0!important;height:450px;}
.ns-page-body > .wp-block-image.alignfull:last-child{margin-bottom:0!important;}

/* Sottolineatura link anche al passaggio del mouse (oltre al focus) */
a:hover,.ns-rich a:hover,.entry-content a:hover,.dg-site-footer a:hover{text-decoration:underline!important;}
