/*
Theme Name: Divi Child - Online Spanish Classes
Theme URI: https://www.onlinespanishclasses.app
Description: Child theme for Online Spanish Classes - Optimized for e-learning platform
Author: Online Spanish Classes
Author URI: https://www.onlinespanishclasses.app
Template: Divi
Version: 1.0.0
Text Domain: divi-child-osc
*/

/* ==========================================================================
   CUSTOM STYLES FOR ONLINE SPANISH CLASSES
   ========================================================================== */

/* 
 * Typography Scale for E-Learning Platform
 * Based on best practices for online education readability
 * Base font size: 16px (browser default)
 */

:root {
    /* Font Family - Consistent across entire site */
    --font-family-base: 'Open Sans', Arial, sans-serif;
    --font-family-heading: 'Open Sans', Arial, sans-serif;
    
    /* Font Sizes - Optimized for readability */
    --font-size-base: 16px;
    --font-size-small: 14px;
    --font-size-large: 18px;
    --font-size-xlarge: 20px;
    
    /* Headings - Clear hierarchy for course content */
    --font-size-h1: 42px;      /* Page titles, course names */
    --font-size-h2: 32px;      /* Section titles, module names */
    --font-size-h3: 26px;      /* Lesson titles */
    --font-size-h4: 22px;      /* Sub-sections */
    --font-size-h5: 18px;      /* Minor headings */
    --font-size-h6: 16px;      /* Small headings */
    
    /* Line Heights - Optimal for reading */
    --line-height-base: 1.7;
    --line-height-heading: 1.3;
    
    /* Spacing */
    --spacing-small: 0.5rem;
    --spacing-medium: 1rem;
    --spacing-large: 2rem;
    --spacing-xlarge: 3rem;
    
    /* Colors - Educational theme */
    --color-primary: #b61984;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-background: #ffffff;
}

/* ==========================================================================
   BASE TYPOGRAPHY
   ========================================================================== */

body {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Headings - Clear hierarchy */
h1, .et_pb_module h1 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h1);
    line-height: var(--line-height-heading);
    margin-bottom: var(--spacing-medium);
}

h2, .et_pb_module h2 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h2);
    line-height: var(--line-height-heading);
    margin-bottom: var(--spacing-medium);
}

h3, .et_pb_module h3 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h3);
    line-height: var(--line-height-heading);
    margin-bottom: var(--spacing-small);
}

h4, .et_pb_module h4 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h4);
    line-height: var(--line-height-heading);
    margin-bottom: var(--spacing-small);
}

h5, .et_pb_module h5 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h5);
    line-height: var(--line-height-heading);
}

h6, .et_pb_module h6 {
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-h6);
    line-height: var(--line-height-heading);
}

/* Paragraph text - Optimized for reading - FORZADO */
p, 
.et_pb_text p,
.entry-content p,
.post-content p,
.page-content p,
article p,
.et_pb_module p {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
}

/* Texto directo en divs de contenido */
.entry-content,
.post-content,
.page-content,
.et_pb_text,
.et_pb_module,
article {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* ==========================================================================
   LISTAS - ORDENADAS Y DESORDENADAS - FORZADO
   ========================================================================== */

/* Listas ordenadas (ol) */
ol,
.entry-content ol,
.et_pb_text ol,
.et_pb_module ol,
article ol,
.post-content ol,
.page-content ol {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
    padding-left: 2em !important;
}

ol li {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5em !important;
}

/* Listas desordenadas (ul) */
ul,
.entry-content ul,
.et_pb_text ul,
.et_pb_module ul,
article ul,
.post-content ul,
.page-content ul {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
    padding-left: 2em !important;
}

ul li {
    font-family: var(--font-family-base) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5em !important;
}

/* Listas anidadas */
ul ul,
ul ol,
ol ul,
ol ol {
    margin-top: 0.5em !important;
    margin-bottom: 0.5em !important;
    font-size: 16px !important;
}

ul ul li,
ul ol li,
ol ul li,
ol ol li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Elementos de lista con clases específicas */
li p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5em !important;
}

/* Texto en negrita y cursiva dentro de contenido */
strong, b {
    font-weight: 700;
}

em, i {
    font-style: italic;
}

/* Blockquotes */
blockquote,
.et_pb_text blockquote {
    font-size: 18px !important;
    line-height: 1.7 !important;
    padding: 1em 1.5em !important;
    margin: 1em 0 !important;
}

blockquote p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* ==========================================================================
   RESPONSIVE TYPOGRAPHY
   ========================================================================== */

