/*
==========================================================================
 DEFINITIVE BACKGROUND FIX & CORE DEFAULTS
==========================================================================
*/
.ast-plain-container, .ast-page-builder-template { background-color: #0d1b2a !important; }
body, html { margin: 0 !important; padding: 0 !important; overflow-x: hidden; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }

/*
==========================================================================
 NEW FORCEFUL HEADER
==========================================================================
*/
.custom-site-header {
    position: fixed; /* Changed to fixed - more powerful */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999 !important; /* Extremely high z-index */
    padding: 16px 5%;
    box-sizing: border-box; /* Ensures padding is included in the width */
    background: blue !important; 
    display: block !important; /* Force display */
    visibility: visible !important; /* Force visibility */
}

.header-container { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; gap: 16px; }
.logo img { height: 70px; object-fit: contain; }
nav.nav-links { display: flex; gap: 24px; align-items: center; }
nav.nav-links a { color: #fff; text-decoration: none !important; font-weight: 500; padding: 8px 6px; }
nav.nav-links a:hover { color: #ff9900; }
button.nav-icon { display: none; width: 42px; height: 42px; border-radius: 8px; background: transparent; border: none; cursor: pointer; padding: 8px; align-items: center; justify-content: center; }
button.nav-icon span { display: block; width: 20px; height: 2.6px; background: #fff; border-radius: 2px; transition: transform .22s ease, opacity .18s ease; }
button.nav-icon span + span { margin-top: 6px; }
button.nav-icon.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
button.nav-icon.open span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
button.nav-icon.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
div.nav-menu { display: none; position: absolute; top: calc(100% + 10px); right: 5%; background: #ffffff; color: #0f172a; padding: 8px 0; box-shadow: 0 8px 30px rgba(2,6,23,0.45); border-radius: 10px; min-width: 220px; z-index: 9998; }
div.nav-menu a { display: block; padding: 10px 18px; color: #0f172a; text-decoration: none !important; font-weight: 500; }
div.nav-menu a:hover { background: #f6f7f9; color: #ff9900; }
div.nav-menu.open { display: block; }

/*
==========================================================================
 HERO SECTION (ADJUSTED FOR FIXED HEADER)
==========================================================================
*/
.hero-wrapper {
    position: relative;
    z-index: 1;
    padding-top: 120px; /* IMPORTANT: Pushes the hero content down so the fixed header doesn't cover it */
}

.hero { width: 100%; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px 80px; text-align: center; color: #fff; box-sizing: border-box; }
div.hero-wrapper section.hero h1.hero-title { font-size: 5.5rem !important; color: #ffffff !important; }
.hero-subtext { font-size: 1.2rem; margin-bottom: 40px; }
a.cta-btn { display: inline-block; padding: 14px 28px; font-weight: 700; background: #ff9900; color: #fff; border-radius: 8px; text-decoration: none !important; transition: background .18s ease; }
a.cta-btn:hover { background: #e68300; }

/*
==========================================================================
 CONTENT SECTIONS
==========================================================================
*/
.page-content-wrapper { padding: 0 5%; }
.content-section-light { background-color: #ffffff; padding-top: 80px; padding-bottom: 80px; margin-bottom: 20px; }
.content-section-light .section-container { max-width: 1000px; margin: 0 auto; padding: 0 20px; }
a:focus { outline: 3px solid rgba(255, 153, 0, 0.2); outline-offset: 2px; border-radius: 4px; }
.hiw-title h2, .order-form-title h2 { font-size: 2.5rem; font-weight: 700; color: #0d1b2a; margin-bottom: 15px; text-align: center; }
.order-form-title p { font-size: 1.2rem; color: #555555; max-width: 600px; margin-left: auto; margin-right: auto; text-align: center; }
.hiw-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; margin-bottom: 40px; }
.hiw-step { background: #ffffff; border-radius: 12px; border: 1px solid #eef2f6; text-align: center; padding: 30px 20px; flex: 1 1 280px; max-width: 320px; transition: all 0.3s ease; }
.hiw-step:hover { transform: translateY(-8px); border-color: #ff9900; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.hiw-step img { width: 60px; margin-bottom: 20px; }
.hiw-step h3 { font-size: 1.3rem; color: #0d1b2a; margin-bottom: 10px; }
.hiw-step p { font-size: 1rem; color: #555555; line-height: 1.7; }
div.wpforms-container-full { max-width: 700px; margin: 40px auto 0 auto; }
.content-section-light div.wpforms-container-full .wpforms-form .wpforms-field-label { color: #0d1b2a !important; font-weight: 600 !important; font-size: 1rem !important; }
.content-section-light div.wpforms-container-full .wpforms-form .wpforms-submit { background-color: #ff9900 !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; font-weight: bold !important; width: 100% !important; padding: 15px 30px !important; }
.content-section-light div.wpforms-container-full .wpforms-form .wpforms-submit:hover { background-color: #e68300 !important; }

/*
==========================================================================
 FOOTER
==========================================================================
*/
footer.site-footer { background-color: #0d1b2a; color: #94a3b8; padding: 60px 5%; margin-top: 80px; }
.footer-container { max-width: 1000px; margin: 0 auto; text-align: center; }
footer.site-footer .footer-brand { font-size: 1.5rem; font-weight: bold; color: #ffffff; margin-bottom: 15px; }
footer.site-footer .footer-links { margin: 20px 0; }
footer.site-footer .footer-links a { color: #94a3b8; margin: 0 12px; text-decoration: none; font-size: 0.95rem; }
footer.site-footer .footer-links a:hover { color: #ffffff; }
footer.site-footer .social-icons { margin-top: 20px; margin-bottom: 30px; }
footer.site-footer .social-icons a { margin: 0 8px; display: inline-block; }
footer.site-footer .social-icons img { width: 20px; filter: brightness(0) invert(0.8); opacity: 0.8; transition: opacity 0.3s ease; }
footer.site-footer .social-icons a:hover img { opacity: 1; }
footer.site-footer .footer-bottom { font-size: 0.85rem; color: #64748b; border-top: 1px solid #1e293b; padding-top: 30px; margin-top: 30px; }

/*
==========================================================================
 RESPONSIVE & MOBILE
==========================================================================
*/
@media (max-width: 1024px) { nav.nav-links { display: none !important; } button.nav-icon { display: flex; } div.nav-menu { right: 5%; left: auto; } }
@media (max-width: 768px) { div.hero-wrapper section.hero h1.hero-title { font-size: 2.8rem !important; } }
@media (max-width: 480px) { div.nav-menu { left: 6%; right: 6%; min-width: auto; } .logo img { height: 60px; } }