/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It's ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It's fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.10.1756294307
Updated: 2025-08-27 21:31:47
*/

/* ==========================================================================
   GLOBAL LAYOUT & STRUCTURE
   ========================================================================== */

/* Full height layout with sticky footer */
html, body {
    height: 100% !important;
}

body {
    background-color: black;
}

/* Force Elementor overlay background to show properly */
.elementor-544 .elementor-element.elementor-element-2ebda9e:not(.elementor-motion-effects-element-type-background),
.elementor-544 .elementor-element.elementor-element-2ebda9e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #00000099 !important;
}

#page {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

#content,
.site-content {
    flex: 1 !important;
}

.site-footer {
    margin-top: auto !important;
    background-color: black !important;
}

/* ==========================================================================
   HEADER STYLING
   ========================================================================== */

/* Default header background - black unless transparent header is used */
.main-header-bar,
.ast-primary-header,
.site-header {
    background-color: #000 !important;
}

/* Transparent header override */
.ast-theme-transparent-header .main-header-bar,
.ast-theme-transparent-header .ast-primary-header,
.ast-theme-transparent-header .site-header {
    background-color: transparent !important;
}

/* ==========================================================================
   MOBILE NAVIGATION
   ========================================================================== */

@media (max-width: 921px) {
    /* Mobile menu containers */
    .main-header-bar-navigation,
    .main-header-bar-navigation .main-header-menu,
    .main-header-bar-navigation .sub-menu,
    .ast-mobile-popup-drawer.active,
    .ast-mobile-popup-drawer.active .main-header-menu,
    .ast-mobile-popup-drawer.active .sub-menu {
        background-color: #000 !important;
    }

    /* Default menu links */
    .main-header-bar-navigation .menu-link,
    .ast-mobile-popup-drawer.active .menu-link {
        display: block;
        background-color: #000 !important;
        color: #fff !important;
    }

    /* Hover and focus states */
    .main-header-bar-navigation .menu-link:hover,
    .main-header-bar-navigation .menu-link:focus,
    .ast-mobile-popup-drawer.active .menu-link:hover,
    .ast-mobile-popup-drawer.active .menu-link:focus {
        background-color: #32a600 !important;
        color: #fff !important;
    }

    /* Visited links */
    .main-header-bar-navigation .menu-link:visited,
    .ast-mobile-popup-drawer.active .menu-link:visited {
        color: #32a600 !important;
    }

    /* Current page indicators */
    .main-header-bar-navigation .current-menu-item > .menu-link,
    .main-header-bar-navigation .current_page_item > .menu-link,
    .main-header-bar-navigation .current-menu-ancestor > .menu-link,
    .ast-mobile-popup-drawer.active .current-menu-item > .menu-link,
    .ast-mobile-popup-drawer.active .current_page_item > .menu-link,
    .ast-mobile-popup-drawer.active .current-menu-ancestor > .menu-link {
        background-color: #000 !important;
        color: #32a600 !important;
    }

    /* Current page hover */
    .main-header-bar-navigation .current-menu-item > .menu-link:hover,
    .main-header-bar-navigation .current_page_item > .menu-link:hover,
    .main-header-bar-navigation .current-menu-ancestor > .menu-link:hover,
    .ast-mobile-popup-drawer.active .current-menu-item > .menu-link:hover,
    .ast-mobile-popup-drawer.active .current_page_item > .menu-link:hover,
    .ast-mobile-popup-drawer.active .current-menu-ancestor > .menu-link:hover {
        background-color: #32a600 !important;
        color: #fff !important;
    }

    /* Menu icons */
    .main-header-bar-navigation .ast-menu-toggle,
    .main-header-bar-navigation .ast-menu-toggle svg,
    .ast-mobile-popup-drawer.active .ast-menu-toggle,
    .ast-mobile-popup-drawer.active .ast-menu-toggle svg {
        color: #fff !important;
        fill: #fff !important;
    }

    /* Mobile drawer background */
    body:not(.ast-theme-transparent-header) .ast-mobile-popup-drawer.active {
        background: #000 !important;
    }
}

/* ==========================================================================
   CONTENT LINKS & TYPOGRAPHY
   ========================================================================== */

/* Body text links - white by default, green on hover */
.entry-content a,
.site-content a,
.ast-container p a,
.widget-area a,
article a {
    color: #ffffff !important;
    text-decoration: underline;
}

.entry-content a:hover,
.site-content a:hover,
.ast-container p a:hover,
.widget-area a:hover,
article a:hover {
    color: #32A600 !important;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

/* Button text must stay white on hover - only background should change */
.elementor-button-text,
.elementor-button:hover .elementor-button-text,
.elementor-button:focus .elementor-button-text,
.elementor-button:active .elementor-button-text,
.ast-button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    color: #ffffff !important;
}

/* ==========================================================================
   CUSTOM COMPONENTS
   ========================================================================== */

