@font-face {
    font-family: 'Roboto';
    src: url('../../font/Roboto/Roboto-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../../font/Roboto/Roboto-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* common */
.h-100-vh{
    height: 100vh;
}

.w-100-vw{
    width: 100vw;
}

/* colors */
.text-blutheme{
    color: #394457;
}

.text-greytheme{
    color: #8ca1b6;
}

.text-darkgreytheme{
    color: #6c7383;
}

.dashboard .table thead th {
    font-size: 0.9rem !important;
    padding: 0.5rem 1.25rem;
}

.dashboard .table tbody td {
    padding: 0.9rem 1.25rem;
}

.card-header:first-child {
    padding: 1rem 1.25rem;
}

.dashboard .btn-primary, .dashboard .btn-primary:hover{
    background:#fff;
    border: 1px solid blue;
}

.dashboard .list-group-item {
    padding: 0.9rem 1.25rem;
}

.dashboard .card-footer {
    padding: 0.9rem 1.25rem;
}



.btn-primary{
    background-color: #e60000;
    border-color: #e60000;
}

.btn-primary:hover{
    background-color: #890000;
    border-color: #890000;
}

.dropdown_userMenu {
    position: absolute!important;
    left: auto!important;
    right: 0px;
}

.userInitials_box{
    height: 36px;
    min-width: 36px;
    width: 36px;
    background: #6c7383;
    color: #fff;
}

.box-ticketStato{
    color: #fff;
    padding: 10px 30px;
    background: transparent;
    font-weight: bold;
    font-size: 1.5rem;
}

.box-ticketStato.aperto{
    background: #57b657;
}

.box-ticketStato.in-lavorazione{
    border: 1px solid #0d6efd;
    color: #0d6efd;
}

/* Aggiungi questo CSS per controllare meglio la larghezza dello stato del ticket */
.box-ticketStato {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 20px;
  margin: 0 auto;
  border-radius: 4px;
  max-width: 100%;
}

/* Regola la larghezza del contenitore dello stato del ticket */
.ticket-status-container {
  text-align: center;
}

/* Regola la larghezza su diverse dimensioni dello schermo */
@media (min-width: 576px) {
  .box-ticketStato {
    min-width: 200px;
    max-width: 300px;
  }
}

/* Modifica per la visualizzazione su dispositivi mobili */
@media (max-width: 575.98px) {
  .box-ticketStato {
    width: 100%;
    max-width: none;
  }
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    background: #e7e6eb;
    color: #394457;
}

.form-label{
    font-size: 13px;
}

#login_page{
    width: 100vw;
    height: 100vh;
    position: relative;
    z-index: 1;
}

#login_page .bg_filter{
    background: url(../../images/bg_login.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: -200px;
    background-position-y: center;
    width: 100vw;
    height: 100vh;
    position: absolute;
    z-index: 1;
    filter: grayscale(50%);
}

.login_container{
	position: relative;
	z-index: 3;
    background-color: #fff;
}

.login_logo{
    background: url(../../images/logos/logo_login.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 191px;
    height: 36px;
}

.toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

#footer {
    position: absolute;
    bottom: 0px;
}

.dash_card_box .card-title {
    font-weight: 500;
    font-size: 1.3rem;
}

.dash_card_box .card-title i{
    color: #e60000;
}

.dash_card_box .number_box {
    min-width: 35px;
    text-align: center;
}

.dash_card_box .card {
    font-size: 1rem;
}

.form-floating .form-control:focus {
    border: none !important;
    box-shadow: none !important;
}

.sedebar .border-top {
    border-top: 1px solid #6b6d70 !important;
}

.card .card-title {
    color: #010101;
    margin-bottom: 1.5rem;
    text-transform: capitalize;
    font-size: 1.4rem;
    font-weight: 500;
}

.page-title {
    font-size: 1.8rem;
    padding-left: 0.8rem;
    border-left: 3px solid #a2a6ac;
    line-height: 1.8rem;
}

.page-ticket .page-title {
    border-color: red;
}

.page-asset .page-title {
    border-color: #0066cc;
}

.w-5
{
    width: 5%;
}

.action-ico{
    font-size: 14px;
    cursor: pointer;
    color:#14538a;
}

.table-vscroll {
    max-height: 500px !important;
    overflow-y: auto !important;
    border: 1px solid #ddd;
    border-radius: 1px;
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date, table.dataTable td.dt-type-numeric, table.dataTable td.dt-type-date {
    text-align: left!important;
}

.actions-btn {
    background: #8b8b8b;
}



/* Per esempio dashboard */

:root {
    --vf-red: #e60000;
    --vf-dark: #333333;
    --ennova-blue: #0066cc;
    --ennova-black: #000;
}


.dashboard-card {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-left: 4px solid;
    overflow: hidden;
}

.card {
    border-radius: 10px;
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.dashboard td:first-child, .dashboard th:first-child {
    background-color: #eef7ff;
}

.dashboard .table > :not(:last-child) > :last-child > * {
    border-bottom-color: #6c7383;
}

.card-assets {
    border-left-color: var(--ennova-blue);
}

.card-tickets {
    border-left-color: var(--vf-red);
}

.asset-card {
    border-left: 3px solid;
}

.card-company {
    border-left-color: var(--ennova-black);
}

.asset-status-new {
    border-left-color: #28a745;
}

.asset-status-active {
    border-left-color: #17a2b8;
}

.asset-status-warning {
    border-left-color: #ffc107;
}

.asset-status-danger {
    border-left-color: #dc3545;
}

.ticket-priority-high {
    background-color: #fff3f3;
}

#assetMap {
    height: 300px;
    background-color: #eee;
    border-radius: 8px;
}

/* fine esempio dashboard */


/* accordion bordi arrotondati */
.dt-container .form-control {
    min-height: auto;
    line-height: 1rem !important;
}

.dt-container .dt-button {
    background: #6c7383 !important;
    padding: 7px 14px !important;
    font-size: 12px !important;
    color: #fff !important;
    border-radius: 5px !important;
    line-height: 0.7rem !important;
    border: none !important;
}

.accordion-item {
    border: none;
}

.accordion-header {
    border-bottom: 1px solid #e0e0e0;
}

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

.accordion-item:first-of-type > .accordion-header .accordion-button {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/* Arrotonda solo l'ultimo elemento */
.accordion-item:last-child {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Rimuove il border-radius di default quando il bottone è collassato */
.accordion-button:not(.collapsed) {
    border-radius: 0;
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: #394457;
}

.accordion-button:not(.collapsed)::after {
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

.accordion-body {
    border-bottom: 1px solid #e0e0e0;
}

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

.accordion-item th:first-child{
    background-color: transparent;
}

.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
}

.accordion-item:first-of-type {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
/* */

.table-simple.table > :not(:last-child) > :last-child > * {
    border-bottom-color: rgb(180 180 180);
}
.table-simple.table thead th {
    font-size: 0.9rem !important;
}
.table-simple.table thead th {
    border-bottom: 2px solid #000;
    font-size: 0.9rem;
}

.table-simple.table td{
    padding: 0.5rem 0.5rem;
    vertical-align: middle;
}

@media (min-width: 992px) {
    .sidebar-offcanvas {
        
    }
}


/* CSS per le card della pagina report Ticket */
.stats-card {
    transition: all 0.3s ease;
    border: none;
    background: #ffffff;
    border-left: 4px solid transparent;
}

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

.stats-number {
    font-size: 28px;
    font-weight: 600;
    color: #2c2c2c;
}

.stats-card h6 {
    font-size: 0.9rem;
    font-weight: 500;
}

/* Colori specifici per ogni card */
.stats-card.ticket-totali {
    border-left-color: #dc3545;
}

.stats-card.ticket-chiusi {
    border-left-color: #dc3545;
}

.stats-card.chiusure-termine {
    border-left-color: #dc3545;
}

.stats-card.tempo-chiusura {
    border-left-color: #dc3545;
}

/* Aggiungi queste regole al tuo CSS esistente */
.stats-card {
    transition: all 0.3s ease;
    border: none;
    background: #ffffff;
    border-left: 4px solid transparent;
    height: 100%;
    /* Occupa tutta l'altezza disponibile */
    min-height: 140px;
    /* Altezza fissa per uniformità */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 15px;
    /* Spaziatura inferiore */
}

/* Modifica le media query esistenti nel tuo CSS */
@media (max-width: 1199.98px) {

    /* Per tablet in landscape e risoluzioni simili */
    .stats-cards-container>div {
        margin-bottom: 20px;
    }
}

@media (max-width: 991.98px) {

    /* Per tablet in portrait */
    .stats-cards-container>div {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767.98px) {

    /* Per mobile */
    .stats-cards-container>div {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .stats-card {
        min-height: 120px;
        margin-bottom: 20px;
    }
}

/* fine CSS per le card della pagina report Ticket */

/* tabs scheda ticket */
.underline-tabs .nav-tabs {
    border-bottom: 2px solid #e9ecef;
}

.underline-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    padding: 1rem 1.5rem;
    margin-bottom: -2px;
    font-weight: 500;
    color: #ffffff;
    transition: all 0.3s ease;
    font-size: 1rem;
    font-weight: bold;
    border-right: 1px solid #ffffff73;
}

.underline-tabs .nav-link {
     background: #394457;
}

.underline-tabs .nav-link:hover {
    border-bottom-color: transparent;
    color: #a5a5a5;
}

.underline-tabs .nav-link.active {
    border-bottom-color: #fff;
    color: #394457;
}

.underline-tabs .nav-link.active i {
    color: #e60000;
}

/* Stile migliorato per i tab */
.underline-tabs .nav-tabs {
  border-bottom: 2px solid #e9ecef;
}

.underline-tabs .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  color: #f8f9fa;
  padding: 0.75rem 1rem;
  transition: all 0.2s ease;
}

.underline-tabs .nav-link:hover {
  border-color: transparent;
  color: #a3a4a5;
}

.underline-tabs .nav-link.active {
  color: #e60000;
  border-bottom: 3px solid #e60000;
  background-color: transparent;
}

/* Supporto per icone nei tab */
.underline-tabs .nav-link i {
  margin-right: 8px;
}

@media (max-width: 576px) {
  .underline-tabs .nav-link .tab-text {
    font-size: 0.85rem;
  }
}

/* CSS per migliorare la visualizzazione delle underlineTabs in mobile */
@media (max-width: 576px) {
  .underline-tabs .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 5px; /* Spazio per la scrollbar */
  }

  .underline-tabs .nav-tabs::-webkit-scrollbar {
    height: 3px;
  }

  .underline-tabs .nav-tabs::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
  }

  .underline-tabs .nav-tabs .nav-item {
    float: none;
    flex-shrink: 0;
  }

  .underline-tabs .nav-tabs .nav-link {
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
  }
  
  .underline-tabs .nav-tabs .nav-link i {
    margin-right: 4px !important;
    font-size: 0.85rem;
  }
}

/* Stile migliorato per i tab */

/* Modifica per far occupare ai tab tutta la larghezza disponibile */
.underline-tabs .nav-tabs {
  display: flex;
  width: 100%;
  border-bottom: 2px solid #e9ecef;
  font-size: 0; /* Elimina lo spazio tra gli elementi inline-block */
  white-space: nowrap; /* Impedisce il wrap */
}

.underline-tabs .nav-tabs .nav-item {
  flex: 1 1 0; /* Distribuisce equamente lo spazio */
  text-align: center;
  font-size: 1rem; /* Ripristina la dimensione del font */
  display: flex; /* Assicura che l'elemento si espanda */
}

.underline-tabs .nav-tabs .nav-item .nav-link {
  width: 100%; /* Fa occupare tutto lo spazio disponibile */
  white-space: nowrap;
}

/* HTML modificato: eliminare spazi tra i tag <li> */
/* <li>...</li><li>...</li><li>...</li> */

/* Per mobile assicurati che il contenuto sia scorrevole */
@media (max-width: 576px) {
  .underline-tabs .nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start; /* Allinea all'inizio invece che distribuire */
  }

  .underline-tabs .nav-tabs .nav-item {
    flex: 0 0 auto;
    min-width: 120px; /* Larghezza minima per tab */
  }
}

/* Assicurati che il contenitore principale non abbia margini o padding non necessari */
.underline-tabs {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow: hidden; /* Impedisce che eventuali elementi figli causino overflow */
}

/* Content Animation */
.tab-pane.fade {
    transition: all 0.2s ease-out;
}

.tab-pane.fade.show {
    animation: fadeIn 0.5s ease-out;
}

.tab-content {
    border: none;
    border-top: 0;
    padding: 1.25rem 1.25rem;
    text-align: justify;
    background: #fff;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.ef_action {
    position: absolute;
    right: 0;
    bottom: 10px;
    color: grey;
}

.ef_action:hover {
    color: #394457;
}

.toolbar-title{
    color: #394457;
    font-size: 1.125rem;
    font-weight: 700;
}

.toolbar-title-s{
    color: #394457;
    font-size: 1rem;
    font-weight: 700;
}

.box-tkt-stato{
    background: #dbdbdb;
    padding: 10px 20px;
}

.form-switch .form-check-input{
    margin-left: 0px;
}

.form-switch .form-check-input {
    margin-right: 1rem;
}
    

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* */

.modal-lg {
    max-width: fit-content;
}


.policy-password {
    list-style-type: none;
    padding: 0;
}

.policy-password .ko{
    color: #ea2e2e;
}

.policy-password .ko::before{
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00d";
    font-size: 12px;
    margin-right: 8px;
}

.policy-password .ok{
    color: #009c00;
}

.policy-password .ok::before{
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00c";
    font-size: 12px;
    margin-right: 8px;
}

/* Stile per pagine non autorizzate */
.unauthorized-access-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 70vh;
    text-align: center;
    padding: 2rem;
}

.unauthorized-access-icon {
    font-size: 5rem;
    color: #ff5252;
    margin-bottom: 1.5rem;
}

.unauthorized-access-title {
    color: #ff5252;
    margin-bottom: 1rem;
}

.unauthorized-access-message {
    margin-bottom: 2rem;
    font-size: 1.1rem;
    color: #6c757d;
}

.unauthorized-access-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

@media (max-width: 576px) {
    .unauthorized-access-actions {
        flex-direction: column;
    }
}

/* sweetalert-custom-fixes.css */


/* Cookie policy */
 #cookie-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #cc0000;
  color: #fff;
  padding: 1rem;
  z-index: 9999;
}
#cookie-bar p {
  margin: 0;
}


