  /*
Theme Name:        Skola Child
Theme URI:         https://themeforest.net/user/madrasthemes/portfolio
Author:            MadrasThemes
Author URI:        https://themeforest.net/user/madrasthemes/
Description:       Child Theme of Skola Multipurpose Busines Theme. A truly multipurpose WordPress Theme designed to facilitate the needs of businesses from different niches.
Requires at least: WordPress 5.0
Template:          skola
Version:           1.0.21
License:           GNU General Public License v3 or later
License URI:       LICENSE
Text Domain:       skola-child
Tags:              two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-options
*/

.elementor-widget-image{text-align:center}
.elementor-widget-image a{display:inline-block}
.elementor-widget-image a img[src$=".svg"]{width:48px}
.elementor-widget-image img{vertical-align:middle;display:inline-block}

.elementor-heading-title{padding:0;margin:0;line-height:1}
.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}
.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}
.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}
.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}
.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}
.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}

ul{ list-style:none !important;}
body{
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    line-height: 1.8;
    color: #2d3748;
}

/* Fix taxonomy archive page title color - all text in header area */
.tax-course_category .archive-title,
.tax-course_category .page-header .archive-description,
.tax-course_category .page-header h1,
.tax-course_category .page-header,
.tax-course_category .page-title,
.tax-course_category h1,
.tax-course_category .entry-header,
.tax-course_category .term-description,
.tax-course_category p.archive-description,
.tax-course_category .archive-description,
.tax-course_category .page-header *,
.tax-course_category .site-content > .container > h1,
.tax-course_category .elementor-heading-title {
    color: #ffffff !important;
}