/* Tablet (max-width: 980px) */
@media (max-width: 980px) {
    :root {
        --font-size-h1: 36px;
        --font-size-h2: 28px;
        --font-size-h3: 24px;
        --font-size-h4: 20px;
        --font-size-h5: 18px;
        --font-size-base: 16px;
    }
}

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {
    :root {
        --font-size-h1: 32px;
        --font-size-h2: 26px;
        --font-size-h3: 22px;
        --font-size-h4: 19px;
        --font-size-h5: 17px;
        --font-size-base: 16px;
    }
    
    body {
        font-size: 16px; /* Never go below 16px on mobile for readability */
    }
}

/* ==========================================================================
   LEARNPRESS - OPTIMIZACIÓN COMPLETA PARA E-LEARNING
   ========================================================================== */

/* Override LearnPress base font size */
.learnpress,
.learnpress-page,
.lp-user-profile,
.course-curriculum,
.learn-press-course {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base);
}

/* Course Titles - H1 */
.learn-press-course .course-title,
.single-lp_course .entry-title,
.lp-single-course .course-title,
#learn-press-course-curriculum h3 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--line-height-heading) !important;
    margin-bottom: var(--spacing-medium);
}

/* Section Headers - H2 */
.course-curriculum .section-header,
.course-curriculum .section-header .section-left .section-title,
.lp-profile-content h2,
#profile-content-withdrawals > h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-heading) !important;
}

/* Subsection Headers - H3 */
.lp-profile-content h3,
.course-curriculum h3,
.lp-widget-course-extra h3,
#profile-content-order-details h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-heading) !important;
}

/* Course Item Titles - H4 */
.course-curriculum .section-content .course-item .course-item-title,
.lp-widget-course-extra__content h4.course-extras__title {
    font-size: var(--font-size-h4) !important;
    line-height: var(--line-height-heading) !important;
}

/* Body Text - Base 16px - FORZADO PARA CONTENIDO */
.learn-press-lesson .lesson-content,
.learn-press-lesson .lesson-content p,
.course-item-content,
.course-item-content p,
.course-description,
.course-description p,
.course-summary,
.course-summary p,
.lp-entry-content,
.lp-entry-content p,
.lp-course-content,
.lp-course-content p,
.learnpress table tbody td,
.lp-profile-content p,
.course-curriculum .section-desc,
.course-curriculum .section-desc p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Listas en LearnPress - FORZADO */
.learn-press-lesson ul,
.learn-press-lesson ol,
.course-item-content ul,
.course-item-content ol,
.course-description ul,
.course-description ol,
.course-summary ul,
.course-summary ol,
.lp-entry-content ul,
.lp-entry-content ol,
.lp-course-content ul,
.lp-course-content ol {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
    padding-left: 2em !important;
}

.learn-press-lesson ul li,
.learn-press-lesson ol li,
.course-item-content ul li,
.course-item-content ol li,
.course-description ul li,
.course-description ol li,
.course-summary ul li,
.course-summary ol li,
.lp-entry-content ul li,
.lp-entry-content ol li,
.lp-course-content ul li,
.lp-course-content ol li {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5em !important;
}

/* Tabs de LearnPress - contenido */
.learn-press-tabs .course-tab-panel,
.learn-press-tabs .course-tab-panel p,
.learn-press-tabs .course-tab-panel ul,
.learn-press-tabs .course-tab-panel ol,
.learn-press-tabs .course-tab-panel li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Quiz Questions - Larger for readability */
.learn-press-quiz .quiz-question,
.lp-quiz-question .question-title,
.quiz-content .question-content {
    font-size: var(--font-size-large) !important;
    line-height: var(--line-height-base) !important;
    margin-bottom: var(--spacing-medium);
}

/* Quiz Answers */
.lp-quiz-question .answer-option,
.quiz-content .answer-options label {
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important;
}

/* Buttons - Always 16px minimum */
.lp-button,
.learn-press-button,
.learnpress-page .lp-button,
.course-curriculum .lp-button,
button.lp-button {
    font-size: var(--font-size-base) !important;
    padding: 12px 24px !important;
    line-height: 1.5 !important;
    min-height: 44px; /* Touch target */
}

/* Large buttons */
.learnpress-page .lp-button.large {
    font-size: var(--font-size-large) !important;
    padding: 18px 30px !important;
}

/* Form Labels */
.learn-press-form .form-fields .form-field label,
.lp_widget_course_info ul label {
    font-size: var(--font-size-base) !important;
    line-height: 1.5;
    font-weight: 600;
}

