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


.lpt-term-hero {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}


/* Paragraph spacing ONLY inside Elementor text widgets */
.elementor .elementor-widget-text-editor .elementor-widget-container p {
    margin: 0 0 20px 0 !important;  /* top/right/bottom/left */
}

/* Limit height for listed popups only */
.elementor-popup-modal .elementor-12850 {
    max-height: 500px;
    overflow-y: auto;
}
/* Make inner sections flexible inside this popup */
.elementor-popup-modal .elementor-12850 .elementor-section {
    height: auto !important;
    min-height: 0 !important;
}


body.tax-product-organization .org-filter {
    display: none !important;
}


/* ----------------------------------------------------------
   Hide unwanted headers
---------------------------------------------------------- */
h3.rcp_header {
    display: none;
}

p.rcp_subscription_message {
    display: none;
}

/* ----------------------------------------------------------
   Plan name
---------------------------------------------------------- */
span.rcp_subscription_level_name {
    font-weight: bold;
    font-size: 20pt;
    flex-shrink: 0; /* prevents plan name from wrapping weirdly */
}

/* ----------------------------------------------------------
   Price, separator, duration (inline and red)
---------------------------------------------------------- */
span.rcp_price,
span.rcp_level_duration,
span.rcp_separator {
    display: inline;
    font-style: italic;
    font-size: 16pt;
    color: red;
}

/* ----------------------------------------------------------
   Tighten spacing inside plan descriptions
---------------------------------------------------------- */
div.rcp_level_description p {
    margin-top: 4px;
    margin-bottom: 4px;
}

/* Plan description container */
div.rcp_level_description {
    font-style: italic;
    font-size: 12pt;
    margin-top: 10px;
    margin-left: 10px;
    width: 100%; /* keeps description under the title row */
}

/* ----------------------------------------------------------
   Layout for each plan option
   (radio on left, all text on right)
---------------------------------------------------------- */
ul#rcp_subscription_levels li.rcp_subscription_level {
    display: flex;
    align-items: flex-start; /* top-align radio with big title text */
    gap: 12px;
    margin-bottom: 50px;
}

/* Remove spacing after last plan */
ul#rcp_subscription_levels li.rcp_subscription_level:last-child {
    margin-bottom: 0;
}

/* ----------------------------------------------------------
   Custom radio button styling
   Black border, red filled dot when selected
---------------------------------------------------------- */
ul#rcp_subscription_levels input[type="radio"] {
    appearance: none;        /* remove browser's default radio styling */
    width: 18px;
    height: 18px;
    border: 2px solid black; /* black outer border */
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    margin-top: 6px;         /* aligns radio with plan title line */
}

/* Inner red dot when checked */
ul#rcp_subscription_levels input[type="radio"]:checked::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    background: red;
    border-radius: 50%;
}





header.elementor-location-header { min-height: 80px; }
.lpt-dynamic-header { min-height: 80px; }

@media (max-width: 1024px) {
  header.elementor-location-header,
  .lpt-dynamic-header { min-height: 44px; }
}

@media (max-width: 767px) {
  header.elementor-location-header,
  .lpt-dynamic-header { min-height: 50px; }
}





/* Allow header dropdowns to escape single resource layout */
body.single-resources #page,
body.single-resources #content,
body.single-resources .site-content,
body.single-resources .ast-container {
  overflow: visible !important;
}



/* PHASE 1: prevent Elementor menu from affecting layout during init */
html.lpt-el-loading header .e-n-menu-wrapper {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* PHASE 2: restore normal layout once Elementor is ready */
html.lpt-el-ready header .e-n-menu-wrapper {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* ==============================
   MOBILE CLS FIXES (CONSOLIDATED)
   ============================== */

@media (max-width: 767px) {

  /* Reserve space for the hero image flagged by Lighthouse */
  img.wp-image-17866 {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 900 / 500;
  }

  /* Ensure Elementor image widgets don't collapse their container */
  .elementor-widget-image,
  .elementor-widget-image .elementor-widget-container {
    width: 100%;
  }

  /* Reserve space for the header logo image */
  img.wp-image-378 {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1000 / 100;
  }

  /* Lock the Elementor menu cart icon size + wrapper box */
  .elementor-menu-cart__toggle_wrapper,
  .elementor-menu-cart__toggle,
  .elementor-menu-cart__toggle .elementor-button {
    width: 44px !important;
    hei
