/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
 */

  /* ==========================================================================
     CSMI DESIGN SYSTEM - CSS VARIABLES
     ========================================================================== */

  :root {
      /* CSMI Brand Colors (Used site-wide) */
      --csmi-primary: #2D2D72;        /* Dark Blue */
      --csmi-secondary: #5EA9DD;      /* Light Blue */
      --csmi-accent: #F6C03D;         /* Yellow/Gold */
      --csmi-accent-hover: #E3B138;   /* Yellow Hover */
      --csmi-text: #4D4D4D;           /* Body Text */
      --csmi-heading: #2D2D72;        /* Headings */
      --csmi-bg-1: #FFFFFF;           /* Primary Background */
      --csmi-bg-2: #F5F5F8;           /* Alternate Background */

      /* HUMAC Brand Colors (Reference only - not currently used) */
      --humac-primary: #00539C;       /* HUMAC Blue */
      --humac-secondary: #898d9e;
      --humac-accent: #e02b20;

      /* SportsWare Brand Colors (Reference only - not currently used) */
      --sportware-primary: #58ACEB;   /* SportsWare Blue */
      --sportware-secondary: #00539C;
      --sportware-accent: #e09900;

      /* Typography */
      --csmi-font-primary: 'Hanken Grotesk', sans-serif;
      --csmi-font-secondary: 'Roboto', sans-serif;

      /* Active Brand Colors - CSMI for all brands */
      --brand-primary: var(--csmi-primary);
      --brand-secondary: var(--csmi-secondary);
      --brand-accent: var(--csmi-accent);
      --brand-text: var(--csmi-text);
      --brand-heading: var(--csmi-heading);
  }

/* ==========================================================================
     TYPOGRAPHY OVERRIDES - DIVI CONTENT ONLY
     ========================================================================== */

  /* Override Divi body font - only in main content area */
  #et-main-area,
  .et_pb_section,
  .et_pb_row,
  .et_pb_column,
  .et_pb_text {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-text) !important;
  }

  #et-main-area {
      font-size: 21px !important;
      line-height: 29px !important;
      letter-spacing: -0.5px !important;
  }

/* Override Divi body font - only in main content area */
  #et-main-area,
  .et_pb_section,
  .et_pb_row,
  .et_pb_column,
  .et_pb_text {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-text) !important;
  }

  #et-main-area {
      font-size: 21px !important;
      line-height: 29px !important;
      letter-spacing: -0.5px !important;
  }

