/**
 * Checkout Page Header Customizations
 * - Transparent header background
 * - No fixed/sticky positioning
 * - Centered logo
 */

/* Force transparent header on checkout pages with maximum specificity */
body.woocommerce-checkout.home-new-design-v2 .for-instructor,
body.woocommerce-checkout.home-new-design-v2 header.for-instructor,
body.woocommerce-checkout.home-new-design-v2 header.header-page.for-instructor,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.for-instructor,
html body.woocommerce-checkout.home-new-design-v2 .for-instructor {
    background-color: transparent !important;
    background: transparent !important;
}

/* Ensure header stays transparent when scrolling */
body.woocommerce-checkout.home-new-design-v2 header.header-page.fixed,
body.woocommerce-checkout.home-new-design-v2 header.header-page.header-fix-on-top,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.fixed,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.header-fix-on-top,
body.woocommerce-checkout.home-new-design-v2 header.header-page.go-down,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.go-down {
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Remove background from all header wrappers */
body.woocommerce-checkout.home-new-design-v2 .nav-header-wrap,
body.woocommerce-checkout.home-new-design-v2 .container-fluid.has-border,
body.woocommerce-checkout.home-new-design-v2 .wrap-top-menu {
    background-color: transparent !important;
    background: transparent !important;
}

/* Additional specificity to override any inline styles or !important rules */
body.woocommerce-checkout.home-new-design-v2 header[class*="for-instructor"] {
    background-color: transparent !important;
    background: transparent !important;
}

/* Make header position relative/static so it sits naturally at the top */
body.woocommerce-checkout.home-new-design-v2 header.header-page,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor {
    position: relative !important;
}

/* Prevent header from becoming fixed/sticky on scroll */
body.woocommerce-checkout.home-new-design-v2 header.header-page.fixed,
body.woocommerce-checkout.home-new-design-v2 header.header-page.header-fix-on-top,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.fixed,
body.woocommerce-checkout.home-new-design-v2 header.header-instructor.header-fix-on-top,
body.woocommerce-checkout.home-new-design-v2 header.fixed,
body.woocommerce-checkout.home-new-design-v2 header.header-fixeded {
    position: relative !important;
    top: 0 !important;
}

/* Center the logo on checkout page */
body.woocommerce-checkout.home-new-design-v2 .nav-header-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

body.woocommerce-checkout.home-new-design-v2 .logo {
    margin: 0 auto !important;
    text-align: center !important;
}

/* Hide navigation elements to keep only centered logo */
body.woocommerce-checkout.home-new-design-v2 .nav-header {
    display: none !important;
}

/* Adjust container to center content */
body.woocommerce-checkout.home-new-design-v2 header .container-fluid.nav-header-wrap {
    justify-content: center !important;
}

/* Remove any transforms that might affect positioning */
body.woocommerce-checkout.home-new-design-v2 header {
    transform: none !important;
    transition: none !important;
}

/* Style for rate limit notices */
.rate-limit-notice {
    color: #666;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* Hide payment request buttons if they're causing errors */
.woocommerce-checkout .payment_method_stripe #payment .payment_box .wc-stripe-payment-request-wrapper {
    display: none !important;
}

/* Ensure checkout form doesn't jump around when errors are suppressed */
.woocommerce-checkout form.checkout {
    min-height: 500px;
}

/* Style for any error messages that do need to show */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 4px;
}

