/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 28 2026 | 09:08:03 */
File CSS con modifiche accessibilita

/* ========================================
   FONT-FACE CIRCE - UNIFICATI
   ======================================== */

/* Ridefinisco Circe come famiglia unica con font-weight */
@font-face {
    font-family: 'Circe';
    src: url(/wp-content/themes/fonts/Circe-Light.otf) format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Circe';
    src: url(/wp-content/themes/fonts/Circe-Regular.otf) format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Circe';
    src: url(/wp-content/themes/fonts/Circe-Bold.otf) format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Circe';
    src: url(/wp-content/themes/fonts/Circe-ExtraBold.otf) format('opentype');
    font-weight: 800;
    font-style: normal;
}

/* ========================================
   0. FONT IMPORT - VARIABILI
   ======================================== */

/* FONT FAMILIES */
:root {
    --font-heading: 'Circe', 'Roboto', sans-serif;
    --font-body: 'Minion Pro', 'Georgia', serif;
}

/* APPLICAZIONE GLOBALE */
body,
.entry-content,
.card-item__text,
.wp-block-latest-posts__post-excerpt {
    font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.subsection-title,
.card-item__header,
#site-title,
.card-nav-links a,
.wp-block-button__link,
.wp-block-latest-posts__post-title {
    font-family: var(--font-heading) !important;
}

.section-title {
    padding-left: 10px !important;
}

.menu-item,
#footer-ateneo,
.kt-blocks-accordion-header {
    font-family: var(--font-heading) !important;
    font-weight: bolder !important;
}

/*
  NASCONDI TORRE DA LOGO IN CIMA ALLA PAGINA
*/
#sito-ateneo img {
    display: none !important;
}

#footer_ateneo {
    display: none !important;
}

#footer_ateneo {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
}

/* menu shadow */
.sub-menu {
    box-shadow: 0 0 .5rem rgba(0, 0, 0, 0.3);
}

/* lang menu position */
.main-navigation .pll-parent-menu-item {
    float: right !important;
}

.main-navigation .pll-parent-menu-item .sub-menu {
    position: absolute !important;
    right: 0 !important;	
}

.main-navigation .sub-menu:has(.lang-item) {
	width: 3rem !important;
}
/* Ivory Search - Personalizzazione */
.is-search-icon svg {
    fill: var(--verde-tor-vergata) !important;
}

/* Quando la ricerca è attiva/aperta - icona bianca su sfondo verde */
.astm-search-menu.is-menu.is-dropdown.menu-item:hover .is-search-icon svg,
.astm-search-menu.is-menu.is-dropdown.menu-item.active .is-search-icon svg,
.astm-search-menu.is-menu.is-dropdown.menu-item:focus-within .is-search-icon svg {
    fill: #ffffff !important;
}

/* Sfondo verde quando attivo */
/* Ivory Search - Personalizzazione */
.search-icon path {
    fill: var(--verde-tor-vergata) !important;
}

/* Icona bianca su hover */
.astm-search-menu a:hover .search-icon path,
.astm-search-menu a:hover .search-icon-path {
    fill: #ffffff !important;
}

/* Sfondo verde su hover del link */
.astm-search-menu a:hover {
    background: var(--verde-tor-vergata) !important;
    border-radius: 4px;
}

.is-search-form input[type="search"] {
    font-family: var(--font-body) !important;
    border: 2px solid var(--verde-tor-vergata) !important;
}

.is-search-submit {
    background: var(--verde-tor-vergata) !important;
}

.is-search-submit:hover {
    background: #004d26 !important;
}

/* ========================================
   ALLARGAMENTO CONTAINER PRINCIPALE
   ======================================== */

.inner-wrap,
.site-content,
#primary {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* Allargare anche header per coerenza */
#header-left-section {
    max-width: 1400px;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Footer allineato al nuovo container */
footer .inner-wrap,
.footer-socket-wrapper .inner-wrap,
#footer-ateneo #inner-wrap {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* Ridurre padding su entry-content se presente */
.entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ========================================
   0.5. SKIP LINK - ACCESSIBILITÀ
   ======================================== */

.skip-link {
    position: absolute !important;
    top: -40px !important;
    left: 0 !important;
    background: #007A5A !important;
    color: white !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    z-index: 100000 !important;
    transition: top 0.2s ease !important;
}

.skip-link:focus {
    top: 0 !important;
    outline: 3px solid white !important;
    outline-offset: -3px !important;
}

@media (prefers-reduced-motion: reduce) {
    .skip-link {
        transition: none !important;
    }
}


/* ========================================
   1. NASCONDI TITOLI PAGINE E POST
   ======================================== */
/* Allinea logo e menu orizzontalmente */
/* Logo a sinistra, menu a destra */

/* Definisci colore verde Tor Vergata */
:root {
    --verde-tor-vergata: #006633;
}

#header-text-nav-container .inner-wrap {
    max-width: 1400px !important;
    margin: 0 auto !important;
    background: white !important;
    background-color: white !important;
    padding: 0 15px !important;
}
#header-text-nav-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    padding: 5px 0 !important;
    min-height: auto !important;
}
#sito-ateneo {
    display: none;
}
#header-left-section {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 0 !important;
}
/* Rimuovi padding e margin dal logo */
#header-logo-tor-vergata {
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
}
#header-logo-tor-vergata a {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    line-height: 0 !important;
}
#header-logo-tor-vergata img,
#header-left-section img,
#header-logo-image img,
img#logo-tor-vergata {
    max-height: 45px !important;
    height: 45px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}
#header-logo-image {
    padding: 0 !important;
    margin: 0 !important;
}
#header-text {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
#site-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
}
#site-title a {
    padding: 0 !important;
    margin: 0 !important;
}
#site-description {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
}
#site-navigation {
    width: auto !important;
    flex-shrink: 0;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.main-navigation {
    float: none !important;
    clear: none !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
.main-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.main-navigation ul li {
    padding: 0 !important;
    margin: 0 5px !important;
    background: transparent !important;
}
.main-navigation ul li a,
.main-navigation a,
#site-navigation a {
    font-size: 16px !important;
    line-height: 1.2 !important;
    padding: 8px 14px !important;
    color: var(--verde-tor-vergata) !important;
    background: transparent !important;
    transition: all 0.3s ease !important;
}

/* Sottomenu dropdown - sfondo bianco */
.main-navigation ul.sub-menu,
.main-navigation ul li ul,
.main-navigation ul li ul li {
    background: white !important;
    background-color: white !important;
}

.main-navigation ul li ul li a {
    color: #444444 !important;
    background: white !important;
}

.main-navigation ul li ul li a:hover {
    background: var(--verde-tor-vergata) !important;
    color: #ffffff !important;
}

/* Hover - sfondo verde, testo bianco */
#site-navigation .main-navigation ul li a:hover,
.main-navigation ul li a:hover,
#site-navigation a:hover {
    background-color: var(--verde-tor-vergata) !important;
    background: var(--verde-tor-vergata) !important;
    color: #ffffff !important;
}

/* Current/Selected - sfondo verde, testo bianco */
#site-navigation .main-navigation ul li.current-menu-item > a,
#site-navigation .main-navigation ul li.current_page_item > a,
#site-navigation .main-navigation ul li.current-menu-ancestor > a,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.main-navigation ul li.current-menu-ancestor > a {
    background-color: var(--verde-tor-vergata) !important;
    background: var(--verde-tor-vergata) !important;
    color: #ffffff !important;
}

/* Nascondi voce Home */
#menu-item-260 {
    display: none !important;
}

/* Spaziatura per voci con sottomenu */
.main-navigation li.menu-item-has-children > a,
.main-navigation li.page_item_has_children > a {
    padding-right: 18px !important;
    position: relative !important;
}

/* Riposiziona il triangolino */
.main-navigation .sub-toggle {
    cursor: pointer !important;
    color: var(--verde-tor-vergata) !important;
    z-index: 10 !important;
}

.main-navigation .sub-toggle i {
    color: var(--verde-tor-vergata) !important;
    font-size: 12px !important;
}

/* Triangolino bianco su hover */
.main-navigation li:hover > .sub-toggle i,
.main-navigation li.current-menu-item > .sub-toggle i,
.main-navigation li.current-menu-ancestor > .sub-toggle i {
    color: #ffffff !important;
}

/* Nei sottomenu dropdown */
.main-navigation ul.sub-menu .sub-toggle i {
    color: #444444 !important;
}

.main-navigation ul.sub-menu li:hover > .sub-toggle i {
    color: #ffffff !important;
}