/* Remove excessive spacing on course category pages */
.tax-course_category .course-related {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.tax-course_category .related-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.tax-course_category .related-title {
    margin-bottom: 20px !important;
}

.tax-course_category .related-grid {
    margin-bottom: 0 !important;
}

.tax-course_category .course-card {
    margin-bottom: 0 !important;
}

a.button.product_type_external {
    background-color: #154957;
}

.top-hd .elementor-element.elementor-widget-wp-widget-woocommerce_product_search {
    text-align: right;
}

.paoc-popup-btn{ font-size:18px; padding:10px 25px !important;}

.paoc-popup-inr .fserv-container label.fserv-label{ font-size:17px !important; color:#000 !important; font-weight:500;}
.fs-webform-container .fserv-input-text{ font-size:16px !important; color:#000 !important; font-weight:500;}
.paoc-popup-inr .fserv-container h2.fserv-form-name {
    background-color: #0a242c;
    color: #fff !important;
    padding: 10px;
}

/* Popup Form */
.std-form .fserv-container {
    padding: 0 !important; box-shadow:none !important; border-radius:0 !important; max-width:100% !important;
}
.std-form .fserv-container h2.fserv-form-name {
    padding: 0;
    margin: 0;
}
.std-form .fserv-container .fserv-field {
    padding: 0;
    margin: 0 0 10px;
}
.std-form .fserv-container label.fserv-label {
    padding: 0; font-size:14px !important;
}
.std-form .fserv-container input, .std-form .fserv-container textarea{ font-size:14px !important;}
.std-form .fserv-container span.select2-selection.select2-selection--single{padding:0 10px !important;}
.paoc-credit-wrp {
    display: none;
}
.fserv-container .powered-by {
    display: none !important;
}
.std-form .fs-webform-container .fserv-field+div:not(.fserv-field) {
    border-top: 0px solid #e5e5e5;
    margin-top: 0;
    padding: 10px 0px 0;
    text-align: center;
}
.std-form .fserv-container label.fserv-label{ font-size:17px !important; color:#000 !important; font-weight:500;}
.std-form .fs-webform-container .fserv-container .fserv-input-text,
.std-form .fs-webform-container .fserv-container .fserv-textarea,
.std-form .fs-webform-container .fserv-container .select2-selection--multiple,
.std-form .fs-webform-container .fserv-container .select2-selection__rendered{font-size:16px !important; font-weight:500;}

/* Popup Form */
.paoc-cb-popup-body {
    max-width: 500px !important;
}
.paoc-popup-inr .fserv-container {
    padding: 0 !important; box-shadow:none !important; border-radius:0 !important;
}
.paoc-popup-inr .fserv-container h2.fserv-form-name {
    padding: 0;
    margin: 0;
}
.paoc-popup-inr .fserv-container .fserv-field {
    padding: 0;
    margin: 0 0 10px;
}
.paoc-popup-inr .fserv-container label.fserv-label {
    padding: 0;
}
.paoc-credit-wrp {
    display: none;
}
.fserv-container .powered-by {
    display: none !important;
}
.paoc-popup-inr .fs-webform-container .fserv-field+div:not(.fserv-field) {
    border-top: 0px solid #e5e5e5;
    margin-top: 0;
    padding: 10px 0px 0;
    text-align: center;
}
.paoc-popup-inr .fserv-container label.fserv-label{ font-size:17px !important; color:#000 !important; font-weight:500;}
.paoc-popup-inr .fs-webform-container .fserv-container .fserv-input-text,
.paoc-popup-inr .fs-webform-container .fserv-container .fserv-textarea{font-size:16px !important; color:#000 !important; font-weight:500; border-color:#2BAFCF !important;}

/* Contact Form */
.cnt-form{}
.cnt-form .fs-webform-container .fserv-container {
    padding: 0 !important; box-shadow:none !important; border-radius:0 !important; background-color:transparent !important; margin:0 0 40px; max-width:100%;
}
.cnt-form .fs-webform-container .fserv-container form{ padding-top:0 !important;}
.cnt-form .fs-webform-container .fserv-container h2.fserv-form-name {
    padding: 0;
    margin: 0; display:none !important;
}
.cnt-form .fserv-container .fserv-field {
    padding: 0;
    margin: 0 0 10px;
}
.cnt-form .fserv-container label.fserv-label {
    padding: 0;
}
.cnt-form .fs-webform-container .fserv-field+div:not(.fserv-field) {
    border-top: 0px solid #e5e5e5;
    margin-top: 0;
    padding: 10px 0px 0;
    text-align: center;
}
.cnt-form .fserv-container label.fserv-label{ font-size:17px !important; color:#000 !important; font-weight:500;}
.cnt-form .fs-webform-container .fserv-container .fserv-input-text,
.cnt-form .fs-webform-container .fserv-container .fserv-textarea{font-size:16px !important; color:#000 !important; font-weight:500; border-color:#000 !important;}

/* Career Form */

.career-form .fs-webform-container .fserv-container {
    padding: 0 !important; box-shadow:none !important; border-radius:0 !important; background-color:transparent !important; margin:0 0 40px; max-width:100%;
}
.career-form.fs-webform-container .fserv-container form{ padding-top:0 !important;}
.career-form .fs-webform-container .fserv-container h2.fserv-form-name {
    padding: 0;
    margin: 0;
}
.career-form .fserv-container .fserv-field {
    padding: 0;
    margin: 0 0 10px;
}
.career-form .fserv-container label.fserv-label {
    padding: 0;
}
.career-form .fs-webform-container .fserv-field+div:not(.fserv-field) {
    border-top: 0px solid #e5e5e5;
    margin-top: 0;
    padding: 10px 0px 0;
    text-align: center;
}
.career-form .fs-webform-container .fserv-field+.fserv-field {
    margin-top: 0;
}

/* Subsrcribe Form */

.subscribe-form .fs-webform-container .fserv-container {
    margin: 0;
    padding: 5px !important;
    background: transparent !important;
    box-shadow: none;
}
.subscribe-form .fs-webform-container .fserv-container form{ padding-top:0 !important;}
.subscribe-form .fs-webform-container .fserv-container h2.fserv-form-name {
    padding: 0;
    margin: 0 0 25px; font-size:18px !important; font-family: "Jost", sans-serif; line-height:1; text-align:left !important; color: #2dafd1 !important;
}
.subscribe-form .fs-webform-container .fserv-form-description {
    color: #fff !important;
    margin-bottom: 10px;
    padding: 0 0px;
    font-size: 15px;
    line-height: 1.5;
}
.subscribe-form .fserv-container .fserv-field {
    padding: 0;
    margin: 0 0 10px;
}
.subscribe-form .fs-webform-container .fserv-form {
    display: flex;
    align-items: baseline;
}
.subscribe-form .fserv-container .fserv-field.formserv-email-field {
    width: 65%;
}
.subscribe-form .fs-webform-container .fserv-container button[type=submit] {
    margin-right: 0;
    padding: 2px 4px;
    height: auto !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
.subscribe-form .fserv-container label.fserv-label {
    padding: 0; display:none;
}
.subscribe-form .fs-webform-container .fserv-field+div:not(.fserv-field) {
    border-top: 0px solid #e5e5e5;
    margin-top: 0;
    padding: 10px 0px 0;
    text-align: left;
}

a.button.addtocartbutton {
    width: 100%;
    text-align: center;
    background-color: #154958;
    padding: 10px;
    color: #fff;
    border-radius: 5px;
    line-height:2.2;
}
   /* Very compact version */
  .single-product .elementor-section.elementor-element-2055c03 {
      padding-top: 15px !important;
      padding-bottom: 15px !important;
      min-height: auto !important;
  }

  .single-product .elementor-element-78249c9 {
      padding: 5px !important;
  }

  .single-product .elementor-element-6435f85 {
      margin: 0 !important;
  }
  /* Reduce "Related products" heading font size */
  .single-product .related.products h2 {
      font-size: 24px !important;
  }

   /* Make both View Our Programs and Inquire Now buttons same width and font size */

  /* View Our Programs button - fixed 200px width */
  .elementor-button-link[href="#programs"],
  .elementor-button-link[href*="programs"] {
      white-space: nowrap !important;
      padding: 12px 24px !important;
      font-size: 18px !important;
      font-weight: 700 !important;
      text-align: center !important;
      display: inline-block !important;
      margin-bottom: 6px !important;
      width: 200px !important;
      min-width: 200px !important;
      box-sizing: border-box !important;
  }

  /* NYC STEM Inquiry Button - Override inline styles to match View Our Programs button */
  .nyc-stem-inquiry-btn,
  a.nyc-stem-inquiry-btn {
      min-width: 180px !important;
      width: auto !important;
      display: inline-block !important;
      text-align: center !important;
      font-family: Georgia, 'Times New Roman', serif !important;
      font-size: 18px !important;
      font-weight: 700 !important;
  }

  /* Hero section button alignment - make symmetric */
  /* Target the inner section containing both button columns */
  .elementor-element-bd02305 {
      justify-content: center !important;
      align-items: center !important;
      gap: 0 !important;
      column-gap: 0 !important;
  }

  .elementor-element-bd02305 .elementor-container {
      gap: 0 !important;
      column-gap: 0 !important;
  }

  /* Center align both button columns with 7.5px margin each (15px total gap) */
  .elementor-element-d415932,
  .elementor-element-34ea019 {
      text-align: center !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      padding: 0 !important;
  }

  /* Add 7.5px margin to create 15px gap between buttons */
  .elementor-element-d415932 {
      margin-right: 7.5px !important;
  }

  .elementor-element-34ea019 {
      margin-left: 7.5px !important;
  }

  /* Center the button wrappers */
  .elementor-element-d415932 .elementor-widget-container,
  .elementor-element-34ea019 .elementor-widget-container {
      display: flex !important;
      justify-content: center !important;
      width: 100% !important;
  }

  /* Center the button wrapper specifically */
  .elementor-element-b52c7aa .elementor-button-wrapper {
      justify-content: center !important;
  }

  /* Make both buttons same height - match line-height */
  .elementor-button-link[href="#programs"],
  .elementor-button-link[href*="programs"],
  .nyc-stem-inquiry-btn,
  a.nyc-stem-inquiry-btn {
      line-height: 1.8 !important;
      height: auto !important;
  }

  /* Mobile responsive buttons - Hero section */
  @media (max-width: 768px) {
      /* Stack buttons vertically on mobile */
      .elementor-element-bd02305 {
          flex-direction: column !important;
      }

      .elementor-element-bd02305 .elementor-container {
          flex-direction: column !important;
      }

      .elementor-element-d415932,
      .elementor-element-34ea019 {
          width: 100% !important;
          max-width: 100% !important;
          margin: 0 !important;
          margin-bottom: 10px !important;
      }

      /* Make buttons full width on mobile */
      .elementor-button-link[href="#programs"],
      .elementor-button-link[href*="programs"] {
          width: 100% !important;
          max-width: 280px !important;
          padding: 14px 20px !important;
          font-size: 16px !important;
      }

      .nyc-stem-inquiry-btn,
      a.nyc-stem-inquiry-btn {
          width: 100% !important;
          max-width: 280px !important;
          padding: 14px 20px !important;
          font-size: 16px !important;
      }
  }

  @media (max-width: 480px) {
      /* Even smaller on very small phones */
      .elementor-button-link[href="#programs"],
      .elementor-button-link[href*="programs"],
      .nyc-stem-inquiry-btn,
      a.nyc-stem-inquiry-btn {
          max-width: 240px !important;
          padding: 12px 18px !important;
          font-size: 15px !important;
      }
  }

  /* Override plugin inline styles on mobile */
  @media (max-width: 768px) {
      .nyc-stem-inquiry-btn[style],
      a.nyc-stem-inquiry-btn[style] {
          width: 100% !important;
          max-width: 280px !important;
      }
  }

  @media (max-width: 480px) {
      .nyc-stem-inquiry-btn[style],
      a.nyc-stem-inquiry-btn[style] {
          max-width: 240px !important;
      }
  }

/* ===========================
   SHSAT SCHOOLS BADGES - Flexbox Layout with 4 Rotating Colors
   =========================== */

.shsat-schools-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 20px 0;
    justify-content: center;
}

.school-badge {
    padding: 14px 28px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    white-space: nowrap;
}

/* Primary Blue (teal) - positions 1, 3, 6, 8 */
.school-badge:nth-child(4n+1) {
    background: #28AFCF;
    color: white;
}

/* Orange - positions 2, 7 */
.school-badge:nth-child(4n+2) {
    background: #FF7F07;
    color: white;
}

/* Dark Blue - positions 4, 5 */
.school-badge:nth-child(4n+3) {
    background: #134958;
    color: white;
}

/* Porsche (gold) - positions 6, 8 */
.school-badge:nth-child(4n) {
    background: #F0B268;
    color: #134958;
}

.school-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    filter: brightness(1.1);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .shsat-schools-container {
        flex-direction: column;
        align-items: stretch;
    }

    .school-badge {
        text-align: center;
    }
}

/* Reduce height of page title backgrounds across all pages - universal solution */
  section.elementor-top-section.py-8.py-md-11 {
      padding-top: 20px !important;
      padding-bottom: 20px !important;
      min-height: auto !important;
  }

  /* Reduce padding on columns with py-xl-2 class */
  .elementor-top-column.py-xl-2 {
      padding-top: 10px !important;
      padding-bottom: 10px !important;
  }

  /* Reduce spacing on heading widgets inside these sections */
  section.py-8.py-md-11 .elementor-widget-heading {
      margin: 0 !important;
  }
   /* Reduce gap after title section and before next section */
  section.elementor-top-section.py-8.py-md-11 {
      margin-bottom: 20px !important;
  }

  /* Also reduce top margin of the section that comes after */
  section.elementor-top-section.py-8.py-md-11 + section {
      margin-top: 0 !important;
      padding-top: 20px !important;
  }

/* Single product "Inquire Now" button color override */
.single_add_to_cart_button.btn-blue {
    background-color: #154958 !important;
}

.single_add_to_cart_button.btn-blue:hover {
    background-color: #0a242c !important;
}

/* Keep the text white */
.single_add_to_cart_button .text-white {
    color: #fff !important;
}
/* ==========================================================================
   WooCommerce Product Cards - Transform Override Solution (FIXED)
   ========================================================================== */

/* Show full product titles - ONLY in WooCommerce products */
.woocommerce .products .woocommerce-loop-product__title.line-clamp-1,
.woocommerce .products h5.line-clamp-1 {
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    display: -webkit-box !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
    min-height: 50px;
}

/* CRITICAL: Prevent transform animations ONLY on product cards */
.woocommerce .products .product-wrapper,
.woocommerce .products .product-wrapper > * {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* Keep product-info in position - prevent sliding */
.woocommerce .products .product-info,
.woocommerce .products .product-item .product-info,
.woocommerce .products .product-item:hover .product-info,
.woocommerce .products .product-wrapper:hover .product-info {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    position: relative !important;
    transition: none !important;
}

/* Force add-btn to stay hidden and out of flow */
.woocommerce .products .add-btn,
.woocommerce .products .product-item .add-btn,
.woocommerce .products .product-item:hover .add-btn,
.woocommerce .products .product-wrapper:hover .add-btn {
    display: none !important;
    transform: translateY(200px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* Ensure links work in product cards */
.woocommerce .products .product-info a {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Title styling in product cards */
.woocommerce .products .product-info .woocommerce-loop-product__title {
    font-size: 1rem !important;
    line-height: 1.3 !important;
}

/* Card hover effect */
.woocommerce .products .product-item:hover .card {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
}

/* Title color on hover */
.woocommerce .products .product-item:hover .woocommerce-loop-product__title {
    color: #28AFCF !important;
    transition: color 0.3s ease !important;
}

/* Override any position absolute on card-footer children in products */
.woocommerce .products .card-footer > * {
    position: relative !important;
}

/* ===========================
   BLOG POST - COMPLETE RESET
   Strip ALL Gutenberg inline styles
   =========================== */

/* NUCLEAR OPTION - Remove ALL inline font sizes */
.nyc-blog-content-container p[style*="font-size"],
.nyc-blog-content-container h2[style*="font-size"],
.nyc-blog-content-container h3[style*="font-size"],
.nyc-blog-content-container h4[style*="font-size"],
.nyc-blog-content-container div[style*="font-size"],
.nyc-blog-content-container span[style*="font-size"],
.nyc-blog-content-container ul[style*="font-size"],
.nyc-blog-content-container li[style*="font-size"] {
    font-size: inherit !important;
}

/* Force consistent typography */
.nyc-blog-content-container,
.nyc-blog-content-container * {
    font-family: "Jost", sans-serif !important;
}

.nyc-blog-content-container {
    font-size: 18px !important;
    line-height: 1.75 !important;
    color: #333 !important;
}

.nyc-blog-content-container p {
    font-size: 18px !important;
    line-height: 1.75 !important;
    margin: 0 0 1.5rem !important;
}

.nyc-blog-content-container h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #134958 !important;
    margin: 2.5rem 0 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 3px solid #e9ecef !important;
}

.nyc-blog-content-container h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #134958 !important;
    margin: 2rem 0 1rem !important;
}

.nyc-blog-content-container h4 {
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #134958 !important;
    margin: 1.5rem 0 0.75rem !important;
}

.nyc-blog-content-container li {
    font-size: 18px !important;
    line-height: 1.75 !important;
}

.nyc-blog-content-container table,
.nyc-blog-content-container table th,
.nyc-blog-content-container table td {
    font-size: 16px !important;
}

/* IMAGES - Force reasonable sizes */
.nyc-blog-featured-image img,
.nyc-blog-content-container img,
.nyc-blog-content-container figure img,
.nyc-blog-content-container .wp-block-image img {
    max-width: 100% !important;
    max-height: 450px !important;
    height: auto !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 1.5rem auto !important;
    display: block !important;
}

.nyc-blog-featured-image img {
    max-height: 400px !important;
}

/* Remove excessive spacing from Gutenberg blocks */
.nyc-blog-content-container .wp-block-spacer {
    height: 2rem !important;
    margin: 0 !important;
}

.nyc-blog-content-container .wp-block-group {
    margin: 1.5rem 0 !important;
}

/* Clean up paddings from Gutenberg */
.nyc-blog-content-container [style*="padding"] {
    padding: 1.5rem !important;
}

.nyc-blog-content-container hr {
    margin: 2.5rem 0 !important;
    border: none !important;
    border-top: 2px solid #e9ecef !important;
}

/* ===========================
   SHSAT PREPARATION PROGRAMS SECTION - Light Blue Background
   Target section ID: ea1d316
   =========================== */

.elementor-element-ea1d316 {
    background-color: #CDE9F6 !important;
}

/* ===========================
   SHSAT PAGE - CUSTOM TABS STYLING
   Target specific widget ID: 78fc5ee
   =========================== */

/* Container styling - transparent background */
.elementor-element-78fc5ee {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.elementor-element-78fc5ee .elementor-widget-container {
    background: transparent !important;
}

/* Tab Navigation styling */
.elementor-element-78fc5ee .elementor-tabs-wrapper {
    display: flex !important;
    background: transparent !important;
    gap: 0 !important;
    border-bottom: none !important;
}

/* Individual tab buttons */
.elementor-element-78fc5ee .elementor-tab-title {
    flex: 1 !important;
    padding: 15px 20px !important;
    background: transparent !important;
    border: none !important;
    color: #134958 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    text-align: center !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Tab button hover state */
.elementor-element-78fc5ee .elementor-tab-title:hover {
    background: rgba(255,255,255,0.3) !important;
}

/* Active tab button */
.elementor-element-78fc5ee .elementor-tab-title.elementor-active {
    background: white !important;
    color: #134958 !important;
    border: 3px solid #28AFCF !important;
    border-bottom: none !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Force top border on active tab - more specific selector */
.elementor-element-78fc5ee .elementor-tabs-wrapper .elementor-tab-title.elementor-active {
    border-top: 3px solid #28AFCF !important;
}

/* Tab content wrapper */
.elementor-element-78fc5ee .elementor-tabs-content-wrapper {
    background: white !important;
    border-left: 3px solid #28AFCF !important;
    border-right: 3px solid #28AFCF !important;
    border-bottom: 3px solid #28AFCF !important;
    border-top: none !important;
    margin-top: 0 !important;
    padding: 12px 15px !important;
}

/* Individual tab content panels */
.elementor-element-78fc5ee .elementor-tab-content {
    padding: 0 !important;
    border: none !important;
}

/* Typography inside tabs */
.elementor-element-78fc5ee .elementor-tab-content h2 {
    color: #28AFCF !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

.elementor-element-78fc5ee .elementor-tab-content h3 {
    color: #28AFCF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 10px 0 6px 0 !important;
}

.elementor-element-78fc5ee .elementor-tab-content p {
    font-weight: 400 !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 6px !important;
}

.elementor-element-78fc5ee .elementor-tab-content p strong {
    font-weight: 600 !important;
    color: #134958 !important;
}

/* Content grid layout */
.elementor-element-78fc5ee .content-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
    margin-top: 8px !important;
}

.elementor-element-78fc5ee .full-width {
    grid-column: 1 / -1 !important;
}

/* Section boxes with gray background */
.elementor-element-78fc5ee .section-box {
    background: #f8f9fa !important;
    padding: 10px !important;
    border-radius: 4px !important;
    border-left: 3px solid #28AFCF !important;
}

.elementor-element-78fc5ee .section-box h3 {
    margin-top: 0 !important;
}

/* Lists with custom checkmarks */
.elementor-element-78fc5ee ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 6px 0 !important;
}

.elementor-element-78fc5ee ul li {
    padding: 4px 0 !important;
    padding-left: 20px !important;
    position: relative !important;
    font-weight: 400 !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.elementor-element-78fc5ee ul li::before {
    content: "âœ“" !important;
    position: absolute !important;
    left: 0 !important;
    color: #28AFCF !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Nested lists */
.elementor-element-78fc5ee ul li ul {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

.elementor-element-78fc5ee ul li ul li {
    padding: 3px 0 3px 18px !important;
    font-size: 13px !important;
}

.elementor-element-78fc5ee ul li ul li::before {
    content: "â€¢" !important;
    color: #134958 !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

/* Best For box - orange */
.elementor-element-78fc5ee .best-for {
    background: #FFF3E0 !important;
    border-left: 3px solid #FF7F07 !important;
    padding: 8px 12px !important;
    margin-top: 10px !important;
    font-weight: 400 !important;
    color: #333 !important;
    font-size: 14px !important;
}

.elementor-element-78fc5ee .best-for strong {
    font-weight: 600 !important;
    color: #134958 !important;
}

/* Italic note boxes */
.elementor-element-78fc5ee .note-italic {
    font-style: italic !important;
    font-weight: 400 !important;
    color: #555 !important;
    margin: 10px 0 !important;
    font-size: 13px !important;
    padding: 10px !important;
    background: #f8f9fa !important;
    border-radius: 4px !important;
}

/* Intro text */
.elementor-element-78fc5ee .intro-text {
    font-weight: 400 !important;
    color: #333 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

/* Schedule info inline boxes */
.elementor-element-78fc5ee .schedule-inline {
    background: transparent !important;
    padding: 10px 15px !important;
    border-radius: 4px !important;
    border-left: 3px solid #134958 !important;
    margin-bottom: 15px !important;
}

.elementor-element-78fc5ee .schedule-inline p {
    margin: 0 !important;
    font-size: 14px !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .elementor-element-78fc5ee .elementor-tabs-wrapper {
        flex-direction: column !important;
    }

    .elementor-element-78fc5ee .elementor-tab-title {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }

    .elementor-element-78fc5ee .elementor-tab-title.elementor-active {
        border: 2px solid #28AFCF !important;
    }

    .elementor-element-78fc5ee .elementor-tabs-content-wrapper {
        padding: 15px !important;
    }

    .elementor-element-78fc5ee .content-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .elementor-element-78fc5ee .elementor-tab-content h2 {
        font-size: 17px !important;
    }

    .elementor-element-78fc5ee .elementor-tab-content h3 {
        font-size: 15px !important;
    }
}

/* Page-specific overrides removed - now using global benefit card styles from course-styles.css */

/* ==============================================================================
   GLOBAL CONTAINER WIDTH - 1200px
   ============================================================================== */

/* Override Elementor's default 1140px to 1200px */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1200px !important;
}

/* Also apply to inner sections */
.elementor-section.elementor-section-boxed .elementor-container {
    max-width: 1200px !important;
}

/* ==============================================================================
   END CONTAINER WIDTH
   ============================================================================== */

/* ==============================================================================
   SIMPLIFIED GLOBAL TYPOGRAPHY - Lightweight Version
   ============================================================================== */

/* H2 - Main Section Headings */
h2 {
    font-size: 32px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #134958 !important;
    margin: 20px 0 6px !important;
}

/* H3 - Subsection Headings */
h3 {
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #134958 !important;
    margin: 35px 0 5px !important;
}

/* H4 - Content Subheadings */
h4 {
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #134958 !important;
    margin: 25px 0 3px !important;
}

/* Paragraphs */
p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #2d3748 !important;
    margin-bottom: 18px !important;
    font-weight: 400 !important;
}

/* Tablet */
@media (max-width: 1023px) {
    h2 { font-size: 32px !important; margin: 20px 0 5px !important; }
    h3 { font-size: 24px !important; margin: 30px 0 4px !important; }
    h4 { font-size: 19px !important; margin: 20px 0 3px !important; }
    p { font-size: 17px !important; }
}

/* Mobile */
@media (max-width: 767px) {
    h2 { font-size: 32px !important; margin: 20px 0 5px !important; }
    h3 { font-size: 24px !important; margin: 25px 0 4px !important; }
    h4 { font-size: 18px !important; margin: 20px 0 3px !important; }
    p { font-size: 16px !important; }
}

/* Exceptions - Keep original styling */
.course-card-title, .woocommerce-loop-product__title,
.hero-section h1, .hero-section h2,
.elementor-element-78fc5ee h2, .elementor-element-78fc5ee h3, .elementor-element-78fc5ee h4,
.nyc-blog-content-container h2, .nyc-blog-content-container h3, .nyc-blog-content-container h4 {
    font-size: inherit !important;
    margin: inherit !important;
    color: inherit !important;
}

/* ==============================================================================
   DARK SECTION - Removed (was overriding Elementor color settings)
   ============================================================================== */

/* ==============================================================================
   FORCE WHITE TEXT - Specific Elements on SHSAT Page
   ============================================================================== */

/* Force the H2 "90%+ Specialized..." to white */
#elementor .elementor-element-8b4278b .elementor-heading-title,
#elementor .elementor-element-8b4278b h2,
.elementor-element-8b4278b .elementor-heading-title,
.elementor-element-8b4278b h2 {
    color: #FFFFFF !important;
}

/* Force the paragraph "ÌÇÐÄ´«Ã½ has helped..." to white */
#elementor .elementor-element-5f62b9f,
#elementor .elementor-element-5f62b9f p,
.elementor-element-5f62b9f,
.elementor-element-5f62b9f p,
.elementor-element-5f62b9f .elementor-text-editor {
    color: #FFFFFF !important;
}

/* SHSAT Page - Dark sections with white text */

/* Combined Approach heading */
.elementor-element-dfeb9da .elementor-heading-title,
.elementor-element-dfeb9da h1,
.elementor-element-dfeb9da h2,
.elementor-element-dfeb9da h3 {
    color: #FFFFFF !important;
}

/* Combined Approach text */
.elementor-element-8d6651e,
.elementor-element-8d6651e p,
.elementor-element-8d6651e li,
.elementor-element-8d6651e .elementor-text-editor {
    color: #FFFFFF !important;
}

/* Ready to Start Your SHSAT Journey? */
.elementor-element-106c474 .elementor-heading-title,
.elementor-element-106c474 h1,
.elementor-element-106c474 h2,
.elementor-element-106c474 h3 {
    color: #FFFFFF !important;
}

/* When to Start Preparing */
.elementor-element-9b6a62d .elementor-heading-title,
.elementor-element-9b6a62d h1,
.elementor-element-9b6a62d h2,
.elementor-element-9b6a62d h3 {
    color: #FFFFFF !important;
}

/* Next Steps */
.elementor-element-3912da7 .elementor-heading-title,
.elementor-element-3912da7 h1,
.elementor-element-3912da7 h2,
.elementor-element-3912da7 h3 {
    color: #FFFFFF !important;
}

/* Match Questions font size to Join the 90%+ */
.elementor-element-7247a4a,
.elementor-element-7247a4a p {
    font-size: 25px !important;
}

/* Remove padding between lines in Ready to Start Your SHSAT Journey section */
.elementor-element-106c474,
.elementor-element-9b6a62d,
.elementor-element-3912da7,
.elementor-element-7247a4a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* White text class - add "white-text" CSS class to any Elementor section/column */
.white-text h1,
.white-text h2,
.white-text h3,
.white-text h4,
.white-text h5,
.white-text h6,
.white-text .elementor-heading-title,
.white-text p,
.white-text li,
.white-text span,
.white-text div,
.white-text .elementor-text-editor {
    color: #FFFFFF !important;
}

.white-text a {
    color: #FFFFFF !important;
}

.white-text a:hover {
    color: #28AFCF !important;
}

/* Hero excerpt text - white on dark background */
.course-hero .hero-excerpt,
.hero-excerpt {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ==============================================================================
   END FORCE WHITE TEXT
   ============================================================================== */

/* ==============================================================================
   END SIMPLIFIED TYPOGRAPHY
   ============================================================================== */

/* Note: All course card styling is now handled by course-cards.css */

/* ==============================================================================
   ELEMENTOR TYPOGRAPHY OVERRIDES - v2.0
   Force our typography standards over Elementor's default sizes
   Updated: 2025-11-09
   ============================================================================== */

/* EXCEPTION: Preserve ALL Hero section styles - must come first! */
/* Hero H1 - 48px */
.course-hero .hero-content h1,
.hero-content h1,
.faq-hero h1,
.cta-hero h1,
.hero-section h1,
.elementor .course-hero h1,
.elementor .hero-content h1,
.elementor .faq-hero h1 {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Hero H2 - When hero title is H2 instead of H1 */
.course-hero h2,
.hero-content h2,
.faq-hero h2,
.cta-hero h2,
.hero-section h2,
.elementor-section[data-settings*="hero"] h2,
.elementor .course-hero h2,
.elementor .hero-content h2,
.elementor .faq-hero h2 {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Hero H3, H4, paragraphs - all white */
.course-hero h3, .course-hero h4, .course-hero p,
.hero-content h3, .hero-content h4, .hero-content p,
.faq-hero h3, .faq-hero h4, .faq-hero p,
.cta-hero h3, .cta-hero h4, .cta-hero p,
.hero-section h3, .hero-section h4, .hero-section p,
.elementor .course-hero h3, .elementor .course-hero h4, .elementor .course-hero p,
.elementor .hero-content h3, .elementor .hero-content h4, .elementor .hero-content p {
    color: #ffffff !important;
}

/* H1 Headings - 36px (Standard page titles only) */
.elementor-widget-heading h1,
h1.elementor-heading-title,
.elementor h1,
.elementor-element h1 {
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #134958 !important;
    font-family: 'Roboto', sans-serif !important;
}

/* H2 Headings - 32px */
.elementor-widget-heading h2,
.elementor-heading-title.elementor-size-default,
h2.elementor-heading-title,
.elementor h2,
.elementor-element h2,
.elementor-section h2,
.elementor-container h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #134958 !important;
    font-family: 'Roboto', sans-serif !important;
}

/* H3 Headings - 24px */
.elementor-widget-heading h3,
h3.elementor-heading-title,
.elementor h3,
.elementor-element h3 {
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #134958 !important;
    font-family: 'Roboto', sans-serif !important;
}

/* H4 Headings - 18px */
.elementor-widget-heading h4,
h4.elementor-heading-title,
.elementor h4,
.elementor-element h4 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #134958 !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Body text - 16px */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-element p,
.elementor p,
.elementor-text-editor p {
    font-size: 16px !important;
    line-height: 1.6 !important;
    font-family: 'Roboto', sans-serif !important;
    color: #333 !important;
}

/* Buttons - 18px */
.elementor-button,
.elementor-button-link,
.elementor-widget-button .elementor-button,
.elementor-button-wrapper .elementor-button {
    font-size: 18px !important;
    font-weight: 700 !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Override Elementor's size classes */
.elementor-widget-heading .elementor-heading-title.elementor-size-small {
    font-size: 18px !important; /* H4 size */
}

.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
    font-size: 24px !important; /* H3 size */
}

.elementor-widget-heading .elementor-heading-title.elementor-size-large {
    font-size: 32px !important; /* H2 size */
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 36px !important; /* H1 size */
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
    font-size: 48px !important; /* Hero H1 size */
}

/* Ensure all headings use Roboto */
.elementor-widget-heading .elementor-heading-title {
    font-family: 'Roboto', sans-serif !important;
}

/* Center-aligned text containers with max-width */
.max-width-1200 {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Course hero fixes removed - were breaking 2-column layouts globally */

/* ==============================================================================
   BLOG PAGE HERO - Gradient Blue Background, No Image, White Text
   ============================================================================== */

/* Target ONLY first Elementor section and page headers */
body.blog .site-main > .elementor > .elementor-section:first-child,
body.home .site-main > .elementor > .elementor-section:first-child,
body.blog .content-area > .elementor > .elementor-section:first-child,
body.home .content-area > .elementor > .elementor-section:first-child,
body.blog #content > .elementor > .elementor-section:first-child,
body.home #content > .elementor > .elementor-section:first-child,
body.blog .page-header,
body.blog .banner-area,
body.blog .page-title-area,
body.blog .site-banner,
body.blog .archive-header,
body.blog header.entry-header,
body.blog .site-main > header,
body.blog #main > header,
body.blog .content-area header.py-8,
body.home .page-header,
body.home .banner-area,
body.home .page-title-area {
    background: linear-gradient(135deg, #134958 0%, #28AFCF 100%) !important;
    background-image: linear-gradient(135deg, #134958 0%, #28AFCF 100%) !important;
    color: #ffffff !important;
    padding: 60px 20px 40px !important;
    text-align: center !important;
}

/* Blog archive header - Skola theme specific */
body.blog #primary header,
body.blog .content-area > main > header {
    background: linear-gradient(135deg, #134958 0%, #28AFCF 100%) !important;
    color: #ffffff !important;
    padding: 60px 20px 40px !important;
    text-align: center !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

body.blog #primary header h1,
body.blog #primary header *,
body.blog .content-area > main > header h1,
body.blog .content-area > main > header * {
    color: #ffffff !important;
}

/* Blog Elementor hero section with py-8 classes */
body.blog .elementor-section.py-8.py-md-11,
body.blog .elementor-top-section.py-8 {
    background: linear-gradient(135deg, #134958 0%, #28AFCF 100%) !important;
    color: #ffffff !important;
    padding: 60px 20px 40px !important;
}

body.blog .elementor-section.py-8.py-md-11 .elementor-background-overlay,
body.blog .elementor-top-section.py-8 .elementor-background-overlay {
    display: none !important;
}

body.blog .elementor-section.py-8.py-md-11 *,
body.blog .elementor-top-section.py-8 * {
    color: #ffffff !important;
}

/* Add "Blog" heading text */
body.blog .elementor-section.py-8.py-md-11 .elementor-container {
    flex-direction: column !important;
    align-items: center !important;
}

body.blog .elementor-section.py-8.py-md-11 .elementor-container::before {
    content: "Blog";
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    color: #ffffff !important;
    text-align: center;
    width: 100%;
}

/* Hide empty column divs */
body.blog .elementor-section.py-8.py-md-11 .elementor-column {
    display: none !important;
}

/* Remove any background images from FIRST section only */
body.blog .site-main > .elementor > .elementor-section:first-child,
body.blog .site-main > .elementor > .elementor-section:first-child::before,
body.blog .site-main > .elementor > .elementor-section:first-child::after,
body.blog .content-area > .elementor > .elementor-section:first-child,
body.blog .content-area > .elementor > .elementor-section:first-child::before,
body.blog .content-area > .elementor > .elementor-section:first-child::after,
body.home .site-main > .elementor > .elementor-section:first-child,
body.home .site-main > .elementor > .elementor-section:first-child::before,
body.home .site-main > .elementor > .elementor-section:first-child::after,
body.home .content-area > .elementor > .elementor-section:first-child,
body.home .content-area > .elementor > .elementor-section:first-child::before,
body.home .content-area > .elementor > .elementor-section:first-child::after,
body.blog .page-header,
body.blog .page-header::before,
body.blog .banner-area,
body.blog .banner-area::before,
body.home .page-header,
body.home .page-header::before,
body.home .banner-area,
body.home .banner-area::before {
    background-image: none !important;
}

/* Override Elementor section background overlays in FIRST section only - Blog pages */
body.blog .site-main > .elementor > .elementor-section:first-child > .elementor-background-overlay,
body.blog .content-area > .elementor > .elementor-section:first-child > .elementor-background-overlay {
    display: none !important;
}

/* Force white text in FIRST section and page headers only */
body.blog .site-main > .elementor > .elementor-section:first-child *,
body.blog .content-area > .elementor > .elementor-section:first-child *,
body.home .site-main > .elementor > .elementor-section:first-child *,
body.home .content-area > .elementor > .elementor-section:first-child *,
body.blog .page-header *,
body.blog .banner-area *,
body.blog .site-banner *,
body.blog .archive-header *,
body.blog header.entry-header *,
body.blog .page-title,
body.blog .entry-title,
body.blog .archive-title,
body.home .page-header *,
body.home .banner-area *,
body.home .page-title,
body.home .entry-title,
body.home .archive-title {
    color: #ffffff !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    body.blog .site-main > .elementor > .elementor-section:first-child,
    body.home .site-main > .elementor > .elementor-section:first-child,
    body.blog .content-area > .elementor > .elementor-section:first-child,
    body.home .content-area > .elementor > .elementor-section:first-child,
    body.blog .page-header,
    body.blog .banner-area,
    body.home .page-header,
    body.home .banner-area {
        padding: 40px 20px 30px !important;
    }
}

/* ==============================================================================
   END BLOG PAGE HERO
   ============================================================================== */
/* ==============================================================================
   HEADER BUTTONS - Standardized Styling (All Courses & Contact)
   ============================================================================== */

/* Target all header action buttons - All Courses, Contact, etc. */
.site-header .elementor-button,
.site-header .btn,
.site-header a.elementor-button,
#masthead .elementor-button,
#masthead .btn,
#masthead a.elementor-button,
header .elementor-button,
header .btn,
header a.elementor-button {
    /* Consistent sizing */
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    
    /* Consistent padding */
    padding: 12px 24px !important;
    
    /* White border as requested */
    border: 2px solid white !important;
    border-radius: 4px !important;
    
    /* Consistent display */
    display: inline-block !important;
    text-align: center !important;
    text-decoration: none !important;
    
    /* Smooth transitions */
    transition: all 0.3s ease !important;
    
    /* Prevent text wrapping */
    white-space: nowrap !important;
    
    /* Consistent box model */
    box-sizing: border-box !important;
    min-width: 120px !important;
}

/* Hover state for all header buttons */
.site-header .elementor-button:hover,
.site-header .btn:hover,
#masthead .elementor-button:hover,
#masthead .btn:hover,
header .elementor-button:hover,
header .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-color: white !important;
}

/* Ensure consistent height even with different content */
.site-header .elementor-button span,
.site-header .btn span,
#masthead .elementor-button span,
#masthead .btn span,
header .elementor-button span,
header .btn span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

/* Mobile responsive - stack vertically if needed */
@media (max-width: 768px) {
    .site-header .elementor-button,
    .site-header .btn,
    #masthead .elementor-button,
    #masthead .btn,
    header .elementor-button,
    header .btn {
        font-size: 14px !important;
        padding: 10px 20px !important;
        min-width: 100px !important;
    }
}

/* ==============================================================================
   END HEADER BUTTONS
   ============================================================================== */

/* ==============================================================================
   FIXED/FLOATING CONTACT BUTTONS - Override Elementor
   ============================================================================== */

/* Target fixed position buttons (Contact, floating CTAs) - EXCLUDE footer and icon lists */
.elementor-button[style*="position: fixed"],
.elementor-button[style*="position:fixed"],
a.elementor-button[style*="position: fixed"],
a.elementor-button[style*="position:fixed"],
.elementor-element a.elementor-button:not(footer a):not(.elementor-icon-list-item a) {
    /* Match course page buttons exactly */
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;

    /* Match course button padding */
    padding: 12px 24px !important;

    /* White border to match header buttons */
    border: 2px solid white !important;
    border-radius: 4px !important;

    /* Consistent display */
    display: inline-block !important;
    text-align: center !important;
    text-decoration: none !important;
    min-width: 120px !important;

    /* Override Elementor's box-shadow */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;

    /* Smooth transitions */
    transition: all 0.3s ease !important;

    /* Ensure text is readable */
    color: white !important;
}

/* Hover state for fixed buttons - EXCLUDE footer and icon lists */
.elementor-button[style*="position: fixed"]:hover,
.elementor-button[style*="position:fixed"]:hover,
a.elementor-button[style*="position: fixed"]:hover,
a.elementor-button[style*="position:fixed"]:hover,
.elementor-element a.elementor-button:not(footer a):not(.elementor-icon-list-item a):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
    border-color: white !important;
}

/* Ensure consistent text styling inside button */
.elementor-button .elementor-button-text,
.elementor-button span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* More aggressive targeting for Elementor widgets with fixed positioning */
.elementor-widget-button a.elementor-button,
div[style*="position: fixed"] .elementor-button,
div[style*="position:fixed"] .elementor-button,
.elementor-element[style*="position: fixed"] a,
.elementor-element[style*="position:fixed"] a,
#elementor-popup-modal .elementor-button,
.elementor-widget a.elementor-button[href*="contact"],
.elementor-widget a.elementor-button[href*="enrollment"] {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    padding: 12px 24px !important;
    border: 2px solid white !important;
    border-radius: 4px !important;
    min-width: 120px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Nuclear option - target ANY fixed position element with button class */
[style*="position: fixed"][class*="button"],
[style*="position:fixed"][class*="button"],
[style*="bottom:"][class*="elementor"],
[style*="bottom: "][class*="elementor"] {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    padding: 12px 24px !important;
    border: 2px solid white !important;
    border-radius: 4px !important;
}

/* ULTIMATE OVERRIDE - Target fixed buttons by position specifically */
a[style*="position: fixed"][style*="right: 15px"][style*="bottom: 15px"],
a[style*="position:fixed"][style*="right:15px"][style*="bottom:15px"],
a[style*="position: fixed"][style*="bottom: 15px"],
a[style*="position:fixed"][style*="bottom:15px"] {
    padding: 12px 24px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    line-height: 1.5 !important;
    border: 2px solid white !important;
    border-radius: 4px !important;
    min-width: 120px !important;
}

/* Target PAOC (Popup Anything on Click) plugin buttons - ONLY buttons/links, NOT the popup container! */
a.paoc-popup-button,
button.paoc-popup-button,
a.paoc-popup-btn,
button.paoc-popup-btn,
a.paoc-popup-click,
button.paoc-popup-click {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    padding: 10px 25px !important;
    border: 2px solid white !important;
    border-radius: 3px !important;
    width: 145px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    text-align: center !important;
    display: inline-block !important;
    text-decoration: none !important;
}

/* Hover state for PAOC buttons */
a.paoc-popup-button:hover,
button.paoc-popup-button:hover,
a.paoc-popup-btn:hover,
button.paoc-popup-btn:hover,
a.paoc-popup-click:hover,
button.paoc-popup-click:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
    text-decoration: none !important;
}

/* ==============================================================================
   END FIXED/FLOATING CONTACT BUTTONS
   ============================================================================== */

/* ==============================================================================
   POPUP BUTTONS - Match All Courses floating button style
   ============================================================================== */

/* Target all buttons inside PAOC popups - match All Courses button */
.paoc-popup-modal-content button,
.paoc-popup-modal-content .button,
.paoc-popup-modal-content input[type="submit"],
.paoc-popup-modal-content input[type="button"],
.paoc-popup-modal-content .btn,
.paoc-popup-modal-content a.button,
.paoc-popup-modal-content .elementor-button,
.paoc-popup-modal-content .wpcf7-submit {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    padding: 10px 25px !important;
    border: 2px solid white !important;
    border-radius: 3px !important;
    min-width: 145px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    text-align: center !important;
    display: inline-block !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    color: white !important;
}

/* Hover state for popup buttons */
.paoc-popup-modal-content button:hover,
.paoc-popup-modal-content .button:hover,
.paoc-popup-modal-content input[type="submit"]:hover,
.paoc-popup-modal-content input[type="button"]:hover,
.paoc-popup-modal-content .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
    text-decoration: none !important;
}

/* ==============================================================================
   END POPUP BUTTONS
   ============================================================================== */
