/**
 * Prinftul WooCommerce Styles
 *
 * Checkout form styling + My Account styling.
 * Extracted from page-generator.php <style> block.
 */

/* ===== CHECKOUT STYLES ===== */
.df-checkout { max-width: 100%; margin: 0 auto; padding: 0; }
#view-checkout.df-content { padding-left: 0 !important; padding-right: 0 !important; }
.df-checkout-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { .df-checkout-grid { grid-template-columns: 1fr; } }
.df-checkout-form { background: var(--df-surface); border: 1px solid var(--df-border); border-radius: 20px; padding: 32px; }
.df-checkout-summary { background: var(--df-surface); border: 1px solid var(--df-border); border-radius: 20px; padding: 32px; position: sticky; top: 20px; }
.df-checkout h3 { font-size: 20px; font-weight: 700; margin: 0 0 24px 0; color: var(--df-text-main); }

/* NUKE WooCommerce default layout */
.df-checkout-form .woocommerce { width: 100% !important; max-width: 100% !important; }
.df-checkout-form .woocommerce .col2-set { width: 100% !important; float: none !important; display: block !important; }
.df-checkout-form .woocommerce .col2-set .col-1,
.df-checkout-form .woocommerce .col2-set .col-2 { width: 100% !important; float: none !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.df-checkout-form .woocommerce form.checkout { width: 100% !important; }

/* Hide Additional Information / Order Notes entirely */
.df-checkout-form .woocommerce-additional-fields { display: none !important; }

/* Billing heading */
.df-checkout-form .woocommerce-billing-fields h3,
.df-checkout-form .woocommerce-shipping-fields h3 { font-size: 16px !important; font-weight: 600 !important; margin: 24px 0 16px 0 !important; color: var(--df-text-main) !important; }
.df-checkout-form .woocommerce-billing-fields > h3:first-child { margin-top: 0 !important; }

/* Form rows — deterministic checkout grid. WooCommerce injects clearfix pseudo
   elements into field wrappers; CSS grid lets us ignore that old float layout. */
.df-checkout-form .woocommerce-billing-fields__field-wrapper,
.df-checkout-form .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 4% !important;
    row-gap: 16px !important;
}
.df-checkout-form .woocommerce-billing-fields__field-wrapper::before,
.df-checkout-form .woocommerce-billing-fields__field-wrapper::after,
.df-checkout-form .woocommerce-shipping-fields__field-wrapper::before,
.df-checkout-form .woocommerce-shipping-fields__field-wrapper::after { content: none !important; display: none !important; }
.df-checkout-form .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; float: none !important; clear: none !important; box-sizing: border-box !important; grid-column: 1 / -1 !important; }
.df-checkout-form p.form-row { width: auto !important; max-width: none !important; }
.df-checkout-form p.form-row.form-row-first,
.df-checkout-form p.form-row.form-row-last,
.df-checkout-form .form-row-first,
.df-checkout-form .form-row-last { width: auto !important; max-width: none !important; flex: initial !important; float: none !important; clear: none !important; margin-right: 0 !important; grid-column: auto !important; }
.df-checkout-form .form-row-wide { width: auto !important; max-width: none !important; flex: initial !important; float: none !important; grid-column: 1 / -1 !important; }
/* City + Postcode always pair together as 48/48, State/County always full width after them */
.df-checkout-form #billing_first_name_field,
.df-checkout-form #billing_last_name_field,
.df-checkout-form #shipping_first_name_field,
.df-checkout-form #shipping_last_name_field,
.df-checkout-form #billing_city_field,
.df-checkout-form #billing_postcode_field,
.df-checkout-form #shipping_city_field,
.df-checkout-form #shipping_postcode_field { width: auto !important; max-width: none !important; flex: initial !important; float: none !important; clear: none !important; margin-right: 0 !important; grid-column: auto !important; }
.df-checkout-form #billing_city_field { order: 10 !important; }
.df-checkout-form #billing_postcode_field { order: 11 !important; }
.df-checkout-form #billing_state_field { order: 12 !important; width: auto !important; max-width: none !important; flex: initial !important; grid-column: 1 / -1 !important; }
.df-checkout-form #shipping_city_field { order: 10 !important; }
.df-checkout-form #shipping_postcode_field { order: 11 !important; }
.df-checkout-form #shipping_state_field { order: 12 !important; width: auto !important; max-width: none !important; flex: initial !important; grid-column: 1 / -1 !important; }
@media (max-width: 640px) {
    .df-checkout-form .woocommerce-billing-fields__field-wrapper,
    .df-checkout-form .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; column-gap: 0 !important; }
    .df-checkout-form .form-row,
    .df-checkout-form p.form-row.form-row-first,
    .df-checkout-form p.form-row.form-row-last,
    .df-checkout-form .form-row-first,
    .df-checkout-form .form-row-last { grid-column: 1 / -1 !important; }
}

