/* Veste scura di errealcubo.com: la stessa delle landing (genera_referenze.py), per tutto il sito.
   Testata e piede: layout/header-*.html e footer-*.html (costruiti da WEB/tema_scuro/costruisci_layout.py).
   La seconda meta' del file riveste le pagine rimaste da WordPress (Astra + Elementor) senza toccarne l'HTML. */

:root{
  color-scheme:dark;
  --fondo:#0E0E0E;
  --fondo-2:#1A1A1A;
  --testo:#F2F2F2;
  --grigio:#A3A3A3;
  --rosso:#DE333C;          /* il rosso del logo, solo per link, bottoni e fuoco */
  --filo:#2B2B2B;
  --gutter:clamp(16px,4vw,44px);
}

/* ---------- testata: barra del menu, ferma in alto ---------- */
.testata{position:sticky;top:0;z-index:1000;background:var(--fondo);padding-inline:var(--gutter);
  font-family:Roboto,Arial,sans-serif;transition:box-shadow .2s}
.testata.staccata{box-shadow:0 1px 0 var(--filo),0 8px 24px rgba(0,0,0,.45)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;
  max-width:1140px;margin:0 auto;border-bottom:1px solid var(--filo)}
.testata.staccata .barra{border-bottom-color:transparent}
.barra .logo{width:45px;height:45px;display:block}
.barra .custom-logo-link{display:block;line-height:0}
.voci{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px);margin:0;padding:0;list-style:none;font-size:15px;font-weight:500}
.voci li{margin:0;padding:0}
.voci a{color:var(--testo);text-decoration:none}
.voci a:hover,.voci a[aria-current]{color:var(--testo);text-decoration:underline;text-decoration-color:var(--rosso);text-underline-offset:6px}
.voci .bandiera{display:block;padding:4px 0}
.voci .bandiera:hover{text-decoration:none;opacity:.8}
.voci img{display:block}
.voci li[class*="2664-it"],.voci li[class*="2670-it"]{margin-right:calc(-1*clamp(18px,2.6vw,34px) + 8px)}
.cerca{display:flex;align-items:center;gap:6px;margin:0}
.cerca input{width:0;padding:0;border:0;background:transparent;color:var(--testo);font:inherit;font-size:14px;transition:width .2s;box-shadow:none}
.cerca.aperta input{width:150px;padding:4px 6px;border-bottom:1px solid var(--grigio)}
.cerca input:focus{outline:none;border-bottom-color:var(--rosso)}
.cerca button,.apri-menu{background:none;border:0;color:var(--testo);cursor:pointer;padding:4px;display:flex;box-shadow:none}
.cerca button:hover,.apri-menu:hover{background:none;color:var(--testo)}
.apri-menu{display:none;font:inherit;font-size:15px;font-weight:500;gap:8px;align-items:center}
@media (max-width:760px){
  .apri-menu{display:flex}
  .barra{position:relative}
  .voci{display:none;position:absolute;left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));top:100%;z-index:5;flex-direction:column;align-items:flex-start;
        gap:16px;padding:20px var(--gutter);background:var(--fondo);border-bottom:1px solid var(--filo)}
  .barra.aperta .voci{display:flex}
  .voci li[class*="2664-it"],.voci li[class*="2670-it"]{margin-right:0}
}

/* ---------- piede ---------- */
.piede{background:var(--fondo);color:var(--grigio);font:15px/1.6 Roboto,Arial,sans-serif;padding-inline:var(--gutter);border-top:1px solid var(--filo)}
.piede-dentro,.piede-coda{max-width:1140px;margin:0 auto}
.piede-dentro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:28px clamp(24px,5vw,64px);
  padding-block:clamp(36px,5vw,56px) clamp(24px,3vw,36px);align-items:start}