/* --- Stili Base (dal tuo CSS originale, con modifiche) --- */
.swal2-container {
    z-index: 1500; /* Ok */
}

.swal2-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 1.5em;
    width: auto;
    max-width: 90%;
    box-sizing: border-box;
    position: relative; /* Aggiunto per posizionare correttamente la X */
    min-width: 30%; /* Ok, se lo desideri */
}

.swal2-title {
    font-size: 25px;
    line-height: 1.2;
    font-weight: 600;
    color: #1F1F1F;
    margin: 0 0 0.5em 0;
    padding: 0;
    text-align: center;
    position: relative; /* Mantenuto */
    word-wrap: break-word;
}

/* Stili per l'icona (solo quando presente) */
.swal2-icon:not(:empty) {
    margin: 1.5em auto 1.5em;
}
.swal2-icon:empty {
    display: none;
}

/* Contenitore per testo semplice */
.swal2-content {
    font-size: 1em;
    color: #1F1F1F;
    margin: 0 0 1em 0;
    padding: 0;
    text-align: center;
    z-index: 1;
    word-wrap: break-word;
}

/* Contenitore per HTML personalizzato */
.swal2-html-container {
    margin: 0.5em 0 1.5em 0;
    padding: 0;
    text-align: center;
    z-index: 1;
    overflow: -moz-hidden-unscrollable;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
}

