/* ============================================================
   SANATAN SANSAAR — NAVBAR STYLES
   Depends on: design-tokens.css (loaded first via master layout)
   ============================================================ */


/* ---------- Core Navbar ---------- */
.ss-navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    z-index: 1050 !important;
    height: 80px;
    background-color: var(--ss-surface-raised);
    border-bottom: 1px solid var(--ss-edge-subtle);
    font-family: var(--ss-font);
    transition: box-shadow 0.3s ease;
    overflow: visible;
}

/* Scrolled state — subtle shadow */
.ss-navbar.scrolled {
    box-shadow: var(--ss-shadow-card);
}

/* ---------- Inner container ---------- */
.ss-navbar-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 16px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

/* ---------- Logo ---------- */
.ss-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.ss-logo-img {
    height: 56px;
    width: auto;
}

.ss-brand-name {
    font-family: var(--ss-font);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ss-content);
    margin-left: 10px;
    white-space: nowrap;
}

/* ---------- CTA Button group (center) ---------- */
.ss-nav-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    justify-content: center;
}

/* Shared button base */
.ss-btn-talk,
.ss-btn-chat {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-family: var(--ss-font);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--ss-radius);
    text-decoration: none;
    transition: var(--ss-transition);
    white-space: nowrap;
    cursor: pointer;
    border: 1px solid transparent;
    line-height: 1;
}

/* Talk To Astrologer — gold gradient filled (primary CTA) */
.ss-btn-talk {
    background: var(--ss-astro-gradient);
    color: var(--ss-content-inverse);
    border-color: transparent;
}
.ss-btn-talk:hover {
    background: var(--ss-astro-gradient-hover);
    color: var(--ss-content-inverse);
    box-shadow: var(--ss-glow-gold-lg);
    transform: translateY(-1px) scale(1.02);
    text-decoration: none;
}
.ss-btn-talk:active { transform: scale(0.98); }

/* Chat With Astrologer — outlined gold (secondary CTA) */
.ss-btn-chat {
    background-color: transparent;
    color: var(--ss-gold-700);
    border-color: var(--ss-gold-700);
}
.ss-btn-chat:hover {
    background-color: rgba(212,175,55,0.10);
    color: var(--ss-gold-500);
    border-color: var(--ss-gold-500);
    box-shadow: var(--ss-glow-gold-sm);
    transform: translateY(-1px);
    text-decoration: none;
}

/* ---------- Right side (lang toggle + hamburger) ---------- */
.ss-nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* ---------- Language Toggle Button ---------- */
.ss-lang-toggle {
    padding: 6px 14px;
    font-family: var(--ss-font);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ss-gold-700);
    background: transparent;
    border: 1px solid var(--ss-gold-700);
    border-radius: var(--ss-radius-sm);
    cursor: pointer;
    transition: var(--ss-transition);
    min-width: 54px;
    text-align: center;
}
.ss-lang-toggle:hover {
    background: rgba(212,175,55,0.12);
    box-shadow: var(--ss-glow-gold-sm);
}

/* ---------- Hamburger (mobile) ---------- */
.ss-hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.ss-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--ss-content);
    border-radius: 2px;
    transition: var(--ss-transition);
}

/* ---------- Mobile Menu ---------- */
.ss-mobile-menu {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: var(--ss-surface-raised);
    border-top: 1px solid var(--ss-edge-subtle);
    padding: 24px 16px;
    box-shadow: var(--ss-shadow-card-hover);
}
.ss-mobile-menu.open {
    display: flex;
}

.ss-mobile-link {
    font-family: var(--ss-font);
    font-size: 1rem;
    font-weight: 500;
    color: var(--ss-content-body);
    text-decoration: none;
    padding: 10px 16px;
    border-radius: var(--ss-radius-sm);
    transition: var(--ss-transition);
}
.ss-mobile-link:hover {
    color: var(--ss-gold-700);
    background: rgba(212,175,55,0.08);
    text-decoration: none;
}

.ss-mobile-divider {
    height: 1px;
    background: var(--ss-edge-subtle);
    margin: 8px 0;
}

/* ---------- Body offset ---------- */
body {
    padding-top: 80px !important;
}

.wrapper {
    margin-top: 0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
    .ss-nav-actions {
        display: none;
    }
    .ss-hamburger {
        display: flex;
    }
}

/* ── Tablet (768px) ── */
@media (max-width: 768px) {
    .ss-navbar { height: 72px; }
    body { padding-top: 72px !important; }
    .ss-logo-img { height: 48px; }
    .ss-brand-name { font-size: 1.1rem; }
    .ss-navbar-container { padding: 0 12px; gap: 12px; }
}

@media (max-width: 480px) {
    .ss-logo-img {
        height: 44px;
    }
    .ss-brand-name {
        font-size: 1rem;
    }
    .ss-navbar {
        height: 68px;
    }
    body {
        padding-top: 68px !important;
    }
    .wrapper {
        margin-top: 0 !important;
    }
}

