/**
 * Theme Name: Astra Child
 * Theme URI: https://wpastra.com/
 * Template: astra
 * Author: Brainstorm Force
 * Author URI: https://wpastra.com/about/
 * Description: Astra Child Theme
 * Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 * Version: 1.0.0
 * Text Domain: astra-child
 */

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

:root {
    --ast-global-font-family: 'DM Sans', sans-serif;
}

body:not(.wp-admin) {
    font-family: 'DM Sans', sans-serif;
}

body:not(.wp-admin) h1, 
body:not(.wp-admin) h2, 
body:not(.wp-admin) h3, 
body:not(.wp-admin) h4, 
body:not(.wp-admin) h5, 
body:not(.wp-admin) h6, 
body:not(.wp-admin) p, 
body:not(.wp-admin) a:not(.ab-item), 
body:not(.wp-admin) li,
.ast-builder-layout-element {
    font-family: 'DM Sans', sans-serif !important;
}

.fix-css{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.stats-btn{font-size:14px;color:#0046e8;text-decoration:underline;display:inline-block;margin-top:4px}.stats-filter-bar{margin:0px 0px 0px 30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.stats-filter-btn{background:#0070f7;color:#fff;border:none;border-radius:5px;padding:2px 10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .25s,transform .25s}.stats-filter-btn:hover{background:#0046e8;color:white;transform:translateY(-2px)}.stats-search-box{margin-bottom:25px}#statsSearchInput{width:100%;max-width:500px;padding:12px 16px;font-size:16px;border:2px solid #dce3ef;border-radius:10px;outline:none;transition:.3s}#statsSearchInput:focus{border-color:#0046e8;box-shadow:0 0 0 3px rgba(0,70,232,0.15)}.load-more-btn{display:block;margin:40px auto 60px;padding:14px 32px;width:200px !important;background:#0046e8;color:#fff;font-size:18px;border:none;cursor:pointer;border-radius:12px;font-weight:600;text-align:center;transition:background .25s ease,transform .25s ease}.stats-search-box{margin-bottom:25px}#statsSearchInput{width:100%;max-width:500px;padding:12px 16px;font-size:16px;border:2px solid #dce3ef;border-radius:10px;outline:none;transition:.3s}#statsSearchInput:focus{border-color:#0046e8;box-shadow:0 0 0 3px rgba(0,70,232,0.15)}.load-more-btn{display:block;margin:40px auto 60px;padding:14px 32px;width:200px !important;background:#0046e8;color:#fff;font-size:18px;border:none;cursor:pointer;border-radius:12px;font-weight:600;text-align:center;transition:background .25s ease,transform .25s ease}.load-more-btn:hover{background:#0033b7;transform:translateY(-2px)}@font-face{font-family:'Inter';src:url('https://resourcera.com/wp-content/uploads/uag-plugin/assets/fonts/inter/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyYAZ9hiA.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}.stats-thumb-wrap{display:block !important}.stats-card{background:#dde4f9 !important}figure.emb{position:relative}.cat-item-16{display:none !important}.share-embed-btns{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:99;opacity:0;pointer-events:none;transition:opacity 0.25s ease}figure.emb:hover .share-embed-btns{opacity:1;pointer-events:auto}.icon-btn{width:38px;height:38px;background:#fff;border-radius:8px;border:1.5px solid #e0e0e0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:0.25s ease;box-shadow:0px 2px 4px rgba(0,0,0,0.08)}.icon-btn:hover{background:#FC792B;color:#fff}.headings1 strong{font-weight:300}input[type="search"]{height:40px}.logo-slider::after{right:0;background:linear-gradient(to left,rgba(0,0,0,0.4),rgba(0,0,0,0))}.searchbottom button{border-radius:0px;padding:8px 20px !important}ul.based1{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-left:0px !important}ul.based1 li{display:inline-block}ul.based1 li a{display:inline-block;padding:1px 7px;background:#1359b1;color:#fff;font-size:12px;font-weight:500;border-radius:5px;border:1px solid #3675c2;text-decoration:none !important;transition:all .25s ease}ul.based1 li a:hover{background:#1964c1;transform:translateY(-0.5px)}.homehero{background:linear-gradient(111.88deg,#FFEBF2 0.36%,#D7E2F4 30.64%,#D7E2F4 70.35%,#F3F6FC 99.64%)}input[type="search"]{border-radius:0px !important}.wp-block-search__button{margin:0px !important}.hideme{display:none !important}.post-dates{justify-content:unset !important}table{border:1px solid #dbdbdb !important;border-collapse:unset !important}.sumarize svg{border-radius:8px}.sumarize svg:hover{background:#e6f2ff;color:#007cff !important;outline:1px solid #007cff}.custom-breadcrumbs span{color:white;font-size:16px}.custom-breadcrumbs a{color:white;font-size:16px}.custom-breadcrumbs a:hover{color:#FF6936;font-size:16px}.current:hover{color:#FF6936;cursor:pointer}.entry-content .wp-block-image{margin-top:15px !important;margin-bottom:15px !important}.cALdef{position:sticky !important;top:2px !important}.ctashadow{box-shadow:0 20px 40px -20px #071D2B26 !important}.blog-slide{background:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:transform 0.3s}.blog-slide:hover{transform:translateY(-5px)}.blog-slide-img img{width:100%;border-radius:10px}.blog-slide-title{font-size:18px;margin:10px 0 5px}.blog-slide-title a{color:#0073e6;text-decoration:none}.blog-slide-title a:hover{text-decoration:underline}.blog-slide-meta{font-size:13px;color:#666;margin-bottom:8px}.blog-slide-excerpt{font-size:14px;color:#333}.swiper-pagination{text-align:center;margin-top:15px}.swiper-pagination-bullet{background:#999 !important;opacity:1 !important}.swiper-pagination-bullet-active{background:#0073e6 !important}article a{text-decoration:underline;color:#0000EE;font-weight:600}.iam{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,0.05);max-width:280px}.iam .wp-block-categories-list{list-style:none;margin:0;padding:0}.iam .wp-block-categories-list li{padding:10px 12px;margin-bottom:8px;border-radius:6px;transition:all 0.3s ease;display:flex;justify-content:space-between;align-items:center}.iam .wp-block-categories-list li a{font-weight:500;color:#1a73e8;text-decoration:none;transition:color 0.3s ease}.iam .wp-block-categories-list li:hover{background:#f8faff}.iam .wp-block-categories-list li a:hover{color:#0b57d0}.iam .wp-block-categories-list li{font-size:14px;color:#555}#read-post-btn:hover{font-size:9px;padding:7px 10px;border-radius:20px;color:white !important}.uagb-container-inner-blocks-wrap ol{margin-left:0px !important}a:focus-visible{outline:0 !important}.uagb-toc__list{border-left:0px !important}a:focus{outline:0 !important}.toc-legal a{position:relative;display:inline-block;color:#0000EE;text-decoration:none}.toc-legal a::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background-color:#0000EE;transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease}.toc-legal a:hover{color:#0000EE !important}.toc-legal .active a{color:#0000EE !important}.toc-legal a:hover::after{transform:scaleX(1)}.toc-legal .active>a::after{transform:scaleX(1)}.listing{overflow-y:auto !important;max-height:500px;scroll-behavior:smooth !important}.listing::-webkit-scrollbar{width:4px}.listing::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.listing::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.listing::-webkit-scrollbar-thumb:hover{background:#555}.stik{position:sticky !important;top:90px !important}.highlight{background-color:#ffc29e !important;box-shadow:0 0 10px 3px #ffeb3b88 !important;transition:background-color 0.3s ease,box-shadow 0.3s ease}.mb-0{margin-bottom:0px !important}.sumarize svg{padding:6px !important}.sumarize a{width:30px !important;height:30px !important}@media only screen and (max-width:600px){body{background-color:lightblue}.swiper-button-next,.swiper-button-prev{display:none !important}.stik{position:relative !important;top:0px !important}}@media (max-width:768px){.share-embed-btns{top:8px;right:8px;gap:6px}.icon-btn{width:30px;height:30px;border-radius:6px;font-size:14px}.icon-btn svg{width:14px;height:14px}}@media (max-width:480px){.share-embed-btns{top:6px;right:6px;gap:5px}.icon-btn{width:26px;height:26px;border-radius:6px;font-size:12px}.stats-card{height:auto !important}.icon-btn svg{width:12px;height:12px}.stats-filter-bar{justify-content:left !important}.stats-filter-btn{font-size:10px !important;padding:5px 8px !important;border-radius:5px !important}}@media (max-width:480px){.stats-filter-bar{justify-content:left !important;gap:7px}.stats-filter-btn{font-size:11px !important;padding:5px 5px !important;border-radius:3px !important}.stats-topics-wrap{display:block !important;justify-content:left !important}.stats-filter-bar{margin-left:0px;margin-top:10px}}img{height:auto !important}@media (max-width:1024px){.uagb-block-d73ae6f0{display:none !important}}@media (max-width:1024px){.uagb-block-d64fc3fd{display:none !important}}

/* Reset Header Height to clean 65px */
#site-header,
header#site-header,
.site-header,
.ast-main-header-wrap,
.main-header-bar {
    height: 65px !important;
    min-height: 65px !important;
    max-height: 65px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* ── Blog post page: strip ALL Astra outer wrapper constraints ──
   So .premium-container padding perfectly aligns with the header */
body.post-template-single-premium .site-content,
body.post-template-single-premium #content,
body.post-template-single-premium .content-area,
body.post-template-single-premium #primary,
body.post-template-single-premium .ast-container,
body.post-template-single-premium .ast-single-post-title-bar,
body.post-template-single-premium .ast-post-single-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

#site-header .site-logo img,
header#site-header .site-logo img {
    max-height: 36px !important;
    height: auto !important;
}

/* Remove focus outlines from links */
a, a:focus, a:active, button, button:focus, button:active { outline: none !important; box-shadow: none !important; }

/* ── Global Link & Title Hover Color: Blue (#0070F6) ── */
a:hover,
a:hover *,
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
.entry-title a:hover,
.post-title a:hover,
.blog-slide-title a:hover,
.group:hover h1,
.group:hover h2,
.group:hover h3,
.group:hover h4,
.group:hover a,
.main-header-menu a:hover,
.main-header-menu .menu-item:hover > a,
.ast-builder-menu-1 .menu-item a:hover,
.ast-builder-menu-1 .menu-item:hover > a,
.menu-item a:hover {
    color: #0070F6 !important;
}

/* ── Disable Orange Hover on all Buttons & Button-like Links ── */
button:hover,
button:hover *,
.button:hover,
.button:hover *,
.pricing-btn,
.pricing-btn:hover,
.pricing-btn:focus,
.pricing-btn:active,
.flex-1.font-bold:hover {
    color: inherit;
}

/* Keep white buttons/text pure white */
button[class*="text-white"],
button[type="submit"][class*="text-white"],
input[type="submit"][class*="text-white"],
a[class*="text-white"],
a[class*="text-white"]:hover,
a[class*="text-white"]:hover span,
a[class*="text-white"]:hover svg,
button[class*="text-white"]:hover,
button[class*="text-white"]:hover span,
a[class*="bg-[#0070F6]"]:hover,
a[class*="bg-[#0070f6]"]:hover,
a[class*="bg-[#0070F6]"]:focus,
a[class*="bg-[#0070f6]"]:focus {
    color: #ffffff !important;
}

/* Keep dark text on white/light buttons dark on hover */
a[class*="bg-white"]:hover,
a[class*="bg-white"]:hover span,
a[class*="text-[#212E5E]"]:hover,
a[class*="text-[#212E5E]"]:hover span,
a[class*="text-[#1B254B]"]:hover,
a[class*="text-[#1B254B]"]:hover span,
a[class*="text-[#334155]"]:hover,
a[class*="text-[#334155]"]:hover span,
a[class*="text-[#0F172A]"]:hover,
a[class*="text-[#0F172A]"]:hover span {
    color: inherit !important;
}

/* Remove inner borders from rounded search bars */
.rounded-full > input[type="text"], .rounded-full > input[type="search"] { border: none !important; box-shadow: none !important; outline: none !important; background-color: transparent !important; }

/* ── Form Inputs & Textareas Default Proper Borders ── */
#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form input[type="tel"],
#contact-form textarea,
.rsrc-form-input,
form:not(.search-form) input[type="text"]:not([class*="!border-none"]):not([class*="border-none"]),
form:not(.search-form) input[type="email"]:not([class*="!border-none"]):not([class*="border-none"]),
form:not(.search-form) input[type="tel"]:not([class*="!border-none"]):not([class*="border-none"]),
form:not(.search-form) textarea:not([class*="!border-none"]):not([class*="border-none"]) {
    border: 1px solid #CBD5E1 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    height: 48px !important;
    padding: 0 16px !important;
    line-height: 46px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#contact-form textarea,
form:not(.search-form) textarea:not([class*="!border-none"]):not([class*="border-none"]) {
    height: auto !important;
    padding: 14px 16px !important;
    line-height: 1.5 !important;
}

#contact-form select,
form:not(.search-form) select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748B' stroke-width='2.2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px 16px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    height: 48px !important;
    line-height: normal !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 16px !important;
    padding-right: 40px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    outline: none !important;
    box-shadow: none !important;
    display: block !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#contact-form input[type="text"]:focus,
#contact-form input[type="email"]:focus,
#contact-form input[type="tel"]:focus,
#contact-form textarea:focus,
#contact-form select:focus,
.rsrc-form-input:focus,
form:not(.search-form) input[type="text"]:focus,
form:not(.search-form) input[type="email"]:focus,
form:not(.search-form) input[type="tel"]:focus,
form:not(.search-form) textarea:focus,
form:not(.search-form) select:focus {
    border-color: #0070f6 !important;
    box-shadow: 0 0 0 3px rgba(0, 112, 246, 0.12) !important;
}


/* ─── Bulletproof Header & Mega Menu Fallback Styles ─── */
#site-header {
    width: 100%;
    height: 60px;
    min-height: 60px;
    background: #ffffff;
    border-bottom: 1px solid #E2E8F0;
    position: relative;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}



/* Guarantee white text on all blue action buttons / links */
a.bg-\[\#0070f6\],
a.bg-\[\#0070F6\],
a[class*="bg-[#0070f6]"],
a[class*="bg-[#0070F6]"],
button.bg-\[\#0070f6\],
button.bg-\[\#0070F6\] {
    color: #ffffff !important;
}

/* Mobile Menu Overlay - strictly hidden on desktop */
#mobile-menu-overlay {
    position: fixed;
    inset: 0;
    top: 60px;
    background: #ffffff;
    z-index: 50;
    display: none;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}
#mobile-menu-overlay.mobile-active {
    display: flex !important;
    transform: translateX(0) !important;
}

/* User Menu Dropdown */
#user-menu-dropdown {
    position: absolute;
    right: 0;
    top: 100%;
    padding-top: 8px;
    width: 13rem;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 50;
}
#user-menu-dropdown.active,
#user-menu-dropdown:not(.opacity-0) {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Responsive navigation visibility */
@media (min-width: 1024px) {
    #mobile-menu-btn { display: none !important; }
    #mobile-menu-overlay { display: none !important; }
}
@media (max-width: 1023px) {
    #site-header nav.hidden { display: none !important; }
    #site-header > .hidden.lg\:flex { display: none !important; }
    #mobile-menu-btn { display: flex !important; }
}

/* Mobile Menu Reset */
#mobile-reports-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    color: #212E5E !important;
    transform: none !important;
    transition: all 0.2s ease !important;
}
#mobile-reports-btn:hover,
#mobile-reports-btn:focus,
#mobile-reports-btn:active {
    background: #F1F5F9 !important;
    color: #0070f6 !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
}
#mobile-menu-overlay a {
    text-decoration: none !important;
}
#mobile-menu-overlay a:hover {
    color: #0070f6 !important;
    text-decoration: none !important;
}
#mobile-reports-content a {
    color: #475569 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}