/* Paragraph styles - ALL sections (including parallax) - no color */
  .et_pb_section p,
  .et_pb_text p,
  .et_pb_module p,
  .et_pb_text_inner p {
      font-family: var(--csmi-font-primary) !important;
      font-size: 21px !important;
      font-weight: 400 !important;
      line-height: 29px !important;
      letter-spacing: -0.5px !important;
  }

  /* Paragraph COLOR - only NON-parallax sections */
  .et_pb_section:not(.et_pb_section_parallax) p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_text p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_module p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_text_inner p {
      color: var(--brand-text) !important;
  }

  /* Override Divi heading fonts - ALL sections (including parallax) */
  .et_pb_section h1,
  .et_pb_section h2,
  .et_pb_section h3,
  .et_pb_section h4,
  .et_pb_section h5,
  .et_pb_section h6,
  .et_pb_module_header {
      font-family: var(--csmi-font-primary) !important;
  }

  /* Override heading COLOR - only NON-parallax sections */
  .et_pb_section:not(.et_pb_section_parallax) h1,
  .et_pb_section:not(.et_pb_section_parallax) h2,
  .et_pb_section:not(.et_pb_section_parallax) h3,
  .et_pb_section:not(.et_pb_section_parallax) h4,
  .et_pb_section:not(.et_pb_section_parallax) h5,
  .et_pb_section:not(.et_pb_section_parallax) h6,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_module_header {
      color: var(--brand-heading) !important;
  }

  /* Specific heading sizes (CSMI design system) - Divi only */
  .et_pb_section h1,
  .et_pb_text_inner h1 {
      font-size: 48px !important;
      font-weight: 700 !important;
      line-height: 76px !important;
      letter-spacing: -1.64px !important;
  }

  .et_pb_section h2,
  .et_pb_text_inner h2 {
      font-size: 38px !important;
      font-weight: 600 !important;
      line-height: 54px !important;
      letter-spacing: -1px !important;
  }


  .et_pb_section h3,
  .et_pb_text_inner h3 {
      font-size: 32px !important;
      font-weight: 600 !important;
      line-height: 54px !important;
      letter-spacing: -1px !important;
  }



  /* Eyebrow/Label style - Divi only */
  .et_pb_section .eyebrow,
  .et_pb_text_inner .eyebrow {
      font-family: var(--csmi-font-primary) !important;
      font-size: 24px !important;
      font-weight: 400 !important;
      line-height: 30px !important;
      letter-spacing: -0.6px !important;
      color: var(--brand-secondary) !important;
  }

  /* Responsive typography */
  @media (max-width: 980px) {
      .et_pb_section h1,
      .et_pb_text_inner h1 {
          font-size: 42px !important;
          line-height: 52px !important;
      }

      .et_pb_section h2,
      .et_pb_text_inner h2 {
          font-size: 38px !important;
          line-height: 40px !important;
      }

      #et-main-area {
          font-size: 18px !important;
          line-height: 26px !important;
      }
  }

  /* ==========================================================================
     BUTTON OVERRIDES - DIVI BUTTONS ONLY
     ========================================================================== */

  /* Primary Divi buttons */
  .et_pb_button,
  .et_pb_promo_button,
  .et_pb_newsletter_button,
  .woocommerce a.button,
  .woocommerce button.button {
      font-family: var(--csmi-font-primary) !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      line-height: 20px !important;
      letter-spacing: -0.25px !important;
      padding: 12px 24px !important;
      border-radius: 4px !important;
      border: none !important;
      background-color: var(--brand-accent) !important;
      color: var(--brand-heading) !important;
      transition: background-color 0.3s ease !important;
  }

  .et_pb_button:hover,
  .et_pb_promo_button:hover,
  .et_pb_newsletter_button:hover,
  .woocommerce a.button:hover,
  .woocommerce button.button:hover {
      background-color: var(--csmi-accent-hover) !important;
      color: var(--brand-heading) !important; /* Keep same text color on hover */
  }

  /* Hide button :after element */
  .et_pb_button:after,
  .et_pb_promo_button:after,
  .et_pb_newsletter_button:after {
      display: none !important;
  }

  /* Secondary/Outline buttons (add custom class .button-secondary in Divi) */
  .button-secondary,
  .et_pb_button.button-secondary {
      background-color: #FFFFFF !important;
      color: var(--brand-heading) !important;
      border: 1px solid var(--brand-heading) !important;
  }

  .button-secondary:hover,
  .et_pb_button.button-secondary:hover {
      background-color: #F3F3F3 !important;
      color: var(--brand-heading) !important; /* Keep same text color on hover */
  }

  /* ==========================================================================
     LINK COLOR OVERRIDES - DIVI CONTENT ONLY (excluding buttons)
     ========================================================================== */

  .et_pb_section a:not(.et_pb_button):not(.et_pb_promo_button):not(.et_pb_newsletter_button),
  #et-main-area a:not(.et_pb_button):not(.et_pb_promo_button):not(.et_pb_newsletter_button) {
      color: var(--brand-primary) !important;
  }

  .et_pb_section a:not(.et_pb_button):not(.et_pb_promo_button):not(.et_pb_newsletter_button):hover,
  #et-main-area a:not(.et_pb_button):not(.et_pb_promo_button):not(.et_pb_newsletter_button):hover {
      color: var(--brand-secondary) !important;
  }

  /* ==========================================================================
     BACKGROUND SECTION COLORS - DIVI SECTIONS ONLY
     ========================================================================== */

  /* Light background sections (add custom class .bg-light in Divi) */
  .et_pb_section.bg-light {
      background-color: var(--csmi-bg-1) !important;
  }

  /* Alternate background sections (add custom class .bg-alternate in Divi) */
  .et_pb_section.bg-alternate {
      background-color: var(--csmi-bg-2) !important;
  }

  /* ==========================================================================
     CONTACT FORM 7 STYLING (Preserved from original)
     ========================================================================== */

  .wpcf7 input[type=submit] {
      padding: 10px 30px;
      background: var(--brand-primary) !important;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      border: 0 none;
      cursor: pointer;
      -webkit-border-radius: 5px;
      border-radius: 5px;
  }

  .wpcf7 label {
      padding: 5px 0 10px 0;
      font-size: 16px;
  }

  .wpcf7 input[type=text],
  .wpcf7 input[type=email],
  .wpcf7 input[type=url],
  .wpcf7 input[type=tel],
  .wpcf7 input[type=number],
  .wpcf7 .wpcf7-select {
      font-size: 14px;
      padding: 10px;
      border: 1px solid var(--brand-primary);
  }

  /* ==========================================================================
     DARK/COLORED BACKGROUND SECTIONS
     Add class .bg-dark to any Divi section with a dark or colored background
     ========================================================================== */

 .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h1,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h2,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h3,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h4,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h5,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) h6,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) .et_pb_module_header,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h1,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h2,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h3,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h4,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h5,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark h6,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark .et_pb_module_header {
      color: #FFFFFF !important;
  }

  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) p,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) .et_pb_text p,
  .et_pb_section.et_pb_bg_layout_dark:not(.et_pb_section_parallax) .et_pb_text_inner p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark .et_pb_text p,
  .et_pb_section:not(.et_pb_section_parallax) .et_pb_bg_layout_dark .et_pb_text_inner p {
      color: #FFFFFF !important;
  }

