/*
 * EUROSPORTELLO - MASTER STYLESHEET 2026
 * Versione 2.4.5 - stylesheet consolidato, omogeneo e con badge Accedi rettangolare
 *
 * Interventi principali:
 * - normalizzazione di spaziatura, commenti e variabili grafiche;
 * - rifinitura visiva di card, superfici, form e moduli WooCommerce;
 * - coerenza tra calendario corsi, prodotto/corso, archivio, checkout e account;
 * - blocco "BOTTONI GLOBALI" mantenuto con formattazione originale;
 * - responsive ricontrollato per slider home, CTA mobili e blocchi in evidenza.
 *
 * Nota operativa:
 * - ordine delle regole mantenuto per preservare la cascata CSS;
 * - gli !important necessari restano per compatibilità con Astra / WooCommerce / WPBakery / WCS.
 */

/* =========================================================
   MAPPA DI LETTURA — CSS CONSOLIDATO
   =========================================================
   Obiettivo:
   - mantenere invariata la cascata e le logiche esistenti;
   - rendere il file più leggibile e omogeneo;
   - trasformare le integrazioni finali in sezioni stabili e organiche;
   - applicare solo la variazione richiesta al badge "Accedi":
     forma più rettangolare, coerente con la parte amministrativa.

   Convenzioni:
   - i selettori originali sono mantenuti;
   - gli !important sono mantenuti dove già necessari per Astra,
     WooCommerce, WPBakery e WCS;
   - i blocchi responsive restano nel punto di cascata già previsto,
     per non alterare priorità e risultati.

   Blocchi principali:
   0. Variabili globali
   1. Base sito
   2. Bottoni globali
   3. Header e menu
   4. Calendario corsi / eventi
   5. Archivi, blog e articoli
   6. Pagina corso / prodotto
   7. Checkout
   8. Footer, account e responsive base
   9. Responsive home slider
   10. Rifinitura estetica desktop / base
   11. Animazioni
   12. Responsive CTA footer
   13. Responsive CTA home
   14. Header - account badge
   15. Home slider - stabilità hover e link servizi
   16. Home slider - seconda riga banner
   17. Footer loghi e social responsive
   18. Header tablet - menu e badge Accedi
   19. Area riservata - navigazione account
   20. Area riservata - pulsanti ordini e azioni
   21. Area riservata - responsive
   22. Area riservata - titoli
   23. Checkout - titolo iscrizione corso

   Breakpoint principali:
   - >= 1500px: desktop large
   - <= 1499px / <= 1500px / <= 1350px / <= 1280px / <= 1180px: desktop e laptop
   - <= 991px / <= 921px: tablet e header mobile
   - <= 768px / <= 767px / <= 680px / <= 544px / <= 480px: mobile
   - prefers-reduced-motion: accessibilità animazioni
   ========================================================= */
/* =========================================================
   0. VARIABILI GLOBALI
   ========================================================= */

:root {
    --font-main: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;

    --colore-bg: #fffcf7;
    --colore-bg-soft: #fff7e6;
    --colore-surface: #ffffff;
    --colore-surface-soft: #fff9ed;
    --colore-primario: #00587c;
    --colore-primario-light: #08709a;
    --colore-primario-alt: #0a7eac;
    --colore-accento: #fdc300;
    --colore-accento-light: #ffd84d;
    --colore-bianco: #ffffff;
    --colore-nero: #2f3747;
    --colore-testo-scuro: #142238;
    --colore-blu-scuro: #144b68;
    --colore-bordo: rgba(0, 88, 124, 0.12);
    --colore-bordo-soft: rgba(20, 34, 56, 0.08);
    --colore-muted: #64748b;
    --colore-focus: rgba(253, 195, 0, 0.36);

    --menu-blu: #004c80;
    --menu-antracite: #434a53;
    --menu-petrolio: #005f86;

    --shadow-soft: 0 12px 32px rgba(15,35,64,0.07);
    --shadow-card: 0 16px 42px rgba(15,35,64,0.09);
    --shadow-button: 0 10px 24px rgba(0,88,124,0.24);
    --shadow-button-hover: 0 14px 30px rgba(253,195,0,0.34);

    --radius-sm: 5px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 18px;
    --radius-card: 14px;
    --radius-pill: 999px;

    --euro-wide: 1640px;
    --euro-calendar-wide: 1700px;
    --euro-calendar-filter-width: 360px;
    --euro-calendar-gap: 32px;
    --euro-calendar-card-image-width: clamp(230px, 16vw, 280px);
    --euro-product-wide: 1700px;
    --euro-tabs-wide: 1700px;
    --euro-article-wide: 1120px;
    --euro-checkout-wide: 1580px;

    --euro-font-body: 18px;
    --euro-font-body-small: 18px;
    --euro-font-label: 16px;
    --euro-line-body: 1.55;
    --euro-line-tight: 1.25;
    --euro-h1-size: 42px;
    --euro-h2-size: 34px;
    --euro-h3-size: 28px;

    --euro-menu-font-size: 0.7rem;
    --euro-submenu-width: 280px;
    --euro-submenu-padding-y: 11px;
    --euro-submenu-padding-x: 20px;
    --euro-submenu-arrow-right: 12px;

    --euro-bottom-cta-font-size: 21px;
    --euro-bottom-cta-min-width: 233px;
    --euro-bottom-cta-min-height: 72px;
    --euro-bottom-cta-padding-y: 21px;
    --euro-bottom-cta-padding-x: 39px;
    --euro-bottom-cta-arrow-size: 25px;

    --euro-product-image-width: 720px;
    --euro-product-image-height: auto;
    --euro-product-columns-gap: 46px;
    --euro-tabs-top-gap: 42px;
    --euro-tab-link-width: 420px;
    --euro-tab-link-height: 56px;
    --euro-tab-gap: 11px;
    --euro-tab-space-right: 58px;
    --euro-tab-font-size: 18px;

    --euro-transition: 0.24s ease;
    --euro-transition-slow: 0.36s ease;

    /* Home slider: allineamento della scritta “35 anni…” al titolo/bottone “Consulenza integrata”.
       La riga servizi è divisa in 3 colonne: il primo titolo cade nel primo sesto della viewport. */
    --euro-slider-home-title-half: 100px;
    --euro-slider-home-title-left: max(24px, calc((100vw / 6) - var(--euro-slider-home-title-half)));
}

/* =========================================================
   1. BASE SITO
   ========================================================= */

html,
body {
    overflow-x: hidden;
}

body,
button,
input,
select,
textarea,
.ast-button,
.woocommerce,
.single-product,
.single-post,
.entry-content,
.entry-title {
    font-family: var(--font-main) !important;
}

body {
    color: var(--colore-nero);
    font-size: var(--euro-font-body);
    line-height: var(--euro-line-body);
    background: var(--colore-bg) !important;
}

body p,
body li,
body .entry-content,
body .entry-content p,
body .entry-content li,
body .wpb_wrapper,
body .wpb_wrapper p,
body .wpb_wrapper li,
body .woocommerce,
body .single-product,
body .single-post {
    font-size: var(--euro-font-body) !important;
    line-height: var(--euro-line-body) !important;
}

body h1,
body .entry-title,
body h1.entry-title {
    font-size: var(--euro-h1-size) !important;
    line-height: var(--euro-line-tight) !important;
}

body h2 {
    font-size: var(--euro-h2-size) !important;
    line-height: var(--euro-line-tight) !important;
}

body h3 {
    font-size: var(--euro-h3-size) !important;
    line-height: var(--euro-line-tight) !important;
}

body label,
body input,
body select,
body textarea,
body button,
body .button,
body .vc_btn3,
body .woocommerce-checkout-review-order-table th,
body .woocommerce-checkout-review-order-table td,
body .entry-meta,
body .posted-on,
body .byline {
    font-size: var(--euro-font-label) !important;
}

body:not(.single-product):not(.woocommerce-checkout):not(.single-post):not(.archive):not(.category):not(.blog) #main {
    margin-top: -50px !important;
}

#sliderprimo {
    width: 100%;
    margin-top: 0;
    padding: 2px;
    color: var(--colore-bianco);
    border-radius: 10px;
    font-family: var(--font-main);
    font-size: 21px;
    font-style: italic;
    text-align: left;
}

#sliderrogasopra {
    width: max-content !important;
    max-width: calc(100vw - 48px) !important;
    margin-top: 50px !important;
    margin-left: var(--euro-slider-home-title-left) !important;
    padding-left: 0 !important;
    color: var(--colore-bianco) !important;
    border-radius: 10px !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

#sliderrogasotto {
    font-size: 17px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    margin-top: 0 !important;
}

.single-product #main,
.woocommerce-checkout #main,
.single-post #main,
.archive #main,
.category #main,
.blog #main {
    margin-top: 0 !important;
}

.woocommerce span.onsale,
.wc-item-meta,
.sku_wrapper,
.related,
.tagged_as,
.woocommerce-breadcrumb,
.single-product-category,
.woocommerce-tabs ul.tabs,
.post-navigation,
#footer-copyright-container,
.posted_in,
.product_meta {
    display: none !important;
}

/* Micro-regole comuni: leggibilità, accessibilità e coerenza visiva */
::selection {
    background: rgba(253,195,0,0.34);
    color: var(--colore-testo-scuro);
}

a {
    text-underline-offset: 0.18em;
}

img,
svg,
video {
    max-width: 100%;
}

/* =========================================================
   2. BOTTONI GLOBALI
   ========================================================= */

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3,
body.page .entry-content .vc_grid-item a.vc_btn3,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3,
body.page .entry-content .vc_btn3-container a.vc_btn3,
body.archive article a.more-link,
body.category article a.more-link,
body.blog article a.more-link,
body.archive article .read-more a,
body.category article .read-more a,
body.blog article .read-more a,
body.archive article .ast-read-more-container a,
body.category article .ast-read-more-container a,
body.blog article .ast-read-more-container a,
.leggi_tutto_post_grid .vc_btn3-container a,
.leggi_tutto_post_grid a.vc_general.vc_btn3,
.leggi_tutto_post_grid a.vc_btn3,
.vc_custom_heading a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: auto !important;
    min-width: 155px !important;
    min-height: 48px !important;
    padding: 14px 26px !important;
    inset: auto !important;
    background: linear-gradient(135deg, var(--colore-primario) 0%, var(--colore-primario-light) 58%, var(--colore-primario-alt) 100%) !important;
    color: var(--colore-bianco) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    font-family: var(--font-main) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.45px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: var(--shadow-button), inset 0 1px 0 rgba(255,255,255,0.22) !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease !important;
}

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3::before,
body.page .entry-content .vc_grid-item a.vc_btn3::before,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3::before,
body.page .entry-content .vc_btn3-container a.vc_btn3::before,
body.archive article a.more-link::before,
body.category article a.more-link::before,
body.blog article a.more-link::before,
body.archive article .read-more a::before,
body.category article .read-more a::before,
body.blog article .read-more a::before,
body.archive article .ast-read-more-container a::before,
body.category article .ast-read-more-container a::before,
body.blog article .ast-read-more-container a::before,
.leggi_tutto_post_grid .vc_btn3-container a::before,
.leggi_tutto_post_grid a.vc_general.vc_btn3::before,
.leggi_tutto_post_grid a.vc_btn3::before,
.vc_custom_heading a::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -80% !important;
    width: 55% !important;
    height: 100% !important;
    background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.30) 50%, rgba(255,255,255,0) 100%) !important;
    transform: skewX(-22deg) !important;
    transition: left 0.45s ease !important;
}

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3::after,
body.page .entry-content .vc_grid-item a.vc_btn3::after,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3::after,
body.page .entry-content .vc_btn3-container a.vc_btn3::after,
body.archive article a.more-link::after,
body.category article a.more-link::after,
body.blog article a.more-link::after,
body.archive article .read-more a::after,
body.category article .read-more a::after,
body.blog article .read-more a::after,
body.archive article .ast-read-more-container a::after,
body.category article .ast-read-more-container a::after,
body.blog article .ast-read-more-container a::after,
.leggi_tutto_post_grid .vc_btn3-container a::after,
.leggi_tutto_post_grid a.vc_general.vc_btn3::after,
.leggi_tutto_post_grid a.vc_btn3::after,
.vc_custom_heading a::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 2px !important;
    font-size: 17px !important;
    line-height: 1 !important;
    transition: transform 0.25s ease !important;
}

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3:hover,
body.page .entry-content .vc_grid-item a.vc_btn3:hover,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3:hover,
body.page .entry-content .vc_btn3-container a.vc_btn3:hover,
body.archive article a.more-link:hover,
body.category article a.more-link:hover,
body.blog article a.more-link:hover,
body.archive article .read-more a:hover,
body.category article .read-more a:hover,
body.blog article .read-more a:hover,
body.archive article .ast-read-more-container a:hover,
body.category article .ast-read-more-container a:hover,
body.blog article .ast-read-more-container a:hover,
.leggi_tutto_post_grid .vc_btn3-container a:hover,
.leggi_tutto_post_grid a.vc_general.vc_btn3:hover,
.leggi_tutto_post_grid a.vc_btn3:hover,
.vc_custom_heading a:hover,
.vc_custom_heading a:focus {
    background: linear-gradient(135deg, var(--colore-accento) 0%, var(--colore-accento-light) 100%) !important;
    color: var(--colore-primario) !important;
    border-color: rgba(253,195,0,0.75) !important;
    box-shadow: var(--shadow-button-hover), inset 0 1px 0 rgba(255,255,255,0.38) !important;
    transform: translateY(-3px) !important;
    text-decoration: none !important;
}

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3:hover::before,
body.page .entry-content .vc_grid-item a.vc_btn3:hover::before,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3:hover::before,
body.page .entry-content .vc_btn3-container a.vc_btn3:hover::before,
body.archive article a.more-link:hover::before,
body.category article a.more-link:hover::before,
body.blog article a.more-link:hover::before,
body.archive article .read-more a:hover::before,
body.category article .read-more a:hover::before,
body.blog article .read-more a:hover::before,
body.archive article .ast-read-more-container a:hover::before,
body.category article .ast-read-more-container a:hover::before,
body.blog article .ast-read-more-container a:hover::before,
.leggi_tutto_post_grid .vc_btn3-container a:hover::before,
.leggi_tutto_post_grid a.vc_general.vc_btn3:hover::before,
.leggi_tutto_post_grid a.vc_btn3:hover::before,
.vc_custom_heading a:hover::before,
.vc_custom_heading a:focus::before {
    left: 125% !important;
}

