/**
 * One Futbol Academy - WooCommerce Styles
 * Clean checkout with dynamic pricing
 * v4.10.2
 */

/* ===================================
   BASE VARIABLES
   =================================== */
:root {
    --of-bg: #0a0a0a;
    --of-card-bg: rgba(255,255,255,0.03);
    --of-border: rgba(255,255,255,0.08);
    --of-accent: #39FF14;
    --of-text: #fff;
    --of-text-muted: rgba(255,255,255,0.6);
    --of-error: #ef4444;
}

/* ===================================
   HIDE UNWANTED ELEMENTS
   =================================== */
/* Hide Return to Cart link - comprehensive selectors */
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button,
.wc-block-checkout a[href*="cart"],
.woocommerce-checkout .woocommerce-cart-link,
.woocommerce-checkout a.cart-link,
a.wc-block-components-checkout-return-to-cart-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
.wc-block-components-checkout-return-to-cart-button,
a[class*="return-to-cart"],
button[class*="return-to-cart"],
.wc-block-checkout__actions a:not(.wc-block-components-checkout-place-order-button),
.wc-block-checkout__actions-row a[href*="cart"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ===================================
   CHECKOUT HEADER WITH LOGO
   =================================== */
.oft-checkout-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0 30px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--of-border);
}

.oft-checkout-logo img {
    max-height: 50px;
    width: auto;
}

.oft-checkout-logo-text {
    color: var(--of-text);
    font-size: 24px;
    font-weight: 700;
    text-decoration: none;
}

.oft-checkout-logo-text:hover {
    color: var(--of-accent);
}

.oft-back-to-dashboard {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--of-text-muted);
    text-decoration: none;
    font-size: 14px;
    padding: 8px 16px;
    border: 1px solid var(--of-border);
    border-radius: 8px;
    transition: all 0.2s ease;
}

.oft-back-to-dashboard:hover {
    color: var(--of-accent);
    border-color: var(--of-accent);
}

/* ===================================
   ERROR/VALIDATION FIELD STYLES
   =================================== */
/* WooCommerce Blocks - invalid fields */
.wc-block-checkout .wc-block-components-text-input.has-error input,
.wc-block-checkout .wc-block-components-text-input.is-invalid input,
.wc-block-checkout .wc-block-components-combobox.has-error input,
.wc-block-checkout .has-error .wc-block-components-text-input input,
.wc-block-checkout [aria-invalid="true"] {
    border-color: var(--of-error) !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
}

/* Error messages */
.wc-block-checkout .wc-block-components-validation-error,
.wc-block-checkout .wc-block-components-text-input__error,
.woocommerce-checkout .woocommerce-error li,
.woocommerce-checkout .form-row.woocommerce-invalid .error-message {
    color: var(--of-error) !important;
    font-size: 13px !important;
    margin-top: 6px !important;
}

/* Classic checkout - invalid fields */
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea,
.woocommerce-checkout .form-row.woocommerce-invalid-required-field input,
.woocommerce-checkout .form-row.woocommerce-invalid-email input {
    border-color: var(--of-error) !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
}

/* Required field asterisk in red */
.woocommerce-checkout .form-row .required,
.wc-block-checkout .wc-block-components-text-input label .required {
    color: var(--of-error) !important;
}

/* Error notice banner at top */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.wc-block-checkout .wc-block-components-notice-banner.is-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid var(--of-error) !important;
    border-left: 4px solid var(--of-error) !important;
    border-radius: 8px !important;
    color: #fff !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
}

.woocommerce-checkout .woocommerce-error::before,
.wc-block-checkout .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content::before {
    color: var(--of-error) !important;
}

/* Payment nonce error specific styling */
.wc-block-checkout .wc-block-components-notice-banner.is-error {
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

/* ===================================
   CHECKOUT PAGE CONTAINER
   =================================== */
.woocommerce-checkout,
.wp-block-woocommerce-checkout,
body.woocommerce-checkout {
    background: var(--of-bg) !important;
    min-height: 100vh;
}

/* Wider container for two-column layout */
.woocommerce-checkout .woocommerce,
.wp-block-woocommerce-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 30px 20px !important;
    box-sizing: border-box !important;
}

/* ===================================
   HIDE UNNECESSARY FIELDS
   =================================== */
/* Classic checkout - hide address fields */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #ship-to-different-address-checkbox,
.woocommerce-checkout .shipping_address,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_state_field {
    display: none !important;
}