.main-navigation ul.sub-menu li:hover > .sub-toggle,
.main-navigation ul.sub-menu li:hover .fa-caret-down {
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 1024px) {
    #header-text-nav-wrap {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }
    
    #header-left-section,
    #site-navigation {
        margin: 0 !important;
        width: 100% !important;
    }
    
    /* Menu mobile - base bianco */
    .main-small-navigation li {
        background: #ffffff !important;
    }
    
    .main-small-navigation a {
        color: var(--verde-tor-vergata) !important;
        background: #ffffff !important;
    }
    
    /* Voci principali hover/current - sfondo verde + testo bianco */
    .main-small-navigation > ul > li:hover > a,
    .main-small-navigation .current_page_item > a,
    .main-small-navigation .current-menu-item > a,
    .main-small-navigation .current-menu-ancestor > a,
    .main-small-navigation .current_page_ancestor > a,
    .main-small-navigation .current-menu-parent > a {
        background: var(--verde-tor-vergata) !important;
        color: #ffffff !important;
    }
    
    /* CRITICO: Sottomenu sempre bianco con testo verde */
    .main-small-navigation ul ul li,
    .main-small-navigation .sub-menu li {
        background: #ffffff !important;
    }
    
    .main-small-navigation ul ul li a,
    .main-small-navigation .sub-menu li a,
    .main-small-navigation .current_page_item ul li a,
    .main-small-navigation .current-menu-ancestor ul li a {
        color: var(--verde-tor-vergata) !important;
        background: #ffffff !important;
    }
    
    /* Hover sui sottomenu */
    .main-small-navigation ul ul li:hover > a,
    .main-small-navigation .sub-menu li:hover > a {
        background: var(--verde-tor-vergata) !important;
        color: #ffffff !important;
    }
    
    /* Toggle button verde */
    .better-responsive-menu .sub-toggle {
        background-color: var(--verde-tor-vergata) !important;
        color: #ffffff !important;
    }
}

/* FINE Allinea logo e menu orizzontalmente */

/* Rimuovi il display: none e applica lo stile page-header ai post */
.single-post .hentry > .entry-header {
    text-align: center !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem !important;
    border-bottom: 3px solid #007A5A !important;
    padding-top: 1rem !important;
}

.single-post .hentry > .entry-header .entry-title {
    font-family: var(--font-heading) !important;
    font-size: 2rem !important;
    color: #2c5234 !important;
    margin: 0 0 0.5rem 0 !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: center !important;
    display: block !important;
}

/* Nascondi autore nei post */
.single-post .entry-meta .byline {
    display: none !important;
}

/* Mantieni nascosto solo per le pagine se vuoi */
.page .hentry > .entry-header .entry-title {
    display: none !important;
}

/* Nascondi menu hamburger nativo del tema */
.menu-toggle,
h3.menu-toggle,
.site-header .menu-toggle {
    display: none !important;
}

/* Nascondi anche il menu mobile nativo */
.main-small-navigation {
    display: none !important;
}

/* Breakpoint: nascondi menu desktop sotto 1024px */
@media (max-width: 1024px) {
    /* Nascondi il menu desktop */
    #site-navigation,
    .main-navigation {
        display: none !important;
    }
    
    /* Layout verticale per logo */
    #header-text-nav-wrap {
        flex-direction: column !important;
        text-align: center !important;
    }
    
    #header-left-section {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .single-post .hentry > .entry-header {
        margin-bottom: 1.5rem !important;
        padding-bottom: 1rem !important;
    }
    
    .single-post .hentry > .entry-header .entry-title {
        font-size: 1.5rem !important;
    }
}

/* ========================================
   2. HEADER COMPATTO - STILE TOR VERGATA
   ======================================== */

#sito-ateneo {
    display: true;
}

#header-text-nav-container {
    padding: 5px 0 !important;
}

#header-left-section {
    display: flex;
    align-items: center;
    gap: 10px !important;
    padding: 8px 20px !important;
    max-width: 1200px;
    margin: 0 auto;
}

#header-logo-tor-vergata {
    flex-shrink: 0;
}

#header-logo-tor-vergata img {
    height: 55px !important;
    width: auto !important;
    display: block !important;
}

#header-logo-image {
    display: none !important;
}

#header-text {
    flex-grow: 1;
    display: block !important;
    line-height: 1.1 !important;
}

#header-text.screen-reader-text {
    position: static !important;
    clip: auto !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
}

#site-title {
    margin: 0 0 2px 0 !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    color: #2c5234 !important;
}

#site-title a {
    color: #2c5234 !important;
    text-decoration: none !important;
}

#site-title a:hover {
    color: #1a3d20 !important;
}

#site-title a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

#site-description {
    margin: 0 !important;
    font-size: 14px !important;
    color: #90b305 !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px;
    line-height: 1.2 !important;
}

.main-navigation {
    margin-top: 5px !important;
}


/* ========================================
   3. RIDUZIONE SPAZIO HEADER-HERO
   ======================================== */

#masthead,
.site-header {
    padding: 0 !important;
    margin: 0 !important;
}

#header-text-nav-container {
    padding: 5px 0 0 0 !important;
    margin: 0 !important;
}

.main-navigation,
#site-navigation {
    margin: 0 !important;
    padding: 0 !important;
}

#main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

#featured-slider,
.slider-cycle {
    margin: 0 !important;
    padding: 0 !important;
}

.inner-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ========================================
   4. HERO E CALL TO ACTION SOVRAPPOSTE - MIGLIORATO
   ======================================== */

/* Container CTA - sovrapposte per metà all'hero */
.hero-cta-overlay {
    margin-top: -100px !important;
    position: relative !important;
    z-index: 10 !important;
    padding: 0 20px !important;
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Grid 3 colonne - centrato e ravvicinato */
.hero-cta-overlay.wp-block-columns {
    gap: 1rem !important;
    justify-content: center !important;
}

/* Colonna singola - 230px */
.hero-cta-overlay .wp-block-column {
    margin: 0 !important;
    max-width: 230px !important;
    flex-basis: 230px !important;
}

/* Group outer container */
.hero-cta-overlay .wp-block-group {
    height: 100% !important;
}

/* Inner container = card CTA - QUADRATA 230px - DESIGN MODERNO */
.hero-cta-overlay .wp-block-group__inner-container {
    background: #a8c5dd !important;
    padding: 1.5rem 1.25rem !important;
    border-radius: 4px !important; /* Ridotto da 8px - più moderno */
    text-align: center !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important; /* Ombra più soft - ridotto da 0.15 a 0.08 */
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 230px !important;
    height: 230px !important;
    max-width: 230px !important;
    max-height: 230px !important;
}

.hero-cta-overlay .wp-block-group__inner-container:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; /* Hover ombra soft - ridotto da 0.2 a 0.12 */
}

/* Icona SVG Lucide - INGRANDITA */
.hero-cta-overlay .wp-block-group__inner-container > svg {
    width: 64px !important; /* Aumentato da 48px */
    height: 64px !important; /* Aumentato da 48px */
    stroke-width: 2 !important;
    color: #2c5234 !important;
    margin-bottom: 1rem !important;
    flex-shrink: 0 !important;
}

