/* 
 * WooCommerce Custom Styles for Racee Theme 
 * Designed for Shop, Cart, Checkout, and My Account pages.
 */

:root {
    --racee-red: #ef1c22;
    --racee-red-hover: #d3181d;
    --racee-dark: #221F1F;
    --racee-dark-light: #2d2a2a;
    --racee-light-grey: #9B9B9B;
    --racee-border: rgba(155, 155, 155, 0.2);
    --racee-heading-font: 'Urbanist', 'Work Sans', system-ui, -apple-system, sans-serif;
    --racee-body-font: 'Work Sans', system-ui, -apple-system, sans-serif;
    --racee-text-color: #4a4a4a;
    --racee-heading-color: #3b3b3b;
}

/* 
 * 1. Container and Layout 
 * Ensures WooCommerce content doesn't go edge-to-edge.
 */
.woocommerce-cart .innerpage_banner,
.woocommerce-checkout .innerpage_banner,
.woocommerce-account .innerpage_banner, 
.woocommerce-shop .site-content{max-width: 1400px;margin-left: auto !important;margin-right: auto !important;padding-left: 30px !important;padding-right: 30px !important;width: 100%;box-sizing: border-box;}
.woocommerce-cart .innerpage_content,
.woocommerce-checkout .innerpage_content,
.woocommerce-account .innerpage_content, 
.woocommerce-shop .site-content{max-width: 1400px;margin-left: auto !important;margin-right: auto !important;padding-left: 30px !important;padding-right: 30px !important;width: 100%;box-sizing: border-box;padding-top: 0;}
.woocommerce-cart .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover {
    background: var(--racee-red);color: #ffffff;}

/* WooCommerce – theme typography & buttons */
.woocommerce:not(.single-product) h1,
.woocommerce:not(.single-product) h2,
.woocommerce:not(.single-product) h3,
.woocommerce:not(.single-product) h4,
.woocommerce:not(.single-product) .cart_totals h2,
.woocommerce:not(.single-product) .woocommerce-billing-fields h3,
.woocommerce:not(.single-product) .woocommerce-shipping-fields h3,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce:not(.single-product) div.product .product_title {font-family: var(--racee-heading-font);color: var(--racee-heading-color);font-weight: 700;line-height: 1.2;}
.woocommerce:not(.single-product) p,
.woocommerce:not(.single-product) .woocommerce-product-details__short-description p,
.woocommerce:not(.single-product) table.shop_table td,
.woocommerce:not(.single-product) .product .summary p,
.woocommerce:not(.single-product) .woocommerce-Tabs-panel p {font-family: var(--racee-body-font);color: var(--racee-text-color);line-height: 1.6;}
.woocommerce:not(.single-product) a:not(.button):not(.woocommerce-loop-product__link) {color: var(--racee-dark);font-family: var(--racee-body-font);}
.woocommerce:not(.single-product) a:not(.button):not(.woocommerce-loop-product__link):hover {color: var(--racee-red);}
.woocommerce:not(.single-product) .form-row label,
.woocommerce:not(.single-product) form .form-row label {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-heading-color);}
.woocommerce:not(.single-product) .form-row input.input-text,
.woocommerce:not(.single-product) .form-row textarea,
.woocommerce:not(.single-product) .form-row select {font-family: var(--racee-body-font);color: var(--racee-text-color);border: 1px solid var(--racee-border);border-radius: 0;}
.woocommerce:not(.single-product) input[type="submit"].button {font-family: var(--racee-heading-font);font-weight: 700;text-transform: uppercase;letter-spacing: 1.5px;}

/* Global Cleanups */
.woocommerce-breadcrumb {padding: 20px 0 !important;font-size: 13px;color: var(--racee-light-grey);text-transform: uppercase;letter-spacing: 1px;border-bottom: 1px solid var(--racee-border);margin-bottom: 40px !important;}
.woocommerce-breadcrumb a {color: var(--racee-dark);}
.woocommerce-breadcrumb a:hover {color: var(--racee-red);}