/* Wrapper per i bottoni */
.swal2-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 1.5em;
    padding: 0;
    width: 100%;
    z-index: 1;
}

/* Stili per i bottoni (quando buttonsStyling: true - default) */
.swal2-styled {
    margin: 0.3125em;
    font-weight: 500;
}

/* Stili specifici per Confirm (se usi buttonsStyling: true) */
.swal2-styled.swal2-confirm {
    border: 0;
    border-radius: .25em;
    background: initial;
    background-color: #e60000;
    color: #fff;
    font-size: 1em;
}

/* Stili specifici per Cancel (se usi buttonsStyling: true) */
.swal2-styled.swal2-cancel {
    border: 1px solid #CED4DA;
    background-color: #6c757d;
    color: #ffffff;
    font-size: 1em;
}

/* --- FIX: Posizionamento Bottone Chiudi (X) --- */
.swal2-close {
    position: absolute !important; /* Forza posizionamento assoluto */
    top: 10px !important;          /* Distanza dall'alto */
    right: 10px !important;         /* Distanza da destra */
    margin: 0 !important;           /* Resetta margini */
    padding: 0 !important;          /* Resetta padding */
    width: auto !important;         /* Larghezza automatica */
    height: auto !important;        /* Altezza automatica */
    line-height: 1 !important;      /* Allineamento verticale */
    font-size: 1.8em !important;    /* Dimensione (leggermente aumentata) */
    color: #aaa !important;         /* Colore */
    border: none !important;        /* Nessun bordo */
    background: transparent !important; /* Nessuno sfondo */
    box-shadow: none !important;    /* Nessuna ombra */
    z-index: 10;                    /* Assicura sia sopra altri elementi */
}
.swal2-close:hover {
    color: #777 !important;         /* Colore al passaggio del mouse */
    transform: none !important;     /* Rimuove eventuali trasformazioni */
}