/* Primo paragraph = Titolo */
.hero-cta-overlay .wp-block-group__inner-container > p:first-of-type {
    font-family: var(--font-heading) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #2c5234 !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

/* Secondo paragraph = Link "Scopri di più" */
.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type {
    margin: 0 !important;
    text-align: center !important;
    font-family: var(--font-heading) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #2c5234 !important;
}

.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type a {
    font-family: var(--font-heading) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: inherit !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
    min-height: 44px !important;
    padding: 0.4rem 0.8rem !important;
}

.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type a::after {
    content: "→" !important;
    font-size: 1.1em !important;
    transition: transform 0.2s ease !important;
}

.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type a:hover {
    color: #007A5A !important;
    transform: translateX(4px) !important;
}

.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type a:hover::after {
    transform: translateX(4px) !important;
}

.hero-cta-overlay .wp-block-group__inner-container > p:last-of-type a:focus {
    outline: 3px solid #2c5234 !important;
    outline-offset: 4px !important;
}

/* ===================================
   IDENTITÀ SPECIFICHE CTA
   =================================== */

/* TRIENNALE - Verde accademico */
.hero-cta-overlay .cta-triennale .wp-block-group__inner-container {
    background: linear-gradient(135deg, #b8e0d2 0%, #c8f0e2 100%) !important;
}

.hero-cta-overlay .cta-triennale svg {
    color: #009639 !important;
}

.hero-cta-overlay .cta-triennale .wp-block-group__inner-container > p:first-of-type {
    color: #009639 !important;
}

.hero-cta-overlay .cta-triennale .wp-block-group__inner-container > p:last-of-type {
    color: #009639 !important;
}

.hero-cta-overlay .cta-triennale .wp-block-group__inner-container > p:last-of-type a:hover {
    color: #007A5A !important;
}

.hero-cta-overlay .cta-triennale .wp-block-group__inner-container > p:last-of-type a:focus {
    outline-color: #009639 !important;
}

/* MAGISTRALE - Blu professionale */
.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container {
    background: linear-gradient(135deg, #a8c5dd 0%, #b8d5ed 100%) !important;
}

.hero-cta-overlay .cta-magistrale svg {
    color: #0047AB !important;
}

.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container > p:first-of-type {
    color: #0047AB !important;
}

.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container > p:last-of-type {
    color: #0047AB !important;
}

.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container > p:last-of-type a:hover {
    color: #003D7A !important;
}

.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container > p:last-of-type a:focus {
    outline-color: #0047AB !important;
}

/* COME FARE PER - Arancione supporto */
.hero-cta-overlay .cta-supporto .wp-block-group__inner-container {
    background: linear-gradient(135deg, #ffd4a3 0%, #ffe4c3 100%) !important;
}

.hero-cta-overlay .cta-supporto svg {
    color: #C05621 !important;
}

.hero-cta-overlay .cta-supporto .wp-block-group__inner-container > p:first-of-type {
    color: #C05621 !important;
}

.hero-cta-overlay .cta-supporto .wp-block-group__inner-container > p:last-of-type {
    color: #C05621 !important;
}

.hero-cta-overlay .cta-supporto .wp-block-group__inner-container > p:last-of-type a:hover {
    color: #A04515 !important;
}

.hero-cta-overlay .cta-supporto .wp-block-group__inner-container > p:last-of-type a:focus {
    outline-color: #C05621 !important;
}

/* Hover effect con glow SOFT per enfatizzare l'identità */
.hero-cta-overlay .cta-triennale .wp-block-group__inner-container:hover {
    box-shadow: 0 8px 24px rgba(0,150,57,0.15) !important; /* Ridotto da 0.25 */
}

.hero-cta-overlay .cta-magistrale .wp-block-group__inner-container:hover {
    box-shadow: 0 8px 24px rgba(0,71,171,0.15) !important; /* Ridotto da 0.25 */
}

.hero-cta-overlay .cta-supporto .wp-block-group__inner-container:hover {
    box-shadow: 0 8px 24px rgba(192,86,33,0.15) !important; /* Ridotto da 0.25 */
}

/* ========================================
   4.5. CARD SYSTEM - FLESSIBILE (1-6 CARD)
   ======================================== */

.card-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1rem !important;
    padding: 0 1rem !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.card-item {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 1px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s ease;
    min-width: 280px;
    max-width: 100%;
}

.card-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}


/* ========================================
   5. CARD HEADER - VARIANTI COLORE
   ======================================== */

.card-item__header {
    padding: 1.5rem 1rem !important;
    border-bottom: none !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    margin: 0 !important;
    text-align: center;
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* COLORE UFFICIALE - Verde Tor Vergata */
.card-header--green {
    background: linear-gradient(135deg, #00875A 0%, #00A86F 100%);
}

/* COLORI ALTERNATIVI */
.card-header--blue {
    background: linear-gradient(135deg, #003D7A 0%, #0052A3 100%);
}

.card-header--gray {
    background: linear-gradient(135deg, #2D3748 0%, #4A5568 100%);
}

.card-header--teal {
    background: linear-gradient(135deg, #0D7C66 0%, #10B981 100%);
}

.card-header--orange {
    background: linear-gradient(135deg, #C05621 0%, #DD6B20 100%);
}

.card-header--purple {
    background: linear-gradient(135deg, #5B21B6 0%, #7C3AED 100%);
}

.card-header--cyan {
    background: linear-gradient(135deg, #0E7490 0%, #06B6D4 100%);
}

.card-header--red {
    background: linear-gradient(135deg, #991B1B 0%, #DC2626 100%);
}

/* COLORI AGGIUNTIVI */
.card-header--yellow {
    background: linear-gradient(135deg, #D97706 0%, #F59E0B 100%);
}

.card-header--indigo {
    background: linear-gradient(135deg, #4338CA 0%, #6366F1 100%);
}

.card-header--pink {
    background: linear-gradient(135deg, #BE185D 0%, #EC4899 100%);
}

.card-header--emerald {
    background: linear-gradient(135deg, #047857 0%, #10B981 100%);
}


/* ========================================
   6. CARD BODY E CONTENUTI
   ======================================== */

.card-item__body {
    padding: 1.5rem 1.5rem !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

.card-item__text {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
    text-align: center !important;
    margin: 0 0 1rem 0 !important;
    width: 100%;
}


/* ========================================
   7. LISTA LINK - 1 O 2 COLONNE
   ======================================== */

.card-nav-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.6rem 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
}

.card-nav-links--1col {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
}

.card-nav-links--2col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.6rem 1.5rem !important;
}

.card-nav-links--3col {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem 1rem !important;
}

.card-nav-links--3col a {
    font-size: 0.9rem !important;
}

.card-nav-links li {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
}

.card-nav-links a {
    display: flex !important;
    align-items: center;
    padding: 0.5rem 0;
    color: #007A5A !important;
    font-weight: 600;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 44px !important;
}

.card-nav-links--1col a {
    font-size: 1.05rem !important;
}

/* ECCEZIONE: non mostrare ▸ se ci sono già icone Lucide */
.laurea-triennale .card-nav-links a::before,
.laurea-magistrale .card-nav-links a::before {
    display: none !important;
}

.card-nav-links a:hover {
    color: #00875A !important;
    transform: translateX(3px);
}

.card-nav-links a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
    background: #f0f9f4 !important;
}


/* ========================================
   8. PULSANTI CARD
   ======================================== */

.card-item .wp-block-button {
    margin: 1rem 0 0 0 !important;
    width: 100%;
}

.card-item .wp-block-button__link {
    border: 2px solid #007A5A !important;
    background: transparent !important;
    color: #007A5A !important;
    border-radius: 50px !important;
    padding: 0.75rem 2rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    min-height: 44px !important;
}

.card-item .wp-block-button__link:hover {
    background: #007A5A !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,122,90,0.25);
}

.card-item .wp-block-button__link:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 4px !important;
}

.card-item.has-blue-button .wp-block-button__link {
    border-color: #003D7A !important;
    color: #003D7A !important;
}

.card-item.has-blue-button .wp-block-button__link:hover {
    background: #003D7A !important;
    color: #fff !important;
    box-shadow: 0 4px 8px rgba(0,61,122,0.25);
}

.card-item.has-blue-button .wp-block-button__link:focus {
    outline-color: #003D7A !important;
}

.card-item.has-orange-button .wp-block-button__link {
    border-color: #C05621 !important;
    color: #C05621 !important;
}

.card-item.has-orange-button .wp-block-button__link:hover {
    background: #C05621 !important;
    color: #fff !important;
    box-shadow: 0 4px 8px rgba(192,86,33,0.25);
}

.card-item.has-orange-button .wp-block-button__link:focus {
    outline-color: #C05621 !important;
}


/* ========================================
   9. DIVISORI SEZIONE E SOTTOSEZIONE
   ======================================== */

.section-title {
    font-family: var(--font-heading) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 3rem 0 1.5rem 0 !important;
    padding: 0 0 0 1rem !important;
    border-left: 4px solid #00A86F !important;
    border-bottom: none !important;
    display: block !important;
    line-height: 1.3 !important;
}

.subsection-title {
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 2rem 0 1rem 0 !important;
    padding: 0 0 0 1rem !important;
    border-left: 3px solid #00A86F !important;
    line-height: 1.3 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .section-title {
        font-size: 1.3rem !important;
        margin: 2rem 0 1rem 0 !important;
    }
    
    .subsection-title {
        font-size: 1.1rem !important;
    }
}


/* ========================================
   10. AVVISI ED EVENTI - LATEST POSTS
   ======================================== */

.wp-block-latest-posts {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-latest-posts li {
    background: transparent !important;
    border: none !important;
    padding: 1.5rem 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    transition: none !important;
}

.wp-block-latest-posts li:last-child {
    border-bottom: none !important;
}

.wp-block-latest-posts li:hover {
    background: transparent !important;
    border: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Data */
.wp-block-latest-posts__post-date {
    display: flex !important;
    align-items: center !important;
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: #999 !important;
    margin: 0 0 0.75rem 0 !important;
    font-weight: 400 !important;
}

.wp-block-latest-posts__post-date::before {
    content: "📅";
    margin-right: 8px;
    font-size: 1.1em;
}

/* Titolo */
.wp-block-latest-posts__post-title {
    font-family: var(--font-heading) !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.4 !important;
}

.wp-block-latest-posts__post-title a {
    color: #00A86F !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
}

.wp-block-latest-posts__post-title a:hover {
    color: #007A5A !important;
    text-decoration: underline !important;
}

.wp-block-latest-posts__post-title a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Categorie/Tag */
.wp-block-latest-posts__post-author,
.wp-block-latest-posts__post-categories {
    display: flex !important;
    align-items: center !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: #999 !important;
    margin: 0 !important;
}

.wp-block-latest-posts__post-author::before,
.wp-block-latest-posts__post-categories::before {
    content: "🏷️";
    margin-right: 6px;
    font-size: 1em;
}

/* Excerpt - se presente */
.wp-block-latest-posts__post-excerpt {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin: 0.75rem 0 0 0 !important;
}

/* Featured image - se presente */
.wp-block-latest-posts__featured-image {
    margin: 0 0 1rem 0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

.wp-block-latest-posts__featured-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Grid layout */
.wp-block-latest-posts.is-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 2rem !important;
}

.wp-block-latest-posts.is-grid li {
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 1.5rem !important;
}

/* Stato vuoto */
.wp-block-latest-posts:empty::after {
    content: "Nessun avviso disponibile al momento" !important;
    display: block !important;
    padding: 2rem !important;
    text-align: center !important;
    color: #999 !important;
    font-style: italic !important;
    font-family: var(--font-body) !important;
}


/* ========================================
   11. QUERY LOOP - LAYOUT VERTICALE MINIMALISTA
   ======================================== */

/* Query Loop container */
.wp-block-query {
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-query ul,
.wp-block-query .wp-block-post-template {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Ogni post item - layout verticale minimalista */
.wp-block-query .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 1.5rem 0 !important;
    margin: 0 !important;
    position: relative !important;
    transition: none !important;
}

.wp-block-query .wp-block-post:last-child {
    border-bottom: none !important;
}

.wp-block-query .wp-block-post:hover {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    transform: none !important;
    box-shadow: none !important;
}

.wp-block-query .wp-block-post:last-child:hover {
    border-bottom: none !important;
}

/* Focus states per accessibilità */
.wp-block-query .wp-block-post:focus-within {
    outline: none !important;
}

.wp-block-query .wp-block-post-title a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Badge "NUOVO" per post recenti */
.wp-block-query .wp-block-post.is-recent::after {
    content: "NUOVO" !important;
    position: absolute !important;
    top: 1.5rem !important;
    right: 0 !important;
    background: #00A86F !important;
    color: white !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    padding: 0.25rem 0.6rem !important;
    border-radius: 12px !important;
    letter-spacing: 0.5px !important;
    font-family: var(--font-heading) !important;
}

/* Data - prima riga con icona */
.wp-block-query .wp-block-post-date {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
    color: #999 !important;
    font-weight: 400 !important;
    font-family: var(--font-body) !important;
}

/* Icona calendario */
.wp-block-query .wp-block-post-date::before {
    content: "📅";
    margin-right: 8px;
    font-size: 1.1em;
}

/* Titolo - seconda riga */
.wp-block-query .wp-block-post-title {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    font-family: var(--font-heading) !important;
}

.wp-block-query .wp-block-post-title a {
    color: #00A86F !important;
    text-decoration: none !important;
    font-family: var(--font-heading) !important;
    display: inline-block !important;
    transition: color 0.2s ease !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
}

.wp-block-query .wp-block-post-title a:hover {
    color: #007A5A !important;
    text-decoration: underline !important;
}

/* Categoria/tag - terza riga con icona */
.wp-block-query .wp-block-post-categories {
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: #999 !important;
    font-family: var(--font-body) !important;
}

.wp-block-query .wp-block-post-categories::before {
    content: "🏷️";
    font-size: 1em;
}

.wp-block-query .wp-block-post-categories a {
    color: #999 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s ease !important;
    font-family: var(--font-body) !important;
}

.wp-block-query .wp-block-post-categories a:hover {
    color: #00A86F !important;
}

.wp-block-query .wp-block-post-categories a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 2px !important;
}

/* Nascondi altri elementi se presenti */
.wp-block-query .wp-block-post-excerpt,
.wp-block-query .wp-block-post-author {
    display: none !important;
}

/* Stato vuoto - nessun post */
.wp-block-query:empty::after,
.wp-block-query .wp-block-post-template:empty::after {
    content: "📭 Nessun avviso disponibile al momento" !important;
    display: block !important;
    padding: 3rem 2rem !important;
    text-align: center !important;
    color: #999 !important;
    font-style: italic !important;
    background: transparent !important;
    border: 2px dashed #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-family: var(--font-body) !important;
}

/* Loading skeleton placeholder */
@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

.wp-block-query.is-loading .wp-block-post {
    background: linear-gradient(
        90deg,
        #f9f9f9 25%,
        #f0f0f0 50%,
        #f9f9f9 75%
    ) !important;
    background-size: 1000px 100% !important;
    animation: shimmer 2s infinite !important;
    pointer-events: none !important;
}

.wp-block-query.is-loading .wp-block-post * {
    opacity: 0 !important;
}

/* Mobile - mantieni layout verticale */
@media (max-width: 640px) {
    .wp-block-query .wp-block-post {
        padding: 1.25rem 0 !important;
        gap: 0.5rem !important;
    }
    
    .wp-block-query .wp-block-post-date {
        font-size: 0.85rem !important;
    }
    
    .wp-block-query .wp-block-post-title {
        font-size: 1rem !important;
    }
    
    .wp-block-query .wp-block-post-title a {
        min-height: 44px !important;
    }
    
    .wp-block-query .wp-block-post-categories {
        font-size: 0.8rem !important;
    }
    
    /* Badge NUOVO su mobile */
    .wp-block-query .wp-block-post.is-recent::after {
        top: 1.25rem !important;
        font-size: 0.6rem !important;
        padding: 0.2rem 0.5rem !important;
    }
}


/* ========================================
   12. UTILITY CLASSES
   ======================================== */

.card-grid--equal-height .card-item {
    height: 100% !important;
}

.card-item--compact .card-item__body {
    padding: 1rem !important;
}

.card-item__text--small {
    font-size: 0.9rem !important;
}


/* ========================================
   13. RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
    .card-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
        max-width: 1000px !important;
    }
}

@media (max-width: 768px) {
    /* Fix CTA overlay su mobile - rimuove sovrapposizione hero */
    .hero-cta-overlay {
        margin-top: 2rem !important;
        max-width: 100% !important;
        padding: 0 1rem !important;
    }
    
    .hero-cta-overlay .wp-block-column {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
    
    .card-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
        padding: 0 1rem !important;
    }
    
    .card-item {
        min-width: auto !important;
    }
    
    .card-item__body {
        padding: 1.25rem !important;
    }
    
    .card-nav-links,
    .card-nav-links--1col,
    .card-nav-links--2col,
    .card-nav-links--3col {
        grid-template-columns: 1fr !important;
        gap: 0.5rem !important;
    }
    
    .card-nav-links a {
        white-space: normal !important;
        font-size: 1rem !important;
        padding: 0.75rem 0.5rem !important;
    }
    
    .card-nav-links--3col a {
        font-size: 1rem !important;
    }
    
    #header-left-section {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 6px 10px !important;
        flex-wrap: nowrap !important;
    }
    
    #header-logo-tor-vergata {
        flex-shrink: 0;
        padding-right: 8px !important;
    }
    
    #header-logo-tor-vergata img {
        height: 40px !important;
    }
    
    #header-logo-tor-vergata::after {
        height: 35px !important;
        right: -5px !important;
    }
    
    #header-logo-image {
        flex-shrink: 0;
    }
    
    #header-logo-image img {
        height: 35px !important;
    }
    
    #header-text {
        flex-grow: 1;
        min-width: 0;
    }
    
    #site-title {
        font-size: 16px !important;
        margin: 0 !important;
        line-height: 1.1 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    #site-description {
        font-size: 11px !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .section-title {
        font-size: 1.5rem;
        margin: 2rem 0 1rem 0;
    }
    
    .subsection-title {
        font-size: 1.1rem;
    }
    
    /* Accessibilità mobile - font minimo */
    .wp-block-post-date {
        font-size: 0.95rem !important;
    }
    
    .aula,
    .docente {
        font-size: 0.9rem !important;
    }
    
    .wp-block-latest-posts__post-date {
        font-size: 0.9rem !important;
    }
}


/* ========================================
   14. QUERY LOOP PRIMO PIANO - INDENTAZIONE
   ======================================== */

/* Indentazione per Query Loop con classe custom */
.wp-block-query.query-primo-piano .wp-block-post {
    margin: 0 2rem 0 1em !important;
}

/* Rimuovi indentazione per Query Loop negli accordion */
.kt-accordion-panel-inner .wp-block-query .wp-block-post,
.wp-block-details .wp-block-query .wp-block-post,
.accordion-content .wp-block-query .wp-block-post {
    margin: 0 !important;
}

/* Mobile - rimuovi indentazione */
@media (max-width: 640px) {
    .wp-block-query.query-primo-piano .wp-block-post {
        margin: 0 !important;
    }
}


/* ========================================
   15. ICONE LUCIDE
   ======================================== */

/* Rimuovere bullet points */
.laurea-triennale ul,
.laurea-magistrale ul {
    list-style: none !important;
    padding-left: 0 !important;
}

/* Icone - dimensioni e spaziatura */
[data-lucide] {
    width: 28px !important;
    height: 28px !important;
    margin-right: 12px !important;
    vertical-align: middle !important;
    stroke-width: 2 !important;
    flex-shrink: 0 !important;
}

/* Layout link migliorato */
.laurea-triennale li,
.laurea-magistrale li {
    margin-bottom: 8px !important;
}

.laurea-triennale a,
.laurea-magistrale a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 0 !important;
    font-size: 16px !important;
    transition: all 0.2s ease !important;
    min-height: 44px !important;
}

/* Colori icone per le card */
.laurea-triennale [data-lucide] {
    color: #009639 !important;
}

.laurea-magistrale [data-lucide] {
    color: #0047AB !important;
}

/* Effetto hover */
.laurea-triennale a:hover [data-lucide],
.laurea-magistrale a:hover [data-lucide] {
    transform: translateX(4px) !important;
    transition: transform 0.2s ease !important;
}

.laurea-triennale a:focus,
.laurea-magistrale a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Mobile - icone leggermente più piccole */
@media (max-width: 768px) {
    [data-lucide] {
        width: 24px !important;
        height: 24px !important;
        margin-right: 10px !important;
    }
}


/* ========================================
   16. ACCORDION - FIX OVERFLOW QUERY LOOP
   ======================================== */

/* Accordion container (Kadence/Gutenberg) */
.kt-accordion-panel-inner .wp-block-query,
.wp-block-details .wp-block-query,
.accordion-content .wp-block-query {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Post items dentro accordion - no overflow */
.kt-accordion-panel-inner .wp-block-query .wp-block-post,
.wp-block-details .wp-block-query .wp-block-post,
.accordion-content .wp-block-query .wp-block-post {
    margin: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Template container dentro accordion */
.kt-accordion-panel-inner .wp-block-post-template,
.wp-block-details .wp-block-post-template,
.accordion-content .wp-block-post-template {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Riduci padding per accordion compatti */
.kt-accordion-panel-inner .wp-block-query .wp-block-post,
.wp-block-details .wp-block-query .wp-block-post {
    padding: 0.6rem 0.8rem !important;
}

/* Titolo più compatto negli accordion */
.kt-accordion-panel-inner .wp-block-query .wp-block-post-title,
.wp-block-details .wp-block-query .wp-block-post-title {
    font-size: 0.95rem !important;
}

/* Data più compatta negli accordion */
.kt-accordion-panel-inner .wp-block-query .wp-block-post-date,
.wp-block-details .wp-block-query .wp-block-post-date {
    min-width: 100px !important;
    font-size: 0.9rem !important;
}

/* Fix specifico per Kadence Accordion */
.kt-accordion-panel {
    overflow: hidden !important;
}

.kt-accordion-panel-inner {
    padding: 1rem !important;
    overflow: hidden !important;
}

.kt-blocks-accordion-pane {
    overflow: hidden !important;
}

/* Focus su accordion header */
.kt-blocks-accordion-header:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 2px !important;
}


/* ========================================
   17. PREFAZIONE PAGINE - INFO BOX
   ======================================== */

.page-intro-box {
    background: #f9f9f9 !important;
    padding: 1.5rem 2rem !important;
    border-left: 4px solid #007A5A !important;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    border-radius: 4px !important;
}

.page-intro-box p {
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
}

.page-intro-box strong {
    color: #007A5A !important;
}

@media (max-width: 768px) {
    .page-intro-box {
        padding: 1rem 1.25rem !important;
        font-size: 0.95rem !important;
        margin-top: 1.5rem !important;
    }
}


/* ========================================
   18. CARD CONTATTI KADENCE - EQUAL HEIGHT
   ======================================== */

/* Container Kadence Row - margini laterali */
.wp-block-kadence-rowlayout {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    max-width: 1400px !important;
    margin: 2rem auto !important;
}

/* Colonne Kadence - equal height */
.wp-block-kadence-rowlayout .wp-block-kadence-column {
    display: flex !important;
    flex-direction: column !important;
}

.wp-block-kadence-rowlayout .wp-block-kadence-column .kt-inside-inner-col {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    height: 100% !important;
}

/* Card CONTATTI (dentro Kadence Row) - equal height */
.wp-block-kadence-rowlayout .card-item {
    height: 100% !important;
    min-height: 420px !important;
}

.wp-block-kadence-rowlayout .card-item__body {
    flex-grow: 1 !important;
    text-align: left !important;
}

/* Testo allineato a sinistra - NO giustificato */
.wp-block-kadence-rowlayout .card-item__body p,
.wp-block-kadence-rowlayout .card-item__body div {
    text-align: left !important;
}

/* Allineamento icone nei paragrafi delle card contatti */
.wp-block-kadence-rowlayout .card-item__body p {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    line-height: 1.6 !important;
    margin: 0.5rem 0 !important;
}

.wp-block-kadence-rowlayout .card-item__body p [data-lucide] {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

/* Link nelle card contatti */
.wp-block-kadence-rowlayout .card-item__body a {
    color: #007A5A !important;
    text-decoration: none !important;
    word-break: break-word !important;
    transition: all 0.2s ease !important;
}

.wp-block-kadence-rowlayout .card-item__body a:hover {
    text-decoration: underline !important;
    color: #00875A !important;
}

.wp-block-kadence-rowlayout .card-item__body a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 2px !important;
}

/* Nascondi colonne Kadence vuote */
.wp-block-kadence-column:empty,
.wp-block-kadence-column .kt-inside-inner-col:empty {
    display: none !important;
}

/* Mobile - rimuovi min-height */
@media (max-width: 768px) {
    .wp-block-kadence-rowlayout {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        margin: 1.5rem auto !important;
    }
    
    .wp-block-kadence-rowlayout .card-item {
        min-height: auto !important;
    }
    
    .wp-block-kadence-rowlayout .card-item__body p {
        font-size: 0.9rem !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
    
    .wp-block-kadence-rowlayout .card-item__body [data-lucide] {
        margin-top: 0 !important;
    }
}


/* ========================================
   19. ORARIO LEZIONI - TABELLE RESPONSIVE
   ======================================== */

/* Container principale orario - usa alignwide */
.orario-wrapper.alignfull {
    max-width: 1300px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.orario-wrapper {
    max-width: 1300px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Header orario */
.orario-header {
    text-align: center !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem !important;
    border-bottom: 3px solid #007A5A !important;
}

.orario-header h1 {
    font-family: var(--font-heading) !important;
    font-size: 2rem !important;
    color: #2c5234 !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.orario-header .periodo {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;
    color: #666 !important;
    font-weight: 500 !important;
}

/* Sezione anno */
.orario-anno {
    margin-bottom: 3rem !important;
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    padding: 1.5rem 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.orario-anno:last-child {
    margin-bottom: 1rem !important;
}

.anno-header {
    margin-bottom: 1.5rem !important;
    padding: 0 1.5rem !important;
}

.anno-header h2 {
    font-family: var(--font-heading) !important;
    font-size: 1.5rem !important;
    color: #2c5234 !important;
    margin-bottom: 0.5rem !important;
    font-weight: 700 !important;
}

.aula-default {
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: #666 !important;
    font-style: italic !important;
}

/* Caption accessibile per screen reader */
.orario-table caption {
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #2c5234 !important;
    padding: 1rem !important;
    text-align: left !important;
    caption-side: top !important;
}

.orario-table caption.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

/* ===================================
   MOBILE LAYOUT (< 768px)
   Layout a card per ogni lezione
   =================================== */

@media (max-width: 767px) {
    .orario-wrapper {
        padding: 1rem !important;
    }

    .orario-header h1 {
        font-size: 1.5rem !important;
    }

    .orario-header .periodo {
        font-size: 1rem !important;
    }

    .orario-anno {
        padding: 1rem !important;
        margin-bottom: 2rem !important;
    }

    .anno-header h2 {
        font-size: 1.3rem !important;
    }

    /* Nascondi struttura tabella tradizionale */
    .orario-table {
        display: block !important;
        overflow: visible !important;
    }

    .orario-table thead {
        display: none !important;
    }

    .orario-table tbody {
        display: block !important;
    }

    .orario-table tr {
        display: block !important;
        margin-bottom: 1.5rem !important;
        background: white !important;
        border-radius: 6px !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
        padding: 1rem !important;
        border-left: 4px solid #007A5A !important;
    }

    .orario-table td {
        display: block !important;
        border: none !important;
        padding: 0.5rem 0 !important;
    }

    /* Orario - evidenziato */
    .col-ora {
        font-family: var(--font-heading) !important;
        font-size: 1.1rem !important;
        font-weight: bold !important;
        color: #2c5234 !important;
        margin-bottom: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        border-bottom: 2px solid #e0e0e0 !important;
    }

    .col-ora::before {
        content: "🕐 ";
        margin-right: 8px !important;
    }

    /* Celle vuote - nascoste */
    .empty {
        display: none !important;
    }

    /* Celle con lezione - card style */
    .lezione-cell {
        border-left: 3px solid #007A5A !important;
        padding: 1rem !important;
        margin-bottom: 1rem !important;
        background: #f0f9f4 !important;
        border-radius: 4px !important;
    }

    .lezione-cell:last-child {
        margin-bottom: 0 !important;
    }

    /* Badge giorno della settimana */
    .lezione-cell::before {
        content: attr(data-giorno) !important;
        display: inline-block !important;
        text-transform: uppercase !important;
        font-family: var(--font-heading) !important;
        font-weight: 700 !important;
        font-size: 0.75rem !important;
        color: white !important;
        background: #007A5A !important;
        padding: 0.25rem 0.75rem !important;
        border-radius: 12px !important;
        margin-bottom: 0.5rem !important;
        letter-spacing: 0.5px !important;
    }

    /* Nome corso */
    .corso-nome {
        display: block !important;
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        font-size: 1rem !important;
        margin-bottom: 0.5rem !important;
        color: #007A5A !important;
        text-decoration: none !important;
        line-height: 1.4 !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }

    .corso-nome:hover {
        color: #00875A !important;
        text-decoration: underline !important;
    }

    .corso-nome:focus {
        outline: 3px solid #007A5A !important;
        outline-offset: 3px !important;
    }

    /* Docente e aula */
    .docente,
    .aula {
        display: block !important;
        font-family: var(--font-body) !important;
        font-size: 0.9rem !important;
        color: #333 !important;
        margin-top: 0.25rem !important;
        line-height: 1.4 !important;
    }

    .docente::before {
        content: "👤 ";
        margin-right: 6px !important;
    }

    .aula::before {
        content: "📍 ";
        margin-right: 6px !important;
    }
}

/* ===================================
   TABLET & DESKTOP (>= 768px)
   Tabella tradizionale
   =================================== */

@media (min-width: 768px) {
    .orario-wrapper {
        padding: 0 !important;
    }

    .orario-header h1 {
        font-size: 2rem !important;
    }

    .orario-header .periodo {
        font-size: 1.1rem !important;
    }

    .anno-header h2 {
        font-size: 1.5rem !important;
    }

    /* Tabella */
    .orario-table {
        width: 100% !important;
        min-width: 100% !important;
        border-collapse: collapse !important;
        background: white !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        table-layout: fixed !important;
    }

    /* Header tabella */
    .orario-table thead {
        background: #2c5234 !important;
        color: white !important;
    }

    .orario-table th {
        padding: 1rem !important;
        text-align: center !important;
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        font-size: 0.95rem !important;
        border-right: 1px solid rgba(255,255,255,0.2) !important;
    }

    .orario-table th:last-child {
        border-right: none !important;
    }

    /* Colonna orario */
    .col-ora {
        width: 80px !important;
        background: #3d6d46 !important;
        color: white !important;
        font-family: var(--font-heading) !important;
        font-weight: bold !important;
        text-align: center !important;
        font-size: 0.95rem !important;
    }

    /* Righe alternate - bianche e grigie */
    .orario-table tbody tr:nth-child(odd) {
        background-color: #ffffff !important;
    }

    .orario-table tbody tr:nth-child(even) {
        background-color: #f0f0f0 !important;
    }

    /* Celle */
    .orario-table td {
        padding: 1rem !important;
        border: 1px solid #ddd !important;
        vertical-align: top !important;
        transition: background-color 0.2s ease !important;
    }

    /* Hover su riga */
    .orario-table tbody tr:hover td {
        background-color: #fffbec !important;
    }

    /* Celle vuote */
    .empty {
        background-color: #fafafa !important;
        text-align: center !important;
        color: #ccc !important;
    }

    /* Celle con lezione */
    .lezione-cell {
        position: relative !important;
    }

    .lezione-cell:hover {
        background-color: #f0f9f4 !important;
        cursor: pointer !important;
    }

    /* Nome corso */
    .corso-nome {
        display: block !important;
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        font-size: 0.95rem !important;
        color: #007A5A !important;
        text-decoration: none !important;
        margin-bottom: 0.5rem !important;
        line-height: 1.4 !important;
    }

    .corso-nome:hover {
        color: #00875A !important;
        text-decoration: underline !important;
    }

    .corso-nome:focus {
        outline: 3px solid #007A5A !important;
        outline-offset: 3px !important;
    }

    /* Docente e aula */
    .docente,
    .aula {
        display: block !important;
        font-family: var(--font-body) !important;
        font-size: 0.85rem !important;
        color: #333 !important;
        margin-top: 0.25rem !important;
        line-height: 1.3 !important;
    }

    .docente::before {
        content: "👤 ";
        opacity: 0.7 !important;
        margin-right: 4px !important;
    }

    .aula::before {
        content: "📍 ";
        opacity: 0.7 !important;
        margin-right: 4px !important;
    }
}

/* ===================================
   LARGE DESKTOP (>= 1200px)
   =================================== */

@media (min-width: 1200px) {
    .orario-wrapper {
        max-width: 1300px !important;
    }

    .orario-table td {
        padding: 1.25rem !important;
    }

    .corso-nome {
        font-size: 1rem !important;
    }

    .docente,
    .aula {
        font-size: 0.9rem !important;
    }
}

/* ===================================
   PRINT STYLES
   =================================== */

@media print {
    .orario-wrapper {
        max-width: 100% !important;
        padding: 0 !important;
    }

    .orario-anno {
        page-break-inside: avoid !important;
        margin-bottom: 2rem !important;
        box-shadow: none !important;
        background: white !important;
    }

    .orario-table {
        box-shadow: none !important;
    }

    .orario-table tbody tr:hover td {
        background-color: inherit !important;
    }

    .corso-nome {
        color: #000 !important;
        text-decoration: none !important;
    }

    .lezione-cell {
        background: inherit !important;
    }

    .docente::before,
    .aula::before {
        content: "" !important;
    }
}

/* ===================================
   INTEGRAZIONE CON WORDPRESS
   =================================== */

/* Rimuovi padding entry-content se presente */
.entry-content .orario-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Supporto alignwide tema Accelerate */
.entry-content .orario-wrapper.alignwide {
    max-width: 1300px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Margini consistenti con altre sezioni */
.orario-wrapper + .section-title,
.orario-wrapper + .subsection-title {
    margin-top: 3rem !important;
}

/* ========================================
   20. PAGE LIST - RESET COMPLETO HOVER
   ======================================== */

/* Container principale */
.wp-block-page-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 2rem 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* ===================================
   PRIMO LIVELLO
   =================================== */

/* Container genitore - RESET COMPLETO */
.wp-block-page-list > .wp-block-pages-list__item {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    pointer-events: none !important;
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* RESET HOVER sul container genitore */
.wp-block-page-list > .wp-block-pages-list__item:hover {
    background: transparent !important;
    border: none !important;
    transform: none !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Link primo livello - UNICO ELEMENTO INTERATTIVO */
.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link {
    font-family: var(--font-heading) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #333 !important;
    text-decoration: none !important;
    display: block !important;
    padding: 1rem 1.5rem !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-left: 4px solid #007A5A !important;
    border-radius: 4px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: auto !important;
    min-height: 44px !important;
}

/* Hover SOLO sul link genitore */
.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link:hover {
    border-left-width: 6px !important;
    box-shadow: 0 2px 8px rgba(0,122,90,0.15) !important;
    transform: translateX(2px) !important;
    background: #fafafa !important;
    color: #333 !important;
}

.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 4px !important;
}

/* Freccia */
.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link::before {
    content: "\25B8";
    margin-right: 10px;
    color: #007A5A;
    font-weight: bold;
    transition: transform 0.2s ease;
}

.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link:hover::before {
    transform: translateX(3px);
}

/* ===================================
   SECONDO LIVELLO
   =================================== */

/* Container sottopagine */
.wp-block-page-list .wp-block-pages-list__item .wp-block-page-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0.75rem 0 0 0 !important;
    gap: 0.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    pointer-events: auto !important;
}

/* Item figlio - RESET COMPLETO */
.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item {
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 0 1.5rem !important;
    pointer-events: none !important;
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* RESET HOVER sul container figlio */
.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item:hover {
    background: transparent !important;
    border: none !important;
    transform: none !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Link figlio - UNICO ELEMENTO INTERATTIVO */
.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item__link {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    color: #555 !important;
    text-decoration: none !important;
    display: block !important;
    padding: 0.75rem 1.25rem !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-left: 4px solid #007A5A !important;
    border-radius: 4px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: auto !important;
    min-height: 44px !important;
}

/* Hover SOLO sul link figlio */
.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item__link:hover {
    border-left-width: 6px !important;
    box-shadow: 0 2px 6px rgba(0,122,90,0.1) !important;
    transform: translateX(2px) !important;
    color: #007A5A !important;
    background: #fafafa !important;
}

.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item__link:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 4px !important;
}

/* Bullet */
.wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item__link::before {
    content: "\2022";
    margin-right: 8px;
    color: #007A5A;
    font-weight: normal;
    font-size: 1.2em;
}

/* ===================================
   OVERRIDE GLOBALI - Sicurezza extra
   =================================== */

/* Rimuovi TUTTI gli stili hover dai li */
.wp-block-page-list li:hover {
    background: transparent !important;
    border: none !important;
    transform: none !important;
    box-shadow: none !important;
}

.wp-block-pages-list__item:hover {
    background: transparent !important;
    border: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* ===================================
   RESPONSIVE
   =================================== */

@media (max-width: 768px) {
    .wp-block-page-list {
        gap: 0.5rem !important;
    }
    
    .wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link {
        padding: 0.75rem 1rem !important;
        font-size: 1rem !important;
    }
    
    .wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item {
        margin-left: 0.75rem !important;
    }
    
    .wp-block-page-list .wp-block-pages-list__item .wp-block-pages-list__item__link {
        padding: 0.75rem 1rem !important;
        font-size: 0.95rem !important;
    }
}

/* ===================================
   FALLBACK - Rimuovi bullet nativi
   =================================== */

.wp-block-page-list ul,
.wp-block-page-list li {
    list-style: none !important;
    list-style-type: none !important;
}

/* ========================================
   21. TABELLA DOCENTI - RESPONSIVE
   ======================================== */

/* Container principale */
.docenti-wrapper {
    max-width: 1400px !important;
    width: 100% !important;
    margin: 2rem auto !important;
    padding: 0 1rem !important;
}

/* Caption accessibile per screen reader */
.docenti-table caption {
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #2c5234 !important;
    padding: 1rem !important;
    text-align: left !important;
    caption-side: top !important;
}

.docenti-table caption.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

/* ===================================
   MOBILE LAYOUT (< 1024px)
   Layout a card per ogni docente
   =================================== */

@media (max-width: 1023px) {
    .docenti-wrapper {
        padding: 1rem !important;
    }

    /* Nascondi struttura tabella tradizionale */
    .docenti-table {
        display: block !important;
        overflow: visible !important;
    }

    .docenti-table thead {
        display: none !important;
    }

    .docenti-table tbody {
        display: block !important;
    }

    .docenti-table tr {
        display: block !important;
        margin-bottom: 1.5rem !important;
        background: white !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
        padding: 1.5rem !important;
        border-left: 4px solid #007A5A !important;
        transition: all 0.25s ease !important;
    }

    .docenti-table tr:hover {
        box-shadow: 0 4px 12px rgba(0,122,90,0.15) !important;
        transform: translateY(-2px) !important;
    }

    .docenti-table td {
        display: block !important;
        border: none !important;
        padding: 0.5rem 0 !important;
        text-align: left !important;
    }

    /* Nome docente - evidenziato */
    .docenti-table td[data-label="Nome"] {
        font-family: var(--font-heading) !important;
        font-size: 1.3rem !important;
        font-weight: 700 !important;
        color: #2c5234 !important;
        margin-bottom: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        border-bottom: 2px solid #e0e0e0 !important;
    }

    /* Label prima del contenuto su mobile */
    .docenti-table td::before {
        content: attr(data-label) ": ";
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        color: #666 !important;
        display: inline-block !important;
        min-width: 100px !important;
        margin-right: 8px !important;
    }

    .docenti-table td[data-label="Nome"]::before {
        display: none !important;
    }

    /* Link e testo */
    .docenti-table td {
        font-family: var(--font-body) !important;
        font-size: 1rem !important;
        color: #555 !important;
        line-height: 1.6 !important;
    }

    .docenti-table td a {
        color: #007A5A !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .docenti-table td a:hover {
        color: #00875A !important;
        text-decoration: underline !important;
    }

    .docenti-table td a:focus {
        outline: 3px solid #007A5A !important;
        outline-offset: 3px !important;
    }
}

/* ===================================
   DESKTOP LAYOUT (>= 1024px)
   Tabella tradizionale scrollabile
   =================================== */

@media (min-width: 1024px) {
    .docenti-wrapper {
        padding: 0 1.5rem !important;
        overflow-x: auto !important;
    }

    /* Tabella */
    .docenti-table {
        width: 100% !important;
        min-width: 1200px !important;
        border-collapse: collapse !important;
        background: white !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    /* Header tabella */
    .docenti-table thead {
        background: #2c5234 !important;
        color: white !important;
    }

    .docenti-table th {
        padding: 1rem 0.75rem !important;
        text-align: left !important;
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        font-size: 0.9rem !important;
        border-right: 1px solid rgba(255,255,255,0.2) !important;
        white-space: nowrap !important;
    }

    .docenti-table th:last-child {
        border-right: none !important;
    }

    /* Larghezze colonne */
    .docenti-table th:nth-child(1) { width: 180px !important; }
    .docenti-table th:nth-child(2) { width: 110px !important; }
    .docenti-table th:nth-child(3) { width: 80px !important; }
    .docenti-table th:nth-child(4) { width: 130px !important; }
    .docenti-table th:nth-child(5) { width: 80px !important; }
    .docenti-table th:nth-child(6) { width: 90px !important; }
    .docenti-table th:nth-child(7) { width: 90px !important; }
    .docenti-table th:nth-child(8) { min-width: 250px !important; }

    /* Righe alternate - bianche e grigie */
    .docenti-table tbody tr:nth-child(odd) {
        background-color: #ffffff !important;
    }

    .docenti-table tbody tr:nth-child(even) {
        background-color: #f0f0f0 !important;
    }

    /* Celle */
    .docenti-table td {
        padding: 1rem 0.75rem !important;
        border: 1px solid #ddd !important;
        vertical-align: top !important;
        font-family: var(--font-body) !important;
        font-size: 0.9rem !important;
        color: #333 !important;
        line-height: 1.5 !important;
    }

    /* Hover su riga */
    .docenti-table tbody tr {
        transition: background-color 0.2s ease !important;
    }

    .docenti-table tbody tr:hover td {
        background-color: #fffbec !important;
    }

    /* Nome docente - bold */
    .docenti-table td:first-child {
        font-family: var(--font-heading) !important;
        font-weight: 600 !important;
        color: #2c5234 !important;
        font-size: 1rem !important;
    }

    /* Link */
    .docenti-table td a {
        color: #007A5A !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
        word-break: break-word !important;
    }

    .docenti-table td a:hover {
        color: #00875A !important;
        text-decoration: underline !important;
    }

    .docenti-table td a:focus {
        outline: 3px solid #007A5A !important;
        outline-offset: 2px !important;
    }

    /* Colonne con icone/link centrate */
    .docenti-table td:nth-child(5),
    .docenti-table td:nth-child(6),
    .docenti-table td:nth-child(7) {
        text-align: center !important;
    }

    /* Stile per celle vuote */
    .docenti-table td:empty::after {
        content: "-";
        color: #ccc !important;
    }

    /* Insegnamenti - possono essere multipli */
    .docenti-table td:last-child {
        line-height: 1.8 !important;
    }

    .docenti-table td:last-child a {
        display: inline-block !important;
        margin-right: 4px !important;
    }

    .docenti-table td:last-child a::after {
        content: ",";
        color: #999 !important;
        margin-right: 4px !important;
    }

    .docenti-table td:last-child a:last-child::after {
        content: "" !important;
    }
}

/* ===================================
   ICONE EMAIL/HOMEPAGE/CV
   =================================== */

/* Badge per email/homepage/cv su mobile */
@media (max-width: 1023px) {
    .docenti-table td[data-label="Email"] a::before,
    .docenti-table td[data-label="Homepage"] a::before,
    .docenti-table td[data-label="Curriculum"] a::before {
        font-size: 1.2em !important;
        margin-right: 6px !important;
    }

    .docenti-table td[data-label="Email"] a::before {
        content: "\2709";
    }

    .docenti-table td[data-label="Homepage"] a::before {
        content: "\1F310";
    }

    .docenti-table td[data-label="Curriculum"] a::before {
        content: "\1F4C4";
    }
}

/* Icone su desktop - usa emoji o Lucide se preferisci */
@media (min-width: 1024px) {
    /* Se usi icone img dal vecchio sistema */
    .docenti-table td img {
        width: 20px !important;
        height: 20px !important;
        vertical-align: middle !important;
        opacity: 0.7 !important;
        transition: opacity 0.2s ease !important;
    }

    .docenti-table td a:hover img {
        opacity: 1 !important;
    }

    /* Oppure usa emoji */
    .docenti-table td[data-icon="email"] a::before {
        content: "\2709 ";
        color: #666 !important;
    }

    .docenti-table td[data-icon="homepage"] a::before {
        content: "\1F310 ";
        color: #666 !important;
    }

    .docenti-table td[data-icon="cv"] a::before {
        content: "\1F4C4 ";
        color: #666 !important;
    }
}

/* ===================================
   QUALIFICA - Badge colorati WCAG AA
   =================================== */

.qualifica-badge {
    display: inline-block !important;
    padding: 0.3rem 0.75rem !important;
    border-radius: 12px !important;
    font-family: var(--font-heading) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Ordinario - Verde con contrasto 7.2:1 */
.qualifica-ordinario {
    background: #e8f5e9 !important;
    color: #1b5e20 !important;
}

/* Associato - Blu con contrasto 7.4:1 */
.qualifica-associato {
    background: #e3f2fd !important;
    color: #0d47a1 !important;
}

/* Ricercatore - Arancione con contrasto 5.8:1 */
.qualifica-ricercatore {
    background: #fff3e0 !important;
    color: #d84315 !important;
}

/* Esterno - Viola con contrasto 8.1:1 */
.qualifica-esterno {
    background: #f3e5f5 !important;
    color: #4a148c !important;
}

/* ===================================
   PRINT STYLES
   =================================== */

@media print {
    .docenti-wrapper {
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .docenti-table {
        box-shadow: none !important;
        min-width: auto !important;
        font-size: 0.8rem !important;
    }

    .docenti-table tbody tr:hover td {
        background-color: inherit !important;
    }

    .docenti-table td a {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* Mostra URL dopo i link su stampa */
    .docenti-table td a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.7em !important;
        color: #666 !important;
    }
}

/* ===================================
   ACCESSIBILITY
   =================================== */

/* Focus states per navigazione tastiera */
.docenti-table a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 2px !important;
}

/* Screen reader text per badge */
.qualifica-badge .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

/* ===================================
   REDUCED MOTION
   =================================== */

@media (prefers-reduced-motion: reduce) {
    .docenti-table tr,
    .docenti-table td,
    .docenti-table td a {
        transition: none !important;
    }
}

/* ===================================
   SCROLL HINT - Desktop
   =================================== */

@media (min-width: 1024px) {
    /* Ombra per indicare scroll orizzontale */
    .docenti-wrapper::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 30px;
        background: linear-gradient(to left, rgba(0,0,0,0.1), transparent);
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .docenti-wrapper.has-scroll::after {
        opacity: 1;
    }
}

/* ========================================
   22. HEADER PAGINA - Semplice
   ======================================== */

.page-header {
    text-align: center !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem !important;
    border-bottom: 3px solid #007A5A !important;
	  padding-top: 1rem !important;
}

.page-header .page-header__title {
    font-family: var(--font-heading) !important;
    font-size: 2rem !important;
    color: #2c5234 !important;
    margin: 0 0 0.5rem 0 !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.page-header .page-header__subtitle {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;
    color: #666 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header {
        margin-bottom: 1.5rem !important;
        padding-bottom: 1rem !important;
    }
    
    .page-header .page-header__title {
        font-size: 1.5rem !important;
    }
    
    .page-header .page-header__subtitle {
        font-size: 1rem !important;
    }
}


/* ========================================
   23. SCREEN READER ONLY - UTILITY
   ======================================== */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

/* Screen reader only che diventa visibile al focus (utile per skip links) */
.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}


/* ========================================
   24. REDUCED MOTION - ACCESSIBILITÀ
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    /* Elementi specifici */
    .card-item,
    .card-nav-links a,
    .wp-block-query .wp-block-post,
    .wp-block-latest-posts li,
    .wp-block-button__link,
    .orario-table td,
    .docenti-table tr,
    .wp-block-pages-list__item__link,
    .skip-link,
    [data-lucide] {
        transition: none !important;
        animation: none !important;
    }
    
    /* Rimuovi transform su hover */
    .card-item:hover,
    .card-nav-links a:hover,
    .wp-block-query .wp-block-post:hover,
    .wp-block-latest-posts li:hover,
    .wp-block-button__link:hover,
    .wp-block-pages-list__item__link:hover,
    .laurea-triennale a:hover [data-lucide],
    .laurea-magistrale a:hover [data-lucide],
    .docenti-table tr:hover {
        transform: none !important;
    }
    
    /* Shimmer animation */
    .wp-block-query.is-loading .wp-block-post {
        animation: none !important;
        background: #f0f0f0 !important;
    }
}


/* ========================================
   25. FOCUS VISIBLE - MIGLIORAMENTO
   ======================================== */

/* Focus visible solo per navigazione tastiera, non mouse */
:focus:not(:focus-visible) {
    outline: none !important;
}

:focus-visible {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Elementi interattivi specifici */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}


/* ========================================
   26. HIGH CONTRAST MODE - SUPPORTO
   ======================================== */

@media (prefers-contrast: high) {
    /* Aumenta contrasti per utenti che necessitano high contrast */
    .card-nav-links a {
        color: #006644 !important;
        border: 2px solid currentColor !important;
    }
    
    .wp-block-query .wp-block-post {
        border-width: 2px !important;
    }
    
    :focus-visible {
        outline-width: 4px !important;
        outline-offset: 4px !important;
    }
}

/* ========================================
   27. QUERY LOOP PRIMO PIANO - CARD STYLE
   ======================================== */

/* Container principale */
.query-primo-piano {
    max-width: 1400px !important;
    margin: 0 auto 3rem auto !important;
    padding: 0 1rem !important;
}

/* Grid - override Gutenberg se necessario */
.query-primo-piano .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Card container */
.query-primo-piano .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
    background: white !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}

.query-primo-piano .wp-block-post:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(0,122,90,0.15) !important;
}

/* Featured Image */
.query-primo-piano .wp-block-post-featured-image {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 16/9 !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
}

.query-primo-piano .wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.query-primo-piano .wp-block-post:hover .wp-block-post-featured-image img {
    transform: scale(1.05) !important;
}

/* Fallback se featured image manca */
.query-primo-piano .wp-block-post-featured-image:empty::before,
.query-primo-piano .wp-block-post-featured-image:not(:has(img))::before {
    content: "📄" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #007A5A 0%, #00A86F 100%) !important;
    font-size: 3rem !important;
    opacity: 0.5 !important;
}

/* Content wrapper */
.query-primo-piano .wp-block-post > *:not(.wp-block-post-featured-image) {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

/* Titolo */
.query-primo-piano .wp-block-post-title {
    order: 2 !important;
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding-top: 1.25rem !important;
    padding-bottom: 0.5rem !important;
}

.query-primo-piano .wp-block-post-title a {
    color: #2c5234 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.query-primo-piano .wp-block-post-title a:hover {
    color: #007A5A !important;
}

.query-primo-piano .wp-block-post-title a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Data */
.query-primo-piano .wp-block-post-date {
    order: 3 !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: #999 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.query-primo-piano .wp-block-post-date::before {
    content: "📅" !important;
    font-size: 1em !important;
}

/* Excerpt */
.query-primo-piano .wp-block-post-excerpt {
    order: 4 !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #666 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 1.5rem !important;
    flex-grow: 1 !important;
}

.query-primo-piano .wp-block-post-excerpt p {
    margin: 0 !important;
}

.query-primo-piano .wp-block-post-excerpt__more-text {
    display: none !important;
}

/* Categorie (opzionale) */
.query-primo-piano .wp-block-post-categories {
    order: 5 !important;
    font-family: var(--font-heading) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding-bottom: 1rem !important;
    display: flex !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
}

.query-primo-piano .wp-block-post-categories a {
    background: #f0f9f4 !important;
    color: #007A5A !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.query-primo-piano .wp-block-post-categories a:hover {
    background: #007A5A !important;
    color: white !important;
}

.query-primo-piano .wp-block-post-categories a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 2px !important;
}

/* Badge "NUOVO" per post recenti (opzionale) */
.query-primo-piano .wp-block-post.is-recent::after {
    content: "NUOVO" !important;
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    background: #00A86F !important;
    color: white !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    padding: 0.35rem 0.75rem !important;
    border-radius: 12px !important;
    letter-spacing: 0.5px !important;
    font-family: var(--font-heading) !important;
    z-index: 10 !important;
}

/* ========================================
   PAGINAZIONE
   ======================================== */

.query-primo-piano .wp-block-query-pagination {
    margin-top: 3rem !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
}

/* Link paginazione */
.query-primo-piano .wp-block-query-pagination a,
.query-primo-piano .wp-block-query-pagination .page-numbers {
    padding: 0.6rem 1rem !important;
    border: 2px solid #007A5A !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    color: #007A5A !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    transition: all 0.2s ease !important;
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Pagina corrente */
.query-primo-piano .wp-block-query-pagination .current,
.query-primo-piano .wp-block-query-pagination .page-numbers.current {
    background: #007A5A !important;
    color: white !important;
    border-color: #007A5A !important;
}

/* Hover */
.query-primo-piano .wp-block-query-pagination a:hover {
    background: #007A5A !important;
    color: white !important;
}

.query-primo-piano .wp-block-query-pagination a:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 3px !important;
}

/* Dots "..." */
.query-primo-piano .wp-block-query-pagination .dots {
    padding: 0.6rem !important;
    color: #999 !important;
    border: none !important;
}

/* ========================================
   STATO VUOTO
   ======================================== */

.query-primo-piano .wp-block-query-no-results {
    padding: 3rem 2rem !important;
    text-align: center !important;
    color: #999 !important;
    font-style: italic !important;
    background: transparent !important;
    border: 2px dashed #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-family: var(--font-body) !important;
}

.query-primo-piano .wp-block-query-no-results p::before {
    content: "📭 " !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */

/* Tablet - 2 colonne */
@media (max-width: 1024px) {
    .query-primo-piano .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
}

/* Mobile - 1 colonna */
@media (max-width: 640px) {
    .query-primo-piano {
        padding: 0 1rem !important;
    }
    
    .query-primo-piano .wp-block-post-template {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    
    .query-primo-piano .wp-block-post-featured-image {
        aspect-ratio: 4/3 !important;
    }
    
    .query-primo-piano .wp-block-post > *:not(.wp-block-post-featured-image) {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
    
    .query-primo-piano .wp-block-post-title {
        font-size: 1.1rem !important;
        padding-top: 1rem !important;
    }
    
    .query-primo-piano .wp-block-post-excerpt {
        font-size: 0.9rem !important;
        padding-bottom: 1.25rem !important;
    }
    
    .query-primo-piano .wp-block-query-pagination {
        gap: 0.25rem !important;
        margin-top: 2rem !important;
    }
    
    .query-primo-piano .wp-block-query-pagination a,
    .query-primo-piano .wp-block-query-pagination .page-numbers {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.9rem !important;
        min-width: 40px !important;
    }
    
    .query-primo-piano .wp-block-post.is-recent::after {
        top: 0.75rem !important;
        right: 0.75rem !important;
        font-size: 0.65rem !important;
    }
}

/* ========================================
   ACCESSIBILITÀ
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    .query-primo-piano .wp-block-post,
    .query-primo-piano .wp-block-post-featured-image img,
    .query-primo-piano .wp-block-query-pagination a {
        transition: none !important;
    }
    
    .query-primo-piano .wp-block-post:hover {
        transform: none !important;
    }
    
    .query-primo-piano .wp-block-post:hover .wp-block-post-featured-image img {
        transform: none !important;
    }
}

/* Focus visible solo per tastiera */
.query-primo-piano .wp-block-post-title a:focus:not(:focus-visible) {
    outline: none !important;
}
/* ========================================
   28. PULSANTE "VEDI TUTTI"
   ======================================== */

/* Container pulsante */
.view-all-button {
    text-align: center !important;
    margin: 2.5rem auto 3rem auto !important;
    max-width: 1400px !important;
    padding: 0 1rem !important;
}

/* Stile pulsante */
.view-all-button .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0.9rem 2.5rem !important;
    background: #007A5A !important;
    color: white !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(0,122,90,0.2) !important;
    min-height: 44px !important;
    border: none !important;
}

/* Hover */
.view-all-button .wp-block-button__link:hover {
    background: #00875A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 16px rgba(0,122,90,0.3) !important;
    color: white !important;
}

/* Focus */
.view-all-button .wp-block-button__link:focus {
    outline: 3px solid #007A5A !important;
    outline-offset: 4px !important;
}

/* Freccia animata */
.view-all-button .wp-block-button__link::after {
    content: "" !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid white !important;
    border-top: 4px solid transparent !important;
    border-bottom: 4px solid transparent !important;
    margin-left: 4px !important;
    transition: transform 0.2s ease !important;
}

.view-all-button .wp-block-button__link:hover::after {
    transform: translateX(4px) !important;
}

/* Responsive */
@media (max-width: 640px) {
    .view-all-button .wp-block-button__link {
        padding: 0.85rem 2rem !important;
        font-size: 0.95rem !important;
    }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
    .view-all-button .wp-block-button__link,
    .view-all-button .wp-block-button__link::after {
        transition: none !important;
    }
    
    .view-all-button .wp-block-button__link:hover {
        transform: none !important;
    }
    
    .view-all-button .wp-block-button__link:hover::after {
        transform: none !important;
    }
}