#mobile-reports-content a:hover {
    color: #0070f6 !important;
    text-decoration: none !important;
}


/* ─── Hide Astra's scroll button — we use our own ─── */
#ast-scroll-top,
.ast-scroll-to-top-right,
.ast-scroll-top-icon {
    display: none !important;
}

/* ─── Custom Scroll Button ─── */
#rsrc-scroll-btn {
    position: fixed !important;
    right: 28px !important;
    bottom: 28px !important;
    z-index: 99999 !important;
}
#rsrc-scroll-btn:focus-visible {
    outline: 3px solid #0070f6 !important;
    outline-offset: 3px !important;
}

/* ─── Report Card Favorite Button Override ─── */
button.rsrc-fav-btn,
.rsrc-fav-btn {
    padding: 0 !important;
    margin: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1px solid #E2E8F0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    outline: none !important;
    box-sizing: border-box !important;
}

button.rsrc-fav-btn:hover,
.rsrc-fav-btn:hover {
    border-color: #FECACA !important;
    background-color: #FEF2F2 !important;
}

button.rsrc-fav-btn:hover svg,
.rsrc-fav-btn:hover svg {
    stroke: #EF4444 !important;
}

button.rsrc-fav-btn svg,
.rsrc-fav-btn svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    display: block !important;
    margin: auto !important;
    pointer-events: none !important;
}


