/* =========================================================
   ABSTRACTO BRAND LOGO FIX
   Landing: logo más visible
   Admin: logo contenido sin desbordar
   ========================================================= */

/* LANDING / WEB PÚBLICA */
.public-nav .nav-inner {
    min-height: 88px;
}

.public-nav .nav-brand {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: 260px !important;
    max-width: 320px !important;
    overflow: visible !important;
}

.public-nav .nav-brand .brand-logo-wrap {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 280px !important;
}

.public-nav .nav-brand .brand-logo-img {
    display: block !important;
    width: clamp(200px, 14vw, 285px) !important;
    max-width: 285px !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
}

/* ADMIN SIDEBAR */
.admin-sidebar {
    overflow-x: hidden !important;
}

.admin-sidebar .admin-brand,
.admin-sidebar a.admin-brand,
.admin-brand {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.admin-sidebar .brand-logo-wrap,
.admin-brand .brand-logo-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 190px !important;
    overflow: hidden !important;
}

.admin-sidebar .brand-logo-img,
.admin-brand .brand-logo-img {
    display: block !important;
    width: auto !important;
    max-width: 185px !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* Si el logo es muy ancho, evita que empuje el menú */
.admin-sidebar img {
    flex-shrink: 1 !important;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .public-nav .nav-brand {
        min-width: 160px !important;
        max-width: 210px !important;
    }

    .public-nav .nav-brand .brand-logo-img {
        width: clamp(140px, 34vw, 190px) !important;
        max-width: 190px !important;
        max-height: 54px !important;
    }
}

@media (max-width: 640px) {
    .public-nav .nav-inner {
        min-height: 76px;
    }

    .public-nav .nav-brand {
        min-width: 135px !important;
        max-width: 170px !important;
    }

    .public-nav .nav-brand .brand-logo-img {
        width: 150px !important;
        max-width: 150px !important;
        max-height: 48px !important;
    }
}

/* =========================================================
   LANDING LOGO + NAV MENU SPACING REFINEMENT
   ========================================================= */

/* Logo público más grande */
.public-nav .nav-brand {
    min-width: 315px !important;
    max-width: 385px !important;
}

.public-nav .nav-brand .brand-logo-wrap {
    max-width: 385px !important;
}

.public-nav .nav-brand .brand-logo-img {
    width: clamp(230px, 16vw, 335px) !important;
    max-width: 335px !important;
    max-height: 88px !important;
}

/* Más espacio entre opciones del menú */
.public-nav .nav-links {
    display: flex !important;
    align-items: center !important;
    gap: clamp(18px, 1.45vw, 32px) !important;
}

.public-nav .nav-links a {
    margin: 0 !important;
    white-space: nowrap !important;
    letter-spacing: -0.15px;
}

/* Separar el menú del logo */
.public-nav .nav-inner {
    gap: clamp(34px, 5vw, 86px) !important;
}

/* Botón CTA con separación consistente */
.public-nav .nav-cta,
.public-nav .btn-primary {
    margin-left: clamp(18px, 2vw, 38px) !important;
}

/* Responsive */
@media (max-width: 1180px) {
    .public-nav .nav-brand {
        min-width: 250px !important;
        max-width: 300px !important;
    }

    .public-nav .nav-brand .brand-logo-img {
        width: clamp(205px, 18vw, 285px) !important;
        max-width: 285px !important;
        max-height: 74px !important;
    }

    .public-nav .nav-links {
        gap: 16px !important;
    }
}

@media (max-width: 920px) {
    .public-nav .nav-brand {
        min-width: 190px !important;
        max-width: 230px !important;
    }

    .public-nav .nav-brand .brand-logo-img {
        width: 205px !important;
        max-width: 205px !important;
        max-height: 60px !important;
    }
}

/* =========================================================
   ADMIN LOGIN LOGO - CENTERED PROFESSIONAL VERSION
   ========================================================= */
.admin-login-brand {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.admin-login-brand .brand-logo-wrap {
    width: 100% !important;
    max-width: 330px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
}

.admin-login-brand .brand-logo-img {
    display: block !important;
    width: auto !important;
    max-width: 260px !important;
    max-height: 110px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}

/* Evita que el logo herede alineación izquierda del card */
.admin-login-brand + form,
.admin-login-brand ~ form {
    width: 100%;
}

/* ADMIN LOGIN - FORCE REAL COMPANY LOGO */
.admin-login-brand {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.admin-login-brand .brand-logo-wrap {
    width: 100% !important;
    max-width: 360px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
}

.admin-login-brand .brand-logo-img {
    display: block !important;
    width: auto !important;
    max-width: 280px !important;
    max-height: 125px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}

/* =========================================================
   ADMIN LOGIN - SINGLE REAL COMPANY LOGO
   ========================================================= */
.admin-login-brand-main {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    text-align: center !important;
}

.admin-login-brand-main .brand-logo-wrap {
    width: 100% !important;
    max-width: 430px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
}

.admin-login-brand-main .brand-logo-img {
    display: block !important;
    width: auto !important;
    max-width: 355px !important;
    max-height: 155px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}

/* El login no debe mostrar otro logo adicional */
.login-logo,
.auth-logo,
.admin-logo,
.brand-mark {
    display: none !important;
}