/* WooCommerce Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {background-color: #fff !important;border-top: 4px solid var(--racee-red) !important;color: var(--racee-dark) !important;padding: 25px 30px !important;margin-bottom: 40px !important;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);border-radius: 0 !important;}
.woocommerce-message .button {background: var(--racee-dark) !important;border-radius: 0 !important;text-transform: uppercase;font-size: 12px;}
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message, .woocommerce-message, .woocommerce-info, .woocommerce-error{padding-left: 50px !important;}
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {top: unset !important;}

/* Buttons */
.woocommerce:not(.single-product) a.button,
.woocommerce:not(.single-product) button.button,
.woocommerce:not(.single-product) input.button,
.woocommerce:not(.single-product) #respond input#submit,
.woocommerce:not(.single-product) a.button.alt,
.woocommerce:not(.single-product) button.button.alt,
.woocommerce:not(.single-product) input.button.alt {background-color: var(--racee-dark) !important;color: #fff !important;font-family: var(--racee-heading-font);text-transform: uppercase;font-weight: 700;letter-spacing: 1.5px;padding: 16px 35px !important;border-radius: 0 !important;transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);border: none !important;display: inline-block;}
.woocommerce:not(.single-product) a.button:hover,
.woocommerce:not(.single-product) button.button:hover,
.woocommerce:not(.single-product) a.button.alt:hover,
.woocommerce:not(.single-product) button.button.alt:hover {background-color: var(--racee-red) !important;color: #fff !important;transform: translateY(-2px);}

/* Shop Page */
.woocommerce:not(.single-product) .products ul,
.woocommerce:not(.single-product) ul.products {margin: 0 -15px !important;}
.woocommerce:not(.single-product) ul.products li.product {padding: 0 15px 30px !important;margin-bottom: 0 !important;}
.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__link {display: block;background: #fff;border: 1px solid var(--racee-border);padding: 20px;transition: all 0.3s ease;}
.woocommerce:not(.single-product) ul.products li.product:hover .woocommerce-loop-product__link {box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);transform: translateY(-5px);}
.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__title {font-family: var(--racee-heading-font);font-size: 20px;font-weight: 800;color: var(--racee-dark);margin-top: 20px;}
.woocommerce:not(.single-product) ul.products li.product .price {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-red);font-size: 1.2em;margin-bottom: 15px;}

/* Cart Page */
.woocommerce-cart table.cart td.product-remove a {color: var(--racee-red) !important;font-size: 24px;}
.woocommerce table.shop_table {border: 1px solid var(--racee-border) !important;border-radius: 0 !important;}
.woocommerce table.shop_table th {background: #fdfdfd;font-family: var(--racee-heading-font);text-transform: uppercase;font-weight: 800;letter-spacing: 1px;padding: 20px !important;}
.woocommerce table.shop_table td {padding: 20px !important;vertical-align: middle;}
.woocommerce .quantity .qty {width: 60px;padding: 10px;border: 1px solid var(--racee-border);border-radius: 0;font-family: var(--racee-heading-font);font-weight: 700;}

/* Cart Totals */
.cart-collaterals .cart_totals {background: #fff;padding: 40px;border: 1px solid var(--racee-border);}
.cart-collaterals .cart_totals h2 {font-family: var(--racee-heading-font);font-weight: 900;font-size: 28px;text-transform: uppercase;margin-bottom: 30px;}

/* WooCommerce Block Cart (wc-block-cart) */
.wc-block-cart__totals-title,
.wc-block-cart-items__header th span {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-heading-color);text-transform: uppercase;letter-spacing: 0.05em;}
.wc-block-components-product-name {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-dark);}
.wc-block-components-product-name:hover {color: var(--racee-red);}
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-components-totals-footer-item-tax-value {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-dark);}
.wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted {color: var(--racee-red);}
.wc-block-cart-item__prices .wc-block-components-product-price__regular {color: var(--racee-light-grey);}
.wc-block-components-product-metadata__description p,
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {font-family: var(--racee-body-font);color: var(--racee-text-color);line-height: 1.6;}
.wc-block-components-product-badge.wc-block-components-sale-badge {display: inline-block;padding: 6px 12px;border: 1px solid var(--racee-dark);font-family: var(--racee-heading-font);font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--racee-dark);background: transparent;border-radius: 0;}
.wc-block-components-quantity-selector {border: 1px solid var(--racee-border);border-radius: 0;}
.wc-block-components-quantity-selector__input {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-dark);border: none;border-left: 1px solid var(--racee-border);border-right: 1px solid var(--racee-border);padding: 10px 12px;min-width: 50px;text-align: center;}
.wc-block-components-quantity-selector__button {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-dark);background: #fff;border: none;padding: 10px 14px;cursor: pointer;transition: background 0.2s ease, color 0.2s ease;}
.wc-block-components-quantity-selector__button:hover:not(:disabled) {background: var(--racee-dark);color: #fff;}
.wc-block-components-quantity-selector__button:disabled {opacity: 0.4;cursor: not-allowed;}
.wc-block-cart-item__remove-link {font-family: var(--racee-body-font);font-size: 13px;color: var(--racee-dark);text-decoration: none;transition: color 0.2s ease;}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name{font-size: 21px !important;}
.wc-block-cart-item__remove-link:hover {color: var(--racee-red);}
.wc-block-components-panel__button {font-family: var(--racee-heading-font);font-weight: 600;color: var(--racee-dark);text-transform: uppercase;letter-spacing: 0.05em;}
.wc-block-components-totals-item__label {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-heading-color);}
.wc-block-components-totals-item__value {font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-dark);}
.wc-block-cart__submit-button.wc-block-components-button,
a.wc-block-cart__submit-button.wc-block-components-button {background-color: var(--racee-dark) !important;color: #fff !important;font-family: var(--racee-heading-font) !important;font-weight: 700 !important;text-transform: uppercase !important;letter-spacing: 1.5px !important;padding: 16px 35px !important;border: none !important;border-radius: 0 !important;text-decoration: none !important;display: inline-block !important;transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;}
.wc-block-cart__submit-button.wc-block-components-button:hover,
a.wc-block-cart__submit-button.wc-block-components-button:hover {background-color: var(--racee-red) !important;color: #fff !important;transform: translateY(-2px);}
.wc-block-cart-items__header th {border-bottom: 1px solid var(--racee-border);padding: 16px 0;}
.wc-block-cart-item__image img {border: 1px solid var(--racee-border);}
.wc-block-cart-items__header-image span {font-size: 0;}
.wc-block-cart-items__header-image span::before {content: 'Ticket';font-size: 14px;font-family: var(--racee-heading-font);font-weight: 700;color: var(--racee-heading-color);text-transform: uppercase;letter-spacing: 0.05em;}

/* Checkout Page */
.woocommerce-checkout .form-row label {font-family: var(--racee-heading-font);font-weight: 700;text-transform: uppercase;font-size: 12px;color: var(--racee-dark);}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {border: 1px solid var(--racee-border) !important;border-radius: 0 !important;padding: 12px 15px !important;}
.wc-block-components-checkout-place-order-button.wc-block-components-button,
button.wc-block-components-checkout-place-order-button {background-color: var(--racee-dark) !important;color: #fff !important;font-family: var(--racee-heading-font) !important;font-weight: 700 !important;text-transform: uppercase !important;letter-spacing: 1.5px !important;padding: 16px 35px !important;border: none !important;border-radius: 0 !important;transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;}
.wc-block-components-checkout-place-order-button.wc-block-components-button:hover,
button.wc-block-components-checkout-place-order-button:hover {background-color: var(--racee-red) !important;color: #fff !important;transform: translateY(-2px);}
.wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button__text {color: inherit;font: inherit;}
td.woocommerce-table__product-name.product-name {background: #fdfdfd;}

/* My Account Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {padding-right: 30px;}
.woocommerce-account .woocommerce-MyAccount-navigation ul {border: 1px solid var(--racee-border);padding: 0;list-style: none;}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {border-bottom: 1px solid var(--racee-border);}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {display: block;padding: 18px 25px;font-family: var(--racee-heading-font);font-weight: 700;text-transform: uppercase;color: var(--racee-dark);}
/* .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {background-color: var(--racee-red);color: #fff;} */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{color: var(--racee-red) !important;}
.woocommerce-account .woocommerce-MyAccount-content {background: #fff;padding: 40px;border: 1px solid var(--racee-border);}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {margin: 0;}
.update-customer-to-vendor.register input.dokan-btn:disabled,
.update-customer-to-vendor.register input.dokan-btn[disabled] {opacity: 0.45;cursor: not-allowed;transform: none !important;} 
.woocommerce-account .addresses .title a.edit, .dokan-account-migration-lists a.btn.btn-primary, .update-customer-to-vendor.register input.dokan-btn{float: unset !important;background-color: var(--racee-dark) !important;color: #fff !important;font-family: var(--racee-heading-font);text-transform: uppercase;font-weight: 700;letter-spacing: 1.5px;padding: 16px 35px !important;border-radius: 0 !important;transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);border: none !important;display: inline-block;}
.woocommerce-account .addresses .title a.edit:hover, .dokan-account-migration-lists a.btn.btn-primary:hover, .update-customer-to-vendor.register input.dokan-btn:hover {background-color: var(--racee-red) !important;color: #fff !important;transform: translateY(-2px);} 
.woocommerce-account .addresses address{margin-top: 20px;}
.woocommerce-MyAccount-content ul.dokan-account-migration-lists li .right-content{text-align: center !important;}
.select2-container--default .select2-selection--single{height: unset !important; border: 1px solid var(--racee-border) !important;}
.woocommerce-EditAccountForm fieldset{padding: 10px;margin-bottom: 15px;}
.woocommerce .woocommerce-MyAccount-content p a{color: var(--racee-red) !important;}

/* my account form */
p.vendor-customer-registration label.radio{display: flex;gap: 12px;}

/* Responsive */
@media screen and (max-width: 991px) {
.woocommerce-account .woocommerce-MyAccount-navigation {width: 100%;padding-right: 0;margin-bottom: 30px;}
.woocommerce-account .woocommerce-MyAccount-content {width: 100%;}
}

@media screen and (max-width: 768px) {
.woocommerce-cart .innerpage_content,
.woocommerce-checkout .innerpage_content,
.woocommerce-account .innerpage_content,
.post-type-archive-product .innerpage_content,
.single-product .innerpage_content {padding-left: 20px !important;padding-right: 20px !important;}
.dokan-store-wrap {padding-left: 20px;padding-right: 20px;}
}

/* Dokan Pages */
.dokan-form-control{padding: 4px 6px !important;}
.racee-dokan-max-price-wrap .racee-max-price-amount{color:#ed1c24;font-weight:700;}
.product_images li.add-image a i{padding: 0 !important;}
.select2-container--open .select2-dropdown--below{margin-top: 0 !important;}
label input[type='checkbox']{margin: 0 7px 0 0 !important;}
.dokan-panel.dokan-profile-completeness {display: none;}

/* Dokan Store List – container only */
#innerpage_content:has(#dokan-seller-listing-wrap) {max-width: 1400px;margin-left: auto;margin-right: auto;padding-left: 30px;padding-right: 30px;width: 100%;box-sizing: border-box;padding-top: 0;}
.page-id-436 .innerpage_banner{max-width: 1400px;margin-left: auto;margin-right: auto;padding-left: 30px;padding-right: 30px;width: 100%;box-sizing: border-box;}


/* Dokan Vendor Detail Page */
.dokan-store-wrap {max-width: 1400px;margin-left: auto !important;margin-right: auto !important;padding-left: 30px;padding-right: 30px;width: 100%;box-sizing: border-box;}
div#dokan-secondary{display: none;}
.dokan-store-products-filter-area .product-name-search, .dokan-store-products-filter-area .orderby-search{padding-left: 10px;}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{margin: 0 0 3em 0;width: 25%;}

/* Cart empty page: improve \"New in store\" layout */
.woocommerce-cart .woocommerce .products li.product a img,
.woocommerce-cart .woocommerce .products li.product img,
.woocommerce-cart .products li.product a img,
.woocommerce-cart .products li.product img,
.woocommerce-cart li a img {
	max-height: 220px;
	width: auto;
	margin-left: auto;
	margin-right: auto;
	display: block;
	object-fit: contain;
	min-height: 220px;
}

.woocommerce-cart .products li.product,
.woocommerce-cart .woocommerce .products li.product {
	text-align: center;
}

.woocommerce-MyAccount-content .woocommerce-order-details{margin-bottom: 0!important;padding-bottom: 0!important;}
.woocommerce-MyAccount-content .woocommerce-customer-details{margin-bottom: 0!important;padding-bottom: 0!important;}
.wc-block-components-checkbox {margin-top: 10px;}
.racee-dokan-cat-meta {clear: both;}
.racee-dokan-race-summary__row {margin: 0.35em 0;font-size: 14px;line-height: 1.45;}
.racee-dokan-race-summary__label {color: #555;font-weight: 600;margin-right: 0.25em;}
.racee-dokan-race-summary__value {color: #222;}