/*
Theme Name:   Scuola Santa Teresa — Astra Child
Theme URI:    https://www.scuolasantateresa.it/
Description:  Child theme di Astra per la Scuola Media Santa Teresa. Ricostruzione modernizzata da YOOtheme (palette arancione). Parte del progetto di standardizzazione del parco siti su Astra.
Author:       Emanuele Zamboni / valuenet — Atelier Orlandi
Template:     astra
Version:      1.2.1
Text Domain:  scuolasantateresa-astra
*/

:root{
  --st-orange: #F7A11D;   /* accento brand: fascia, pulsanti, link */
  --st-orange2:#FBA627;
  --st-dark:   #6b4300;   /* arancione scuro per hover */
  --st-text:   #6C6D74;   /* colore testo come l'originale (fuse) */
  --st-heading:#2D2E33;   /* colore titoli come l'originale (fuse) */
  --st-line:   #e8e8e8;
}

/* BASE - font come l'originale (fuse): PT Serif corpo/titoli, Montserrat menu */
body,.ast-container,button,input,select,textarea{font-family:"PT Serif",Georgia,"Times New Roman",serif;color:var(--st-text);font-size:16px;line-height:1.75;}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:"PT Serif",Georgia,serif;color:var(--st-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: neri, senza sottolineatura; sottolineati al hover/focus */
a{color:#000;text-decoration:none;}
a:hover,a:focus{color:#000;text-decoration:underline;}
.ns-rich a,.entry-content a{color:#000!important;text-decoration:none!important;}
.ns-rich a:hover,.ns-rich a:focus,.entry-content a:hover,.entry-content a:focus{color:#000!important;text-decoration:underline!important;}

/* HEADER / MENU */
.site-header,.ast-primary-header-bar{background:#fff;}
.main-header-menu .menu-link{font-family:"Montserrat",sans-serif;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.02em;font-size:11px!important;color:#333!important;}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item>.menu-link{color:var(--st-orange)!important;}
.main-header-menu .current-menu-item>.menu-link{box-shadow:inset 0 -3px 0 0 var(--st-orange);}
.custom-logo,.site-logo-img .custom-logo{max-width:200px!important;height:auto!important;}

/* HERO uniforme: stessa altezza su tutte le pagine (immagine, slider, fascia-titolo) */
:root{--hero-h:600px;}
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;}
/* Hero-slider MetaSlider: stessa altezza degli altri hero */
.entry-content .ns-page-hero--slider{min-height:0!important;}
.entry-content .ns-page-hero--slider .metaslider{margin:0 auto;height:var(--hero-h)!important;overflow:hidden;}
.ns-page-hero--slider .metaslider .slides>li{height:var(--hero-h)!important;}
.ns-page-hero--slider .metaslider img{height:var(--hero-h)!important;width:100%!important;object-fit:cover!important;}
/* Fascia-titolo (gruppo con sfondo) per le pagine senza slider */
.ns-page-hero--band{min-height:var(--hero-h)!important;display:flex;flex-direction:column;justify-content:center;padding:24px!important;text-align:center;}
.ns-page-hero--band .wp-block-heading{color:#fff!important;margin:0;}
@media(max-width:1200px){:root{--hero-h:480px;}}
@media(max-width:921px){:root{--hero-h:340px;}}

/* Caption slider (blocco testo arancione sulle ultime due slide, come l'originale) */
.ns-page-hero--slider .slides>li{position:relative;}
.ns-page-hero--slider .caption-wrap{
  position:absolute!important;left:0;right:0;bottom:0;top:auto!important;
  width:100%!important;max-width:100%!important;margin:0!important;
  background:var(--st-orange)!important;opacity:1!important;padding:0!important;}
.ns-page-hero--slider .caption-wrap .caption{
  max-width:1280px;margin:0 auto;padding:16px 24px;
  color:#fff;font-size:18px;line-height:1.5;text-align:left;}
.ns-page-hero--slider .caption-wrap .caption .ns-slide-quote{display:block;}
.ns-page-hero--slider .caption-wrap .caption em{font-style:italic;opacity:.92;}
@media(max-width:921px){.ns-page-hero--slider .caption-wrap .caption{font-size:14px;padding:12px 18px;line-height:1.4;}}

/* 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-page-body > .wp-block-image.alignfull{margin-top:0;margin-bottom:0;}
.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;}
.wp-block-columns.alignwide{max-width:1280px;margin-left:auto;margin-right:auto;gap:0!important;padding-left:24px;padding-right:24px;box-sizing:border-box;}
/* Separatori verticali arancioni tra le colonne (come l'originale, es. PtOF) */
.ns-page-body .wp-block-columns > .wp-block-column{padding:0 40px;}
.ns-page-body .wp-block-columns > .wp-block-column:first-child{padding-left:0;}
.ns-page-body .wp-block-columns > .wp-block-column:last-child{padding-right:0;}
.ns-page-body .wp-block-columns > .wp-block-column:not(:first-child){border-left:2px solid var(--st-orange);}
@media(max-width:781px){.ns-page-body .wp-block-columns > .wp-block-column{padding:0!important;border-left:0!important;}}

/* Titoli come l'originale: scuri (#2D2E33), non arancioni */
h2,h3,.ns-rich h2,.ns-rich h3,.entry-content h2,.entry-content h3{color:var(--st-heading)!important;}

/* Separatori hr: grigi e semplici, larghi come il box contenuto */
.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;}

/* Altezza standard per l'ultima foto e per la mappa prima della fascia pedice */
:root{--foot-h:450px;}

/* Mappa Google (contatti) a tutto schermo, altezza standard */
.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;
  padding-left:0!important;padding-right:0!important;border:0!important;height:var(--foot-h)!important;}

/* 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;}

/* Ultima immagine prima della fascia pedice (marcata con classe .ns-foot-media):
   a tutto schermo, a filo, altezza standard */
.ns-page-body .wp-block-image.ns-foot-media{
  display:block!important;/* annulla display:table di .aligncenter, che rende height un minimo */
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  width:100vw!important;max-width:100vw!important;height:var(--foot-h)!important;overflow:hidden;
  padding-left:0!important;padding-right:0!important;/* annulla il padding 24px del layout constrained */
  margin-top:0!important;margin-bottom:0!important;}
.ns-page-body .wp-block-image.ns-foot-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center;border-radius:0!important;}
/* niente stacco bianco sotto foto/mappa di fondo */
.ns-page-body:has(.ns-foot-media),
.ns-page-body:has(.ns-foot-map),
.ns-page-body:has(iframe[src*="/maps/embed"]),
.ns-page-body:has(iframe[src*="google.com/maps"]){padding-bottom:0!important;}
@media(max-width:921px){:root{--foot-h:300px;}}

/* Pulsanti */
.wp-block-button__link{background:var(--st-orange);color:#fff!important;border-radius:4px;padding:12px 22px;font-weight:700;text-transform:uppercase!important;}

/* Pulsante "torna su" (scroll-to-top di Astra): arancione come il brand */
#ast-scroll-top{background:var(--st-orange)!important;color:#fff!important;}
#ast-scroll-top svg,#ast-scroll-top:before{fill:#fff!important;color:#fff!important;}
#ast-scroll-top:hover,#ast-scroll-top:focus{background:var(--st-dark)!important;}

/* Burger menu mobile (toggle di Astra): icona arancione come il brand */
.menu-toggle,.main-header-menu-toggle,.ast-mobile-menu-trigger-minimal,.ast-mobile-menu-trigger-fill{color:var(--st-orange)!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(--st-orange)!important;}

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

/* ===== FOOTER fedele (nasconde quello di Astra), sfondo bianco ===== */
.site-footer,.ast-small-footer{display:none!important;}
.st-site-footer{background:#ffffff!important;color:#333!important;border-top:1px solid var(--st-line);}
.st-site-footer .st-footer{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;padding:44px 24px;}
.st-footer-text{flex:1 1 60%;}
.st-footer-text p{margin:0 0 12px;line-height:1.85;font-size:14px;color:#333;}
.st-footer-text strong{color:#222;}
.st-site-footer a{color:#000!important;text-decoration:none!important;}
.st-site-footer a:hover,.st-site-footer a:focus{text-decoration:underline!important;}
.st-footer-logo{flex:0 0 auto;text-align:right;}
.st-footer-logo img{max-width:280px;width:100%;height:auto;}
@media(max-width:782px){.st-site-footer .st-footer{flex-direction:column;align-items:flex-start;} .st-footer-logo{text-align:left;}}

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

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