
h1, h2, h3, h4, h5, h6 {
    color: #111346 !important;
}


.custom-tabs-container {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    gap: 10px;
}

.custom-tab-item {
    margin: 0;
}

.custom-tab-link {
    display: block;
    padding: 12px 20px;
    border-radius: 10px;
    text-decoration: none;
    border: 1px solid #13153a;
    /* Bordo blu scuro per tutti i tab */
    background-color: #fff;
    color: #13153a;
    /* Testo blu scuro quando non attivo */
    font-weight: 400;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    white-space: nowrap;
    text-align: center;
}

.custom-tab-link:hover {
    background-color: #f8f9fa;
    color: #13153a;
    /* Mantieni il colore del testo al hover */
    text-decoration: none;
    /* Rimuovi la sottolineatura */
}

.custom-tab-link.active {
    background-color: #13153a;
    /* Sfondo blu scuro quando attivo */
    color: white;
    /* Testo bianco quando attivo */
    border-color: #13153a;
    font-weight: 500;
}

.custom-tab-link i {
    font-size: 0.85rem;
}

.date-selector {
    position: relative;
}

.date-selector input {
    background-color: white;
    border: 1px solid #ced4da;
    cursor: pointer;
    padding-right: 35px;
    /* Spazio per l'icona del calendario */
}

.date-selector .fa-calendar-alt {
    /* Classe corretta per l'icona */
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #6c757d;
    /* Colore grigio per l'icona */
}

/* CSS per daterangepicker con un solo calendario */
.single-calendar-daterange .drp-calendar.right {
    display: none !important;
}

.single-calendar-daterange .drp-calendar.left {
    border-right: none !important;
}

.single-calendar-daterange {
    width: auto !important;
}

/* CSS per daterangepicker con un solo calendario */
.single-calendar-daterange .drp-calendar.right {
    display: none !important;
}

.single-calendar-daterange .drp-calendar.left {
    border-right: none !important;
}

.single-calendar-daterange {
    width: auto !important;
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    padding: 0 !important;
}

.single-calendar-daterange .drp-calendar {
    max-width: none !important;
    width: 100% !important;
    padding: 10px !important;
}

.single-calendar-daterange .calendar-table {
    width: 100% !important;
    margin: 0 !important;
}

.single-calendar-daterange .drp-buttons {
    border-top: 1px solid #e9ecef;
    margin: 0 !important;
    padding: 10px 15px !important;
}

/***************
/* Notification Bell CSS */
.custom-notification-nav {
    list-style: none;
    margin: 14px 0px 0 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.custom-notification-item {
    position: relative;
    z-index: 1000;
}

.custom-notification-link {
    text-decoration: none;
    color: #333;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.custom-notification-bell {
    font-size: 20px;
    color: #333;
}

.custom-notification-badge {
    position: absolute;
    top: -12px;
    right: -4px;
    background: #13154B;
    color: white;
    border-radius: 10px;
    min-width: 20px;
    height: 20px;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
}

.custom-notification-badge.hide {
    display: none;
}

/* Dropdown CSS con layout fisso */
.notification-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    width: 350px;
    height: 400px;
    z-index: 9999;
    display: none;
    overflow: hidden;
}

.notification-dropdown.show {
    display: flex;
    flex-direction: column;
}

/* Header fisso */
.notification-header {
    /*background: #13154B;*/
    padding: 15px 20px;
    border-bottom: 1px solid #13154B;
    font-weight: bold;
    font-size: 16px;
    color: #13154B;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

/* Contenitore delle notifiche con scroll */
.notification-content-wrapper {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Singola notifica */
.notification-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #f1f1f1;
    cursor: pointer;
    transition: background-color 0.2s;
}

.notification-item {
    transition: background-color 0.2s ease;
}

.notification-item:hover {
    background-color: rgba(19, 21, 75, 0.1);
    cursor: pointer;
}


.notification-item:last-child {
    border-bottom: none;
}

/* Avatar */
.notification-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.notification-avatar i {
    color: white;
    font-size: 20px;
}

/* Contenuto notifica */
.notification-content {
    flex-grow: 1;
}

.notification-title {
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
    font-size: 14px;
}

.notification-time {
    color: #999;
    font-size: 12px;
}

/* Footer fisso */
.notification-footer {
    padding: 15px 20px;
    text-align: center;
    border-top: 1px solid #13154B;
    /*background: #13154B;*/
    flex-shrink: 0;
}

.notification-footer a {
    color: #13154B;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

.notification-footer a:hover {
    text-decoration: underline;
}

/* Fix per container */
.page-header {
    overflow: visible !important;
}

.top-menu {
    overflow: visible !important;
}

/* LOADER OVERLAY */
.loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.loader-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* SPINNER */
.loader-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #13154B;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* CONTENITORE */
.loader-container {
    position: relative;
}



/* Per creare col-2-4 (5 colonne) */
@media (min-width: 1200px) {
    .col-lg-2-4 {
        flex: 0 0 auto;
        width: 20%;
    }
}

.card-azienda {
    border-radius: 1rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
    transition: transform 0.2s, box-shadow 0.2s;
}

.card-azienda:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}

.azienda-img {
    min-height: 150px;
}

.azienda-img img {
    max-height: 140px;
    object-fit: contain;
}

.azienda-footer {
    min-height: 2.5em;
}

.nuova-azienda-card i.fa-plus {
    font-size: 3rem; /* già impostato da fa-3x, ma lo rinforziamo */
    color: #0d6efd; /* Bootstrap primary */
    transition: transform 0.2s, color 0.2s;
}

.nuova-azienda-card:hover i.fa-plus {
    transform: scale(1.2);
    color: #0a58ca; /* un blu più scuro all'hover */
}


/*
****
**** FORMAZIONE
****
*/
.formazione-card {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.formazione-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.15);
}

