/**
 * Theme Name:    Blocksy Child
 * Author:        CreativeThemes
 * Template:      blocksy
 * Text Domain:   blocksy-child
 * Description:   Blocksy is a fast, modern WordPress theme with advanced WooCommerce support and full compatibility with the block editor.
 */

/* * Phoenix Motoworks - Full WooCommerce Theme Overrides
 * Theme: Dark Mode, Minimal, Industrial, No-Movement
 * Covers: Shop Grid, Single Product, Cart, Checkout, Mini Cart, Globals
 */

/* ==========================================================================
   1. GLOBAL WOOCOMMERCE ELEMENTS (Buttons, Inputs, Notices)
   ========================================================================== */

/* Global Buttons & Cart Drawer Buttons (Includes Block Buttons, Added to Cart, Place Order) */
.woocommerce button.button, 
.woocommerce a.button, 
.woocommerce input.button,
.woocommerce #respond input#submit,
.widget_shopping_cart_content .button,
.woocommerce-mini-cart__buttons .button,
.woocommerce-mini-cart__buttons a.checkout,
.wc-block-components-button:not(.is-link),
button.wc-block-components-checkout-place-order-button,
#place_order,
a.checkout-button,
.wc-block-cart__submit-button,
a.added_to_cart,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-components-product-button .wc-block-components-button {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    padding: 0.6rem 1.25rem !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Center the inner text wrapper of WordPress block buttons to remove bottom gap */
.wc-block-components-button__text,
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding-top: 4px !important; /* Offset for Teko font high baseline */
}

.woocommerce button.button:hover, 
.woocommerce a.button:hover, 
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.widget_shopping_cart_content .button:hover,
.woocommerce-mini-cart__buttons .button:hover,
.woocommerce-mini-cart__buttons a.checkout:hover,
.wc-block-components-button:not(.is-link):hover,
button.wc-block-components-checkout-place-order-button:hover,
#place_order:hover,
a.checkout-button:hover,
.wc-block-cart__submit-button:hover,
a.added_to_cart:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-components-product-button .wc-block-components-button:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Global Form Labels */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important;
    color: #ffffff !important;
    margin-bottom: 0.25rem !important;
    display: inline-block !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Global Form Inputs */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row select {
    font-family: 'Teko', sans-serif !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    padding: 0.75rem !important;
    font-size: 1.25rem !important;
    letter-spacing: 1px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce form .form-row input.input-text:focus, 
.woocommerce form .form-row textarea:focus {
    border-color: #ffffff !important;
}

/* Make Placeholders smaller and enforce font */
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder,
.wc-block-components-text-input input::placeholder,
.wc-block-components-address-form input::placeholder,
::placeholder {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.15rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #6b7280 !important;
    opacity: 1 !important;
}

/* Store Notices (Success, Error, Info) */
.woocommerce-message, 
.woocommerce-error, 
.woocommerce-info {
    font-family: 'Teko', sans-serif !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-top: 1px solid #ffffff !important;
    border-radius: 0 !important;
    font-size: 1.35rem !important;
    letter-spacing: 1px !important;
    padding: 1rem 1.5rem !important;
}

.woocommerce-message::before, 
.woocommerce-error::before, 
.woocommerce-info::before {
    color: #ffffff !important;
}


/* ==========================================================================
   2. SHOP PAGE PRODUCT GRID
   ========================================================================== */

/* Grid Container Setup */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    margin-bottom: 3rem !important;
    width: 100% !important;
}

