/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

* {
    font-family: 'ProximaNova', sans-serif;
}

#course-access-bar .elementor-widget-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.course-icon-box .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}
.course-icon-box .elementor-icon-box-wrapper .elementor-icon-box-content {
    flex-grow: 0;
} 


.buy-course-button-wrapper .elementor-button-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
a.added_to_cart.wc-forward {
    padding: 16px 24px;
    border: 1px solid black;
    border-radius: 100px;
}

.buy-course-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .buy-course-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    .buy-course-products-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}


/* WooCommerce Errors */
:is(.woocommerce-info,.woocommerce-error,.woocommerce-message) {
    border-top-color: black;
    border: 1px solid black !important;
    font-weight: bold;
    color: black
}
:is(.woocommerce-info,.woocommerce-error,.woocommerce-message) li {
    font-weight: bold;
    color: black
}

a.button.wc-backward {
    background-color: black;
    color: white;
    border-radius: 100px;
    padding: 16px 24px;
    border: 1px solid black;
    transition: .3s ease-in-out;
}
a.button.wc-backward:hover {
    background-color: white;
    color: black;
}

a.added_to_cart.wc-forward, a.button.wc-forward {
    background-color: white;
    color: black !important;
    border-radius: 100px;
    padding: 16px 24px;
    border: 1px solid black;
    transition: .3s ease-in-out;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button {
    background-color: black;
    color: white !important;
}

:is(.woocommerce-info,.woocommerce-error, .woocommerce-message)::before {
    color: black;
}

/* Blocks */
.elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1, .elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review, .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box, .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-section, .elementor-widget-woocommerce-checkout-page .woocommerce .shipping_address, .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields, .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment {
    border-radius: 0px;
}

/* Select */
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: black;
}

/* Account */
:is(body.woocommerce-account, body.woocommerce-checkout, .page-template-default) main .page-header {
    background-color: black;
    margin-bottom: 32px;
}
:is(body.woocommerce-account, body.woocommerce-checkout, .page-template-default) main .page-header h1 {
    color: white;
    padding: 64px 16px;
    text-align: center;
    margin: 0;
    font-weight: bold;
}
body.woocommerce-account .page-content {
    margin: 64px 0;
}


body.woocommerce-checkout .elementor-widget-woocommerce-purchase-summary .woocommerce a {
    font-weight: bold;
    color: black;
}

.woocommerce .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: black !important;
    color: white !important;
    box-shadow: unset !important;
}
.woocommerce .woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: black !important;
    color: white !important;
    box-shadow: unset !important;
}
.woocommerce .login .button, .woocommerce-form-register__submit {
    background-color: black !important;
    color: white !important;
}
form.woocommerce-form-login a, form.woocommerce-form-register a {
    color: black !important;
    text-decoration: underline;
}


/* Learndash Lessons */
body.single-sfwd-lessons .ld-breadcrumbs-segments a {
    color: black;
    font-weight: bold;  
}
body.single-sfwd-lessons .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
    background-color: black;
    color: white;
}
body.single-sfwd-lessons .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger {
    background: black;
}
body.single-sfwd-lessons .access-span {
    display: block;
    font-weight: 500;
    font-style: italic;
}
body.single-sfwd-lessons .ld-content-action .ld-button {
    background-color: white;
    border: 1px solid black;
    border-bottom: 1px solid black !important;
    color: black;
}
body.single-sfwd-lessons .ld-content-action .ld-button:hover {
    background-color: black;
    color: white;
}
body.single-sfwd-lessons .ld-content-action .ld-course-step-back {
    background-color: #f1f1f1;
    color: black;
    margin-top: 12px !important;
    border-radius: 30px;
    padding: 6px 10px;
}

