/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Astra Child Theme
Author: Brainstorm Force
Author URI: https://wpastra.com/
Template: astra
Version: 1.3.9
Text Domain: astra-child
*/

/* ── 01. Global Elementor Spacing & Seam Resets (Zero Gap Docking) ── */
.elementor-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-column-gap-no > .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
}

.elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

.elementor-widget.elementor-widget-premium-tech-hero,
.elementor-widget.elementor-widget-clients-social-proofs-banner,
.elementor-widget.elementor-widget-client-logo-marquee,
.elementor-element-widget_hero_content,
.elementor-element-widget_social_proofs_banner {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.elementor-widget-premium-tech-hero .elementor-widget-container,
.elementor-widget-clients-social-proofs-banner .elementor-widget-container,
.elementor-widget-client-logo-marquee .elementor-widget-container,
.elementor-element-widget_hero_content .elementor-widget-container,
.elementor-element-widget_social_proofs_banner .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.aph-hero {
    margin: 0 !important;
}

.acsp-banner {
    margin: 0 !important;
}

/* ── 02. Footer Wrapper Resets (Eliminates Bottom White Band) ── */
.site-footer,
#colophon.site-footer,
.site-below-footer-wrap,
.ast-builder-grid-row-container-inner,
.ast-footer-overlay,
.hfe-before-footer-wrap,
.footer-adv,
.site-footer-primary-section-1,
.site-footer-primary-section-2 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#colophon {
    background: #F8FAFC !important;
    border-top: none !important;
}

/* ── 03. Global Smooth Section Background Continuity ── */
body, 
#page, 
.site, 
.ast-container, 
.site-content {
    background-color: #F8FAFC !important;
}

