/* ==========================================================
   ON ZON SU SCHOOL BACKUP
   TEMPLATE DEFINITIVO PAGINE CORSI LOCALI 2026
   File: css/corsi/corsi-responsive.css
   Tablet e mobile
   ========================================================== */

@media screen and (max-width: 991px) {
  .corso-main {
    padding-right: 15px;
  }

  .corso-sidebar {
    padding-left: 15px;
    margin-top: 25px;
  }

  .sidebar-inner-corso {
    position: static;
  }

  .ancoraggi-corso ul {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .programma-lista-corso {
    column-count: 1;
  }

  .corso-hero-intro h2 {
    font-size: 26px;
  }

  .card-percorso-corso,
  .iscrizione-corso-2026 .about-details,
  .box-iscrizione-corso {
    height: auto;
  }

  .sede-corso-2026 .row,
  .iscrizione-corso-2026 .row,
  .percorso-attestati-corso .row {
    display: block;
  }

  .filosofia-radici-corso {
    display: block;
    text-align: center;
  }

  .filosofia-radici-corso .testo-filosofia-corso {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
.page-header h1 {
font-size: 27px;
}

.corso-locale-2026,
.percorso-attestati-corso,
.programma-corso-full,
.iscrizione-corso-2026,
.sede-corso-2026,
.network-corsi {
padding-top: 32px;
padding-bottom: 32px;
}

.corso-hero-intro {
margin-bottom: 25px;
}

.corso-main h2,
.percorso-attestati-corso h2,
.programma-corso-full h2,
.iscrizione-corso-2026 h2,
.sede-corso-2026 h2,
.network-corsi h2 {
font-size: 22px;
}

.corso-main h3,
.percorso-attestati-corso h3,
.programma-corso-full h3,
.iscrizione-corso-2026 h3,
.sede-corso-2026 h3 {
font-size: 18px;
}

.info-rapide-corso .info-card {
min-height: auto;
}

.ancoraggi-corso {
padding: 18px 16px;
}

.lista-contatti-iscrizione-corso li {
align-items: flex-start;
}

.network-grid-corsi a {
width: 100%;
}

.google-maps {
padding-bottom: 300px;
}

.spazio-prima-sede-corso {
margin-left: 0 !important;
margin-right: 0 !important;
}

.spazio-prima-sede-corso > [class*="col-"],
.sezione-sede-corso .sede-grid-corso > [class*="col-"] {
padding-left: 0 !important;
padding-right: 0 !important;
}

.sezione-sede-corso .sede-grid-corso {
margin-left: 0 !important;
margin-right: 0 !important;
}
/* ==========================================================
   Responsive corsi - larghezza uniforme
   ========================================================== */

.corso-locale-2026 .corso-fullwidth-row,
.corso-locale-2026 .corso-layout-shell {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.corso-locale-2026 .corso-fullwidth-row > [class*="col-"],
.corso-locale-2026 .corso-main,
.corso-locale-2026 .corso-sidebar {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.riga-indirizzo-info {
  align-items: flex-start !important;
}

.riga-indirizzo-info i {
  margin-top: 3px !important;
}

.testo-indirizzo-info {
  display: block;
  line-height: 1.5;
}
.riga-indirizzo-completa {
  align-items: flex-start !important;
}

.riga-indirizzo-completa i {
  margin-top: 3px !important;
}

.cap-citta-sede {
  font-size: 15px;
  line-height: 1.4;
}

}
/* ==========================================================
Componenti generici pagine corsi - tablet e mobile
========================================================== */

@media screen and (max-width: 991px) {

.lista-programma-locale-corso {
column-count: 1 !important;
-webkit-column-count: 1 !important;
column-gap: 0 !important;
}

/* ==========================================================
Responsive - distanza calendario / sidebar
========================================================== */

.calendario-corso-wrap {
margin-bottom: 18px !important;
}

.corso-sidebar,
.sidebar-corso-locale {
margin-top: 0 !important;
padding-top: 0 !important;
}

.sidebar-inner-corso {
margin-top: 0 !important;
padding-top: 0 !important;
}

.side-card-prossimo-corso {
margin-top: 0 !important;
}

}

/* ==========================================================
   Modalità iscrizione corso - mobile ordinato
   Come iscriversi: gabbia, bordo sinistro, testo email e contatti
   ========================================================== */

@media screen and (max-width: 767px) {

  /* Distanza recensioni / Come iscriversi */
  .blocco-recensioni-corso {
    margin-bottom: 10px !important;
  }

  .recensioni-corso-box {
    margin-bottom: 0 !important;
    padding-bottom: 10px !important;
  }

  .widget-recensioni-corso {
    margin-bottom: 0 !important;
  }

  /* Gabbia esterna del blocco Come iscriversi */
  .gabbia-editoriale-modalita-corso,
  .blocco-modalita-iscrizione-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-top: 0 !important;
    box-sizing: border-box !important;
  }

  .gabbia-editoriale-modalita-corso > [class*="col-"],
  .blocco-modalita-iscrizione-corso > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Box principale: mantiene la barra verticale, ma non a bordo schermo */
  .gabbia-editoriale-modalita-corso #modalita_iscrizione_sesto,
  .gabbia-editoriale-modalita-corso .box-modalita-iscrizione-corso,
  .box-modalita-iscrizione-corso {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
    border-left: 4px solid #B35400 !important;
    box-sizing: border-box !important;
  }
      /* Barre interne più leggere della barra principale */
  .box-modalita-iscrizione-corso .iscrizione-intro-corso,
  .box-modalita-iscrizione-corso .box-iscrizione-operativa,
  .box-modalita-iscrizione-corso .box-dinamico-verde,
  .box-modalita-iscrizione-corso .box-dinamico-arancio,
  .box-modalita-iscrizione-corso .box-dinamico-blu,
  .box-modalita-iscrizione-corso .box-testo-email-corso,
  .box-modalita-iscrizione-corso .box-dati-ricontatto-corso,
  .box-modalita-iscrizione-corso .box-importante-corso,
  .box-modalita-iscrizione-corso .box-contatti-operativi-corso,
  .box-modalita-iscrizione-corso .box-contatto-operativo-corso,
  .box-modalita-iscrizione-corso .contatto-email-corso,
  .box-modalita-iscrizione-corso .contatto-telefono-corso,
  .box-modalita-iscrizione-corso .mini-box-corso,
  .box-modalita-iscrizione-corso .mini-box-garanzia,
  .box-modalita-iscrizione-corso .mini-box-nota,
  .box-modalita-iscrizione-corso .mini-box-legge {
    border-left-width: 3px !important;
    box-sizing: border-box !important;
  }

  .box-modalita-iscrizione-corso .titolo-sezione-corso {
    margin-top: 0 !important;
  }

  .iscrizione-grid-operativa-corso {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .iscrizione-colonna-operativa {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
  }

  .iscrizione-colonna-operativa:last-child {
    margin-bottom: 0 !important;
  }

  .iscrizione-intro-corso,
  .box-iscrizione-operativa,
  .box-contatti-operativi-corso,
  .box-importante-corso,
  .mini-box-corso,
  .mini-box-legge {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .titolo-box-operativo,
  .titolo-mini-box-corso {
    align-items: flex-start !important;
    font-size: 18px !important;
  }

  .titolo-box-operativo i,
  .titolo-mini-box-corso i {
    margin-top: 2px !important;
  }

  .box-contatto-operativo-corso {
    padding: 14px 16px !important;
    box-sizing: border-box !important;
  }

  .box-testo-email-corso {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .box-testo-email-corso::before,
  .box-testo-email-corso::after,
  .box-testo-email-corso blockquote::before,
  .box-testo-email-corso blockquote::after,
  .testo-preiscrizione-corso::before,
  .testo-preiscrizione-corso::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nota-copia-email-corso {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 0.9em !important;
    line-height: 1.45 !important;
  }

  .testo-preiscrizione-corso {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #333333 !important;
    font-size: 1em !important;
    font-style: italic !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    box-sizing: border-box !important;
  }

  .riga-contatto-operativo-corso {
    display: block !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    padding-left: 0 !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
  }

  .riga-contatto-operativo-corso:last-child {
    margin-bottom: 0 !important;
  }

  .riga-contatto-operativo-corso > span[aria-hidden="true"] {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin-right: 4px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 1em !important;
    line-height: inherit !important;
    vertical-align: baseline !important;
  }

  .link-contatto-operativo-corso {
    display: inline-block !important;
    margin-top: 5px !important;
    color: #B35400 !important;
    font-size: 1.05em !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .link-whatsapp-corso {
    color: #25D366 !important;
  }

  .link-whatsapp-corso:hover,
  .link-whatsapp-corso:focus {
    color: #1DA851 !important;
  }

}
/* ==========================================================
   Componenti specifici mobile - calendario sede date
   ========================================================== */

@media screen and (max-width: 767px) {

  .calendario-corso-card {
    padding: 22px 18px;
  }

  .calendario-corso-titolo {
    font-size: 22px;
  }

  .calendario-date-grid {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .calendario-data-item {
    font-size: 15px;
  }

  .box-indirizzo-sede-corso {
    padding: 20px 18px;
  }

  .titolo-indirizzo-sede {
    font-size: 20px;
  }

  .riga-indirizzo-info,
  .indirizzo-sede-corso {
    font-size: 16px;
  }

  .mappa-corso-frame {
    height: 320px;
  }

  .mappa-corso-info {
    padding: 11px 14px;
  }

  .mappa-corso-info p {
    font-size: 14px;
  }

  .mappa-corso-2026 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================================
   Responsive corsi - larghezza uniforme blocchi principali
   Mobile: gabbia piena senza rompere i bordi valid gabbia piena senza rompere i bordi validati
   ========================================================== */

@media screen and (max-width: 767px) {

  .corso-locale-2026 .corso-fullwidth-row,
  .corso-locale-2026 .corso-layout-shell {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .corso-locale-2026 .corso-fullwidth-row > [class*="col-"],
  .corso-locale-2026 .corso-main,
  .corso-locale-2026 .corso-sidebar {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Regola prudente: non tocca il blocco Come iscriversi */
  .corso-locale-2026 .about-details:not(.box-modalita-iscrizione-corso):not(#modalita_iscrizione_sesto) {
    border-left: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================================
   Responsive corsi - spaziature sede / indirizzo / struttura sede
   Mobile: sede stabile con ponte Camminando + classi template
   ========================================================== */

@media screen and (max-width: 767px) {

  .sede-grid-corso > div {
    margin-bottom: 12px !important;
  }

  .sede-grid-corso > div:last-child {
    margin-bottom: 0 !important;
  }

  .sede-colonna-card {
    margin-bottom: 0 !important;
  }

  .box-indirizzo-sede-corso,
  .sede-colonna-card .box-indirizzo-sede-corso {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
  }

  .spazio-prima-sede-corso {
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* Struttura sede: mantiene compatibilità con vecchio Camminando e nuove classi template */
  .corso-fullwidth-section .box-struttura-camminando-corso,
  .corso-locale-2026 .box-struttura-camminando-corso,
  .corso-fullwidth-section .box-struttura-sede-corso,
  .corso-locale-2026 .box-struttura-sede-corso {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 18px !important;
    margin-right: 0 !important;
    margin-bottom: 22px !important;
    margin-left: 0 !important;
    padding: 20px !important;
  }

}

/* ==========================================================
   CTA rimando sedi - mobile
   ========================================================== */

@media screen and (max-width: 767px) {

  .box-rimando-sedi-corso {
    padding: 20px 16px 24px !important;
    box-sizing: border-box !important;
  }

  .box-rimando-sedi-corso h4 {
    font-size: 21px !important;
    margin-bottom: 10px !important;
  }

  .box-rimando-sedi-corso p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
  }

  .btn-rimando-sedi-corso {
    width: 100% !important;
    max-width: 360px !important;
    padding: 11px 16px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.025em !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================================
   CTA rimando altre sedi - gabbia responsive coerente
   ========================================================== */

@media screen and (max-width: 767px) {

  .blocco-rimando-sedi-corso-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .blocco-rimando-sedi-corso-wrap > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .box-rimando-sedi-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================
NAVBAR TEMPLATE ON ZON SU SCHOOL 2026
Base + mobile consolidato senza voci accese di default
========================================================== */

/* Reset sicurezza: niente pallini o pseudo-elementi sulle voci principali */
.navbar-onzonsu-2026 .navbar-nav,
.navbar-onzonsu-2026 .navbar-nav > li,
.navbar-onzonsu-2026 .drop-down,
.navbar-onzonsu-2026 .drop-down li {
list-style: none !important;
}

.navbar-onzonsu-2026 .navbar-nav > li::before,
.navbar-onzonsu-2026 .navbar-nav > li > a::before,
.navbar-onzonsu-2026 .drop-down li a::before {
content: none !important;
display: none !important;
}

/* Voci principali desktop/tablet */
.navbar-onzonsu-2026 .navbar-nav > li > a,
.navbar-onzonsu-2026 .navbar-nav > li > .nav-dropdown-button {
display: block !important;
position: relative !important;
padding: 15px 15px !important;
border: 0 !important;
background: transparent !important;
color: inherit !important;
font: inherit !important;
line-height: 20px !important;
text-align: left !important;
text-decoration: none !important;
cursor: pointer !important;
text-transform: uppercase !important;
letter-spacing: 0.03em !important;
font-weight: 700 !important;
}

/* Hover voci principali: acceso solo durante interazione */
.navbar-onzonsu-2026 .navbar-nav > li > a:hover,
.navbar-onzonsu-2026 .navbar-nav > li > .nav-dropdown-button:hover {
color: #B35400 !important;
background: transparent !important;
}

/* Focus accessibile ma neutro: evita voci arancioni permanenti dopo tap */
.navbar-onzonsu-2026 .navbar-nav > li > a:focus,
.navbar-onzonsu-2026 .navbar-nav > li > .nav-dropdown-button:focus {
color: #333 !important;
background: transparent !important;
outline: 2px solid rgba(179,84,0,0.35) !important;
outline-offset: 2px !important;
}

/* Dropdown aperto: la voce principale resta neutra */
.navbar-onzonsu-2026 .open > .nav-dropdown-button,
.navbar-onzonsu-2026 .nav-dropdown-button[aria-expanded="true"] {
color: #333 !important;
background: transparent !important;
}

/* Caret e simbolo registrato */
.navbar-onzonsu-2026 .nav-dropdown-button .caret {
margin-left: 5px;
}

.navbar-onzonsu-2026 .registered-mark {
font-size: 0.68em;
line-height: 0;
vertical-align: super;
}

/* Sottomenu desktop/tablet: testo leggibile, non maiuscolo */
.navbar-onzonsu-2026 .drop-down a,
.navbar-onzonsu-2026 .navbar-nav .drop-down a {
text-transform: none !important;
letter-spacing: normal !important;
font-size: 16px !important;
line-height: 1.35 !important;
font-weight: 500 !important;
color: #333 !important;
}

/* Prima voce del sottomenu: importante ma non accesa di default */
.navbar-onzonsu-2026 .dropdown-overview {
font-weight: 500 !important;
color: #333 !important;
}

.navbar-onzonsu-2026 .dropdown-overview:hover {
color: #B35400 !important;
}

.navbar-onzonsu-2026 .dropdown-overview:focus {
color: #333 !important;
}

/* Nessuna riga decorativa sotto la voce overview */
.navbar-onzonsu-2026 .dropdown-overview::after {
content: none !important;
display: none !important;
border-bottom: 0 !important;
margin: 0 !important;
}

/* ==========================================================
NAVBAR MOBILE TEMPLATE 2026
========================================================== */

@media screen and (max-width: 767px) {

/* Contenitore menu mobile scrollabile se troppo lungo */
.navbar-onzonsu-2026 #main-navbar,
.navbar-onzonsu-2026 .navbar-collapse {
max-height: calc(100vh - 72px) !important;
overflow-y: auto !important;
overflow-x: hidden !important;
}

.navbar-onzonsu-2026 #main-navbar .navbar-nav,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav {
margin-top: 0 !important;
margin-bottom: 0 !important;
}

/* Ogni voce principale mobile in targa neutra */
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li {
display: block !important;
margin: 0 0 4px !important;
padding: 0 !important;
background: #f7f3ec !important;
border-left: 0 !important;
border-radius: 5px !important;
list-style: none !important;
}

.navbar-onzonsu-2026 #main-navbar .navbar-nav > li::before,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li::before {
content: none !important;
display: none !important;
}

/* Voci principali mobile: link e button identici */
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > a,
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > button.nav-dropdown-button,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > a,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > button.nav-dropdown-button {
display: block !important;
width: 100% !important;
padding: 8px 15px !important;
background: transparent !important;
color: #333 !important;
border: 0 !important;
font-size: 14px !important;
line-height: 1.2 !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 0.03em !important;
text-align: left !important;
text-decoration: none !important;
min-height: 0 !important;
height: auto !important;
}

/* Hover mobile: acceso solo durante passaggio mouse/devtools */
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > a:hover,
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > button.nav-dropdown-button:hover,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > a:hover,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > button.nav-dropdown-button:hover {
color: #B35400 !important;
background: #fffaf5 !important;
}

/* Focus mobile neutro: evita accensione permanente dopo tap */
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > a:focus,
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > button.nav-dropdown-button:focus,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > a:focus,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > button.nav-dropdown-button:focus {
color: #333 !important;
background: transparent !important;
outline: 2px solid rgba(179,84,0,0.35) !important;
outline-offset: 2px !important;
}

/* Dropdown aperto su mobile: voce principale sempre neutra */
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li.open > button.nav-dropdown-button,
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li.open > button.nav-dropdown-button,
.navbar-onzonsu-2026 #main-navbar .navbar-nav > li > button.nav-dropdown-button[aria-expanded="true"],
.navbar-onzonsu-2026 .navbar-collapse .navbar-nav > li > button.nav-dropdown-button[aria-expanded="true"] {
color: #333 !important;
background: transparent !important;
}

/* Sottomenu mobile */
.navbar-onzonsu-2026 #main-navbar .drop-down,
.navbar-onzonsu-2026 .navbar-collapse .drop-down {
position: static !important;
width: 100% !important;
margin: 0 !important;
padding: 2px 0 5px !important;
background: #ffffff !important;
border-top: 1px solid rgba(179,84,0,0.12) !important;
border-left: 0 !important;
}

.navbar-onzonsu-2026 #main-navbar .drop-down li,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}

/* Pallino tradizionale nei sottomenu */
.navbar-onzonsu-2026 #main-navbar .drop-down li::before,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li::before {
content: "•" !important;
display: inline-block !important;
position: absolute !important;
left: 13px !important;
top: 5px !important;
color: #B35400 !important;
font-size: 18px !important;
line-height: 1 !important;
}

.navbar-onzonsu-2026 #main-navbar .drop-down li a,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li a {
display: block !important;
padding: 5px 15px 5px 30px !important;
background: transparent !important;
color: #333 !important;
font-size: 16px !important;
line-height: 1.22 !important;
font-weight: 500 !important;
text-transform: none !important;
letter-spacing: normal !important;
text-decoration: none !important;
min-height: 0 !important;
height: auto !important;
}

.navbar-onzonsu-2026 #main-navbar .drop-down li a.dropdown-overview,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li a.dropdown-overview {
color: #333 !important;
font-weight: 500 !important;
}

.navbar-onzonsu-2026 #main-navbar .drop-down li a:hover,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li a:hover {
color: #B35400 !important;
background: #fffaf5 !important;
}

.navbar-onzonsu-2026 #main-navbar .drop-down li a:focus,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li a:focus,
.navbar-onzonsu-2026 #main-navbar .drop-down li a.dropdown-overview:focus,
.navbar-onzonsu-2026 .navbar-collapse .drop-down li a.dropdown-overview:focus {
color: #333 !important;
background: transparent !important;
outline: 2px solid rgba(179,84,0,0.35) !important;
outline-offset: 2px !important;
}

}
/* ==========================================================
   Liste check verdi - giustificazione tablet/mobile
   ========================================================== */

@media screen and (max-width: 991px) {

  .lista-check-verde li {
    text-align: justify !important;
    text-justify: inter-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    overflow-wrap: break-word !important;
    line-height: 1.65 !important;
  }

  .lista-check-verde .voce-check-titolo {
    display: inline !important;
    font-weight: 700 !important;
    color: #168C96 !important;
  }

}

/* ==========================================================
   Orari corso - responsive tablet/mobile definitivo
   Lista orari ordinata, icone stabili, testo leggibile
   ========================================================== */

@media screen and (max-width: 991px) {

  .box-orari-corso-2026 {
    padding: 18px 18px !important;
    border-left: 0 !important;
    box-sizing: border-box !important;
  }

  .box-orari-corso-2026 .lista-orari-corso {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  .box-orari-corso-2026 .lista-orari-corso li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    margin-bottom: 12px !important;
    border-left: 0 !important;
    border-radius: 6px !important;
    line-height: 1.55 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }

  .box-orari-corso-2026 .lista-orari-corso li::before,
  .box-orari-corso-2026 .lista-orari-corso li::after {
    content: none !important;
    display: none !important;
  }

  .box-orari-corso-2026 .icona-orari-corso {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    font-size: 13px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }

  .box-orari-corso-2026 .nota-orari-corso {
    font-size: 0.95em !important;
    line-height: 1.55 !important;
    padding: 11px 12px !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }

}

@media screen and (max-width: 480px) {

  .box-orari-corso-2026 {
    padding: 16px 14px !important;
  }

  .box-orari-corso-2026 .lista-orari-corso li {
    gap: 9px !important;
    padding: 10px 10px !important;
  }

  .box-orari-corso-2026 .icona-orari-corso {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
  }

}
/* ==========================================================
   Responsive - elimina barra e recupera spazio mobile
   Blocco Diventare riflessologo
   ========================================================== */

@media screen and (max-width: 767px) {

  .iscrizione-card-corso.iscrizione-card-percorso {
    border-left: 0 !important;
    padding-left: 2px !important;
    padding-right: 12px !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso::before {
    content: none !important;
    display: none !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso h4 {
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: translateX(-4px);
  }

  .iscrizione-card-corso.iscrizione-card-percorso h4 i {
    margin-left: 0 !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso .lista-iscrizione-check,
  .iscrizione-card-corso.iscrizione-card-percorso .lista-percorso-riflessologo {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso .lista-iscrizione-check li,
  .iscrizione-card-corso.iscrizione-card-percorso .lista-percorso-riflessologo li {
    margin-left: 0 !important;
    padding-left: 0 !important;
    column-gap: 10px !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso .check-verde-piccolo {
    margin-left: 0 !important;
    padding-left: 0 !important;
    flex-shrink: 0 !important;
  }

  .iscrizione-card-corso.iscrizione-card-percorso .testo-check-corso {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

}
/* ==========================================================
   Responsive - blocco Dove si svolge il corso e quanto dura
   Mobile: senza barra, accento arancio On Zon Su
   ========================================================== */

@media screen and (max-width: 767px) {

  /* Card senza barra verticale sinistra e con massimo recupero spazio */
  .iscrizione-card-corso.iscrizione-card-durata {
    border-left: 0 !important;
    padding-left: 4px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  .iscrizione-card-corso.iscrizione-card-durata::before {
    content: none !important;
    display: none !important;
  }

  /* Titolo allineato più a sinistra */
  .iscrizione-card-corso.iscrizione-card-durata h4 {
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: translateX(-6px) !important;
  }

  /* Icona del titolo in arancio On Zon Su */
  .iscrizione-card-corso.iscrizione-card-durata h4 i {
    margin-left: 0 !important;
    color: #B35400 !important;
  }

  /* Lista senza rientri residui */
  .iscrizione-card-corso.iscrizione-card-durata .lista-iscrizione-check,
  .iscrizione-card-corso.iscrizione-card-durata .lista-iscrizione-durata {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .iscrizione-card-corso.iscrizione-card-durata .lista-iscrizione-check li,
  .iscrizione-card-corso.iscrizione-card-durata .lista-iscrizione-durata li {
    margin-left: 0 !important;
    padding-left: 0 !important;
    column-gap: 10px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  /* Spunta arancio On Zon Su con check bianco */
  .iscrizione-card-corso.iscrizione-card-durata .check-verde-piccolo {
    margin-left: 0 !important;
    padding-left: 0 !important;
    background-color: #B35400 !important;
    border-color: #B35400 !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
  }

  /* Testo senza rientri aggiuntivi */
  .iscrizione-card-corso.iscrizione-card-durata .testo-check-corso {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Prima frase/parola guida in arancio sobrio On Zon Su */
  .iscrizione-card-corso.iscrizione-card-durata .durata-voce-guida {
    color: #B35400 !important;
    font-weight: 700 !important;
  }

}
/* ==========================================================
   Page header corsi - allinea il sottotitolo P al vecchio H2
   Correzione dopo conversione H2 in p.hero-subtitle-corso
   ========================================================== */

@media screen and (max-width: 767px) {

  .page-header.page-header-corso h1,
  .page-header.page-header-corso .hero-subtitle-corso {
    position: relative !important;
    z-index: 2 !important;
    color: #ffffff !important;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.6) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .page-header.page-header-corso h1 {
    font-size: 21px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  .page-header.page-header-corso .hero-subtitle-corso {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

}
/* ==========================================================
   CTA sedi alternative corsi - mobile definitivo
   Gabbia, card e spazio finale senza doppioni
   ========================================================== */

@media screen and (max-width: 767px) {

  .sedi-alternative-corso {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .sedi-alternative-grid {
    margin-bottom: 38px !important;
  }

  .cta-alt-riga {
    align-items: flex-start !important;
  }

  .cta-alt-descrizione {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .sedi-alternative-card {
    background: #ffffff !important;
    border-radius: 10px !important;
    padding: 14px 15px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.07) !important;
    box-sizing: border-box !important;
  }

  /* Auto - arancio On Zon Su */
  .sedi-alternative-card-auto {
    border: 3px solid #E67E22 !important;
    background: #fffaf5 !important;
  }

  /* Formula 1/2 w.e. - verde */
  .sedi-alternative-card-smart {
    border: 3px solid #2ecc71 !important;
    background: #f8fff9 !important;
  }

  /* Metro & Treno - blu/avio */
  .sedi-alternative-card-trasporti {
    border: 3px solid #3498db !important;
    background: #f7fbfe !important;
  }

}
/* ==========================================================
   Costi e attestati corso - gabbia responsive corretta
   Mobile: margini coerenti e box interni stabili
   ========================================================== */

@media screen and (max-width: 767px) {

  .blocco-costi-attestati-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .blocco-costi-attestati-corso > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .box-costi-attestati-corso {
    border-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .box-quota-corso,
  .blocco-costi-attestati-corso .box-dinamico-blu {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .cta-iscrizione-sezione-corso {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================================
   Iscrizioni e recensioni corso - mobile definitivo
   Gabbia coerente, card non a filo schermo, recensioni stabili
   ========================================================== */

@media screen and (max-width: 767px) {

  /* Link mobile iscrizione */
  .link-mobile-iscrizione-corso {
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Gabbia generale del blocco iscrizioni */
  .blocco-iscrizione-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .blocco-iscrizione-corso > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .iscrizione-visual-corso {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Card interne iscrizioni: mai a filo schermo */
  .iscrizione-card-corso,
  .iscrizione-card-corso.iscrizione-card-percorso,
  .iscrizione-card-corso.iscrizione-card-durata {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* Titoli card: allineati senza spostamenti laterali ereditati */
  .iscrizione-card-corso h4,
  .iscrizione-card-corso.iscrizione-card-percorso h4,
  .iscrizione-card-corso.iscrizione-card-durata h4 {
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  /* Liste interne iscrizioni */
  .iscrizione-card-corso .lista-iscrizione-check,
  .iscrizione-card-corso .lista-percorso-riflessologo,
  .iscrizione-card-corso .lista-iscrizione-durata {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .iscrizione-card-corso .lista-iscrizione-check li,
  .iscrizione-card-corso .lista-percorso-riflessologo li,
  .iscrizione-card-corso .lista-iscrizione-durata li {
    margin-left: 0 !important;
    padding-left: 0 !important;
    column-gap: 10px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  .iscrizione-card-corso .check-verde-piccolo {
    margin-left: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Recensioni: gabbia interna sulla colonna, non sulla row Bootstrap */
  .blocco-recensioni-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .blocco-recensioni-corso .col-recensioni-corso {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .recensioni-corso-box {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  .recensioni-corso-box .titolo-sezione-corso,
  .recensioni-corso-box .testo-intro-recensioni-corso,
  .recensioni-corso-box .widget-recensioni-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .widget-recensioni-corso {
    min-height: 420px !important;
    box-sizing: border-box !important;
  }

}
/* ==========================================================
   Sede corso - responsive mobile definitivo
   Gabbia sede, indirizzo, struttura, mappa e collegamenti
   ========================================================== */

@media screen and (max-width: 767px) {

  /* Gabbia esterna unica della sezione sede */
  .spazio-prima-sede-corso {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .spazio-prima-sede-corso > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .sezione-sede-corso,
  .box-sede-principale-corso {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .figure-sede-corso {
    margin-bottom: 26px !important;
  }

  /* Griglia sede */
  .sede-grid-corso,
  .sezione-sede-corso .sede-grid-corso {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .sede-grid-corso > [class*="col-"],
  .sezione-sede-corso .sede-grid-corso > [class*="col-"] {
    margin-bottom: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .sede-grid-corso > [class*="col-"]:last-child,
  .sezione-sede-corso .sede-grid-corso > [class*="col-"]:last-child {
    margin-bottom: 0 !important;
  }

  .sede-colonna-card,
  .sezione-sede-corso .sede-colonna-card {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* Titoli sede */
  .titolo-box-sede-corso,
  .titolo-indirizzo-sede,
  .titolo-struttura-sede-corso,
  .titolo-struttura-camminando,
  .titolo-collegamenti-sede {
    align-items: flex-start !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .titolo-box-sede-corso i,
  .titolo-indirizzo-sede i,
  .titolo-struttura-sede-corso i,
  .titolo-struttura-camminando i,
  .titolo-collegamenti-sede i {
    margin-top: 2px !important;
  }

  /* Box principali sede */
  .box-sede-corso,
  .box-indirizzo-sede-corso,
  .box-struttura-sede-corso,
  .box-struttura-camminando-corso,
  .box-collegamenti-sede-corso {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .box-sede-corso,
  .sezione-sede-corso .box-sede-corso {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }

  .box-indirizzo-sede-corso,
  .sezione-sede-corso .box-indirizzo-sede-corso {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .box-struttura-sede-corso,
  .box-struttura-camminando-corso,
  .sezione-sede-corso .box-struttura-sede-corso,
  .sezione-sede-corso .box-struttura-camminando-corso {
    margin-top: 18px !important;
    margin-bottom: 24px !important;
  }

  .box-collegamenti-sede-corso,
  .sezione-sede-corso .box-collegamenti-sede-corso {
    margin-top: 22px !important;
    margin-bottom: 24px !important;
  }

  /* Indirizzo */
  .titolo-indirizzo-sede,
  .sezione-sede-corso .titolo-indirizzo-sede {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }

  .riga-indirizzo-info,
  .indirizzo-sede-corso,
  .sezione-sede-corso .riga-indirizzo-info,
  .sezione-sede-corso .indirizzo-sede-corso {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  .indirizzo-sede-corso:last-child,
  .sezione-sede-corso .indirizzo-sede-corso:last-child {
    margin-bottom: 0 !important;
  }

  /* Struttura sede / Camminando */
  .lista-struttura-sede-corso li,
  .lista-struttura-camminando li {
    position: relative !important;
    padding-left: 54px !important;
    padding-right: 12px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .box-struttura-sede-corso .lista-struttura-sede-corso li::before,
  .box-struttura-camminando-corso .lista-struttura-camminando li::before {
    left: 17px !important;
    top: 13px !important;
  }

  .nota-struttura-sede-corso,
  .nota-struttura-camminando {
    padding: 11px 12px !important;
    box-sizing: border-box !important;
  }

  /* Mappa */
  .mappa-corso-2026,
  .mappa-sesto-2026,
  .sezione-sede-corso .mappa-corso-2026,
  .sezione-sede-corso .mappa-sesto-2026 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mappa-corso-frame {
    height: 360px !important;
  }

  .mappa-corso-frame,
  .mappa-corso-info {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mappa-corso-info {
    padding: 12px 14px !important;
  }

  /* Come raggiungerci */
  .lista-collegamenti-sede li {
    gap: 7px !important;
    padding: 9px 8px 9px 6px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .icona-collegamenti-sede {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    font-size: 11.5px !important;
    flex-shrink: 0 !important;
  }

  .btn-collegamenti-sede {
    width: 100% !important;
    padding: 12px 14px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

}
/* ==========================================================
   Macrolibrarsi widget - contenitore responsive sobrio
   ========================================================== */

@media screen and (max-width: 767px) {

  .macrolibrarsi-widget-corso {
    margin: 18px 14px 38px !important;
    padding: 16px 14px !important;
    background: #ffffff !important;
    border: 1px solid #eadfd2 !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 12px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .macrolibrarsi-widget-corso iframe,
  .macrolibrarsi-widget-corso table,
  .macrolibrarsi-widget-corso img {
    max-width: 100% !important;
  }

}
 /* ==========================================================
   Footer On Zon Su School - responsive mobile definitivo
   Testi neri, nav evidente, spaziature morbide, calce discreta
   ========================================================== */

@media screen and (max-width: 767px) {

  /* Struttura generale footer mobile */
  .main-footer .footer-widget-area {
    padding-top: 22px !important;
    padding-bottom: 16px !important;
    overflow-x: hidden !important;
  }

  .main-footer .footer-contents {
    padding-top: 14px !important;
    padding-bottom: 55px !important;
    overflow-x: hidden !important;
  }

  .main-footer .footer-widget-area > .container,
  .main-footer .footer-contents > .container {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  .main-footer .footer-widget-area .row,
  .main-footer .footer-contents .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .main-footer .footer-widget-area [class*="col-"],
  .main-footer .footer-contents [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .main-footer .footer-widget {
    margin-bottom: 16px !important;
  }

  .main-footer .footer-widget:first-child {
    margin-bottom: 8px !important;
  }

  .main-footer .footer-widget:first-child .textwidget a {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  .main-footer .footer-widget:first-child img {
    max-width: 165px !important;
  }

  .main-footer .footer-widget,
  .main-footer .sidebar-widget-wrapper,
  .main-footer .textwidget,
  .main-footer address {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Testi generali footer: neri e uniformi */
  .main-footer,
  .main-footer p,
  .main-footer span,
  .main-footer address,
  .main-footer .textwidget,
  .main-footer .testo-contatti-scuro,
  .main-footer .footer-contatto-riga,
  .main-footer .mobile-center-flex,
  .main-footer .dati-azienda-titolo,
  .main-footer .dati-azienda-titolare,
  .main-footer .dati-azienda-fisco,
  .main-footer .claim-footer-onzonsu,
  .main-footer .claim-footer-onzonsu span {
    color: #333333 !important;
    font-size: 16.5px !important;
    line-height: 1.5 !important;
  }

  .main-footer .dati-azienda-titolo,
  .main-footer .dati-azienda-titolare {
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 4px !important;
  }

  .main-footer .dati-azienda-titolo {
    margin-top: 0 !important;
  }

  .main-footer .dati-azienda-fisco {
    font-weight: 400 !important;
    line-height: 1.45 !important;
  }

  .main-footer .claim-footer-onzonsu {
    font-weight: 400 !important;
    line-height: 1.45 !important;
    margin-bottom: 16px !important;
  }

  .main-footer .claim-footer-onzonsu strong,
  .main-footer .claim-footer-onzonsu span {
    color: #333333 !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
  }

  /* Nav footer: link evidenti, più ariosi, con pallino vuoto */
  .main-footer .footer-quick-links {
    padding-top: 10px !important;
    margin-top: 6px !important;
    margin-bottom: 4px !important;
    border-top: 0 !important;
  }

  .main-footer .footer-links-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    column-gap: 16px !important;
    row-gap: 13px !important;
  }

  .main-footer .footer-quick-links .footer-seo-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 35px !important;
    padding: 7px 13px 7px 30px !important;
    border: 1px solid #eadfd2 !important;
    border-radius: 6px !important;
    background: #fffaf5 !important;
    color: #333333 !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 7px rgba(179, 84, 0, 0.07) !important;
    box-sizing: border-box !important;
    outline: 0 !important;
    transition: none !important;
    animation: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .main-footer .footer-quick-links .footer-seo-link::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    transform: translateY(-50%) !important;
    border: 2px solid #B35400 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  .main-footer .footer-quick-links .footer-seo-link::after,
  .main-footer .footer-links-row::before,
  .main-footer .footer-links-row::after,
  .main-footer .freccetta-ozs {
    content: none !important;
    display: none !important;
  }

  .main-footer .footer-seo-link-metodo {
    flex-basis: auto !important;
    width: auto !important;
    margin-top: 3px !important;
    margin-bottom: 3px !important;
  }

  .main-footer .footer-quick-links .footer-seo-link:hover,
  .main-footer .footer-quick-links .footer-seo-link:focus,
  .main-footer .footer-quick-links .footer-seo-link:active {
    color: #ffffff !important;
    background: #E67E22 !important;
    border-color: #E67E22 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  .main-footer .footer-quick-links .footer-seo-link:hover::before,
  .main-footer .footer-quick-links .footer-seo-link:focus::before,
  .main-footer .footer-quick-links .footer-seo-link:active::before {
    border-color: #ffffff !important;
    background: transparent !important;
  }

  .main-footer .footer-quick-links .footer-seo-link.footer-link-attivo {
    color: #ffffff !important;
    background: #B35400 !important;
    border-color: #B35400 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }

  .main-footer .footer-quick-links .footer-seo-link.footer-link-attivo::before {
    border-color: #ffffff !important;
    background: transparent !important;
  }

  .main-footer .footer-quick-links .footer-seo-link.footer-link-attivo:hover,
  .main-footer .footer-quick-links .footer-seo-link.footer-link-attivo:focus,
  .main-footer .footer-quick-links .footer-seo-link.footer-link-attivo:active {
    color: #ffffff !important;
    background: #E67E22 !important;
    border-color: #E67E22 !important;
  }

  /* Contatti e social: più respiro tra telefoni e canali */
  .main-footer .footer-contatto-riga {
    margin-bottom: 11px !important;
  }

  .main-footer .footer-social-riga {
    margin-bottom: 10px !important;
  }

  .main-footer .footer-social-riga:last-child {
    margin-bottom: 0 !important;
  }

  .main-footer .footer-social-link {
    display: inline-flex !important;
    align-items: center !important;
    color: #333333 !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-decoration: underline !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    padding: 4px 8px !important;
    outline: 0 !important;
    box-shadow: none !important;
    transition: none !important;
    animation: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .main-footer .footer-social-link:hover,
  .main-footer .footer-social-link:focus,
  .main-footer .footer-social-link:active {
    color: #ffffff !important;
    background: #E67E22 !important;
    border-color: #E67E22 !important;
    text-decoration: none !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .main-footer .footer-social-link.footer-link-attivo {
    color: #ffffff !important;
    background: #B35400 !important;
    border-color: #B35400 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }

  .main-footer .footer-social-link.footer-link-attivo:hover,
  .main-footer .footer-social-link.footer-link-attivo:focus,
  .main-footer .footer-social-link.footer-link-attivo:active {
    color: #ffffff !important;
    background: #E67E22 !important;
    border-color: #E67E22 !important;
  }

  /* Icone contatti/social stabili */
  .main-footer .footer-contatto-riga i {
    flex: 0 0 25px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    transition: none !important;
    animation: none !important;
  }

  .main-footer .footer-social-riga img,
  .main-footer .icona-telegram-footer {
    flex: 0 0 22px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* Calce legale più discreta */
  .main-footer .footer-copyright,
  .main-footer .footer-copyright span,
  .main-footer .footer-copyright strong,
  .main-footer .footer-copyright .footer-legal-link,
  .main-footer .footer-copyright .preferenze-btn {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #555555 !important;
  }

  .main-footer .footer-copyright {
    margin-bottom: 8px !important;
  }

  .main-footer .footer-copyright strong {
    font-weight: 700 !important;
  }

  .main-footer .footer-copyright .footer-legal-link,
  .main-footer .footer-copyright .preferenze-btn {
    color: #333333 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
  }

  .main-footer .footer-copyright .footer-legal-link:hover,
  .main-footer .footer-copyright .footer-legal-link:focus,
  .main-footer .footer-copyright .preferenze-btn:hover,
  .main-footer .footer-copyright .preferenze-btn:focus {
    color: #B35400 !important;
    text-decoration: underline !important;
  }

}

/* ==========================================================
   Cookiebot widget - reset sicuro + cliccabilità
   Non modifica popup, pulsanti, svg o contenuti interni
   ========================================================== */

/* Contenitore esterno: pulito, sopra gli altri elementi e cliccabile */
#CookiebotWidget {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  pointer-events: auto !important;
  z-index: 2147483647 !important;
}

/* Tutti gli elementi interni devono ricevere il click */
#CookiebotWidget * {
  pointer-events: auto !important;
}

/* Stati focus/active del contenitore */
#CookiebotWidget:focus,
#CookiebotWidget:active,
#CookiebotWidget:hover {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Pannello Cookiebot sopra eventuali elementi della pagina */
#CookiebotWidget .CookiebotWidget-body,
#CookiebotWidget [class*="CookiebotWidget-body"],
#CookiebotWidget [class*="CookiebotWidget-content"],
#CookiebotWidget [class*="CookiebotWidget-container"] {
  pointer-events: auto !important;
  z-index: 2147483647 !important;
}

/* BackTop sotto Cookiebot, così non intercetta i click del pannello */
#backTop {
  z-index: 9997 !important;
}

/* Mobile: solo posizione del widget, senza alterare dimensioni interne */
@media screen and (max-width: 767px) {

  #CookiebotWidget {
    left: 14px !important;
    right: auto !important;
    bottom: 16px !important;
    pointer-events: auto !important;
    z-index: 2147483647 !important;
  }

}
/* ==========================================================
   Menu interno corso - responsive mobile
   Pallino vuoto, rientro corretto, hover/touch e stato attivo
   ========================================================== */

@media screen and (max-width: 767px) {

  .ancoraggi-corso {
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .ancoraggi-corso ul {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .ancoraggi-corso li {
    position: relative !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ancoraggi-corso li::marker {
    content: "" !important;
    font-size: 0 !important;
  }

  .ancoraggi-corso li::before,
  .ancoraggi-corso li::after {
    content: none !important;
    display: none !important;
  }

  .ancoraggi-corso li a {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 14px 10px 36px !important;
    box-sizing: border-box !important;
    color: #333333 !important;
    background: #ffffff !important;
    border: 1px solid #eadfd2 !important;
    border-radius: 6px !important;
    text-align: left !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition:
      color 0.22s ease,
      background-color 0.22s ease,
      border-color 0.22s ease,
      box-shadow 0.22s ease !important;
    -webkit-tap-highlight-color: rgba(179, 84, 0, 0.16) !important;
  }

  .ancoraggi-corso li a::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    transform: translateY(-50%) !important;
    border: 2px solid #B35400 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-sizing: border-box !important;
    transition:
      border-color 0.22s ease,
      background-color 0.22s ease !important;
  }

  /* Touch / hover: accensione arancione */
  .ancoraggi-corso li a:hover,
  .ancoraggi-corso li a:focus,
  .ancoraggi-corso li a:active {
    color: #B35400 !important;
    background: #fffaf5 !important;
    border-color: #E67E22 !important;
    box-shadow: 0 3px 10px rgba(179, 84, 0, 0.08) !important;
    text-decoration: none !important;
  }

  .ancoraggi-corso li a:hover::before,
  .ancoraggi-corso li a:focus::before,
  .ancoraggi-corso li a:active::before {
    border-color: #E67E22 !important;
    background: #E67E22 !important;
  }

  /* Link cliccato: resta attivo fino al clic successivo */
  .ancoraggi-corso li a.ancoraggio-attivo {
    color: #ffffff !important;
    background: #B35400 !important;
    border-color: #B35400 !important;
    box-shadow: 0 4px 12px rgba(179, 84, 0, 0.18) !important;
    text-decoration: none !important;
  }

  .ancoraggi-corso li a.ancoraggio-attivo::before {
    border-color: #ffffff !important;
    background: transparent !important;
  }

  .ancoraggi-corso li a.ancoraggio-attivo:hover,
  .ancoraggi-corso li a.ancoraggio-attivo:focus,
  .ancoraggi-corso li a.ancoraggio-attivo:active {
    color: #ffffff !important;
    background: #E67E22 !important;
    border-color: #E67E22 !important;
  }

}