/* Green tick list styling */
ul.tick-list {
    --sp-tick-size: 1.1em;
    --sp-tick-gap: 0.6em;
    --sp-line: 1.4;
    
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.tick-list > li {
    position: relative;
    display: block;
    line-height: var(--sp-line);
    margin: 0.28em 0;
    padding-left: calc(var(--sp-tick-size) + var(--sp-tick-gap));
}

ul.tick-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc((var(--sp-line) * 1em - var(--sp-tick-size)) / 2);
    width: var(--sp-tick-size);
    height: var(--sp-tick-size);
    display: block;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2309a85a'/%3E%3Cpath fill='%23ffffff' d='M10.3 16.3L5.7 11.7l1.4-1.4 3.2 3.2 6.6-6.6 1.4 1.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}

/* ==========================================================================
   PLUGIN OVERRIDES
   ========================================================================== */

/* PMPro site title restoration */
body[class*="pmpro_"] .site-branding .site-title,
body[class*="pmpro_"] .site-branding .site-title a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.pmpro-levels .entry-title,
body.pmpro-checkout .entry-title,
body.pmpro-billing .entry-title,
body.pmpro-cancel .entry-title,
body.pmpro-confirmation .entry-title,
body.pmpro-invoice .entry-title,
body.pmpro-login .entry-title,
body.pmpro-account .entry-title {
    display: block !important;
}

/* (Optional) ensure the mobile drawer is black too */
body:not(.ast-theme-transparent-header) .ast-mobile-popup-drawer.active {
  background: #000 !important;
}

/* Astra mobile menu — visited/current = green text */
@media (max-width: 921px) {

  /* Default containers and links */
  .main-header-bar-navigation,
  .main-header-bar-navigation .main-header-menu,
  .main-header-bar-navigation .sub-menu,
  .ast-mobile-popup-drawer.active,
  .ast-mobile-popup-drawer.active .main-header-menu,
  .ast-mobile-popup-drawer.active .sub-menu {
    background-color: #000 !important;
  }

  .main-header-bar-navigation .menu-link,
  .ast-mobile-popup-drawer.active .menu-link {
    display: block;
    background-color: #000 !important; /* default bg stays black */
    color: #fff !important;            /* default text white */
  }

  /* Hover / focus */
  .main-header-bar-navigation .menu-link:hover,
  .main-header-bar-navigation .menu-link:focus,
  .ast-mobile-popup-drawer.active .menu-link:hover,
  .ast-mobile-popup-drawer.active .menu-link:focus {
    background-color: #32a600 !important;
    color: #fff !important;
  }

  /* Visited links (browsers allow color but not bg for :visited) */
  .main-header-bar-navigation .menu-link:visited,
  .ast-mobile-popup-drawer.active .menu-link:visited {
    color: #32a600 !important;        /* bg remains black from default */
  }

  /* WordPress "current" (active page) states */
  .main-header-bar-navigation .current-menu-item > .menu-link,
  .main-header-bar-navigation .current_page_item > .menu-link,
  .main-header-bar-navigation .current-menu-ancestor > .menu-link,
  .ast-mobile-popup-drawer.active .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer.active .current_page_item > .menu-link,
  .ast-mobile-popup-drawer.active .current-menu-ancestor > .menu-link {
    background-color: #000 !important; /* black by default */
    color: #32a600 !important;         /* green text to match "visited" */
  }

  /* Allow hover on the current item too */
  .main-header-bar-navigation .current-menu-item > .menu-link:hover,
  .main-header-bar-navigation .current_page_item > .menu-link:hover,
  .main-header-bar-navigation .current-menu-ancestor > .menu-link:hover,
  .ast-mobile-popup-drawer.active .current-menu-item > .menu-link:hover,
  .ast-mobile-popup-drawer.active .current_page_item > .menu-link:hover,
  .ast-mobile-popup-drawer.active .current-menu-ancestor > .menu-link:hover {
    background-color: #32a600 !important;
    color: #fff !important;
  }

  /* Icons/carets */
  .main-header-bar-navigation .ast-menu-toggle,
  .main-header-bar-navigation .ast-menu-toggle svg,
  .ast-mobile-popup-drawer.active .ast-menu-toggle,
  .ast-mobile-popup-drawer.active .ast-menu-toggle svg {
    color: #fff !important;
    fill: #fff !important;
  }
}

/* ✅ Green tick bullets — proper hanging indent + first-line centring */
ul.tick-list{
  /* Tweakables (scale with font size) */
  --sp-tick-size: 1.1em;   /* icon size */
  --sp-tick-gap: 0.6em;    /* gap between icon and text */
  --sp-line: 1.4;          /* unitless line-height */

  list-style: none;
  margin: 0;
  padding: 0;
}

ul.tick-list > li{
  position: relative;
  display: block;
  line-height: var(--sp-line);                     /* scales with font size */
  margin: 0.28em 0;
  padding-left: calc(var(--sp-tick-size) + var(--sp-tick-gap)); /* hanging indent */
}