/* Classe per modali più larghe */
.swal-wide .swal2-popup {
  width: 80%;
  max-width: 900px;
}

/* Classe per modali di larghezza media (come l'esempio Assegna Ticket) */
.swal-medium .swal2-popup {
    width: 90%;
    max-width: 600px;
}

/* Classe per modali la cui larghezza si adatta strettamente al contenuto */
.swal-auto-width .swal2-popup {
  width: auto !important;
  max-width: 90%;
}

/* Classe per allineare il contenuto HTML a sinistra */
.swal-html-left .swal2-popup {
    align-items: stretch;
}
.swal-html-left .swal2-html-container {
  text-align: left !important;
  padding: 0 1em;
}
.swal-html-left .swal2-actions {
    justify-content: center;
}

/* --- Stili aggiuntivi per compatibilità con Bootstrap (se usati nell'HTML) --- */
.swal2-html-container .form-label {
    margin-bottom: 0.5rem;
    display: block;
}
.swal2-html-container .form-select,
.swal2-html-container .form-control {
    width: 100%;
    margin-bottom: 1rem;
}

/* --- FIX: Rimuove effetto focus blu da Bootstrap --- */
.swal2-html-container .form-select:focus,
.swal2-html-container .form-control:focus {
    outline: none !important;
    box-shadow: none !important; /* Rimuove il box-shadow di Bootstrap */
    border-color: #ced4da; /* Opzionale: ripristina il colore del bordo standard */
}