/* ==========================================================================
     TESTIMONIAL MODULE OVERRIDES
     ========================================================================== */

  /* Clean up Divi testimonial styling */
  .et_pb_testimonial {
      padding: 40px !important;
      box-shadow: none !important;
      border-radius: 4px !important;
      background-color: var(--csmi-bg-2) !important; /* Light gray background */
      border-left: 4px solid var(--brand-secondary) !important; /* Light blue accent */
  }

  /* Testimonial text */
  .et_pb_testimonial_description,
  .et_pb_section .et_pb_testimonial.et_pb_module .et_pb_testimonial_description p,
  .et_pb_testimonial_description span {
      font-family: var(--csmi-font-primary) !important;
      font-size: 18px !important;
      line-height: 26px !important;
      color: var(--brand-text) !important;
  }

  /* Author name */
  .et_pb_testimonial_author {
      font-family: var(--csmi-font-primary) !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      color: var(--brand-heading) !important;
  }

  /* Author position/title */
  .et_pb_testimonial_meta {
      font-family: var(--csmi-font-primary) !important;
      font-size: 14px !important;
      color: var(--brand-secondary) !important;
  }

  /* Remove default portrait border/shadow if present */
  .et_pb_testimonial_portrait {
      border: none !important;
      box-shadow: none !important;
  }

  .et_pb_section:not(.et_pb_section_parallax) .et_pb_testimonial .et_pb_testimonial_description {
      color: var(--brand-text) !important;
  }

  .et_pb_section:not(.et_pb_section_parallax) .et_pb_testimonial .et_pb_testimonial_author {
      color: var(--brand-heading) !important;
  }

  .et_pb_section:not(.et_pb_section_parallax) .et_pb_testimonial .et_pb_testimonial_meta {
      color: var(--brand-secondary) !important;
  }

