/**
Theme Name: astra-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Asset-restore fix (2026-07-04): Elementor's native e-lazyload guard
   (".e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded)") sets
   background-image:none !important on these two "WHAT YOU GET" section
   containers and never clears it, because they never get the
   ".e-lazyloaded" class the lazyload JS is supposed to add once the
   element is processed/in view — leaving white text invisible on a
   plain cream background. Elementor's rule is injected via inline <style>
   at runtime (after this stylesheet), so an equal-specificity !important
   here would lose the cascade tie; the extra repeated class raises
   specificity enough to win regardless of load order, restoring the
   intended visual without touching any copy or feature behavior. */
.elementor-element.elementor-element.elementor-element-5caa6c96,
.elementor-element.elementor-element.elementor-element-8d78e21 {
	background-color: #FAF6F0 !important;
	background-image: url("/wp-content/uploads/2026/01/banner1-1-1.webp") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}
/* Perta 2026-09-03, WCAG 1.4.1 Use of Colour (axe `link-in-text-block`, serious).
   The privacy-policy link inside the demo-form collection notice is distinguished from
   the surrounding sentence by colour alone; the two colours differ by less than the 3:1
   the technique requires, so a reader who cannot see the hue cannot see the link. An
   underline is a non-colour cue and costs nothing. This notice ships on every form page
   (index, benefits, features, contact-us, and the six figure pages), so the rule lives in
   the sitewide child sheet rather than in the six-page figure sheet.
   Specificity note, same trap as the block above: a plain `.bf-collection-notice a`
   rule computed to `text-decoration-line: none` at runtime (measured) because a later
   sheet resets anchors. Element+class+element plus !important wins it outright. */
p.bf-collection-notice a {
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/* October 17 deck contrast repair: existing brand shades, WCAG AA. */
#demo-button span,
.elementor-element-bb96d2c .elementor-button-text,
.elementor-element-dc4233a .elementor-button-text,
.elementor-3354 .elementor-button-text { color: var(--e-global-color-text, #121212) !important; }
.elementor-element-23222934 .elementor-heading-title,
.elementor-element-7144a71b,
.elementor-element-964867d .elementor-heading-title,
.elementor-element-f93f4ab { color: var(--e-global-color-text, #121212) !important; }
.elementor-element-e303d2c a,
.elementor-element-59b1db7 a,
a[href="/quick-start-guide-unlocked/"] { color: #a8d3fd !important; }
.elementor-testimonial__title { color: #905e20 !important; }
.bf-fig__src { color: #59677c !important; }

/* Keep Elementor's working submenu arrow; the empty Astra toggle is redundant. */
.elementor-nav-menu .dropdown-menu-toggle.ast-header-navigation-arrow { display: none; }
/* Non-color cues for inline links, including both responsive footer copies. */
.elementor-location-footer a[href^="tel:"],
p.blink-includes-truth a { text-decoration: underline !important; }

/* Calculator cross-links stay readable on both dark guide heroes and light articles. */
#main .money-math-link a { color: inherit; text-decoration: underline !important; text-underline-offset: .15em; }


/* October 2026 design pass: scoped to reviewed pages. */
/* Existing navy and warm paper, scoped to October answer pages. */
body.design-pass #main .elementor .e-con-inner { max-width: 720px; }
body.design-pass #main h1.elementor-heading-title { max-width: 720px; margin-inline: auto; font-size: clamp(1.875rem, 1.1rem + 1.75vw, 2.75rem); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; padding-block: 16px; }
body.design-pass #main .elementor-widget-text-editor :is(p,li) { font-size: 18px; line-height: 1.75; color: #24364b; }
body.design-pass #main .elementor-widget-text-editor p { margin-bottom: 24px; }
body.design-pass #main .elementor-widget-text-editor :is(h2,h3) { color: #08294a; line-height: 1.3; margin: 40px 0 16px; }
body.design-pass #main .elementor-widget-text-editor h2 { font-size: clamp(1.4rem, 1.1rem + .8vw, 1.875rem); }
body.design-pass #main .elementor-widget-text-editor h3 { font-size: 22px; }
body.design-pass #main .answer-summary { padding: 24px; border-left: 4px solid #b35300; background: #f7f3ed; }
body.design-pass #main .elementor-widget-text-editor a { color: #124f80; text-decoration: underline; text-underline-offset: 3px; }
body.design-pass #main .elementor-widget-text-editor li { margin-bottom: 12px; }
@media(max-width:767px) { body.design-pass #main .elementor .e-con-inner { padding-inline: 24px; } body.design-pass #main .answer-summary { padding: 20px; } }

body.design-pass :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #135476; outline-offset: 4px; box-shadow: 0 0 0 2px #fff; }
body.design-pass :is(h1,h2,h3,p,li) { overflow-wrap: break-word; }
body.design-pass :is(header,footer) a { text-underline-offset: 3px; }

body.design-pass #main .elementor-widget-text-editor a { text-decoration: underline !important; }

/* Keep the article measure aligned with its centered title. */
body.design-pass #main .textwidget { max-width: 68ch; margin-inline: auto; font-size: 18px; }

/* Two answer collections; the blog keeps its simple list. */
body.design-pass #main .answer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
body.design-pass #main .answer-links li { display: flex; margin: 0; }
body.design-pass #main .answer-links a { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 14px 16px; border: 1px solid #738291; border-radius: 4px; line-height: 1.5; text-decoration: none !important; }
body.design-pass #main .answer-links a:is(:hover,:focus-visible) { background: #f7f3ed; text-decoration: underline !important; }
@media(max-width:767px) { body.design-pass #main .answer-links { grid-template-columns: minmax(0, 1fr); } }

/* Adjacent question headings share an 8px gap. */
body.design-pass #main .elementor-widget-text-editor h2:has(+ h3) { margin-bottom: 8px; }
body.design-pass #main .elementor-widget-text-editor h2 + h3 { margin-top: 0; }

/* The existing contact link after the closing heading becomes the action. */
body.design-pass #main .textwidget h2:last-of-type + p a[href$="/contact-us/"] { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; margin-block: 8px; padding: 12px 20px; border-radius: 4px; background: #f29e35; color: #08294a; font-weight: 600; line-height: 1.5; text-decoration: none !important; vertical-align: middle; }
body.design-pass #main .textwidget h2:last-of-type + p a[href$="/contact-us/"]:is(:hover,:focus-visible) { background: #ffb75e; text-decoration: underline !important; }
