/* NTFS v2 store wrapper */
.ntfs-wc .wc-wrap{padding:52px 0 90px}
.ntfs-wc .wc-wrap .wrap{max-width:1180px}

/* WooCommerce overrides for NTFS dark theme */

/* Layout - side nav + content */
body.ntfs-page .woocommerce-MyAccount-navigation {
    background: none !important;
    border: none !important;
    border-right: 1px solid #ECE8E1 !important;
    border-radius: 0 !important;
    padding-right: 32px !important;
}
body.ntfs-page .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.ntfs-page .woocommerce-MyAccount-navigation ul li { border: none !important; }
body.ntfs-page .woocommerce-MyAccount-navigation ul li a {
    display: block !important; padding: 12px 0 !important; font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    font-size: 14px !important; font-weight: 400 !important; color: #8F887B !important;
    text-decoration: none !important; border-bottom: none !important; transition: color 0.15s !important;
}
body.ntfs-page .woocommerce-MyAccount-navigation ul li a:hover { color: #17130E !important; background: none !important; }
body.ntfs-page .woocommerce-MyAccount-navigation ul li.is-active a,
body.ntfs-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
    color: #17130E !important; font-weight: 600 !important; background: none !important;
}

/* Content area */
body.ntfs-page .woocommerce-MyAccount-content {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-size: 15px !important;
    color: #8F887B !important; line-height: 1.7 !important; padding-left: 40px !important;
}
body.ntfs-page .woocommerce-MyAccount-content p { margin-bottom: 16px !important; }
body.ntfs-page .woocommerce-MyAccount-content a { color: #17130E !important; font-weight: 500 !important; text-decoration: none !important; border-bottom: 1px solid rgba(201,169,110,0.3) !important; }
body.ntfs-page .woocommerce-MyAccount-content a:hover { border-color: #17130E !important; }

/* General WC resets */
body.ntfs-page .woocommerce { font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; color: #17130E !important; }

/* Notices */
body.ntfs-page .woocommerce-error, body.ntfs-page .woocommerce-info, body.ntfs-page .woocommerce-message {
    background: #ffffff !important; border: 1px solid #ECE8E1 !important; border-radius: 8px !important;
    color: #8F887B !important; padding: 16px 20px !important; font-size: 14px !important; line-height: 1.6 !important;
    margin-bottom: 24px !important;
}
body.ntfs-page .woocommerce-message { border-left: 3px solid #0D7A4F !important; }
body.ntfs-page .woocommerce-error { border-left: 3px solid #C23A2B !important; }
body.ntfs-page .woocommerce-info { border-left: 3px solid #17130E !important; }
body.ntfs-page .woocommerce-message::before, body.ntfs-page .woocommerce-error::before, body.ntfs-page .woocommerce-info::before { color: #17130E !important; }

/* Forms */
body.ntfs-page .woocommerce form .form-row input.input-text,
body.ntfs-page .woocommerce form .form-row textarea,
body.ntfs-page .woocommerce form .form-row select,
body.ntfs-page .woocommerce input[type="text"],
body.ntfs-page .woocommerce input[type="email"],
body.ntfs-page .woocommerce input[type="password"],
body.ntfs-page .woocommerce input[type="tel"] {
    padding: 12px 14px !important; font-size: 15px !important; border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important; font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; background: #ffffff !important;
    transition: border-color 0.2s !important; outline: none !important; width: 100% !important; color: #17130E !important;
}
body.ntfs-page .woocommerce input:focus, body.ntfs-page .woocommerce textarea:focus {
    border-color: #17130E !important; box-shadow: 0 0 0 1px rgba(201,169,110,0.2) !important;
}
body.ntfs-page .woocommerce form .form-row label {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-size: 14px !important; font-weight: 500 !important;
    color: #17130E !important; margin-bottom: 6px !important; display: block !important;
}

/* Buttons */
body.ntfs-page .woocommerce button.button,
body.ntfs-page .woocommerce .button,
body.ntfs-page .woocommerce input.button,
body.ntfs-page .woocommerce a.button,
body.ntfs-page .woocommerce #respond input#submit {
    background: #17130E !important; color: #ffffff !important; border: none !important; border-radius: 6px !important;
    padding: 12px 24px !important; font-size: 14px !important; font-weight: 600 !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; cursor: pointer !important; transition: all 0.2s !important;
    text-transform: none !important; letter-spacing: 0 !important;
}
body.ntfs-page .woocommerce button.button:hover,
body.ntfs-page .woocommerce .button:hover,
body.ntfs-page .woocommerce a.button:hover {
    background: #C2410C !important; color: #ffffff !important;
}

/* Tables */
body.ntfs-page .woocommerce table.shop_table {
    border: 1px solid #ECE8E1 !important; border-radius: 10px !important;
    overflow: hidden !important; border-collapse: separate !important; border-spacing: 0 !important;
}
body.ntfs-page .woocommerce table.shop_table th {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-size: 12px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: 0.05em !important; color: #8F887B !important;
    background: #ffffff !important; border-bottom: 1px solid #ECE8E1 !important; padding: 14px 16px !important;
}
body.ntfs-page .woocommerce table.shop_table td {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-size: 14px !important; color: #8F887B !important;
    padding: 14px 16px !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; background: none !important;
}
body.ntfs-page .woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }

/* Headings */
body.ntfs-page .woocommerce h2, body.ntfs-page .woocommerce h3 {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important; font-weight: 400 !important; color: #17130E !important;
}

/* Checkout */
body.ntfs-page .woocommerce-checkout #payment {
    background: #ffffff !important; border-radius: 10px !important; border: 1px solid #ECE8E1 !important;
}
body.ntfs-page .woocommerce-checkout #payment div.payment_box {
    background: #ffffff !important; color: #8F887B !important; font-size: 14px !important; border-radius: 6px !important;
}

/* Cart totals */
body.ntfs-page .woocommerce .cart-collaterals .cart_totals {
    background: #ffffff !important; border-radius: 10px !important; padding: 24px !important;
    border: 1px solid #ECE8E1 !important;
}

/* Address cards */
body.ntfs-page .woocommerce-Addresses .woocommerce-Address {
    border: 1px solid #ECE8E1 !important; border-radius: 10px !important; padding: 24px !important;
}

/* Subscription/membership tables */
body.ntfs-page .woocommerce td.subscription-actions a,
body.ntfs-page .woocommerce .woocommerce-orders-table__cell a {
    border-bottom: none !important;
}

/* Checkout container centering */
body.ntfs-page .woocommerce-checkout > .woocommerce {
    max-width: 1040px !important; margin: 0 auto !important; padding: 0 24px !important;
}

/* Coupon bar full width above the grid */
body.ntfs-page .woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 32px !important;
}

/* Checkout 2-column layout */
@media (min-width: 769px) {
    body.ntfs-page form.checkout.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: 1fr 380px !important;
        gap: 40px !important;
        align-items: start !important;
    }
    body.ntfs-page form.checkout .col2-set,
    body.ntfs-page form.checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / 10 !important;
    }
    body.ntfs-page form.checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        font-size: 20px !important;
    }
    body.ntfs-page form.checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 / 10 !important;
        position: sticky !important;
        top: 100px !important;
    }
}
@media (max-width: 768px) {
    body.ntfs-page form.checkout.woocommerce-checkout { display: block !important; }
    body.ntfs-page form.checkout #order_review { margin-top: 32px !important; position: static !important; }
}