/* Labels */
.df-checkout-form .form-row label { display: block !important; font-size: 13px !important; font-weight: 500 !important; color: var(--df-text-muted) !important; margin-bottom: 6px !important; }
.df-checkout-form .form-row .required { color: #ef4444 !important; }
.df-checkout-form .form-row label.checkbox,
.df-checkout-form .form-row label[for] { display: block !important; }

/* All inputs, textareas, selects */
.df-checkout-form input[type="text"],
.df-checkout-form input[type="email"],
.df-checkout-form input[type="tel"],
.df-checkout-form input[type="number"],
.df-checkout-form input[type="password"],
.df-checkout-form .input-text,
.df-checkout-form textarea,
.df-checkout-form select { width: 100% !important; padding: 12px 14px !important; border: 1px solid var(--df-border) !important; border-radius: 10px !important; font-size: 14px !important; font-family: inherit !important; background: var(--df-bg-main) !important; color: var(--df-text-main) !important; outline: none !important; transition: border-color 0.2s !important; box-sizing: border-box !important; height: auto !important; line-height: 1.4 !important; -webkit-appearance: none !important; box-shadow: none !important; }
.df-checkout-form input:focus,
.df-checkout-form textarea:focus,
.df-checkout-form select:focus { border-color: var(--df-text-main) !important; box-shadow: none !important; }

/* Select2 overrides */
.df-checkout-form .select2-container { width: 100% !important; }
.df-checkout-form .select2-container .select2-selection--single { width: 100% !important; padding: 12px 14px !important; border: 1px solid var(--df-border) !important; border-radius: 10px !important; height: auto !important; line-height: 1.4 !important; background: var(--df-bg-main) !important; box-shadow: none !important; }
.df-checkout-form .select2-container .select2-selection__rendered { padding: 0 !important; color: var(--df-text-main) !important; line-height: inherit !important; font-size: 14px !important; }
.df-checkout-form .select2-container .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; right: 10px !important; }