.swal2-html-container .invalid-feedback {
    width: 100%;
    text-align: left;
    font-size: 0.875em;
}
.swal2-html-container .form-select.is-invalid,
.swal2-html-container .form-control.is-invalid {
   /* Stili specifici per invalid se necessario */
}

/* Se usi buttonsStyling: false e classi Bootstrap sui bottoni */
.swal2-actions button.btn {
    margin: 5px;
}

/* Miglioramenti per la select dentro la modale di assegnazione Swal */
.swal2-assign-modal #operatorSelect {
    /* Forza un colore di testo leggibile per la select */
    color: #212529; /* Colore testo standard Bootstrap, puoi cambiarlo */
    background-color: #fff; /* Assicura sfondo bianco */
    border: 1px solid #ced4da; /* Bordo standard Bootstrap */
  }
  
  /* Migliora colore delle opzioni (potrebbe non funzionare su tutti i browser) */
  .swal2-assign-modal #operatorSelect option,
  .swal2-assign-modal .swal-select-option {
    color: #212529; /* Forza colore testo per le opzioni */
    background-color: #fff; /* Sfondo bianco per le opzioni */
  }
  
  /* Stile per l'opzione placeholder/disabilitata */
  .swal2-assign-modal #operatorSelect option:disabled,
  .swal2-assign-modal #operatorSelect .text-muted {
      color: #6c757d; /* Grigio standard Bootstrap per testo muto */
  }
  
  /* Prova a dare un'altezza massima alla modale su mobile per incoraggiare
     l'apertura verso il basso, ma senza garanzia di successo */
  @media (max-width: 576px) {
    .swal2-popup.swal2-assign-modal {
      max-height: 80vh; /* Limita altezza modale */
      overflow-y: auto; /* Abilita scroll se contenuto eccede */
    }
    /* Potrebbe essere necessario aggiustare il padding interno se la select viene tagliata */
    .swal2-html-container {
        max-height: 60vh; /* Limita altezza container HTML */
        overflow-y: auto;
    }
  }
  
