@charset "UTF-8";

/* @import "print.css"; */
@import "sponsor.css";


:root {
  --sc-bkg-all: #eff1f4;
  /* --sc-primary: #e6007c; (2024) */
  --sc-primary: #4083F5; /* (2025) */
  --sc-primary-alpha: rgb(0, 175, 233, 0.70) !important;
  /* --sc-secondary: #0c1242; */
  --sc-secondary: #16194d;
  --sc-secondary-alpha: rgb(12, 18, 76, 0.70) !important;
  --sc-grey: #eaeaea;
  --sc-magenta: #c21378;
}


/* Stili di base per H1, H2, H3, H4, H5, H6 */

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
}

h1 {font-weight: 800; }
h2 {font-weight: 600; }
h3 {font-weight: 500; }
h4 {font-weight: 500; }
h5 {font-weight: 500; }
h6 {font-weight: 500; }

@media (min-width: 1200px) {
  h1 { font-size: 2.5rem; }
  h2 { font-size: 2.0rem; }
  h3 { font-size: 1.75rem; }
  h4 { font-size: 1.5rem; }
  h5 { font-size: 1.25rem; }
  h6 { font-size: 1rem; }
}

/* menu */
@media (max-width: 1210px) {
.sp-megamenu-parent {display: none !important;}
}
/* header */

#sp-header-topbar #sp-logo  {flex: 0 0 auto !important; width: 16.66666667% !important;}
#sp-contact, #sp-social {flex: 0 0 auto !important; width: 41.66666667% !important;}

.sp-page-title .sp-page-title-heading, .sp-page-title .sp-page-title-sub-heading {color: var(--sc-secondary) !important;}

.logo-image {height: 78px !important;}
#sp-header-topbar {max-height: 70px !important;}
#sp-header-topbar .container-inner {border-bottom: 0px !important;}

/* @media (max-width: 991px) {
  .logo-image {
    height: 78px !important;
  }
} */

.social-icons {font-size: 20px !important;}

@media (min-width: 1199px) {
  #sp-header .col-lg-6, #sp-header .col-6 {
    width: 100% !important;
  }
}
@media (min-width: 1199px) {
  .d-xl-none {
    display: none !important;
  }
}


@media (max-width: 991px) {
	#sp-header-topbar #sp-logo {width: 40% !important;}
	#sp-header-topbar {margin: 0px !important;}
	#sp-header-topbar .container-inner {padding-bottom: 0px !important;}
	#sp-contact, #sp-social {width: 30% !important;}
	/* .logo-image{height: 36px !important;} */
}
@media (min-width: 768px) {
  # sp-header-topbar .container {
    max-width: 720px;
  }
}
#sp-header #sp-logo {display: none !important;}

#sp-header.header-sticky, #sp-header.header-sticky .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {background: white !important;}
#sp-header.header-sticky #sp-logo {display: inherit !important;}
#sp-header.header-sticky .burger-icon > span, .offcanvas-active .burger-icon > span {background-color: #000000 !important;}
#sp-header.header-sticky .sp-megamenu-parent > li > a, #sp-header.header-sticky .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {color: #000 !important;}

@media (max-width: 991px) {
  .sp-page-title {
    padding: 38px 0px;
    background-size: 1200px;
  }
}

@media (max-width: 575px) {
  .sp-page-title {
    padding: 15px 0px;
    background-size: 1280px;
	background-position: -245px;
  }
}

@media (max-width: 575px) {
  .sp-page-title .sp-page-title-heading {
    font-size: 24px;
  }
}

.sp-page-title .sp-page-title-heading {
    font-size: 64px;
  }


@media (max-width: 991px) {
  .sp-page-title .sp-page-title-heading {
    font-size: 47px;
  }
}