/* Blocks checkout - hide address/shipping fields */
.wc-block-checkout [class*="shipping"],
.wc-block-checkout .wc-block-checkout__shipping-fields,
.wc-block-checkout .wc-block-checkout__shipping-option,
.wc-block-checkout .wc-block-checkout__add-note,
.wc-block-checkout .wc-block-components-address-form__company {
    display: none !important;
}

/* ===================================
   CHECKOUT LAYOUT
   =================================== */
/* Force two column layout on desktop */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout,
.wc-block-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    gap: 40px !important;
    grid-template-columns: 1fr !important;
}

@media (min-width: 782px) {
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout,
    .wc-block-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr 380px !important;
    }
}

/* Main content column */
.wp-block-woocommerce-checkout .wc-block-components-main,
.wc-block-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-main {
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
}

/* Sidebar / Order summary column */
.wp-block-woocommerce-checkout .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    background: var(--of-card-bg);
    border: 1px solid var(--of-border);
    border-radius: 16px;
    padding: 24px;
    height: fit-content;
    position: sticky;
    top: 20px;
}

/* ===================================
   FORM FIELDS
   =================================== */
/* Section headers */
.wc-block-checkout .wc-block-components-checkout-step__heading,
.wc-block-checkout h2,
.woocommerce-checkout h3 {
    color: var(--of-text) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--of-border);
}

/* Input fields - Blocks */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-textarea textarea {
    background: var(--of-card-bg) !important;
    border: 1px solid var(--of-border) !important;
    border-radius: 10px !important;
    color: var(--of-text) !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    height: auto !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-combobox input:focus {
    border-color: var(--of-accent) !important;
    box-shadow: 0 0 0 3px rgba(57,255,20,0.15) !important;
    outline: none !important;
}

/* Labels */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox label {
    color: var(--of-text-muted) !important;
    font-size: 13px !important;
}

/* Classic checkout inputs */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    background: var(--of-card-bg) !important;
    border: 1px solid var(--of-border) !important;
    border-radius: 10px !important;
    color: var(--of-text) !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    width: 100% !important;
}

.woocommerce-checkout .form-row label {
    color: var(--of-text) !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}

/* ===================================
   ORDER SUMMARY SIDEBAR
   =================================== */
.wc-block-checkout .wc-block-components-sidebar {
    background: var(--of-card-bg);
    border: 1px solid var(--of-border);
    border-radius: 16px;
    padding: 24px;
    height: fit-content;
    position: sticky;
    top: 30px;
}

/* Order summary header */
.wc-block-checkout .wc-block-components-order-summary__button,
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
    color: var(--of-text) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin-bottom: 20px;
}

/* Product item in summary */
.wc-block-checkout .wc-block-components-order-summary-item {
    padding: 16px 0;
    border-bottom: 1px solid var(--of-border);
}

.wc-block-checkout .wc-block-components-order-summary-item__image {
    display: none; /* Hide placeholder image */
}

.wc-block-checkout .wc-block-components-order-summary-item__description {
    color: var(--of-text);
    padding-left: 0;
}

.wc-block-checkout .wc-block-components-product-name {
    color: var(--of-text) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}

.wc-block-checkout .wc-block-components-product-price {
    color: var(--of-accent) !important;
    font-weight: 600 !important;
}

/* Custom product details */
.wc-block-checkout .wc-block-components-product-details {
    margin-top: 8px;
}

.wc-block-checkout .wc-block-components-product-details__name {
    color: var(--of-text-muted) !important;
    font-size: 12px !important;
}

.wc-block-checkout .wc-block-components-product-details__value {
    color: var(--of-text) !important;
    font-size: 12px !important;
}

/* Totals */
.wc-block-checkout .wc-block-components-totals-item {
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
}

.wc-block-checkout .wc-block-components-totals-item__label {
    color: var(--of-text-muted) !important;
}

.wc-block-checkout .wc-block-components-totals-item__value {
    color: var(--of-text) !important;
}

/* Total row */
.wc-block-checkout .wc-block-components-totals-footer-item {
    border-top: 1px solid var(--of-border);
    padding-top: 16px;
    margin-top: 8px;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--of-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--of-accent) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

/* ===================================
   EXPRESS CHECKOUT
   =================================== */
