/*
 * ASTRO CSS Overrides for Astra Theme
 * Fixes specificity issues with Astra's default classes
 */

/* Override Astra's home page header */
body.astro-site .home-page-header h1,
body.astro-site .home-page-header .ast-title,
body.astro-site .home-page-header .entry-title {
    font-size: clamp(var(--fs-700), 5vw, var(--fs-900)) !important;
    line-height: var(--lh-tight) !important;
    font-weight: 700 !important;
    color: var(--astro-text) !important;
    margin-bottom: var(--space-6) !important;
}

body.astro-site .home-page-header p,
body.astro-site .home-page-header .ast-description {
    font-size: var(--fs-500) !important;
    color: var(--astro-text-muted) !important;
    max-width: 60ch !important;
    margin: 0 auto var(--space-8) !important;
}

/* Override Astra's button styles */
body.astro-site .home-page-header .ast-button,
body.astro-site .home-page-header .wp-block-button__link,
body.astro-site .home-page-header .fl-button {
    background-color: var(--astro-accent) !important;
    color: white !important;
    border-color: var(--astro-accent) !important;
    border-radius: var(--radius-md) !important;
    padding: var(--space-3) var(--space-6) !important;
    min-height: 44px !important;
    font-weight: 500 !important;
    transition: all var(--duration-fast) var(--easing) !important;
}

body.astro-site .home-page-header .ast-button:hover,
body.astro-site .home-page-header .wp-block-button__link:hover,
body.astro-site .home-page-header .fl-button:hover {
    background-color: var(--astro-accent-2) !important;
    border-color: var(--astro-accent-2) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--shadow-1) !important;
}

/* Override Astra's section backgrounds */
body.astro-site .home-page-header {
    background: linear-gradient(135deg, var(--astro-bg) 0%, var(--astro-surface) 100%) !important;
    position: relative !important;
    overflow: hidden !important;
}

body.astro-site .home-page-header::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: radial-gradient(circle at 20% 80%, rgba(124, 92, 255, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(6, 182, 212, 0.1) 0%, transparent 50%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

body.astro-site .home-page-header .ast-container {
    position: relative !important;
    z-index: 2 !important;
}

/* Override Astra's text colors */
body.astro-site .home-page-header h1,
body.astro-site .home-page-header h2,
body.astro-site .home-page-header h3,
body.astro-site .home-page-header h4,
body.astro-site .home-page-header h5,
body.astro-site .home-page-header h6 {
    color: var(--astro-text) !important;
}

body.astro-site .home-page-header p,
body.astro-site .home-page-header .ast-description {
    color: var(--astro-text-muted) !important;
}

/* Override Astra's link styles */
body.astro-site .home-page-header a {
    color: var(--astro-accent) !important;
    text-decoration: none !important;
    transition: color var(--duration-fast) var(--easing) !important;
}

body.astro-site .home-page-header a:hover {
    color: var(--astro-accent-2) !important;
    text-decoration: underline !important;
}

/* Override Astra's spacing */
body.astro-site .home-page-header .ast-container {
    padding: var(--space-20) var(--space-4) !important;
}

/* Override Astra's responsive behavior */
@media (max-width: 768px) {
    body.astro-site .home-page-header .ast-container {
        padding: var(--space-12) var(--space-4) !important;
    }
    
    body.astro-site .home-page-header h1,
    body.astro-site .home-page-header .ast-title {
        font-size: clamp(var(--fs-600), 8vw, var(--fs-800)) !important;
    }
}