body.page .entry-content .vc_grid-item a.vc_general.vc_btn3:hover::after,
body.page .entry-content .vc_grid-item a.vc_btn3:hover::after,
body.page .entry-content .vc_btn3-container a.vc_general.vc_btn3:hover::after,
body.page .entry-content .vc_btn3-container a.vc_btn3:hover::after,
body.archive article a.more-link:hover::after,
body.category article a.more-link:hover::after,
body.blog article a.more-link:hover::after,
body.archive article .read-more a:hover::after,
body.category article .read-more a:hover::after,
body.blog article .read-more a:hover::after,
body.archive article .ast-read-more-container a:hover::after,
body.category article .ast-read-more-container a:hover::after,
body.blog article .ast-read-more-container a:hover::after,
.leggi_tutto_post_grid .vc_btn3-container a:hover::after,
.leggi_tutto_post_grid a.vc_general.vc_btn3:hover::after,
.leggi_tutto_post_grid a.vc_btn3:hover::after,
.vc_custom_heading a:hover::after,
.vc_custom_heading a:focus::after {
    transform: translateX(5px) !important;
}

body.page .entry-content .vc_grid-item .vc_btn3-container,
body.page .entry-content .vc_btn3-container,
body.archive .entry-content .vc_grid-item .vc_btn3-container,
body.archive .entry-content .vc_btn3-container,
body.category .entry-content .vc_grid-item .vc_btn3-container,
body.category .entry-content .vc_btn3-container,
body.blog .entry-content .vc_grid-item .vc_btn3-container,
body.blog .entry-content .vc_btn3-container,
.leggi_tutto_post_grid .vc_btn3-container {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 22px 0 0 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    text-align: left !important;
}

.euro-bottom-cta-row .vc_custom_heading a,
.euro-bottom-cta-row a.vc_general.vc_btn3,
.euro-bottom-cta-row a.vc_btn3,
body.page .entry-content .vc_custom_heading a[href*="calendario"],
body.page .entry-content .vc_custom_heading a[href*="eventi"],
body.page .entry-content .vc_custom_heading a[href*="newsletter"],
body.page .entry-content a.vc_general.vc_btn3[href*="calendario"],
body.page .entry-content a.vc_general.vc_btn3[href*="eventi"],
body.page .entry-content a.vc_general.vc_btn3[href*="newsletter"],
body.page .entry-content a.vc_btn3[href*="calendario"],
body.page .entry-content a.vc_btn3[href*="eventi"],
body.page .entry-content a.vc_btn3[href*="newsletter"] {
    min-width: var(--euro-bottom-cta-min-width) !important;
    min-height: var(--euro-bottom-cta-min-height) !important;
    padding: var(--euro-bottom-cta-padding-y) var(--euro-bottom-cta-padding-x) !important;
    font-size: var(--euro-bottom-cta-font-size) !important;
}

/* =========================================================
   3. HEADER E MENU
   ========================================================= */

#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-desktop-header-content,
.ast-mobile-header-wrap,
.ast-mobile-popup-drawer,
.ast-mobile-popup-inner,
.ast-mobile-popup-content {
    background: var(--colore-bg) !important;
    background-color: var(--colore-bg) !important;
}

#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-grid-row,
.ast-builder-grid-row-container,
.ast-header-html,
.ast-header-widget-area,
.ast-desktop-header-content {
    overflow: visible !important;
}

.ast-desktop .main-header-menu > .menu-item {
    position: relative !important;
}

.ast-desktop .main-header-menu > .menu-item > .menu-link,
.ast-desktop .main-header-menu > .menu-item > a,
.ast-desktop .main-header-menu .sub-menu .menu-item > .menu-link,
.ast-desktop .main-header-menu .sub-menu .menu-item > a {
    font-size: var(--euro-menu-font-size) !important;
}

.ast-desktop .main-header-menu > .menu-item > .menu-link,
.ast-desktop .main-header-menu > .menu-item > a {
    position: relative !important;
    padding: 0 24px !important;
    background: transparent !important;
    color: var(--menu-blu) !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.ast-desktop .main-header-menu > .menu-item > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item > a::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: -18px;
    height: 3px;
    background: transparent;
    transition: background-color 0.18s ease;
}

.ast-desktop .main-header-menu > .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu > .menu-item:hover > a,
.ast-desktop .main-header-menu > .menu-item.focus > .menu-link,
.ast-desktop .main-header-menu > .menu-item.focus > a,
.ast-desktop .main-header-menu > .menu-item.current-menu-item > .menu-link,
.ast-desktop .main-header-menu > .menu-item.current-menu-item > a,
.ast-desktop .main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.ast-desktop .main-header-menu > .menu-item.current-menu-ancestor > a,
.ast-desktop .main-header-menu > .menu-item.current-menu-parent > .menu-link,
.ast-desktop .main-header-menu > .menu-item.current-menu-parent > a {
    background: transparent !important;
    color: var(--menu-blu) !important;
    box-shadow: none !important;
}

.ast-desktop .main-header-menu > .menu-item:hover > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item:hover > a::after,
.ast-desktop .main-header-menu > .menu-item.focus > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item.focus > a::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-item > a::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-ancestor > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-ancestor > a::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-parent > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item.current-menu-parent > a::after {
    background: var(--colore-accento) !important;
}

.ast-desktop .main-header-menu .ast-menu-toggle,
.ast-desktop .main-header-menu .ast-icon.icon-arrow,
.ast-desktop .main-header-menu .sub-arrow,
.ast-desktop .main-header-menu .icon-arrow svg {
    color: var(--menu-blu) !important;
    fill: var(--menu-blu) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.ast-desktop .main-header-menu .sub-menu {
    width: var(--euro-submenu-width) !important;
    min-width: var(--euro-submenu-width) !important;
    padding: 0 !important;
    margin-top: 0 !important;
    background: var(--colore-surface) !important;
    border-top: 4px solid var(--colore-accento) !important;
    border-radius: 0 0 4px 4px !important;
    box-shadow: 0 14px 28px rgba(0,0,0,0.14) !important;
    overflow: visible !important;
    z-index: 9999 !important;
}

.ast-desktop .main-header-menu > .menu-item > .sub-menu {
    top: 100% !important;
    left: 0 !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item {
    position: relative !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item > .menu-link,
.ast-desktop .main-header-menu .sub-menu .menu-item > a {
    display: block !important;
    position: relative !important;
    padding: var(--euro-submenu-padding-y) var(--euro-submenu-padding-x) !important;
    background: var(--colore-surface) !important;
    color: var(--colore-primario) !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.ast-desktop .main-header-menu .sub-menu > .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu .sub-menu > .menu-item:hover > a,
.ast-desktop .main-header-menu .sub-menu > .menu-item.focus > .menu-link,
.ast-desktop .main-header-menu .sub-menu > .menu-item.focus > a,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-item > .menu-link,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-item > a,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-parent > .menu-link,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-parent > a,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-ancestor > .menu-link,
.ast-desktop .main-header-menu .sub-menu > .menu-item.current-menu-ancestor > a {
    background: var(--menu-antracite) !important;
    color: var(--colore-bianco) !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item-has-children > .menu-link,
.ast-desktop .main-header-menu .sub-menu .menu-item-has-children > a {
    padding-right: calc(var(--euro-submenu-padding-x) + 18px) !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item-has-children > .menu-link::after,
.ast-desktop .main-header-menu .sub-menu .menu-item-has-children > a::after {
    content: "›";
    position: absolute;
    right: var(--euro-submenu-arrow-right);
    top: 50%;
    transform: translateY(-50%);
    color: #0d78a8;
    font-size: var(--euro-menu-font-size) !important;
    font-weight: 700;
}

.ast-desktop .main-header-menu .sub-menu .sub-menu {
    top: 0 !important;
    left: 100% !important;
    border-top: none !important;
    border-radius: 0 !important;
}

.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item:hover > a,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.focus > .menu-link,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.focus > a,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-item > .menu-link,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-item > a,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-parent > .menu-link,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-parent > a,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-ancestor > .menu-link,
.ast-desktop .main-header-menu .sub-menu .sub-menu .menu-item.current-menu-ancestor > a {
    background: var(--menu-petrolio) !important;
    color: #ffd600 !important;
}

.ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link,
.ast-mobile-popup-content .main-header-menu > .menu-item > a,
.ast-mobile-header-content .main-header-menu > .menu-item > .menu-link,
.ast-mobile-header-content .main-header-menu > .menu-item > a,
.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item > .menu-link,
.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item > a,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item > .menu-link,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item > a {
    font-size: var(--euro-menu-font-size) !important;
}

.ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link,
.ast-mobile-popup-content .main-header-menu > .menu-item > a,
.ast-mobile-header-content .main-header-menu > .menu-item > .menu-link,
.ast-mobile-header-content .main-header-menu > .menu-item > a,
.ast-mobile-popup-content .main-header-menu > .menu-item > .ast-menu-toggle,
.ast-mobile-header-content .main-header-menu > .menu-item > .ast-menu-toggle {
    background: transparent !important;
    color: #0f2540 !important;
    border: none !important;
    box-shadow: none !important;
}

.ast-mobile-popup-content .main-header-menu .sub-menu,
.ast-mobile-header-content .main-header-menu .sub-menu {
    background: var(--colore-surface) !important;
}

.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item:hover > .menu-link,
.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item:hover > a,
.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item.focus > .menu-link,
.ast-mobile-popup-content .main-header-menu .sub-menu .menu-item.focus > a,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item:hover > .menu-link,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item:hover > a,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item.focus > .menu-link,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-item.focus > a,
.ast-mobile-popup-content .main-header-menu .sub-menu .current-menu-item > .menu-link,
.ast-mobile-popup-content .main-header-menu .sub-menu .current-menu-item > a,
.ast-mobile-header-content .main-header-menu .sub-menu .current-menu-item > .menu-link,
.ast-mobile-header-content .main-header-menu .sub-menu .current-menu-item > a {
    background: linear-gradient(90deg, rgba(253,195,0,0.40) 0%, rgba(253,195,0,0.18) 70%, rgba(255,255,255,0) 100%) !important;
    color: var(--colore-primario) !important;
}

.ast-desktop .main-header-menu .menu-item,
.ast-desktop .main-header-menu .menu-item:hover,
.ast-desktop .main-header-menu .menu-item.focus,
.ast-mobile-popup-content .main-header-menu .menu-item,
.ast-mobile-popup-content .main-header-menu .menu-item:hover,
.ast-mobile-popup-content .main-header-menu .menu-item.focus,
.ast-mobile-popup-content .main-header-menu .menu-item.current-menu-item,
.ast-mobile-popup-content .main-header-menu .menu-item.current-menu-ancestor,
.ast-mobile-popup-content .main-header-menu .menu-item.current-menu-parent,
.ast-mobile-header-content .main-header-menu .menu-item,
.ast-mobile-header-content .main-header-menu .menu-item:hover,
.ast-mobile-header-content .main-header-menu .menu-item.focus,
.ast-mobile-header-content .main-header-menu .menu-item.current-menu-item,
.ast-mobile-header-content .main-header-menu .menu-item.current-menu-ancestor,
.ast-mobile-header-content .main-header-menu .menu-item.current-menu-parent {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* =========================================================
   4. CALENDARIO CORSI / EVENTI
   ========================================================= */

.wcs-timetable,
.wcs-timetable__container,
.wcs-timetable-wrapper,
.wcs-timetable__wrapper,
.entry-content .wcs-timetable__container,
.vc_row .wcs-timetable__container,
.vc_column-inner .wcs-timetable__container,
.wpb_wrapper .wcs-timetable__container,
.euro-eventi-automatici {
    width: 92vw !important;
    max-width: var(--euro-calendar-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wcs-timetable__list {
    width: 100% !important;
}

.wcs-timetable__list .wcs-class {
    display: grid !important;
    grid-template-columns: 300px 120px minmax(420px, 1fr) 210px !important;
    column-gap: 38px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 34px !important;
    padding: 32px 38px !important;
    background: var(--colore-surface) !important;
    border: 1px solid var(--colore-bordo-soft) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-card) !important;
    box-sizing: border-box !important;
}

.wcs-timetable__list .wcs-class .wcs-class__image,
.wcs-timetable__list .wcs-class [class*="image"],
.wcs-timetable__list .wcs-class figure,
.wcs-timetable__list .wcs-class picture,
.wcs-timetable__list .wcs-class img,
.wcs-timetable__list .wcs-class .wcs-class__image img,
.wcs-timetable__list .wcs-class [class*="image"] img,
.wcs-timetable__list .wcs-class figure img,
.wcs-timetable__list .wcs-class picture img {
    width: 300px !important;
    max-width: 300px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background-color: var(--colore-bianco) !important;
    border-radius: 4px !important;
    overflow: visible !important;
}

.wcs-timetable__list .wcs-class img {
    display: block !important;
}

.wcs-timetable__list .wcs-class a[style*="background"],
.wcs-timetable__list .wcs-class div[style*="background"],
.wcs-timetable__list .wcs-class span[style*="background"] {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: var(--colore-bianco) !important;
}

.wcs-timetable__list .wcs-class .wcs-class__date,
.wcs-timetable__list .wcs-class [class*="date"] {
    color: var(--colore-primario) !important;
    font-family: var(--font-main) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

.wcs-timetable__list .wcs-class .wcs-class__date strong,
.wcs-timetable__list .wcs-class [class*="date"] strong,
.wcs-timetable__list .wcs-class .wcs-class__date b,
.wcs-timetable__list .wcs-class [class*="date"] b {
    display: block !important;
    font-size: 50px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.wcs-class__inner-flex {
    font-size: 0.75rem;
}

.wcs-timetable__list .wcs-class h2,
.wcs-timetable__list .wcs-class h2 a,
.wcs-timetable__list .wcs-class h3,
.wcs-timetable__list .wcs-class h3 a,
.wcs-timetable__list .wcs-class h4,
.wcs-timetable__list .wcs-class h4 a,
.wcs-timetable__list .wcs-class .wcs-class__title,
.wcs-timetable__list .wcs-class .wcs-class__title a,
.wcs-timetable__list .wcs-class .wcs-class-title,
.wcs-timetable__list .wcs-class .wcs-class-title a,
.wcs-timetable__list .wcs-class [class*="title"] {
    max-width: 620px !important;
    margin: 0 0 14px 0 !important;
    color: var(--colore-testo-scuro) !important;
    font-family: var(--font-main) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    text-shadow: none !important;
}

.wcs-timetable__list .wcs-class p,
.wcs-timetable__list .wcs-class .wcs-class__meta,
.wcs-timetable__list .wcs-class [class*="meta"] {
    color: var(--colore-nero) !important;
    font-family: var(--font-main) !important;
    font-size: var(--euro-font-body-small) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.wcs-timetable__list .wcs-class .wcs-class__action a,
.wcs-timetable__list .wcs-class .wcs-class__button a,
.wcs-timetable__list .wcs-class a.button,
.wcs-timetable__list .wcs-class .button,
.wcs-timetable__list .wcs-class .euro-brochure-button,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href$=".pdf"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*=".pdf"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="download"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="uploads"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="brochure"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="Brochure"],
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="BROCHURE"],
.wcs-timetable__list .wcs-class .wcs-class__meta a[href$=".pdf"],
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*=".pdf"],
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="download"],
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="uploads"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 185px !important;
    min-height: 48px !important;
    padding: 13px 24px !important;
    margin-top: 16px !important;
    background: linear-gradient(135deg, var(--colore-primario) 0%, var(--colore-primario-light) 100%) !important;
    color: var(--colore-bianco) !important;
    border: 2px solid var(--colore-primario) !important;
    border-radius: var(--radius-md) !important;
    font-family: var(--font-main) !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.35px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 22px rgba(0,88,124,0.22) !important;
    transition: all 0.25s ease !important;
}

.wcs-timetable__list .wcs-class .wcs-class__action a,
.wcs-timetable__list .wcs-class .wcs-class__button a,
.wcs-timetable__list .wcs-class a.button,
.wcs-timetable__list .wcs-class .button {
    justify-self: end !important;
    margin-top: 0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

.wcs-timetable__list .wcs-class .wcs-class__action a::after,
.wcs-timetable__list .wcs-class .wcs-class__button a::after,
.wcs-timetable__list .wcs-class a.button::after,
.wcs-timetable__list .wcs-class .button::after,
.wcs-timetable__list .wcs-class .euro-brochure-button::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href$=".pdf"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*=".pdf"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="download"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="uploads"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="brochure"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="Brochure"]::after,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="BROCHURE"]::after,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href$=".pdf"]::after,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*=".pdf"]::after,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="download"]::after,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="uploads"]::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 9px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transition: transform 0.25s ease !important;
}

