/* =========================
   Impersonation bar (no overflow)
========================= */
.is-impersonating{
    --topbar-h: 70px;     /* dal tema */
    --impbar-h: 40px;     /* riferimento per gli offset (desktop). Regolabile */
}

/* Barra: niente height fissa, così non "sborda" mai */
.is-impersonating #impersonation-bar{
    position: fixed;
    top: var(--topbar-h);
    left: 0;
    right: 0;
    z-index: 1001;        /* sotto #page-topbar (1002), sopra il contenuto */
    background-color: #ff9800;
    color: #fff;

    /* altezza “comoda”, ma non bloccata */
    min-height: var(--impbar-h);
    padding: 6px 0;       /* evita overflow */
}

/* Allineamento contenuti barra */
.is-impersonating #impersonation-bar .container-fluid{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;      /* su mobile va a capo pulito */
}

.is-impersonating #impersonation-bar .btn{
    padding: .25rem .5rem;
    line-height: 1.1;
}

/* =========================
   Topnav: sposta giù il menu
========================= */
.is-impersonating .topnav{
    top: calc(var(--topbar-h) + var(--impbar-h)) !important;
}

/* Desktop: il tema usa margin-top:24px */
@media (min-width: 992px){
    body[data-layout=horizontal].is-impersonating .topnav{
        margin-top: calc(24px + var(--impbar-h)) !important;
    }
}

/* =========================
   Page content: FIX GAP
   - Desktop: aumenta SOLO il margin-top (NON anche il padding-top)
   - Mobile: il tema porta margin-top a 0, quindi aumenta SOLO il padding-top
========================= */
@media (min-width: 992px){
    body[data-layout=horizontal].is-impersonating .page-content{
        margin-top: calc(70px + var(--impbar-h)) !important;   /* era 70 */
        padding-top: calc(80px + 20px) !important;            /* lascia il valore del tema */
    }
}

@media (max-width: 991.98px){
    body[data-layout=horizontal].is-impersonating .page-content{
        margin-top: 0 !important;                              /* come tema */
        padding-top: calc(80px + 20px + var(--impbar-h)) !important; /* aggiungi qui */
    }
}

/* Dropdown sopra tutto */
.topnav .dropdown-menu{ z-index: 1100; }

/* Sticky header tabelle in horizontal: aggiungi impbar */
@media (min-width: 992px){
    body[data-layout=horizontal].is-impersonating .fixed-solution .sticky-table-header{
        top: calc(148px + var(--impbar-h)) !important;
    }
}