/* Payment methods */
.df-checkout-form #payment { background: transparent !important; border-radius: 0 !important; }
.df-checkout-form .wc_payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 24px 0 !important; background: transparent !important; border: none !important; }
.df-checkout-form .wc_payment_method { border: 1px solid var(--df-border) !important; border-radius: 12px !important; padding: 0 !important; margin-bottom: 10px !important; background: var(--df-surface) !important; transition: border-color 0.2s !important; overflow: hidden !important; }
.df-checkout-form .wc_payment_method:has(input:checked) { border-color: var(--df-text-main) !important; }
/* Radio + Label row: horizontal with icon right-aligned */
.df-checkout-form .wc_payment_method > input[type="radio"] { display: none !important; }
.df-checkout-form .wc_payment_method > label { font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important; display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 !important; padding: 16px !important; }
.df-checkout-form .wc_payment_method > label::before { content: '' !important; display: inline-block !important; width: 18px !important; height: 18px !important; min-width: 18px !important; border-radius: 50% !important; border: 2px solid var(--df-border) !important; background: var(--df-surface) !important; transition: all 0.2s !important; box-sizing: border-box !important; }
.df-checkout-form .wc_payment_method:has(input:checked) > label::before { border-color: var(--df-text-main) !important; background: var(--df-text-main) !important; box-shadow: inset 0 0 0 3px var(--df-surface) !important; }
.df-checkout-form .wc_payment_method > label img,
.df-checkout-form .wc_payment_method > label .stripe-icon { margin-left: auto !important; max-height: 22px !important; }
/* Payment details box — clean, no ugly background */
.df-checkout-form .wc_payment_method .payment_box { margin: 0 !important; padding: 0 16px 16px !important; background: transparent !important; border-radius: 0 !important; font-size: 13px !important; color: var(--df-text-muted) !important; line-height: 1.5 !important; }
.df-checkout-form .wc_payment_method img { max-height: 22px !important; }
.df-checkout-form #payment .payment_methods li::before { display: none !important; }
.df-checkout-form #payment div.payment_box { background: transparent !important; color: var(--df-text-muted) !important; }
.df-checkout-form #payment div.payment_box::before { display: none !important; }
/* Save payment method checkbox row */
.df-checkout-form .wc_payment_method .woocommerce-SavedPaymentMethods-saveNew { display: flex !important; align-items: center !important; gap: 8px !important; margin: 8px 0 0 !important; }
.df-checkout-form .wc_payment_method .woocommerce-SavedPaymentMethods-saveNew label { display: inline !important; font-size: 13px !important; font-weight: 400 !important; color: var(--df-text-muted) !important; cursor: pointer !important; padding: 0 !important; }
.df-checkout-form .wc_payment_method .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] { width: 16px !important; height: 16px !important; margin: 0 !important; }
/* Hide empty saved payment methods list */
.df-checkout-form .wc-saved-payment-methods[data-count="0"] { display: none !important; }

/* Place order button */
.df-checkout-form #place_order { width: 100% !important; padding: 16px !important; background: var(--df-text-main) !important; color: var(--df-surface) !important; border: none !important; border-radius: 30px !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer !important; transition: opacity 0.2s !important; font-family: inherit !important; line-height: 1 !important; }
.df-checkout-form #place_order:hover { opacity: 0.9 !important; }
.df-checkout-form .place-order { padding: 0 !important; margin-top: 16px !important; }

/* Notices */
.df-checkout-form .woocommerce-error,
.df-checkout-form .woocommerce-message,
.df-checkout-form .woocommerce-info { border-radius: 12px !important; padding: 14px 18px !important; font-size: 13px !important; margin-bottom: 16px !important; border: none !important; list-style: none !important; }
.df-checkout-form .woocommerce-error::before,
.df-checkout-form .woocommerce-message::before,
.df-checkout-form .woocommerce-info::before { display: none !important; }
.df-checkout-form .woocommerce-info { padding-left: 18px !important; }
.df-checkout-form .woocommerce-error { padding-left: 18px !important; }
.df-checkout-form .woocommerce-message { padding-left: 18px !important; }
.df-checkout-form .woocommerce-NoticeGroup { margin-bottom: 16px !important; }

/* Hide order review table (we have our own summary) */
.df-checkout-form .woocommerce-checkout-review-order-table { display: none !important; }
.df-checkout-form #order_review_heading { display: none !important; }

/* Terms & privacy */
.df-checkout-form .woocommerce-terms-and-conditions-wrapper { margin-top: 16px !important; font-size: 13px !important; color: var(--df-text-muted) !important; line-height: 1.5 !important; }
.df-checkout-form .woocommerce-privacy-policy-text { font-size: 12px !important; color: var(--df-text-muted) !important; margin-bottom: 16px !important; }
.df-checkout-form .woocommerce-form__label-for-checkbox { display: flex !important; align-items: flex-start !important; gap: 8px !important; font-size: 13px !important; cursor: pointer !important; }

