/* ============================================
   THE ALANI JACOB FOUNDATION - PREMIUM CSS
   Enterprise-grade dark navy + gold design
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
    --ajf-navy: #0a0a1a;
    --ajf-navy-light: #12122a;
    --ajf-gold: #d4a853;
    --ajf-gold-hover: #e6be6a;
    --ajf-gold-dark: #b8923f;
    --ajf-white: #ffffff;
    --ajf-light-gray: #e0e0e0;
    --ajf-text-muted: #a0a0b0;
    --ajf-font-heading: 'Cormorant Garamond', Georgia, serif;
    --ajf-font-body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --ajf-header-height: 80px;
    --ajf-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
    font-family: var(--ajf-font-body) !important;
    background-color: var(--ajf-navy) !important;
    color: var(--ajf-white) !important;
    margin: 0 !important;
    padding-top: var(--ajf-header-height) !important;
    -webkit-font-smoothing: antialiased;
}

.admin-bar body {
    padding-top: calc(var(--ajf-header-height) + 32px) !important;
}

/* Hide all page titles */
.entry-title, .page-title, h1.entry-title,
.entry-header, .page-header {
    display: none !important;
}

/* HEADER */
header, .site-header, #masthead, header.site-header {
    background-color: var(--ajf-navy) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    height: var(--ajf-header-height) !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(212, 168, 83, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
    transition: var(--ajf-transition) !important;
}

.admin-bar header, .admin-bar .site-header, .admin-bar #masthead {
    top: 32px !important;
}

/* SITE TITLE */
.site-title, .site-branding .site-title, h1.site-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
}

.site-title a, .site-branding .site-title a, h1.site-title a {
    color: var(--ajf-gold) !important;
    font-family: var(--ajf-font-heading) !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    transition: var(--ajf-transition) !important;
    white-space: nowrap !important;
}

.site-title a:hover {
    color: var(--ajf-gold-hover) !important;
    text-shadow: 0 0 20px rgba(212, 168, 83, 0.3) !important;
}

/* Hide tagline */
.site-description, p.site-description {
    display: none !important;
}

/* NAVIGATION */
nav, .main-navigation, .site-navigation, #site-navigation {
    display: flex !important;
    align-items: center !important;
}

.menu, .nav-menu, nav ul, #menu-main-navigation {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
}

.menu li a, .nav-menu li a, nav ul li a, #menu-main-navigation li a {
    color: var(--ajf-light-gray) !important;
    font-family: var(--ajf-font-body) !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    transition: var(--ajf-transition) !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
}

.menu li a:hover, .nav-menu li a:hover, nav ul li a:hover {
    color: var(--ajf-gold) !important;
    background-color: rgba(212, 168, 83, 0.08) !important;
}

/* DONATE CTA */
.menu li a[href*="donate"], .nav-menu li a[href*="donate"], a[href*="/donate"] {
    background-color: var(--ajf-gold) !important;
    color: var(--ajf-navy) !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
}

.menu li a[href*="donate"]:hover, a[href*="/donate"]:hover {
    background-color: var(--ajf-gold-hover) !important;
    color: var(--ajf-navy) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(212, 168, 83, 0.3) !important;
}

/* Request Demo CTA */
.menu li a[href*="request-demo"], .nav-menu li a[href*="request-demo"] {
    border: 1.5px solid var(--ajf-gold) !important;
    color: var(--ajf-gold) !important;
    font-weight: 500 !important;
    padding: 9px 20px !important;
    border-radius: 6px !important;
    background: transparent !important;
    font-size: 0.85rem !important;
}

.menu li a[href*="request-demo"]:hover {
    background-color: rgba(212, 168, 83, 0.1) !important;
    color: var(--ajf-gold-hover) !important;
    border-color: var(--ajf-gold-hover) !important;
}

/* HAMBURGER */
.menu-toggle, button.menu-toggle {
    background: none !important;
    border: none !important;
    color: var(--ajf-gold) !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    padding: 8px !important;
    transition: var(--ajf-transition) !important;
}