/* ── 04. Universal Section Spacing Hierarchy ── */
.aam-editorial-section,
.asg-section,
.aphs-section,
.apt-section,
.aps-section,
.cst-section,
.aow-section,
.ahw-section,
.wcu-growth-section,
.wcu-bento-section,
.iws-section,
.ras-section,
.faq-section,
.blog-insights-section {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

@media (max-width: 991px) {
    .aam-editorial-section,
    .asg-section,
    .aphs-section,
    .apt-section,
    .aps-section,
    .cst-section,
    .aow-section,
    .ahw-section,
    .wcu-growth-section,
    .wcu-bento-section,
    .iws-section,
    .ras-section,
    .faq-section,
    .blog-insights-section {
        padding-top: 55px !important;
        padding-bottom: 55px !important;
    }
}

@media (max-width: 767px) {
    .aam-editorial-section,
    .asg-section,
    .aphs-section,
    .apt-section,
    .aps-section,
    .cst-section,
    .aow-section,
    .ahw-section,
    .wcu-growth-section,
    .wcu-bento-section,
    .iws-section,
    .ras-section,
    .faq-section,
    .blog-insights-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}
/* ── Global Heading Brand Hierarchy Accent ── */
.brand-highlight,
.text-highlight,
.aam-text-highlight,
.cst-text-highlight,
.aow-text-highlight,
.ahw-text-highlight,
.iws-text-highlight,
.wcu-text-highlight,
.ras-text-highlight,
.faq-text-highlight,
.abi-text-highlight,
.aci-text-highlight {
    color: var(--e-global-color-accent, #14B866) !important;
    background: transparent !important;
    -webkit-text-fill-color: initial !important;
    display: inline !important;
}
/* ── 05. Universal Container Reset & Vertical Block Flow (Anti-Cracking) ── */
.site-content,
#content.site-content,
.site-content .ast-container,
.site-content > .ast-container,
.aui-subpage-canvas,
.aui-page-canvas,
.pss-service-page-canvas,
.pss-archive-canvas,
.pss-page-canvas {
    display: block !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    float: none !important;
}

/* Ensure all stacked section children fill 100% width of the canvas */
.site-content > .ast-container > section,
.site-content > .ast-container > div,
.site-content > .ast-container > article,
.aui-subpage-canvas > section,
.aui-subpage-canvas > div,
.aui-page-canvas > section,
.aui-page-canvas > div,
.pss-page-canvas > section,
.pss-page-canvas > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    float: none !important;
}

/* ── 06. Universal Boxed Width Content Alignment (Max 1240px) ── */
.aui-hero-card,
.aam-editorial-container,
.aam-container,
.wcu-growth-container,
.wcu-container,
.iws-container,
.ras-container,
.faq-canvas-wrapper,
.faq-container,
.asg-container,
.pss-container,
.aci-container,
.abi-container,
.apt-container,
.ahw-container,
.aow-container,
.ash-container,
.aps-container,
.abp-hero-section,
.aui-default-page-body {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(16px, 3vw, 28px) !important;
    padding-right: clamp(16px, 3vw, 28px) !important;
    box-sizing: border-box !important;
}

/* Hero card inner padding handles its own margins */
.aui-hero-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Exact 1200px Boxed Grid Container for Blog Page matching user inspect screenshot */
.abp-grid-section {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 1240px) {
    .abp-grid-section {
        padding-left: clamp(16px, 2.5vw, 24px) !important;
        padding-right: clamp(16px, 2.5vw, 24px) !important;
    }
}

/* ── Custom Fonts @font-face Declarations (Helvetica & Apoc) ── */
@font-face {
    font-family: 'Helvetica';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/helvetica/Helvetica.ttf') format('truetype');
}
@font-face {
    font-family: 'Helvetica';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/helvetica/Helvetica-Bold.ttf') format('truetype');
}
@font-face {
    font-family: 'Helvetica';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/helvetica/Helvetica-Oblique.ttf') format('truetype');
}
@font-face {
    font-family: 'Helvetica';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/helvetica/Helvetica-BoldOblique.ttf') format('truetype');
}
@font-face {
    font-family: 'Helvetica';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/helvetica/helvetica-light-587ebe5a59211.ttf') format('truetype');
}

@font-face {
    font-family: 'Apoc';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/apoc/Apoc-Normal-Trial-Regular.otf') format('opentype');
}
@font-face {
    font-family: 'Apoc';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/apoc/Apoc-Normal-Trial-Bold.otf') format('opentype');
}
@font-face {
    font-family: 'Apoc';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/apoc/Apoc-Normal-Trial-Light.otf') format('opentype');
}
@font-face {
    font-family: 'Apoc';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/apoc/Apoc-Normal-Trial-RegularItalic.otf') format('opentype');
}
@font-face {
    font-family: 'Apoc';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('https://syeda220.sg-host.com/wp-content/uploads/custom-fonts/apoc/Apoc-Normal-Trial-BoldItalic.otf') format('opentype');
}

/* ── Universal Hero Section Shadow Removal (All subpages except homepage) ── */
.aui-hero-card,
.aui-hero-section .aui-hero-card,
.aps-hero-section,
.aps-story-visual-card,
.abp-hero-section {
    box-shadow: none !important;
}

/* ==========================================================================
   Global Site-Wide Typography Hierarchy (Helvetica Primary, Apoc Secondary)
   ========================================================================== */
:root {
    --font-primary: 'Helvetica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    --font-secondary: 'Apoc', Georgia, serif !important;
    --e-global-typography-primary-font-family: 'Helvetica', sans-serif !important;
    --e-global-typography-secondary-font-family: 'Apoc', serif !important;
}

/* Primary Headings: Helvetica Site-Wide */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.elementor-heading-title,
.aui-hero-title,
.aps-hero-title,
.aps-section-title,
.abp-page-title,
.abi-card-title,
.asg-card__title,
.aphs-title,
.aam-title,
.wcu-title,
.ras-title,
.aci-title,
.aow-title,
.ahw-step-title,
.faq-question-text,
.www-section-title,
.www-card-title {
    font-family: 'Helvetica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Secondary Elements: Apoc Site-Wide (Eyebrows, Subheads, Badges, Category Tags) */
.aui-eyebrow,
.aps-eyebrow,
.abp-page-subtitle,
.abi-card-cat-badge,
.asg-card__cat,
.aphs-eyebrow,
.aam-eyebrow,
.wcu-eyebrow,
.ras-eyebrow,
.aci-badge,
.aow-eyebrow,
.ahw-eyebrow,
.faq-eyebrow-pill,
.www-eyebrow,
.subhead,
.eyebrow {
    font-family: 'Apoc', Georgia, serif !important;
}

/* Pure White Background for About Us */
body.page-id-35,
.page-id-35 .aui-subpage-canvas,
.page-id-35 .aps-about-wrapper,
.page-id-35 .aps-section,
.page-id-35 .aui-hero-section {
    background-color: #FFFFFF !important;
}

/* ==========================================================================
   STRICT DUAL-FONT SYSTEM: HELVETICA & APOC ONLY (Space Grotesk & Inter Removed)
   ========================================================================== */
:root {
    --font-primary: "Helvetica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    --font-secondary: "Apoc", Georgia, serif !important;
    --font-body: "Helvetica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    --font-accent: "Helvetica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    --e-global-typography-primary-font-family: "Helvetica", sans-serif !important;
    --e-global-typography-secondary-font-family: "Apoc", serif !important;
    --e-global-typography-text-font-family: "Helvetica", sans-serif !important;
    --e-global-typography-accent-font-family: "Helvetica", sans-serif !important;
    --e-global-typography-paragraph_2-font-family: "Helvetica", sans-serif !important;
}

/* Entire Body & General Text */
body, p, li, a, span, button, input, textarea, select {
    font-family: "Helvetica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Outer Website / Mobile Containers Padding (top/bottom: 12px, left/right: 14px) */
@media (max-width: 767px) {
    .site-content,
    .elementor-section-boxed > .elementor-container,
    .ast-container {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ==========================================================================
   HEADER NAVIGATION HOVER STABILITY: Zero Font or Weight Change on Hover
   ========================================================================== */

    font-family: 'Helvetica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

    font-family: 'Helvetica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 600 !important;
}

    font-family: 'Helvetica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 400 !important;
}

/* Hero Buttons are centrally styled in assets/css/premium-hero.css */

/* ──────────────────────────────────────────────────────────────────────────
   10. SMOOTH SECTION ENTRANCE ANIMATION UTILITIES
   ────────────────────────────────────────────────────────────────────────── */
.aui-reveal-up {
    animation: auiFadeInUp 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes auiFadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   HOMEPAGE UNIFIED H2 TYPOGRAPHY SYSTEM
   Standardizes heading scales across all 12 homepage sections
   ========================================================================== */
body.home h2.aam-editorial-heading,
body.home h2.asg-heading,
body.home h2.cst-heading,
body.home h2.aow-title,
body.home h2.ahw-title,
body.home h2.iws-title,
body.home h2.wcu-main-title,
body.home h2.ras-title,
body.home h2.faq-card-title,
body.home h2.abi-title,
body.home h2.aci-section-title,
body.page-id-27 h2.aam-editorial-heading,
body.page-id-27 h2.asg-heading,
body.page-id-27 h2.cst-heading,
body.page-id-27 h2.aow-title,
body.page-id-27 h2.ahw-title,
body.page-id-27 h2.iws-title,
body.page-id-27 h2.wcu-main-title,
body.page-id-27 h2.ras-title,
body.page-id-27 h2.faq-card-title,
body.page-id-27 h2.abi-title,
body.page-id-27 h2.aci-section-title,
.elementor-editor-active h2.aam-editorial-heading,
.elementor-editor-active h2.asg-heading,
.elementor-editor-active h2.cst-heading,
.elementor-editor-active h2.aow-title,
.elementor-editor-active h2.ahw-title,
.elementor-editor-active h2.iws-title,
.elementor-editor-active h2.wcu-main-title,
.elementor-editor-active h2.ras-title,
.elementor-editor-active h2.faq-card-title,
.elementor-editor-active h2.abi-title,
.elementor-editor-active h2.aci-section-title {
    font-size: clamp(34px, 3.2vw, 42px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    font-weight: 700 !important;
}

body.home h2.aam-editorial-heading span,
body.home h2.asg-heading span,
body.home h2.cst-heading span,
body.home h2.aow-title span,
body.home h2.ahw-title span,
body.home h2.iws-title span,
body.home h2.wcu-main-title span,
body.home h2.ras-title span,
body.home h2.faq-card-title span,
body.home h2.abi-title span,
body.home h2.aci-section-title span,
body.page-id-27 h2.aam-editorial-heading span,
body.page-id-27 h2.asg-heading span,
body.page-id-27 h2.cst-heading span,
body.page-id-27 h2.aow-title span,
body.page-id-27 h2.ahw-title span,
body.page-id-27 h2.iws-title span,
body.page-id-27 h2.wcu-main-title span,
body.page-id-27 h2.ras-title span,
body.page-id-27 h2.faq-card-title span,
body.page-id-27 h2.abi-title span,
body.page-id-27 h2.aci-section-title span,
.elementor-editor-active h2.aam-editorial-heading span,
.elementor-editor-active h2.asg-heading span,
.elementor-editor-active h2.cst-heading span,
.elementor-editor-active h2.aow-title span,
.elementor-editor-active h2.ahw-title span,
.elementor-editor-active h2.iws-title span,
.elementor-editor-active h2.wcu-main-title span,
.elementor-editor-active h2.ras-title span,
.elementor-editor-active h2.faq-card-title span,
.elementor-editor-active h2.abi-title span,
.elementor-editor-active h2.aci-section-title span {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

@media (max-width: 1200px) {
    body.home h2.aam-editorial-heading,
    body.home h2.asg-heading,
    body.home h2.cst-heading,
    body.home h2.aow-title,
    body.home h2.ahw-title,
    body.home h2.iws-title,
    body.home h2.wcu-main-title,
    body.home h2.ras-title,
    body.home h2.faq-card-title,
    body.home h2.abi-title,
    body.home h2.aci-section-title,
    body.page-id-27 h2.aam-editorial-heading,
    body.page-id-27 h2.asg-heading,
    body.page-id-27 h2.cst-heading,
    body.page-id-27 h2.aow-title,
    body.page-id-27 h2.ahw-title,
    body.page-id-27 h2.iws-title,
    body.page-id-27 h2.wcu-main-title,
    body.page-id-27 h2.ras-title,
    body.page-id-27 h2.faq-card-title,
    body.page-id-27 h2.abi-title,
    body.page-id-27 h2.aci-section-title,
    .elementor-editor-active h2.aam-editorial-heading,
    .elementor-editor-active h2.asg-heading,
    .elementor-editor-active h2.cst-heading,
    .elementor-editor-active h2.aow-title,
    .elementor-editor-active h2.ahw-title,
    .elementor-editor-active h2.iws-title,
    .elementor-editor-active h2.wcu-main-title,
    .elementor-editor-active h2.ras-title,
    .elementor-editor-active h2.faq-card-title,
    .elementor-editor-active h2.abi-title,
    .elementor-editor-active h2.aci-section-title {
        font-size: 38px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 1024px) {
    body.home h2.aam-editorial-heading,
    body.home h2.asg-heading,
    body.home h2.cst-heading,
    body.home h2.aow-title,
    body.home h2.ahw-title,
    body.home h2.iws-title,
    body.home h2.wcu-main-title,
    body.home h2.ras-title,
    body.home h2.faq-card-title,
    body.home h2.abi-title,
    body.home h2.aci-section-title,
    body.page-id-27 h2.aam-editorial-heading,
    body.page-id-27 h2.asg-heading,
    body.page-id-27 h2.cst-heading,
    body.page-id-27 h2.aow-title,
    body.page-id-27 h2.ahw-title,
    body.page-id-27 h2.iws-title,
    body.page-id-27 h2.wcu-main-title,
    body.page-id-27 h2.ras-title,
    body.page-id-27 h2.faq-card-title,
    body.page-id-27 h2.abi-title,
    body.page-id-27 h2.aci-section-title,
    .elementor-editor-active h2.aam-editorial-heading,
    .elementor-editor-active h2.asg-heading,
    .elementor-editor-active h2.cst-heading,
    .elementor-editor-active h2.aow-title,
    .elementor-editor-active h2.ahw-title,
    .elementor-editor-active h2.iws-title,
    .elementor-editor-active h2.wcu-main-title,
    .elementor-editor-active h2.ras-title,
    .elementor-editor-active h2.faq-card-title,
    .elementor-editor-active h2.abi-title,
    .elementor-editor-active h2.aci-section-title {
        font-size: 32px !important;
        line-height: 1.22 !important;
    }
}

@media (max-width: 768px) {
    body.home h2.aam-editorial-heading,
    body.home h2.asg-heading,
    body.home h2.cst-heading,
    body.home h2.aow-title,
    body.home h2.ahw-title,
    body.home h2.iws-title,
    body.home h2.wcu-main-title,
    body.home h2.ras-title,
    body.home h2.faq-card-title,
    body.home h2.abi-title,
    body.home h2.aci-section-title,
    body.page-id-27 h2.aam-editorial-heading,
    body.page-id-27 h2.asg-heading,
    body.page-id-27 h2.cst-heading,
    body.page-id-27 h2.aow-title,
    body.page-id-27 h2.ahw-title,
    body.page-id-27 h2.iws-title,
    body.page-id-27 h2.wcu-main-title,
    body.page-id-27 h2.ras-title,
    body.page-id-27 h2.faq-card-title,
    body.page-id-27 h2.abi-title,
    body.page-id-27 h2.aci-section-title,
    .elementor-editor-active h2.aam-editorial-heading,
    .elementor-editor-active h2.asg-heading,
    .elementor-editor-active h2.cst-heading,
    .elementor-editor-active h2.aow-title,
    .elementor-editor-active h2.ahw-title,
    .elementor-editor-active h2.iws-title,
    .elementor-editor-active h2.wcu-main-title,
    .elementor-editor-active h2.ras-title,
    .elementor-editor-active h2.faq-card-title,
    .elementor-editor-active h2.abi-title,
    .elementor-editor-active h2.aci-section-title {
        font-size: 28px !important;
        line-height: 1.24 !important;
    }
}

@media (max-width: 480px) {
    body.home h2.aam-editorial-heading,
    body.home h2.asg-heading,
    body.home h2.cst-heading,
    body.home h2.aow-title,
    body.home h2.ahw-title,
    body.home h2.iws-title,
    body.home h2.wcu-main-title,
    body.home h2.ras-title,
    body.home h2.faq-card-title,
    body.home h2.abi-title,
    body.home h2.aci-section-title,
    body.page-id-27 h2.aam-editorial-heading,
    body.page-id-27 h2.asg-heading,
    body.page-id-27 h2.cst-heading,
    body.page-id-27 h2.aow-title,
    body.page-id-27 h2.ahw-title,
    body.page-id-27 h2.iws-title,
    body.page-id-27 h2.wcu-main-title,
    body.page-id-27 h2.ras-title,
    body.page-id-27 h2.faq-card-title,
    body.page-id-27 h2.abi-title,
    body.page-id-27 h2.aci-section-title,
    .elementor-editor-active h2.aam-editorial-heading,
    .elementor-editor-active h2.asg-heading,
    .elementor-editor-active h2.cst-heading,
    .elementor-editor-active h2.aow-title,
    .elementor-editor-active h2.ahw-title,
    .elementor-editor-active h2.iws-title,
    .elementor-editor-active h2.wcu-main-title,
    .elementor-editor-active h2.ras-title,
    .elementor-editor-active h2.faq-card-title,
    .elementor-editor-active h2.abi-title,
    .elementor-editor-active h2.aci-section-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }
}