.piede p{margin:0}
.piede b{color:var(--testo);font-weight:500}
.piede a{color:var(--testo);text-decoration:underline;text-decoration-color:var(--rosso);text-underline-offset:3px}
.piede a:hover{color:var(--rosso)}
.piede-studio{display:flex;gap:18px;align-items:flex-start}
.piede-studio img{width:56px;height:56px;flex:none}
.piede-menu{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.piede-menu a{text-decoration:none}
.piede-menu a:hover,.piede-menu a[aria-current]{text-decoration:underline;text-decoration-color:var(--rosso)}
.piede-social{display:flex;gap:16px}
.piede-social a{display:block;width:22px;height:22px;color:var(--grigio)}
.piede-social a:hover{color:var(--testo)}
.piede-social svg{width:100%;height:100%;display:block}
.piede-coda{border-top:1px solid var(--filo);padding-block:18px 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px}
.piede-coda p:first-child{display:flex;gap:20px}
@media (max-width:760px){.piede-dentro{grid-template-columns:1fr}}

/* ---------- banner dei cookie, scuro ---------- */
#consenso{background:var(--fondo-2)!important;color:var(--grigio)!important;border-color:var(--filo)!important;box-shadow:0 8px 32px rgba(0,0,0,.6)!important}
#consenso a,#consenso .consenso-bottoni .consenso-link{color:var(--testo)!important}
#consenso .consenso-x{color:var(--grigio)!important}
#consenso .consenso-voci{border-top-color:var(--filo)!important}
#consenso .consenso-voce b{color:var(--testo)!important}
#consenso .consenso-voce em{color:var(--grigio)!important}
.consenso-blocco{background:var(--fondo-2)!important;border-color:var(--filo)!important;color:var(--grigio)!important}

/* =====================================================================
   Pagine rimaste da WordPress (Astra + Elementor): stessa veste.
   Le regole sono larghe e con !important perche' Elementor mette i colori elemento per elemento.
   ===================================================================== */
body.wp-theme-astra{background:var(--fondo)!important;color:var(--grigio);font-family:Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wp-theme-astra #page,.wp-theme-astra .site-content,.wp-theme-astra .ast-container,.wp-theme-astra .site-main,
.wp-theme-astra article,.wp-theme-astra .entry-content,.wp-theme-astra .ast-separate-container .ast-article-single,
.wp-theme-astra .ast-separate-container .ast-article-post,.wp-theme-astra .ast-archive-description,
.wp-theme-astra .ast-separate-container .comments-area,.wp-theme-astra .ast-page-builder-template .entry-header,
.wp-theme-astra .site-main>.ast-row,.wp-theme-astra .ast-separate-container,.wp-theme-astra .elementor-kit-916,
.wp-theme-astra.elementor-kit-916{background-color:transparent!important}
/* sezioni Elementor: via lo sfondo chiaro, restano immagini e velature dei banner */
.wp-theme-astra .elementor-section:not(.elementor-section-ha),.wp-theme-astra .e-con,.wp-theme-astra .elementor-column,
.wp-theme-astra .elementor-widget-wrap,.wp-theme-astra .elementor-widget-container{background-color:transparent!important}

/* un solo carattere: Roboto (le icone tengono il loro) */
.wp-theme-astra :is(h1,h2,h3,h4,h5,h6,p,li,a,span,div,td,th,label,input,select,textarea,button,figcaption,blockquote,
  .elementor-heading-title,.n2-ss-layer,.n2-font):not([class*="fa-"]):not([class*="eicon"]):not(.ast-icon){font-family:Roboto,Arial,sans-serif!important}

/* testi */
.wp-theme-astra :is(p,li,td,th,dd,dt,figcaption,blockquote,label,.elementor-text-editor,.elementor-widget-text-editor,
  .elementor-icon-list-text,.elementor-image-box-description,.elementor-icon-box-description,.entry-content){color:var(--grigio)!important}
.wp-theme-astra :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title,.entry-title,.page-title,
  .elementor-image-box-title,.elementor-icon-box-title,strong,b){color:var(--testo)!important}
/* via il giustificato dai testi lunghi; i blocchi centrati (slider, icone della home) restano centrati */
.wp-theme-astra :is(.elementor-widget-text-editor,.entry-content>p,.entry-content>ul) :is(p,li),
.wp-theme-astra .elementor-widget-text-editor .elementor-widget-container{text-align:left!important;hyphens:manual}
.wp-theme-astra .obfx-service-box,.wp-theme-astra .obfx-service-box *{text-align:center!important}
.wp-theme-astra .obfx-icon-wrap,.wp-theme-astra .obfx-image-wrap{display:flex!important;justify-content:center}
.wp-theme-astra :is(h1,h2,h3,.elementor-heading-title){text-wrap:balance;letter-spacing:normal}
.wp-theme-astra h1,.wp-theme-astra .entry-title,.wp-theme-astra h1.elementor-heading-title{font-weight:700!important}

/* link: bianchi sottolineati in rosso, come nelle landing; i titoli-link dei banner senza sottolineatura */
.wp-theme-astra .site-content a:not(.elementor-button):not(.bottone){color:var(--testo)!important;text-decoration-color:var(--rosso)!important;text-underline-offset:3px}
.wp-theme-astra .site-content a:not(.elementor-button):hover{color:var(--rosso)!important}
.wp-theme-astra .elementor-heading-title,.wp-theme-astra .elementor-heading-title a{text-decoration:none!important}
.wp-theme-astra .elementor-heading-title a:hover{color:var(--testo)!important;text-decoration:underline!important;text-decoration-color:var(--rosso)!important;text-underline-offset:6px}

/* bottoni */
.wp-theme-astra .elementor-button,.wp-theme-astra .wp-block-button__link,.wp-theme-astra button[type=submit],
.wp-theme-astra input[type=submit],.wp-theme-astra .ast-button{background:var(--rosso)!important;color:#fff!important;border:0!important;
  border-radius:3px!important;font-weight:500!important;letter-spacing:normal!important;text-transform:none!important}
.wp-theme-astra .elementor-button:hover,.wp-theme-astra button[type=submit]:hover,.wp-theme-astra input[type=submit]:hover{background:#B8262E!important}
.wp-theme-astra .elementor-button *{color:#fff!important}

/* fili, divisori, caselle */
.wp-theme-astra .elementor-divider-separator{border-color:var(--filo)!important}
.wp-theme-astra hr{border-color:var(--filo)!important;background:var(--filo)!important}
.wp-theme-astra :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]),select,textarea){background:var(--fondo-2)!important;
  color:var(--testo)!important;border:1px solid var(--filo)!important;border-radius:3px}