/* Form Inputs - Always 16px for mobile */
.learn-press-form input[type="text"],
.learn-press-form input[type="email"],
.learn-press-form input[type="password"],
.learn-press-form textarea,
.learn-press-form select {
    font-size: 16px !important; /* Never less than 16px */
    line-height: 1.5;
}

/* Form Descriptions */
.learn-press-form .form-fields .form-field .description {
    font-size: var(--font-size-small) !important;
    line-height: 1.5;
}

/* Course Meta Info */
.course-meta,
.lp-course-meta,
.course-info {
    font-size: var(--font-size-base) !important;
}

/* Course Price */
.course-price,
.lp-course-price {
    font-size: var(--font-size-h3) !important;
    font-weight: 600;
}

.course-price .origin-price {
    font-size: var(--font-size-base) !important;
}

/* Curriculum Items */
.course-curriculum .section-content .course-item {
    font-size: var(--font-size-base) !important;
}

/* Course Progress */
.lp-course-progress,
.course-results-progress {
    font-size: var(--font-size-base) !important;
}

/* Instructor Info */
.course-author,
.lp-course-author,
.course-instructor {
    font-size: var(--font-size-base) !important;
}

/* Profile Username */
.lp-profile-username {
    font-size: var(--font-size-h3) !important;
    font-weight: 600;
}

/* Statistics */
.statistic-box__text__label {
    font-size: var(--font-size-base) !important;
}

.statistic-box__text__number {
    font-size: var(--font-size-h2) !important;
    font-weight: 600;
}

/* Tables */
.learnpress table thead th {
    font-size: var(--font-size-large) !important;
    font-weight: 600;
}

.learnpress table tbody td,
.learnpress table tfoot td {
    font-size: var(--font-size-base) !important;
}

/* Checkout */
#checkout-order tfoot {
    font-size: var(--font-size-large) !important;
}

#checkout-order tfoot .order-total {
    font-size: var(--font-size-h3) !important;
}

/* Messages */
.learn-press-message,
.lp-toast.toastify {
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base);
}

/* Widgets */
.learnpress-widget-wrapper .lp-widget-course__title {
    font-size: var(--font-size-large) !important;
    font-weight: 600;
}

.learnpress-widget-wrapper .lp-widget-course__description,
.learnpress-widget-wrapper .lp-widget-course__price,
.learnpress-widget-wrapper .lp-widget-course__instructor > a {
    font-size: var(--font-size-base) !important;
}

/* Navigation Tabs */
.lp-profile-nav-tabs > li > a {
    font-size: var(--font-size-base) !important;
    line-height: 1.5;
}

.lp-profile-nav-tabs > li ul li a {
    font-size: var(--font-size-base) !important;
}

/* Breadcrumbs */
.lp-breadcrumb {
    font-size: var(--font-size-small) !important;
}

/* Pagination */
.learn-press-pagination,
.lp-pagination {
    font-size: var(--font-size-base) !important;
}

/* Small Text / Meta */
.course-meta-secondary,
.lp-meta-secondary,
.course-extra-info {
    font-size: var(--font-size-small) !important;
}

/* Icons - Ensure proper sizing */
.lp-icon,
[class^="lp-icon-"],
[class*=" lp-icon-"] {
    font-size: inherit;
}

/* Responsive Typography for LearnPress */
@media (max-width: 980px) {
    .learn-press-course .course-title,
    .single-lp_course .entry-title {
        font-size: 36px !important;
    }
    
    .course-curriculum .section-header,
    #profile-content-withdrawals > h2 {
        font-size: 28px !important;
    }
    
    .lp-profile-content h3,
    #profile-content-order-details h3 {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {
    .learn-press-course .course-title,
    .single-lp_course .entry-title {
        font-size: 32px !important;
    }
    
    .course-curriculum .section-header,
    #profile-content-withdrawals > h2 {
        font-size: 26px !important;
    }
    
    .lp-profile-content h3,
    #profile-content-order-details h3 {
        font-size: 22px !important;
    }
    
    /* Ensure buttons are touch-friendly */
    .lp-button,
    .learn-press-button,
    .learnpress-page .lp-button {
        min-height: 44px !important;
        min-width: 44px !important;
        padding: 12px 20px !important;
    }
    
    /* Never go below 16px on mobile */
    .learnpress,
    .learnpress-page,
    .learn-press-course,
    .course-curriculum {
        font-size: 16px !important;
    }
}

/* ==========================================================================
   DIVI MODULES OPTIMIZATION
   ========================================================================== */