/* Billing fields */
body.ntfs-page .woocommerce-checkout .col2-set { display: block !important; }
body.ntfs-page .woocommerce-checkout .col2-set .col-1,
body.ntfs-page .woocommerce-checkout .col2-set .col-2 {
    width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important;
}
body.ntfs-page .woocommerce-checkout .col2-set .col-2 { margin-top: 24px !important; }

/* Order review box */
body.ntfs-page .woocommerce-checkout #order_review {
    background: #ffffff !important; border: 1px solid #ECE8E1 !important;
    border-radius: 12px !important; padding: 28px !important;
}
body.ntfs-page .woocommerce-checkout #order_review table.shop_table {
    border: none !important; margin-bottom: 16px !important;
}
body.ntfs-page .woocommerce-checkout #order_review table.shop_table th,
body.ntfs-page .woocommerce-checkout #order_review table.shop_table td {
    background: none !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    padding: 12px 0 !important; font-size: 14px !important;
}

/* Payment inside order review */
body.ntfs-page .woocommerce-checkout #payment {
    background: none !important; border: none !important; padding: 0 !important; margin-top: 16px !important;
}
body.ntfs-page .woocommerce-checkout #payment div.payment_box {
    background: #ffffff !important; border-radius: 8px !important; padding: 16px !important;
    font-size: 13px !important; color: #8F887B !important;
}
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods {
    border: none !important; padding: 0 !important;
}
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods li {
    border: none !important; padding: 12px 0 !important;
}

/* Place order */
body.ntfs-page .woocommerce-checkout .place-order { padding: 16px 0 0 !important; }
body.ntfs-page .woocommerce-checkout #place_order {
    width: 100% !important; padding: 16px !important; font-size: 16px !important;
}

/* Headings */
body.ntfs-page .woocommerce-checkout .woocommerce-billing-fields h3,
body.ntfs-page .woocommerce-checkout .woocommerce-shipping-fields h3,
body.ntfs-page .woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 20px !important; margin-bottom: 20px !important;
}

/* Terms */
body.ntfs-page .woocommerce-checkout .woocommerce-terms-and-conditions {
    display: none !important;
}
body.ntfs-page .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 13px !important; color: #8F887B !important; margin-bottom: 16px !important;
}

/* Recurring totals */
body.ntfs-page .woocommerce-checkout .recurring-totals th,
body.ntfs-page .woocommerce-checkout .recurring-totals td {
    font-size: 13px !important; color: #8F887B !important;
}

/* Compact billing fields - city/state/zip on one row */
body.ntfs-page .woocommerce-checkout #billing_city_field,
body.ntfs-page .woocommerce-checkout #billing_state_field,
body.ntfs-page .woocommerce-checkout #billing_postcode_field {
    width: 33.33% !important; float: left !important; clear: none !important;
    padding-right: 8px !important;
}
body.ntfs-page .woocommerce-checkout #billing_postcode_field { padding-right: 0 !important; }

/* Phone and email side by side */
body.ntfs-page .woocommerce-checkout #billing_phone_field {
    width: 50% !important; float: left !important; clear: none !important; padding-right: 8px !important;
}
body.ntfs-page .woocommerce-checkout #billing_email_field {
    width: 50% !important; float: left !important; clear: none !important;
}

/* Clear floats after */
body.ntfs-page .woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after {
    content: '' !important; display: table !important; clear: both !important;
}

/* Payment section */
body.ntfs-page .woocommerce-checkout #payment {
    background: none !important; border: none !important; padding: 0 !important;
    margin-top: 24px !important; border-top: 1px solid #ECE8E1 !important;
    padding-top: 20px !important;
}

/* Order review table */
body.ntfs-page .woocommerce-checkout #order_review {
    background: #ffffff !important; border: 1px solid #ECE8E1 !important;
    border-radius: 12px !important; padding: 24px !important;
}

/* Place order button */
body.ntfs-page .woocommerce-checkout #place_order {
    width: 100% !important; padding: 16px !important; font-size: 16px !important;
    margin-top: 16px !important;
}

/* Address line 2 */
body.ntfs-page .woocommerce-checkout #billing_address_2_field { margin-top: -8px !important; }

/* Coupon bar */
body.ntfs-page .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    margin-bottom: 24px !important;
}

@media (max-width: 768px) {
    body.ntfs-page .woocommerce-checkout form.checkout {
        display: block !important;
    }
    body.ntfs-page .woocommerce-checkout #order_review {
        position: static !important; margin-top: 32px !important;
    }
}

/* Select dropdowns - dark */
body.ntfs-page .woocommerce select,
body.ntfs-page .woocommerce .select2-container .select2-selection--single {
    background: #ffffff !important; border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important; padding: 12px 14px !important; font-size: 15px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; height: auto !important; min-height: 46px !important;
    color: #17130E !important;
}
body.ntfs-page .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0 !important; line-height: 22px !important; color: #17130E !important;
}
body.ntfs-page .woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100% !important; right: 10px !important;
}
body.ntfs-page .select2-dropdown {
    background: #ffffff !important; border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}
body.ntfs-page .select2-results__option {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-size: 14px !important; padding: 10px 14px !important;
    color: #17130E !important;
}
body.ntfs-page .select2-results__option--highlighted {
    background: rgba(201,169,110,0.1) !important; color: #17130E !important;
}

/* Payment when moved to left column via JS */
body.ntfs-page .woocommerce-checkout #payment.ntfs-payment-moved {
    grid-column: 1 !important; margin-top: 32px !important;
    padding-top: 24px !important; border-top: 1px solid #ECE8E1 !important;
}