/* Se usi buttonsStyling: false e classi Bootstrap sui bottoni */

/* Stili specifici SOLO per il box #nuova_marca_container */

#nuova_marca_container .form-label {
    /* Stile per la label fissa "Inserisci Nuova Marca" */
    font-size: 13px; /* O la dimensione che preferisci */
    color: #333; /* O il colore che preferisci */
}

/* Stile per l'input-group dentro il box */
.add-marca-input-group {
    display: flex; /* Mantiene input e bottoni (salva/cancella) sulla stessa riga di default */
}

.add-marca-input-group input.form-control {
     /* Assicura che l'input non abbia margini strani dall'input-group */
     margin-bottom: 0 !important;
     /* Rende gli angoli destri squadrati per attaccarsi ai bottoni */
     border-top-right-radius: 0;
     border-bottom-right-radius: 0;
     /* Altezza input standard Bootstrap (se usi BS5) */
     min-height: calc(1.5em + .5rem + 2px); /* Altezza form-control-sm */
     height: calc(1.5em + .5rem + 2px);
     padding: .25rem .5rem;
     font-size: .875rem;
}

.add-marca-input-group .btn {
    /* Rende gli angoli sinistri squadrati per attaccarsi all'input */
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    /* Forza l'altezza dei bottoni ad essere uguale a quella dell'input sm */
    height: calc(1.5em + .5rem + 2px);
    display: inline-flex; /* Necessario per centrare icona verticalmente */
    align-items: center;
}
/* Rimuove bordo arrotondato tra i due bottoni Salva e Cancella */
.add-marca-input-group .btn:nth-of-type(2) { /* Seleziona il secondo bottone (Cancella) */
     border-radius: 0;
}
/* Ripristina bordo arrotondato destro per l'ultimo bottone nel gruppo */
.add-marca-input-group .btn:last-of-type {
    border-top-right-radius: var(--bs-border-radius-sm, .25rem); /* Usa variabile BS se disponibile o valore fisso */
    border-bottom-right-radius: var(--bs-border-radius-sm, .25rem);
}


/* --- Stili Responsive per Mobile --- */
@media (max-width: 576px) {
    /* Impila l'input e i suoi bottoni (Salva/Cancella) */
    .add-marca-input-group {
        flex-direction: column;
        align-items: stretch;
    }

    .add-marca-input-group input.form-control {
        border-radius: var(--bs-border-radius-sm, .25rem) !important; /* Arrotonda tutti gli angoli */
        margin-bottom: 5px; /* Spazio sotto l'input */
        width: 100%;
    }

    .add-marca-input-group .btn {
        width: 100%;
        margin-top: 5px;
        border-radius: var(--bs-border-radius-sm, .25rem) !important; /* Arrotonda tutti gli angoli */
        justify-content: center; /* Centra icona/testo */
    }

     /* Il bottone Annulla è già w-100, quindi dovrebbe andare bene */
     #nuova_marca_container #btn_annulla_marca {
         margin-top: 10px; /* Aggiunge spazio sopra il bottone annulla */
     }
}

/* --- Fine Stili per il box #nuova_marca_container --- */

/* Info box utente del cliente, partner kasco */
#info-box {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 25px;
  padding: 8px 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-width: 250px;
  transition: all 0.3s ease;
  cursor: pointer;
  z-index: 1050;
  font-size: 0.95rem;
}

#info-box.collapsed {
  width: auto;
  max-width: none;
  padding-right: 10px;
}

#info-box .info-text,
#info-box .info-details {
  display: inline-block;
  vertical-align: middle;
}

#info-box .info-details {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#info-box:hover {
  max-width: 360px;
  padding: 12px 18px;
}

#info-box:hover .info-details {
  display: block;
  opacity: 1;
}

a.navbar-brand.brand-logo-mini img {
    height: 36px;
    width: 191px
}
