.section-heading {
    margin-top: 50px;
}
.upcoming-meetings .down-content h4 a {
    color: #008fff;
    text-decoration: underline !important;
}
.categories ul li a::before {
    content: "\f058"; /* Codice Unicode per fa-circle-check */
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Richiesto per la versione Solid */
    margin-right: 8px; /* Sostituisce la classe Bootstrap me-2 */
    display: inline-block;
    vertical-align: middle;
}
section.upcoming-meetings .categories {
    background-color: #000 !important;
}
section.upcoming-meetings .categories h4 {
    color: #fff !important;
}
section.upcoming-meetings .categories ul li a {
    color: #fff !important;
}
.categorie_trasf {
    position: absolute;
    left: 20px;
    bottom: 20px;
    font-size: 16px;
    color: #1f272b;
    font-weight: 600;
    background-color: rgba(250, 250, 250, 0.9);
    padding: 7px 12px;
    border-radius: 10px;
    background-color: #3f8ecc;
}
.categorie_trasf h6 {
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
}
.categories ul li a {
    display: flex;
    align-items: flex-start; /* Allinea l'icona in alto se il testo fa pi&#65533; righe */
    text-decoration: none;   /* Rimuove la sottolineatura se presente */
}

.categories ul li a::before {
    content: "\f058"; /* Codice Unicode per fa-circle-check (o \f00c per fa-check) */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    
    /* Gestione spaziatura fissa */
    margin-right: 10px;
    flex-shrink: 0;   /* Impedisce all'icona di rimpicciolirsi o schiacciarsi */
    
    /* Allineamento ottico perfetto con la prima riga di testo */
    margin-top: 2px;  
}

/*ACCORDION*/
/* ==========================================================================
   VERSIONE DARK PER L'ACCORDION DESTRO (SEZIONE TAXI/NCC)
   ========================================================================== */

/* Sfondo principale del contenitore accordion */
#apply .accordions {
    /* background-color: #1f272b !important; */ /* Grigio scuro coerente con il sub-header del template */
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3);
    /* background-color: #474d50 !important; */
    background-color: rgba(250, 250, 250, 0.15) !important;
}

/* Bordi di separazione tra una scheda e l'altra */
#apply .accordions .accordion {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#apply .accordions .last-accordion {
    border-bottom: none !important;
}

/* Intestazione della domanda (Chiusa) */
#apply .accordion-head {
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
}

/* Stato della domanda Aperta (Cambio colore testo in Giallo/Arancio del template) */
#apply .accordion-head.is-open {
    color: #f5a425 !important; /* Mantiene l'identit&#65533; cromatica del sito */
    border-bottom: none !important;
}

/* Icona freccia a destra */
#apply .accordion-head .icon i {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Icona freccia quando la scheda &#65533; aperta */
#apply .accordion-head.is-open .icon i {
    color: #f5a425 !important;
}

/* Corpo del testo della risposta (All'interno dell'accordion) */
#apply .accordion-body {
    border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
}

#apply .accordion-body .content p {
    color: #dddddd !important; /* Testo chiaro ad alta leggibilit&#65533; su sfondo scuro */
    font-size: 14px;
    line-height: 25px;
}

#courses .titolobloglist {
  font-size: 17px;
  color: #fff;
  margin-bottom: 7px;

  /* 1. Altezza fissa calcolata per 2 righe */
  line-height: 1.4;            /* Definisce l'altezza di ogni singola riga */
  height: calc(1.4em * 2);     /* Calcola l'altezza esatta per 2 righe (circa 47px) */
  overflow: hidden;            /* Nasconde il testo in eccesso */

  /* 2. Giustificazione del testo */
  text-align: justify;

  /* 3. Sillabazione e interruzione parola con trattino (-) */
  hyphens: auto;
  word-break: break-word;

  /* 4. I tre puntini (Ellipsis) bloccati alla seconda riga */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;       /* Forza il taglio e i puntini alla 2&#65533; riga */
}
#courses .sottotitolobloglist {
    font-size: 14px;
    line-height: 21px;
    font-weight: normal;
    color: #fff;
    height: 67px;
    overflow: hidden;
    text-align: justify;
    hyphens: auto;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
#courses .more_div {
    background-color: #3c4345;
    padding: 7px 15px 30px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}
#courses .datablog {
    display: none;
}
#box-servizi.blog-list .immagine-cliccabile {
    display: block;          /* Rende il link un blocco per contenere correttamente l'immagine */
    height: 230px;           /* Blocca l'altezza del contenitore */
    overflow: hidden;        /* Taglia l'immagine sia in eccesso che sugli angoli arrotondati */
    width: 100%;             /* Prende tutta la larghezza del box padre */
    
    /* Angoli arrotondati solo sulla parte superiore */
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

#box-servizi.blog-list .immagine-cliccabile img {
    width: 100%;             /* Cambiato da auto a 100% per riempire il box e far funzionare il cover */
    height: 100%;            /* Estende l'immagine in altezza fino a 230px */
    object-fit: cover;       /* Taglia l'eccedenza mantenendo le proporzioni */
    object-position: center; /* Centra l'immagine sia in orizzontale che in verticale */
}

@media (max-width: 767.98px) {
    .services .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .main-button-red a {
        padding: 12px 15px !important;
    }
}



