:root{
    --navbar-public-offset:5.75rem;
}

.navbar.navbar-public,
nav.navbar-public{
    --bs-navbar-bg:#FFFFFF;
    z-index:1030 !important;
    min-height:72px;
    padding-top:.65rem;
    padding-bottom:.65rem;
    background:#FFFFFF !important;
    background-color:#FFFFFF !important;
    border-bottom:1px solid rgba(153,205,216,.35);
    box-shadow:0 1px 0 rgba(101,113,102,.06);
    transition:
        box-shadow .25s ease,
        background-color .25s ease,
        border-color .25s ease;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}

.navbar-public--scrolled{
    background-color:#FFFFFF;
    border-bottom-color:rgba(153,205,216,.45);
    box-shadow:0 8px 24px rgba(101,113,102,.1);
}

.navbar-public .container{
    position:relative;
}

.navbar-public .navbar-brand{
    max-width:min(100%,320px);
    text-decoration:none;
}

.navbar-public__logo{
    width:48px;
    height:48px;
    flex:0 0 48px;
    object-fit:cover;
    border-radius:50%;
    background:#DAEBE3;
}

.navbar-public__logo-fallback{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:50%;
    background:#DAEBE3;
    color:#657166;
    font-size:1.25rem;
    font-weight:700;
}

.navbar-public__brand-text{
    display:flex;
    flex-direction:column;
    min-width:0;
    line-height:1.2;
}

.navbar-public__name{
    overflow:hidden;
    color:#657166;
    font-weight:700;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.navbar-public__tagline{
    color:#99CDD8;
    font-size:.78rem;
}

.navbar-public__link{
    color:#657166 !important;
    font-weight:500;
    margin:0 .35rem;
}

.navbar-public__link:hover,
.navbar-public__link:focus{
    color:#99CDD8 !important;
}

.navbar-public__link:focus-visible{
    outline:2px solid #99CDD8;
    outline-offset:3px;
    border-radius:.25rem;
}

.navbar-public__link.is-active{
    color:#657166 !important;
    box-shadow:inset 0 -2px 0 #99CDD8;
}

.navbar-public__cta{
    background:#99CDD8;
    border:none;
}

.navbar-public__cta:hover,
.navbar-public__cta:focus{
    background:#7fb9c6;
    color:#FFFFFF;
}

.navbar-public__cta--disabled{
    opacity:.65;
    cursor:not-allowed;
    background:#CFD6C4;
}

.navbar-public .navbar-toggler{
    border-color:rgba(101,113,102,.25);
    background:#FFFFFF;
}

.navbar-public .navbar-toggler:focus{
    box-shadow:0 0 0 .2rem rgba(153,205,216,.35);
}

.btn-outline-secondary{
    border-color:#657166;
    color:#657166;
}

.btn-outline-secondary:hover{
    background:#657166;
    color:#FFFFFF;
}

/* Compensación uniforme de navbar sticky para anclas */
#inicio,
#nosotros,
#servicios,
#especialistas,
#horarios,
#ubicacion,
#contacto,
#consultorios,
#redes{
    scroll-margin-top:var(--navbar-public-offset);
}

@media (max-width:991.98px){
    :root{
        --navbar-public-offset:5.5rem;
    }

    .navbar-public .navbar-collapse{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        z-index:1040;
        width:100%;
        max-height:min(70vh,calc(100vh - 5.5rem));
        overflow-x:hidden;
        overflow-y:auto;
        margin-top:.35rem;
        padding:.35rem .85rem 1rem;
        border:1px solid rgba(153,205,216,.35);
        border-radius:0 0 1rem 1rem;
        background:#FFFFFF;
        box-shadow:0 16px 32px rgba(101,113,102,.16);
    }

    .navbar-public__links{
        padding:.5rem 0 .75rem;
        gap:.15rem;
    }

    .navbar-public__links .nav-item{
        width:100%;
    }

    .navbar-public__link{
        display:block;
        margin:0;
        padding:.75rem .35rem;
        border-bottom:1px solid rgba(218,235,227,.85);
    }

    .navbar-public__link.is-active{
        box-shadow:none;
        font-weight:700;
        background:#F7F9F8;
        border-radius:.5rem;
        border-bottom-color:transparent;
    }

    .navbar-public__links .btn{
        width:100%;
        margin-top:.25rem;
    }
}
