/**
 * Branding — logo & neon highlight text
 * Uses solid colors + text-shadow only (no background-clip: text)
 */

/* ── Logo ── */
.site-logo {
    text-decoration: none;
    color: #fff;
    line-height: 1;
}

.site-logo-img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(150px, 36vw);
    max-height: calc(1.75rem + 10px);
    object-fit: contain;
    object-position: left center;
}

.site-logo--sm .site-logo-img {
    max-width: 130px;
    max-height: calc(1.5rem + 10px);
}

.site-logo--md .site-logo-img {
    max-width: min(150px, 36vw);
    max-height: calc(1.75rem + 10px);
}

.site-logo--lg .site-logo-img {
    max-width: 180px;
    max-height: calc(2.15rem + 10px);
}

@media (min-width: 1024px) {
    .site-logo--md .site-logo-img {
        max-width: 168px;
        max-height: calc(2rem + 10px);
    }

    .site-logo--lg .site-logo-img {
        max-width: 195px;
        max-height: calc(2.35rem + 10px);
    }
}

/* Text fallback (when no logo image) */
.site-logo-icon {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 0.25rem;
    background: linear-gradient(135deg, #00ff88 0%, #00b4ff 100%);
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.45);
    flex-shrink: 0;
}

.site-logo-wordmark {
    white-space: nowrap;
    letter-spacing: -0.02em;
}

.site-logo-vio {
    color: #00ff88;
    text-shadow: 0 0 12px rgba(0, 255, 136, 0.45);
}

.site-logo-xai {
    color: rgba(255, 255, 255, 0.88);
}

/* ── Section / hero neon highlights ── */
.neon-highlight,
.text-gradient-neon {
    display: inline;
    color: #00ff88 !important;
    background: none !important;
    background-image: none !important;
    background-size: unset !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: currentColor !important;
    filter: none !important;
    animation: none !important;
    text-shadow:
        0 0 8px rgba(0, 255, 136, 0.7),
        0 0 24px rgba(0, 255, 136, 0.35);
}

.neon-highlight-alt,
.text-gradient-premium {
    display: inline;
    color: #00b4ff !important;
    background: none !important;
    background-image: none !important;
    background-size: unset !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: currentColor !important;
    filter: none !important;
    animation: none !important;
    text-shadow:
        0 0 8px rgba(0, 180, 255, 0.65),
        0 0 24px rgba(0, 180, 255, 0.3);
}

.section-title .neon-highlight,
.section-title .neon-highlight-alt,
.section-title .text-gradient-neon,
.section-title .text-gradient-premium,
.hero-title .text-gradient-neon,
.ref-hero-title .text-gradient-neon {
    display: inline;
}

/* Kill legacy logo clip styles if any remain */
.site-logo-mark {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: currentColor !important;
    color: #00ff88 !important;
    filter: none !important;
}

.site-logo-accent {
    color: rgba(255, 255, 255, 0.88) !important;
}

/* ── Mobile bottom nav (theme polish) ── */
@media (max-width: 1023px) {
    .bottom-nav-item span {
        font-family: var(--font-sans);
        line-height: 1.1;
    }

    .bottom-nav-item:active {
        transform: scale(0.96);
    }

    body.more-menu-open {
        overflow: hidden;
    }
}