/* ── Global Section Alignment ── */
/* All sections must use this same horizontal padding as the header
   (header: px-4 md:px-12 lg:px-20 → 1rem / 3rem / 5rem)
   Use .site-px on any element that needs to match the header left/right edges. */
.site-px {
    padding-left:  1rem;
    padding-right: 1rem;
}
@media (min-width: 768px) {
    .site-px {
        padding-left:  3rem;
        padding-right: 3rem;
    }
}
@media (min-width: 1024px) {
    .site-px {
        padding-left:  5rem;
        padding-right: 5rem;
    }
}


/* ═══════════════════════════════════════════════
   RESPONSIVE FIXES — Mobile / Tablet / Desktop
   ═══════════════════════════════════════════════ */

/* ── TABLET (640–1023px) ── */
@media (max-width: 1023px) {

    /* Hero: ensure mockup doesn't overflow */
    .hero-mockup-wrap {
        max-width: 100% !important;
    }

    /* Stats $140B number — smaller on tablet */
    #animated-stat-wrap {
        font-size: 110px !important;
    }

    /* Footer subscribe/contact: equal-height side-by-side on md */
    .footer-subscribe-contact {
        min-height: auto !important;
    }

    /* Process steps: disable number overlap on tablet */
    .process-num {
        font-size: 120px !important;
    }
}

