/*
Theme Name: Zen Osho Energy Child
Template: zho
Version: 2.0.0
*/

/* Import Google Fonts - ONLY Open Sans and Mulish */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;500;600;700;800&display=swap');

/* ========================================
   GLOBAL FONT OVERRIDE - Replace ALL fonts
   ======================================== */

/* Body and all text elements use Open Sans */
html,
body,
div,
span,
p,
a,
li,
td,
th,
label,
input,
textarea,
select,
button,
.woocommerce-page,
.learndash,
.tribe-events {
    font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ALL Headings use Mulish */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.site-title,
.entry-title,
.page-title,
.widget-title,
.section-title,
.main-navigation a,
.menu a,
nav a,
.header-menu a,
.footer-menu a {
    font-family: "Mulish", sans-serif !important;
    font-weight: 600 !important;
}

/* Override specific Roboto Slab references */
.course-title,
.lesson-title,
.topic-title,
.quiz-title,
.ld-course-list-item h3,
.ld-lesson-item-preview-heading,
.tribe-events-list .tribe-events-list-event-title,
.woocommerce .product_title,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
    font-family: "Mulish", sans-serif !important;
}

/* Override any remaining Avenir references */
.avenir,
.avenir-light,
.avenir-medium,
.avenir-heavy {
    font-family: "Open Sans", sans-serif !important;
}


/* ========================================
   STICKY HEADER
   ======================================== */

#mainHeader.sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: #6b509a !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

/* Add padding to body to prevent content jump when header becomes fixed */
body.header-sticky-active {
    padding-top: 80px !important;
}

/* Slider subtitle - make it bold */
h1.slider_sub_title,
.slider_sub_title {
    font-weight: 700 !important;
}

/* Owl Carousel items - white background with padding */
.owl-item {
    background: #ffffff !important;
    padding-bottom: 20px !important;
}

/* Owl navigation margin */
.listCoursesWrp .owl-nav {
    margin-top: 15px !important;
}

/* My Account page background */
body.woocommerce-account {
    background: #f1f1f1 !important;
}

/* Remove box shadow from insideBlocksec */
.insideBlocksec {
    box-shadow: none !important;
}

/* Center login form on my-account page */
body.woocommerce-account .login_customer_form {
    max-width: 800px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

body.woocommerce-account .woocommerce-form-login {
    max-width: 500px !important;
    width: 500px !important;
    background: #ffffff !important;
    padding: 30px !important;
    margin: 0 !important;
}

body.woocommerce-account .login_imgsec {
    display: none !important;
}

/* Password toggle button styling */
body.woocommerce-account .password-input {
    position: relative !important;
    display: block !important;
}

body.woocommerce-account .show-password-input {
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 5px !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #666 !important;
    font-size: 16px !important;
}

body.woocommerce-account .show-password-input::before {
    content: "👁" !important;
    font-size: 18px !important;
}

body.woocommerce-account .show-password-input.display-password::before {
    content: "👁" !important;
    opacity: 0.5 !important;
}

body.woocommerce-account .show-password-input:hover {
    color: #7964a4 !important;
}

/* Remember me checkbox styling */
body.woocommerce-account .woocommerce-form__input-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #7964a4 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-form__input-checkbox:checked {
    background: #7964a4 !important;
}