.wcs-timetable__list .wcs-class .wcs-class__action a:hover,
.wcs-timetable__list .wcs-class .wcs-class__button a:hover,
.wcs-timetable__list .wcs-class a.button:hover,
.wcs-timetable__list .wcs-class .button:hover,
.wcs-timetable__list .wcs-class .euro-brochure-button:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href$=".pdf"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*=".pdf"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="download"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="uploads"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="brochure"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="Brochure"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__inner-flex a[href*="BROCHURE"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href$=".pdf"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*=".pdf"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="download"]:hover,
.wcs-timetable__list .wcs-class .wcs-class__meta a[href*="uploads"]:hover {
    background: linear-gradient(135deg, var(--colore-accento) 0%, var(--colore-accento-light) 100%) !important;
    color: var(--colore-primario) !important;
    border-color: var(--colore-accento) !important;
    box-shadow: 0 12px 26px rgba(253,195,0,0.30) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

.euro-eventi-automatici .wcs-class__image {
    grid-column: 1 !important;
    display: block !important;
    text-decoration: none !important;
}
.euro-eventi-automatici .wcs-class__date {
    grid-column: 2 !important;
}
.euro-eventi-automatici .wcs-class__inner-flex,
.euro-eventi-automatici .euro-post-event-content {
    grid-column: 3 !important;
}
.euro-eventi-automatici .wcs-class__action,
.euro-eventi-automatici .euro-post-event-action {
    grid-column: 4 !important;
    justify-self: end !important;
}
.euro-eventi-automatici .euro-date-separator {
    display: block !important;
    margin: 4px 0 !important;
}
.euro-eventi-automatici .euro-post-event-title a {
    color: var(--colore-testo-scuro) !important;
    text-decoration: none !important;
}
.euro-eventi-automatici .euro-post-event-excerpt {
    margin-top: 8px !important;
}

.euro-eventi-automatici .euro-post-event-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 300px !important;
    min-height: 160px !important;
    background: #f3f4f6 !important;
    color: var(--colore-primario) !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.wcs-timetable__filters,
.wcs-timetable .wcs-filters,
.wcs-timetable__container .wcs-filters {
    max-width: 280px !important;
}

.wcs-timetable__filters select,
.wcs-timetable__filters input[type="text"],
.wcs-timetable__filters input[type="search"],
.wcs-timetable__filters input[type="date"],
.wcs-filters select,
.wcs-filters input[type="text"],
.wcs-filters input[type="search"],
.wcs-filters input[type="date"] {
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    background: var(--colore-surface) !important;
    color: var(--colore-testo-scuro) !important;
    border: 1px solid #d7dee5 !important;
    border-radius: 6px !important;
    font-family: var(--font-main) !important;
    font-size: 15px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.wcs-timetable__filters button,
.wcs-timetable__filters input[type="submit"],
.wcs-timetable__filters .button,
.wcs-filters button,
.wcs-filters input[type="submit"],
.wcs-filters .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 12px 22px !important;
    background: linear-gradient(135deg, var(--colore-primario) 0%, var(--colore-primario-light) 100%) !important;
    color: var(--colore-bianco) !important;
    border: 2px solid var(--colore-primario) !important;
    border-radius: var(--radius-md) !important;
    font-family: var(--font-main) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: 0 8px 22px rgba(0,88,124,0.22) !important;
}

.wcs-timetable__filters button:hover,
.wcs-timetable__filters input[type="submit"]:hover,
.wcs-timetable__filters .button:hover,
.wcs-filters button:hover,
.wcs-filters input[type="submit"]:hover,
.wcs-filters .button:hover {
    background: var(--colore-accento) !important;
    color: var(--colore-primario) !important;
    border-color: var(--colore-accento) !important;
}

.euro-eventi-pagination {
    width: 100% !important;
    margin: 38px auto 60px auto !important;
    text-align: center !important;
}

.euro-eventi-pagination ul.page-numbers {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.euro-eventi-pagination ul.page-numbers li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

.euro-eventi-pagination a.page-numbers,
.euro-eventi-pagination span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 16px !important;
    background: var(--colore-surface) !important;
    color: var(--colore-primario) !important;
    border: 1px solid rgba(0,88,124,0.16) !important;
    border-radius: 10px !important;
    font-family: var(--font-main) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15,35,64,0.06) !important;
    transition: all 0.22s ease !important;
}

.euro-eventi-pagination a.page-numbers:hover {
    background: var(--colore-accento) !important;
    color: var(--colore-primario) !important;
    border-color: var(--colore-accento) !important;
    box-shadow: 0 12px 24px rgba(253,195,0,0.24) !important;
    transform: translateY(-2px) !important;
}

.euro-eventi-pagination span.page-numbers.current {
    background: linear-gradient(135deg, var(--colore-primario) 0%, var(--colore-primario-light) 100%) !important;
    color: var(--colore-bianco) !important;
    border-color: var(--colore-primario) !important;
    box-shadow: 0 10px 22px rgba(0,88,124,0.20) !important;
}

/* =========================================================
   5. ARCHIVI, BLOG E ARTICOLI
   ========================================================= */