.wp-theme-astra :is(input,textarea)::placeholder{color:#6f6f6f!important}

/* la vecchia testata e il vecchio piede di Astra non ci sono piu': niente spazi riservati */
.wp-theme-astra .ast-header-break-point .main-header-bar,.wp-theme-astra #masthead{display:none}

/* pesi come nelle landing: testo normale, titoli in grassetto */
.wp-theme-astra :is(p,li,td,dd,figcaption,.elementor-text-editor,.elementor-icon-list-text){font-weight:400!important}
.wp-theme-astra :is(p,li) :is(strong,b){font-weight:500!important}

/* icone di Elementor: i caratteri-icona in rosso come le icone delle landing, i disegni neri su fondo chiaro rovesciati */
.wp-theme-astra .obfx-icon,.wp-theme-astra .elementor-icon,.wp-theme-astra .elementor-icon i,.wp-theme-astra .elementor-icon-list-icon i{color:var(--rosso)!important}
.wp-theme-astra .elementor-icon svg,.wp-theme-astra .elementor-icon-list-icon svg{fill:var(--rosso)!important}
.wp-theme-astra .obfx-image{filter:invert(1);border-radius:50%}

/* banner di Smart Slider (pagina Servizi): il titolo e' un link, senza sottolineatura come i titoli delle landing;
   le sottovoci restano link sottolineati */
.wp-theme-astra .n2-ss-slider p[class*="-paragraph"]>a{text-decoration:none!important;color:#fff!important}
.wp-theme-astra .n2-ss-slider p[class*="-paragraph"]>a:hover{text-decoration:underline!important;text-decoration-color:var(--rosso)!important;text-underline-offset:8px}
.wp-theme-astra .n2-ss-slider .sottovoci a{color:#fff!important}

/* landing (genera_referenze.py): il body ha gia' il margine laterale, testata e piede lo scavalcano per andare a filo */
body:not(.wp-theme-astra)>.testata,body:not(.wp-theme-astra)>.piede{margin-inline:calc(-1*var(--gutter))}

/* feed Instagram: "Seguici" col bottone rosso del sito, "Carica altre" bordato */
.wp-theme-astra #sb_instagram .sbi_follow_btn a{background:var(--rosso)!important;color:#fff!important;border-radius:3px!important;font-weight:500!important}
.wp-theme-astra #sb_instagram .sbi_follow_btn a:hover{background:#B8262E!important;box-shadow:none!important}
.wp-theme-astra #sb_instagram .sbi_load_btn{background:transparent!important;color:var(--testo)!important;border:1px solid var(--filo)!important;border-radius:3px!important;font-weight:500!important}
.wp-theme-astra #sb_instagram .sbi_load_btn:hover{border-color:var(--grigio)!important;box-shadow:none!important}

/* sotto le pagine corte il nero continua */
html{background:var(--fondo)}

/* tabelle (informativa privacy) */
.wp-theme-astra :is(table,thead,tbody,tr,th,td){background:transparent!important;border-color:var(--filo)!important}
.wp-theme-astra th{color:var(--testo)!important;font-weight:500!important}

/* modulo di ricerca nelle pagine (risultati, pagina non trovata) */
.wp-theme-astra .site-content .search-form{display:flex;gap:8px;max-width:420px}
.wp-theme-astra .site-content .search-form label{flex:1;margin:0}
.wp-theme-astra .site-content .search-form .search-field{width:100%;height:44px;padding:0 12px}
.wp-theme-astra .site-content .search-form .search-submit{flex:none;width:auto!important;height:44px;padding:0 18px!important;position:static!important}
.wp-theme-astra .site-content .search-form .search-submit *{display:inline}

/* titoli di pagina alla misura delle landing */
.wp-theme-astra :is(h1.elementor-heading-title,.entry-title,h1.page-title,.ast-archive-title){font-size:clamp(30px,5.5vw,48px)!important;line-height:1.1!important}

/* riquadri di Astra (articoli correlati, paginazione, meta): tutti sul nero */
.wp-theme-astra .site-content [class*="ast-"]:not(.ast-button):not(.ast-icon){background-color:transparent!important}
.wp-theme-astra .ast-single-related-posts-container{border-top:1px solid var(--filo)}
.wp-theme-astra .entry-meta,.wp-theme-astra .entry-meta *{color:#7A7A7A!important}
.wp-theme-astra .site-content :is(div,section,nav,article,header,footer,hr,ul,li,aside){border-color:var(--filo)!important}

/* link dentro il testo degli elenchi di Elementor: restano parole nella riga */
.wp-theme-astra .elementor-icon-list-text a,.wp-theme-astra .elementor-widget-text-editor a{display:inline!important;text-decoration:underline!important;text-decoration-color:var(--rosso)!important;text-underline-offset:3px}
html body.wp-theme-astra .site-content :is(li,p)>a:not(.elementor-button):not(.bottone){text-decoration-line:underline!important;text-decoration-color:var(--rosso)!important;text-underline-offset:3px}
html body.wp-theme-astra .site-content .n2-ss-slider p[class*="-paragraph"]>a:not(.elementor-button):not(.bottone){text-decoration-line:none!important}
html body.wp-theme-astra .site-content .n2-ss-slider p[class*="-paragraph"]>a:not(.elementor-button):not(.bottone):hover{text-decoration-line:underline!important}

/* icone social sotto i ritratti di Chi siamo: niente bottone grigio, grigio chiaro sul nero, bianco al passaggio */
.wp-theme-astra .elementor-social-icon{background:transparent!important;width:auto!important;height:auto!important;padding:4px!important}
.wp-theme-astra .elementor-social-icon i{color:var(--grigio)!important}
.wp-theme-astra .elementor-social-icon svg{fill:var(--grigio)!important}
.wp-theme-astra .elementor-social-icon:hover i{color:var(--testo)!important}
.wp-theme-astra .elementor-social-icon:hover svg{fill:var(--testo)!important}
a[href^="tel:"],.piede-studio p{white-space:normal}a[href^="tel:"]{white-space:nowrap!important}
