/**
 * 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 */
.df-checkout-form .form-row { margin: 0 0 16px 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
.df-checkout-form p.form-row { width: 100% !important; }
.df-checkout-form .form-row-first { width: 48% !important; float: left !important; clear: left !important; }
.df-checkout-form .form-row-last { width: 48% !important; float: right !important; clear: none !important; }
.df-checkout-form .form-row-wide { width: 100% !important; float: none !important; clear: both !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: 16px !important; margin-bottom: 10px !important; background: var(--df-surface) !important; transition: border-color 0.2s !important; }
.df-checkout-form .wc_payment_method:has(input:checked) { border-color: var(--df-text-main) !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: 10px !important; margin: 0 !important; }
.df-checkout-form .wc_payment_method .payment_box { margin-top: 12px !important; padding: 12px !important; background: var(--df-bg-main) !important; border-radius: 8px !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: 24px !important; }
.df-checkout-form #payment .payment_methods li::before { display: none !important; }
.df-checkout-form #payment div.payment_box { background: var(--df-bg-main) !important; color: var(--df-text-muted) !important; }
.df-checkout-form #payment div.payment_box::before { 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; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li { margin: 0; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; padding: 10px 20px; border-radius: 30px; text-decoration: none; font-weight: 600; font-size: 14px; background: var(--df-surface); border: 1px solid var(--df-border); color: var(--df-text-muted); transition: all 0.2s ease; box-shadow: 0 2px 8px rgba(0,0,0,0.01); }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation a:hover { border-color: var(--df-text-main); color: var(--df-text-main); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.04); }
.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; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { background: transparent; border-color: #fca5a5; color: #ef4444; }
.df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fee2e2; border-color: #ef4444; color: #dc2626; }

/* 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: 400px; display: block; box-sizing: border-box; }
.df-woo-account-wrapper .woocommerce-MyAccount-content > h2,
.df-woo-account-wrapper .woocommerce-MyAccount-content > h3 { font-size: 22px; font-weight: 700; margin-top: 0; margin-bottom: 24px; color: var(--df-text-main); }
.df-woo-account-wrapper .woocommerce-MyAccount-content > p { color: var(--df-text-muted); line-height: 1.6; font-size: 15px; }

/* 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%; border-collapse: separate; border-spacing: 0; margin-bottom: 24px; border: 1px solid var(--df-border); border-radius: 16px; overflow: hidden; }
.df-woo-account-wrapper table th { text-align: left; padding: 16px 20px; background: var(--df-bg-main); border-bottom: 1px solid var(--df-border); color: var(--df-text-main); font-weight: 600; font-size: 14px; }
.df-woo-account-wrapper table td { padding: 16px 20px; border-bottom: 1px solid var(--df-border); color: var(--df-text-muted); font-size: 14px; vertical-align: middle; }
.df-woo-account-wrapper table tr:last-child td { border-bottom: none; }
.df-woo-account-wrapper table .button { background: var(--df-surface); color: var(--df-text-main); border: 1px solid var(--df-border); padding: 8px 16px; border-radius: 20px; text-decoration: none; font-weight: 600; font-size: 13px; transition: all 0.2s; cursor: pointer; display: inline-block; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.df-woo-account-wrapper table .button:hover { background: var(--df-text-main); color: var(--df-surface); border-color: var(--df-text-main); transform: translateY(-1px); }

/* Forms, Inputs, Buttons */
.df-woo-account-wrapper fieldset { border: 1px solid var(--df-border); padding: 24px; border-radius: 16px; margin: 32px 0 24px 0; background: var(--df-bg-main); }
.df-woo-account-wrapper legend { font-size: 16px; font-weight: 600; padding: 0 12px; color: var(--df-text-main); background: var(--df-bg-main); border-radius: 8px; }
.df-woo-account-wrapper form .form-row { margin-bottom: 20px; }
.df-woo-account-wrapper form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; color: var(--df-text-main); }
.df-woo-account-wrapper form input[type="text"],
.df-woo-account-wrapper form input[type="password"],
.df-woo-account-wrapper form input[type="email"],
.df-woo-account-wrapper form input[type="tel"] { width: 100%; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--df-border); font-size: 15px; background: var(--df-bg-main); color: var(--df-text-main); box-sizing: border-box; transition: all 0.2s ease; font-family: inherit; }
.df-woo-account-wrapper form input:focus { border-color: var(--df-text-main); outline: none; background: var(--df-surface); box-shadow: 0 0 0 3px rgba(0,0,0,0.03); }
.df-woo-account-wrapper form .button,
.df-woo-account-wrapper button[name="save_account_details"],
.df-woo-account-wrapper button[name="save_address"],
.df-woo-account-wrapper button[name="track"] { background: var(--df-text-main); color: var(--df-surface); padding: 14px 28px; border-radius: 30px; border: none; font-size: 15px; font-weight: 600; cursor: pointer; transition: transform 0.1s, opacity 0.2s; display: inline-block; width: auto; font-family: inherit; }
.df-woo-account-wrapper form .button:hover { opacity: 0.9; }
.df-woo-account-wrapper form .button:active { transform: scale(0.98); }