@media (max-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* The Product Card */
.woocommerce ul.products li.product {
    border: 1px solid #222222 !important; 
    background-color: #000000 !important; 
    padding: 1.25rem !important; 
    margin: 0 !important;
    border-radius: 0 !important; 
    display: flex !important;
    flex-direction: column !important;
    transition: border-color 0.3s ease !important; 
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product:hover {
    border-color: #ffffff !important; 
}

/* Product Image */
.woocommerce ul.products li.product a img {
    margin: 0 0 1.5rem 0 !important;
    width: 100% !important;
    height: auto !important;
    border-bottom: 1px solid #222222 !important; 
    border-radius: 0 !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce ul.products li.product:hover a img {
    border-bottom-color: #ffffff !important; 
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Teko', sans-serif !important; 
    font-size: 1.5rem !important; 
    font-weight: 700 !important;
    letter-spacing: 2px !important; 
    text-transform: uppercase !important;
    color: #ffffff !important; 
    padding: 0 !important;
    margin-bottom: 0.25rem !important;
    transition: color 0.3s ease !important;
    word-wrap: normal !important;
    word-break: normal !important;
}

/* Keep Product Title White on Hover */
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:hover h2,
.woocommerce ul.products li.product a:hover h3,
.woocommerce ul.products li.product h2:hover,
.woocommerce ul.products li.product h3:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Pricing Text */
.woocommerce ul.products li.product .price {
    font-family: 'Teko', sans-serif !important;
    color: #9ca3af !important; 
    padding: 0 !important;
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    margin-bottom: 1.5rem !important;
}

.woocommerce ul.products li.product .price del {
    color: #4b5563 !important; 
    font-weight: 400 !important;
    font-size: 1.15rem !important;
    margin-right: 0.5rem !important;
    display: inline-block;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: #ffffff !important; 
    font-weight: 700 !important;
    display: inline-block;
}

/* "Sale!" Badge Override */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale,
.onsale {
    background-color: transparent !important; 
    color: #ffffff !important; 
    font-family: 'Teko', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important; 
    padding: 0.25rem 0.5rem !important;
    min-height: auto !important;
    min-width: auto !important;
    top: 24px !important; 
    left: 24px !important; 
    right: auto !important;
    line-height: 1 !important;
    font-size: 1.1rem !important;
    border: 1px solid #ffffff !important; 
    z-index: 10;
}

/* Hide original Add to Cart button when clicked */
.woocommerce ul.products li.product .button.added {
    display: none !important;
}

/* Hide Ratings & Categories */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-loop-product__category,
.woocommerce ul.products li.product .meta-categories {
    display: none !important;
}

/* ==========================================================================
   3. SINGLE PRODUCT PAGE
   ========================================================================== */

.woocommerce div.product .product_title {
    font-family: 'Teko', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    font-family: 'Teko', sans-serif !important;
    color: #ffffff !important;
    font-size: 1.6rem !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
}

/* Quantity Selector */
.woocommerce div.product form.cart .quantity input.qty {
    font-family: 'Teko', sans-serif !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    height: 3rem !important;
    font-weight: 700 !important;
    font-size: 1.35rem !important;
}

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid #222222 !important;
    padding: 0 !important;
    margin-bottom: 2rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
    padding: 0.5rem 1.5rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid #ffffff !important;
}

/* FIX: Nectar Social & Love Buttons Visibility on Black Background */
.woocommerce div.product .nectar-social-inner a,
.woocommerce div.product .nectar-social-inner a i,
.woocommerce div.product .nectar-social-inner a span {
    color: #9ca3af !important;
    transition: color 0.3s ease !important;
}

.woocommerce div.product .nectar-social-inner a:hover,
.woocommerce div.product .nectar-social-inner a:hover i,
.woocommerce div.product .nectar-social-inner a:hover span,
.woocommerce div.product .nectar-social-inner a.nectar-love.loved,
.woocommerce div.product .nectar-social-inner a.nectar-love.loved i,
.woocommerce div.product .nectar-social-inner a.nectar-love.loved span {
    color: #ffffff !important;
}

/* ==========================================================================
   4. CART & CHECKOUT PAGE (CLASSIC WOOCOMMERCE)
   ========================================================================== */

/* Cart Table Setup */
.woocommerce table.shop_table {
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    background-color: #000000 !important;
    margin-bottom: 2rem !important;
}

.woocommerce table.shop_table th {
    font-family: 'Teko', sans-serif !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background-color: #111111 !important;
    border-bottom: 1px solid #222222 !important;
    padding: 1rem !important;
    font-size: 1.35rem !important;
}

.woocommerce table.shop_table td {
    border-top: 1px solid #222222 !important;
    color: #ffffff !important;
    font-family: 'Teko', sans-serif !important;
    letter-spacing: 1px !important;
    padding: 1rem !important;
    font-size: 1.25rem !important;
}

.woocommerce table.shop_table td.product-name a {
    color: #ffffff !important;
    font-family: 'Teko', sans-serif !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-size: 1.5rem !important;
}

/* Cart Quantity Box */
.woocommerce-cart table.shop_table .quantity input.qty {
    font-family: 'Teko', sans-serif !important;
    height: 2.5rem !important;
    width: 3.5rem !important;
    font-size: 1.25rem !important;
    padding: 0.5rem !important;
    text-align: center !important;
}

/* Cart Totals Box */
.woocommerce .cart-collaterals .cart_totals {
    border: 1px solid #222222 !important;
    background-color: #000000 !important;
    padding: 1.5rem !important;
}

.woocommerce .cart-collaterals .cart_totals h2 {
    font-family: 'Teko', sans-serif !important;
    font-size: 2.25rem !important; 
    color: #ffffff !important;
    border-bottom: 1px solid #222222 !important;
    padding-bottom: 0.75rem !important;
    text-transform: uppercase !important;
}

/* Classic Checkout Form Typography */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-family: 'Teko', sans-serif !important;
    font-size: 2rem !important; 
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    border-bottom: 1px solid #222222 !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 1.25rem !important;
}

.woocommerce-checkout #payment {
    background-color: #000000 !important;
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    margin-top: 1.5rem !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #222222 !important;
    padding: 1rem !important;
}