/* ==========================================================================
     WOOCOMMERCE + DIVI OVERRIDES
     ========================================================================== */

  /* Product title */
  .woocommerce .product_title,
  .woocommerce-page .product_title {
      font-family: var(--csmi-font-primary) !important;
      font-size: 48px !important;
      font-weight: 600 !important;
      line-height: 54px !important;
      letter-spacing: -1px !important;
      color: var(--brand-heading) !important;
  }

  /* Product short description and tabs content */
  .woocommerce .woocommerce-product-details__short-description,
  .woocommerce .woocommerce-Tabs-panel,
  .woocommerce-page .woocommerce-product-details__short-description,
  .woocommerce-page .woocommerce-Tabs-panel {
      font-family: var(--csmi-font-primary) !important;
      font-size: 21px !important;
      line-height: 29px !important;
      color: var(--brand-text) !important;
  }

  /* Tab headings */
  .woocommerce .woocommerce-Tabs-panel h2,
  .woocommerce-page .woocommerce-Tabs-panel h2 {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-heading) !important;
  }

  /* Price */
  .woocommerce .price,
  .woocommerce-page .price {
      color: var(--brand-primary) !important;
      font-family: var(--csmi-font-primary) !important;
  }

/* ==========================================================================
     TUTOR LMS OVERRIDES
     ========================================================================== */

  /* General typography in TutorLMS content areas */
  .tutor-course-details-content,
  .tutor-lesson-content-wrap,
  .tutor-quiz-wrap,
  .tutor-single-course-segment {
      font-family: var(--csmi-font-primary) !important;
      font-size: 21px !important;
      line-height: 29px !important;
      color: var(--brand-text) !important;
  }

  /* Headings inside TutorLMS */
  .tutor-course-details-content h1,
  .tutor-course-details-content h2,
  .tutor-course-details-content h3,
  .tutor-course-details-content h4,
  .tutor-lesson-content-wrap h1,
  .tutor-lesson-content-wrap h2,
  .tutor-lesson-content-wrap h3,
  .tutor-lesson-content-wrap h4 {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-heading) !important;
  }

  /* Course title */
  .tutor-course-name,
  .tutor-single-course-title {
      font-family: var(--csmi-font-primary) !important;
      font-size: 48px !important;
      font-weight: 600 !important;
      line-height: 54px !important;
      letter-spacing: -1px !important;
      color: var(--brand-heading) !important;
  }

  /* Topic/section titles in curriculum */
  .tutor-course-topic-title {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-heading) !important;
      font-weight: 600 !important;
  }

  /* Price */
  .tutor-course-price {
      color: var(--brand-primary) !important;
      font-family: var(--csmi-font-primary) !important;
      font-weight: 600 !important;
  }

  /* Primary buttons (enroll, start course, etc.) */
  .tutor-btn-primary,
  .tutor-btn.tutor-btn-primary {
      font-family: var(--csmi-font-primary) !important;
      background-color: var(--brand-accent) !important;
      color: var(--brand-heading) !important;
      border: none !important;
      border-radius: 4px !important;
      font-weight: 600 !important;
  }

  .tutor-btn-primary:hover,
  .tutor-btn.tutor-btn-primary:hover {
      background-color: var(--csmi-accent-hover) !important;
      color: var(--brand-heading) !important;
  }

  /* Secondary/outline buttons */
  .tutor-btn-outline-primary,
  .tutor-btn.tutor-btn-outline-primary {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-primary) !important;
      border-color: var(--brand-primary) !important;
      border-radius: 4px !important;
      font-weight: 600 !important;
  }

  .tutor-btn-outline-primary:hover,
  .tutor-btn.tutor-btn-outline-primary:hover {
      background-color: var(--brand-primary) !important;
      color: #FFFFFF !important;
  }

  /* ==========================================================================
     WOOCOMMERCE - SHOP & ARCHIVE PAGES
     ========================================================================== */

  /* Product cards in shop/archive */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
      font-family: var(--csmi-font-primary) !important;
      font-size: 24px !important;
      font-weight: 600 !important;
      color: var(--brand-heading) !important;
  }

  /* Add to cart buttons in product loops */
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button {
      font-family: var(--csmi-font-primary) !important;
      background-color: var(--brand-accent) !important;
      color: var(--brand-heading) !important;
      border: none !important;
      border-radius: 4px !important;
      font-weight: 600 !important;
  }

  .woocommerce ul.products li.product .button:hover {
      background-color: var(--csmi-accent-hover) !important;
  }

  /* ==========================================================================
     WOOCOMMERCE - CART & CHECKOUT PAGES
     ========================================================================== */

  /* Cart table */
  .woocommerce-cart-form table,
  .woocommerce-checkout table {
      font-family: var(--csmi-font-primary) !important;
  }

  /* Checkout form labels and inputs */
  .woocommerce-checkout .form-row label,
  .woocommerce-cart .form-row label {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-heading) !important;
  }

  /* Checkout button */
  .woocommerce #place_order,
  .woocommerce-page #place_order {
      font-family: var(--csmi-font-primary) !important;
      background-color: var(--brand-accent) !important;
      color: var(--brand-heading) !important;
      font-weight: 600 !important;
  }

  .woocommerce #place_order:hover {
      background-color: var(--csmi-accent-hover) !important;
  }

 /* ==========================================================================
     TUTOR LMS - COURSE ARCHIVE/CATALOG
     ========================================================================== */

  /* Course card titles */
  .tutor-course-loop-title,
  .tutor-course-loop-title a {
      font-family: var(--csmi-font-primary) !important;
      font-size: 24px !important;
      font-weight: 600 !important;
      color: var(--brand-heading) !important;
  }

  /* Course card content */
  .tutor-course-loop-content {
      font-family: var(--csmi-font-primary) !important;
      color: var(--brand-text) !important;
  }

  /* ==========================================================================
     TUTOR LMS - STUDENT DASHBOARD
     ========================================================================== */

  .tutor-dashboard-content-inner {
      font-family: var(--csmi-font-primary) !important;
  }

  .tutor-dashboard-content-inner h3,
  .tutor-dashboard-content-inner h4 {
      color: var(--brand-heading) !important;
  }

  /* Progress bars */
  .tutor-progress-bar {
      background-color: var(--csmi-bg-2) !important;
  }

  .tutor-progress-filled {
      background-color: var(--brand-secondary) !important;
  }

  /* Blog Archive Grid Styles - CSMI Design System */

  /* Blog post titles - appropriate for grid */
  .et_pb_blog_grid .et_pb_post h2.entry-title,
  .et_pb_blog_grid .et_pb_post h2.entry-title a,
  .et_pb_post .entry-title,
  .et_pb_post .entry-title a,
  article.et_pb_post h2,
  article.et_pb_post h2 a {
      font-family: 'Hanken Grotesk', sans-serif !important;
      font-size: 28px !important;
      font-weight: 600 !important;
      line-height: 34px !important;
      color: #2D2D72 !important;
      letter-spacing: -0.5px !important;
      text-decoration: none !important;
  }

  /* Title link hover - underline */
  .et_pb_blog_grid .et_pb_post h2.entry-title a:hover,
  .et_pb_post .entry-title a:hover,
  article.et_pb_post h2 a:hover {
      text-decoration: underline !important;
      color: #2D2D72 !important;
  }

  /* Categories/Tags - make larger */
  .et_pb_post .post-meta,
  .et_pb_post .post-meta a,
  .et_pb_post p.post-meta,
  .et_pb_post p.post-meta a {
      font-family: 'Hanken Grotesk', sans-serif !important;
      font-size: 16px !important;
      line-height: 20px !important;
      color: #5EA9DD !important;
  }

  /* Excerpt text - smaller */
  .et_pb_post .post-content,
  .et_pb_post .post-content p,
  .et_pb_post .entry-content,
  .et_pb_post .entry-content p {
      font-family: 'Hanken Grotesk', sans-serif !important;
      font-size: 16px !important;
      line-height: 22px !important;
      color: #4D4D4D !important;
      letter-spacing: -0.25px !important;
  }

  /* Date - smaller */
  .et_pb_post .published,
  .et_pb_post .post-meta .published {
      font-size: 14px !important;
      line-height: 18px !important;
  }

  /* Mobile */
  @media (max-width: 768px) {
      .et_pb_post .entry-title,
      .et_pb_post .entry-title a,
      article.et_pb_post h2,
      article.et_pb_post h2 a {
          font-size: 24px !important;
          line-height: 30px !important;
      }
  }

/* Fix list style */
ul {
  list-style: unset !important;
  padding: 16px 0 16px 24px;
}