/* Viewport overflow protection */
html, body {
    max-width: 100%;
    overflow-x: clip;
}

/* Hero search button responsive defaults */
.hero-search-btn-desktop {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}
.hero-search-btn-mobile {
    display: none !important;
}

/* ── MOBILE (< 768px) ── */
@media (max-width: 767px) {

    /* ── HERO ── */
    /* Hide mockup widget on phone / mobile screens to keep hero clean */
    .hero-mockup-col,
    .hero-mockup-wrap {
        display: none !important;
    }

    /* Reduce chart height on mobile */
    .hero-chart-container {
        height: 180px !important;
    }

    /* Search form: switch to compact button on mobile */
    .hero-search-btn-desktop {
        display: none !important;
    }
    .hero-search-btn-mobile {
        display: inline-flex !important;
    }
    .hero-search-btn {
        padding: 8px 18px !important;
    }

    /* Reduce hero padding */
    .hero-section {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    /* ── STATS SECTION ── */
    /* $140B counter — reduce on mobile */
    .stat-number-large {
        font-size: 80px !important;
    }

    /* ── FEATURE CARDS ── */
    .feature-card-body {
        padding: 1.5rem !important;
    }

    /* ── FOOTER SUBSCRIBE + CONTACT ── */
    /* Stack vertically on mobile (already grid-cols-1, just ensure good padding) */
    .footer-top-subscribe,
    .footer-top-contact {
        padding: 3rem 1.5rem !important;
    }

    /* Footer bottom bar: stack links above copyright */
    .footer-bottom-bar {
        flex-direction: column !important;
        gap: 0.75rem !important;
        text-align: center !important;
    }

    /* Testimonials: full width, reduce padding */
    .testimonial-card {
        padding: 1.5rem !important;
        min-height: auto !important;
    }

    /* Process section: reduce big number size on mobile */
    .process-num {
        font-size: 100px !important;
        opacity: 0.4 !important;
    }

    /* Industries section heading */
    .industries-heading {
        font-size: 2rem !important;
    }

    /* Blog swiper: ensure it doesn't overflow */
    .blog-swiper {
        overflow: hidden !important;
    }

    /* Footer newsletter inline form: stack on mobile */
    .footer-inline-subscribe {
        flex-direction: column !important;
        gap: 0.75rem !important;
    }
    .footer-inline-subscribe input,
    .footer-inline-subscribe button {
        width: 100% !important;
        border-radius: 9999px !important;
    }
}

/* ── SMALL MOBILE (< 480px) ── */
@media (max-width: 479px) {

    /* Hero H1: scale down further */
    .hero-h1 {
        font-size: 32px !important;
        line-height: 1.08 !important;
        margin-bottom: 0.85rem !important;
    }

    .hero-subtext {
        font-size: 13.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 1.25rem !important;
    }

    /* Search form: reduce padding while keeping icon indent */
    .search-form {
        padding: 0.35rem 0.35rem 0.35rem 1rem !important;
        margin-bottom: 0 !important;
    }

    /* Industry cards: ensure min-height doesn't waste space */
    .industry-card {
        min-height: auto !important;
    }

    /* Stat counter */
    .stat-number-large {
        font-size: 64px !important;
    }

    /* Feature card heading */
    .feature-card-title {
        font-size: 18px !important;
    }
}

/* ── Make chart height responsive inline fallback ── */
@media (max-width: 640px) {
    /* Target the hero chart by its known bg class */
    .bg-\[\#EEF3FA\].rounded-\[18px\] {
        height: 180px !important;
    }
    /* Mega menu: ensure it doesn't show on mobile */
    #mega-menu-panel {
        display: none !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   GLOBAL UNIFIED INPUT / SELECT / TEXTAREA DESIGN
   All form fields sitewide share this look.
   Astra overrides are neutralised with !important selectors below.
   ══════════════════════════════════════════════════════════════ */

/* ── 1. Hard reset Astra's conflicting input defaults ── */
body:not(.wp-admin) input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
body:not(.wp-admin) select,
body:not(.wp-admin) textarea {
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}

/* ── 2. Unified design — light-background forms ── */
#contact-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#contact-form select,
#contact-form textarea,
#newsletter-form input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]),
#discovery-form input:not([type="checkbox"]):not([type="hidden"]):not([type="date"]),
#discovery-form select,
#discovery-form textarea,
#discovery-form input[type="date"] {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #212E5E !important;
    background: #ffffff !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 12px !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
    line-height: 52px !important;
}

/* Textarea height override */
#contact-form textarea {
    height: auto !important;
    min-height: 120px !important;
    padding: 14px 16px !important;
    resize: vertical !important;
    line-height: 1.55 !important;
}

