@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

/* ===== BASE TYPOGRAPHY ===== */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #334155;
    margin: 0;
    padding: 0;
}
h1, h2, h3 { font-family: 'Playfair Display', Georgia, serif; }

/* ===== HEADER ===== */
.ast-site-identity .site-title a {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    color: #0D1B2A !important;
}

/* ===== HERO SECTION ===== */
.afs-hero {
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(13,27,42,0.75) 0%, rgba(13,27,42,0.88) 100%),
                url('/wp-content/uploads/2026/04/hero-wide.jpg') center center / cover no-repeat;
    text-align: center;
    padding: 120px 24px 80px;
}
.afs-hero-inner { max-width: 800px; margin: 0 auto; }

/* ===== IMAGE PARALLAX BREAKS ===== */
.afs-parallax {
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    position: relative;
    text-align: center;
    padding: 60px 24px;
}
.afs-parallax::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(180deg, rgba(13,27,42,0.5) 0%, rgba(13,27,42,0.8) 100%);
}
.afs-parallax-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

/* ===== FEATURE CARDS WITH HOVER ===== */
.afs-feature-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 28px 24px;
}
.afs-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.1);
}

/* ===== STAT CARDS ===== */
.afs-stat {
    text-align: center;
    padding: 40px 28px;
    border-radius: 16px;
    background: #1E3A5F;
    transition: transform 0.3s ease;
}
.afs-stat:hover { transform: scale(1.03); }
.afs-stat-number {
    font-size: 52px;
    font-weight: 800;
    color: #2DD4BF;
    line-height: 1;
    margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
}
.afs-stat-label {
    font-size: 15px;
    color: #94a3b8;
    line-height: 1.4;
}

/* ===== CTA BUTTON ===== */
.wp-block-button__link:hover,
.afs-cta-btn:hover {
    opacity: 0.92;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(45,212,191,0.3);
    transition: all 0.3s ease;
}
button[type="submit"]:hover {
    background: #14b8a6 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(45,212,191,0.3);
    transition: all 0.3s ease;
}

/* ===== FORM STYLING ===== */
form input:focus {
    outline: 2px solid #2DD4BF;
    border-color: #2DD4BF !important;
}
form input::placeholder { color: #64748B; }

/* ===== TESTIMONIAL CARDS ===== */
.afs-testimonial {
    background: #ffffff;
    border-radius: 16px;
    padding: 36px 32px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: transform 0.3s ease;
}
.afs-testimonial:hover { transform: translateY(-3px); }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    h1 { font-size: 32px !important; }
    h2 { font-size: 28px !important; }
    .wp-block-columns { flex-direction: column !important; }
    .wp-block-column { margin-bottom: 16px; }
    .afs-hero { min-height: 80vh; padding: 80px 20px 60px; }
    .afs-parallax { 
        min-height: 300px; 
        background-attachment: scroll; /* Fix for mobile */
    }
    .afs-stat-number { font-size: 40px; }
}

/* ===== ASTRA LAYOUT OVERRIDES ===== */
.ast-separate-container .ast-article-single,
.ast-page-builder-template .ast-article-single,
.ast-plain-container .ast-article-single {
    padding: 0; margin: 0 auto;
}
.ast-separate-container .entry-content,
.ast-page-builder-template .entry-content,
.ast-plain-container .entry-content {
    margin: 0;
}
.site-content .ast-container { max-width: 100%; padding: 0; }
#primary, #content, .site-main { max-width: 100%; width: 100%; margin: 0 auto; }
.ast-right-sidebar #primary, .ast-left-sidebar #primary { width: 100%; }

.entry-content > .wp-block-group {
    width: 100vw; position: relative;
    left: 50%; right: 50%;
    margin-left: -50vw; margin-right: -50vw;
    max-width: none;
}
.entry-content > .wp-block-group > .wp-block-group__inner-container,
.entry-content > .wp-block-group > div { margin: 0 auto; }

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-page {
    background: transparent; border: none; box-shadow: none; padding: 0;
}
.ast-separate-container #primary { background: transparent; padding: 0; }
.ast-separate-container .ast-container { background: transparent; }
.ast-container { display: flex; justify-content: center; }
.ast-container #primary { margin: 0 auto; }
.wp-block-columns { max-width: 100%; margin-left: auto; margin-right: auto; }
.ast-container, .ast-narrow-container .site-content > .ast-container {
    max-width: 100% !important; padding-left: 0; padding-right: 0;
}