.woocommerce-checkout #payment div.payment_box {
    background-color: #111111 !important;
    color: #9ca3af !important;
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important; 
    letter-spacing: 1px !important;
}


/* ==========================================================================
   5. WOOCOMMERCE BLOCKS (MODERN CART & CHECKOUT)
   ========================================================================== */

/* Headings (Overriding Theme) */
.wc-block-checkout h2.wc-block-components-title, 
.wc-block-checkout h3.wc-block-components-title,
.wc-block-cart h2.wc-block-components-title, 
.wc-block-cart h3.wc-block-components-title,
.wc-block-components-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 2.25rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

/* Cart Table Headers (Product, Details, Total) */
table.wc-block-cart-items th.wc-block-cart-items__header,
table.wc-block-cart-items th.wc-block-cart-items__header span,
.wc-block-cart-items__header th,
.wc-block-cart-items__header th span {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.5rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

/* Cart Product Description Sizing */
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description p {
    font-size: 1.25rem !important;
    color: #9ca3af !important;
    margin-top: 0.3rem !important;
}

/* Cart Totals Main Heading */
h2.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
    font-family: 'Teko', sans-serif !important;
    font-size: 2.25rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 1.5rem !important;
    border-bottom: 1px solid #222222 !important;
    padding-bottom: 0.5rem !important;
}