body.woocommerce-account .woocommerce-form__input-checkbox:checked::after {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

/* Footer sections - equal width for centering (Desktop only) */
@media (min-width: 768px) {
    .sectionfootsnew {
        display: flex !important;
        justify-content: space-between !important;
        align-items: stretch !important;
    }

    .sectionfootsnew .addSecFootCnt,
    .sectionfootsnew .logoFootSoci,
    .sectionfootsnew .aboutSecCmpny {
        flex: 1 !important;
        max-width: 33.333% !important;
    }

    .sectionfootsnew .logoFootSoci {
        text-align: center !important;
    }
}


/* ========================================
   NEWSLETTER SECTION - CUSTOM STYLING
   Modern, Clean Design for Zen Osho Energy
   ======================================== */

/* Newsletter Section Container - Enhanced Background */
body .newsletterSec {
    background: linear-gradient(135deg, #f9f6f3 0%, #ede9e5 100%) !important;
    padding: 90px 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

body .newsletterSec::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: radial-gradient(circle at 20% 50%, rgba(121, 100, 164, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 50%, rgba(126, 132, 70, 0.06) 0%, transparent 50%) !important;
    pointer-events: none !important;
}

/* Newsletter Wrapper - Modern Card Design */
body .wrapNewsletter {
    background: #ffffff !important;
    border-radius: 24px !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1),
        0 5px 15px rgba(121, 100, 164, 0.05) !important;
    padding: 65px 55px !important;
    max-width: 850px !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    border: 1px solid rgba(121, 100, 164, 0.12) !important;
    display: flex !important;
    flex-flow: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Newsletter Title - Bold and Eye-catching */
body .wrapNewsletter h2,
body .wrapNewsletter .newsletter_title {
    font-family: "Mulish", sans-serif !important;
    font-size: 46px !important;
    font-weight: 700 !important;
    color: #7964a4 !important;
    margin-bottom: 22px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    letter-spacing: -0.8px !important;
}

/* Newsletter Description - Clean and Readable */
body .wrapNewsletter p {
    font-family: "Open Sans", sans-serif !important;
    font-size: 17.5px !important;
    line-height: 1.75 !important;
    color: #6a6a6a !important;
    margin-bottom: 38px !important;
    text-align: center !important;
    font-weight: 400 !important;
    max-width: 700px !important;
}

/* Form Container */
body .wrapNewsletter .s-form,
body .wrapNewsletter form,
body .wrapNewsletter .wpcf7-form {
    display: block !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 auto !important;
}

/* First paragraph containing email field */
body .wrapNewsletter .wpcf7-form>p:first-of-type {
    display: block !important;
    text-align: left !important;
    margin-bottom: 20px !important;
    font-size: 15px !important;
    color: #666 !important;
    line-height: 1.5 !important;
}

/* Hide the first BR tag to keep label and input separate */
body .wrapNewsletter .wpcf7-form>p:first-of-type br:first-of-type {
    display: block !important;
    content: "" !important;
    margin: 10px 0 !important;
}

/* Input wrapper - make it inline-block */
body .wrapNewsletter .wpcf7-form-control-wrap {
    display: inline-block !important;
    width: calc(100% - 185px) !important;
    vertical-align: top !important;
}

/* Email Input Field - Modern Styling */
body .wrapNewsletter input[type="email"],
body .wrapNewsletter input[type="text"],
body .wrapNewsletter .wpcf7-form-control.wpcf7-email,
body .wrapNewsletter .wpcf7-text {
    width: 100% !important;
    height: 62px !important;
    padding: 0 28px !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 16px !important;
    color: #333 !important;
    background: #f9f9f9 !important;
    border: 2px solid #e5e5e5 !important;
    border-right: none !important;
    border-radius: 14px 0 0 14px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none !important;
    margin: 0 !important;
    display: block !important;
}

body .wrapNewsletter input[type="email"]:focus,
body .wrapNewsletter input[type="text"]:focus,
body .wrapNewsletter .wpcf7-form-control.wpcf7-email:focus,
body .wrapNewsletter .wpcf7-text:focus {
    border-color: #7964a4 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(121, 100, 164, 0.12) !important;
    transform: translateY(-1px) !important;
}

body .wrapNewsletter input[type="email"]::placeholder,
body .wrapNewsletter input[type="text"]::placeholder,
body .wrapNewsletter .wpcf7-form-control.wpcf7-email::placeholder,
body .wrapNewsletter .wpcf7-text::placeholder {
    color: #aaa !important;
    opacity: 1 !important;
}

/* Submit Button - Premium Gradient Design - INLINE with input */
body .wrapNewsletter input[type="submit"],
body .wrapNewsletter button[type="submit"],
body .wrapNewsletter .wpcf7-form-control.wpcf7-submit,
body .wrapNewsletter .wpcf7-submit {
    display: inline-block !important;
    vertical-align: top !important;
    width: 180px !important;
    height: 62px !important;
    padding: 0 25px !important;
    font-family: "Mulish", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #7964a4 0%, #6b509a 100%) !important;
    border: none !important;
    border-radius: 0 14px 14px 0 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 12px rgba(121, 100, 164, 0.25) !important;
    margin: 0 !important;
    margin-left: -2px !important;
}

body .wrapNewsletter input[type="submit"]:hover,
body .wrapNewsletter button[type="submit"]:hover,
body .wrapNewsletter .wpcf7-form-control.wpcf7-submit:hover,
body .wrapNewsletter .wpcf7-submit:hover {
    background: linear-gradient(135deg, #6b509a 0%, #5a4089 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(121, 100, 164, 0.35) !important;
}

body .wrapNewsletter input[type="submit"]:active,
body .wrapNewsletter button[type="submit"]:active,
body .wrapNewsletter .wpcf7-form-control.wpcf7-submit:active,
body .wrapNewsletter .wpcf7-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(121, 100, 164, 0.3) !important;
}

/* Checkbox Styling */
body .wrapNewsletter input[type="checkbox"] {
    margin-right: 8px !important;
    cursor: pointer !important;
}

body .wrapNewsletter .wpcf7-list-item {
    margin: 0 !important;
}

body .wrapNewsletter .wpcf7-list-item-label {
    font-family: "Open Sans", sans-serif !important;
    font-size: 14px !important;
    color: #666 !important;
    cursor: pointer !important;
}

/* Contact Form 7 Response Messages */
body .wrapNewsletter .wpcf7-response-output {
    margin: 25px 0 0 0 !important;
    padding: 16px 24px !important;
    border-radius: 10px !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 14px !important;
    text-align: center !important;
    width: 100% !important;
}

body .wrapNewsletter .wpcf7-mail-sent-ok {
    background: #d4edda !important;
    border: 1px solid #c3e6cb !important;
    color: #155724 !important;
}

body .wrapNewsletter .wpcf7-validation-errors,
body .wrapNewsletter .wpcf7-mail-sent-ng {
    background: #f8d7da !important;
    border: 1px solid #f5c6cb !important;
    color: #721c24 !important;
}

/* Validation Error Styling */
body .wrapNewsletter .wpcf7-not-valid-tip {
    color: #dc3545 !important;
    font-size: 13px !important;
    margin-top: 6px !important;
    display: block !important;
    text-align: left !important;
}

body .wrapNewsletter .wpcf7-not-valid {
    border-color: #dc3545 !important;
    background: #fff5f5 !important;
}

/* Spinner */
body .wrapNewsletter .wpcf7-spinner {
    margin-left: 12px !important;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

/* Tablet (768px and below) */
@media (max-width: 768px) {
    body .newsletterSec {
        padding: 70px 0 !important;
    }

    body .wrapNewsletter {
        padding: 45px 35px !important;
        border-radius: 18px !important;
        margin: 0 20px !important;
    }

    body .wrapNewsletter h2,
    body .wrapNewsletter .newsletter_title {
        font-size: 36px !important;
        letter-spacing: -0.5px !important;
    }

    body .wrapNewsletter p {
        font-size: 16px !important;
        margin-bottom: 32px !important;
    }

    body .wrapNewsletter input[type="email"],
    body .wrapNewsletter input[type="text"],
    body .wrapNewsletter .wpcf7-form-control.wpcf7-email,
    body .wrapNewsletter .wpcf7-text {
        height: 58px !important;
        font-size: 15px !important;
        padding: 0 22px !important;
    }

    body .wrapNewsletter input[type="submit"],
    body .wrapNewsletter button[type="submit"],
    body .wrapNewsletter .wpcf7-form-control.wpcf7-submit,
    body .wrapNewsletter .wpcf7-submit {
        height: 58px !important;
        padding: 0 35px !important;
        font-size: 14px !important;
    }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
    body .newsletterSec {
        padding: 50px 0 !important;
    }

    body .wrapNewsletter {
        padding: 35px 25px !important;
        border-radius: 16px !important;
        margin: 0 15px !important;
    }

    body .wrapNewsletter h2,
    body .wrapNewsletter .newsletter_title {
        font-size: 30px !important;
        margin-bottom: 18px !important;
        letter-spacing: -0.3px !important;
    }

    body .wrapNewsletter p {
        font-size: 15px !important;
        line-height: 1.65 !important;
        margin-bottom: 28px !important;
    }

    /* Stack form fields on mobile */
    body .wrapNewsletter .s-form,
    body .wrapNewsletter form,
    body .wrapNewsletter .wpcf7-form,
    body .wrapNewsletter .fieldcontainer,
    body .wrapNewsletter .wpcf7-form p {
        flex-direction: column !important;
    }

    body .wrapNewsletter input[type="email"],
    body .wrapNewsletter input[type="text"],
    body .wrapNewsletter .wpcf7-form-control.wpcf7-email,
    body .wrapNewsletter .wpcf7-text {
        width: 100% !important;
        border-radius: 14px !important;
        border: 2px solid #e5e5e5 !important;
        margin-bottom: 12px !important;
        height: 54px !important;
    }

    body .wrapNewsletter input[type="submit"],
    body .wrapNewsletter button[type="submit"],
    body .wrapNewsletter .wpcf7-form-control.wpcf7-submit,
    body .wrapNewsletter .wpcf7-submit {
        width: 100% !important;
        border-radius: 14px !important;
        height: 54px !important;
        padding: 0 25px !important;
    }
}