/* Login/Registration special wrapper (when logged out) */
.df-woo-account-wrapper #customer_login.u-columns { display: flex; gap: 32px; margin-top: 12px; }
.df-woo-account-wrapper #customer_login .u-column1,
.df-woo-account-wrapper #customer_login .u-column2 { 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); }
.df-woo-account-wrapper .woocommerce-form-login .button,
.df-woo-account-wrapper .woocommerce-form-register .button { width: 100%; margin-top: 16px; }

/* Addresses Grid (Using Flex to ignore pseudo-element grid cells) */
.df-woo-account-wrapper .woocommerce-Addresses { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 24px; width: 100% !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
.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; min-width: 0; background: var(--df-bg-main); padding: 32px; border-radius: 20px; border: 1px solid var(--df-border); position: relative; }
.df-woo-account-wrapper .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.df-woo-account-wrapper .woocommerce-Address-title h3 { font-size: 18px; margin: 0; color: var(--df-text-main); }
.df-woo-account-wrapper .woocommerce-Address-title a { font-size: 13px; font-weight: 600; color: var(--df-surface); background: var(--df-text-main); padding: 6px 16px; border-radius: 20px; text-decoration: none; transition: opacity 0.2s; }
.df-woo-account-wrapper .woocommerce-Address-title a:hover { opacity: 0.9; }

/* WooCommerce Messages */
.df-woo-account-wrapper .woocommerce-message,
.df-woo-account-wrapper .woocommerce-error,
.df-woo-account-wrapper .woocommerce-info { background: var(--df-bg-main); border: 1px dashed var(--df-border); border-radius: 12px; padding: 20px 24px; margin-bottom: 24px; font-size: 15px; color: var(--df-text-main); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.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; margin-left: 0; border-color: #fca5a5; border-style: solid; padding-left: 24px; flex-direction: column; align-items: flex-start; background: #fff5f5; }
.df-woo-account-wrapper .woocommerce-error li { color: #ef4444; }
.df-woo-account-wrapper .woocommerce-message .button,
.df-woo-account-wrapper .woocommerce-info .button { background: var(--df-text-main); color: var(--df-surface); padding: 10px 20px; border-radius: 30px; text-decoration: none; font-weight: 600; font-size: 13px; border: none; white-space: nowrap; margin-left: auto; }

/* Responsive */
@media (max-width: 768px) {
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation { padding-bottom: 20px; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation ul { justify-content: flex-start; gap: 8px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation li { flex-shrink: 0; }
    .df-woo-account-wrapper .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0; }
    .df-woo-account-wrapper #customer_login.u-columns { flex-direction: column; display: flex; }
    .df-woo-account-wrapper #customer_login .u-column1, .df-woo-account-wrapper #customer_login .u-column2 { width: 100% !important; float: none !important; }
    .df-woo-account-wrapper .woocommerce-Addresses { flex-direction: column; }
    .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; margin: 0 !important; }
    .df-woo-account-wrapper .woocommerce-MyAccount-content { padding: 24px; min-height: 300px; margin-top: 16px !important; }
}