.menu-toggle:hover { color: var(--ajf-gold-hover) !important; }
.menu-toggle span, .menu-toggle .bar { background-color: var(--ajf-gold) !important; }

/* CONTENT */
.site-content, .entry-content, #content, main, .site-main {
    background-color: var(--ajf-navy) !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

article, .post, .page, .hentry {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.site-content > *:first-child, main > *:first-child, .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* FOOTER */
footer, .site-footer, #colophon {
    background-color: var(--ajf-navy) !important;
    border-top: 1px solid rgba(212, 168, 83, 0.15) !important;
    color: var(--ajf-text-muted) !important;
    padding: 40px !important;
}

footer a, .site-footer a {
    color: var(--ajf-gold) !important;
    text-decoration: none !important;
}

/* TYPOGRAPHY */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--ajf-font-heading) !important;
    color: var(--ajf-white) !important;
}

p, span, div, li, td, th {
    font-family: var(--ajf-font-body) !important;
}

a { color: var(--ajf-gold) !important; transition: var(--ajf-transition) !important; }
a:hover { color: var(--ajf-gold-hover) !important; }

/* MOBILE */
@media (max-width: 1024px) {
    header, .site-header, #masthead { padding: 0 20px !important; height: 70px !important; }
}

@media (max-width: 768px) {
    header, .site-header, #masthead { padding: 0 16px !important; height: 64px !important; }
    .site-title a { font-size: 1.1rem !important; }
    .menu, .nav-menu, nav ul {
        flex-direction: column !important;
        position: fixed !important;
        top: 64px !important;
        left: 0 !important;
        right: 0 !important;
        background-color: var(--ajf-navy-light) !important;
        padding: 20px !important;
        border-bottom: 1px solid rgba(212, 168, 83, 0.15) !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
        gap: 4px !important;
    }
    .menu li a, .nav-menu li a, nav ul li a {
        padding: 12px 20px !important;
        font-size: 1rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .admin-bar .menu, .admin-bar .nav-menu, .admin-bar nav ul { top: 96px !important; }
}

@media (max-width: 480px) {
    .site-title a { font-size: 1rem !important; }
    .admin-bar header, .admin-bar .site-header { top: 46px !important; }
}

/* SCROLLBAR */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--ajf-navy); }
::-webkit-scrollbar-thumb { background: var(--ajf-gold-dark); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--ajf-gold); }

/* SELECTION */
::selection { background-color: rgba(212, 168, 83, 0.3); color: var(--ajf-white); }

/* WP OVERRIDES */
.wp-site-blocks { padding-top: 0 !important; margin-top: 0 !important; }
.elementor-page .site-main { padding: 0 !important; margin: 0 !important; }

.woocommerce a.button, .woocommerce button.button {
    background-color: var(--ajf-gold) !important;
    color: var(--ajf-navy) !important;
    font-family: var(--ajf-font-body) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    border: none !important;
}

.site-info, .powered-by, .footer-credit { display: none !important; }

/* ============================================
   BUTTON TEXT COLOR FIX
   Force dark text on gold-background buttons
   (overrides the global gold link color rule)
   ============================================ */

/* Target any inline-styled anchor with gold/yellow background */
a[style*="background-color: #d4a853"],
a[style*="background-color:#d4a853"],
a[style*="background-color: #D4A853"],
a[style*="background-color: rgb(212, 168, 83)"],
a[style*="background: #d4a853"],
a[style*="background:#d4a853"] {
    color: #0a0a1a !important;
}

a[style*="background-color: #d4a853"]:hover,
a[style*="background-color:#d4a853"]:hover,
a[style*="background-color: rgb(212, 168, 83)"]:hover {
    color: #0a0a1a !important;
    background-color: #e6be6a !important;
}

/* Also target WP block buttons and common button classes with gold bg */
.wp-block-button__link,
.entry-content a[style*="background"],
.entry-content a[style*="background-color"] {
    color: #0a0a1a !important;
}

/* Broader catch: any element with inline gold background */
[style*="background-color: #d4a853"],
[style*="background-color:#d4a853"],
[style*="background-color: #D4A853"] {
    color: #0a0a1a !important;
}