body.archive #primary,
body.archive #main,
body.archive .site-main,
body.archive .content-area,
body.category #primary,
body.category #main,
body.category .site-main,
body.category .content-area,
body.blog #primary,
body.blog #main,
body.blog .site-main,
body.blog .content-area {
    max-width: 1280px !important;
    width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.archive .page-title,
body.category .page-title,
body.blog .page-title {
    margin: 50px 0 34px 0 !important;
    color: var(--colore-testo-scuro) !important;
    font-size: 38px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

body.archive .entry-content > ul,
body.category .entry-content > ul,
body.blog .entry-content > ul,
body.archive .wpb_wrapper > ul,
body.category .wpb_wrapper > ul,
body.blog .wpb_wrapper > ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 16px !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 0 42px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
}

body.archive .entry-content > ul li,
body.category .entry-content > ul li,
body.blog .entry-content > ul li,
body.archive .wpb_wrapper > ul li,
body.category .wpb_wrapper > ul li,
body.blog .wpb_wrapper > ul li {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.archive .entry-content > ul li a,
body.category .entry-content > ul li a,
body.blog .entry-content > ul li a,
body.archive .wpb_wrapper > ul li a,
body.category .wpb_wrapper > ul li a,
body.blog .wpb_wrapper > ul li a {
    display: inline-flex !important;
    width: auto !important;
    padding: 8px 14px !important;
    background: #f0f0f0 !important;
    color: var(--colore-testo-scuro) !important;
    border-radius: var(--radius-pill) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body.archive .entry-content > ul li a:hover,
body.category .entry-content > ul li a:hover,
body.blog .entry-content > ul li a:hover,
body.archive .wpb_wrapper > ul li a:hover,
body.category .wpb_wrapper > ul li a:hover,
body.blog .wpb_wrapper > ul li a:hover {
    background: var(--colore-primario) !important;
    color: var(--colore-accento) !important;
}

body.archive article,
body.category article,
body.blog article {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 0 42px 0 !important;
    padding: 28px 30px !important;
    background: var(--colore-surface) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-soft) !important;
}

body.archive article .entry-title,
body.category article .entry-title,
body.blog article .entry-title,
body.archive article h2,
body.category article h2,
body.blog article h2 {
    margin: 0 0 14px 0 !important;
    color: var(--colore-testo-scuro) !important;
    font-size: 27px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.archive article p,
body.category article p,
body.blog article p,
body.archive article .entry-summary,
body.category article .entry-summary,
body.blog article .entry-summary,
body.archive article .entry-content,
body.category article .entry-content,
body.blog article .entry-content {
    color: var(--colore-nero) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}

body.single-post,
body.single-post #page,
body.single-post #content,
body.single-post .site-content,
body.single-post .ast-container,
body.single-post #primary,
body.single-post #main,
body.single-post .site-main {
    background: var(--colore-bg) !important;
}

body.single-post .site-content .ast-container,
body.single-post .ast-container,
body.single-post #content .ast-container,
body.single-post #primary,
body.single-post #main,
body.single-post .content-area,
body.single-post .site-main {
    width: 96vw !important;
    max-width: var(--euro-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.single-post article,
body.single-post .ast-article-single,
body.single-post .type-post,
body.single-post .entry-content,
body.single-post .post-content,
body.single-post .wpb-content-wrapper,
body.single-post .entry-header,
body.single-post .entry-title,
body.single-post h1.entry-title,
body.single-post .entry-meta,
body.single-post .posted-on,
body.single-post .byline,
body.single-post .vc_row,
body.single-post .vc_row-fluid,
body.single-post .vc_column_container,
body.single-post .vc_column-inner,
body.single-post .wpb_wrapper {
    max-width: var(--euro-article-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-post.ast-separate-container .ast-article-single,
body.single-post .ast-article-single,
body.single-post article,
body.single-post .type-post,
body.single-post .entry-content,
body.single-post .post-content,
body.single-post .wpb-content-wrapper {
    width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.single-post .entry-header {
    width: 100% !important;
    margin-top: 40px !important;
    margin-bottom: 50px !important;
    padding: 0 !important;
}

body.single-post .entry-title,
body.single-post h1.entry-title {
    color: var(--colore-testo-scuro) !important;
    font-family: var(--font-main) !important;
    font-size: 40px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}

body.single-post .entry-meta,
body.single-post .posted-on,
body.single-post .byline {
    color: var(--colore-primario) !important;
    font-family: var(--font-main) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.single-post .entry-content,
body.single-post .entry-content p,
body.single-post .entry-content li,
body.single-post .entry-content div {
    color: #222222 !important;
    font-family: var(--font-main) !important;
    font-size: 20px !important;
    line-height: 1.7 !important;
}

body.single-post .entry-content h2 {
    margin: 42px 0 22px 0 !important;
    font-size: 32px !important;
    line-height: 1.25 !important;
    color: var(--colore-testo-scuro) !important;
}
body.single-post .entry-content h3 {
    margin: 34px 0 18px 0 !important;
    font-size: 26px !important;
    line-height: 1.3 !important;
    color: var(--colore-testo-scuro) !important;
}
body.single-post .entry-content img {
    max-width: 100% !important;
    height: auto !important;
}

body.single-post #masthead .ast-container,
body.single-post #masthead .site-primary-header-wrap,
body.single-post #masthead .ast-primary-header-bar .ast-container,
body.single-post #masthead .ast-builder-grid-row-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 42px !important;
    padding-right: 42px !important;
    box-sizing: border-box !important;
}

body.single-post #masthead .ast-builder-grid-row {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: auto 1fr !important;
    column-gap: 60px !important;
}

body.single-post #masthead .site-header-primary-section-left,
body.single-post #masthead .site-branding,
body.single-post #masthead .site-logo-img {
    flex-shrink: 0 !important;
}
body.single-post #masthead .site-header-primary-section-right {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
}
body.single-post #masthead .main-header-bar-navigation,
body.single-post #masthead .main-navigation,
body.single-post #masthead .main-header-menu {
    width: auto !important;
    max-width: none !important;
    justify-content: flex-end !important;
}
body.single-post #masthead .main-header-menu > .menu-item > .menu-link,
body.single-post #masthead .main-header-menu > .menu-item > a {
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* =========================================================
   6. PAGINA CORSO / PRODOTTO
   ========================================================= */

body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product #content .ast-container,
body.single-product #primary,
body.single-product #main,
body.single-product .content-area,
body.single-product .site-main,
body.single-product div.product,
body.single-product .product,
body.single-product #primarigaprodotto {
    width: 96vw !important;
    max-width: var(--euro-product-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

body.single-product div.product {
    display: grid !important;
    grid-template-columns: var(--euro-product-image-width) minmax(0, 1fr) !important;
    column-gap: var(--euro-product-columns-gap) !important;
    align-items: start !important;
}

body.single-product div.product > .woocommerce-product-gallery,
body.single-product.woocommerce div.product.product > .woocommerce-product-gallery.images,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image a,
body.single-product div.product > .woocommerce-product-gallery img.wp-post-image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: var(--euro-product-image-width) !important;
    max-width: var(--euro-product-image-width) !important;
    min-width: var(--euro-product-image-width) !important;
    height: var(--euro-product-image-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.single-product div.product > .woocommerce-product-gallery,
body.single-product.woocommerce div.product.product > .woocommerce-product-gallery.images {
    grid-column: 1 !important;
    float: none !important;
}
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    display: block !important;
    overflow: hidden !important;
}
body.single-product div.product > .woocommerce-product-gallery img.wp-post-image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
}
body.single-product .woocommerce-product-gallery__image {
    margin: 0 !important;
    padding-top: 0 !important;
}
body.single-product .woocommerce-product-gallery__trigger {
    background: var(--colore-surface) !important;
    border-radius: 50%;
}

body.single-product div.product > .summary.entry-summary {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

body.single-product div.product > .summary.entry-summary,
body.single-product div.product > .summary.entry-summary p,
body.single-product div.product > .summary.entry-summary div,
body.single-product div.product > .summary.entry-summary span,
body.single-product div.product > .summary.entry-summary li,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description p,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description div,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description span {
    font-size: 20px !important;
    line-height: 1.55 !important;
}

body.single-product div.product > .summary.entry-summary .product_title,
body.single-product div.product > .summary.entry-summary h1.product_title {
    margin: 0 0 24px 0 !important;
    color: var(--colore-testo-scuro) !important;
    font-family: var(--font-main) !important;
    font-size: 34px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

body.single-product div.product > .summary.entry-summary .price {
    display: none !important;
}
body.single-product .woocommerce-product-details__short-description p:first-child {
    font-size: 30px !important;
    line-height: 1.35 !important;
}
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description strong,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description b {
    font-size: inherit !important;
    line-height: inherit !important;
}
body.single-product div.product::after {
    content: "";
    display: table;
    clear: both;
}

body.single-product .woocommerce-tabs > ul.tabs,
body.single-product .woocommerce-tabs > ul.wc-tabs,
body.single-product .woocommerce-tabs > .tabs.wc-tabs {
    display: none !important;
}

body.single-product .woocommerce-tabs,
body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-Tabs-panel--description,
body.single-product .wpb-content-wrapper,
body.single-product .vc_row,
body.single-product .vc_row-fluid {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: var(--euro-tabs-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

body.single-product .vc_row,
body.single-product .vc_row-fluid,
body.single-product .vc_column_container,
body.single-product .vc_column-inner,
body.single-product .wpb_wrapper {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

body.single-product .vc_tta-container,
body.single-product .vc_tta-tabs {
    grid-column: 1 / -1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: var(--euro-tabs-top-gap) 0 0 0 !important;
    padding: 0 !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.single-product .vc_tta-tabs.vc_tta-tabs-position-left {
    display: grid !important;
    grid-template-columns: var(--euro-tab-link-width) minmax(0, 1fr) !important;
    column-gap: var(--euro-tab-space-right) !important;
    align-items: start !important;
}

body.single-product .vc_tta-tabs-container,
body.single-product .vc_tta-tabs-list,
body.single-product .vc_tta-tabs-list .vc_tta-tab,
body.single-product .vc_tta-tabs-list .vc_tta-tab > a {
    width: var(--euro-tab-link-width) !important;
    min-width: var(--euro-tab-link-width) !important;
    max-width: var(--euro-tab-link-width) !important;
    box-sizing: border-box !important;
}

body.single-product .vc_tta-tabs-container {
    grid-column: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.single-product .vc_tta-panels-container {
    grid-column: 2 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
body.single-product .vc_tta-tabs-list {
    margin: 0 !important;
    padding: 0 !important;
}
body.single-product .vc_tta-tabs-list .vc_tta-tab {
    margin: 0 0 var(--euro-tab-gap) 0 !important;
    padding: 0 !important;
}

body.single-product .vc_tta-tabs-list .vc_tta-tab > a {
    display: flex !important;
    align-items: center !important;
    min-height: var(--euro-tab-link-height) !important;
    padding: 0 20px !important;
    background: var(--colore-surface) !important;
    color: var(--colore-primario) !important;
    border: 1px solid var(--colore-primario) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--font-main) !important;
    font-size: var(--euro-tab-font-size) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.single-product .vc_tta-tabs-list .vc_tta-tab > a .vc_tta-title-text {
    color: inherit !important;
    font-size: var(--euro-tab-font-size) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}
body.single-product .vc_tta-tabs-list .vc_tta-tab.vc_active > a,
body.single-product .vc_tta-tabs-list .vc_tta-tab:hover > a {
    background: var(--colore-primario) !important;
    color: var(--colore-bianco) !important;
    border-color: var(--colore-primario) !important;
}

body.single-product .vc_tta.vc_tta-color-white.vc_tta-style-classic .vc_tta-panels,
body.single-product .vc_tta.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel,
body.single-product .vc_tta.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel-body,
body.single-product .vc_tta-panels-container,
body.single-product .vc_tta-panels,
body.single-product .vc_tta-panel,
body.single-product .vc_tta-panel-body {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.single-product .vc_tta-panel-body {
    padding: 34px 44px !important;
    color: var(--colore-nero) !important;
    border: 1px solid rgba(0,88,124,0.10) !important;
    border-radius: 4px !important;
    font-family: var(--font-main) !important;
    font-size: var(--euro-font-body) !important;
    line-height: var(--euro-line-body) !important;
}

body.single-product .vc_tta-panel-body p,
body.single-product .vc_tta-panel-body div,
body.single-product .vc_tta-panel-body li {
    max-width: none !important;
    color: var(--colore-nero) !important;
    font-family: var(--font-main) !important;
    font-size: var(--euro-font-body) !important;
    line-height: var(--euro-line-body) !important;
}

body.single-product .vc_tta-panel-body h2,
body.single-product .vc_tta-panel-body h3,
body.single-product .vc_tta-panel-body h4 {
    margin: 0 0 18px 0 !important;
    color: var(--colore-testo-scuro) !important;
    font-family: var(--font-main) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.single-product .vc_tta-panel-body h3,
body.single-product .vc_tta-panel-body h4 {
    font-size: var(--euro-h3-size) !important;
}
body.single-product .vc_tta-panel-body p {
    margin-bottom: 20px !important;
}
body.single-product .vc_empty_space {
    height: 32px !important;
    max-height: 32px !important;
}
body.single-product .increment {
    display: none;
}
body.single-product .increment span {
    display: block;
    margin-top: 8px;
    color: #555555;
    font-size: 14px;
}

body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description p,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description div,
body.single-product div.product > .summary.entry-summary .woocommerce-product-details__short-description li,
body.single-product .vc_tta-panel-body,
body.single-product .vc_tta-panel-body p,
body.single-product .vc_tta-panel-body li,
body.single-product .vc_tta-panel-body .wpb_text_column,
body.single-product .vc_tta-panel-body .wpb_wrapper,
body.single-product .vc_tta-panel-body .wpb_wrapper > div,
body.single-product .bloccotestocorso,
body.single-product .bloccotestocorso p,
body.single-product .bloccotestocorso li,
body.single-product .paragrafocorso,
body.single-product .paragrafocorso p,
body.single-product .paragrafocorso li {
    text-align: justify !important;
    text-align-last: left !important;
}

body.single-product .vc_tta-panel-body ul,
body.single-product .vc_tta-panel-body ol,
body.single-product .bloccotestocorso ul,
body.single-product .bloccotestocorso ol {
    padding-left: 28px !important;
    text-align: justify !important;
}

body.single-product h1,
body.single-product h2,
body.single-product h3,
body.single-product h4,
body.single-product h5,
body.single-product h6,
body.single-product .product_title,
body.single-product .price,
body.single-product .vc_tta-tabs-list,
body.single-product .vc_tta-tabs-list li,
body.single-product .vc_tta-tabs-list a,
body.single-product .vc_tta-title-text,
body.single-product .button,
body.single-product button,
body.single-product input,
body.single-product select,
body.single-product textarea,
body.single-product label,
body.single-product .vaicaldenariocorsi,
body.single-product .vaicaldenariocorsi a {
    text-align: left !important;
    text-align-last: left !important;
}

.euro-required-star {
    display: inline-block !important;
    color: red;
    padding-top: 3px;
    font-size: 20px;
    margin-right: 4px;
}

body.single-product .vaicaldenariocorsi {
    display: block !important;
    width: 100% !important;
    margin: 28px auto !important;
    padding: 0 !important;
    text-align: center !important;
    text-align-last: center !important;
}

body.single-product .vaicaldenariocorsi a,
body.single-product .vaicaldenariocorsi a:link,
body.single-product .vaicaldenariocorsi a:visited,
body.single-product a.vaicaldenariocorsi,
body.single-product a.vaicaldenariocorsi:link,
body.single-product a.vaicaldenariocorsi:visited,
body.single-product .vaicaldenariocorsi button,
body.single-product .vaicaldenariocorsi input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 400px !important;
    min-height: 55px !important;
    padding: 14px 28px !important;
    background: var(--colore-primario) !important;
    color: var(--colore-bianco) !important;
    border: 2px solid var(--colore-primario) !important;
    border-radius: 7px !important;
    font-family: var(--font-main) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px !important;
    text-align: center !important;
    text-align-last: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 22px rgba(0,88,124,0.22) !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

body.single-product .vaicaldenariocorsi a:hover,
body.single-product .vaicaldenariocorsi a:focus,
body.single-product a.vaicaldenariocorsi:hover,
body.single-product a.vaicaldenariocorsi:focus,
body.single-product .vaicaldenariocorsi button:hover,
body.single-product .vaicaldenariocorsi button:focus,
body.single-product .vaicaldenariocorsi input[type="submit"]:hover,
body.single-product .vaicaldenariocorsi input[type="submit"]:focus {
    background: var(--colore-accento) !important;
    color: var(--colore-primario) !important;
    border-color: var(--colore-accento) !important;
    box-shadow: 0 12px 26px rgba(253,195,0,0.30) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
    outline: none !important;
}

/* =========================================================
   7. CHECKOUT
   ========================================================= */

.woocommerce-checkout #primary,
.woocommerce-checkout #main,
.woocommerce-checkout .ast-container,
.woocommerce-checkout .site-content,
.woocommerce-checkout .content-area,
.woocommerce-checkout .site-main,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .checkout.woocommerce-checkout,
.woocommerce-checkout .registracontattaci {
    width: 96vw !important;
    max-width: var(--euro-checkout-wide) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.woocommerce-checkout .entry-title,
.woocommerce-checkout h1 {
    max-width: var(--euro-checkout-wide) !important;
    margin: 50px auto 35px auto !important;
    color: var(--colore-testo-scuro) !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.woocommerce-checkout .euro-auth-wrapper,
.woocommerce-account .u-columns.col2-set {
    display: flex !important;
    gap: 40px;
    align-items: stretch;
}

.woocommerce-checkout .euro-auth-wrapper {
    max-width: 1180px;
    margin: 40px auto 60px auto;
}
.woocommerce-account .u-columns.col2-set {
    max-width: 1100px;
    margin: 60px auto !important;
}

.woocommerce-checkout .euro-auth-box,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    flex: 1;
    background: var(--colore-surface) !important;
    padding: 42px !important;
    border-radius: 10px !important;
    box-shadow: var(--shadow-soft) !important;
    border-top: 6px solid var(--colore-accento) !important;
}

.woocommerce-checkout .euro-auth-box h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    color: var(--colore-primario) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 30px !important;
    letter-spacing: 1px;
}

.woocommerce-checkout form.checkout,
.woocommerce-checkout .checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(520px, 560px) !important;
    gap: 70px !important;
    align-items: start !important;
    margin-bottom: 70px !important;
    overflow: visible !important;
}

.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}
.woocommerce-checkout .checkout .col-1,
.woocommerce-checkout .checkout .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout .titolo_dettagli_utentei_partecipanti h3 {
    color: var(--colore-testo-scuro) !important;
    font-size: 26px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin: 34px 0 22px 0 !important;
}

.woocommerce-checkout h4,
.woocommerce-checkout [class*="dettagli_utente_partecipante"] h4 {
    color: var(--colore-primario) !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin: 26px 0 16px 0 !important;
}

.woocommerce-checkout p {
    font-size: 16px;
    line-height: 1.55;
}
.woocommerce-checkout .form-row {
    margin-bottom: 18px !important;
    padding: 0 !important;
}

.woocommerce-checkout label {
    display: block !important;
    color: var(--colore-testo-scuro) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 7px !important;
}

.woocommerce-checkout abbr.required,
.woocommerce-checkout .required {
    color: red !important;
    text-decoration: none !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .u-columns.col2-set input.input-text {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid #d7dee5 !important;
    border-radius: var(--radius-sm) !important;
    background: var(--colore-surface) !important;
    color: var(--colore-testo-scuro) !important;
    font-size: 15px !important;
    padding: 10px 13px !important;
    box-shadow: none !important;
}

.woocommerce-checkout textarea {
    min-height: 96px !important;
    resize: vertical;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-account .u-columns.col2-set input.input-text:focus {
    border-color: var(--colore-primario) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0,88,124,0.10) !important;
}

.woocommerce-checkout .select2-container {
    width: 100% !important;
}
.woocommerce-checkout .select2-selection__rendered {
    line-height: 23px !important;
    padding-left: 0 !important;
    color: var(--colore-testo-scuro) !important;
}
.woocommerce-checkout .select2-selection__arrow {
    height: 42px !important;
}
.woocommerce-checkout .description,
.woocommerce-checkout .woocommerce-input-wrapper small {
    display: block;
    margin-top: 6px;
    font-size: 12px !important;
    color: #6b7280 !important;
}

.woocommerce-checkout p.form-row[id*="partecipante"],
.woocommerce-checkout .form-row[id*="partecipante"],
.woocommerce-checkout .woocommerce-billing-fields .form-row {
    width: calc(50% - 12px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-right: 20px !important;
}

.woocommerce-checkout p.form-row[id*="partecipante"]:nth-of-type(even),
.woocommerce-checkout .form-row[id*="partecipante"]:nth-of-type(even),
.woocommerce-checkout .woocommerce-billing-fields .form-row:nth-of-type(even) {
    margin-right: 0 !important;
}

.woocommerce-checkout .form-row[id*="email"][id*="partecipante"],
.woocommerce-checkout textarea,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout .form-row[id*="note"],
.woocommerce-checkout .form-row[id*="domande"],
.woocommerce-checkout .form-row[id*="argomenti"],
.woocommerce-checkout .woocommerce-billing-fields .form-row-wide,
.woocommerce-checkout .woocommerce-billing-fields #billing_address_1_field,
.woocommerce-checkout .woocommerce-billing-fields #billing_company_field,
.woocommerce-checkout .woocommerce-billing-fields #billing_email_field {
    width: 100% !important;
    margin-right: 0 !important;
}

.woocommerce-checkout p.form-row[id*="partecipante"][style*="display: none"],
.woocommerce-checkout .form-row[id*="partecipante"][style*="display: none"],
.woocommerce-checkout [class*="dettagli_utente_partecipante"][style*="display: none"],
.woocommerce-checkout .titolo_dettagli_utentei_partecipanti[style*="display: none"],
.woocommerce-checkout p.form-row[id*="partecipante"][style*="display:none"],
.woocommerce-checkout .form-row[id*="partecipante"][style*="display:none"],
.woocommerce-checkout [class*="dettagli_utente_partecipante"][style*="display:none"],
.woocommerce-checkout .titolo_dettagli_utentei_partecipanti[style*="display:none"],
body.woocommerce-checkout [data-euro-hidden="1"],
body.woocommerce-checkout.euro-fattura-ente #billing_first_name_field,
body.woocommerce-checkout.euro-fattura-ente #billing_last_name_field,
body.woocommerce-checkout.euro-fattura-ente #billing_address_2_field,
body.woocommerce-checkout.euro-fattura-ente #nome_fattura_privato_field,
body.woocommerce-checkout.euro-fattura-ente #cognome_fattura_privato_field,
body.woocommerce-checkout.euro-fattura-ente #codice_fiscale_fattura_privato_field,
body.woocommerce-checkout.euro-fattura-ente #professione_fattura_privato_field,
body.woocommerce-checkout.euro-fattura-ente #nome_fattura_professionista_field,
body.woocommerce-checkout.euro-fattura-ente #cognome_fattura_professionista_field,
body.woocommerce-checkout.euro-fattura-ente #codicefiscale_professionista_field,
body.woocommerce-checkout.euro-fattura-ente #partitaiva_professionista_field,
body.woocommerce-checkout.euro-fattura-ente .euro-persona-row {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.woocommerce-checkout [data-euro-hidden="1"] * {
    display: none !important;
    visibility: hidden !important;
}
.woocommerce-checkout .woocommerce-billing-fields {
    margin-top: 42px !important;
    padding-top: 34px !important;
    border-top: 1px solid #dfe5ea !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 520px !important;
    max-width: 560px !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #order_review_heading {
    margin: 0 0 18px 0 !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
    color: var(--colore-testo-scuro) !important;
    font-weight: 700 !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
    background: var(--colore-surface) !important;
    border: 1px solid #d9e1e7 !important;
    border-radius: var(--radius-lg) !important;
    padding: 34px !important;
    box-shadow: var(--shadow-card) !important;
    position: sticky !important;
    top: 110px !important;
    overflow: visible !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    margin-bottom: 28px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 14px 0 !important;
    border-bottom: 1px solid #e5e8eb !important;
    vertical-align: top !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    width: 72% !important;
    color: var(--colore-testo-scuro) !important;
    font-weight: 600 !important;
    padding-right: 18px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    width: 28% !important;
    text-align: right !important;
    white-space: nowrap !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: var(--colore-testo-scuro) !important;
}

.woocommerce-checkout .euro-checkout-remove-item,
.woocommerce-checkout .remove {
    color: red !important;
    font-weight: 700 !important;
    margin-right: 6px !important;
    text-decoration: none !important;
}

.woocommerce-checkout #payment {
    width: 100% !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #e5e8eb !important;
    padding: 0 0 20px 0 !important;
    margin: 0 0 24px 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 12px 0 !important;
    font-size: 15px !important;
}
.woocommerce-checkout #payment div.payment_box {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #f2f2f2 !important;
    color: var(--colore-nero) !important;
    border-radius: 6px !important;
    padding: 16px 18px !important;
    margin: 12px 0 18px 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}
.woocommerce-checkout #payment img {
    max-width: 190px !important;
    height: auto !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    width: 100% !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 20px 0 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
    display: inline !important;
    font-size: 14px !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout button[type="submit"],
.woocommerce-checkout .wc-forward,
.woocommerce-account .u-columns.col2-set button.button {
    width: 100% !important;
    background: var(--colore-primario) !important;
    color: var(--colore-bianco) !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 17px 24px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    transition: all 0.25s ease;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button[type="submit"]:hover,
.woocommerce-checkout .wc-forward:hover,
.woocommerce-account .u-columns.col2-set button.button:hover {
    background: var(--colore-accento) !important;
    color: var(--colore-primario) !important;
}

.woocommerce-checkout .registracontattaci {
    margin: 40px auto 20px auto !important;
    padding: 18px 24px !important;
    background: #f8f8f8 !important;
    border-left: 5px solid var(--colore-accento) !important;
    font-size: 15px !important;
    text-align: center;
}

/* =========================================================
   8. FOOTER, ACCOUNT E RESPONSIVE
   ========================================================= */

.woocommerce-account .u-columns.col2-set form {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.woocommerce-account .u-columns.col2-set .form-row {
    margin-bottom: 20px !important;
}
.woocommerce-account .woocommerce-form-login__rememberme {
    margin-bottom: 20px !important;
    font-size: 14px;
}
.woocommerce-account .woocommerce-LostPassword {
    text-align: center;
    margin-top: 15px;
    font-size: 13px;
}
.woocommerce-MyAccount-navigation {
    width: 30% !important;
    display: inline-block !important;
}
li.woocommerce-MyAccount-navigation-link {
    background-color: var(--colore-blu-scuro) !important;
    margin-bottom: 8px;
    padding: 8px 15px;
    border-radius: 4px;
}
li.woocommerce-MyAccount-navigation-link a {
    color: var(--colore-bianco);
}

#colophon,
.site-footer,
.ast-footer,
.ast-footer-copyright,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    background-color: var(--colore-bg) !important;
}

#colophon .ast-container,
.site-footer .ast-container,
.ast-footer .ast-container,
.site-below-footer-wrap .ast-container,
.site-primary-footer-wrap .ast-container,
.site-above-footer-wrap .ast-container,
#colophon .ast-builder-grid-row-container,
.site-footer .ast-builder-grid-row-container,
#colophon .ast-builder-grid-row,
.site-footer .ast-builder-grid-row,
#colophon .widget,
.site-footer .widget,
#colophon .textwidget,
.site-footer .textwidget,
#colophon .footer-widget-area,
.site-footer .footer-widget-area,
#colophon .site-footer-section,
.site-footer .site-footer-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.completa_iscrizione {
    width: 100%;
    border: 4px solid var(--colore-accento);
    background-color: #fffc44;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    text-align: center;
    color: #f80000;
    font-weight: 700;
    padding: 12px 0;
}

#masthead .euro-account-badge,
.euro-account-badge {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 24px !important;
    padding-left: 24px !important;
    border-left: 1px solid rgba(0,88,124,0.18) !important;
    font-family: var(--font-main) !important;
    flex: 0 0 auto !important;
    z-index: 99999 !important;
    overflow: visible !important;
}

#masthead .euro-account-badge,
#masthead .euro-account-badge * {
    box-sizing: border-box !important;
    overflow: visible !important;
}

#masthead .euro-account-badge__link,
#masthead .euro-account-badge__main,
.euro-account-badge__link,
.euro-account-badge__main {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 50px !important;
    padding: 7px 18px 7px 8px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(255,252,247,0.98) 58%, rgba(255,244,195,0.95) 100%) !important;
    color: var(--colore-primario) !important;
    border: 2px solid rgba(253,195,0,0.85) !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(0,88,124,0.13), inset 0 1px 0 rgba(255,255,255,0.75) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease !important;
}

/* Account badge: stato utente loggato */
#masthead .euro-account-badge.is-logged-in .euro-account-badge__main,
#masthead .euro-account-badge.is-logged-in .euro-account-badge__main:hover,
#masthead .euro-account-badge.is-logged-in:hover .euro-account-badge__main {
    background: linear-gradient(
        135deg,
        #e4f7d8 0%,
        #a8db8f 55%,
        #75b85f 100%
    ) !important;

    border-color: rgba(92, 160, 72, 0.95) !important;
    box-shadow: 0 14px 34px rgba(70, 130, 60, 0.22), inset 0 1px 0 rgba(255,255,255,0.75) !important;
}

#masthead .euro-account-badge__link:hover,
#masthead .euro-account-badge__main:hover,
.euro-account-badge__link:hover,
.euro-account-badge__main:hover,
.euro-account-badge:hover .euro-account-badge__main {
    background: var(--colore-surface) !important;
    border-color: var(--colore-accento) !important;
    box-shadow: 0 18px 42px rgba(0,88,124,0.18), 0 0 0 7px rgba(253,195,0,0.16) !important;
    transform: translateY(-2px) !important;
}

#masthead .euro-account-badge__avatar,
#masthead .euro-account-badge__orb,
.euro-account-badge__avatar,
.euro-account-badge__orb {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    background: linear-gradient(135deg, var(--colore-accento) 0%, #ffe477 100%) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.48), 0 9px 20px rgba(253,195,0,0.32) !important;
}

#masthead .euro-account-badge__head,
.euro-account-badge__head,
.euro-account-badge__icon::before {
    content: "" !important;
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--colore-surface) !important;
    transform: translateX(-50%) !important;
}
#masthead .euro-account-badge__body,
.euro-account-badge__body,
.euro-account-badge__icon::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 7px !important;
    width: 22px !important;
    height: 12px !important;
    border-radius: 14px 14px 8px 8px !important;
    background: var(--colore-surface) !important;
    transform: translateX(-50%) !important;
}
#masthead .euro-account-badge__icon,
.euro-account-badge__icon {
    position: relative !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
}
#masthead .euro-account-badge__online,
#masthead .euro-account-badge__pulse,
.euro-account-badge__online,
.euro-account-badge__pulse {
    position: absolute !important;
    right: 1px !important;
    bottom: 2px !important;
    z-index: 6 !important;
    width: 9px !important;
    height: 9px !important;
    background: #2ee887 !important;
    border: 2px solid var(--colore-bianco) !important;
    border-radius: 50% !important;
    animation: euroAccountPulse 1.75s ease-out infinite !important;
}

#masthead .euro-account-badge__copy,
#masthead .euro-account-badge__text,
.euro-account-badge__copy,
.euro-account-badge__text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 0 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}
#masthead .euro-account-badge__title,
#masthead .euro-account-badge__text strong,
.euro-account-badge__title,
.euro-account-badge__text strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--colore-primario) !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: 0.45px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}
#masthead .euro-account-badge__subtitle,
#masthead .euro-account-badge__text small,
.euro-account-badge__subtitle,
.euro-account-badge__text small {
    display: block !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    color: var(--colore-blu-scuro) !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

#masthead .euro-account-dropdown,
#masthead .euro-account-menu,
#masthead .euro-account-popover,
#masthead .euro-account-panel,
#masthead .euro-account-card,
#masthead .euro-account-badge__dropdown,
#masthead .euro-account-badge__menu,
#masthead .euro-account-badge__panel,
#masthead .euro-account-badge__popover,
#masthead .euro-account-badge ul,
#masthead .euro-account-badge nav,
#masthead .euro-account-badge .euro-account-actions {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
}

body.logged-in #masthead .euro-account-badge__link::after,
body.logged-in #masthead .euro-account-badge__main::after {
    content: "👋" !important;
    position: absolute !important;
    right: 6px !important;
    top: -9px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    z-index: 999 !important;
    pointer-events: none !important;
    transform-origin: 20% 80% !important;
    animation: euroAccountWave 1.8s ease-in-out infinite !important;
    filter: drop-shadow(0 3px 5px rgba(0,0,0,0.25)) !important;
}

.euro-account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    margin-left: 14px;
    position: relative;
}
.euro-account-icon__wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: var(--radius-pill);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.euro-account-icon__svg {
    width: 42px;
    height: 42px;
    overflow: visible;
}
.euro-account-icon__bg,
.euro-account-icon__head,
.euro-account-icon__body {
    transition: all 0.25s ease;
}
.euro-account-icon__body {
    fill: none;
    stroke-width: 4.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.euro-account-icon.is-guest .euro-account-icon__bg {
    fill: var(--colore-bianco);
    stroke: var(--colore-primario);
    stroke-width: 2.5;
}
.euro-account-icon.is-guest .euro-account-icon__head {
    fill: var(--colore-primario);
}
.euro-account-icon.is-guest .euro-account-icon__body {
    stroke: var(--colore-primario);
}
.euro-account-icon.is-logged .euro-account-icon__bg {
    fill: #19e600;
    stroke: #0f8f00;
    stroke-width: 2.5;
}
.euro-account-icon.is-logged .euro-account-icon__head {
    fill: var(--colore-bianco);
}
.euro-account-icon.is-logged .euro-account-icon__body {
    stroke: var(--colore-bianco);
}
.euro-account-icon__status {
    position: absolute;
    right: 1px;
    bottom: 2px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2px solid var(--colore-bianco);
    box-sizing: border-box;
}
.euro-account-icon.is-guest .euro-account-icon__status {
    background: var(--colore-accento);
}
.euro-account-icon.is-logged .euro-account-icon__status {
    background: #11c900;
    animation: euroAccountPulse 1.8s infinite;
}
.euro-account-icon:hover .euro-account-icon__wrap,
.euro-account-icon:focus .euro-account-icon__wrap {
    transform: translateY(-2px) scale(1.04);
}

/* =========================================================
   9. RESPONSIVE - VERSIONE RIVISTA CON ALLINEAMENTO HOME SLIDER
   ========================================================= */


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 01 — DESKTOP LARGE / SCHERMI AMPI
   Query: @media only screen and (min-width: 1500px)
   --------------------------------------------------------- */
@media only screen and (min-width: 1500px) {
    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__container,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--euro-calendar-filter-width) !important;
        column-gap: var(--euro-calendar-gap) !important;
        align-items: start !important;
        width: 100% !important;
        max-width: var(--euro-calendar-wide) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__list,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__list {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__filters,
    .wcs-timetable:has(.wcs-filters) .wcs-filters,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__container .wcs-filters {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 28px !important;
        background: var(--colore-surface) !important;
        border: 1px solid var(--colore-bordo) !important;
        border-radius: var(--radius-card) !important;
        box-shadow: var(--shadow-card) !important;
        position: sticky !important;
        top: 110px !important;
        box-sizing: border-box !important;
    }

    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__list .wcs-class,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__list .wcs-class {
        grid-template-columns: var(--euro-calendar-card-image-width) 96px minmax(0, 1fr) 180px !important;
        column-gap: 24px !important;
        padding: 30px 34px !important;
    }
    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__list .wcs-class img,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__list .wcs-class img {
        width: var(--euro-calendar-card-image-width) !important;
        max-width: var(--euro-calendar-card-image-width) !important;
        height: auto !important;
        object-fit: contain !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 02 — DESKTOP MEDIO
   Query: @media only screen and (max-width: 1499px)
   --------------------------------------------------------- */
@media only screen and (max-width: 1499px) {
    /* RESPONSIVE HOME SLIDER: mantiene “35 anni…” a filo con “Consulenza integrata”. */
    :root {
        --euro-slider-home-title-half: 98px;
    }

    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__container,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__container {
        display: flex !important;
        flex-direction: column !important;
        width: 94vw !important;
        max-width: var(--euro-calendar-wide) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .wcs-timetable:has(.wcs-timetable__filters) .wcs-timetable__filters,
    .wcs-timetable:has(.wcs-filters) .wcs-filters,
    .wcs-timetable:has(.wcs-filters) .wcs-timetable__container .wcs-filters {
        order: -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 28px 0 !important;
        padding: 24px !important;
        background: var(--colore-surface) !important;
        border: 1px solid var(--colore-bordo) !important;
        border-radius: var(--radius-card) !important;
        box-shadow: var(--shadow-card) !important;
        position: static !important;
        box-sizing: border-box !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 03 — DESKTOP MEDIO / LIMITE 1500
   Query: @media only screen and (max-width: 1500px)
   --------------------------------------------------------- */
@media only screen and (max-width: 1500px) {
    body.single-product {
        --euro-product-image-width: 760px;
        --euro-product-image-height: 507px;
        --euro-product-columns-gap: 40px;
        --euro-tab-link-width: 390px;
        --euro-tab-space-right: 48px;
    }

}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 04 — DESKTOP COMPATTO
   Query: @media only screen and (max-width: 1350px)
   --------------------------------------------------------- */
@media only screen and (max-width: 1350px) {
    :root {
        --euro-slider-home-title-half: 96px;
    }

    .wcs-timetable,
    .wcs-timetable__container,
    .wcs-timetable-wrapper,
    .wcs-timetable__wrapper {
        width: 94vw !important;
    }
    .wcs-timetable__list .wcs-class {
        grid-template-columns: 260px 105px minmax(340px, 1fr) 190px !important;
        column-gap: 28px !important;
    }
    .wcs-timetable__list .wcs-class .wcs-class__image,
    .wcs-timetable__list .wcs-class [class*="image"],
    .wcs-timetable__list .wcs-class img,
    .wcs-timetable__list .wcs-class .wcs-class__image img,
    .wcs-timetable__list .wcs-class [class*="image"] img {
        width: 260px !important;
        max-width: 260px !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
    .wcs-timetable__list .wcs-class h2,
    .wcs-timetable__list .wcs-class h3,
    .wcs-timetable__list .wcs-class h4,
    .wcs-timetable__list .wcs-class .wcs-class__title,
    .wcs-timetable__list .wcs-class .wcs-class-title,
    .wcs-timetable__list .wcs-class [class*="title"] {
        font-size: 25px !important;
    }

}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 05 — LAPTOP / DESKTOP COMPATTO
   Query: @media only screen and (max-width: 1280px)
   --------------------------------------------------------- */
@media only screen and (max-width: 1280px) {
    :root {
        --euro-slider-home-title-half: 94px;
    }

    body.single-product {
        --euro-product-image-width: 620px;
        --euro-product-image-height: 413px;
        --euro-product-columns-gap: 34px;
        --euro-tab-link-width: 360px;
        --euro-tab-space-right: 40px;
        --euro-tab-font-size: 17px;
    }
    body.single-product div.product {
        grid-template-columns: var(--euro-product-image-width) minmax(0, 1fr) !important;
    }

    .woocommerce-checkout form.checkout,
    .woocommerce-checkout .checkout.woocommerce-checkout {
        grid-template-columns: minmax(0,1fr) minmax(480px,520px) !important;
        gap: 46px !important;
    }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        min-width: 480px !important;
        max-width: 520px !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 06 — TABLET ORIZZONTALE / LAPTOP PICCOLO
   Query: @media only screen and (max-width: 1180px)
   --------------------------------------------------------- */
@media only screen and (max-width: 1180px) {
    .woocommerce-checkout form.checkout,
    .woocommerce-checkout .checkout.woocommerce-checkout {
        grid-template-columns: 1fr !important;
        width: 94vw !important;
        gap: 36px !important;
    }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        position: static !important;
        top: auto !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 07 — TABLET / HEADER MOBILE
   Query: @media only screen and (max-width: 991px)
   --------------------------------------------------------- */
@media only screen and (max-width: 991px) {
    :root {
        --euro-slider-home-title-half: 90px;
    }

    #sliderrogasopra {
        margin-top: 42px !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    :root {
        --euro-font-body: 18px;
        --euro-font-body-small: 16px;
        --euro-font-label: 15px;
        --euro-line-body: 1.5;
        --euro-h1-size: 32px;
        --euro-h2-size: 27px;
        --euro-h3-size: 23px;
        --euro-menu-font-size: 16px;
        --euro-bottom-cta-font-size: 18px;
        --euro-bottom-cta-min-height: 60px;
        --euro-bottom-cta-padding-y: 16px;
        --euro-bottom-cta-padding-x: 28px;
    }

    .woocommerce-checkout .euro-auth-wrapper,
    .woocommerce-account .u-columns.col2-set {
        flex-direction: column;
        gap: 30px;
        padding: 0 20px;
    }
    .woocommerce-checkout .euro-auth-box,
    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        width: 100%;
        padding: 30px !important;
    }
body.single-product .site-content .ast-container,
    body.single-product .ast-container,
    body.single-product #content .ast-container,
    body.single-product #primary,
    body.single-product #main,
    body.single-product .content-area,
    body.single-product .site-main,
    body.single-post .site-content .ast-container,
    body.single-post .ast-container,
    body.single-post #content .ast-container,
    body.single-post #primary,
    body.single-post #main,
    body.single-post .content-area,
    body.single-post .site-main {
        width: 94vw !important;
        max-width: 100% !important;
    }

    body.single-product div.product {
        display: block !important;
        width: 94vw !important;
        max-width: 100% !important;
    }
    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product.woocommerce div.product.product > .woocommerce-product-gallery.images,
    body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image,
    body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image a,
    body.single-product div.product > .woocommerce-product-gallery img.wp-post-image,
    body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image img,
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        float: none !important;
    }
    body.single-product div.product > .summary.entry-summary {
        margin-top: 28px !important;
    }
    body.single-product div.product .summary h1,
    body.single-product div.product .summary .product_title,
    body.single-product div.product > .summary.entry-summary .product_title,
    body.single-product div.product > .summary.entry-summary h1.product_title {
        font-size: 28px !important;
    }

    body.single-product .vc_tta-container,
    body.single-product .vc_tta-tabs {
        width: 94vw !important;
        max-width: 100% !important;
        left: auto !important;
        transform: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.single-product .vc_tta-tabs.vc_tta-tabs-position-left {
        display: block !important;
    }
    body.single-product .vc_tta-tabs-container,
    body.single-product .vc_tta-panels-container,
    body.single-product .vc_tta-tabs-list,
    body.single-product .vc_tta-tabs-list .vc_tta-tab,
    body.single-product .vc_tta-tabs-list .vc_tta-tab > a {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.single-product .vc_tta-panels-container {
        margin-top: 20px !important;
    }
    body.single-product .vc_tta-panel-body {
        padding: 28px !important;
        font-size: 17px !important;
    }

    body.single-post .entry-header,
    body.single-post article,
    body.single-post .ast-article-single,
    body.single-post .type-post,
    body.single-post .entry-content,
    body.single-post .post-content,
    body.single-post .wpb-content-wrapper {
        max-width: 100% !important;
    }
    body.single-post .entry-title,
    body.single-post h1.entry-title {
        font-size: 30px !important;
        line-height: 1.2 !important;
    }
    body.single-post .entry-content,
    body.single-post .entry-content p,
    body.single-post .entry-content li,
    body.single-post .entry-content div {
        font-size: 18px !important;
        line-height: 1.65 !important;
    }

    .woocommerce-MyAccount-navigation {
        width: 100% !important;
        display: block !important;
        margin-bottom: 30px;
    }
    .wcs-timetable__list .wcs-class {
        grid-template-columns: 230px 95px minmax(0, 1fr) !important;
        column-gap: 24px !important;
        row-gap: 20px !important;
    }
    .wcs-timetable__list .wcs-class .wcs-class__image,
    .wcs-timetable__list .wcs-class [class*="image"],
    .wcs-timetable__list .wcs-class img,
    .wcs-timetable__list .wcs-class .wcs-class__image img,
    .wcs-timetable__list .wcs-class [class*="image"] img {
        width: 230px !important;
        max-width: 230px !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
    .wcs-timetable__list .wcs-class .wcs-class__action a,
    .wcs-timetable__list .wcs-class .wcs-class__button a,
    .wcs-timetable__list .wcs-class a.button,
    .wcs-timetable__list .wcs-class .button {
        grid-column: 3 !important;
        justify-self: start !important;
        margin-top: 10px !important;
    }

    body.home .vc_grid-container .vc_grid-item .vc_gitem-zone-a,
    body.home .vc_grid-container .vc_grid-item .vc_gitem-animated-block,
    body.home .vc_grid-container .vc_grid-item .vc_gitem-zone-img,
    body.home .vc_grid-container .vc_grid-item .vc_single_image-wrapper,
    body.home .vc_grid-container .vc_grid-item img,
    body.front-page .vc_grid-container .vc_grid-item .vc_gitem-zone-a,
    body.front-page .vc_grid-container .vc_grid-item .vc_gitem-animated-block,
    body.front-page .vc_grid-container .vc_grid-item .vc_gitem-zone-img,
    body.front-page .vc_grid-container .vc_grid-item .vc_single_image-wrapper,
    body.front-page .vc_grid-container .vc_grid-item img,
    .euro-post-grid-responsive .vc_gitem-zone-a,
    .euro-post-grid-responsive .vc_gitem-animated-block,
    .euro-post-grid-responsive .vc_gitem-zone-img,
    .euro-post-grid-responsive .vc_single_image-wrapper,
    .euro-post-grid-responsive img {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
    }

    body.home .vc_grid-container .vc_grid-item .vc_gitem-zone,
    body.home .vc_grid-container .vc_grid-item .vc_gitem-zone-c,
    body.front-page .vc_grid-container .vc_grid-item .vc_gitem-zone,
    body.front-page .vc_grid-container .vc_grid-item .vc_gitem-zone-c,
    .euro-post-grid-responsive .vc_gitem-zone,
    .euro-post-grid-responsive .vc_gitem-zone-c {
        background-image: none !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .euro-bottom-cta-row,
    .euro-bottom-cta-row .vc_row,
    .euro-bottom-cta-row .wpb_column,
    .euro-bottom-cta-row .vc_column-inner,
    .euro-bottom-cta-row .wpb_wrapper,
    .euro-bottom-cta-row .vc_custom_heading,
    .euro-bottom-cta-row .vc_btn3-container {
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .euro-bottom-cta-row .vc_custom_heading a,
    .euro-bottom-cta-row a.vc_general.vc_btn3,
    .euro-bottom-cta-row a.vc_btn3 {
        display: inline-flex !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 08 — MOBILE / TABLET PICCOLO
   Query: @media only screen and (max-width: 768px)
   --------------------------------------------------------- */
@media only screen and (max-width: 768px) {
    :root {
        --euro-slider-home-title-half: 86px;
    }

    #sliderrogasopra {
        margin-top: 44px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .woocommerce-checkout #primary,
    .woocommerce-checkout #main,
    .woocommerce-checkout .ast-container,
    .woocommerce-checkout .site-content,
    .woocommerce-checkout .content-area,
    .woocommerce-checkout .site-main {
        width: 94vw !important;
    }

    .woocommerce-checkout p.form-row[id*="partecipante"],
    .woocommerce-checkout .form-row[id*="partecipante"],
    .woocommerce-checkout .woocommerce-billing-fields .form-row,
    .woocommerce-checkout p.form-row[id*="partecipante"][style*="display: block"],
    .woocommerce-checkout .form-row[id*="partecipante"][style*="display: block"],
    .woocommerce-checkout p.form-row[id*="partecipante"][style*="display:block"],
    .woocommerce-checkout .form-row[id*="partecipante"][style*="display:block"] {
        width: 100% !important;
        display: block !important;
        margin-right: 0 !important;
    }

    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        padding: 24px !important;
    }

    body.archive #primary,
    body.archive #main,
    body.archive .site-main,
    body.archive .content-area,
    body.category #primary,
    body.category #main,
    body.category .site-main,
    body.category .content-area,
    body.blog #primary,
    body.blog #main,
    body.blog .site-main,
    body.blog .content-area {
        width: 94vw !important;
    }

    body.archive .page-title,
    body.category .page-title,
    body.blog .page-title {
        font-size: 30px !important;
    }
    body.archive article,
    body.category article,
    body.blog article {
        padding: 24px !important;
    }

    body.single-product .vaicaldenariocorsi a,
    body.single-product a.vaicaldenariocorsi,
    body.single-product .vaicaldenariocorsi button,
    body.single-product .vaicaldenariocorsi input[type="submit"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: 16px !important;
        padding: 14px 22px !important;
    }

    .euro-bottom-cta-row,
    body.page .entry-content .euro-bottom-cta-row,
    body.home .entry-content .euro-bottom-cta-row,
    body.front-page .entry-content .euro-bottom-cta-row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 50px auto 60px auto !important;
        padding: 0 22px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 34px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
.euro-bottom-cta-row .vc_custom_heading a,
    .euro-bottom-cta-row a.vc_general.vc_btn3,
    .euro-bottom-cta-row a.vc_btn3 {
        width: auto !important;
        max-width: 340px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        text-align: center !important;
        text-align-last: center !important;
        justify-content: center !important;
    }

    #colophon .ast-footer-social-wrap,
    #colophon .footer-social-inner-wrap,
    #colophon .wp-block-social-links,
    #colophon .social-icons,
    #colophon .wpb_wrapper:has(a[href*="linkedin"]),
    #colophon .wpb_wrapper:has(a[href*="youtube"]),
    #colophon .wpb_wrapper:has(a[href*="facebook"]) {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        margin: 54px auto 34px auto !important;
        padding: 0 !important;
        text-align: center !important;
    }

    #colophon a[href*="linkedin"],
    #colophon a[href*="youtube"],
    #colophon a[href*="facebook"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 10px !important;
        float: none !important;
    }

    #colophon .widget_media_image,
    #colophon .wp-block-image,
    #colophon figure,
    #colophon .wpb_single_image,
    #colophon .vc_single_image-wrapper,
    #colophon .ast-builder-grid-row,
    #colophon .site-footer-section,
    #colophon .footer-widget-area,
    #colophon .widget,
    #colophon .textwidget,
    #colophon .wpb_wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        float: none !important;
        clear: both !important;
    }

    #colophon .widget_media_image img,
    #colophon .wp-block-image img,
    #colophon figure img,
    #colophon .wpb_single_image img,
    #colophon .vc_single_image-wrapper img {
        display: block !important;
        margin: 22px auto !important;
        float: none !important;
        max-width: 240px !important;
        height: auto !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 09 — MOBILE GRANDE / RANGE 681-767
   Query: @media only screen and (min-width: 681px) and (max-width: 767px)
   --------------------------------------------------------- */
@media only screen and (min-width: 681px) and (max-width: 767px) {
    /* Quando i tre blocchi servizi passano a colonna singola, il titolo “Consulenza integrata”
       torna centrato: anche “35 anni…” viene quindi riallineato allo stesso filo sinistro. */
    :root {
        --euro-slider-home-title-left: max(24px, calc(50vw - 108px));
    }

    #sliderrogasopra {
        max-width: calc(100vw - 48px) !important;
        margin-left: var(--euro-slider-home-title-left) !important;
        font-size: 15px !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 10 — MOBILE
   Query: @media only screen and (max-width: 680px)
   --------------------------------------------------------- */
@media only screen and (max-width: 680px) {
    :root {
        --euro-font-body: 16px;
        --euro-font-body-small: 15px;
        --euro-font-label: 14px;
        --euro-line-body: 1.45;
        --euro-h1-size: 28px;
        --euro-h2-size: 24px;
        --euro-h3-size: 21px;
        --euro-menu-font-size: 16px;
        --euro-bottom-cta-font-size: 17px;
        --euro-bottom-cta-min-width: 0;
        --euro-bottom-cta-min-height: 54px;
        --euro-bottom-cta-padding-y: 14px;
        --euro-bottom-cta-padding-x: 22px;
        --euro-bottom-cta-arrow-size: 20px;
    }

    .wcs-timetable,
    .wcs-timetable__container,
    .wcs-timetable-wrapper,
    .wcs-timetable__wrapper {
        width: 94vw !important;
    }

    .wcs-timetable__list .wcs-class {
        display: block !important;
        padding: 22px !important;
    }
    .wcs-timetable__list .wcs-class .wcs-class__image,
    .wcs-timetable__list .wcs-class [class*="image"],
    .wcs-timetable__list .wcs-class img,
    .wcs-timetable__list .wcs-class .wcs-class__image img,
    .wcs-timetable__list .wcs-class [class*="image"] img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin-bottom: 18px !important;
        object-fit: contain !important;
    }
    .wcs-timetable__list .wcs-class h2,
    .wcs-timetable__list .wcs-class h3,
    .wcs-timetable__list .wcs-class h4,
    .wcs-timetable__list .wcs-class .wcs-class__title,
    .wcs-timetable__list .wcs-class .wcs-class-title,
    .wcs-timetable__list .wcs-class [class*="title"] {
        font-size: 24px !important;
        line-height: 1.22 !important;
    }
    .wcs-timetable__list .wcs-class p,
    .wcs-timetable__list .wcs-class .wcs-class__meta,
    .wcs-timetable__list .wcs-class [class*="meta"] {
        font-size: 16px !important;
    }
    .wcs-timetable__list .wcs-class .wcs-class__action a,
    .wcs-timetable__list .wcs-class .wcs-class__button a,
    .wcs-timetable__list .wcs-class a.button,
    .wcs-timetable__list .wcs-class .button {
        width: 100% !important;
        margin-top: 16px !important;
    }

    .euro-eventi-automatici .wcs-class__image,
    .euro-eventi-automatici .wcs-class__date,
    .euro-eventi-automatici .wcs-class__inner-flex,
    .euro-eventi-automatici .euro-post-event-content,
    .euro-eventi-automatici .wcs-class__action,
    .euro-eventi-automatici .euro-post-event-action {
        grid-column: auto !important;
    }
    .euro-eventi-automatici .euro-post-event-placeholder {
        width: 100% !important;
        min-height: 150px !important;
        margin-bottom: 18px !important;
    }

    .euro-home-slider,
    .vc_row.euro-home-slider,
    .wpb_row.euro-home-slider,
    .vc_section.euro-home-slider,
    .vc_row:has(.euro-home-slider),
    .wpb_row:has(.euro-home-slider),
    .vc_section:has(.euro-home-slider) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 11 — MOBILE STRETTO
   Query: @media only screen and (max-width: 480px)
   --------------------------------------------------------- */
@media only screen and (max-width: 480px) {
    .euro-bottom-cta-row {
        gap: 30px !important;
        margin-top: 42px !important;
        margin-bottom: 52px !important;
    }
    .euro-bottom-cta-row .vc_custom_heading a,
    .euro-bottom-cta-row a.vc_general.vc_btn3,
    .euro-bottom-cta-row a.vc_btn3 {
        width: auto !important;
        max-width: 320px !important;
        min-height: 56px !important;
        padding: 15px 24px !important;
        font-size: 16px !important;
    }
    #colophon .widget_media_image img,
    #colophon .wp-block-image img,
    #colophon figure img,
    #colophon .wpb_single_image img,
    #colophon .vc_single_image-wrapper img {
        max-width: 220px !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 12 — ACCESSIBILITÀ / MOTION SAFE
   Query: @media (prefers-reduced-motion: reduce)
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; }
}

/* =========================================================
   10. RIFINITURA ESTETICA DESKTOP / BASE
   ========================================================= */

/* Superfici principali più morbide */
.wcs-timetable__list .wcs-class,
body.archive article,
body.category article,
body.blog article,
.woocommerce-checkout .euro-auth-box,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
    background: linear-gradient(180deg, var(--colore-surface) 0%, var(--colore-surface-soft) 100%) !important;
    border: 1px solid var(--colore-bordo-soft) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-card) !important;
}

.wcs-timetable__list .wcs-class,
body.archive article,
body.category article,
body.blog article {
    transition: transform var(--euro-transition), box-shadow var(--euro-transition), border-color var(--euro-transition) !important;
}

.wcs-timetable__list .wcs-class:hover,
body.archive article:hover,
body.category article:hover,
body.blog article:hover {
    border-color: rgba(0,88,124,0.18) !important;
    box-shadow: 0 20px 52px rgba(15,35,64,0.12) !important;
    transform: translateY(-3px) !important;
}

/* Gerarchia tipografica più ariosa */
body h1,
body .entry-title,
body h1.entry-title,
body.single-product div.product > .summary.entry-summary .product_title,
body.single-product div.product > .summary.entry-summary h1.product_title,
body.archive .page-title,
body.category .page-title,
body.blog .page-title {
    letter-spacing: -0.02em !important;
}

body p,
body li,
body .entry-content p,
body .wpb_wrapper p {
    color: var(--colore-nero) !important;
}


/* Calendario: immagine e data più ordinate */
.wcs-timetable__list .wcs-class .wcs-class__image,
.wcs-timetable__list .wcs-class [class*="image"],
.wcs-timetable__list .wcs-class figure,
.wcs-timetable__list .wcs-class picture {
    border-radius: var(--radius-lg) !important;
}

.wcs-timetable__list .wcs-class .wcs-class__date,
.wcs-timetable__list .wcs-class [class*="date"] {
    padding: 8px 0 !important;
    border-radius: var(--radius-lg) !important;
    background: rgba(0,88,124,0.04) !important;
}

/* Pagina corso/prodotto */
body.single-product div.product > .woocommerce-product-gallery,
body.single-product.woocommerce div.product.product > .woocommerce-product-gallery.images,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image a,
body.single-product div.product > .woocommerce-product-gallery img.wp-post-image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    border-radius: var(--radius-xl) !important;
}

body.single-product div.product > .woocommerce-product-gallery img.wp-post-image,
body.single-product div.product > .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    box-shadow: var(--shadow-card) !important;
}

body.single-product .vc_tta-tabs-list .vc_tta-tab > a {
    border-radius: var(--radius-lg) !important;
    transition: background var(--euro-transition), color var(--euro-transition), transform var(--euro-transition), box-shadow var(--euro-transition) !important;
}

body.single-product .vc_tta-tabs-list .vc_tta-tab.vc_active > a,
body.single-product .vc_tta-tabs-list .vc_tta-tab:hover > a {
    box-shadow: 0 12px 28px rgba(0,88,124,0.14) !important;
    transform: translateX(4px) !important;
}

body.single-product .vc_tta-panel-body {
    background: var(--colore-surface) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-soft) !important;
}

/* Checkout: campi e riepilogo più leggibili */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .u-columns.col2-set input.input-text {
    border-color: #d9e1e7 !important;
    border-radius: var(--radius-md) !important;
    transition: border-color var(--euro-transition), box-shadow var(--euro-transition), background var(--euro-transition) !important;
}

.woocommerce-checkout input:hover,
.woocommerce-checkout textarea:hover,
.woocommerce-checkout select:hover,
.woocommerce-account .u-columns.col2-set input.input-text:hover {
    border-color: rgba(0,88,124,0.28) !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
    top: 24px !important;
}

/* Header/account: omogeneità di ombra e profondità visiva */
#masthead .euro-account-badge__link,
#masthead .euro-account-badge__main,
.euro-account-badge__link,
.euro-account-badge__main {
    box-shadow: 0 12px 28px rgba(0,88,124,0.12), inset 0 1px 0 rgba(255,255,255,0.72) !important;
}

#masthead .euro-account-badge__link:hover,
#masthead .euro-account-badge__main:hover,
.euro-account-badge__link:hover,
.euro-account-badge__main:hover,
.euro-account-badge:hover .euro-account-badge__main {
    box-shadow: 0 16px 38px rgba(0,88,124,0.16), 0 0 0 7px rgba(253,195,0,0.14) !important;
}

/* =========================================================
   11. ANIMAZIONI
   ========================================================= */

@keyframes euroAccountWave {
    0%   { transform: rotate(0deg) scale(1); }
    8%   { transform: rotate(20deg) scale(1.1); }
    16%  { transform: rotate(-12deg) scale(1.1); }
    24%  { transform: rotate(20deg) scale(1.1); }
    32%  { transform: rotate(-8deg) scale(1.06); }
    40%  { transform: rotate(12deg) scale(1.06); }
    50%  { transform: rotate(0deg) scale(1); }
    100% { transform: rotate(0deg) scale(1); }
}

@keyframes euroAccountPulse {
    0% { box-shadow: 0 0 0 0 rgba(17,201,0,0.65); }
    70% { box-shadow: 0 0 0 7px rgba(17,201,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(17,201,0,0); }
}


/* =========================================================
   12. RESPONSIVE - CTA FOOTER IN COLONNA
   Calendario corsi / Calendario eventi / Newsletter
   ========================================================= */


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 13 — MOBILE / TABLET PICCOLO
   Query: @media only screen and (max-width: 768px)
   --------------------------------------------------------- */
@media only screen and (max-width: 768px) {

    body.home .entry-content h2.vc_custom_heading:has(a[href*="calendario-dei-corsi-in-streaming"]),
    body.home .entry-content h2.vc_custom_heading:has(a[href*="eventi2022"]),
    body.home .entry-content h2.vc_custom_heading:has(a[href*="newsletter"]),
    body.front-page .entry-content h2.vc_custom_heading:has(a[href*="calendario-dei-corsi-in-streaming"]),
    body.front-page .entry-content h2.vc_custom_heading:has(a[href*="eventi2022"]),
    body.front-page .entry-content h2.vc_custom_heading:has(a[href*="newsletter"]) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 34px auto !important;
        padding: 0 !important;
        text-align: center !important;
        text-align-last: center !important;
        float: none !important;
        clear: both !important;
    }

    body.home .entry-content h2.vc_custom_heading a[href*="calendario-dei-corsi-in-streaming"],
    body.home .entry-content h2.vc_custom_heading a[href*="eventi2022"],
    body.home .entry-content h2.vc_custom_heading a[href*="newsletter"],
    body.front-page .entry-content h2.vc_custom_heading a[href*="calendario-dei-corsi-in-streaming"],
    body.front-page .entry-content h2.vc_custom_heading a[href*="eventi2022"],
    body.front-page .entry-content h2.vc_custom_heading a[href*="newsletter"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 250px !important;
        max-width: calc(100vw - 64px) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        text-align: center !important;
        text-align-last: center !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.home .entry-content .vc_column_container:has(a[href*="calendario-dei-corsi-in-streaming"]),
    body.home .entry-content .vc_column_container:has(a[href*="eventi2022"]),
    body.home .entry-content .vc_column_container:has(a[href*="newsletter"]),
    body.front-page .entry-content .vc_column_container:has(a[href*="calendario-dei-corsi-in-streaming"]),
    body.front-page .entry-content .vc_column_container:has(a[href*="eventi2022"]),
    body.front-page .entry-content .vc_column_container:has(a[href*="newsletter"]) {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        float: none !important;
        clear: both !important;
        margin: 0 auto !important;
        padding: 0 !important;
        text-align: center !important;
    }
}

/* =========================================================
   13. RESPONSIVE - CTA HOME IN COLONNA COMPATTA
   Calendario corsi / Calendario eventi / Newsletter
   ========================================================= */


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 14 — MOBILE / TABLET PICCOLO
   Query: @media only screen and (max-width: 768px)
   --------------------------------------------------------- */
@media only screen and (max-width: 768px) {

    body.home .euro-home-mobile-cta,
    body.front-page .euro-home-mobile-cta {
        width: 100% !important;
        max-width: 100% !important;
        margin: 42px auto 52px auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 24px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.home .euro-home-mobile-cta > .wpb_column,
    body.front-page .euro-home-mobile-cta > .wpb_column {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.home .euro-home-mobile-cta .vc_column-inner,
    body.home .euro-home-mobile-cta .wpb_wrapper,
    body.home .euro-home-mobile-cta .vc_cta3-container,
    body.home .euro-home-mobile-cta .vc_cta3,
    body.home .euro-home-mobile-cta .vc_cta3_content-container,
    body.home .euro-home-mobile-cta .vc_cta3-content,
    body.home .euro-home-mobile-cta .vc_cta3-content-header,
    body.front-page .euro-home-mobile-cta .vc_column-inner,
    body.front-page .euro-home-mobile-cta .wpb_wrapper,
    body.front-page .euro-home-mobile-cta .vc_cta3-container,
    body.front-page .euro-home-mobile-cta .vc_cta3,
    body.front-page .euro-home-mobile-cta .vc_cta3_content-container,
    body.front-page .euro-home-mobile-cta .vc_cta3-content,
    body.front-page .euro-home-mobile-cta .vc_cta3-content-header {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.home .euro-home-mobile-cta h2.vc_custom_heading,
    body.front-page .euro-home-mobile-cta h2.vc_custom_heading {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        text-align-last: center !important;
        line-height: 1 !important;
    }

    body.home .euro-home-mobile-cta h2.vc_custom_heading a,
    body.front-page .euro-home-mobile-cta h2.vc_custom_heading a {
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        height: 56px !important;
        min-height: 56px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        text-align: center !important;
        text-align-last: center !important;
        box-sizing: border-box !important;
    }
}

.woocommerce-account .euro-order-participants {
    margin-top: 12px;
    padding: 12px 16px;
    background: #fff9ed;
    border-left: 4px solid var(--colore-accento);
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.45;
}

.woocommerce-account .euro-order-participants strong {
    display: block;
    margin-bottom: 6px;
    color: var(--colore-primario);
}

.woocommerce-account .euro-order-participants ol {
    margin: 0;
    padding-left: 20px;
}

.woocommerce-account .euro-order-participants li {
    margin: 2px 0;
}

/* Testo sopra immagine per pagine interne */
#testosopraimmagine {
	font-weight: 700 !important;
    top: 90% !important;
    color: rgb(0, 88, 124) !important;  
    background-color: rgba(255, 253, 208, 0.6) !important; 
}

.tourriga {
	text-align: justify !important;
}


.wcs-class__inner-flex h3,
.euro-post-event-title {
	text-align: justify !important;
}


/* Calendario corsi: nasconde indicazione mese corso */
.wcs-addons--pipe,
.wcs-addons--pipe + span {
    display: none !important;
}

/* =========================================================
   14. HEADER - ACCOUNT BADGE LOGGATO
   Variante blu/giallo con geometria rettangolare
   ========================================================= */

#masthead .euro-account-badge.is-logged-in .euro-account-badge__main,
#masthead .euro-account-badge.is-logged-in .euro-account-badge__main:hover,
#masthead .euro-account-badge.is-logged-in:hover .euro-account-badge__main,
body.logged-in #masthead .euro-account-badge .euro-account-badge__main,
body.logged-in #masthead .euro-account-badge .euro-account-badge__main:hover,
body.logged-in #masthead .euro-account-badge:hover .euro-account-badge__main {
    background: linear-gradient(
        135deg,
        rgb(0, 88, 124) 0%,
        #08709a 58%,
        #0a7eac 100%
    ) !important;

    color: var(--colore-accento) !important;
    border: 1px solid var(--colore-accento) !important;

    border-radius: 6px !important;

    box-shadow:
        0 10px 24px rgba(0, 88, 124, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

/* Account badge loggato: contenitore */
#masthead .euro-account-badge.is-logged-in,
body.logged-in #masthead .euro-account-badge {
    border-radius: 6px !important;
}

/* Account badge loggato: testi */
#masthead .euro-account-badge.is-logged-in .euro-account-badge__text strong,
#masthead .euro-account-badge.is-logged-in .euro-account-badge__text small,
body.logged-in #masthead .euro-account-badge .euro-account-badge__text strong,
body.logged-in #masthead .euro-account-badge .euro-account-badge__text small {
    color: var(--colore-accento) !important;
}

/* Account badge loggato: icona */
#masthead .euro-account-badge.is-logged-in .euro-account-badge__orb,
body.logged-in #masthead .euro-account-badge .euro-account-badge__orb {
    background: linear-gradient(
        135deg,
        var(--colore-accento) 0%,
        #ffe477 100%
    ) !important;

    border-radius: 50% !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.48),
        0 7px 16px rgba(253,195,0,0.28) !important;
}

/* Account badge loggato: stato online */
#masthead .euro-account-badge.is-logged-in .euro-account-badge__pulse,
body.logged-in #masthead .euro-account-badge .euro-account-badge__pulse {
    background: var(--colore-accento) !important;
    border-color: rgb(0, 88, 124) !important;
}

/* =========================================================
   15. HOME SLIDER - STABILITÀ HOVER E LINK SERVIZI
   ========================================================= */

/* Disattiva l'interazione mouse solo sugli elementi Revolution Slider.
   La riga servizi resta cliccabile anche se nel markup è interna al blocco slider. */
.euro-home-slider sr7-module,
.euro-home-slider sr7-adjuster,
.euro-home-slider sr7-content,
.euro-home-slider sr7-slide,
.euro-home-slider sr7-txt,
.euro-home-slider .sr7-layer,
#euro-slider-banner-copy,
#sliderrogasopra,
#sliderrogasotto,
#sliderrogasotto .marquee-text-top {
    pointer-events: none !important;
}

/* Ripristina i link delle tre aree principali sotto il banner. */
.euro-home-slider .allineaflex,
.euro-home-slider .allineaflex *,
.euro-home-slider .servizil,
.euro-home-slider .servizil *,
.euro-home-slider .cosafamo,
.euro-home-slider .cosafamo *,
.euro-home-slider .cosafamo a {
    pointer-events: auto !important;
}

.euro-home-slider .cosafamo a {
    cursor: pointer !important;
}

/* Evita variazioni visive del banner al passaggio del mouse. */
.euro-home-slider sr7-module:hover,
.euro-home-slider sr7-content:hover,
.euro-home-slider sr7-slide:hover,
.euro-home-slider sr7-txt:hover,
.euro-home-slider .sr7-layer:hover,
#euro-slider-banner-copy:hover,
#sliderrogasopra:hover,
#sliderrogasotto:hover {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
}

/* Mantiene stabile la resa grafica del solo banner in movimento. */
.euro-home-slider sr7-module,
.euro-home-slider sr7-module *,
#sliderrogasotto .marquee-text-top {
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform-style: flat !important;
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 15 — TABLET / HEADER MOBILE
   Query: @media only screen and (max-width: 991px)
   --------------------------------------------------------- */
@media only screen and (max-width: 991px) {
    #sliderrogasotto {
        margin-top: 26px !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 16 — MOBILE / TABLET PICCOLO
   Query: @media only screen and (max-width: 768px)
   --------------------------------------------------------- */
@media only screen and (max-width: 768px) {
    #sliderrogasotto {
        margin-top: 20px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }
}


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 17 — MOBILE
   Query: @media only screen and (max-width: 680px)
   --------------------------------------------------------- */
@media only screen and (max-width: 680px) {
    #sliderrogasotto {
        margin-top: 16px !important;
        font-size: 12px !important;
    }
}

/* =========================================================
   16. HOME SLIDER - SECONDA RIGA BANNER PIÙ BASSA
   ========================================================= */

/*
 * Regole per la seconda riga del banner sotto “35 anni…”.
 * Mantiene inalterate le logiche già impostate:
 * - JavaScript invariato;
 * - pointer-events invariati;
 * - hover invariato;
 * - link dei servizi invariati;
 * - struttura responsive esistente invariata.
 *
 * Desktop: riga più bassa.
 * Tablet/responsive: spostamento ridotto per evitare che la riga esca dal banner.
 *
 * Per regolare ancora la distanza verticale desktop cambia solo:
 * --euro-slider-riga2-offset-y-desktop
 */
:root {
    --euro-slider-riga2-offset-y-desktop: 76px;
    --euro-slider-riga2-offset-y-tablet: 8px;
    --euro-slider-riga2-offset-y-mobile: 6px;
    --euro-slider-riga2-offset-y-mobile-small: 0px;
}

/* Spostamento reale del layer Revolution Slider */
.euro-home-slider #sliderrogasotto,
.euro-home-slider sr7-txt#sliderrogasotto,
.euro-home-slider .sr7-layer#sliderrogasotto,
#sliderrogasotto {
    translate: 0 var(--euro-slider-riga2-offset-y-desktop) !important;
    margin-top: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Mantiene visibili eventuali wrapper interni del testo in movimento */
#sliderrogasotto,
#sliderrogasotto *,
#sliderrogasotto .marquee-text-top {
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Tablet / responsive largo: mantiene la riga dentro il banner */

/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 18 — TABLET / HEADER MOBILE
   Query: @media only screen and (max-width: 991px)
   --------------------------------------------------------- */
@media only screen and (max-width: 991px) {
    .euro-home-slider #sliderrogasotto,
    .euro-home-slider sr7-txt#sliderrogasotto,
    .euro-home-slider .sr7-layer#sliderrogasotto,
    #sliderrogasotto {
        translate: 0 var(--euro-slider-riga2-offset-y-tablet) !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }
}

/* Mobile */

/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 19 — MOBILE / TABLET PICCOLO
   Query: @media only screen and (max-width: 768px)
   --------------------------------------------------------- */
@media only screen and (max-width: 768px) {
    .euro-home-slider #sliderrogasotto,
    .euro-home-slider sr7-txt#sliderrogasotto,
    .euro-home-slider .sr7-layer#sliderrogasotto,
    #sliderrogasotto {
        translate: 0 var(--euro-slider-riga2-offset-y-mobile) !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }
}

/* Mobile stretto */

/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 20 — MOBILE
   Query: @media only screen and (max-width: 680px)
   --------------------------------------------------------- */
@media only screen and (max-width: 680px) {
    .euro-home-slider #sliderrogasotto,
    .euro-home-slider sr7-txt#sliderrogasotto,
    .euro-home-slider .sr7-layer#sliderrogasotto,
    #sliderrogasotto {
        translate: 0 var(--euro-slider-riga2-offset-y-mobile-small) !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }
}

.primariga {
	text-align: justify !important;
}

/* Loghi footer/social: impilati in responsive senza alterare le immagini */

/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 21 — MOBILE / FOOTER E LOGHI
   Query: @media (max-width: 767px)
   --------------------------------------------------------- */
@media (max-width: 767px) {

  .euro-footer-loghi.vc_row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    row-gap: 30px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .euro-footer-loghi.vc_row > .wpb_column,
  .euro-footer-loghi.vc_row > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    flex: 0 0 100% !important;
  }

  .euro-footer-loghi .wpb_text_column,
  .euro-footer-loghi .wpb_wrapper {
    text-align: center !important;
  }

  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
  }

  .euro-footer-loghi a {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .euro-footer-loghi img {
    float: none !important;
    display: block !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .euro-footer-loghi br {
    display: none !important;
  }
}


/* =========================================================
   17. FOOTER LOGHI E SOCIAL RESPONSIVE
   =========================================================
   Nota:
   - blocchi loghi impilati in mobile;
   - icone social mantenute su una sola riga;
   - immagini non deformate: nessuna forzatura di width: 100%.
   ========================================================= */


/* ---------------------------------------------------------
   BREAKPOINT RESPONSIVE 22 — MOBILE / FOOTER E LOGHI
   Query: @media (max-width: 767px)
   --------------------------------------------------------- */
@media (max-width: 767px) {

  /* Social: icone tutte sulla stessa riga */
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="linkedin"]),
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="youtube"]),
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="facebook"]) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 34px !important;
    width: 100% !important;
  }

  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="linkedin"]) a,
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="youtube"]) a,
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="facebook"]) a {
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
  }

  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="linkedin"]) img,
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="youtube"]) img,
  .euro-footer-loghi .wpb_text_column > .wpb_wrapper > div:has(img[src*="facebook"]) img {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}