/* Coupon */
.df-checkout-form .woocommerce-form-coupon-toggle { margin-bottom: 16px !important; }
.df-checkout-form .woocommerce-form-coupon-toggle .woocommerce-info { background: var(--df-bg-main) !important; }
.df-checkout-form .checkout_coupon { padding: 16px !important; background: var(--df-bg-main) !important; border: 1px solid var(--df-border) !important; border-radius: 12px !important; margin-bottom: 16px !important; }
.df-checkout-form .checkout_coupon .button { padding: 10px 20px !important; background: var(--df-text-main) !important; color: var(--df-surface) !important; border: none !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; }

/* Create account */
.df-checkout-form .create-account { padding: 16px !important; background: var(--df-bg-main) !important; border-radius: 12px !important; margin-top: 12px !important; }

/* Summary items */
.df-checkout-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--df-border); align-items: center; }
.df-checkout-item:last-child { border-bottom: none; }
.df-checkout-item-img { width: 56px; height: 56px; border-radius: 10px; background: #f3f3f3; overflow: hidden; flex-shrink: 0; }
.df-checkout-item-img img { width: 100%; height: 100%; object-fit: cover; }
.df-checkout-item-info { flex: 1; }
.df-checkout-item-name { font-size: 14px; font-weight: 600; color: var(--df-text-main); line-height: 1.3; margin-bottom: 4px; }
.df-checkout-item-meta { font-size: 12px; color: var(--df-text-muted); }
.df-checkout-item-price { font-size: 14px; font-weight: 600; color: var(--df-text-main); white-space: nowrap; }
.df-checkout-totals { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--df-border); }
.df-checkout-totals-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; color: var(--df-text-muted); }
.df-checkout-totals-row.total { font-size: 18px; font-weight: 700; color: var(--df-text-main); padding-top: 14px; border-top: 1px solid var(--df-border); margin-top: 8px; }
.df-checkout-back { display: inline-flex; align-items: center; gap: 6px; color: var(--df-text-muted); text-decoration: none; font-size: 13px; font-weight: 500; margin-bottom: 20px; transition: color 0.2s; }
.df-checkout-back:hover { color: var(--df-text-main); }

/* ===== MY ACCOUNT STYLES ===== */
.df-woo-account-wrapper { display: flex; flex-direction: column; gap: 24px; margin-top: 12px; }