.formazione-media-wrapper {    
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* mantiene proporzione video */
    background-color: #f1f3f5;
    border-bottom: 1px solid #dee2e6;
    overflow: hidden;
}

.formazione-media-wrapper iframe,
.formazione-media-wrapper video,
.formazione-media-wrapper .plyr__video-wrapper {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
}

.formazione-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 2px solid #dee2e6;
    border-bottom: none;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.formazione-card:hover .formazione-image {
    transform: scale(1.04);
    filter: brightness(0.9);
}

/* Overlay trasparente all'hover */
.formazione-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.15);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.formazione-card:hover .formazione-image-overlay {
    opacity: 1;
}

/* Icona play per video */
.formazione-play-icon {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.85);
    pointer-events: none;
}

.formazione-content-wrapper {
    flex-grow: 1;
    padding: 1rem;
    background-color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.formazione-badge {
    font-size: 0.7rem;
    padding: 0.25em 0.6em;
    border-radius: 20px;
    color: #fff;
}

.formazione-badge-documento {
    background: linear-gradient(90deg, #0d6efd, #0a58ca);
}

.formazione-badge-video {
    background: linear-gradient(90deg, #20c997, #198754);
}

.formazione-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0.5rem 0 0.3rem 0;
}

.formazione-description {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 3.6em;
}

.formazione-btn {
    border: none;
    border-radius: 20px;
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    transition: background 0.3s ease;
}

.formazione-btn-visualizza {
    background: #0d6efd;
    color: #fff;
}

.formazione-btn-visualizza:hover {
    background: #0b5ed7;
}

.formazione-btn-elimina {
    background: #dc3545;
    color: #fff;
}

.formazione-btn-elimina:hover {
    background: #bb2d3b;
}


.validation-error-text {
  color: #ff4c4c;
  /* rosso simile a quello dell'immagine */
  font-size: 14px;
  font-family: sans-serif;
  margin-top: 4px;
}

.validation-error-field {
  border: 2px solid #ff4c4c;
  /* rosso simile all’immagine */
  border-radius: 8px;
  /* angoli arrotondati */
  padding: 0px;
  /* spazio interno */
  outline: none;
  /* rimuove contorno blu su focus */
}

.validation-error-field:focus {
  border-color: #ff4c4c;
  /* mantiene rosso anche a focus */
  box-shadow: 0 0 0 2px rgba(255, 76, 76, 0.2);
  /* leggero alone rosso */
}

.stag-header-pill {
    padding: .5rem 1rem;
    color: #fff;
    background-color: #111346;
    border-color: #111346 #111346 #fff;
    margin: 0 2.5px !important;
    border-radius: 10px !important;

    width: 100%;
    min-height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 600;
    font-size: 14px;
}
.stag-header-pill-grey {
    padding: .5rem 1rem;
    color: #fff;
    background-color: #6c757d;        /* grigio bootstrap-like */
    border-color: #6c757d #6c757d #fff;
    margin: 0 2.5px !important;
    border-radius: 10px !important;

    width: 100%;
    min-height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 600;
    font-size: 14px;
}
.stag-header-pill-cyan {
    padding: .5rem 1rem;
    color: #fff;
    background-color: #108dff;        /* grigio bootstrap-like */
    border-color: #108dff #108dff #fff;
    margin: 0 2.5px !important;
    border-radius: 10px !important;

    width: 100%;
    min-height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 600;
    font-size: 14px;
}
.stag-header-pill-violet {
    padding: .5rem 1rem;
    color: #fff;
    background-color: #6b017b;        /* grigio bootstrap-like */
    border-color: #6b017b #6b017b #fff;
    margin: 0 2.5px !important;
    border-radius: 10px !important;

    width: 100%;
    min-height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 600;
    font-size: 14px;
}
.stag-header-pill-orange {
    padding: .5rem 1rem;
    color: #fff;
    background-color: #ffc000;        /* grigio bootstrap-like */
    border-color: #ffc000 #ffc000 #fff;
    margin: 0 2.5px !important;
    border-radius: 10px !important;

    width: 100%;
    min-height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 600;
    font-size: 14px;
}

.input-euro-wrapper {
    position: relative;
    width: 100%;
}

.euro-symbol {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
    font-size: 0.9rem;
    pointer-events: none;
}

.input-euro {
    padding-left: 26px !important; /* spazio per il simbolo € */
}

.minw-200 {
    min-width: 200px;
}
.minw-100 {
    min-width: 100px;
}
.minw-120 {
    min-width: 120px;
}
.minh-50 {
    min-height: 50px !important;
}
.stag-btn-valida {
    transition: all 0.2s ease-in-out;
}

.stag-btn-valida:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.ws-nowrap {
    white-space: nowrap !important;
}


/* ===== SELECT SINGOLA ===== */

/* Altezza, padding, e bordi identici a Bootstrap */
.select2-container--default .select2-selection--single {
    height: 40px !important;
    padding: 6px 12px !important;
    font-size: 0.9rem !important;
    border: 1px solid #c3cbd6 !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    display: flex !important;
    align-items: center !important;
}

/* Centrare il testo */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

/* Allineare freccia */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
}

/* Larghezza piena */
.select2-container {
    width: 100% !important;
}

/* Opzioni selezionate e hover */
.select2-container--default .select2-results__option--selected {
    background-color: #13154B !important;
    color: white !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #13154B !important;
    color: white !important;
}

/* ===== SELECT MULTIPLA - STYLE MATCHING SINGLE ===== */

/* Contenitore principale */
.select2-container--default .select2-selection--multiple {
    /* Misure identiche alla singola */
    min-height: 40px !important;
    border: 1px solid #c3cbd6 !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    
    /* Layout Flex per allineamento verticale */
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    
    /* Padding leggermente ridotto verticalmente per compensare l'altezza dei tag */
    padding: 3px 8px !important; 
    
    /* Font */
    font-size: 0.9rem !important;
    box-shadow: none !important;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Focus state (opzionale, per matchare Bootstrap) */
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #86b7fe !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Area interna dove stanno i tag e l'input */
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 4px !important; /* Spazio tra i tag e l'input */
    list-style: none !important;
}

/* INPUT DI RICERCA (Il cursore che lampeggia) */
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    /* Reset totale per farlo sembrare testo normale */
    margin: 0 !important;
    padding: 0 !important;
    height: 24px !important; /* Altezza fissa per allinearsi al testo della singola */
    line-height: 24px !important;
    font-size: 0.9rem !important;
    font-family: inherit !important;
    color: #495057 !important;
    background: transparent !important;
    border: none !important;
    flex: 1 1 auto !important; /* Prende lo spazio rimanente */
    min-width: 60px !important;
}

/* Placeholder styling */
.select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
    color: #999 !important;
    opacity: 1; 
}

/* TAG (Pillole selezionate) */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    position: relative !important;
    background-color: #13154B !important;
    border: none !important;
    border-radius: 50rem !important; /* Pillola arrotondata */
    
    /* Padding per far spazio alla X a sinistra */
    padding: 2px 10px 2px 24px !important; 
    
    margin: 0 !important; /* Gestiamo lo spazio con il 'gap' del contenitore */
    color: #fff !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    cursor: default !important;
    display: flex !important;
    align-items: center !important;
    height: 26px !important; /* Altezza contenuta per stare nei 40px */
}

/* Hover sulla pillola */
.select2-container--default .select2-selection--multiple .select2-selection__choice:hover {
    background-color: #1f2168 !important;
}

/* LA "X" PER RIMUOVERE IL TAG */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    position: absolute !important;
    left: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #fff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0.8;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #fff !important;
    opacity: 1;
    background: transparent !important;
}

/* Nasconde la X grande generale (quella per pulire tutto) se presente */
.select2-container--default .select2-selection--multiple .select2-selection__clear {
    display: none !important;
}