.offcanvas-menu {
  background-color: #FFFFFF;
}
.offcanvas-menu .offcanvas-inner ul.menu > li a, .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler {color: #000000 !important;}

.sp-megamenu-parent > li.sp-has-child::before {background: transparent !important;}

/* GDPR */

#iub-legalDoc {font-size: 1rem !important;}

#iubenda-cs-banner.iubenda-cs-overlay {visibility: visible;opacity: 1; backdrop-filter: blur(10px);}
#iubenda-cs-banner.iubenda-cs-overlay::before {transition: 0.4s; backdrop-filter: blur(10px);}
body #iubenda-iframe, .offcanvas-overlay {transition: 0.4s; backdrop-filter: blur(10px);background-color: rgba(0, 0, 0, .4) !important;}


/* speaker */

.speaker .sppb-dynamic-content-collection__item {display: flex; flex-direction: column;}

.speaker .addon-root-button {margin-top: auto !important;}

/* Error */

html.error-page body, html.error-page {background: white !important;}



/* lang */

[id^="language_btn_"] {
    background-color: transparent !important; 
    color: inherit !important;               
    box-shadow: none !important;            
    border-color: transparent !important;   
}

/* Sovrascriviamo le regole di Bootstrap per il selettore lingua */
ul.lang-block.dropdown-menu {
    width: 6rem !important;      /* Imposta la larghezza desiderata */
    min-width: 6rem !important;  /* Forza la larghezza minima a scendere sotto il default di Bootstrap */
    padding: 0.5rem 0;           /* Opzionale: aggiusta il padding se necessario */
}

/* Opzionale: per centrare il contenuto visto che lo spazio è ridotto */
ul.lang-block.dropdown-menu li a {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}


/* comitati */

.sppb-dynamic-content-text.disciplina,  .sppb-dynamic-content-text.specializzazione, .sppb-dynamic-content-text.nome {text-align: center !important;}

 @media (max-width: 991px) {
.sppb-dynamic-content-image-wrapper.foto {
    max-width: 120px !important;
	height: auto !important;
  }
}


/* accordion speaker */

/* 1. Forza il nero su TUTTI i link e testi dentro la collezione dinamica */
.sppb-panel-faq a,
.sppb-panel-faq h4,
.sppb-panel-faq p,
.sppb-panel-faq span,
.sppb-panel-faq .sppb-btn {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important; /* Comando specifico per iOS */
    text-decoration: none !important;
}

/* 2. Gestione specifica per i titoli linkati (nomi dei relatori) */
.sppb-panel-faq h4.sppb-dynamic-content-text a {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}

/* 3. Evita che iOS trasformi numeri o nomi in link blu automatici */
.sppb-panel-faq * {
    -webkit-tap-highlight-color: transparent !important;
}




/* --- INIZIO CODICE PERSONALIZZATO CONGRESSO (MASTER VERSION) --- */

/* --- INIZIO CODICE PERSONALIZZATO CONGRESSO (ISOLATO) --- */
/* Tutto il CSS funziona SOLO dentro il contenitore .programma-congresso */

/* =======================================================
   PARTE 1: GESTIONE SALA (Allineamento e Font)
   ======================================================= */
.programma-congresso .sppb-addon-wrapper:has(.room_pre),
.programma-congresso .sppb-addon-wrapper:has(.room_title) {
    display: inline-block;
    width: auto;
    vertical-align: middle;
    margin-bottom: 0px;
}

.programma-congresso .sppb-addon-wrapper:has(.room_pre) {
    margin-right: 5px; 
}

.programma-congresso .room_pre .sppb-addon-title,
.programma-congresso .room_title,
.programma-congresso .room_title .sppb-dynamic-content-text {
    font-weight: 500;
    margin: 0;
    padding: 0;
    display: inline;
}


/* =======================================================
   PARTE 2: TITOLO DISCIPLINA (Uppercase + Icona Box + Hover)
   ======================================================= */
.programma-congresso .discipline_title {
    text-transform: uppercase;
    display: inline-block;
    transition: color 0.3s ease;
}

.programma-congresso .discipline_title::after {
    content: "\f2f6"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 20px;
    font-size: 0.85em; 
    vertical-align: middle; 
    position: relative;
    top: -2px; 
    display: inline-block;
    transition: transform 0.3s ease;
}

/* Animazione Icona */
.programma-congresso a:hover .discipline_title::after,
.programma-congresso .discipline_title:hover::after {
    transform: translateX(5px);
}

/* Colori */
.programma-congresso a.discipline_title,
.programma-congresso .discipline_title {
    color: var(--sc-secondary) !important;
}
.programma-congresso a:hover .discipline_title,
.programma-congresso .discipline_title:hover {
    color: var(--sc-primary) !important;
}

/* ============================================================
   STILE DISCIPLINE NELLA BIOGRAFIA RELATORE (FIX)
   ============================================================ */

/* 1. Applica lo stile direttamente all'H4 che ha la classe 'discipline_biografia' */
h4.discipline_biografia {
    text-transform: uppercase !important;
    display: inline-block !important;
    transition: color 0.3s ease;
    font-weight: 500 !important; 
    color: var(--sc-secondary) !important;
    margin: 0 !important;
    font-size: 1.1em; /* Opzionale: regola la grandezza se serve */
}

/* 2. Aggiunge l'icona dopo il testo */
h4.discipline_biografia::after {
    content: "\f2f6"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 10px;
    font-size: 0.85em; 
    vertical-align: middle; 
    position: relative;
    top: -2px; 
    display: inline-block;
    transition: transform 0.3s ease;
}

/* 3. Effetto Hover */
/* Dobbiamo intercettare l'hover sul LINK padre (.sppb-dynamic-content-text__link) */
a.sppb-dynamic-content-text__link:hover h4.discipline_biografia {
    color: var(--sc-primary) !important;
    text-decoration: none !important;
}

a.sppb-dynamic-content-text__link:hover h4.discipline_biografia::after {
    transform: translateX(5px); /* Sposta l'icona a destra */
}

/* ============================================================
   STILE H5 STATICO (Senza Link e Senza Icona)
   ============================================================ */

h5.discipline_biografia {
    text-transform: uppercase !important;
    color: var(--sc-secondary) !important; /* Usa lo stesso colore scuro */
    font-weight: 500 !important;
    margin: 0 !important;
    display: block !important;
    
    /* Assicuriamoci che non erediti icone o altro */
    background: none !important;
    padding: 0 !important;
}

/* Sicurezza extra: se per caso ereditasse un ::after, lo nascondiamo */
h5.discipline_biografia::after {
    content: none !important;
    display: none !important;
}

/* ============================================================
   STILE DATA SESSIONE (Biografia Relatore)
   ============================================================ */

.discipline_biografia_data {
    font-size: 0.85em !important; /* Rimpicciolisce (85% della dimensione base) */
    color: #666666 !important;    /* Grigio scuro per distinguerlo dal titolo */
    font-weight: 400 !important;  /* Peso normale */
    margin-top: -5px !important;  /* Lo avvicina leggermente al titolo sopra */
    line-height: 1.2 !important;
    display: block !important;
}


/* =======================================================
   PARTE 3: FOCUS DISCIPLINA (Dimensione H5)
   ======================================================= */
.programma-congresso h4.discipline_focus {
    font-size: 1.25rem; 
    line-height: 1.4;  
    font-weight: 500; 
    margin-top: 5px; 
    margin-bottom: 10px;
}


/* =======================================================
   PARTE 4: GESTIONE CHAIRPERSON (Universale: Lista + Dettaglio)
   ======================================================= */

/* 1. Nascondi box vuoti */
.programma-congresso .sppb-dynamic-content-no-records {
    display: none !important;
}

/* 2. ETICHETTA "Chairperson" / "Chairpersons" */

/* CASO 1: SINGOLARE (Default) */
/* Si attiva se c'è almeno un nome dentro */
.programma-congresso .chairperson_collection:has(.chairperson_name)::before,
.programma-sessioni .moved-chair-pm:has(.chairperson_name)::before {
    content: "Chairperson ";
    font-weight: 400;
    font-style: italic;
    display: inline !important;
    margin-right: 10px; /* Spazio ridotto per coerenza */
}

/* CASO 2: PLURALE (Override) */
/* La logica: se trovi un ITEM che è successivo (~) ad un altro ITEM, allora sono > 1 */

/* A. Caso Collection Standard */
.programma-congresso .chairperson_collection:has(.sppb-dynamic-content-collection__item ~ .sppb-dynamic-content-collection__item)::before,
.programma-sessioni .moved-chair-pm:has(.sppb-dynamic-content-collection__item ~ .sppb-dynamic-content-collection__item)::before,

/* B. Caso Dettaglio (Div generici figli diretti) */
.programma-congresso .chairperson_collection:has(> div:not([class*="collection__item"]) ~ div:not([class*="collection__item"]))::before,
.programma-sessioni .moved-chair-pm:has(> div:not([class*="collection__item"]) ~ div:not([class*="collection__item"]))::before {
    
    content: "Chairpersons " !important;
}

/* 3. STILE CONTENITORE PRINCIPALE */
/* Il contenitore è un blocco (così va sotto al titolo), ma dentro è tutto inline */
.programma-congresso .chairperson_collection {
    font-style: italic;
    display: block !important; 
    line-height: 1.5; 
    margin-top: 20px !important;
    clear: both !important; /* Assicura che scenda sotto ai float precedenti */
}

/* 4. APPIATTIMENTO TOTALE (Flattening Aggressivo) */
/* Forza INLINE su tutti i livelli possibili per gestire Lista e Dettaglio */
.programma-congresso .chairperson_collection > div, /* Figli diretti (Dettaglio) */
.programma-congresso .chairperson_collection .sppb-dynamic-content-collection__item, /* Item Collection */
.programma-congresso .chairperson_collection .sppb-addon-wrapper,
.programma-congresso .chairperson_collection .sppb-addon,
.programma-congresso .chairperson_collection .clearfix,
.programma-congresso .chairperson_collection .sppb-dynamic-content-text,
.programma-congresso .chairperson_collection p {
    display: inline !important;
    float: none !important; 
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* 5. NEUTRALIZZAZIONE CLEARFIX */
.programma-congresso .chairperson_collection .clearfix::before,
.programma-congresso .chairperson_collection .clearfix::after {
    display: none !important;
    content: none !important;
}

/* 6. STILE DEL TESTO */
.programma-congresso .chairperson_name, 
.programma-congresso .chairperson_name p {
    font-style: italic !important;
}

/* 7. SEPARATORE SLASH (/) - LOGICA DOPPIA */

/* CASO A: Collection (Item specifici) */
.programma-congresso .chairperson_collection .sppb-dynamic-content-collection__item:not(:first-child)::before {
    content: " / ";
    font-style: italic;
    white-space: pre; 
    display: inline !important;
}

/* CASO B: Dettaglio (Wrapper generici figli diretti) */
/* Questa regola intercetta i div nel dettaglio che non hanno la classe collection__item */
.programma-congresso .chairperson_collection > div:not([class*="collection__item"]):not(:first-child)::before {
    content: " / ";
    font-style: italic;
    white-space: pre; 
    display: inline !important;
}


/* =======================================================
   PARTE 5: FOCUS + ICONA + DOPPIO TITOLO (Versione Inline Puro)
   ======================================================= */

/* 1. GHOST BUSTER: Nascondi div vuoti tra i titoli */
.programma-congresso .sppb-addon-wrapper:has(> .clearfix:empty) {
    display: none !important;
}

/* 2. GESTIONE WRAPPER PRINCIPALE (Icona e Testi) */
/* Forziamo tutto a comportarsi come parole di una frase */
.programma-congresso .sppb-addon-wrapper:has(.icona-cuffie),
.programma-congresso .sppb-addon-wrapper:has(.discipline_focus) {
    display: inline !important; 
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    float: none !important;
}

/* 3. KILLER DEI CLEARFIX INTERNI */
.programma-congresso .sppb-addon-wrapper:has(.icona-cuffie) .clearfix,
.programma-congresso .sppb-addon-wrapper:has(.discipline_focus) .clearfix {
    display: inline !important;
}
.programma-congresso .sppb-addon-wrapper:has(.icona-cuffie) .clearfix::before,
.programma-congresso .sppb-addon-wrapper:has(.icona-cuffie) .clearfix::after,
.programma-congresso .sppb-addon-wrapper:has(.discipline_focus) .clearfix::before,
.programma-congresso .sppb-addon-wrapper:has(.discipline_focus) .clearfix::after {
    display: none !important;
    content: none !important;
}

/* 4. STILE ICONA (Nasconde testo SI, mostra Icona) */
/* La regola ora vale SIA per la testata (.programma-congresso) 
   SIA per la lista sessioni (.programma-sessioni) dove finisce il clone */

.programma-congresso .icona-cuffie,
.programma-sessioni .icona-cuffie {
    font-size: 0 !important; /* Nasconde "SI" */
    display: inline-block !important; 
    margin-right: 10px !important; 
    margin-bottom: 0px !important;
    margin-top: 0px !important; 
    transform: translateY(2px);
}

.programma-congresso .icona-cuffie::before,
.programma-sessioni .icona-cuffie::before {
    content: "\f025"; 
    font-family: "Font Awesome 6 Free"; 
    font-weight: 900; 
    font-size: 24px !important; /* Mostra icona */
    color: var(--sc-magenta) !important; 
    line-height: 1; 
}

/* 5. STILE TITOLI H4 (Inline Puro) */
.programma-congresso h4.discipline_focus {
    display: inline !important; 
    font-size: 1.25rem; 
    line-height: 1.4;  
    font-weight: 500; 
}

/* --- GESTIONE SLASH TITOLI --- */
.programma-congresso .discipline_focus_pm::before {
    content: none !important;
}

/* Slash Intelligente (usa tilde ~ per saltare i fantasmi) */
.programma-congresso .sppb-addon-wrapper:has(.discipline_focus:not(.discipline_focus_pm)) ~ .sppb-addon-wrapper:has(.discipline_focus_pm) .discipline_focus_pm::before {
    content: " / " !important;
    white-space: pre;
    display: inline !important;
    font-weight: 400;
}


/* =======================================================
   PARTE 6: GESTIONE LOGO + STILE SEPARATORI (VERSIONE FINALE)
   ======================================================= */

/* 1. STILE GENERALE ITEM (Larghezza + Bordo + Ancoraggio Logo) */
.programma-congresso .sppb-dynamic-content-collection__item {
    /* Layout fondamentale */
    width: 100% !important; /* Ripristinato: occupa tutta la larghezza */
    position: relative !important; /* Serve per ancorare il logo */
    box-sizing: border-box !important;

    /* Stile Decorativo Ripristinato */
    border-bottom: 1px var(--sc-secondary) solid !important;
    padding: 2px 0px 10px 0px !important;
    margin-top: 3px !important;
}

/* 2. ECCEZIONE: NESSUN BORDO NEI SOTTO-ITEM (Chairperson) */
.programma-congresso .chairperson_collection .sppb-dynamic-content-collection__item {
    border: 0px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 3. SPAZIO RISERVATO AL TESTO (Solo se c'è il logo) */
.programma-congresso .sppb-dynamic-content-collection__item:has(.disciplina_logo) {
    padding-right: 90px !important; /* Evita sovrapposizioni */
}

/* 4. POSIZIONAMENTO LOGO (Specifico per non rompere il layout) */
.programma-congresso .addon-root-dynamic-content-image:has(.disciplina_logo) {
    position: absolute !important;
    top: 0px !important; 
    right: 0px !important;
    
    width: auto !important; /* Lascia che sia il contenuto a decidere */
    height: auto !important;
    
    margin: 0 !important;
    padding: 0 !important;
    z-index: 20;
    display: block !important; 
}

/* 5. DIMENSIONE REALE DEL LOGO */
.programma-congresso .disciplina_logo {
    width: 80px !important; /* Larghezza fissa del box logo */
    display: block !important;
}

.programma-congresso .disciplina_logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    max-height: 60px !important;
}

/* FIX MOBILE */
@media (max-width: 576px) {
    /* Meno spazio riservato */
    .programma-congresso .sppb-dynamic-content-collection__item:has(.disciplina_logo) {
        padding-right: 60px !important; 
    }
    
    /* Logo più piccolo */
    .programma-congresso .disciplina_logo {
        width: 50px !important;
    }
    
    .programma-congresso .disciplina_logo img {
        max-height: 45px !important;
    }
}
/* --- FINE CODICE --- */


/* Formattazione sessioni */
/* ============================================================
   FORMATTAZIONE SESSIONI (GRID A 3 COLONNE)
   ============================================================ */
/* Applichiamo le regole SOLO dentro la sezione .programma-sessioni */

.programma-sessioni .sppb-dynamic-content-collection__item {
    display: grid !important;
    /* Col 1: 60px (Orario) | Col 2: 50px (Foto) | Col 3: Auto (Nome) */
    grid-template-columns: 60px 50px 1fr;
    
    /* column-gap: 15px; 
    row-gap: 5px;  */     
    align-items: start; /* Allinea tutto in alto */
    
    /* Stile Estetico */
    background-color: #ffffff;
    border-left: 6px solid var(--sc-magenta);
    padding: 15px 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    box-sizing: border-box;
    width: 100%;
}

/* --- PULIZIA "FANTASMI" --- */
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:not(:has(p)):not(:has(img)) {
    display: none !important;
}

/* --- ORARIO (Colonna 1) --- */
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:first-child {
    grid-column: 1;
    grid-row: 1 / -1; 
    margin-top: 0;
}

/* --- TITOLO SESSIONE (Colonna 2 + 3) --- */
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:has(.title_session) {
    grid-column: 2 / span 2; 
    width: 100%;
}

/* --- FOTO RELATORE (Colonna 2) --- */
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:has(.speaker_photo) {
    grid-column: 2;
    width: 40px !important;
    display: flex;
    align-items: center;    
    margin-bottom: 5px;     
}

/* --- NOME RELATORE (Colonna 3) --- */
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:has(.speaker_session),
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:has(.speaker2_session),
.programma-sessioni .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:has(.speaker3_session) {
    grid-column: 3;
    display: flex;
    align-items: center; 
    min-height: 40px;    
    margin-bottom: 5px;  
}

/* --- FOTO ROTONDA --- */
.programma-sessioni .sppb-dynamic-content-image-wrapper.speaker_photo img {
    width: 40px !important;
    height: 40px !important;
    /* border-radius: 50%; */
    object-fit: cover;
    display: block;
}

/* --- ORARIO --- */
.programma-sessioni .hour_session {
    font-weight: 700 !important;
    color: #333;
    margin: 0 !important;
}

/* --- TITOLO STANDARD --- */
.programma-sessioni .sppb-dynamic-content-collection__item:not(.stato-pausa):not(.stato-termine):not(.stato-comunicazione):not(.stato-presentazione) .title_session {
    font-weight: 700 !important;
    font-size: 1.1em;
    color: #000;
    margin: 0 0 10px 0 !important; 
    line-height: 1.3;
}

/* --- NOME RELATORE --- */
.programma-sessioni .speaker_session, 
.programma-sessioni .speaker2_session,
.programma-sessioni .speaker3_session {
    font-weight: 400 !important;
    font-style: italic;
    color: #555;
    margin: 0 !important;
    line-height: 1.2;
}


/* ============================================================
   OVERRIDE PER LE SESSIONI SPECIALI (Pausa, Termine, ecc.)
   ============================================================ */
   
.programma-sessioni .stato-pausa,
.programma-sessioni .stato-termine,
.programma-sessioni .stato-comunicazione,
.programma-sessioni .stato-presentazione {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding: 12px 20px;
    min-height: auto !important;
}

/* Nascondi addon vuoti nelle speciali */
.programma-sessioni .stato-pausa .sppb-addon-wrapper:empty, 
.programma-sessioni .stato-termine .sppb-addon-wrapper:empty,
.programma-sessioni .stato-comunicazione .sppb-addon-wrapper:empty,
.programma-sessioni .stato-presentazione .sppb-addon-wrapper:empty { 
    display: none; 
}

/* Colori Speciali */
.programma-sessioni .stato-pausa { background-color: #16194d !important; border-left-color: #4a52cc !important; }
.programma-sessioni .stato-pausa * { color: #ffffff !important; margin: 0 !important; }

.programma-sessioni .stato-comunicazione { background-color: #eff1f4 !important; border-left-color: #bcc4cc !important; }
.programma-sessioni .stato-comunicazione .title_session { font-weight: normal !important; color: #16194d !important; margin: 0 !important; }

.programma-sessioni .stato-presentazione {/*  background-color: #4083F5 !important; */ border-left-color: var(--sc-secondary) !important; }
.programma-sessioni .stato-presentazione * {/*  color: #ffffff !important;  */margin: 0 !important; }

.programma-sessioni .stato-termine {/*  background-color: #f8d7da !important; */ border-left-color: var(--sc-secondary) !important; }
.programma-sessioni .stato-termine * {/*  color: #842029 !important; */ margin: 0 !important; }

.programma-sessioni .trigger-type { display: none !important; }


/* ============================================================
   ANIMAZIONE LINK RELATORE
   ============================================================ */
.programma-sessioni .sppb-dynamic-content-text__link {
    display: inline-flex !important;
    align-items: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: color 0.3s ease;
}
.programma-sessioni .sppb-dynamic-content-text__link:hover .speaker_session,
.programma-sessioni .sppb-dynamic-content-text__link:hover .speaker2_session,
.programma-sessioni .sppb-dynamic-content-text__link:hover .speaker3_session {
    color: #4083F5 !important; 
    text-decoration: underline; 
}
.programma-sessioni .sppb-dynamic-content-text__link::after {
    content: "\2192"; 
    font-size: 1.2em;
    font-weight: bold;
    color: #4083F5;
    margin-left: 8px;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.programma-sessioni .sppb-dynamic-content-text__link:hover::after {
    opacity: 1;
    transform: translateX(0);
}


/* ============================================================
   STILE BLOCCO PM SPOSTATO (NUOVO - TITOLO + ICONA INLINE)
   ============================================================ */

/* 1. Wrapper Titolo Spostato */
.programma-sessioni .sppb-addon-wrapper.moved-block-pm:has(.discipline_focus_pm) {
    width: 100%;
    margin-top: 50px !important;    /* Spazio sopra per staccare dal mattino */
    /* margin-bottom: 5px !important; */  /* Poco spazio sotto */
    display: block !important;      /* Assicura che prenda la riga */
    border: none !important;        /* NESSUN BORDO */
    padding-left: 0 !important;
}

/* 2. Titolo H4 (Focus PM) */
.programma-sessioni .discipline_focus_pm {
    display: inline !important; /* Comportamento "frase continua" */
    margin: 0;
    line-height: 1.4;
    font-weight: 500; /* Coerente con la testata */
}

/* 3. Icona Cuffie Clonata (Dentro il titolo) */
.programma-sessioni .moved-icon-inline {
    display: inline-block !important; 
    float: left; /* La mandiamo a sinistra */
    margin-right: 10px !important; 
    /* Le proprietà grafiche sono ereditate dalla regola universale .icona-cuffie */
}


/* ============================================================
   PARTE 7: CHAIRPERSON POMERIGGIO (SPOSTATI) - FIX GERARCHICO
   ============================================================ */

/* 1. Il Contenitore Principale (La scatola esterna) */
/* Deve comportarsi come un blocco che contiene del testo scorrevole */
.programma-sessioni .moved-chair-pm {
    display: block !important;
    width: 100% !important;
    margin-top: 0 !important;
    /* margin-bottom: 20px !important; */
    border: none !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    font-style: italic !important;
}

/* 2. Etichetta "Chairperson" */
/* Appare prima del primo nome */
.programma-sessioni .moved-chair-pm:has(.chairperson_name)::before {
    content: "Chairperson ";
    font-weight: 400;
    font-style: italic;
    display: inline !important; 
    margin-right: 5px;
}

/* 3. LA CATENA DI COMANDO (Forziamo ogni livello a essere INLINE) */
/* Qui elenchiamo esattamente i div annidati che vedo nel tuo HTML */

/* Livello 1: L'item della collection */
.programma-sessioni .moved-chair-pm .sppb-dynamic-content-collection__item {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Livello 2: Il wrapper dell'addon dentro l'item */
.programma-sessioni .moved-chair-pm .sppb-addon-wrapper {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

/* Livello 3: Il div "clearfix" dentro l'addon */
.programma-sessioni .moved-chair-pm .clearfix {
    display: inline !important;
}

/* Livello 4: Il paragrafo <p> finale con il nome */
.programma-sessioni .moved-chair-pm p.chairperson_name {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-style: italic !important;
}

/* 4. SEPARATORE SLASH (/) */
/* Lo attacchiamo all'item, assicurandoci che sia inline */
.programma-sessioni .moved-chair-pm .sppb-dynamic-content-collection__item:not(:first-child)::before {
    content: " / ";
    font-style: italic;
    white-space: pre; /* Preserva gli spazi attorno alla slash */
    display: inline !important;
    font-weight: 400;
}

/* 5. FIX DI SICUREZZA PER ELEMENTI FANTASMA */
/* Se ci sono clearfix vuoti che mandano a capo, li nascondiamo */
.programma-sessioni .moved-chair-pm .clearfix::before,
.programma-sessioni .moved-chair-pm .clearfix::after {
    display: none !important;
    content: none !important;
}

/* ============================================================
   STATO ASSEMBLEA SOCI SCIVAC (Versione Logo a Destra)
   ============================================================ */

/* 1. Stile della Riga (Flexbox orizzontale) */
.programma-sessioni .stato-assemblea {
    display: flex !important;
    flex-direction: row;
    align-items: center; /* Allineamento verticale al centro */
    justify-content: space-between; /* Distribuisce lo spazio */
    gap: 15px; /* Spazio minimo tra gli elementi */
    
    padding: 25px 20px !important;
    min-height: auto !important;
    
    background-color: #eaeaea !important; 
    border-left-color: #89bdd3 !important; 
}

/* Nascondi wrapper vuoti */
.programma-sessioni .stato-assemblea .sppb-addon-wrapper:empty {
    display: none;
}

/* 2. ORARIO (Sinistra) */
/* Lo rendiamo visibile e ci assicuriamo che stia a sinistra */
.programma-sessioni .stato-assemblea .sppb-addon-wrapper:has(.hour_session) {
    display: block !important;
    width: auto !important;
    flex-shrink: 0; /* Non si schiaccia mai */
}
.programma-sessioni .stato-assemblea .hour_session {
    color: #16194d !important;
    font-size: 1.1em;
}

/* 3. TITOLO + SOTTOTITOLO (Centro - Si espande) */
.programma-sessioni .stato-assemblea .sppb-addon-wrapper:has(.title_session) {
    flex-grow: 1; /* Occupa tutto lo spazio centrale disponibile */
    width: auto !important;
}

.programma-sessioni .stato-assemblea .title_session {
    font-weight: 700 !important;
    font-size: 1.25em !important;
    color: #16194d !important;
    margin: 0 !important;
    line-height: 1.2;
    display: flex;
    flex-direction: column; /* Impila Titolo e Sala */
    justify-content: center;
}

/* Sottotitolo Generato */
.programma-sessioni .stato-assemblea .title_session::after {
    content: "SALA DELL'ARENGO";
    font-size: 0.8em;
    font-weight: 500;
    color: #555;
    text-transform: uppercase;
    margin-top: 5px;
    letter-spacing: 0.5px;
}
/* ============================================================
   TRADUZIONE "SALA" IN INGLESE
   ============================================================ */

/* Questa regola si attiva solo se il sito è in inglese (contiene "en" nel tag lingua) */
html[lang*="en"] .programma-sessioni .stato-assemblea .title_session::after {
    content: "ROOM DELL'ARENGO" !important;
}

/* 4. LOGO (Destra) */
.programma-sessioni .stato-assemblea .sppb-addon-wrapper:has(.logo_sessione) {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    
    /* FORZA IL LOGO A DESTRA */
    order: 2; /* Lo sposta alla fine della riga */
    flex-shrink: 0; 
}

/* Dimensione Logo */
.programma-sessioni .logo_sessione img {
    height: 50px !important; /* Regola l'altezza qui */
    width: auto !important;
    object-fit: contain;
    display: block;
	max-width: inherit !important;
}

/* FIX MOBILE: Su schermi piccoli, impiliamo o riduciamo */
@media (max-width: 600px) {
    .programma-sessioni .stato-assemblea {
        flex-wrap: wrap; /* Permette di andare a capo se non c'è spazio */
    }
    .programma-sessioni .stato-assemblea .title_session {
        font-size: 1.1em !important;
    }
    .programma-sessioni .logo_sessione img {
        height: 40px !important; /* Logo più piccolo su mobile */
    }
}

/* ============================================================
   GRIGLIA DISCIPLINE (Elenco Generale)
   ============================================================ */

/* 1. Il Contenitore della Riga (Item) */
.discipline_all .sppb-dynamic-content-collection__item {
    display: grid;
    /* Impostazione 4/8 colonne come richiesto (33% - 66%) */
    grid-template-columns: 5fr 7fr; 
    gap: 20px; /* Spazio tra le due colonne */
    align-items: center; /* Allinea verticalmente al centro */
    
    /* Stile decorativo */
    padding: 15px 0;
    border-bottom: 1px solid #e0e0e0;
}

/* Rimuoviamo l'ultimo bordo per pulizia */
.discipline_all .sppb-dynamic-content-collection__item:last-child {
    border-bottom: none;
}

/* 2. COLONNA SINISTRA: Titolo Disciplina */
/* Selezioniamo il wrapper che contiene il titolo */
.discipline_all .sppb-addon-wrapper:has(.discipline_title) {
    grid-column: 1; /* Forza nella prima colonna */
    margin: 0 !important;
}

/* Stile del titolo */
.discipline_all .discipline_title {
    font-size: 1.1em;
    font-weight: 700;
    margin: 0;
    color: var(--sc-secondary); /* O il tuo colore preferito */
    text-transform: uppercase;
    display: block;
}

/* 3. COLONNA DESTRA: Focus (Normale o PM) */
/* Selezioniamo i wrapper che contengono il testo del focus */
.discipline_all .sppb-addon-wrapper:has(.discipline_focus),
.discipline_all .sppb-addon-wrapper:has(.discipline_focus_pm) {
    grid-column: 2; /* Forza nella seconda colonna */
    margin: 0 !important;
}

/* Stile del testo Focus */
.discipline_all .discipline_focus,
.discipline_all .discipline_focus_pm {
    font-size: 1em;
    line-height: 1.4;
    margin: 0;
    color: #333;
}

/* 4. PULIZIA: Nascondi i div vuoti "fantasmi" */
/* Questo è importante perché nel tuo HTML ci sono div vuoti tra il titolo e il PM */
.discipline_all .sppb-addon-wrapper:not(:has(.discipline_title)):not(:has(.discipline_focus)):not(:has(.discipline_focus_pm)) {
    display: none !important;
}


/* ============================================================
   RESPONSIVE (Mobile)
   ============================================================ */
@media (max-width: 768px) {
    .discipline_all .sppb-dynamic-content-collection__item {
        /* Passa a una singola colonna */
        grid-template-columns: 1fr; 
        gap: 5px;
        align-items: start;
    }

    .discipline_all .sppb-addon-wrapper:has(.discipline_title) {
        grid-column: 1;
        margin-bottom: 5px !important;
    }

    .discipline_all .sppb-addon-wrapper:has(.discipline_focus),
    .discipline_all .sppb-addon-wrapper:has(.discipline_focus_pm) {
        grid-column: 1; /* Anche il focus va nella colonna 1 (sotto) */
    }
}

/* ============================================================
   OVERRIDE DETTAGLIO DISCIPLINA (SLUG)
   ============================================================ */

/* Quando siamo nel dettaglio (body ha classe view-dynamic),
   l'icona dopo il titolo non deve esistere */
body.view-dynamic .programma-congresso .discipline_title::after {
    content: none !important;
    display: none !important;
}

/* Opzionale: Se vuoi essere sicuro che il cursore non sembri un link */
body.view-dynamic .programma-congresso .discipline_title {
    cursor: default;
    pointer-events: none; /* Disabilita anche eventuali hover residui */
}