/* Totals Labels (e.g., Estimated Total) */
.wc-block-components-totals-item__label {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.5rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

/* Fix: The Checkout Product Name */
h3.wc-block-components-product-name,
.wc-block-components-product-name {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important; 
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    margin-bottom: 0.25rem !important;
    color: #ffffff !important;
}

/* Cart Page Specific Product Name */
.wc-block-cart h3.wc-block-components-product-name {
    font-size: 1.5rem !important; 
}

/* Block Totals, Prices, and Subtext */
.wc-block-components-totals-item,
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount,
.wc-block-components-product-price,
.wc-block-components-product-details {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important; 
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

/* Cart Block Quantity Selector */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important;
    height: 2.25rem !important;
    width: 3.5rem !important;
    text-align: center !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #222222 !important;
}

/* Block Form Labels (Static Labels like Checkboxes) */
.wc-block-checkout label:not(.wc-block-components-text-input label):not(.wc-blocks-components-select__label),
.wc-block-cart label:not(.wc-block-components-text-input label):not(.wc-blocks-components-select__label),
.wc-block-components-address-form label:not(.wc-block-components-text-input label):not(.wc-blocks-components-select__label) {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important; 
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 0.25rem !important;
}

/* Fix: Floating Labels in Checkout (Text Inputs & Selects) */
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
    font-family: 'Teko', sans-serif !important;
    color: #6b7280 !important; /* Placeholder gray */
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Active Floating Label (When user types or focuses) */
.wc-block-components-text-input.is-active label,
.wc-blocks-components-select.is-active .wc-blocks-components-select__label,
.wc-block-components-text-input input:focus ~ label {
    color: #ffffff !important; /* Brightens when active */
}
/* Add Coupons Button Text */
.wc-block-components-panel .wc-block-components-panel__button, 
.wc-block-components-totals-coupon .wc-block-components-panel__button {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.2rem !important; /* Increased font size */
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
}

/* ==========================================================================
   FIX: BORDERS APPLIED TO WRAPPERS (Eliminates Double Lines)
   ========================================================================== */

/* 1. Apply single border to the outer wrapper (Overpowers Blocksy Theme) */
body .woocommerce .wc-block-components-text-input,
body .woocommerce .wc-blocks-components-select {
    background-color: #000000 !important;
    border: 1px solid #ffffff !important; 
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease !important;
}

/* 2. Strip borders from all internal elements and containers */
body .woocommerce .wc-block-components-text-input input,
body .woocommerce .wc-blocks-components-select__select,
body .woocommerce .wc-blocks-components-select__container,
body .woocommerce .wc-block-components-combobox-control input,
body .woocommerce .wc-block-components-country-input,
body .woocommerce .wc-block-components-state-input {
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important;
    color: #ffffff !important;
    padding: 1.75rem 0.75rem 0.5rem 0.75rem !important; /* Space for floating label */
}

/* 3. Aggressively kill pseudo-element borders that cause ghost lines */
body .woocommerce .wc-block-components-text-input::before,
body .woocommerce .wc-block-components-text-input::after,
body .woocommerce .wc-blocks-components-select::before,
body .woocommerce .wc-blocks-components-select::after,
body .woocommerce .wc-block-components-combobox-control::before,
body .woocommerce .wc-block-components-combobox-control::after,
body .woocommerce .wc-blocks-components-select__container::before,
body .woocommerce .wc-blocks-components-select__container::after {
    display: none !important;
    content: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Fix: Text Selection Highlight */
.wc-block-checkout input::selection, 
.wc-block-checkout textarea::selection {
    background-color: #e5e7eb !important;
    color: #000000 !important;
}

/* Fix: "+ Add flat, suite, etc." Link Size */
.wc-block-components-address-form__address_2-toggle {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.45rem !important; 
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
    margin-top: 1rem !important;
    display: inline-block !important;
    transition: color 0.3s ease !important;
}
.wc-block-components-address-form__address_2-toggle:hover {
    color: #ffffff !important;
}

/* Fix: Terms & Conditions and Checkbox Labels Sizing (Normal Text Size) */
.wc-block-checkout__terms,
.wc-block-checkout__terms .wc-block-components-checkbox__label,
.wc-block-checkout .wc-block-components-checkbox__label {
    font-family: 'Roboto', sans-serif !important;
    font-size: 1rem !important; 
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important; 
    color: #ffffff !important;
    line-height: 1.5 !important;
}

/* ==========================================================================
   6. WOOCOMMERCE BLOCKS PRODUCT GRID (EMPTY CART RECS, CROSS-SELLS)
   ========================================================================== */

/* Fix for grid collapsing */
.wc-block-grid {
    width: 100% !important;
    max-width: 100% !important;
}

/* Grid Container Setup */
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    margin-bottom: 3rem !important;
    padding: 0 !important;
    width: 100% !important;
}

@media (max-width: 1024px) {
    .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
    .wc-block-grid__products { grid-template-columns: 1fr !important; }
}

/* The Product Card - Fixed width constraints */
.wc-block-grid__product {
    border: 1px solid #222222 !important; 
    background-color: #000000 !important; 
    padding: 1.25rem !important; 
    margin: 0 !important;
    border-radius: 0 !important; 
    display: flex !important;
    flex-direction: column !important;
    transition: border-color 0.3s ease !important; 
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; /* Prevents text squishing */
    box-sizing: border-box !important;
    list-style: none !important;
}

.wc-block-grid__product:hover {
    border-color: #ffffff !important; 
}

/* Product Image */
.wc-block-grid__product-image {
    margin: 0 0 1.5rem 0 !important;
    border-bottom: 1px solid #222222 !important; 
    border-radius: 0 !important;
    transition: border-color 0.3s ease !important;
}

.wc-block-grid__product:hover .wc-block-grid__product-image {
    border-bottom-color: #ffffff !important; 
}

/* Product Title */
.wc-block-grid__product-title {
    font-family: 'Teko', sans-serif !important; 
    font-size: 1.5rem !important; 
    font-weight: 700 !important;
    letter-spacing: 2px !important; 
    text-transform: uppercase !important;
    color: #ffffff !important; 
    padding: 0 !important;
    margin-bottom: 0.25rem !important;
    word-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
}

/* Pricing Text */
.wc-block-grid__product-price {
    font-family: 'Teko', sans-serif !important;
    color: #9ca3af !important; 
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    margin-bottom: 1.5rem !important;
}

.wc-block-grid__product-price .wc-block-formatted-money-amount {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* FIX: Prevent Block Texts From Disappearing on Hover */
.wc-block-grid__product:hover .wc-block-grid__product-title,
.wc-block-grid__product a:hover .wc-block-grid__product-title,
.wc-block-grid__product a:hover {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* ==========================================================================
   7. WPFORMS STYLING
   ========================================================================== */

/* WPForms Labels */
.wpforms-container .wpforms-form .wpforms-field-label {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important; 
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 0.25rem !important;
}

/* WPForms Inputs & Textareas */
.wpforms-container .wpforms-form input[type=date], 
.wpforms-container .wpforms-form input[type=datetime], 
.wpforms-container .wpforms-form input[type=email], 
.wpforms-container .wpforms-form input[type=month], 
.wpforms-container .wpforms-form input[type=number], 
.wpforms-container .wpforms-form input[type=password], 
.wpforms-container .wpforms-form input[type=search], 
.wpforms-container .wpforms-form input[type=tel], 
.wpforms-container .wpforms-form input[type=text], 
.wpforms-container .wpforms-form input[type=time], 
.wpforms-container .wpforms-form input[type=url], 
.wpforms-container .wpforms-form input[type=week], 
.wpforms-container .wpforms-form select, 
.wpforms-container .wpforms-form textarea {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important;
    letter-spacing: 1px !important;
    padding: 0.75rem !important; 
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #222222 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wpforms-container .wpforms-form input:focus, 
.wpforms-container .wpforms-form textarea:focus, 
.wpforms-container .wpforms-form select:focus {
    border-color: #ffffff !important;
    outline: none !important;
}

/* WPForms Placeholders */
.wpforms-container .wpforms-form input::placeholder,
.wpforms-container .wpforms-form textarea::placeholder {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.15rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #6b7280 !important;
    opacity: 1 !important;
}

/* WPForms Submit Button */
.wpforms-container .wpforms-form button[type=submit] {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    padding: 0.8rem 1.75rem !important;
    transition: all 0.3s ease !important;
}

.wpforms-container .wpforms-form button[type=submit]:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* ==========================================================================
   8. SHOP PAGE TOP BAR (RESULT COUNT & SORTING)
   ========================================================================== */

/* Top Bar Layout */
.woo-listing-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    margin-bottom: 2rem !important;
    width: 100% !important;
}

/* Result Count Text ("Showing all 4 results") */
.woo-listing-top .woocommerce-result-count,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count,
p.woocommerce-result-count {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.5rem !important; 
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 1rem !important;
    margin-top: 0 !important;
}

/* Clean Custom Arrow to override double theme/browser arrows */
.woo-listing-top form.woocommerce-ordering select.orderby,
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select,
form.woocommerce-ordering select {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important; 
    background-color: #000000 !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1.25em !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important; 
    border-radius: 0 !important;
    padding: 0.4rem 2.5rem 0.4rem 1rem !important; 
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    height: auto !important;
    min-height: 2.75rem !important; 
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important; 
    -webkit-appearance: none !important; 
    -moz-appearance: none !important;
}

/* Force-hide any pseudo-element arrows the theme might be injecting */
.woo-listing-top form.woocommerce-ordering::after,
.woo-listing-top form.woocommerce-ordering::before {
    display: none !important;
}

/* Force-hide the custom SVG sorting icon */
.woo-listing-top form.woocommerce-ordering svg.ct-sort-icon {
    display: none !important; 
}

/* Override Select2 styling if Salient/WooCommerce is using it for the dropdown */
.woocommerce-ordering .select2-container .select2-selection--single {
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    height: 2.75rem !important; 
}

.woocommerce-ordering .select2-container .select2-selection--single .select2-selection__rendered {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important; 
    color: #ffffff !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 2.75rem !important; 
}

/* ==========================================================================
   9. MY ACCOUNT PAGE
   ========================================================================== */

/* --- Login & Register Forms Grid --- */
.woocommerce-account .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4rem !important;
    width: 100% !important;
    margin-top: 2rem !important;
}

@media (max-width: 768px) {
    .woocommerce-account .u-columns.col2-set {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
    }
}

/* Form Headings (Login / Register / Dashboard Headers) */
.woocommerce-account h2 {
    font-family: 'Teko', sans-serif !important;
    font-size: 2.5rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    border-bottom: 1px solid #222222 !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* --- My Account Sidebar Menu --- */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background-color: #000000 !important;
    border: 1px solid #222222 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix for overlapping elements */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #222222 !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important; 
    display: block !important;
    min-height: unset !important; /* Ensures the box doesn't lock its height */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

/* Reduced Font Size & Added Flexbox to handle Icons gracefully */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.25rem !important; /* Reduced from 1.35rem to keep Account Details on one line */
    line-height: 1.2 !important; 
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #9ca3af !important; 
    display: flex !important; 
    align-items: center !important; 
    gap: 0.75rem !important; 
    padding: 1rem 1.5rem !important;
    transition: all 0.3s ease !important;
    border-left: 4px solid transparent !important; 
    height: auto !important; 
    box-sizing: border-box !important;
    text-decoration: none !important;
    white-space: normal !important; /* Allows text to wrap properly instead of overflowing */
    flex-wrap: wrap !important;
}

/* Active & Hover States for Menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #ffffff !important; 
    background-color: #111111 !important; 
    border-left: 4px solid #ffffff !important; 
}

/* --- My Account Content Area --- */
.woocommerce-account .woocommerce-MyAccount-content {
    color: #9ca3af !important;
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
    color: #ffffff !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    transition: color 0.3s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
    color: #9ca3af !important;
}

/* --- Addresses & Account Details Boxes --- */
.woocommerce-account .woocommerce-Address-title h3 {
    font-family: 'Teko', sans-serif !important;
    font-size: 2rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 1rem !important;
}

.woocommerce-account address {
    background-color: #000000 !important;
    border: 1px solid #222222 !important;
    padding: 1.5rem !important;
    font-style: normal !important;
    color: #9ca3af !important;
    line-height: 1.8 !important;
    border-radius: 0 !important;
}

/* Edit Address / Edit Account forms internal layout tweaks */
.woocommerce-account .woocommerce-MyAccount-content form fieldset {
    border: 1px solid #222222 !important;
    padding: 1.5rem !important;
    margin-top: 2rem !important;
}

.woocommerce-account .woocommerce-MyAccount-content form legend {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.75rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    padding: 0 1rem !important;
}

/* Table fixes specifically for the Orders table inside My Account */
.woocommerce-account table.my_account_orders td,
.woocommerce-account table.my_account_orders th {
    padding: 1.25rem 1rem !important;
}

.woocommerce-account table.my_account_orders .button {
    font-size: 1.1rem !important; 
    padding: 0.4rem 1rem !important;
    margin: 0 !important;
}

/* ==========================================================================
   10. HEADER ACCOUNT DROPDOWN
   ========================================================================== */

/* Dropdown Container */
.ct-header-account-dropdown {
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    padding: 1rem 0 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.9) !important;
}

/* User Info Block */
.ct-header-account-dropdown .ct-header-account-user-info .ct-menu-link {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    padding: 0.5rem 1.5rem 1rem 1.5rem !important;
}

.ct-header-account-dropdown .ct-media-container img {
    border-radius: 0 !important; 
    border: 1px solid #222222 !important;
}

.ct-header-account-dropdown .ct-header-account-user-info b {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.5rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    display: block !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

.ct-header-account-dropdown .ct-header-account-user-info small {
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.9rem !important;
    color: #9ca3af !important;
    display: block !important;
    margin-top: 0.25rem !important;
}

/* Divider */
.ct-header-account-dropdown .ct-header-account-divider {
    border-bottom: 1px solid #222222 !important;
    margin: 0.5rem 0 !important;
}

/* Menu Links */
.ct-header-account-dropdown .menu-item a.ct-menu-link {
    font-family: 'Teko', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
    padding: 0.75rem 1.5rem !important;
    transition: all 0.3s ease !important;
    display: block !important;
    border-left: 4px solid transparent !important;
}

/* Menu Links Hover */
.ct-header-account-dropdown .menu-item a.ct-menu-link:hover {
    color: #ffffff !important;
    background-color: #111111 !important;
    border-left: 4px solid #ffffff !important;
}


/* ==========================================================================
   11. EXPRESS CHECKOUT SECTION
   ========================================================================== */

/* Express Checkout Heading */
.wc-block-components-express-payment__title {
    font-family: 'Teko', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 0rem !important;
}

/* "Or continue below" Divider Text */
.wc-block-components-express-payment-continue-rule {
    font-family: 'Teko', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #ffffff !important; 
    margin: 0rem 0 0rem 0 !important;
}

/* "Or continue below" Divider Lines */
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
    border-top: 2px solid #222222 !important; 
    background-color: transparent !important;
}

/* ==========================================================================
   12. MINI CART BUTTONS ALIGNMENT
   ========================================================================== */

/* Forces the View Cart & Checkout buttons to sit perfectly side-by-side with equal heights */
.woocommerce-mini-cart__buttons.buttons {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.woocommerce-mini-cart__buttons.buttons .button {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0.5rem !important;
    min-height: 4rem !important; /* Forces equal height even if text wraps */
    line-height: 1.2 !important;
    white-space: normal !important; /* Allows text to wrap safely inside the flexbox */
    text-align: center !important;
}


/* ==========================================================================
   13. CART PAGE SPECIFIC ALIGNMENT FIXES (Proceed to Checkout & Apply Buttons)
   ========================================================================== */

/* Fix "Apply" Button & "Enter Code" Input Height Mismatch */
.wc-block-components-totals-coupon__form {
    display: flex !important;
    align-items: stretch !important; /* Force equal heights */
    gap: 10px !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Target the exact input field to fill the 56px height */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
    height: 100% !important;
    padding-top: 15px !important; /* Leaves room for floating label */
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* Target the Apply button wrapper */
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Target the text inside the Apply Button */
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button .wc-block-components-button__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 1.5rem 0 1.5rem !important; /* Top padding offsets Teko font */
    line-height: 1 !important;
}

/* Fix 'Proceed to Checkout' Button Text Alignment (Removes large bottom gap) */
a.wc-block-cart__submit-button,
button.wc-block-components-checkout-place-order-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 60px !important; /* Strict height */
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 !important;   /* Kills inherited padding pushing the text upwards */
    box-sizing: border-box !important;
}

/* Teko Font Optical Alignment for Proceed to Checkout */
a.wc-block-cart__submit-button .wc-block-components-button__text,
button.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 4px 0 0 0 !important; /* Optical adjustment for Teko */
    margin: 0 !important;
    line-height: 1 !important;
}