/* =========================================================
   18. HEADER TABLET - MENU E BADGE ACCEDI
   Mantiene "Accedi" in riga con il menu evitando sovrapposizioni
   ========================================================= */

@media only screen and (min-width: 922px) and (max-width: 1180px) {

    #masthead .ast-primary-header-bar .ast-container,
    #masthead .site-primary-header-wrap .ast-container,
    #masthead .ast-builder-grid-row-container {
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }

    #masthead .site-logo-img img,
    #masthead .custom-logo-link img,
    #masthead img.custom-logo {
        max-width: 310px !important;
        height: auto !important;
    }

    #masthead .ast-builder-grid-row {
        grid-template-columns: auto minmax(0, 1fr) !important;
        column-gap: 24px !important;
        align-items: center !important;
    }

    #masthead .site-header-primary-section-right {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
    }

    #masthead .main-header-bar-navigation,
    #masthead .main-navigation {
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    #masthead .main-header-menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: 0 !important;
    }

    #masthead .main-header-menu > .menu-item {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    #masthead .main-header-menu > .menu-item > .menu-link,
    #masthead .main-header-menu > .menu-item > a {
        padding-left: 13px !important;
        padding-right: 13px !important;
        font-size: 0.64rem !important;
        white-space: nowrap !important;
    }

    #masthead .euro-account-badge-menu-item {
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }

    #masthead .euro-account-badge {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        flex: 0 0 auto !important;
        margin-left: 12px !important;
        padding-left: 12px !important;
    }

    #masthead .euro-account-badge__main {
        min-height: 44px !important;
        padding: 6px 14px 6px 7px !important;
        gap: 8px !important;
    }

    #masthead .euro-account-badge__orb {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
    }

    #masthead .euro-account-badge__text strong {
        font-size: 12px !important;
    }

    #masthead .euro-account-badge__text small {
        font-size: 10px !important;
    }
}