/* Text Module */
.et_pb_text {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

/* Blurb Module */
.et_pb_blurb_content {
    font-size: var(--font-size-base);
}

.et_pb_blurb .et_pb_module_header {
    font-size: var(--font-size-h3);
}

/* Call to Action */
.et_pb_promo_description {
    font-size: var(--font-size-large);
    line-height: var(--line-height-base);
}

/* Buttons - Consistent sizing */
.et_pb_button,
.et_pb_promo_button,
.learn-press-button {
    font-size: var(--font-size-base);
    padding: 12px 24px;
    line-height: 1.5;
}

/* ==========================================================================
   NAVIGATION & MENUS
   ========================================================================== */

#top-menu li a,
#et-secondary-menu li a {
    font-size: 15px;
    line-height: 1.5;
}

/* Mobile menu */
.et_mobile_menu li a {
    font-size: 16px;
    line-height: 1.6;
}

/* ==========================================================================
   FORMS - Green Forms & Contact Forms
   ========================================================================== */

.leform-form input[type="text"],
.leform-form input[type="email"],
.leform-form textarea,
.et_pb_contact input[type="text"],
.et_pb_contact input[type="email"],
.et_pb_contact textarea {
    font-size: var(--font-size-base);
    line-height: 1.5;
}

.leform-form label,
.et_pb_contact label {
    font-size: var(--font-size-small);
}

/* ==========================================================================
   ACCESSIBILITY IMPROVEMENTS
   ========================================================================== */

/* Ensure minimum touch target size on mobile */
@media (max-width: 767px) {
    a, button, .et_pb_button {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* Focus states for keyboard navigation */
a:focus,
button:focus,
input:focus,
textarea:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* ==========================================================================
   PERFORMANCE OPTIMIZATIONS
   ========================================================================== */

/* Remove duplicate animations if not needed */
.et-waypoint:not(.et_pb_counters) {
    opacity: 1 !important;
}

/* Optimize font loading */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ==========================================================================
   CUSTOM UTILITIES
   ========================================================================== */

/* Text size utilities */
.text-small { font-size: var(--font-size-small); }
.text-base { font-size: var(--font-size-base); }
.text-large { font-size: var(--font-size-large); }
.text-xlarge { font-size: var(--font-size-xlarge); }

/* Spacing utilities */
.mb-small { margin-bottom: var(--spacing-small); }
.mb-medium { margin-bottom: var(--spacing-medium); }
.mb-large { margin-bottom: var(--spacing-large); }
.mb-xlarge { margin-bottom: var(--spacing-xlarge); }

/* ==========================================================================
   PAID MEMBERSHIPS PRO - INTEGRATION
   ========================================================================== */

/* Override PMPro font sizes to match e-learning standards */
.pmpro,
.pmpro_checkout,
.pmpro_account,
.pmpro_invoice {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base);
}

/* PMPro Headings - Match our typography scale */
.pmpro h1,
.pmpro_checkout h1,
.pmpro_account h1 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--line-height-heading);
}

.pmpro h2,
.pmpro_checkout h2,
.pmpro_account h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-heading);
}

.pmpro h3,
.pmpro_checkout h3,
.pmpro_account h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-heading);
}

.pmpro h4,
.pmpro_checkout h4,
.pmpro_account h4 {
    font-size: var(--font-size-h4) !important;
    line-height: var(--line-height-heading);
}

/* PMPro Form Elements */
.pmpro input[type="text"],
.pmpro input[type="email"],
.pmpro input[type="password"],
.pmpro input[type="tel"],
.pmpro select,
.pmpro textarea,
.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"],
.pmpro_checkout select {
    font-size: 16px !important; /* Always 16px for mobile usability */
    line-height: 1.5;
}

/* PMPro Labels */
.pmpro label,
.pmpro_checkout label {
    font-size: var(--font-size-base);
    line-height: 1.5;
    font-weight: 500;
}

/* PMPro Form Hints */
.pmpro_form_hint,
.pmpro_checkout .pmpro_form_hint {
    font-size: var(--font-size-small) !important;
    line-height: 1.5;
}

/* PMPro Buttons - Match our button style */
.pmpro_btn,
.pmpro_checkout .pmpro_btn,
.pmpro_btn-submit,
input[type="submit"].pmpro_btn {
    font-size: var(--font-size-base) !important;
    padding: 12px 24px !important;
    line-height: 1.5 !important;
    min-height: 44px; /* Touch target size */
}

/* PMPro Messages */
.pmpro_message,
.pmpro_success,
.pmpro_error,
.pmpro_alert {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

/* PMPro Membership Levels */
.pmpro_level {
    font-size: var(--font-size-base);
}

.pmpro_level h2,
.pmpro_level .pmpro_level-name {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-heading);
}