/* ---------- Navbar bottom glow line ---------- */
.ss-navbar::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(212,175,55,0.4) 15%,
        rgba(212,175,55,0.85) 50%,
        rgba(212,175,55,0.4) 85%,
        transparent 100%);
    pointer-events: none;
}
.ss-navbar.scrolled::after {
    filter: drop-shadow(0 0 6px rgba(212,175,55,0.5));
}

/* ---------- Hide breadcrumb globally ---------- */
.moonastro-breadcrumb { display: none !important; }

/* ---------- Profile avatar (navbar trigger) ---------- */
.ss-nav-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(212,175,55,0.40);
    display: block;
}
.ss-nav-avatar-fallback {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(212,175,55,0.10);
    border: 1px solid rgba(212,175,55,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ss-content-tertiary);
    font-size: 1rem;
}
.ss-profile-trigger {
    display: flex;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
}
.ss-profile-trigger::after { display: none !important; }

/* ---------- Profile dropdown panel ---------- */
.ss-profile-dropdown {
    width: 260px;
    background: var(--ss-surface-overlay) !important;
    border: 1px solid var(--ss-edge-subtle) !important;
    border-radius: var(--ss-radius-lg) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
    padding: 0 !important;
    right: 0 !important;
    left: auto !important;
    overflow: hidden;
}
.ss-profile-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 16px 14px;
    gap: 8px;
}
.ss-profile-dd-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(212,175,55,0.40);
}
.ss-profile-dd-name {
    color: var(--ss-content);
    font-weight: 600;
    font-size: 0.95rem;
}
.ss-profile-dd-divider {
    height: 1px;
    background: var(--ss-edge-subtle);
    margin: 0;
}
.ss-profile-dd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    color: var(--ss-content-secondary);
    font-size: 0.85rem;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    cursor: pointer;
}
.ss-profile-dd-item:hover {
    background: rgba(212,175,55,0.06);
    color: var(--ss-gold-700);
    text-decoration: none;
}
.ss-profile-dd-item i {
    width: 18px;
    text-align: center;
    color: var(--ss-content-tertiary);
    font-size: 0.85rem;
}
.ss-profile-dd-item:hover i {
    color: var(--ss-gold-700);
}
.ss-wallet-badge {
    margin-left: auto;
    background: rgba(212,175,55,0.15);
    color: var(--ss-gold-700);
    border-radius: 12px;
    padding: 2px 10px;
    font-size: 0.75rem;
    font-weight: 600;
}
.ss-logout-item {
    color: var(--ss-status-error) !important;
}
.ss-logout-item i {
    color: var(--ss-status-error) !important;
}
.ss-logout-item:hover {
    background: rgba(239,68,68,0.08) !important;
}

/* ---------- Sign In button (unauthenticated) ---------- */
.ss-signin-btn {
    padding: 8px 20px;
    font-family: var(--ss-font);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ss-content-inverse);
    background: var(--ss-astro-gradient);
    border: none;
    border-radius: var(--ss-radius);
    cursor: pointer;
    transition: var(--ss-transition);
    white-space: nowrap;
}
.ss-signin-btn:hover {
    background: var(--ss-astro-gradient-hover);
    box-shadow: var(--ss-glow-gold-sm);
    transform: translateY(-1px);
}

/* ---------- Mobile profile section ---------- */
.ss-mobile-profile {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
}
.ss-mobile-profile-name {
    color: var(--ss-content);
    font-weight: 600;
    font-size: 0.95rem;
}
.ss-mobile-wallet {
    margin-left: auto;
    color: var(--ss-gold-700);
    font-size: 0.8rem;
    font-weight: 600;
}

/* ---------- Responsive: profile avatar in navbar ---------- */
@media (max-width: 1279px) {
    .ss-nav-avatar, .ss-nav-avatar-fallback { width: 32px; height: 32px; font-size: 0.8rem; }
}

/* ---------- Profile dropdown — mobile viewport fix ---------- */
/* On small screens Bootstrap positions the dropdown relative to the nearest
   positioned ancestor inside a flex container, which can place it off-screen.
   Fixed positioning pins it to the viewport edge instead.
   top must match the actual navbar height at each breakpoint:
     ≤480px  → navbar is 68px
     481-576px → navbar is 72px  */
@media (min-width: 481px) and (max-width: 576px) {
    .ss-profile-dropdown {
        position: fixed !important;
        top: 72px !important;
        right: 8px !important;
        left: auto !important;
        width: min(260px, calc(100vw - 16px)) !important;
        max-height: calc(100vh - 84px);
        overflow-y: auto;
        transform: none !important;
        will-change: auto;
    }
}
@media (max-width: 480px) {
    .ss-profile-dropdown {
        position: fixed !important;
        top: 68px !important;
        right: 8px !important;
        left: auto !important;
        width: min(260px, calc(100vw - 16px)) !important;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        transform: none !important;
        will-change: auto;
    }
}

/* ---------- Scrollbar — handled by design-tokens.css ---------- */
