/* Brand CSS - Additive styling for custom branding */
:root { 
    --brand-accent: var(--color-grigio-blu); 
}

.btn-brand, .link-brand { 
    background-color: var(--brand-accent); 
    border-color: var(--brand-accent); 
    color: #fff;
}

.link-brand, a.link-brand { 
    color: var(--brand-accent); 
}

.btn-outline-brand { 
    color: var(--brand-accent); 
    border-color: var(--brand-accent); 
    background-color: transparent;
}

.btn-outline-brand:hover { 
    background: var(--brand-accent); 
    color: #fff; 
    border-color: var(--brand-accent);
}

/* BIGGER LOGOS WITH CLOSER SPACING */
.navbar-brand-logo {
    max-height: 56px;
    width: auto;
    margin-right: 0;
    display: block;
    height: auto;
}

.navbar-brand-name {
    max-height: 56px;
    max-width: min(55vw, 320px);
    width: auto;
    flex: 0 1 auto;
    display: block;
    height: auto;
}

/* ARCHITECT'S FIX - PREVENT BRAND OVERFLOW */
.app-header .brand {
    min-width: 0;
}

.app-header .navbar-brand {
    max-width: calc(100vw - 112px);
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 0;
    min-width: 0;
}

.app-header .navbar-brand img {
    display: block;
    height: auto;
}

/* ROUTE-SPECIFIC OVERFLOW HARDENING */
body.admin-route .navbar .container-xxl {
    overflow-x: clip;
}

/* Apply overflow fix to all admin route containers */
body.admin-route .container,
body.admin-route .container-fluid,
body.admin-route .container-xxl {
    overflow-x: clip;
}

/* Fix horizontal scroll issue on admin pages */
body.admin-route {
    overflow-x: hidden;
}

/* Fix navbar container with rail */
body.has-rail .navbar .container-xxl {
    box-sizing: border-box;
    max-width: 100vw;
    overflow-x: clip;
}

/* Adjust brand width to account for rail */
body.has-rail .app-header .navbar-brand {
    max-width: calc(100vw - (112px + var(--rail-w, 64px)));
}