/* Tighter field spacing */
body.ntfs-page .woocommerce-checkout .form-row { margin-bottom: 12px !important; }
body.ntfs-page .woocommerce-checkout .form-row label { margin-bottom: 4px !important; }

/* Hide redundant checkout totals */
body.ntfs-page .woocommerce-checkout .cart-subtotal { display: none !important; }
body.ntfs-page .woocommerce-checkout .recurring-totals { display: none !important; }
body.ntfs-page .woocommerce-checkout .cart-subtotal.recurring-total { display: none !important; }
body.ntfs-page .woocommerce-checkout thead { display: none !important; }

/* Native select - force dark background */
body.ntfs-page .woocommerce select,
body.ntfs-page select,
body.ntfs-page .woocommerce-checkout select {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    color: #17130E !important;
}

/* All inputs force dark */
body.ntfs-page input[type="text"],
body.ntfs-page input[type="email"],
body.ntfs-page input[type="tel"],
body.ntfs-page input[type="password"],
body.ntfs-page textarea {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    outline: none !important;
    color: #17130E !important;
}
body.ntfs-page input:focus, body.ntfs-page select:focus, body.ntfs-page textarea:focus {
    border-color: #17130E !important;
    box-shadow: 0 0 0 1px rgba(201,169,110,0.2) !important;
}

/* Select2 force dark */
body.ntfs-page .select2-selection,
body.ntfs-page .select2-selection--single {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
}

/* NUCLEAR: uniform input/select height and styling */
body.ntfs-page .woocommerce-checkout input.input-text,
body.ntfs-page .woocommerce-checkout select,
body.ntfs-page .woocommerce-checkout .select2-selection--single,
body.ntfs-page .woocommerce-checkout input[type="text"],
body.ntfs-page .woocommerce-checkout input[type="email"],
body.ntfs-page .woocommerce-checkout input[type="tel"],
body.ntfs-page .woocommerce-checkout input[type="password"] {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    line-height: 48px !important;
    color: #17130E !important;
    width: 100% !important;
}
body.ntfs-page .woocommerce-checkout .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding: 0 !important;
    font-size: 15px !important;
    color: #17130E !important;
}
body.ntfs-page .woocommerce-checkout .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 10px !important;
}

/* Consistent row spacing */
body.ntfs-page .woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
    padding: 0 !important;
}
body.ntfs-page .woocommerce-checkout .form-row label {
    margin-bottom: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #17130E !important;
    display: block !important;
}
body.ntfs-page .woocommerce-checkout .form-row-first,
body.ntfs-page .woocommerce-checkout .form-row-last {
    padding: 0 !important;
}
body.ntfs-page .woocommerce-checkout .form-row-first { padding-right: 8px !important; }

/* Center text vertically in selects and Select2 */
body.ntfs-page .woocommerce-checkout select {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    line-height: 1.4 !important;
}
body.ntfs-page .woocommerce-checkout .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    line-height: normal !important;
}
body.ntfs-page .woocommerce-checkout .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Payment section styling */
body.ntfs-page .woocommerce-checkout #payment {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 24px !important;
}
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods li {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.ntfs-page .woocommerce-checkout #payment label {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: #17130E !important;
    display: block !important;
    margin-bottom: 16px !important;
    cursor: default !important;
}
body.ntfs-page .woocommerce-checkout #payment label img {
    display: none !important;
}
body.ntfs-page .woocommerce-checkout #payment .payment_box {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.ntfs-page .woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}
body.ntfs-page .woocommerce-checkout #payment .wc-saved-payment-methods {
    display: none !important;
}
/* Stripe iframe */
body.ntfs-page .woocommerce-checkout #payment .wc-stripe-upe-element {
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* Kill all borders, arrows, and excess spacing on payment */
body.ntfs-page .woocommerce-checkout #payment,
body.ntfs-page .woocommerce-checkout #payment li,
body.ntfs-page .woocommerce-checkout #payment .payment_box,
body.ntfs-page .woocommerce-checkout #payment fieldset,
body.ntfs-page .woocommerce-checkout #payment .wc-payment-form {
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
body.ntfs-page .woocommerce-checkout #payment label {
    margin-bottom: 12px !important;
}
body.ntfs-page .woocommerce-checkout #payment .payment_box::before,
body.ntfs-page .woocommerce-checkout #payment .payment_box::after {
    display: none !important;
    content: none !important;
}

/* Kill left border on password/account fields */
body.ntfs-page .woocommerce-checkout .create-account,
body.ntfs-page .woocommerce-checkout .woocommerce-account-fields {
    border: none !important;
    border-left: none !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
}

/* Tighten gap between password and payment */
body.ntfs-page .woocommerce-checkout #payment.ntfs-payment-moved {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #ECE8E1 !important;
}

/* Align Stripe card fields */
body.ntfs-page .woocommerce-checkout #payment .payment_box,
body.ntfs-page .woocommerce-checkout #payment .wc-payment-form,
body.ntfs-page .woocommerce-checkout #payment .wc-stripe-upe-element,
body.ntfs-page .woocommerce-checkout #payment .StripeElement,
body.ntfs-page .woocommerce-checkout #payment fieldset#wc-stripe-upe-form,
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods,
body.ntfs-page .woocommerce-checkout #payment ul.payment_methods li {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Coupon toggle inside order review */
body.ntfs-page .woocommerce-checkout #order_review .woocommerce-form-coupon-toggle .woocommerce-info {
    background: none !important;
    border: none !important;
    border-left: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #8F887B !important;
    text-align: center !important;
}
body.ntfs-page .woocommerce-checkout #order_review .woocommerce-form-coupon-toggle .showcoupon {
    color: #17130E !important;
    font-weight: 500 !important;
}

/* Coupon form */
body.ntfs-page .woocommerce-checkout .checkout_coupon {
    border: none !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}
body.ntfs-page .woocommerce-checkout .checkout_coupon .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    flex: 1 !important;
}
body.ntfs-page .woocommerce-checkout .checkout_coupon .form-row-last {
    flex: 0 0 auto !important;
}
body.ntfs-page .woocommerce-checkout .checkout_coupon input.input-text {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
}
body.ntfs-page .woocommerce-checkout .checkout_coupon .button {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    line-height: 42px !important;
}
body.ntfs-page .woocommerce-checkout .checkout_coupon .clear {
    display: none !important;
}

