/* ==========================================================================
   BEYOND 'BIZ' EXPERIENCE — DEFAULT TYPE SCALE
   Provides sane, accessible typography out of the box on every new site,
   even before Elementor Site Settings are configured. Elementor's own
   Site Settings will still override any of this cleanly.
   NOTE: rules that visibly lost to Elementor's own generated per-widget
   CSS (confirmed via DevTools, not guessed) are paired with Elementor's
   real wrapper classes + !important, rather than left as bare low-
   specificity tag selectors. Untouched rules below haven't showed this
   problem yet — if one does, apply the same pattern.
   ========================================================================== */



body  {
    font-size: 24px !important;
    font-weight: 300 !important;
}

.elementor-widget-container p:last-child,
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

.e-con {
    gap: 10px !important;
}

.eael-post-grid .eael-entry-wrapper p {
    font-size: 22px !important;
    line-height: 1em !important;
}

.eael-post-grid .eael-entry-wrapper header h1,
.eael-post-grid .eael-entry-wrapper header h1 a {
    font-family: var(--e-global-typography-primary-font-family, inherit) !important;
}
.eael-post-grid .eael-entry-wrapper > div > div {
    font-family: var(--e-global-typography-text-font-family, inherit) !important;
    margin-top: 15px !important;
}

.meafe-testimonial-title .meafe-entry-title {
    font-family: var(--e-global-typography-primary-font-family, inherit) !important;
}
.meafe-testimonial-content p,
.meafe-testimonial-reviewer-name,
.meafe-testimonial-reviewer-title {
    font-family: var(--e-global-typography-text-font-family, inherit) !important;
}

/* ==========================================================================
   MEGA ELEMENTS & ESSENTIAL ADDONS — force Global Typography broadly
   Both plugins consistently prefix their own CSS classes (meafe-/eael-),
   confirmed across every widget fixed today (Feature List, Testimonial
   Carousel, Post Grid). This catches headings/paragraphs from EITHER
   library going forward, without needing a new rule per widget.
   Deliberately scoped to headings/paragraphs only — not spans or links,
   since those sometimes hold icon fonts, and forcing font-family onto an
   icon element would break the icon into garbled text instead of an icon.
   ========================================================================== */
[class*="meafe-"] h1, [class*="meafe-"] h2, [class*="meafe-"] h3,
[class*="meafe-"] h4, [class*="meafe-"] h5, [class*="meafe-"] h6,
[class*="eael-"] h1, [class*="eael-"] h2, [class*="eael-"] h3,
[class*="eael-"] h4, [class*="eael-"] h5, [class*="eael-"] h6 {
    font-family: var(--e-global-typography-primary-font-family, inherit) !important;
}

[class*="meafe-"] p, [class*="eael-"] p {
    font-family: var(--e-global-typography-text-font-family, inherit) !important;
}

.elementor-button,
.elementor-button .elementor-button-text,
.eael-post-grid .eael-entry-wrapper > div > div > a,
button,
input[type="submit"] {
    font-family: var(--e-global-typography-secondary-font-family, inherit) !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    letter-spacing: 0.3px !important;
}

.elementor-button,
.eael-post-grid .eael-entry-wrapper > div > div > a,
button,
input[type="submit"] {
    padding: 14px 30px !important;
}

a {
    text-decoration: none;
}


.elementor-widget-container p,
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p,
.elementor-widget-shortcode p,
.blog-post-single p {
    font-size: 24px !important;
    margin-bottom: 1em !important;
}

.elementor-button,
.elementor-button .elementor-button-text,
button,
input[type="submit"] {
    font-family: var(--e-global-typography-primary-font-family, inherit) !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}
 
.elementor-button,
button,
input[type="submit"] {
    padding: 14px 30px !important;
}

.elementor-widget-meafe-featurelist .meafe-feature-list-title {
    font-family: var(--e-global-typography-primary-font-family, inherit) !important;
    line-height: 1 !important;
    font-size: 28px !important;
    font-weight: 300 !important;
}

.elementor-widget-meafe-featurelist ul li .meafe-feature-list-content {
    font-family: var(--e-global-typography-text-font-family, inherit) !important;
    font-size: 24px !important;
    line-height: 1 !important;
}





H1, H2, H3, H4, H5, H6 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
}

h1 {
    font-size: 40px;
    
}

h2 {
    font-size: 32px;
}

h3 {
    font-size: 24px;
}

h4 {
    font-size: 20px;
}

h5 {
    font-size: 18px;
}

h6 {
    font-size: 16px;
}


@media (min-width: 769px) and (max-width: 1024px) {
    body { font-size: 20px !important; }
    h1 { font-size: 32px !important; }
    h2 { font-size: 28px !important; }
    h3 { font-size: 22px !important; }
    h4 { font-size: 19px !important; }
    h5 { font-size: 17px !important; }
    h6 { font-size: 15px !important; }
    
    .eael-post-grid .eael-entry-wrapper p {
    font-size: 18px !important;
}

    .elementor-widget-container p,
    .elementor-widget-text-editor p,
    .elementor-widget-theme-post-content p,
    .elementor-widget-shortcode p,
    .blog-post-single p {
        font-size: 20px !important;
    }
}

@media (max-width: 768px) {
    body { font-size: 18px !important; }
    h1 { font-size: 28px !important; }
    h2 { font-size: 24px !important; }
    h3 { font-size: 20px !important; }
    h4 { font-size: 18px !important; }
    h5 { font-size: 16px !important; }
    h6 { font-size: 14px !important; }
    
    .eael-post-grid .eael-entry-wrapper p {
    font-size: 16px !important;
}

    .elementor-widget-container p,
    .elementor-widget-text-editor p,
    .elementor-widget-theme-post-content p,
    .elementor-widget-shortcode p,
    .blog-post-single p {
        font-size: 18px !important;
    }
}