/* Navigation Menu (Horizontal) */
.df-woo-account-wrapper .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; border-bottom: 1px solid var(--df-border); padding-bottom: 24px; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 12px !important; justify-content: center !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li { margin: 0 !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation a { display: inline-flex !important; align-items: center !important; padding: 10px 20px !important; border-radius: 30px !important; text-decoration: none !important; font-weight: 600 !important; font-size: 14px !important; background: var(--df-surface) !important; border: 1px solid var(--df-border) !important; color: var(--df-text-muted) !important; transition: all 0.2s ease !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation a:hover { border-color: var(--df-text-main) !important; color: var(--df-text-main) !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.is-active a { background: var(--df-text-main) !important; color: var(--df-surface) !important; border-color: var(--df-text-main) !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: auto !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { background: transparent !important; border-color: #fca5a5 !important; color: #ef4444 !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fee2e2 !important; border-color: #ef4444 !important; color: #dc2626 !important; }

/* Content Area */
.df-woo-account-wrapper .woocommerce-MyAccount-content { width: 100% !important; float: none !important; margin-top: 24px !important; flex: 1; background: var(--df-surface); border: 1px solid var(--df-border); border-radius: 24px; padding: 40px; box-shadow: 0 12px 32px rgba(0,0,0,0.02); min-height: 200px; display: block; box-sizing: border-box; overflow: visible; }
.df-woo-account-wrapper .woocommerce-MyAccount-content > h2,
.df-woo-account-wrapper .woocommerce-MyAccount-content > h3 { font-size: 22px !important; font-weight: 700 !important; margin-top: 0 !important; margin-bottom: 24px !important; color: var(--df-text-main) !important; }
.df-woo-account-wrapper .woocommerce-MyAccount-content > p { color: var(--df-text-muted) !important; line-height: 1.6 !important; font-size: 15px !important; }

/* Account Tables */
.df-woo-account-wrapper table.woocommerce-orders-table,
.df-woo-account-wrapper table.woocommerce-MyAccount-orders,
.df-woo-account-wrapper table.my_account_orders,
.df-woo-account-wrapper table.woocommerce-table--order-details { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; margin-bottom: 24px !important; border: 1px solid var(--df-border) !important; border-radius: 16px !important; overflow: hidden !important; }
.df-woo-account-wrapper table th { text-align: left !important; padding: 16px 20px !important; background: var(--df-bg-main) !important; border-bottom: 1px solid var(--df-border) !important; color: var(--df-text-main) !important; font-weight: 600 !important; font-size: 14px !important; }
.df-woo-account-wrapper table td { padding: 16px 20px !important; border-bottom: 1px solid var(--df-border) !important; color: var(--df-text-muted) !important; font-size: 14px !important; vertical-align: middle !important; }
.df-woo-account-wrapper table tr:last-child td { border-bottom: none !important; }
.df-woo-account-wrapper table .button,
.df-woo-account-wrapper table .woocommerce-button { background: var(--df-surface) !important; color: var(--df-text-main) !important; border: 1px solid var(--df-border) !important; padding: 8px 16px !important; border-radius: 20px !important; text-decoration: none !important; font-weight: 600 !important; font-size: 13px !important; transition: all 0.2s !important; cursor: pointer !important; display: inline-block !important; line-height: 1.4 !important; }
.df-woo-account-wrapper table .button:hover,
.df-woo-account-wrapper table .woocommerce-button:hover { background: var(--df-text-main) !important; color: var(--df-surface) !important; border-color: var(--df-text-main) !important; }

/* ===== FORM LAYOUT (Address Edit, Account Details) ===== */
.df-woo-account-wrapper .woocommerce-address-fields__field-wrapper,
.df-woo-account-wrapper .woocommerce-EditAccountForm { display: flex !important; flex-wrap: wrap !important; gap: 0 24px !important; }
.df-woo-account-wrapper .woocommerce-address-fields__field-wrapper > .form-row,
.df-woo-account-wrapper .woocommerce-EditAccountForm > .form-row { margin-bottom: 20px !important; box-sizing: border-box !important; }
.df-woo-account-wrapper .form-row-wide { width: 100% !important; flex: 0 0 100% !important; float: none !important; clear: both !important; }
.df-woo-account-wrapper .form-row-first { width: calc(50% - 12px) !important; flex: 0 0 calc(50% - 12px) !important; float: none !important; clear: none !important; }
.df-woo-account-wrapper .form-row-last { width: calc(50% - 12px) !important; flex: 0 0 calc(50% - 12px) !important; float: none !important; clear: none !important; }

/* Fieldsets (password change) */
.df-woo-account-wrapper fieldset { border: 1px solid var(--df-border) !important; padding: 24px !important; border-radius: 16px !important; margin: 32px 0 24px 0 !important; background: var(--df-bg-main) !important; }
.df-woo-account-wrapper legend { font-size: 16px !important; font-weight: 600 !important; padding: 0 12px !important; color: var(--df-text-main) !important; background: var(--df-bg-main) !important; border-radius: 8px !important; }

/* Labels */
.df-woo-account-wrapper label { display: block !important; font-size: 13px !important; font-weight: 600 !important; margin-bottom: 8px !important; color: var(--df-text-main) !important; }
.df-woo-account-wrapper label .required { color: #ef4444 !important; }
.df-woo-account-wrapper label .optional { color: var(--df-text-muted) !important; font-weight: 400 !important; }
.df-woo-account-wrapper label.screen-reader-text { clip: unset !important; clip-path: unset !important; height: auto !important; width: auto !important; position: static !important; overflow: visible !important; }

/* ALL inputs, textareas, selects — super aggressive */
.df-woo-account-wrapper input[type="text"],
.df-woo-account-wrapper input[type="password"],
.df-woo-account-wrapper input[type="email"],
.df-woo-account-wrapper input[type="tel"],
.df-woo-account-wrapper input[type="number"],
.df-woo-account-wrapper .input-text,
.df-woo-account-wrapper textarea,
.df-woo-account-wrapper select { width: 100% !important; padding: 14px 16px !important; border-radius: 12px !important; border: 1px solid var(--df-border) !important; font-size: 15px !important; background: var(--df-bg-main) !important; color: var(--df-text-main) !important; box-sizing: border-box !important; transition: border-color 0.2s ease !important; font-family: inherit !important; -webkit-appearance: none !important; appearance: none !important; outline: none !important; box-shadow: none !important; height: auto !important; line-height: 1.4 !important; }
.df-woo-account-wrapper input:focus,
.df-woo-account-wrapper .input-text:focus,
.df-woo-account-wrapper select:focus,
.df-woo-account-wrapper textarea:focus { border-color: var(--df-text-main) !important; background: var(--df-surface) !important; box-shadow: 0 0 0 3px rgba(0,0,0,0.03) !important; outline: none !important; }

/* Select2 overrides (country/state dropdowns) */
.df-woo-account-wrapper .select2-container { width: 100% !important; }
.df-woo-account-wrapper .select2-container .select2-selection--single { width: 100% !important; padding: 14px 16px !important; border: 1px solid var(--df-border) !important; border-radius: 12px !important; height: auto !important; line-height: 1.4 !important; background: var(--df-bg-main) !important; box-shadow: none !important; }
.df-woo-account-wrapper .select2-container .select2-selection__rendered { padding: 0 !important; color: var(--df-text-main) !important; line-height: inherit !important; font-size: 15px !important; }
.df-woo-account-wrapper .select2-container .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; right: 12px !important; }

/* ===== ALL BUTTONS ===== */
.df-woo-account-wrapper .button,
.df-woo-account-wrapper .woocommerce-Button,
.df-woo-account-wrapper .woocommerce-Button--alt,
.df-woo-account-wrapper button[type="submit"],
.df-woo-account-wrapper button[name="save_account_details"],
.df-woo-account-wrapper button[name="save_address"],
.df-woo-account-wrapper #place_order,
.df-woo-account-wrapper input[type="submit"] { background: var(--df-text-main) !important; color: var(--df-surface) !important; padding: 14px 28px !important; border-radius: 30px !important; border: none !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; transition: transform 0.1s, opacity 0.2s !important; display: inline-block !important; width: auto !important; font-family: inherit !important; line-height: 1.4 !important; text-decoration: none !important; box-shadow: none !important; }
.df-woo-account-wrapper .button:hover,
.df-woo-account-wrapper .woocommerce-Button:hover,
.df-woo-account-wrapper .woocommerce-Button--alt:hover,
.df-woo-account-wrapper button[type="submit"]:hover { opacity: 0.9 !important; }
.df-woo-account-wrapper .button:active,
.df-woo-account-wrapper button[type="submit"]:active { transform: scale(0.98) !important; }

/* ===== PAYMENT METHODS in Account ===== */
.df-woo-account-wrapper #payment { background: transparent !important; border-radius: 0 !important; }
.df-woo-account-wrapper .payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 24px !important; background: transparent !important; border: none !important; }
.df-woo-account-wrapper .payment_methods li.payment_method_stripe,
.df-woo-account-wrapper .payment_methods li.payment_method_stripe_klarna,
.df-woo-account-wrapper .payment_methods li.woocommerce-PaymentMethod { border: 1px solid var(--df-border) !important; border-radius: 16px !important; padding: 0 !important; margin-bottom: 12px !important; background: var(--df-surface) !important; transition: border-color 0.2s !important; overflow: hidden !important; }
.df-woo-account-wrapper .payment_methods li:has(input:checked) { border-color: var(--df-text-main) !important; }
/* Hide native radio buttons */
.df-woo-account-wrapper .payment_methods li > input[type="radio"] { display: none !important; }
/* Payment method label row */
.df-woo-account-wrapper .payment_methods li > label { font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important; display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 !important; padding: 20px 24px !important; color: var(--df-text-main) !important; }
.df-woo-account-wrapper .payment_methods li > label::before { content: '' !important; display: inline-block !important; width: 18px !important; height: 18px !important; min-width: 18px !important; border-radius: 50% !important; border: 2px solid var(--df-border) !important; background: var(--df-surface) !important; transition: all 0.2s !important; box-sizing: border-box !important; }
.df-woo-account-wrapper .payment_methods li:has(input:checked) > label::before { border-color: var(--df-text-main) !important; background: var(--df-text-main) !important; box-shadow: inset 0 0 0 3px var(--df-surface) !important; }
.df-woo-account-wrapper .payment_methods li > label img { margin-left: auto !important; max-height: 22px !important; }
/* Payment box (Stripe form area) */
.df-woo-account-wrapper .payment_box { margin: 0 !important; padding: 0 24px 20px !important; background: transparent !important; border-radius: 0 !important; font-size: 13px !important; color: var(--df-text-muted) !important; }
.df-woo-account-wrapper .payment_box::before { display: none !important; }
.df-woo-account-wrapper #payment .payment_methods li::before { display: none !important; }
/* Stripe UPE form inside payment box */
.df-woo-account-wrapper .wc-upe-form { border: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.df-woo-account-wrapper .wc-upe-form fieldset { border: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
/* Save payment checkbox */
.df-woo-account-wrapper .woocommerce-SavedPaymentMethods-saveNew { display: flex !important; align-items: center !important; gap: 8px !important; margin: 8px 0 0 !important; }
.df-woo-account-wrapper .woocommerce-SavedPaymentMethods-saveNew label { display: inline !important; font-size: 13px !important; font-weight: 400 !important; color: var(--df-text-muted) !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; }
.df-woo-account-wrapper .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] { width: 16px !important; height: 16px !important; padding: 0 !important; margin: 0 !important; border-radius: 4px !important; }
/* Add payment method submit area */
.df-woo-account-wrapper #payment .form-row { padding: 16px 0 0 !important; margin: 0 !important; }

/* Login/Registration wrapper */
.df-woo-account-wrapper #customer_login.u-columns { display: flex !important; gap: 32px !important; margin-top: 12px !important; }
.df-woo-account-wrapper #customer_login .u-column1,
.df-woo-account-wrapper #customer_login .u-column2 { flex: 1 !important; background: var(--df-surface) !important; border: 1px solid var(--df-border) !important; border-radius: 24px !important; padding: 40px !important; }
.df-woo-account-wrapper .woocommerce-form-login .button,
.df-woo-account-wrapper .woocommerce-form-register .button { width: 100% !important; margin-top: 16px !important; }

/* Addresses Grid */
.df-woo-account-wrapper .woocommerce-Addresses { display: flex !important; flex-wrap: wrap !important; gap: 24px !important; margin-top: 24px !important; width: 100% !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
.df-woo-account-wrapper .woocommerce-Addresses.col2-set::before,
.df-woo-account-wrapper .woocommerce-Addresses.col2-set::after { display: none !important; }
.df-woo-account-wrapper .woocommerce-Addresses .col-1,
.df-woo-account-wrapper .woocommerce-Addresses .col-2 { width: calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; flex: 0 0 calc(50% - 12px) !important; float: none !important; margin: 0 !important; box-sizing: border-box !important; background: var(--df-bg-main) !important; padding: 32px !important; border-radius: 20px !important; border: 1px solid var(--df-border) !important; }
.df-woo-account-wrapper .woocommerce-Address-title { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; }
.df-woo-account-wrapper .woocommerce-Address-title h3 { font-size: 18px !important; margin: 0 !important; color: var(--df-text-main) !important; }
.df-woo-account-wrapper .woocommerce-Address-title a { font-size: 13px !important; font-weight: 600 !important; color: var(--df-surface) !important; background: var(--df-text-main) !important; padding: 8px 18px !important; border-radius: 20px !important; text-decoration: none !important; display: inline-flex !important; }
.df-woo-account-wrapper .woocommerce-Address-title a:hover { opacity: 0.9 !important; }
.df-woo-account-wrapper address { font-style: normal !important; color: var(--df-text-muted) !important; line-height: 1.8 !important; font-size: 14px !important; }

/* WooCommerce Messages / Notices */
.df-woo-account-wrapper .woocommerce-message,
.df-woo-account-wrapper .woocommerce-error,
.df-woo-account-wrapper .woocommerce-info { background: var(--df-bg-main) !important; border: 1px solid var(--df-border) !important; border-radius: 16px !important; padding: 20px 24px !important; margin-bottom: 24px !important; font-size: 14px !important; color: var(--df-text-main) !important; display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 16px !important; line-height: 1.6 !important; }
.df-woo-account-wrapper .woocommerce-error::before,
.df-woo-account-wrapper .woocommerce-message::before,
.df-woo-account-wrapper .woocommerce-info::before { display: none !important; }
.df-woo-account-wrapper .woocommerce-error { list-style: none !important; border-color: #fca5a5 !important; background: #fff5f5 !important; flex-direction: column !important; align-items: flex-start !important; }
.df-woo-account-wrapper .woocommerce-error li { color: #ef4444 !important; }
.df-woo-account-wrapper .woocommerce-info { border-style: dashed !important; }
.df-woo-account-wrapper .woocommerce-message .button,
.df-woo-account-wrapper .woocommerce-info .button { background: var(--df-text-main) !important; color: var(--df-surface) !important; padding: 10px 20px !important; border-radius: 30px !important; text-decoration: none !important; font-weight: 600 !important; font-size: 13px !important; border: none !important; white-space: nowrap !important; margin-left: auto !important; }

/* Responsive */
@media (max-width: 1024px) {
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation { padding-bottom: 20px !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation ul { justify-content: flex-start !important; gap: 8px !important; flex-wrap: nowrap !important; overflow-x: auto !important; padding-bottom: 8px !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation li { flex-shrink: 0 !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation a { padding: 8px 16px !important; font-size: 13px !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0 !important; }
    .df-woo-account-wrapper #customer_login.u-columns { flex-direction: column !important; }
    .df-woo-account-wrapper #customer_login .u-column1, .df-woo-account-wrapper #customer_login .u-column2 { width: 100% !important; }
    .df-woo-account-wrapper .woocommerce-Addresses { flex-direction: column !important; }
    .df-woo-account-wrapper .woocommerce-Addresses .col-1, .df-woo-account-wrapper .woocommerce-Addresses .col-2 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-content { padding: 24px !important; min-height: auto !important; margin-top: 16px !important; }
    .df-woo-account-wrapper fieldset { padding: 16px !important; }
    .df-woo-account-wrapper .form-row-first,
    .df-woo-account-wrapper .form-row-last { width: 100% !important; flex: 0 0 100% !important; }
    .df-woo-account-wrapper .woocommerce-Address-title { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
}