/* Login / Register */
.learndash-wrapper .ld-login-modal .ld-login-modal-register {
    background-color: black !important;
}
.learndash-wrapper .ld-login-modal .ld-login-modal-register:hover {
    background-color: white !important;
    color: black !important;
}
.learndash-wrapper .ld-login-modal input[type=submit] {
    background-color: black !important;
    color: white !important;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper) .ld-button.ld-button-reverse {
    color: black !important;
}
.learndash-wrapper .ld-login-modal .ld-login-modal-form .login-username:before, .learndash-wrapper .ld-login-modal .ld-login-modal-form .login-password:before {
    top: 2em !important;
}
.learndash-wrapper .ld-login-modal .ld-login-modal-login .ld-modal-heading {
    color: black !important;
}

.elementor-widget-ld-login .learndash-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Offer */
@media (min-width: 1280px) {
    #offer .elementor-widget-wrap.elementor-element-populated {

    }
}


/* Password Protected */
/* Scoped to pages with .post-password-required class only */
.post-password-required .page-content {
    max-width: 600px;
    margin: 0 auto;
    padding: 2rem 1rem;
  }
  
  /* Form styling */
  .post-password-required .post-password-form {
    background: #fff;
    border: 1px solid #000;
    padding: 2rem;
    border-radius: 0;
  }
  
  /* Paragraphs */
  .post-password-required .post-password-form p {
    margin: 0 0 1.5rem 0;
    color: #000;
    line-height: 1.6;
    font-size: 1rem;
  }
  
  .post-password-required .post-password-form p:last-of-type {
    margin-bottom: 0;
  }
  
  /* Label styling */
  .post-password-required .post-password-form label {
    display: block;
    margin-bottom: 0.5rem;
    color: #000;
    font-weight: 500;
    font-size: 0.95rem;
  }
  
  /* Input field */
  .post-password-required .post-password-form input[type="password"] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    font-size: 1rem;
    margin-top: 0.5rem;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
  }
  
  .post-password-required .post-password-form input[type="password"]:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  }
  
  /* Submit button */
  .post-password-required .post-password-form input[type="submit"] {
    width: 100%;
    padding: 0.75rem 1.5rem;
    margin-top: 1rem;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  
  .post-password-required .post-password-form input[type="submit"]:hover {
    background: #333;
    border-color: #333;
  }
  
  .post-password-required .post-password-form input[type="submit"]:active {
    background: #000;
  }
  
  .post-password-required .post-password-form input[type="submit"]:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
  }
  
  /* Responsive adjustments */
  @media (min-width: 640px) {
    .post-password-required .page-content {
      padding: 3rem 2rem;
    }
  
    .post-password-required .post-password-form {
      padding: 2.5rem;
    }
  
    .post-password-required .post-password-form p:last-of-type {
      display: flex;
      align-items: flex-end;
      gap: 1rem;
    }
  
    .post-password-required .post-password-form label {
      flex: 1;
      margin-bottom: 0;
    }
  
    .post-password-required .post-password-form input[type="password"] {
      width: auto;
      min-width: 200px;
      margin-top: 0;
    }
  
    .post-password-required .post-password-form input[type="submit"] {
      width: auto;
      margin-top: 0;
      padding: 0.75rem 2rem;
    }
  }
  
  @media (min-width: 768px) {
    .post-password-required .page-content {
      padding: 4rem 2rem;
    }
  
    .post-password-required .post-password-form {
      padding: 3rem;
    }
  }
  
  /* Dark mode support (optional) */
  @media (prefers-color-scheme: dark) {
    .post-password-required .post-password-form {
      background: #000;
      border-color: #fff;
    }
  
    .post-password-required .post-password-form p,
    .post-password-required .post-password-form label {
      color: #fff;
    }
  
    .post-password-required .post-password-form input[type="password"] {
      background: #000;
      color: #fff;
      border-color: #fff;
    }
  
    .post-password-required .post-password-form input[type="password"]:focus {
      border-color: #fff;
      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
    }
  
    .post-password-required .post-password-form input[type="submit"] {
      background: #fff;
      color: #000;
      border-color: #fff;
    }
  
    .post-password-required .post-password-form input[type="submit"]:hover {
      background: #ccc;
      border-color: #ccc;
    }
  
    .post-password-required .post-password-form input[type="submit"]:active {
      background: #fff;
    }
  }
  