/* ============================================================
   NOVA ACADEMY 2.0 — correzioni integrazione WordPress / Elementor
   Caricato DOPO nova.css e dopo il tema. Risolve i 3 problemi
   tipici quando il design vive dentro widget HTML di Elementor:

   1) COLORE DEI LINK (parole rosso rubino)
      Il tema WP impone il proprio colore ai tag <a>, vincendo su
      "a{color:inherit}" del design. Qui lo ripristiniamo, ma SENZA
      toccare bottoni, voci di menu e link del footer (che hanno un
      colore voluto).

   2) BANDA BIANCA SOPRA L'HERO / SFONDO
      I wrapper di Elementor (.elementor-section / colonne / .e-con)
      aggiungono spaziature che spingono giu' l'hero: l'header
      trasparente (testo bianco) finisce sul bianco e sparisce.
      Azzeriamo quelle spaziature: lo spacing lo gestisce il design.

   3) SFONDO PAGINA
      Forziamo lo sfondo "paper" del design (i temi mettono bianco).

   Tutto e' limitato a  body.nova-academy  (classe aggiunta dal
   plugin) per non toccare altre pagine del sito.
   ============================================================ */

/* ---------- 3) sfondo ---------- */
html,
body.nova-academy { background: var(--paper); }

/* ---------- 2) niente spaziature parassite di Elementor ---------- */
body.nova-academy .elementor-section,
body.nova-academy .elementor-container,
body.nova-academy .elementor-row,
body.nova-academy .elementor-column,
body.nova-academy .elementor-column-wrap,
body.nova-academy .elementor-widget-wrap,
body.nova-academy .elementor-widget-html,
body.nova-academy .elementor-widget-container,
body.nova-academy .e-con,
body.nova-academy .e-con-inner {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
}
body.nova-academy .elementor-widget { margin: 0 !important; }

/* la prima sezione attaccata in cima (l'hero passa sotto l'header fisso) */
body.nova-academy [data-elementor-type] > .elementor-section:first-of-type,
body.nova-academy [data-elementor-type] > .elementor-element:first-of-type,
body.nova-academy .elementor-section:first-child {
	margin-top: 0 !important;
}

/* l'header sticky non deve essere coperto/ritagliato dai wrapper Elementor */
body.nova-academy .site-header { z-index: 1000 !important; }

/* ---------- 1) ripristino colore dei link ---------- */
/* tutti i link tornano a ereditare il colore del testo del design,
   tranne quelli con un colore proprio (bottoni, nav, login, mobile) */
body.nova-academy a:not(.btn):not(.login):not(.nav-link):not(.menu-toggle):not(.mnav-link):not(.mnav-loginlink):not(.mnav-cta):not(.index-word):not(.inv-cta):not(.pc-cta):not(.eleva-btn):not(.pcard) {
	color: inherit !important;
}
/* eventuale sottolineatura imposta dal tema */
body.nova-academy a:not(.btn) { text-decoration: none !important; }

