/* ===== Layout: righe affiancate ===== */
/* Le righe interne (contenitori figli) non devono mai andare a capo su desktop:
   le colonne si restringono per far posto al gap. Niente padding ereditato dal kit sui contenitori annidati. */
.e-con .e-con { --padding-block-start: 0; --padding-block-end: 0; --padding-inline-start: 0; --padding-inline-end: 0; }
@media (min-width: 1025px) {
  .e-con .e-con.e-flex[class*="elementor-element"] { --flex-wrap: nowrap; }
  .e-con .e-con > .e-con { flex-shrink: 1; min-width: 0; }
}
/* Divisori fotografici: niente parallasse fixed (su iOS e viewport emulati non si disegna) */
.e-con[style*="background-attachment"], .elementor-element.e-con { background-attachment: scroll !important; }

/* Menu header: compatto, mai su due righe */
.elementor-location-header .elementor-nav-menu--main .elementor-item { font-size: 11px !important; letter-spacing: .14em !important; padding-left: 12px !important; padding-right: 12px !important; white-space: nowrap; }

/* ===== Base ===== */
html { scroll-behavior: smooth; scroll-padding-top: var(--mvk-header-h); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background: var(--mvk-ivory); color: var(--mvk-navy); font-family: var(--mvk-font-body); -webkit-font-smoothing: antialiased; }
::selection { background: var(--mvk-gold); color: var(--mvk-navy); }

/* Ancore: compensano l'header sticky */
[id="chi-sono"], [id="successi"], [id="grandi-eventi"], [id="metodo"], [id="approfondimenti"], [id="candidatura"] { scroll-margin-top: var(--mvk-header-h); }

/* Focus visibile in oro (accessibilità) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--mvk-gold); outline-offset: 3px; }

/* Tutte le immagini di contenuto in bianco e nero (rete di sicurezza: le foto arrivano già B/N) */
.elementor-widget-image img, .elementor-widget-theme-post-featured-image img, .elementor-posts .elementor-post__thumbnail img, .elementor-widget-video .elementor-custom-embed-image-overlay { filter: grayscale(1); }
.elementor-widget-image img[src$=".svg"] { filter: none; } /* il logo resta a colori */

/* Titoli */
h1, h2, h3, h4 { font-family: var(--mvk-font-display); letter-spacing: -0.01em; }

/* Card atleti: hover leggero */
.e-con.e-child[class*="elementor-element"]:has(> .elementor-widget-image + .elementor-widget-text-editor) { transition: transform .4s ease, box-shadow .4s ease; }

/* Liste con punto oro (icon-list) */
.elementor-icon-list-items .elementor-icon-list-icon { margin-top: 0.6em; }

/* Menu: sottolineatura sottile */
.elementor-nav-menu--main .elementor-item:after { height: 1px !important; } /* Elementor usa 3px: troppo pesante per il brand */

/* Form: campi puliti, niente ombre */
.elementor-field-group .elementor-field { box-shadow: none !important; padding: 14px 16px; font-family: var(--mvk-font-body); font-weight: 300; }
.elementor-field-group .elementor-field:focus { border-color: var(--mvk-gold) !important; } /* override del bordo di Elementor */
.elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 13px; color: var(--mvk-stone); }
.elementor-message.elementor-message-success { color: var(--mvk-navy); font-family: var(--mvk-font-display); font-size: 20px; font-style: italic; }

/* Posts widget: card su avorio */
.elementor-posts .elementor-post { background: var(--mvk-white); border: 1px solid var(--mvk-line); padding: 0 0 24px; }
.elementor-posts .elementor-post__text { padding: 0 24px; }
.elementor-posts .elementor-post__read-more { font-family: var(--mvk-font-body); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .2em; }

/* Animazione d'ingresso sobria (vedi main.js) */
.mvk-reveal { opacity: 0; transform: translateY(16px); transition: opacity .8s ease, transform .8s ease; }
.mvk-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .mvk-reveal { opacity: 1; transform: none; transition: none; } }

/* Articolo singolo: tipografia di lettura */
.elementor-widget-theme-post-content h2 { font-size: 32px; margin: 1.6em 0 .6em; }
.elementor-widget-theme-post-content p { margin-bottom: 1.3em; }
.elementor-widget-theme-post-content em { font-family: var(--mvk-font-display); font-size: 1.08em; }

/* Mobile */
@media (max-width: 767px) {
  :root { --mvk-header-h: 64px; }
  .elementor-widget-theme-post-featured-image { margin-top: 0 !important; }
}