.pmpro_level .pmpro_level-description {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

/* PMPro Account Page */
.pmpro_account h3 {
    font-size: var(--font-size-h3) !important;
    margin-bottom: var(--spacing-medium);
}

.pmpro_account p,
.pmpro_account li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* PMPro - Contenido de texto y listas - FORZADO */
.pmpro p,
.pmpro_checkout p,
.pmpro_account p,
.pmpro_invoice p,
.pmpro_level p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
}

/* PMPro - Listas */
.pmpro ul,
.pmpro ol,
.pmpro_checkout ul,
.pmpro_checkout ol,
.pmpro_account ul,
.pmpro_account ol,
.pmpro_level ul,
.pmpro_level ol {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 1em !important;
    padding-left: 2em !important;
}

.pmpro ul li,
.pmpro ol li,
.pmpro_checkout ul li,
.pmpro_checkout ol li,
.pmpro_account ul li,
.pmpro_account ol li,
.pmpro_level ul li,
.pmpro_level ol li {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5em !important;
}

/* PMPro - Descripciones de niveles */
.pmpro_level-description,
.pmpro_level .pmpro_level-description {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* PMPro Invoice */
.pmpro_invoice {
    font-size: var(--font-size-base);
}

.pmpro_invoice h2 {
    font-size: var(--font-size-h2) !important;
}

.pmpro_invoice th,
.pmpro_invoice td {
    font-size: var(--font-size-base);
    padding: 10px;
}

/* PMPro Responsive Typography */
@media (max-width: 980px) {
    .pmpro h1,
    .pmpro_checkout h1 {
        font-size: 36px !important;
    }
    
    .pmpro h2,
    .pmpro_checkout h2 {
        font-size: 28px !important;
    }
    
    .pmpro h3,
    .pmpro_checkout h3 {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {
    .pmpro h1,
    .pmpro_checkout h1 {
        font-size: 32px !important;
    }
    
    .pmpro h2,
    .pmpro_checkout h2 {
        font-size: 26px !important;
    }
    
    .pmpro h3,
    .pmpro_checkout h3 {
        font-size: 22px !important;
    }
    
    /* Ensure buttons are touch-friendly on mobile */
    .pmpro_btn,
    .pmpro_checkout .pmpro_btn {
        min-height: 44px !important;
        min-width: 44px !important;
        padding: 12px 20px !important;
    }
}

/* ==========================================================================
   MEMBERS PLUGIN - INTEGRATION
   ========================================================================== */

/* Members plugin content restriction messages */
.members-access-error {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    padding: var(--spacing-medium);
}

.members-access-error h2 {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-heading);
    margin-bottom: var(--spacing-small);
}

/* ==========================================================================
   FONT CONSISTENCY - FORCE ACROSS ALL ELEMENTS
   ========================================================================== */

/* Buttons - Consistent font */
button,
.et_pb_button,
.et_pb_promo_button,
.learn-press-button,
.lp-button,
.pmpro_btn,
input[type="submit"],
input[type="button"],
.wp-block-button__link {
    font-family: var(--font-family-base) !important;
}

/* Forms - Consistent font */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select {
    font-family: var(--font-family-base) !important;
}

/* Labels - Consistent font */
label {
    font-family: var(--font-family-base) !important;
}

/* Tables - Consistent font */
table,
table th,
table td {
    font-family: var(--font-family-base) !important;
}

/* Navigation menus - Consistent font */
#top-menu,
#top-menu li a,
#et-secondary-menu,
#et-secondary-menu li a,
.et_mobile_menu,
.et_mobile_menu li a,
nav,
nav a {
    font-family: var(--font-family-base) !important;
}

/* Widgets - Consistent font */
.widget,
.widget-title,
.widgettitle,
.sidebar .widget {
    font-family: var(--font-family-base) !important;
}

/* Footer - Consistent font */
#main-footer,
#main-footer p,
#main-footer li,
#main-footer a {
    font-family: var(--font-family-base) !important;
}

/* Blockquotes - Consistent font */
blockquote,
.et_pb_text blockquote,
q {
    font-family: var(--font-family-base) !important;
}

/* Code and pre - Keep monospace but ensure consistency */
code,
pre,
kbd,
samp {
    font-family: 'Courier New', Courier, monospace !important;
}

/* Span and div text containers */
span,
div {
    font-family: inherit;
}

/* Links - Inherit from parent */
a {
    font-family: inherit;
}

/* Strong and emphasis - Inherit from parent */
strong,
b,
em,
i {
    font-family: inherit;
}