/* footer: ricolora come da design (sfondo scuro) */
body.nova-academy .footer-col a { color: #CFC6B7 !important; }
body.nova-academy .footer-col a:hover { color: #fff !important; }
body.nova-academy .footer-bottom .socials a { color: #CFC6B7 !important; }
body.nova-academy .footer-bottom .socials a:hover { color: #fff !important; }

/* ---------- INDEX / AREE: ripristina l'hover (parole → accent) ----------
   CAUSA: il reset colore-link qui sopra usa una catena di :not() con
   specificita' molto alta (0,8,2) e !important, che VINCEVA sul :hover delle
   parole — quindi restavano sempre del colore ereditato, niente hover.
   FIX: 1) .index-word e' ora ESCLUSA dal reset (:not(.index-word)), cosi' usa
   il suo CSS nativo (ink di default, accent in hover) come nel sito statico.
   2) Qui sotto un override di riserva ad alta specificita', che colora anche
   lo span interno .iw-t (il testo visibile), nel caso il tema imponga un
   proprio a:hover con !important. */
body.nova-academy .index-list a.index-word,
body.nova-academy .index-list a.index-word .iw-t,
body.nova-academy .index-list a.index-word .iw-line { color: var(--ink) !important; }
body.nova-academy .index-list a.index-word:hover,
body.nova-academy .index-list a.index-word:hover .iw-line,
body.nova-academy .index-list a.index-word:hover .iw-t,
body.nova-academy .index-list a.index-word:focus-visible,
body.nova-academy .index-list a.index-word:focus-visible .iw-t { color: var(--accent) !important; }
body.nova-academy .index-list a.index-word:hover sup,
body.nova-academy .index-list a.index-word:focus-visible sup { color: var(--accent) !important; }
@media (hover: none) {
	body.nova-academy .index-list a.index-word:nth-child(2),
	body.nova-academy .index-list a.index-word:nth-child(2) .iw-t,
	body.nova-academy .index-list a.index-word:nth-child(2) sup { color: var(--accent) !important; }
}

/* ============================================================
   CORREZIONI v1.2 — header, FAQ, footer
   ============================================================ */

/* ---------- header su una sola riga ----------
   Alcuni temi impostano flex-wrap sui contenitori: l'header va a capo
   e i bottoni "accedi / inizia subito" finiscono sotto al logo.
   Qui forziamo la riga singola, allineata in verticale col menu. */
body.nova-academy .header-inner {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
}
body.nova-academy .header-inner > .logo { flex: 0 0 auto; }
body.nova-academy .header-inner > .header-cta { flex: 0 0 auto; }

/* ---------- FAQ: niente highlight rosso ----------
   Il tema colora il <button> della domanda quando e' aperto / in focus
   (sfondo rosso + bordo blu). Ripristiniamo il look del design. */
body.nova-academy .faq-q,
body.nova-academy .faq-q:hover,
body.nova-academy .faq-q:focus,
body.nova-academy .faq-q:focus-visible,
body.nova-academy .faq-q:active,
body.nova-academy .faq-item.open .faq-q {
	background: none !important;
	background-color: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}
/* il "+/−" cerchiato resta col suo stile (accent quando aperto) */
body.nova-academy .faq-item.open .faq-q .pm {
	background: var(--accent) !important;
	color: #fff !important;
	border-color: var(--accent) !important;
}

/* ---------- footer e sezioni full-bleed a tutta larghezza ----------
   La sezione del footer (e altre scure) viene resa "boxed" dal tema,
   lasciando bande color crema ai lati. Il design gestisce gia' il
   proprio max-width tramite .wrap, quindi i contenitori Elementor
   devono essere a tutta larghezza. */
body.nova-academy .elementor-section > .elementor-container,
body.nova-academy .e-con > .e-con-inner {
	max-width: 100% !important;
	width: 100% !important;
}
body.nova-academy .site-footer,
body.nova-academy .final-cta,
body.nova-academy .hero-cover {
	width: 100% !important;
	max-width: none !important;
}

/* ---------- bottoni: testo e icone restano del loro colore anche in hover ----------
   Il tema WP impone un colore ai link in :hover (es. testo nero), che
   sovrascrive il bianco dei bottoni "inizia subito / prenota ora / ...".
   Ripristiniamo il colore del design (var --fg, che per i bottoni e' chiaro)
   e lo applichiamo anche alle icone SVG (currentColor). */
body.nova-academy a.btn,
body.nova-academy a.btn:hover,
body.nova-academy a.btn:focus,
body.nova-academy a.btn:active,
body.nova-academy button.btn,
body.nova-academy button.btn:hover,
body.nova-academy .btn--accent,
body.nova-academy .btn--accent:hover {
	color: var(--fg, #fff) !important;
}
body.nova-academy .btn svg,
body.nova-academy .btn:hover svg,
body.nova-academy .btn .arrow,
body.nova-academy .btn:hover .arrow {
	color: var(--fg, #fff) !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

/* ============================================================
   CORREZIONI v1.3 — larghezza header + back-to-top
   ============================================================ */

/* ---------- header largo quanto lo schermo, voci su una riga ----------
   Il contenuto del sito ha un max-width di 1240px: su schermi larghi
   l'header risultava una colonna stretta al centro e le voci di menu
   andavano a capo. L'header usa piu' larghezza e non manda a capo. */
/* ---------- header: BARRA a tutta larghezza, CONTENUTO compatto e centrato ----------
   La barra (.site-header) e' full-bleed (gestita via JS), ma il contenuto
   resta centrato su max 1240px come nel design originale: logo a sinistra,
   menu al centro, bottoni a destra, senza spalmarsi sui bordi. */
body.nova-academy .site-header .header-inner {
	max-width: 1240px !important;
	width: 100% !important;
	margin-inline: auto !important;
	padding-inline: clamp(20px, 5vw, 64px) !important;
	gap: 24px !important;
	height: 78px !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
}
body.nova-academy .site-header .header-inner > .logo,
body.nova-academy .site-header .header-inner > .header-cta { flex: 0 0 auto !important; }
body.nova-academy .site-header .nav { flex: 1 1 auto; justify-content: center; }
body.nova-academy .site-header .nav-link,
body.nova-academy .site-header .nav-item { white-space: nowrap !important; }

/* ---------- back-to-top (ricreato dallo script) ----------
   Stile di sicurezza nel caso nova.css non bastasse. */
body.nova-academy .back-to-top {
	display: grid; place-items: center;
	background: var(--accent); color: #fff; border: none; cursor: pointer;
}
body.nova-academy .back-to-top:hover { background: var(--accent-deep); }

/* ============================================================
   CORREZIONI v1.5 — HOVER PAROLE AREE (FOTOGRAFIA/BUSINESS/…)
   Vedi il blocco "INDEX / AREE" sopra: .index-word e' esclusa dal reset
   colore-link e l'hover e' forzato ad alta specificita'. Aggiorna il plugin
   Assets (questo file) e svuota la cache per vedere l'effetto.
   ============================================================ */

/* ============================================================
   CORREZIONI v1.4 — FAILSAFE COMPARSA CONTENUTI (anti "pagina vuota")
   In Elementor i contenitori (transform/overflow/clip) possono impedire
   l'avvio delle animazioni "scroll-driven" (animation-timeline) e dei
   reveal JS: i contenuti resterebbero a opacity:0 → la home appare VUOTA.
   Qui forziamo SEMPRE la visibilità (l'animazione d'ingresso si perde, ma
   il contenuto si vede). Limitato a body.nova-academy: il sito statico
   conserva le sue animazioni.
   ============================================================ */
body.nova-academy .reveal,
body.nova-academy .reveal.in,
body.nova-academy .wn-reveal,
body.nova-academy .index-list .index-word,
body.nova-academy .index-word,
body.nova-academy .dg-head,
body.nova-academy .dg-cine,
body.nova-academy .index-head {
	opacity: 1 !important;
	transform: none !important;
	animation-name: none !important;
	animation-timeline: auto !important;
	clip-path: none !important;
	filter: none !important;
}
/* orbita AI: mostra i nodi anche se la sezione non riceve la classe ".in" */
body.nova-academy .ai-orbit .core,
body.nova-academy .ai-orbit .ring,
body.nova-academy .ai-orbit .chip,
body.nova-academy .ai-orbit.in .core,
body.nova-academy .ai-orbit.in .ring,
body.nova-academy .ai-orbit.in .chip {
	opacity: 1 !important;
}

/* ============================================================
   CORREZIONI v1.6 — BOTTONI CTA SCURI + FOCUS
   1) I CTA personalizzati (.inv-cta, .pc-cta, .eleva-btn) NON sono
      <a class="btn">: il reset colore-link qui sopra ne azzerava il testo
      bianco, rendendolo INVISIBILE sul fondo scuro (bottoni "rate",
      "invia la tua candidatura", ecc.). Ora sono esclusi dal reset e qui
      ne forziamo il colore corretto.
   2) Il tema colorava di rosso lo sfondo e aggiungeva un bordo blu ai
      bottoni al click/focus (es. "carica altre recensioni"): azzeriamo
      outline/box-shadow e ripristiniamo lo sfondo del design.
   ============================================================ */
/* testo bianco sui CTA scuri/accent; la variante "secondary" resta scura */
body.nova-academy a.inv-cta:not(.secondary),
body.nova-academy a.pc-cta,
body.nova-academy a.eleva-btn,
body.nova-academy a.inv-cta:not(.secondary) .arrow,
body.nova-academy a.pc-cta .arrow,
body.nova-academy a.eleva-btn .arrow {
	color: #fff !important;
}
body.nova-academy a.inv-cta.secondary { color: var(--ink) !important; }

/* niente outline blu / box-shadow del tema su focus o click */
body.nova-academy .btn:focus, body.nova-academy .btn:focus-visible, body.nova-academy .btn:active,
body.nova-academy .inv-cta:focus, body.nova-academy .inv-cta:focus-visible, body.nova-academy .inv-cta:active,
body.nova-academy .pc-cta:focus, body.nova-academy .pc-cta:focus-visible, body.nova-academy .pc-cta:active,
body.nova-academy .eleva-btn:focus, body.nova-academy .eleva-btn:focus-visible, body.nova-academy .eleva-btn:active {
	outline: none !important;
	box-shadow: none !important;
}
/* ripristina lo sfondo del design (il tema lo colorava di rosso al click) */
body.nova-academy .btn--ghost:focus, body.nova-academy .btn--ghost:focus-visible,
body.nova-academy .btn--ghost:active {
	background: transparent !important;
	color: var(--ink) !important;
}
body.nova-academy .btn--accent:focus, body.nova-academy .btn--accent:focus-visible,
body.nova-academy .btn--accent:active {
	background: var(--accent) !important;
	color: #fff !important;
}

/* ============================================================
   CORREZIONI v1.7 — HEADER MOBILE (hamburger garantito)
   Su WordPress/Elementor mancavano regole mobile: la nav desktop poteva
   restare forzata e l'hamburger non comparire. Qui, ad alta specificità
   (body.nova-academy), garantiamo il comportamento mobile corretto.
   ============================================================ */
@media (max-width: 900px) {
	body.nova-academy .site-header .nav,
	body.nova-academy .site-header .header-cta .login { display: none !important; }
	body.nova-academy .site-header .menu-toggle {
		display: inline-grid !important; place-items: center;
		width: 46px; height: 46px; border-radius: 12px;
		border: 1px solid var(--line); background: var(--card);
		color: var(--ink); cursor: pointer; flex: 0 0 auto;
	}
	/* l'orbita AI (decorativa) è nascosta su mobile: niente sfondamento pagina */
	body.nova-academy .ai-orbit { display: none !important; }
	body.nova-academy .ai-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 560px) {
	/* sotto i 560px lasciamo solo logo + hamburger: il CTA vive nel menu */
	body.nova-academy .site-header .header-cta .btn--accent { display: none !important; }
}