/* Focus state */
#contact-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):focus,
#contact-form select:focus,
#contact-form textarea:focus,
#newsletter-form input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):focus,
#discovery-form input:not([type="checkbox"]):not([type="hidden"]):not([type="date"]):focus,
#discovery-form select:focus,
#discovery-form textarea:focus,
#discovery-form input[type="date"]:focus {
    border-color: #0070F6 !important;
    box-shadow: 0 0 0 3px rgba(0,112,246,0.12) !important;
    outline: none !important;
}

/* Placeholder colour */
#contact-form input::placeholder,
#contact-form textarea::placeholder,
#newsletter-form input::placeholder,
#discovery-form input::placeholder,
#discovery-form textarea::placeholder {
    color: #94A3B8 !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

/* Select dropdown arrow */
#contact-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* ── 3. Dark-section inputs (footer) — underline style ── */
#footer-contact-form input:not([type="hidden"]),
#footer-subscribe-form input:not([type="hidden"]) {
    background: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid rgba(255,255,255,0.25) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    padding: 6px 0 8px 0 !important;
    height: auto !important;
    line-height: 1.5 !important;
    font-size: 14px !important;
    width: 100% !important;
    outline: none !important;
}
#footer-contact-form input:not([type="hidden"]):focus,
#footer-subscribe-form input:not([type="hidden"]):focus {
    border-bottom-color: #ffffff !important;
    box-shadow: none !important;
}
#footer-contact-form input::placeholder,
#footer-subscribe-form input::placeholder {
    color: rgba(255,255,255,0.45) !important;
    opacity: 1 !important;
}

/* ── 4. Labels — consistent style ── */
#contact-form label.block,
#newsletter-form label.block,
#discovery-form label.block {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #64748B !important;
    margin-bottom: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
}

/* ── Single Report Sticky Sidebars ── */
@media (min-width: 1024px) {
    body.single-report aside.lg\:col-span-3,
    .single-report aside.lg\:col-span-3,
    aside.sticky-sidebar {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 85px !important;
        align-self: start !important;
        height: fit-content !important;
    }
}