/* ===== SMOOTH SCROLL ===== */
html { scroll-behavior: smooth; }


/* ===== NAVIGATION BAR ===== */
.main-header-bar,
.ast-primary-header,
header.site-header {
    background: rgba(13, 27, 42, 0.95) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(45, 212, 191, 0.15);
}

/* Nav links — white text */
.main-header-menu a,
.ast-header-sections-navigation a,
.main-navigation a,
.ast-nav-menu a,
header .menu-item a,
.ast-header-break-point .ast-button-wrap .menu-toggle,
.main-header-bar .main-header-menu > .menu-item > a {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.02em;
    transition: color 0.2s ease;
}

/* Nav link hover — teal accent */
.main-header-menu a:hover,
.ast-nav-menu a:hover,
header .menu-item a:hover,
.main-header-bar .main-header-menu > .menu-item > a:hover {
    color: #2DD4BF !important;
}

/* Site title in nav — white */
.ast-site-identity .site-title a,
.site-title a {
    color: #ffffff !important;
}

/* Site tagline — muted */
.site-description {
    color: #94a3b8 !important;
}

/* Mobile hamburger menu — white */
.ast-mobile-menu-trigger-minimal,
.ast-button-wrap .menu-toggle,
.ast-header-break-point .menu-toggle {
    color: #ffffff !important;
}
.ast-mobile-menu-trigger-minimal .ast-mobile-svg {
    fill: #ffffff !important;
}

/* Mobile menu dropdown — dark bg */
.ast-header-break-point .main-header-menu,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    background: rgba(13, 27, 42, 0.98) !important;
}
.ast-header-break-point .main-header-menu a,
.ast-mobile-popup-drawer a {
    color: #ffffff !important;
    border-bottom-color: rgba(255,255,255,0.1) !important;
}

/* Phone number in nav — teal highlight */
.menu-item a[href^="tel:"] {
    color: #2DD4BF !important;
    font-weight: 600 !important;
}

/* ===== HIDE AUTHOR & POST META ===== */
.entry-meta .posted-by,
.entry-meta .byline,
.ast-blog-single-element .posted-by,
.ast-blog-single-element .byline,
.post-meta .author,
.entry-meta .author,
span.posted-by,
.ast-author-meta,
.ast-blog-meta-container .posted-by {
    display: none !important;
}

/* ===== HIDE META SEPARATORS ===== */
.entry-meta .ast-blog-single-element-separator,
.entry-meta > span:first-child,
.ast-blog-meta-container .ast-blog-single-element-separator,
.entry-meta .posted-on::before,
.entry-meta span[class*="separator"] {
    display: none !important;
}
/* Hide any "/" text node before date - target the slash via the posted-by's adjacent separator */
.entry-meta {
    font-size: 0;
}
.entry-meta .posted-on,
.entry-meta .comments-link,
.entry-meta .cat-links {
    font-size: 14px;
}

/* Logo sizing */
.site-logo img, .custom-logo, .astra-logo-svg, .ast-header-custom-item img {
  max-height: 120px !important;
  height: 50px !important;
  width: auto !important;
  max-width: 350px !important;
}
.ast-site-identity {
  padding: 4px 0;
}
.site-header, #masthead {
  min-height: auto !important;
}
.site-header .ast-container, .ast-primary-header .ast-container {
  align-items: center;
}
/* Override any Astra inline logo width */
.site-logo-img[style], .custom-logo-link img[style] {
  max-height: 120px !important;
  height: 50px !important;
  width: auto !important;
}
/* Hide site title when logo is present */
.site-title { display: none !important; }
/* Mobile logo sizing */
@media (max-width: 768px) {
  .site-logo img, .custom-logo, .custom-logo-link img {
    max-height: 80px !important;
    height: 35px !important;
    max-width: 180px !important;
  }
}
