/* ============================================================
   components/topbar.css
   Topbar pública
   ============================================================ */

.topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(246, 241, 232, 0.88);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(226, 214, 194, 0.8);
}

.topbar-container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-mark,
.login-logo,
.admin-sidebar-logo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--color-primary), var(--color-coffee));
    color: var(--color-gold-soft);
    font-weight: 900;
    letter-spacing: -0.05em;
    box-shadow: var(--shadow-card);
}

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.brand-text strong {
    font-size: 0.96rem;
}

.brand-text small {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.topbar-nav {
    display: flex;
    align-items: center;
    gap: 22px;
    color: var(--color-primary-dark);
    font-size: 0.94rem;
    font-weight: 700;
}

.topbar-nav a {
    opacity: 0.86;
}

.topbar-nav a:hover {
    opacity: 1;
    color: var(--color-gold);
}

@media (max-width: 960px) {
    .topbar-container {
        align-items: flex-start;
        flex-direction: column;
    }

    .topbar-nav {
        flex-wrap: wrap;
        gap: 12px;
    }
}

@media (max-width: 700px) {
    .brand-text strong {
        font-size: 0.86rem;
    }

    .brand-text small {
        font-size: 0.72rem;
    }

    .topbar-nav a {
        font-size: 0.86rem;
    }
}

@media (max-width: 430px) {
    .topbar-container {
        padding: 12px 14px;
    }

    .brand-mark {
        width: 38px;
        height: 38px;
    }
}