/* Remove space at the top of checkout page */
body.woocommerce-checkout {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove any top margin/padding from the main wrapper */
body.woocommerce-checkout #wrap-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Ensure checkout detail section starts at the top */
body.woocommerce-checkout .ven-checkout-detail {
    margin-top: 0 !important;
}

@media (min-width: 1200px) {
    body.woocommerce-checkout .ven-checkout-detail {
        margin-top: 0 !important;
    }
}

/* Remove admin bar space if present */
body.woocommerce-checkout.admin-bar {
    margin-top: 0 !important;
}

/* Reset any top spacing on html element */
html body.woocommerce-checkout {
    margin-top: 0 !important;
}

/* If there's a notification bar or any element before header, hide it on checkout */
body.woocommerce-checkout > *:first-child:not(header):not(#wrap-page) {
    display: none !important;
}

/* Ensure header has no top margin */
body.woocommerce-checkout header.header-page,
body.woocommerce-checkout header.header-instructor {
    margin-top: 0 !important;
}

/* Remove WordPress admin bar spacing */
body.woocommerce-checkout {
    --offset-top: 0px !important;
}

/* Remove top padding from checkout detail section */
body.woocommerce-checkout .ven-checkout-detail {
    padding-top: 0 !important;
}

body.woocommerce-checkout .ven-checkout-detail:first-of-type {
    padding-top: 0 !important;
}

/* Remove top padding from checkout form */
body.woocommerce-checkout .ven-checkout-detail form.checkout {
    padding-top: 0 !important;
}

/* Fix for Select2 dropdown on checkout page */
body.woocommerce-checkout .select2-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 99999 !important;
}

body.woocommerce-checkout .select2-container--open .select2-dropdown {
    display: block !important;
}

/* Ensure dropdown doesn't get hidden */
body.woocommerce-checkout .select2-container {
    z-index: 999 !important;
}

body.woocommerce-checkout .select2-container--open {
    z-index: 99999 !important;
}

/* Fix dropdown positioning */
body.woocommerce-checkout .select2-dropdown.select2-dropdown--below {
    margin-top: 0 !important;
}

/* Prevent dropdown from being cut off */
body.woocommerce-checkout .woocommerce-input-wrapper {
    overflow: visible !important;
}

body.woocommerce-checkout .ven-form-group {
    overflow: visible !important;
}

/* Additional fixes for checkout location dropdown */
body.woocommerce-checkout .checkout-location-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
}

body.woocommerce-checkout .checkout-location-select + .select2-container {
    z-index: 9999 !important;
}

/* Ensure dropdown options are clickable */
body.woocommerce-checkout .select2-results__option {
    cursor: pointer !important;
    pointer-events: auto !important;
}

body.woocommerce-checkout .select2-results {
    max-height: 300px !important;
    overflow-y: auto !important;
}

/* Fix for regular select if Select2 is disabled */
body.woocommerce-checkout select#billing_preferred_location.fixed-dropdown {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
}

/* Adjust review box spacing */
.ven-checkout-detail .ven-review-box {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.ven-checkout-detail .ven-review-box .rate-reviews {
    margin-bottom: 20px !important;
}

.ven-checkout-detail .ven-review-box .next,
.ven-checkout-detail .ven-review-box .prev {
    margin-bottom: 0 !important;
}

/* Override any global body padding/margin */
html body.woocommerce-checkout.home-new-design-v2 {
    margin: 0 !important;
    padding: 0 !important;
}

/* Adjust checkout section spacing */
.ven-checkout-section:not(:last-child) {
    margin-bottom: 20px !important;
}

/* Remove bottom border from Select2 dropdowns */
.select2-border-container .select2-selection__rendered {
    border-bottom: none !important;
}

/* Style payment cancellation notice */
body.woocommerce-checkout .woocommerce-notices-wrapper {
    max-width: 800px;
    margin: 0 auto 30px;
    text-align: center;
}

body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    border-left: 4px solid #fdcb6e;
    color: #856404;
    padding: 15px 20px;
    margin-bottom: 0;
    position: relative;
    list-style: none;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info:before,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info:before {
    content: "\26A0";
    font-family: sans-serif;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    color: #fdcb6e;
    font-size: 20px;
}

/* Remove icon for centered layout */
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info {
    padding-left: 20px;
}

body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info:before {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body.woocommerce-checkout .woocommerce-notices-wrapper {
        max-width: 100%;
        padding: 0 15px;
    }
    
    body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info {
        font-size: 14px;
    }
}