.wc-block-checkout .wc-block-components-express-payment {
    background: transparent;
    border: 1px solid var(--of-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}

.wc-block-checkout .wc-block-components-express-payment__title {
    color: var(--of-text-muted) !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.wc-block-checkout .wc-block-components-express-payment-continue-rule {
    color: var(--of-text-muted) !important;
    margin: 20px 0;
}

.wc-block-checkout .wc-block-components-express-payment-continue-rule::before,
.wc-block-checkout .wc-block-components-express-payment-continue-rule::after {
    background: var(--of-border) !important;
}

/* ===================================
   PAYMENT METHODS
   =================================== */
.wc-block-checkout .wc-block-components-radio-control__option {
    background: var(--of-card-bg);
    border: 1px solid var(--of-border);
    border-radius: 12px;
    margin-bottom: 12px;
    padding: 16px 20px;
}

.wc-block-checkout .wc-block-components-radio-control__option--checked {
    border-color: var(--of-accent);
}

.wc-block-checkout .wc-block-components-radio-control__label {
    color: var(--of-text) !important;
    font-weight: 500 !important;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content {
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
    padding: 16px;
    margin-top: 12px;
    color: var(--of-text-muted);
}

/* ===================================
   PLACE ORDER BUTTON
   =================================== */
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-button--checkout,
.woocommerce-checkout #place_order {
    background: var(--of-accent) !important;
    color: #000 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 18px 32px !important;
    border-radius: 12px !important;
    border: none !important;
    width: 100% !important;
    margin-top: 24px !important;
    cursor: pointer;
    transition: all 0.2s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout #place_order:hover {
    background: #32e012 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(57,255,20,0.3);
}

/* ===================================
   BACK TO DASHBOARD LINK
   =================================== */
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button,
.woocommerce-checkout a.wc-backward {
    color: var(--of-text-muted) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s;
}

.wc-block-checkout .wc-block-components-checkout-return-to-cart-button:hover,
.woocommerce-checkout a.wc-backward:hover {
    color: var(--of-accent) !important;
}

/* ===================================
   COUPONS
   =================================== */
.wc-block-checkout .wc-block-components-totals-coupon {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--of-border);
}

.wc-block-checkout .wc-block-components-totals-coupon__button {
    color: var(--of-text-muted) !important;
    text-decoration: none !important;
}

.wc-block-checkout .wc-block-components-totals-coupon__button:hover {
    color: var(--of-accent) !important;
}

/* ===================================
   ERROR/NOTICE MESSAGES
   =================================== */
.wc-block-checkout .wc-block-components-notice-banner,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    background: var(--of-card-bg) !important;
    border: 1px solid var(--of-border) !important;
    border-radius: 12px !important;
    color: var(--of-text) !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
}

.wc-block-checkout .wc-block-components-notice-banner.is-error,
.woocommerce-checkout .woocommerce-error {
    border-color: #ef4444 !important;
    background: rgba(239,68,68,0.1) !important;
}

.wc-block-checkout .wc-block-components-notice-banner.is-success {
    border-color: var(--of-accent) !important;
}

/* ===================================
   CART PAGE (REDIRECT TO DASHBOARD)
   =================================== */
.woocommerce-cart {
    background: var(--of-bg);
}

.woocommerce-cart .woocommerce {
    max-width: 600px;
    margin: 60px auto;
    padding: 20px;
    text-align: center;
}

.woocommerce-cart .cart-empty {
    color: var(--of-text);
    font-size: 18px;
}

.woocommerce-cart .return-to-shop .button {
    background: var(--of-accent) !important;
    color: #000 !important;
}

/* ===================================
   MOBILE RESPONSIVE
   =================================== */
@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce,
    .wp-block-woocommerce-checkout {
        padding: 20px 16px;
    }
    
    .wc-block-checkout .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr;
    }
    
    .wc-block-checkout .wc-block-components-sidebar {
        order: 1; /* Show order summary first on mobile */
        position: relative;
        top: 0;
    }
    
    .wc-block-checkout .wc-block-components-main {
        order: 2;
    }
    
    .wc-block-checkout .wc-block-components-sidebar {
        padding: 16px;
        border-radius: 12px;
    }
    
    .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        font-size: 20px !important;
    }
    
    .wc-block-checkout .wc-block-components-checkout-place-order-button,
    .woocommerce-checkout #place_order {
        font-size: 16px !important;
        padding: 16px 24px !important;
    }
    
    /* Stack form fields on mobile */
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
}