/* ══════ HIDE REVIEWS ══════ */
body.ntfs-page .woocommerce-Reviews,
body.ntfs-page .woocommerce-tabs ul.tabs li.reviews_tab,
body.ntfs-page div.product .woocommerce-product-rating,
body.ntfs-page div.product #reviews,
body.ntfs-page .comment-respond,
body.ntfs-page .related.products { display: none !important; }

/* ══════ SINGLE PRODUCT PAGE ══════ */
body.ntfs-page div.product {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 120px 40px 80px !important;
    display: grid !important;
    grid-template-columns: 45% 1fr !important;
    gap: 48px !important;
    align-items: start !important;
}

body.ntfs-page div.product .woocommerce-product-gallery {
    grid-row: 1 / 4 !important;
}

body.ntfs-page div.product .summary.entry-summary {
    grid-column: 2 !important;
}

body.ntfs-page div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
}

body.ntfs-page div.product .product_meta {
    grid-column: 2 !important;
}

body.ntfs-page div.product .product_title {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-size: 36px !important;
    font-weight: 400 !important;
    color: #17130E !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
}

body.ntfs-page div.product .price {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    color: #17130E !important;
    margin-bottom: 24px !important;
}

body.ntfs-page div.product .price del {
    color: #8F887B !important;
    font-size: 20px !important;
}

body.ntfs-page div.product .price ins {
    text-decoration: none !important;
    color: #17130E !important;
}

body.ntfs-page div.product .woocommerce-product-details__short-description,
body.ntfs-page div.product .woocommerce-Tabs-panel p,
body.ntfs-page div.product .description p {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 350 !important;
    color: #8F887B !important;
    line-height: 1.8 !important;
    margin-bottom: 20px !important;
}

body.ntfs-page div.product .woocommerce-product-details__short-description {
    margin-bottom: 32px !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid #ECE8E1 !important;
}

body.ntfs-page div.product form.cart {
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid #ECE8E1 !important;
}

body.ntfs-page div.product .quantity {
    margin-right: 16px !important;
}

body.ntfs-page div.product .quantity .qty {
    width: 70px !important;
    height: 48px !important;
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 8px !important;
    color: #17130E !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 15px !important;
    text-align: center !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

body.ntfs-page div.product .single_add_to_cart_button {
    background: #17130E !important;
    color: #ffffff !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 40px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: opacity 0.2s !important;
}

body.ntfs-page div.product .single_add_to_cart_button:hover {
    opacity: 0.85 !important;
    background: #C2410C !important;
}

/* Product tabs */
body.ntfs-page div.product .woocommerce-tabs {
    margin-top: 40px !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
    display: flex !important;
    gap: 0 !important;
    border-bottom: 1px solid #ECE8E1 !important;
    background: none !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs::before,
body.ntfs-page div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #8F887B !important;
    padding: 12px 24px !important;
    text-decoration: none !important;
    display: block !important;
    transition: color 0.2s !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #17130E !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #17130E !important;
}

body.ntfs-page div.product .woocommerce-tabs ul.tabs li.active a {
    color: #17130E !important;
}

body.ntfs-page div.product .woocommerce-Tabs-panel {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.ntfs-page div.product .woocommerce-Tabs-panel h2 {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-size: 24px !important;
    color: #17130E !important;
    margin-bottom: 16px !important;
}

/* Product meta (SKU, category, tags) */
body.ntfs-page div.product .product_meta {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 13px !important;
    color: #8F887B !important;
    margin-top: 20px !important;
}

body.ntfs-page div.product .product_meta a {
    color: #17130E !important;
    text-decoration: none !important;
}

body.ntfs-page div.product .product_meta a:hover {
    color: #C2410C !important;
}

/* Product images */
body.ntfs-page div.product .woocommerce-product-gallery {
    margin-bottom: 32px !important;
    max-width: 100% !important;
}

body.ntfs-page div.product .woocommerce-product-gallery img {
    border-radius: 12px !important;
    border: 1px solid #ECE8E1 !important;
    width: 100% !important;
    height: auto !important;
}

body.ntfs-page div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: none !important;
}

body.ntfs-page div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Related products */
body.ntfs-page .related.products {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 40px 40px 80px !important;
}

body.ntfs-page .related.products h2 {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-size: 24px !important;
    color: #17130E !important;
    margin-bottom: 24px !important;
}

body.ntfs-page .related.products .product {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 10px !important;
    padding: 20px !important;
    transition: border-color 0.2s !important;
}

body.ntfs-page .related.products .product:hover {
    border-color: #FCEFC9 !important;
}

body.ntfs-page .related.products .product .woocommerce-loop-product__title {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #17130E !important;
}

body.ntfs-page .related.products .product .price {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 16px !important;
    color: #17130E !important;
}

body.ntfs-page .related.products .product .button {
    background: transparent !important;
    color: #17130E !important;
    border: 1px solid #17130E !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
}

body.ntfs-page .related.products .product .button:hover {
    background: #17130E !important;
    color: #ffffff !important;
}

/* Shop/archive page */
body.ntfs-page .woocommerce ul.products {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 120px 40px 80px !important;
}

body.ntfs-page .woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 10px !important;
    padding: 24px !important;
    transition: border-color 0.2s !important;
}

body.ntfs-page .woocommerce ul.products li.product:hover {
    border-color: #FCEFC9 !important;
}

body.ntfs-page .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #17130E !important;
    padding: 12px 0 8px !important;
}

body.ntfs-page .woocommerce ul.products li.product .price {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 18px !important;
    color: #17130E !important;
}

body.ntfs-page .woocommerce ul.products li.product .button {
    background: #17130E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
    margin-top: 12px !important;
}

body.ntfs-page .woocommerce ul.products li.product .button:hover {
    background: #C2410C !important;
}

body.ntfs-page .woocommerce ul.products li.product img {
    border-radius: 8px !important;
}

/* WooCommerce notices/messages */
body.ntfs-page .woocommerce-message,
body.ntfs-page .woocommerce-info {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-left: 4px solid #17130E !important;
    color: #8F887B !important;
    border-radius: 8px !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 14px !important;
}

body.ntfs-page .woocommerce-message a,
body.ntfs-page .woocommerce-info a {
    color: #17130E !important;
}

body.ntfs-page .woocommerce-error {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-left: 4px solid #C23A2B !important;
    color: #8F887B !important;
    border-radius: 8px !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
}