/* Absolutely positioned marker: centred to the FIRST line */
ul.tick-list > li::before{
  content: "";
  position: absolute;
  left: 0;
  top: calc((var(--sp-line) * 1em - var(--sp-tick-size)) / 2);  /* centre in line 1 */
  width: var(--sp-tick-size);
  height: var(--sp-tick-size);
  display: block;                                /* override any previous inline rules */
  border-radius: 50%;

  /* Safe background syntax (url then repeat/pos/size) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2309a85a'/%3E%3Cpath fill='%23ffffff' d='M10.3 16.3L5.7 11.7l1.4-1.4 3.2 3.2 6.6-6.6 1.4 1.4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

/* Set the default background of the site to the colour black - but allow content to override */
body {
	background-color: black;
}

/* Header styling - black background for all headers except when transparent header is specifically used */
.main-header-bar,
.ast-primary-header,
.site-header {
    background-color: #000 !important;
}

/* Allow transparent header when specifically set */
.ast-theme-transparent-header .main-header-bar,
.ast-theme-transparent-header .ast-primary-header,
.ast-theme-transparent-header .site-header {
    background-color: transparent !important;
}

/* Only force black background on footer specifically */
.site-footer,
.ast-small-footer,
.ast-footer-overlay {
    background-color: black !important;
}

/* Make sure page wrapper fills viewport */
#page {
    min-height: 100vh !important;
    /* Remove black background from page wrapper to allow Elementor backgrounds to show */
}

/* Restore site title on PMPro pages (override plugin hide) */
body[class*="pmpro_"] .site-branding .site-title,
body[class*="pmpro_"] .site-branding .site-title a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Override PMPro hiding of entry titles (which includes site title) */
body.pmpro-levels .entry-title,
body.pmpro-checkout .entry-title,
body.pmpro-billing .entry-title,
body.pmpro-cancel .entry-title,
body.pmpro-confirmation .entry-title,
body.pmpro-invoice .entry-title,
body.pmpro-login .entry-title,
body.pmpro-account .entry-title {
    display: block !important;
}

/* Body text links - white by default, green on hover */
.entry-content a,
.site-content a,
.ast-container p a,
.widget-area a,
article a {
    color: #ffffff !important;
    text-decoration: underline;
}

.entry-content a:hover,
.site-content a:hover,
.ast-container p a:hover,
.widget-area a:hover,
article a:hover {
    color: #32A600 !important;
}

/* Keep button text white on hover - comprehensive coverage */
.elementor-button-text,
.elementor-button-text:hover,
.elementor-button:hover .elementor-button-text,
.elementor-button-content-wrapper:hover .elementor-button-text,
.elementor-button:hover .elementor-button-content-wrapper .elementor-button-text,
.elementor-button:focus .elementor-button-text,
.elementor-button:active .elementor-button-text,
.elementor-button:visited .elementor-button-text,
.elementor-element .elementor-button:hover .elementor-button-text,
.elementor-widget-button .elementor-button:hover .elementor-button-text,
.ast-button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    color: #ffffff !important;
    background-color: transparent !important;
    background: none !important;
    background-image: none !important;
}

/* Additional protection for button text visibility */
.elementor-button:hover *,
.elementor-button:focus *,
.elementor-button:active * {
    color: #ffffff !important;
}

/* Prevent any background colors from covering text */
.elementor-button:hover .elementor-button-text::before,
.elementor-button:hover .elementor-button-text::after,
.elementor-button-text:hover::before,
.elementor-button-text:hover::after {
    display: none !important;
    content: none !important;
}

/* Ensure button text container has no background */
.elementor-button-content-wrapper,
.elementor-button-content-wrapper:hover {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Make sure page wrapper fills viewport and pushes footer to bottom */
html, body {
    height: 100% !important;
}

/* Preserve background images by only removing conflicting background colors on elements WITH background images */
.elementor-section[data-settings*="background_image"]:not([style*="background-color"]),
.elementor-column[data-settings*="background_image"]:not([style*="background-color"]),
.elementor-widget[data-settings*="background_image"]:not([style*="background-color"]),
[style*="background-image"]:not([style*="background-color"]) {
    background-color: transparent !important;
}

/* Ensure overlay backgrounds with opacity are preserved - these are intentional design elements */
.elementor-element[style*="#000000C7"],
.elementor-element[style*="rgba(0,0,0,0."],
.elementor-element[style*="rgba(0, 0, 0, 0."],
[class*="elementor-element-2ebda9e"] {
    background-color: inherit !important;
}

#page {
    min-height: 100vh !important;
    /* No background on page wrapper - let content backgrounds show through */
    display: flex !important;
    flex-direction: column !important;
}

/* Allow content to grow and push footer down */
#content,
.site-content {
    flex: 1 !important;
}

/* Footer stays at bottom but not fixed/floating */
.site-footer {
    margin-top: auto !important;
}

/* Made Member Account pages font colour black */
.pmpro_card_actions a {
	color: black !important;
}