/* =========================================================
   19. AREA RISERVATA - NAVIGAZIONE ACCOUNT
   Bottoni amministrativi coerenti con i tab delle pagine pubbliche
   ========================================================= */

body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 30% !important;
    max-width: 430px !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin: 0 36px 40px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link {
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 1px solid var(--colore-primario) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 26px !important;
    background: var(--colore-surface) !important;
    color: var(--colore-primario) !important;
    font-family: var(--font-main) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active {
    background: var(--colore-primario) !important;
    border-color: var(--colore-primario) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link:hover > a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active > a {
    background: var(--colore-primario) !important;
    color: var(--colore-bianco) !important;
}

/* Compatibilità con eventuali stili inline applicati via JS alla voce attiva */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active[style] {
    background: var(--colore-primario) !important;
    border-color: var(--colore-primario) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a[style] {
    color: var(--colore-bianco) !important;
}


/* =========================================================
   20. AREA RISERVATA - PULSANTI ORDINI E AZIONI
   Coerenza con i bottoni globali del sito
   ========================================================= */

body.woocommerce-account .woocommerce-MyAccount-content a.button,
body.woocommerce-account .woocommerce-MyAccount-content button.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
body.woocommerce-account table.my_account_orders .button,
body.woocommerce-account .woocommerce-orders-table .button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 145px !important;
    min-height: 46px !important;
    padding: 13px 24px !important;
    background: linear-gradient(135deg, var(--colore-primario) 0%, var(--colore-primario-light) 58%, var(--colore-primario-alt) 100%) !important;
    color: var(--colore-bianco) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: var(--radius-sm) !important;
    font-family: var(--font-main) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.35px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: var(--shadow-button), inset 0 1px 0 rgba(255,255,255,0.22) !important;
    overflow: hidden !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a.button::after,
body.woocommerce-account .woocommerce-MyAccount-content button.button::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button::after,
body.woocommerce-account table.my_account_orders .button::after,
body.woocommerce-account .woocommerce-orders-table .button::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 2px !important;
    font-size: 17px !important;
    line-height: 1 !important;
    transition: transform 0.25s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover,
body.woocommerce-account table.my_account_orders .button:hover,
body.woocommerce-account .woocommerce-orders-table .button:hover {
    background: linear-gradient(135deg, var(--colore-accento) 0%, var(--colore-accento-light) 100%) !important;
    color: var(--colore-primario) !important;
    border-color: rgba(253,195,0,0.75) !important;
    box-shadow: var(--shadow-button-hover), inset 0 1px 0 rgba(255,255,255,0.38) !important;
    transform: translateY(-3px) !important;
    text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a.button:hover::after,
body.woocommerce-account .woocommerce-MyAccount-content button.button:hover::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover::after,
body.woocommerce-account table.my_account_orders .button:hover::after,
body.woocommerce-account .woocommerce-orders-table .button:hover::after {
    transform: translateX(5px) !important;
}


/* =========================================================
   21. AREA RISERVATA - RESPONSIVE
   Navigazione account sopra il contenuto su tablet/mobile
   ========================================================= */

@media only screen and (max-width: 921px) {

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        margin: 0 0 30px 0 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link > a {
        min-height: 54px !important;
        padding: 0 22px !important;
        font-size: 16px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        display: block !important;
    }
}

@media only screen and (max-width: 544px) {

    body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link {
        margin-bottom: 10px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link > a {
        min-height: 50px !important;
        padding: 0 18px !important;
        font-size: 15px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content a.button,
    body.woocommerce-account .woocommerce-MyAccount-content button.button,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
    body.woocommerce-account table.my_account_orders .button,
    body.woocommerce-account .woocommerce-orders-table .button {
        min-width: 130px !important;
        min-height: 42px !important;
        padding: 11px 20px !important;
        font-size: 13px !important;
    }
}


/* =========================================================
   22. AREA RISERVATA - TITOLI BLU EUROSPORTELLO
   ========================================================= */

body.woocommerce-account h1,
body.woocommerce-account h2,
body.woocommerce-account h3,
body.woocommerce-account h4,
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title,
body.woocommerce-account .woocommerce-MyAccount-content h1,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content h4,
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-column__title {
    color: var(--colore-primario) !important;
}

/* =========================================================
   23. CHECKOUT - TITOLO ISCRIZIONE CORSO
   ========================================================= */

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title {
    color: var(--colore-primario) !important;
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

article .entry-title {
	text-align: center;
}

/* Rimuove definitivamente la manina dal badge account */
body.logged-in #masthead .euro-account-badge__link::after,
body.logged-in #masthead .euro-account-badge__main::after {
    content: none !important;
    display: none !important;
    animation: none !important;
}

/* Sicurezza: rimuove anche l'eventuale manina inserita dal JS */
.euro-account-wave {
    display: none !important;
}