body.ntfs-page .woocommerce-error li {
    color: #C23A2B !important;
}

/* Breadcrumbs */
body.ntfs-page .woocommerce-breadcrumb {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 12px !important;
    color: #8F887B !important;
    padding: 100px 40px 0 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

body.ntfs-page .woocommerce-breadcrumb a {
    color: #8F887B !important;
    text-decoration: none !important;
}

body.ntfs-page .woocommerce-breadcrumb a:hover {
    color: #17130E !important;
}

/* Subscription/recurring price styling */
body.ntfs-page div.product .price .subscription-details,
body.ntfs-page div.product .price .woocommerce-Price-amount {
    color: inherit !important;
}

body.ntfs-page div.product .price .subscription-period {
    font-size: 16px !important;
    color: #8F887B !important;
}

/* Mobile product page */
@media (max-width: 768px) {
    body.ntfs-page div.product {
        padding: 100px 20px 60px !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    body.ntfs-page div.product .woocommerce-product-gallery {
        grid-row: auto !important;
        max-width: 320px !important;
    }
    body.ntfs-page div.product .summary.entry-summary {
        grid-column: 1 !important;
    }
    body.ntfs-page div.product .product_meta {
        grid-column: 1 !important;
    }
    body.ntfs-page div.product .product_title {
        font-size: 28px !important;
    }
    body.ntfs-page div.product .price {
        font-size: 22px !important;
    }
    body.ntfs-page div.product .single_add_to_cart_button {
        width: 100% !important;
    }
    body.ntfs-page .related.products {
        padding: 20px 20px 60px !important;
    }
    body.ntfs-page .woocommerce ul.products {
        padding: 100px 20px 60px !important;
    }
    body.ntfs-page .woocommerce-breadcrumb {
        padding: 80px 20px 0 !important;
    }
}

/* ══════ WOOCOMMERCE BLOCK CHECKOUT (new editor blocks) ══════ */
body.ntfs-page .wc-block-checkout,
body.ntfs-page .wp-block-woocommerce-checkout,
body.ntfs-page .wc-block-components-form,
body.ntfs-page .wc-block-cart {
    color: #17130E !important;
    background: transparent !important;
}

/* Section headings */
body.ntfs-page .wc-block-checkout h1,
body.ntfs-page .wc-block-checkout h2,
body.ntfs-page .wc-block-checkout h3,
body.ntfs-page .wc-block-components-title,
body.ntfs-page .wc-block-components-checkout-step__title,
body.ntfs-page .wc-block-components-totals-item__label,
body.ntfs-page .wc-block-cart h1,
body.ntfs-page .wc-block-cart h2 {
    color: #17130E !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-weight: 400 !important;
}

/* Body text and labels */
body.ntfs-page .wc-block-checkout label,
body.ntfs-page .wc-block-components-checkout-step__description,
body.ntfs-page .wc-block-components-text-input label,
body.ntfs-page .wc-block-components-checkbox__label,
body.ntfs-page .wc-block-components-radio-control__label,
body.ntfs-page .wc-block-components-form-step__title,
body.ntfs-page .wc-block-components-form-step__description,
body.ntfs-page .wc-block-components-totals-item,
body.ntfs-page .wc-block-checkout p,
body.ntfs-page .wc-block-checkout span {
    color: #4A453D !important;
}

/* Muted text */
body.ntfs-page .wc-block-components-checkout-step__description,
body.ntfs-page .wc-block-components-form-step__description,
body.ntfs-page .wc-block-components-text-input label,
body.ntfs-page .wc-block-components-product-name {
    color: #8F887B !important;
}

/* Inputs */
body.ntfs-page .wc-block-components-text-input input,
body.ntfs-page .wc-block-components-select select,
body.ntfs-page .wc-block-components-textarea textarea,
body.ntfs-page .wc-block-checkout input[type="text"],
body.ntfs-page .wc-block-checkout input[type="email"],
body.ntfs-page .wc-block-checkout input[type="tel"],
body.ntfs-page .wc-block-checkout select,
body.ntfs-page input.wc-block-components-text-input__input {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    color: #17130E !important;
    border-radius: 8px !important;
}
body.ntfs-page .wc-block-components-text-input input:focus,
body.ntfs-page .wc-block-components-select select:focus {
    border-color: #17130E !important;
    box-shadow: 0 0 0 3px rgba(201,169,110,0.15) !important;
    outline: none !important;
}

/* Floating labels inside inputs */
body.ntfs-page .wc-block-components-text-input label,
body.ntfs-page .wc-block-components-select label {
    color: #8F887B !important;
    background: transparent !important;
}
body.ntfs-page .wc-block-components-text-input.is-active label,
body.ntfs-page .wc-block-components-text-input:focus-within label {
    color: #17130E !important;
}

/* Buttons */
body.ntfs-page .wc-block-components-button,
body.ntfs-page .wc-block-components-checkout-place-order-button,
body.ntfs-page button.wc-block-cart__submit-button {
    background: #17130E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
}
body.ntfs-page .wc-block-components-button:hover {
    background: #C2410C !important;
    opacity: 1 !important;
}

/* Order summary sidebar */
body.ntfs-page .wc-block-components-sidebar,
body.ntfs-page .wp-block-woocommerce-checkout-order-summary-block,
body.ntfs-page .wc-block-components-order-summary {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    color: #4A453D !important;
}
body.ntfs-page .wc-block-components-totals-item {
    color: #4A453D !important;
    border-color: #ECE8E1 !important;
}
body.ntfs-page .wc-block-components-totals-footer-item,
body.ntfs-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #17130E !important;
    font-family: 'JetBrains Mono', monospace !important;
}
body.ntfs-page .wc-block-components-product-price__value,
body.ntfs-page .wc-block-components-totals-item__value,
body.ntfs-page .wc-block-formatted-money-amount {
    color: #17130E !important;
    font-family: 'JetBrains Mono', monospace !important;
}

/* Order summary product rows */
body.ntfs-page .wc-block-components-order-summary-item__quantity,
body.ntfs-page .wc-block-components-order-summary-item__description,
body.ntfs-page .wc-block-components-order-summary-item__total-price {
    color: #4A453D !important;
}

/* Coupon section */
body.ntfs-page .wc-block-components-totals-coupon,
body.ntfs-page .wc-block-components-totals-coupon__button {
    color: #17130E !important;
}

/* Notices */
body.ntfs-page .wc-block-components-notice-banner {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-left: 4px solid #17130E !important;
    color: #4A453D !important;
}

/* Express checkout area */
body.ntfs-page .wc-block-components-express-payment {
    background: transparent !important;
}
body.ntfs-page .wc-block-components-express-payment__title-container,
body.ntfs-page .wc-block-components-express-payment__content-container {
    color: #8F887B !important;
}
body.ntfs-page .wc-block-components-express-payment__title {
    color: #8F887B !important;
}

/* Radio buttons / payment options */
body.ntfs-page .wc-block-components-radio-control {
    color: #4A453D !important;
}
body.ntfs-page .wc-block-components-radio-control__option,
body.ntfs-page .wc-block-components-payment-method-label {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    color: #4A453D !important;
    border-radius: 8px !important;
}
body.ntfs-page .wc-block-components-radio-control__option--checked {
    border-color: #17130E !important;
    background: #FCEFC9 !important;
}

/* Country/state selectors */
body.ntfs-page .wc-block-components-country-input select,
body.ntfs-page .wc-block-components-state-input select {
    background: #ffffff !important;
    color: #17130E !important;
}

/* Step numbers */
body.ntfs-page .wc-block-components-checkout-step__container {
    background: transparent !important;
}

/* Checkbox */
body.ntfs-page .wc-block-components-checkbox__mark {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
}
body.ntfs-page .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark {
    background: #17130E !important;
    border-color: #17130E !important;
}

/* Order summary thumbnail */
body.ntfs-page .wc-block-components-order-summary-item__image {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 6px !important;
}

/* Add coupon expandable */
body.ntfs-page .wc-block-components-totals-coupon__form input {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    color: #17130E !important;
}

/* All wc-block container backgrounds */
body.ntfs-page .wp-block-woocommerce-checkout-fields-block,
body.ntfs-page .wp-block-woocommerce-checkout-totals-block,
body.ntfs-page .wp-block-woocommerce-checkout-contact-information-block,
body.ntfs-page .wp-block-woocommerce-checkout-shipping-address-block,
body.ntfs-page .wp-block-woocommerce-checkout-billing-address-block,
body.ntfs-page .wp-block-woocommerce-checkout-payment-block,
body.ntfs-page .wp-block-woocommerce-checkout-actions-block {
    background: transparent !important;
    color: #4A453D !important;
}

/* ══════ EXTRA STRONG BLOCK CHECKOUT OVERRIDES ══════ */
/* The dark theme bleeds into block checkout text. Force readable colors. */

body.ntfs-page .wc-block-checkout *,
body.ntfs-page .wp-block-woocommerce-checkout *,
body.ntfs-page .wc-block-cart *,
body.ntfs-page .wp-block-woocommerce-cart * {
    color: #4A453D;
}

body.ntfs-page .wc-block-checkout h1,
body.ntfs-page .wc-block-checkout h2,
body.ntfs-page .wc-block-checkout h3,
body.ntfs-page .wc-block-checkout h4,
body.ntfs-page .wc-block-cart h1,
body.ntfs-page .wc-block-cart h2,
body.ntfs-page .wc-block-cart h3,
body.ntfs-page [class*="wc-block-components-title"] {
    color: #17130E !important;
}

/* Order summary specifically - higher contrast */
body.ntfs-page [class*="wc-block-components-totals"],
body.ntfs-page [class*="wc-block-components-order-summary"],
body.ntfs-page [class*="wc-block-components-product-name"],
body.ntfs-page [class*="wc-block-components-product-price"],
body.ntfs-page [class*="wc-block-components-product-metadata"],
body.ntfs-page [class*="wc-block-formatted-money-amount"] {
    color: #17130E !important;
}

/* Order summary - small descriptive text */
body.ntfs-page [class*="wc-block-components-product-details"],
body.ntfs-page [class*="wc-block-components-order-summary-item__description"] {
    color: #8F887B !important;
}

/* All inputs across block checkout */
body.ntfs-page .wp-block-woocommerce-checkout input,
body.ntfs-page .wp-block-woocommerce-checkout select,
body.ntfs-page .wp-block-woocommerce-checkout textarea {
    color: #17130E !important;
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
}

/* Express checkout container background */
body.ntfs-page [class*="wc-block-components-express-payment"] {
    background: transparent !important;
    border-color: #ECE8E1 !important;
}
body.ntfs-page [class*="wc-block-components-express-payment"] [class*="title"] {
    color: #8F887B !important;
}

/* Or continue below text */
body.ntfs-page [class*="wc-block-components-express-payment-continue-rule"] {
    color: #8F887B !important;
}
body.ntfs-page [class*="wc-block-components-express-payment-continue-rule"]::before,
body.ntfs-page [class*="wc-block-components-express-payment-continue-rule"]::after {
    border-color: #ECE8E1 !important;
}

/* Step numbers/headings */
body.ntfs-page [class*="wc-block-components-checkout-step__heading-content"],
body.ntfs-page [class*="wc-block-components-checkout-step__title"] {
    color: #17130E !important;
}

/* Form section labels (Contact information, Billing address, etc.) */
body.ntfs-page [class*="wc-block-components-form"] legend,
body.ntfs-page [class*="wc-block-components-checkout-step"] > h2,
body.ntfs-page [class*="wc-block-components-checkout-step"] > h3 {
    color: #17130E !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-weight: 400 !important;
}

/* Bottom recurring totals / details */
body.ntfs-page [class*="wc-block-components-totals-footer-item"] *,
body.ntfs-page [class*="wc-block-subscriptions"] * {
    color: #4A453D !important;
}

/* ══════ NUCLEAR FORCE: Block checkout text readability ══════ */
/* React renders these blocks client-side with dynamic class names. */
/* Force ALL text in checkout/cart blocks to be readable on dark bg.  */

body.ntfs-page .wp-block-woocommerce-checkout,
body.ntfs-page .wp-block-woocommerce-cart,
body.ntfs-page .wc-block-checkout,
body.ntfs-page .wc-block-cart,
body.ntfs-page .wp-block-woocommerce-checkout *:not(button):not(svg):not(path),
body.ntfs-page .wp-block-woocommerce-cart *:not(button):not(svg):not(path) {
    color: #4A453D !important;
}

/* Headings stay brighter */
body.ntfs-page .wp-block-woocommerce-checkout h1,
body.ntfs-page .wp-block-woocommerce-checkout h2,
body.ntfs-page .wp-block-woocommerce-checkout h3,
body.ntfs-page .wp-block-woocommerce-checkout h4,
body.ntfs-page .wp-block-woocommerce-checkout legend,
body.ntfs-page .wp-block-woocommerce-cart h1,
body.ntfs-page .wp-block-woocommerce-cart h2,
body.ntfs-page .wp-block-woocommerce-cart h3 {
    color: #ffffff !important;
}

/* Inputs always need explicit dark bg */
body.ntfs-page .wp-block-woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]),
body.ntfs-page .wp-block-woocommerce-checkout select,
body.ntfs-page .wp-block-woocommerce-checkout textarea {
    background: #ffffff !important;
    color: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
}

