/*
Theme Name:   Astra Child – BL Wealth Management
Theme URI:    https://blwealthmanagement.com/
Description:  Child theme for BL Wealth Management (Astra parent). Global styles, scripts and site snippets.
Author:       Creationic
Author URI:   https://creationic.com
Template:     astra
Version:      1.1.0
Text Domain:  astra-child
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --blwm-navy:#243673;
  --blwm-blue:#3b4fe4;
  --blwm-blue-dark:#2c3cc0;
  --blwm-orange:#f39a2e;
  --blwm-ink:#4b5067;
  --blwm-line:#e3e7f0;
  --blwm-soft:#f5f7fb;
  --blwm-radius:14px;
  --blwm-shadow:0 10px 30px rgba(36,54,115,.08);
}

/* ==========================================================================
   Header (Astra) – sticky, Apply Now button, responsive
   ========================================================================== */
body{overflow-x:clip!important}
#masthead{position:sticky!important;top:0;z-index:999;background:#fff;box-shadow:0 2px 14px rgba(20,30,60,.07);transition:box-shadow .25s ease}
#masthead.blwm-scrolled{box-shadow:0 6px 24px rgba(20,30,60,.12)}
.admin-bar #masthead{top:32px}
@media (max-width:782px){.admin-bar #masthead{top:46px}}
@media (max-width:600px){.admin-bar #masthead{top:0}}
#ast-desktop-header .main-header-bar{padding-top:8px;padding-bottom:8px}
#ast-mobile-header .main-header-bar{padding-top:6px;padding-bottom:6px}
.site-header-primary-section-right{gap:18px}
.ast-builder-menu-1 .main-header-menu{flex-wrap:nowrap}
.ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{padding-left:.85em;padding-right:.85em;white-space:nowrap}
.ast-header-button-1 .ast-custom-button{white-space:nowrap;padding:12px 24px;font-weight:600;border-radius:8px;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease}
.ast-header-button-1 .ast-custom-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(59,79,228,.25)}
@media (min-width:922px) and (max-width:1200px){
  .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{padding-left:.55em;padding-right:.55em;font-size:15px}
  .site-header-primary-section-right{gap:10px}
  .ast-header-button-1 .ast-custom-button{padding:10px 16px}
}
@media (max-width:921px){.ast-header-button-1 .ast-custom-button{padding:9px 16px;font-size:13px}}
@media (max-width:544px){
  #ast-mobile-header .ast-builder-grid-row{grid-template-columns:auto auto}
  #ast-mobile-header .site-logo-img img,#ast-mobile-header .custom-logo-link img{width:128px!important;max-width:128px!important;height:auto}
  #ast-mobile-header .site-header-primary-section-right{gap:6px}
  #ast-mobile-header .ast-header-button-1 .ast-custom-button{padding:8px 12px;font-size:12.5px}
}

/* ==========================================================================
   Global typography & components (applies to classic + Atomic widgets)
   ========================================================================== */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.elementor-heading-title{letter-spacing:-0.015em;line-height:1.2}
.elementor-widget-text-editor{line-height:1.75}
.elementor-button{border-radius:8px!important;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 6px 18px rgba(59,79,228,.18)}
.elementor-button:hover,.elementor-button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px rgba(59,79,228,.28)}
.elementor-widget-icon-box>.elementor-widget-container,.elementor-widget-image-box>.elementor-widget-container{border-radius:var(--blwm-radius);transition:transform .25s ease,box-shadow .25s ease}
.elementor-widget-icon-box:hover>.elementor-widget-container,.elementor-widget-image-box:hover>.elementor-widget-container{transform:translateY(-3px)}
.elementor-widget-image img{border-radius:12px}
:focus-visible{outline:2px solid var(--blwm-blue);outline-offset:2px}

/* ==========================================================================
   Atomic (Editor V4) helpers
   ========================================================================== */
/* Line icons (stroke-based SVGs): keep them outlined, Elementor forces fill=currentColor */
.e-svg-base svg[stroke="currentColor"]{fill:none}
/* Accordion: question takes the full row, chevron stays right */
.e-accordion-item-header-base>.e-accordion-item-title-base{flex:1 1 auto;min-width:0}
.e-accordion-item-icon-base{flex:0 0 20px!important;width:20px!important}
.e-accordion-item-icon-base .e-svg-base,.e-accordion-item-icon-base svg{width:20px!important;height:20px!important}
.e-accordion-item-icon-base svg{transition:transform .25s ease}
/* Inline links inside Atomic copy */
.e-paragraph-base a{color:var(--blwm-blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.e-paragraph-base a:hover{color:var(--blwm-orange)}
/* Whole-card links: no underline, keyboard focus ring */
a.blwm-card{text-decoration:none}
a.blwm-card:focus-visible{outline:3px solid var(--blwm-orange);outline-offset:3px}
/* Kit capitalises headings; keep sentence case on Atomic headings */
.e-heading-base{text-transform:none}

/* Hide Constant Contact default disclosure (carried over) */
.ctct-disclosure{display:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Recommendations carousel (homepage) – enabled by blwm.js */
.blwm-carousel{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%;min-width:0;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 6px 20px!important;box-sizing:border-box}
.blwm-carousel::-webkit-scrollbar{display:none}
.blwm-carousel>*{flex:0 0 calc((100% - 56px)/3)!important;max-width:none!important;scroll-snap-align:start}
@media (max-width:1024px){.blwm-carousel>*{flex-basis:calc((100% - 28px)/2)!important}}
@media (max-width:767px){.blwm-carousel{align-items:flex-start!important}.blwm-carousel>*{flex-basis:88%!important}}
.blwm-car-nav{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;margin-top:-12px}
.blwm-car-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid #243673;background:#fff;color:#243673;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,color .2s,opacity .2s}
.blwm-car-btn:hover,.blwm-car-btn:focus-visible{background:#243673;color:#fff}
.blwm-car-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.blwm-car-dots{display:flex;gap:8px;align-items:center}
.blwm-car-dot{width:9px;height:9px;border-radius:9px;border:0;padding:0;background:#cfd5e6;cursor:pointer;transition:width .25s,background .25s}
.blwm-car-dot[aria-current="true"]{width:26px;background:#3b4fe4}