/* ==========================================================================
   14. EXPRESS CHECKOUT BUTTON ALIGNMENT (Apple Pay & Link)
   ========================================================================== */

/* Express Payment Buttons Wrapper */
ul.wc-block-components-express-payment__event-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important; /* Spacing between Apple Pay and Link */
}

ul.wc-block-components-express-payment__event-buttons li {
    border: 1px solid #ffffff !important;
    border-radius: 6px !important; 
    background-color: #000000 !important;
    height: 48px !important; /* Restricts the height exactly */
    max-height: 48px !important;
    overflow: hidden !important; 
    margin-bottom: 0 !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Force inner wrappers and iframes to respect the 48px height and drop the bottom margin */
ul.wc-block-components-express-payment__event-buttons li > div,
ul.wc-block-components-express-payment__event-buttons li .StripeElement,
ul.wc-block-components-express-payment__event-buttons li iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: unset !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove white border specifically from the 'Pay with Link' button */
ul.wc-block-components-express-payment__event-buttons li#express-payment-method-express_checkout_element_link {
    border: none !important;
}
/* ==========================================================================
   GLOBAL HOVER FIX: Force ALL Product Titles to Stay White Everywhere
   ========================================================================== */

/* 1. Forces the title to stay white when the link around it is hovered */
html body a:hover .woocommerce-loop-product__title,
html body a:hover .wc-block-grid__product-title,
html body a:hover .wc-block-components-product-name,
html body a:hover h2.woocommerce-loop-product__title {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
}

/* 2. Forces the title to stay white when the product card box is hovered */
html body .product:hover .woocommerce-loop-product__title,
html body .wc-block-grid__product:hover .wc-block-grid__product-title,
html body .wc-block-components-product-card:hover .wc-block-components-product-name {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
}

/* 3. Forces the title to stay white if hovered directly */
html body .woocommerce-loop-product__title:hover,
html body .wc-block-grid__product-title:hover,
html body .wc-block-components-product-name:hover {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
}

/* 4. Stops the product link wrapper itself from forcing black text */
html body li.product a:hover,
html body .wc-block-grid__product a:hover,
html body .wc-block-components-product-card a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}