/* Sidebar/order summary backgrounds */
body.ntfs-page .wp-block-woocommerce-checkout-totals-block,
body.ntfs-page .wp-block-woocommerce-checkout-order-summary-block,
body.ntfs-page .wp-block-woocommerce-cart-totals-block,
body.ntfs-page .wp-block-woocommerce-cart-order-summary-block {
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

/* Stronger contrast for prices */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-formatted-money-amount,
body.ntfs-page .wp-block-woocommerce-checkout span[class*="price"],
body.ntfs-page .wp-block-woocommerce-checkout span[class*="value"] {
    color: #ffffff !important;
    font-family: 'JetBrains Mono', monospace !important;
}

/* Button reset - Buy Now etc */
body.ntfs-page .wp-block-woocommerce-checkout button,
body.ntfs-page .wp-block-woocommerce-cart button {
    background: #17130E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

/* Express payment section background */
body.ntfs-page .wp-block-woocommerce-checkout-express-payment-block {
    background: transparent !important;
    border: none !important;
    margin-bottom: 20px !important;
}

/* Override any inherited dark theme colors */
body.ntfs-page.woocommerce-checkout {
    color: #4A453D !important;
}

/* ══════ FIX FLOATING LABELS ON BLOCK CHECKOUT ══════ */
/* The labels were sitting on top of input text. Hide them when field is filled. */

/* Make sure inputs have padding-top for floating label space */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input {
    position: relative !important;
}
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input select {
    padding-top: 22px !important;
    padding-bottom: 8px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 15px !important;
    height: auto !important;
    min-height: 50px !important;
}

/* Position label inside input as a floating placeholder */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-combobox label {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transform-origin: top left !important;
    pointer-events: none !important;
    transition: all 0.15s ease !important;
    color: #8F887B !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* When focused or has content, float label up */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input:focus-within label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input input:not(:placeholder-shown) ~ label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-combobox.is-active label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-combobox:focus-within label {
    top: 9px !important;
    transform: translateY(0) scale(0.78) !important;
    color: #17130E !important;
    font-weight: 500 !important;
}

/* Select dropdowns - same treatment */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-country-input,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-state-input {
    position: relative !important;
}
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-country-input select,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-state-input select {
    padding-top: 22px !important;
    padding-bottom: 8px !important;
    min-height: 50px !important;
}
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-country-input label,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-state-input label {
    position: absolute !important;
    left: 14px !important;
    top: 9px !important;
    pointer-events: none !important;
    color: #17130E !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 1 !important;
}

/* Phone (optional), ZIP Code, etc - placeholder-style labels can stay as is */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input input::placeholder {
    color: #DDD8CE !important;
}

/* Inputs background contrast */
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-text-input select,
body.ntfs-page .wp-block-woocommerce-checkout .wc-block-components-textarea textarea {
    background: #ffffff !important;
    color: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 8px !important;
}

/* ══════ STRIPE PAYMENT METHOD LABELS ══════ */
/* The "Credit / Debit Card" label was rendering huge */
body.ntfs-page .wc-block-components-radio-control__label,
body.ntfs-page .wc-block-components-radio-control__label-group,
body.ntfs-page .wc-block-components-radio-control__option {
    font-size: 14px !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    color: #17130E !important;
    line-height: 1.4 !important;
}

body.ntfs-page .wc-block-components-radio-control__label span {
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Card images (Visa, MC, Amex, Discover) inline next to label */
body.ntfs-page .wc-block-components-radio-control__label img,
body.ntfs-page .wp-block-woocommerce-checkout img[alt*="Credit"],
body.ntfs-page .wp-block-woocommerce-checkout-payment-block img {
    height: 20px !important;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
}

/* Payment method options container */
body.ntfs-page .wc-block-components-radio-control-accordion-option {
    border: 1px solid #ECE8E1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
}

body.ntfs-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #17130E !important;
    background: #ffffff !important;
}

/* Radio button itself */
body.ntfs-page .wc-block-components-radio-control__input {
    width: 18px !important;
    height: 18px !important;
    accent-color: #17130E !important;
    margin-right: 12px !important;
}

/* Stripe iframe container */
body.ntfs-page .wcstripe-payment-element,
body.ntfs-page .StripeElement {
    background: transparent !important;
    padding: 12px 0 0 !important;
    margin: 0 !important;
}

/* "Card number" subheading inside Stripe form */
body.ntfs-page .wc-block-components-radio-control-accordion-content h4,
body.ntfs-page .wc-block-components-radio-control-accordion-content h3,
body.ntfs-page .wc-block-components-radio-control-accordion-content label {
    font-size: 13px !important;
    color: #8F887B !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-weight: 500 !important;
}

/* ══════ STRIPE PAYMENT FIELD LABELS ══════ */
/* Stripe renders "Card number", "Expiration date", "Security code" labels OUTSIDE its iframe */
/* They were inheriting body 19px serif treatment */

body.ntfs-page .wcstripe-payment-element label,
body.ntfs-page .wcstripe-payment-element h1,
body.ntfs-page .wcstripe-payment-element h2,
body.ntfs-page .wcstripe-payment-element h3,
body.ntfs-page .wcstripe-payment-element h4,
body.ntfs-page .wcstripe-payment-element span,
body.ntfs-page .wcstripe-payment-element p,
body.ntfs-page .StripeElement label,
body.ntfs-page .StripeElement h1,
body.ntfs-page .StripeElement h2,
body.ntfs-page .StripeElement h3,
body.ntfs-page .StripeElement h4,
body.ntfs-page .StripeElement span,
body.ntfs-page .StripeElement p {
    font-size: 13px !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-weight: 500 !important;
    color: #4A453D !important;
    line-height: 1.5 !important;
}

/* Consent paragraph after the card form */
body.ntfs-page .wc-block-components-payment-method-content,
body.ntfs-page .wc-block-components-checkout-step__content p,
body.ntfs-page .wc-block-components-payment-methods p {
    font-size: 13px !important;
    color: #8F887B !important;
    line-height: 1.6 !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
}

/* "Add a note to your order" label */
body.ntfs-page .wc-block-components-checkout-order-notes label,
body.ntfs-page .wc-block-components-checkbox__label {
    font-size: 14px !important;
    color: #4A453D !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
}

/* "Payment options" section heading - keep this as serif but smaller */
body.ntfs-page .wp-block-woocommerce-checkout-payment-block > h2,
body.ntfs-page .wp-block-woocommerce-checkout-payment-block > h3 {
    font-size: 18px !important;
    margin-bottom: 12px !important;
}

/* Catch any other oversized text inside payment block */
body.ntfs-page .wp-block-woocommerce-checkout-payment-block * {
    font-size: 14px !important;
    line-height: 1.5 !important;
}
body.ntfs-page .wp-block-woocommerce-checkout-payment-block h1,
body.ntfs-page .wp-block-woocommerce-checkout-payment-block h2,
body.ntfs-page .wp-block-woocommerce-checkout-payment-block h3 {
    font-size: 18px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em !important;
    font-weight: 400 !important;
}

/* Stripe iframe should not constrain its own height */
body.ntfs-page .wcstripe-payment-element iframe,
body.ntfs-page .StripeElement iframe {
    background: transparent !important;
}

/* ══════ STRIPE PAYMENT ELEMENT (p- prefix classes) ══════ */
/* Stripe's Payment Element renders OUTSIDE iframe with class names like p-Field, p-FieldLabel, etc */

body.ntfs-page .p-Field,
body.ntfs-page .p-Field *,
body.ntfs-page .p-FieldLabel,
body.ntfs-page .p-Input,
body.ntfs-page .p-Input input,
body.ntfs-page .p-CardForm,
body.ntfs-page .p-CardForm *,
body.ntfs-page .p-Grid,
body.ntfs-page .p-Grid *,
body.ntfs-page .p-TermsText,
body.ntfs-page .Label,
body.ntfs-page .Text--terms,
body.ntfs-page p.TermsText {
    font-size: 13px !important;
    font-family: 'Hanken Grotesk', -apple-system, sans-serif !important;
    line-height: 1.5 !important;
}

/* Field labels (Card number, Expiration date, Security code) */
body.ntfs-page .p-FieldLabel,
body.ntfs-page label.p-FieldLabel,
body.ntfs-page .Label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #4A453D !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Stripe input fields */
body.ntfs-page .p-Input input,
body.ntfs-page input.p-Input-input {
    font-size: 14px !important;
    color: #17130E !important;
    background: #ffffff !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    height: auto !important;
    min-height: 44px !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
}

body.ntfs-page .p-Input input::placeholder {
    color: #DDD8CE !important;
    font-size: 14px !important;
}

/* Terms paragraph below card form */
body.ntfs-page .p-TermsText,
body.ntfs-page .Text--terms,
body.ntfs-page p.TermsText {
    font-size: 12px !important;
    color: #8F887B !important;
    line-height: 1.6 !important;
    margin-top: 12px !important;
    font-weight: 400 !important;
}

/* Grid spacing */
body.ntfs-page .p-Grid {
    gap: 12px !important;
}
body.ntfs-page .p-GridCell {
    padding: 0 !important;
}

/* Hide visually-hidden helper text */
body.ntfs-page .u-visually-hidden {
    font-size: 0 !important;
}

/* ══════ RESET BASE FONT SIZE FOR CHECKOUT ══════ */
/* Body is 19px which makes em/rem calculations huge in Stripe.        */
/* Reset checkout container to 14px base so children scale correctly.  */

body.ntfs-page .wp-block-woocommerce-checkout,
body.ntfs-page .wp-block-woocommerce-cart,
body.ntfs-page .wc-block-checkout,
body.ntfs-page .wc-block-cart {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Stripe payment element wrapper */
body.ntfs-page .wcstripe-payment-element,
body.ntfs-page .StripeElement,
body.ntfs-page .wc-block-components-radio-control-accordion-content {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Even more specific overrides for Stripe internals */
body.ntfs-page .StripeElement *,
body.ntfs-page .wcstripe-payment-element *,
body.ntfs-page .p-Field,
body.ntfs-page .p-Field > *,
body.ntfs-page .p-FieldLabel,
body.ntfs-page .p-Input,
body.ntfs-page .p-Input > input,
body.ntfs-page .p-CardForm,
body.ntfs-page .p-CardForm > *,
body.ntfs-page .p-Grid,
body.ntfs-page .p-GridCell,
body.ntfs-page .p-FieldsetCell,
body.ntfs-page .Label,
body.ntfs-page .Input,
body.ntfs-page p.TermsText,
body.ntfs-page p.Text--terms,
body.ntfs-page .p-TermsText {
    font-size: 13px !important;
}

/* Stripe field labels specifically */
body.ntfs-page label.p-FieldLabel,
body.ntfs-page .p-FieldLabel.Label {
    font-size: 12px !important;
    line-height: 1.3 !important;
}

/* Stripe input text */
body.ntfs-page input.p-Input-input,
body.ntfs-page .p-Input input[type="text"] {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* Terms paragraph */
body.ntfs-page .p-TermsText,
body.ntfs-page p.Text--terms {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Override the catch-all font-size: 14px from earlier rules in payment block */
body.ntfs-page .wp-block-woocommerce-checkout-payment-block .p-FieldLabel,
body.ntfs-page .wp-block-woocommerce-checkout-payment-block .Label {
    font-size: 12px !important;
}

/* NTFS v2: force readable button text (override woo link colors) */
.ntfs-wc .btn, .ntfs-wc a.btn,
.ntfs-wc a.button, .ntfs-wc button.button, .ntfs-wc input.button,
.ntfs-wc button[type="submit"], .ntfs-wc input[type="submit"],
.ntfs-wc .single_add_to_cart_button, .ntfs-wc .checkout-button,
.ntfs-wc .wc-proceed-to-checkout .button, .ntfs-wc .added_to_cart{
  background:#17130E !important; color:#ffffff !important; border-color:#17130E !important;
  border-radius:11px !important;
}
.ntfs-wc .btn:hover, .ntfs-wc a.button:hover, .ntfs-wc button.button:hover,
.ntfs-wc .single_add_to_cart_button:hover, .ntfs-wc .checkout-button:hover{background:#000 !important;color:#fff !important;}