/* ===================================
   THANK YOU PAGE
   =================================== */
.woocommerce-order-received .woocommerce {
    max-width: 600px;
    margin: 0 auto;
    padding: 40px 20px;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
    color: var(--of-text);
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 30px;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
    background: var(--of-card-bg);
    border: 1px solid var(--of-border);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.woocommerce-order-received h2 {
    color: var(--of-text);
    font-size: 18px;
    margin-bottom: 16px;
}

.woocommerce-order-received .shop_table {
    border: none !important;
}

.woocommerce-order-received .shop_table th,
.woocommerce-order-received .shop_table td {
    color: var(--of-text);
    border-color: var(--of-border) !important;
    padding: 12px 0;
}

/* ===================================
   CRITICAL LAYOUT OVERRIDES
   Force two-column layout on desktop
   =================================== */

/* Remove any max-width restrictions that might cause narrow layout */
.wc-block-checkout,
.wp-block-woocommerce-checkout,
.wc-block-checkout__main,
.wc-block-components-checkout-step {
    max-width: none !important;
}

/* Ensure the checkout fills available width */
.entry-content .wp-block-woocommerce-checkout,
.page-content .wp-block-woocommerce-checkout,
article .wp-block-woocommerce-checkout,
main .wp-block-woocommerce-checkout {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Fix the sidebar layout wrapper - this is the key container */
.wc-block-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

@media screen and (min-width: 782px) {
    .wc-block-checkout .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr 400px !important;
        gap: 48px !important;
    }
    
    /* Ensure columns don't have width restrictions */
    .wc-block-checkout .wc-block-components-main,
    .wc-block-checkout .wc-block-components-sidebar {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Order summary panel styling */
.wc-block-checkout .wc-block-components-order-summary {
    background: transparent !important;
}

.wc-block-checkout .wc-block-components-panel {
    border: none !important;
    margin: 0 !important;
}

.wc-block-checkout .wc-block-components-panel__button {
    padding: 0 !important;
}

/* Hide any extra wrappers that might restrict width */
.wc-block-checkout__form,
.wc-block-checkout__sidebar {
    width: 100% !important;
    max-width: none !important;
}

/* Input field fixes */
.wc-block-checkout .wc-block-components-text-input {
    margin-bottom: 16px !important;
}

/* Express checkout spacing */
.wc-block-checkout .wc-block-components-express-payment {
    margin-bottom: 32px !important;
}

/* Checkout step spacing */
.wc-block-checkout .wc-block-components-checkout-step {
    margin-bottom: 32px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* Hide billing address section header if empty */
.wc-block-checkout .wc-block-checkout__billing-fields:empty {
    display: none !important;
}

/* ===================================
   COMPREHENSIVE TEXT COLOR OVERRIDES
   Ensure all text is visible on dark background
   =================================== */

/* All text elements in checkout */
.wc-block-checkout,
.wc-block-checkout *,
.woocommerce-checkout,
.woocommerce-checkout *:not(input):not(textarea):not(select) {
    color: var(--of-text, #fff) !important;
}

/* Specific element overrides for WooCommerce blocks */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-checkout-step__description,
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-checkout-step__heading,
.wc-block-checkout .wc-block-components-address-form label,
.wc-block-checkout .wc-block-components-form label,
.wc-block-checkout label,
.wc-block-checkout p,
.wc-block-checkout span:not(.wc-block-components-chip__text),
.wc-block-checkout h1, .wc-block-checkout h2, .wc-block-checkout h3, 
.wc-block-checkout h4, .wc-block-checkout h5, .wc-block-checkout h6 {
    color: var(--of-text, #fff) !important;
}

/* Muted/secondary text */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox label,
.wc-block-checkout .wc-block-components-checkout-step__description,
.wc-block-checkout small,
.wc-block-checkout .description {
    color: var(--of-text-muted, rgba(255,255,255,0.7)) !important;
}

/* Billing/Shipping address display */
.wc-block-checkout .wc-block-components-address-card,
.wc-block-checkout .wc-block-components-address-card__address,
.wc-block-checkout .wc-block-components-address-card address,
.wc-block-checkout .wc-block-components-address-card span,
.wc-block-checkout .wc-block-components-formatted-money-amount {
    color: var(--of-text, #fff) !important;
}

/* Edit link */
.wc-block-checkout .wc-block-components-address-card__edit,
.wc-block-checkout .wc-block-components-address-card a,
.wc-block-checkout a {
    color: var(--of-accent, #39FF14) !important;
}

/* Payment method titles and descriptions */
.wc-block-checkout .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__description,
.wc-block-checkout .wc-block-components-payment-method-label,
.wc-block-checkout .wc-block-components-payment-method-icons,
.wc-block-checkout .wc-block-components-radio-control span,
.wc-block-checkout .wc-block-components-radio-control label {
    color: var(--of-text, #fff) !important;
}

/* Payment method selected state */
.wc-block-checkout .wc-block-components-radio-control-accordion-option--checked {
    background: rgba(255,255,255,0.05) !important;
    border-color: var(--of-accent, #39FF14) !important;
}

/* Credit card input - WHITE background, BLACK text */
.wc-block-checkout .wc-block-components-payment-method-icons img,
.wc-block-checkout .sq-card-wrapper,
.wc-block-checkout .sq-card-wrapper *,
.wc-block-checkout #sq-card,
.wc-block-checkout #sq-card *,
.wc-block-checkout .wc-block-gateway-container input,
.wc-block-checkout [class*="card-number"],
.wc-block-checkout [class*="card-expiry"],
.wc-block-checkout [class*="card-cvc"],
.woocommerce-checkout .sq-card-wrapper input,
.woocommerce-checkout .sq-card-wrapper label,
.woocommerce-checkout #payment .payment_box {
    /* Let the payment provider handle their own styling - don't override */
}

/* Square payment form specific - embedded iframes handle their own colors */
.wc-block-checkout .sq-card-component,
.wc-block-checkout .sq-card-wrapper {
    background: #fff !important;
    border-radius: 8px;
}

/* Checkbox labels */
.wc-block-checkout .wc-block-components-checkbox label,
.wc-block-checkout .wc-block-components-checkbox span,
.wc-block-checkout .wc-block-checkout__terms label {
    color: var(--of-text, #fff) !important;
}

/* Order summary text */
.wc-block-checkout .wc-block-components-order-summary span,
.wc-block-checkout .wc-block-components-totals-item span,
.wc-block-checkout .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item span,
.wc-block-checkout .wc-block-components-totals-footer-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item__value {
    color: var(--of-text, #fff) !important;
}

/* Total amount - make it stand out */
.wc-block-checkout .wc-block-components-totals-footer-item__value {
    color: var(--of-accent, #39FF14) !important;
    font-weight: 700 !important;
}

/* Error states - keep red */
.wc-block-checkout .wc-block-components-validation-error,
.wc-block-checkout .wc-block-components-notice-banner.is-error,
.wc-block-checkout .has-error label,
.wc-block-checkout [aria-invalid="true"] + label,
.woocommerce-checkout .woocommerce-error {
    color: var(--of-error, #ef4444) !important;
}

/* Invalid field borders */
.wc-block-checkout .wc-block-components-text-input.has-error input,
.wc-block-checkout .wc-block-components-text-input.is-invalid input,
.wc-block-checkout [aria-invalid="true"],
.woocommerce-checkout .form-row.woocommerce-invalid input {
    border-color: var(--of-error, #ef4444) !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
}

/* Place order button */
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order {
    background: var(--of-accent, #39FF14) !important;
    color: #000 !important;
    font-weight: 700 !important;
    padding: 16px 32px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout #place_order:hover {
    filter: brightness(1.1) !important;
}

/* Coupon code link - if visible */
.wc-block-checkout .wc-block-components-panel__button-text {
    color: var(--of-accent, #39FF14) !important;
}

/* Address card styling */
.wc-block-checkout .wc-block-components-address-card {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--of-border, rgba(255,255,255,0.1)) !important;
    border-radius: 10px !important;
    padding: 16px !important;
}

/* Fix for Stripe/Square card inputs - they use iframes so we can't style inside them,
   but we can style the container */
.wc-block-checkout .wc-block-components-payment-method-content {
    padding: 16px 0 !important;
}


/* ===================================
   INPUT / SELECT BACKGROUNDS — FORCE DARK (v4.11.61)
   WooCommerce blocks injects its own light-mode styles; override all of them
   =================================== */

/* All text inputs, selects, textareas */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="password"],
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
    background-color: rgba(255,255,255,0.07) !important;
    background: rgba(255,255,255,0.07) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 8px !important;
    outline: none !important;
    box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus {
    background-color: rgba(255,255,255,0.1) !important;
    border-color: #39FF14 !important;
    box-shadow: 0 0 0 2px rgba(57,255,20,0.15) !important;
}

/* Dropdown arrows for selects */
.wc-block-components-select select,
body.woocommerce-checkout select {
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

/* Placeholder text */
.wc-block-checkout input::placeholder,
body.woocommerce-checkout input::placeholder { color: rgba(255,255,255,0.35) !important; }

/* ===================================
   ORDER SUMMARY SIDEBAR — FORCE DARK
   =================================== */
.wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
    background-color: rgba(255,255,255,0.04) !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    color: #fff !important;
}

/* Order summary expand/collapse button and all text in it */
.wc-block-components-order-summary,
.wc-block-components-order-summary *,
.wc-block-components-sidebar *,
.wc-block-components-totals-wrapper,
.wc-block-components-totals-wrapper * {
    color: #fff !important;
    background: transparent !important;
}

/* Total rows */
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    color: #fff !important;
    border-color: rgba(255,255,255,0.08) !important;
}

/* Total amount */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #39FF14 !important;
    font-weight: 800 !important;
}

/* Coupon section */
.wc-block-components-panel__button,
.wc-block-components-panel__button *,
.wc-block-components-coupon * {
    color: rgba(255,255,255,0.7) !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.12) !important;
}

/* ===================================
   CHECKOUT PAGE BODY + HEADINGS
   =================================== */
body.woocommerce-checkout,
body.woocommerce-checkout * {
    color: #fff;
}

.wc-block-checkout__main h2,
.wc-block-checkout__main h3,
.wc-block-checkout__main label,
.wc-block-checkout__main p,
.wc-block-checkout__main span,
.wc-block-components-checkout-step__title {
    color: #fff !important;
}

/* Express checkout label */
.wc-block-components-express-payment__title,
.wc-block-components-express-payment__event-buttons,
.wc-block-components-express-payment * {
    color: #fff !important;
    border-color: rgba(255,255,255,0.1) !important;
}

/* "Or continue below" divider */
.wc-block-components-express-payment-continue-rule__rule,
.wc-block-components-express-payment-continue-rule {
    color: rgba(255,255,255,0.5) !important;
}

/* Payment section radio labels */
.wc-block-components-radio-control__label,
.wc-block-components-payment-method-label,
.wc-block-components-radio-control-accordion-option {
    color: #fff !important;
    background: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.1) !important;
}
.wc-block-components-radio-control-accordion-option--checked {
    border-color: #39FF14 !important;
    background: rgba(57,255,20,0.05) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
    background: #39FF14 !important;
    color: #000 !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    border: none !important;
    width: 100% !important;
}
.wc-block-components-checkout-place-order-button:hover {
    background: #2ecc10 !important;
    transform: scale(1.01) !important;
}

/* Checkbox (save payment info, etc) */
.wc-block-checkout input[type="checkbox"] + label,
.wc-block-checkout .wc-block-components-checkbox label {
    color: rgba(255,255,255,0.75) !important;
}

/* "By proceeding..." terms text */
.wc-block-components-checkout-policies,
.wc-block-components-checkout-policies * {
    color: rgba(255,255,255,0.5) !important;
}
.wc-block-components-checkout-policies a {
    color: #39FF14 !important;
}

/* ===================================
   PORTAL NAV ON CHECKOUT (v4.11.61)
   =================================== */
.oft-checkout-portal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0 24px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    gap: 12px;
}
.oft-checkout-portal-nav a.oft-nav-home {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.5px;
}
.oft-checkout-portal-nav a.oft-nav-home:hover { color: #39FF14; }
.oft-checkout-portal-nav a.oft-nav-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    font-size: 14px;
    padding: 8px 16px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    transition: all 0.2s;
}
.oft-checkout-portal-nav a.oft-nav-back:hover {
    color: #fff;
    border-color: rgba(255,255,255,0.4);
}

/* Hide default WC page title on checkout — we render our own nav */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1.page-title,
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .site-header,
body.woocommerce-checkout #masthead,
body.woocommerce-checkout header.site-header,
body.woocommerce-checkout .main-navigation {
    display: none !important;
}
