/*
Theme Name: Rahim and Sons Halal Meats
Theme URI: https://account4web.com
Description: A modern WordPress theme converted from a Vite/React design for Rahim Sons Halal Meat.
Author: Account4Web Inc,
Version: 1.0.0
Text Domain: halal-meats
*/

/* Professional Modal Styles - Compact Version */
#inquiryModal.flex {
    display: flex;
}

#inquiryModal .bg-white {
    animation: modal-fade-in 0.2s ease-out;
}

@keyframes modal-fade-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Contact Form 7 Professional Styling - Compact */
#inquiryModal .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    /* Reduced gap */
}

#inquiryModal .wpcf7-label {
    display: block;
    font-size: 0.7rem;
    /* Smaller font */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #374151;
    margin-bottom: 0.25rem;
    /* Reduced margin */
}

#inquiryModal input[type="text"],
#inquiryModal input[type="email"],
#inquiryModal textarea {
    width: 100%;
    padding: 0.625rem 0.75rem;
    /* Reduced padding */
    background-color: #fafafa;
    border: 1px solid #d1d5db;
    border-radius: 2px;
    font-size: 0.875rem;
    color: #111827;
    transition: all 0.2s ease;
    outline: none;
}

#inquiryModal input:focus,
#inquiryModal textarea:focus {
    background-color: #fff;
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

#inquiryModal textarea {
    min-height: 80px;
    /* Reduced height */
    resize: vertical;
}

#inquiryModal .wpcf7-submit {
    appearance: none;
    width: 100%;
    background-color: #000;
    color: #fff;
    font-weight: 700;
    padding: 0.75rem;
    /* Reduced padding */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    margin-top: 0.25rem;
}

#inquiryModal .wpcf7-submit:hover {
    background-color: #8B0000;
}

#inquiryModal .wpcf7-spinner {
    margin-left: 10px;
    bottom: 5px;
}

/* Response messaging */
#inquiryModal .wpcf7-response-output {
    margin: 0.5rem 0 0 0 !important;
    padding: 0.5rem !important;
    border-radius: 2px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

/* Hide automatically added "View Cart" link text */
.added_to_cart {
    display: none !important;
}

/* Transform Add to Cart button to View Cart button when clicked */
.button.add_to_cart_button.added,
.woocommerce a.button.add_to_cart_button.added,
.woocommerce button.button.add_to_cart_button.added,
.woocommerce a.button.product_type_simple.view-cart-transformed,
.rahimsons-product-card .add_to_cart_button.added,
.rahimsons-product-card .button.added,
.rahimsons-product-card .button.view-cart-transformed,
.view-cart-transformed {
    background-color: #3c3d3d !important;
    color: white !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

.button.add_to_cart_button.added:hover,
.woocommerce a.button.add_to_cart_button.added:hover,
.woocommerce button.button.add_to_cart_button.added:hover,
.woocommerce a.button.product_type_simple.view-cart-transformed:hover,
.rahimsons-product-card .add_to_cart_button.added:hover,
.rahimsons-product-card .button.added:hover,
.rahimsons-product-card .button.view-cart-transformed:hover,
.view-cart-transformed:hover {
    background-color: #3c3d3d !important;
}

/* Hide native WooCommerce checkmark icon added via pseudo-element */
.woocommerce a.button.added::after,
.woocommerce button.button.added::after,
.woocommerce a.added_to_cart::after,
.add_to_cart_button.added::after {
    display: none !important;
    content: "" !important;
}

/* =============================================
   SHOP PAGE — FULL WIDTH / NO SIDEBAR
   ============================================= */

/* Kill sidebar completely */
.woocommerce #secondary,
.woocommerce-page #secondary,
.woocommerce .widget-area,
.woocommerce-page .widget-area,
#secondary,
aside.widget-area,
.sidebar,
.col-2 {
    display: none !important;
    width: 0 !important;
}

/* Force primary content area to full width */
.woocommerce #primary,
.woocommerce-page #primary,
.woocommerce #content,
.woocommerce-page #content,
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce-page #main,
#primary,
.col-1 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
}

/* Our custom shop wrapper */
.rahimsons-shop-wrap {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prevent WC from adding 2-column page layout */
body.woocommerce,
body.woocommerce-page,
body.post-type-archive-product {
    --wc-columns: 4 !important;
}

/* Product card images — 1:1 square ratio everywhere */
.rahimsons-product-card .relative.overflow-hidden.h-64,
.woocommerce ul.products li.product .relative.overflow-hidden.h-64 {
    height: auto !important;
    aspect-ratio: 1 / 1;
}

.rahimsons-product-card .relative.overflow-hidden.h-64 img,
.woocommerce ul.products li.product .relative.overflow-hidden.h-64 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}



/* WooCommerce Shop Page Styling */
.woocommerce ul.products,
ul.rahimsons-product-grid {
    display: grid !important;
    gap: 2rem !important;
    float: none !important;
    width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 639px) {

    .woocommerce ul.products,
    ul.rahimsons-product-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

@media (min-width: 640px) and (max-width: 1023px) {

    .woocommerce ul.products,
    ul.rahimsons-product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {

    .woocommerce ul.products,
    ul.rahimsons-product-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}


/* Custom product card — reset WooCommerce defaults */
.woocommerce ul.products li.product.rahimsons-product-card,
ul.rahimsons-product-grid li.product.rahimsons-product-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
}

.woocommerce ul.products li.product.rahimsons-product-card:hover,
ul.rahimsons-product-grid li.product.rahimsons-product-card:hover {
    transform: none !important;
    box-shadow: none !important;
}


/* Global Add to Cart color rules */
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.ajax_add_to_cart,
.rahimsons-product-card .button,
.rahimsons-product-card a.button,
.rahimsons-product-card .add_to_cart_button {
    background-color: #b62526 !important;
    color: #fff !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Specific layout rules for Product Grid Cards (avoiding overriding Featured Product) */
.woocommerce ul.products li.product .button,
ul.rahimsons-product-grid li.product .button,
.rahimsons-product-card .button,
.rahimsons-product-card a.button,
.rahimsons-product-card .add_to_cart_button {
    border-radius: 0 !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.add_to_cart_button:hover,
.woocommerce a.button.product_type_simple:hover,
.ajax_add_to_cart:hover,
.rahimsons-product-card .button:hover,
.rahimsons-product-card a.button:hover,
.rahimsons-product-card .add_to_cart_button:hover {
    background-color: #60151d !important;
    color: #fff !important;
}

/* Out of Stock gray button styling override */
.woocommerce a.button.cursor-not-allowed,
.woocommerce button.button.cursor-not-allowed,
.rahimsons-product-card .button.cursor-not-allowed,
.rahimsons-product-card a.button.cursor-not-allowed,
.button.cursor-not-allowed {
    background-color: #9e9e9e !important;
    color: #fff !important;
    pointer-events: none !important;
}

/* (The view-cart transformed state overrides are now handled at the top under global transforms) */

/* Image inside card — no margin */
.rahimsons-product-card img {
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Fallback for non-overridden product cards */
.woocommerce ul.products li.product:not(.rahimsons-product-card) {
    width: 100% !important;
    margin: 0 !important;
    padding: 1.5rem !important;
    background: white !important;
    border: 1px solid #f3f4f6 !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.woocommerce ul.products li.product:not(.rahimsons-product-card):hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-4px) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: serif !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
    margin: 1rem 0 0.5rem !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .price {
    color: #8B0000 !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    text-align: center !important;
    display: block !important;
    margin-bottom: 0 !important;
}

.woocommerce ul.products li.product img {
    margin-bottom: 0 !important;
    border-radius: 2px !important;
}

/* Pagination Styling */
.woocommerce-pagination {
    margin-top: 4rem !important;
}

.woocommerce-pagination .page-numbers {
    display: flex !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    border: none !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-pagination .page-numbers li span.current {
    background: #8B0000 !important;
    color: white !important;
    border: 1px solid #8B0000 !important;
}

.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
    padding: 0.75rem 1.25rem !important;
    border: 1px solid #e5e7eb !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    color: #1a1a1a !important;
    transition: all 0.2s !important;
}

.woocommerce-pagination .page-numbers li a:hover {
    border-color: #8B0000 !important;
    color: #8B0000 !important;
}

/* ============================================
   CART PAGE STYLING
   ============================================ */

/* Quantity Input */
.woocommerce-cart-form .quantity input.qty {
    width: 60px !important;
    height: 40px !important;
    text-align: center !important;
    border: 1px solid #e5e7eb !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    padding: 0 !important;
    outline: none !important;
    -moz-appearance: textfield !important;
}

.woocommerce-cart-form .quantity input.qty:focus {
    border-color: #8B0000 !important;
    box-shadow: none !important;
}

.woocommerce-cart-form .quantity input::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Cart Totals Table */
.cart_totals .shop_table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
}

.cart_totals .shop_table th,
.cart_totals .shop_table td {
    padding: 0.875rem 0 !important;
    border-bottom: 1px solid #f3f4f6 !important;
    font-size: 0.875rem !important;
    vertical-align: middle !important;
}

.cart_totals .shop_table th {
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.7rem !important;
    color: #6b7280 !important;
    width: 40% !important;
}

.cart_totals .shop_table td {
    text-align: right !important;
    font-weight: 600 !important;
    color: #111827 !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    border-bottom: none !important;
    padding-top: 1.25rem !important;
}

.cart_totals .order-total td {
    color: #8B0000 !important;
    font-size: 1.25rem !important;
}

/* Shipping Section */
.cart_totals .shipping th {
    padding-top: 1rem !important;
}

.cart_totals .shipping ul#shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}

.cart_totals .shipping ul#shipping_method li {
    font-size: 0.8rem !important;
    color: #6b7280 !important;
}

/* ---- Checkout Button — Classic + Block WooCommerce ---- */
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button,
a.checkout-button,
.checkout-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit .wc-block-components-button {
    display: block !important;
    width: 100% !important;
    background-color: #8B0000 !important;
    color: #fff !important;
    text-align: center !important;
    padding: 1rem 1.5rem !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    text-decoration: none !important;
    margin-top: 1.25rem !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.5 !important;
}

.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
a.checkout-button:hover,
.checkout-button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background-color: #000 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* WooCommerce Block Cart — Totals styling */
.wc-block-components-totals-item__label {
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.75rem !important;
    color: #6b7280 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-weight: 700 !important;
    color: #8B0000 !important;
}

/* Force Mini-Cart Item Thumbnails */
.woocommerce-mini-cart-item .flex-shrink-0 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    /* Contain the product */
    transform: scale(1.4);
    /* Zoom in to eliminate baked-in photo padding */
}

/* WooCommerce Notices Wrapper */
.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.woocommerce-NoticeGroup-updateOrderReview {
    display: block !important;
    width: 100% !important;
    max-width: 80rem !important;
    /* 1280px to match max-w-7xl */
    margin: 0 0 2rem 0 !important;
    clear: both !important;
}

/* Coupon / Notice Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    flex-basis: 100% !important;
    clear: both !important;
    border-top: 3px solid #8B0000 !important;
    background: #fafafa !important;
    padding: 1rem 1.5rem 1rem 3.5rem !important;
    margin-bottom: 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    list-style: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    color: #111827 !important;
    position: relative !important;
}

.woocommerce-error {
    border-top: 3px solid #dc2626 !important;
    /* Brighter red for error */
    background-color: #fef2f2 !important;
    /* Light red tint */
    color: #991b1b !important;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.1) !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: #8B0000 !important;
    position: absolute !important;
    left: 1.25rem !important;
    top: 1.1rem !important;
}

.woocommerce-error::before {
    color: #dc2626 !important;
}

.woocommerce-error li {
    margin-bottom: 0.75rem !important;
    line-height: 1.5 !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-error li:last-child {
    margin-bottom: 0 !important;
}

/* Cart Item Remove Link */
.woocommerce-cart-form a.remove {
    color: #d1d5db !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

.woocommerce-cart-form a.remove:hover {
    color: #8B0000 !important;
    background: transparent !important;
}

/* =============================================
   SINGLE PRODUCT PAGE — Custom Button Styles
   ============================================= */

/* Remove WooCommerce default button styling for our custom template */
.rahimsons-single-atc .single_add_to_cart_button,
.rahimsons-single-atc a.button,
.rahimsons-single-atc button {
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* View Cart transformed state */
.rahimsons-single-atc .view-cart-transformed {
    background: #3c3d3d !important;
    color: #fff !important;
}

/* Hide WooCommerce's default "View Cart" notice after AJAX add */
.woocommerce-message .button,
a.added_to_cart {
    display: none !important;
}

/* Single product stock badge */
.rahimsons-single-atc p {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    color: #6b7280;
    font-style: italic;
}

/* =============================================
   SALE BADGE — WooCommerce ".onsale" Override
   ============================================= */

/* Single Product Page — Sale badge (bottom-left) */
.woocommerce span.onsale,
.woocommerce div.product span.onsale {
    background: #8B0000 !important;
    color: #fff !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 6px 14px !important;
    border-radius: 2px !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1.4 !important;
    top: auto !important;
    bottom: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 10 !important;
}

/* Single product gallery — ensure position context for badge */
.woocommerce div.product .woocommerce-product-gallery {
    position: relative !important;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
    position: relative !important;
}

.woocommerce div.product .woocommerce-product-gallery .onsale {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    top: auto !important;
    right: auto !important;
}

/* Shop/Archive — Sale badge on product cards (bottom-left to avoid other badges) */
.rahimsons-product-card span.onsale {
    position: absolute !important;
    top: auto !important;
    bottom: 8px !important;
    left: 8px !important;
    right: auto !important;
    background: #8B0000 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 4px 10px !important;
    border-radius: 2px !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    z-index: 10 !important;
}


/* =============================================
   WHOLESALE PAGE — CF7 FORM STYLING
   ============================================= */

/* Labels */
#wholesale-apply .wpcf7 label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #374151;
    margin-bottom: 6px;
    margin-top: 0;
}

/* All text / email / tel / textarea inputs */
#wholesale-apply .wpcf7 input[type="text"],
#wholesale-apply .wpcf7 input[type="email"],
#wholesale-apply .wpcf7 input[type="tel"],
#wholesale-apply .wpcf7 select,
#wholesale-apply .wpcf7 textarea {
    width: 100% !important;
    padding: 13px 16px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0 !important;
    background: #fafafa !important;
    font-size: 0.9rem !important;
    color: #111827 !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
}

/* Focus state — red border */
#wholesale-apply .wpcf7 input[type="text"]:focus,
#wholesale-apply .wpcf7 input[type="email"]:focus,
#wholesale-apply .wpcf7 input[type="tel"]:focus,
#wholesale-apply .wpcf7 select:focus,
#wholesale-apply .wpcf7 textarea:focus {
    border-color: #8B0000 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(139, 0, 0, 0.08) !important;
}

/* Select dropdown arrow */
#wholesale-apply .wpcf7 select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238B0000' stroke-width='2.5' 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 14px center !important;
    padding-right: 42px !important;
    cursor: pointer !important;
}

/* Textarea */
#wholesale-apply .wpcf7 textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Form layout — two columns for name/email row */
#wholesale-apply .wpcf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Submit button */
#wholesale-apply .wpcf7 input[type="submit"],
#wholesale-apply .wpcf7 .wpcf7-submit {
    width: 100% !important;
    background-color: #8B0000 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 18px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.25s ease !important;
    margin-top: 8px !important;
    box-shadow: none !important;
}

#wholesale-apply .wpcf7 input[type="submit"]:hover,
#wholesale-apply .wpcf7 .wpcf7-submit:hover {
    background-color: #111 !important;
}

/* Validation error highlight */
#wholesale-apply .wpcf7 .wpcf7-not-valid {
    border-color: #dc2626 !important;
}

#wholesale-apply .wpcf7 .wpcf7-not-valid-tip {
    font-size: 0.7rem !important;
    color: #dc2626 !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Response messages */
#wholesale-apply .wpcf7 .wpcf7-response-output {
    margin: 16px 0 0 !important;
    padding: 12px 16px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    border-left: 4px solid #8B0000 !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: #fff8f8 !important;
}

/* Spinner */
#wholesale-apply .wpcf7-spinner {
    margin-left: 10px !important;
    vertical-align: middle !important;
}

/* =============================================
   SINGLE PRODUCT — RELATED PRODUCTS GRID FIX
   ============================================= */

/* Custom grid class (set in related.php override) */
ul.rahimsons-related-grid,
.related.products ul.products,
.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Each card — no float/width override */
ul.rahimsons-related-grid li.product,
.related.products ul.products li.product,
.upsells.products ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
    min-width: 0 !important;
}

/* Tablet: 2 columns */
@media (max-width: 1023px) {

    ul.rahimsons-related-grid,
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Mobile: 1 column */
@media (max-width: 639px) {

    ul.rahimsons-related-grid,
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* =============================================
   SINGLE PRODUCT — TITLE & PRICE STYLING
   ============================================= */

/* Product Title */
.woocommerce div.product h1.product_title {
    font-size: 2rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #111827 !important;
    line-height: 1.2 !important;
    margin-bottom: 0.5rem !important;
    font-family: 'Inter', sans-serif !important;
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 1rem;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #8B0000 !important;
    display: block !important;
    margin: 1rem 0 !important;
    letter-spacing: 0.02em !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none !important;
    color: #8B0000 !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    margin-right: 0.5rem !important;
}

/* Description text in summary */
.rahimsons-product-description {
    font-size: 0.925rem !important;
    color: #4b5563 !important;
    line-height: 1.8 !important;
    border-top: 1px solid #f3f4f6;
    padding-top: 1rem !important;
}

.rahimsons-product-description p {
    margin-bottom: 0.75rem !important;
}

.rahimsons-product-description ul,
.rahimsons-product-description ol {
    padding-left: 1.5rem !important;
    margin-bottom: 0.75rem !important;
    list-style: disc !important;
}

.rahimsons-product-description li {
    margin-bottom: 0.35rem !important;
    list-style: disc !important;
    display: list-item !important;
}

/* =============================================
   SINGLE PRODUCT — CATEGORY BADGE
   ============================================= */

/* Hide "Category:" label text */
.woocommerce div.product .product_meta .posted_in {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
    margin-top: 1rem !important;
}

.woocommerce div.product .product_meta .posted_in::before {
    content: "Category:" !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #9ca3af !important;
}

/* Category links as buttons */
.woocommerce div.product .product_meta .posted_in a {
    display: inline-block !important;
    background: #8B0000 !important;
    color: #fff !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 5px 14px !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
}

.woocommerce div.product .product_meta .posted_in a:hover {
    background: #111 !important;
    color: #fff !important;
}

/* =============================================
   SINGLE PRODUCT — REVIEWS TAB STYLING
   ============================================= */

/* Tab header */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 2px solid #e5e7eb !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #9ca3af !important;
    padding: 12px 20px !important;
    display: block !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: color 0.2s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #8B0000 !important;
    border-bottom-color: #8B0000 !important;
    background: transparent !important;
}

/* Tab panel */
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 2rem 0 !important;
    border: none !important;
}

/* Reviews heading */
#reviews h2,
#reviews h3 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #111827 !important;
    margin-bottom: 1rem !important;
}

/* Stars rating */
.woocommerce #reviews #respond .stars a {
    color: #8B0000 !important;
    font-size: 1.4rem !important;
}

/* Review form inputs */
.woocommerce #reviews #respond textarea,
.woocommerce #reviews #respond input[type="text"],
.woocommerce #reviews #respond input[type="email"] {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0 !important;
    font-size: 0.9rem !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce #reviews #respond textarea:focus,
.woocommerce #reviews #respond input[type="text"]:focus,
.woocommerce #reviews #respond input[type="email"]:focus {
    border-color: #8B0000 !important;
    box-shadow: 0 0 0 3px rgba(139, 0, 0, 0.07) !important;
}

.woocommerce #reviews #respond textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Submit button */
.woocommerce #reviews #respond .form-submit input[type="submit"] {
    background: #8B0000 !important;
    color: #fff !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    padding: 14px 28px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.25s ease !important;
}

.woocommerce #reviews #respond .form-submit input[type="submit"]:hover {
    background: #111 !important;
}

/* Form labels */
.woocommerce #reviews #respond label {
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #374151 !important;
    display: block !important;
    margin-bottom: 5px !important;
}

/* "No reviews yet" message */
.woocommerce-noreviews {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    font-style: italic !important;
}

/* =============================================
   SINGLE PRODUCT — RESPONSIVE LAYOUT
   ============================================= */

/* Base: force proper flex layout */
.woocommerce div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.woocommerce div.product .woocommerce-product-gallery {
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.woocommerce div.product .summary.entry-summary {
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.woocommerce div.product .woocommerce-tabs {
    flex: 0 0 100% !important;
    width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* Product gallery images */
.woocommerce div.product .woocommerce-product-gallery img {
    max-width: 100% !important;
    height: auto !important;
}

/* Product slider sections — full width */
.woocommerce div.product .rahimsons-product-slider-section {
    flex: 0 0 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mobile: Stack everything vertically */
@media (max-width: 767px) {
    .woocommerce div.product {
        flex-direction: column !important;
    }

    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary.entry-summary {
        flex: 0 0 100% !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        margin-bottom: 1.5rem !important;
    }

    /* Gallery inner elements */
    .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs,
    .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Title smaller on mobile */
    .woocommerce div.product h1.product_title {
        font-size: 1.35rem !important;
        letter-spacing: 0.03em !important;
    }

    /* Price smaller on mobile */
    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 1.35rem !important;
    }

    /* Description */
    .rahimsons-product-description {
        font-size: 0.85rem !important;
    }

    /* Quantity + Add to Cart */
    .woocommerce div.product form.cart {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .woocommerce div.product form.cart .quantity {
        width: 100% !important;
        margin-bottom: 0.75rem !important;
    }

    .woocommerce div.product form.cart .quantity input.qty {
        width: 100% !important;
        max-width: 120px !important;
    }

    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
        background-color: #8B0000 !important;
        color: #ffffff !important;
        text-transform: uppercase !important;
        font-weight: 700 !important;
        letter-spacing: 0.1em !important;
        padding: 14px 20px !important;
        border: none !important;
        margin-top: 10px !important;
    }

    /* Tabs */
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 0.65rem !important;
        padding: 10px 12px !important;
    }

    /* Reviews form */
    .woocommerce #reviews #respond .form-submit input[type="submit"] {
        width: 100% !important;
        padding: 14px !important;
    }

    /* Category badge */
    .woocommerce div.product .product_meta .posted_in {
        justify-content: flex-start !important;
    }

    /* WooCommerce tabs panel */
    .woocommerce div.product .woocommerce-tabs .panel {
        padding: 1.25rem 0 !important;
    }

    /* Outer wrapper padding reduction */
    div[style*="max-width:1280px"] {
        padding: 1.5rem 1rem !important;
    }
}

/* Tablet: 2-column with adjusted widths */
@media (min-width: 768px) and (max-width: 1023px) {
    .woocommerce div.product .woocommerce-product-gallery {
        flex: 0 0 48% !important;
        width: 48% !important;
    }

    .woocommerce div.product .summary.entry-summary {
        flex: 0 0 48% !important;
        width: 48% !important;
        margin-left: 4% !important;
    }

    .woocommerce div.product h1.product_title {
        font-size: 1.5rem !important;
    }

    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 1.5rem !important;
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .woocommerce div.product .woocommerce-product-gallery {
        flex: 0 0 48% !important;
        width: 48% !important;
    }

    .woocommerce div.product .summary.entry-summary {
        flex: 0 0 48% !important;
        width: 48% !important;
        margin-left: 4% !important;
    }
}



/* =====================================================
   Stock Filter Bar
   ===================================================== */
.rahimsons-stock-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px 0;
    padding: 14px 18px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 2px;
    align-items: center;
}

.rahimsons-stock-filter-bar::before {
    content: "Filter:";
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
    margin-right: 4px;
}

.rsf-btn {
    display: inline-block;
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #374151;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 2px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    cursor: pointer;
}

.rsf-btn:hover {
    background: #8B0000;
    color: #fff !important;
    border-color: #8B0000;
}

.rsf-btn.active {
    background: #8B0000;
    color: #fff !important;
    border-color: #8B0000;
}

/* =====================================================
   Shipping Policy & Contact Page Content
   ===================================================== */
.shipping-policy-content h2 {
    font-size: 1.2rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #111827;
    margin: 2rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #f3f4f6;
    font-family: 'Inter', sans-serif;
}

.shipping-policy-content p {
    font-size: 0.95rem;
    line-height: 1.8;
    color: #4b5563;
    margin-bottom: 1rem;
}

.shipping-policy-content a {
    color: #8B0000;
    text-decoration: underline;
}

.shipping-policy-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.5rem;
    font-size: 0.9rem;
}

.shipping-policy-content table th {
    background: #8B0000;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    padding: 12px 16px;
    text-align: left;
}

.shipping-policy-content table td {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.shipping-policy-content table tr:nth-child(even) td {
    background: #f9fafb;
}

/* =====================================================
   Contact Page — CF7 Form Styling
   ===================================================== */
.page-template-page-contact .wpcf7-form input[type="text"],
.page-template-page-contact .wpcf7-form input[type="email"],
.page-template-page-contact .wpcf7-form input[type="tel"],
.page-template-page-contact .wpcf7-form textarea {
    width: 100% !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 0 !important;
    padding: 13px 16px !important;
    font-size: 0.9rem !important;
    color: #111827 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    font-family: 'Inter', sans-serif !important;
    display: block !important;
}

.page-template-page-contact .wpcf7-form input[type="text"]:focus,
.page-template-page-contact .wpcf7-form input[type="email"]:focus,
.page-template-page-contact .wpcf7-form textarea:focus {
    border-color: #8B0000 !important;
    box-shadow: 0 0 0 3px rgba(139, 0, 0, 0.1) !important;
}

.page-template-page-contact .wpcf7-form textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

.page-template-page-contact .wpcf7-form input[type="submit"] {
    width: 100% !important;
    background: #8B0000 !important;
    color: #fff !important;
    border: none !important;
    padding: 16px 24px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.25s ease !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 4px !important;
    display: block !important;
}

.page-template-page-contact .wpcf7-form input[type="submit"]:hover {
    background: #6b0000 !important;
}

.page-template-page-contact .wpcf7-not-valid-tip {
    font-size: 11px !important;
    color: #dc2626 !important;
    margin-top: 3px !important;
    display: block !important;
}

.page-template-page-contact .wpcf7-response-output {
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
    margin-top: 14px !important;
    border-left: 4px solid #8B0000 !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: #fdf2f2 !important;
    color: #374151 !important;
}

/* =====================================================
   Legal Pages (Privacy Policy & Terms of Service)
   ===================================================== */
.legal-content {
    font-family: 'Inter', sans-serif;
    color: #374151;
    line-height: 1.85;
}

.legal-content p {
    font-size: 0.95rem;
    margin-bottom: 1.1rem;
    color: #4b5563;
}

.legal-content h2 {
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #111827;
    margin: 2.5rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #f3f4f6;
}

.legal-content ul {
    list-style: disc;
    padding-left: 1.5rem;
    margin-bottom: 1.1rem;
}

.legal-content ul li {
    font-size: 0.9rem;
    color: #4b5563;
    margin-bottom: 0.4rem;
}

.legal-content a {
    color: #8B0000;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-content a:hover {
    color: #6b0000;
}

.legal-content strong {
    color: #111827;
    font-weight: 700;
}

.legal-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0 1.5rem;
    font-size: 0.875rem;
}

.legal-content table th,
.legal-content table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border: 1px solid #e5e7eb;
}

.legal-content table th {
    background: #111827;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
}

.legal-content table tbody tr:nth-child(even) {
    background: #f9fafb;
}

.legal-content table tbody td {
    color: #4b5563;
}

/* =============================================
   SINGLE PRODUCT — PRODUCT SLIDER SECTIONS
   ============================================= */

.rahimsons-product-slider-section {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 2px solid #f3f4f6;
    overflow: hidden;
}

.rahimsons-slider-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.rahimsons-slider-header h2 {
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #111827;
    font-family: 'Inter', sans-serif;
    margin: 0;
    position: relative;
    padding-bottom: 0.5rem;
}

.rahimsons-slider-header h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: #8B0000;
}

.rahimsons-slider-arrows {
    display: flex;
    gap: 0.5rem;
}

.rahimsons-slider-arrow {
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rahimsons-slider-arrow:hover {
    background: #8B0000;
    border-color: #8B0000;
    color: #fff;
}

/* Slider Track */
.rahimsons-slider-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
}

/* Hide scrollbar */
.rahimsons-slider-track::-webkit-scrollbar {
    display: none;
}

.rahimsons-slider-track {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Slider Card */
.rahimsons-slider-card {
    flex: 0 0 280px;
    min-width: 280px;
    scroll-snap-align: start;
    list-style: none;
}

/* Fix the product card inside slider to fill the card container */
.rahimsons-slider-card .rahimsons-product-card {
    list-style: none !important;
    height: 100%;
}

.rahimsons-slider-card .rahimsons-product-card .relative.overflow-hidden.h-64 {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
}

.rahimsons-slider-card .rahimsons-product-card .relative.overflow-hidden.h-64 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Mobile: smaller cards & Sticky Footer padding */
@media (max-width: 639px) {
    body {
        padding-bottom: 64px !important;
    }

    .rahimsons-slider-card {
        flex: 0 0 240px;
        min-width: 240px;
    }

    .rahimsons-slider-header h2 {
        font-size: 1.15rem;
    }

    .rahimsons-slider-arrow {
        width: 34px;
        height: 34px;
    }
}

/* Tablet */
@media (min-width: 640px) and (max-width: 1023px) {
    body {
        padding-bottom: 64px !important;
    }

    flex: 0 0 260px;
    min-width: 260px;
}
}

/* Side Cart Overrides */
.widget_shopping_cart_content .woocommerce-mini-cart {
    margin: 0 !important;
    padding: 0 !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart-item {
    padding: 0 !important;
    border: none !important;
    margin-bottom: 24px !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart-item:last-child {
    margin-bottom: 0 !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart__total,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart__buttons .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 1rem !important;
    margin: 0 0 10px 0 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout {
    background-color: #8B0000 !important;
    color: #fff !important;
}

.widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout) {
    display: none !important;
}

/* =========================================
   CHECKOUT REDESIGN STYLES
========================================= */

/* Typography resets inside checkout */
.woocommerce-checkout h3 {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 1.5rem !important;
}

/* Flexbox Grid override for WooCommerce inputs */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* Base form row override */
.woocommerce-checkout .form-row {
    margin-bottom: 1rem !important;
    padding: 0 !important;
}

/* Full Width Fields */
.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    clear: both !important;
}

/* Half Width Fields */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 48% !important;
}

/* Custom Third Widths for City/State/Zip if needed, but 48% is fine for First/Last and City/State */
.woocommerce-checkout .form-row.half-width {
    width: 48% !important;
}

/* Input Styles completely matching Shopify Dawn */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea {
    width: 100% !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.25rem !important;
    background-color: #fff !important;
    font-size: 0.9rem !important;
    color: #111 !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus {
    outline: none !important;
    border-color: #8B0000 !important;
    box-shadow: 0 0 0 1px #8B0000 !important;
}

/* Hidden labels - we only use placeholders now */
.woocommerce-checkout .form-row label {
    display: none !important;
}

.woocommerce-checkout .form-row label.checkbox {
    display: inline-flex !important;
    align-items: center;
    font-size: 0.85rem !important;
    color: #4b5563 !important;
    margin-top: 0.5rem !important;
}

.woocommerce-checkout .form-row label.checkbox input {
    margin-right: 0.5rem !important;
    width: auto !important;
}

/* Select2 Dropdowns (Country/State) */
.woocommerce-checkout .select2-container .select2-selection--single {
    height: auto !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.25rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 1rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    color: #111 !important;
    font-size: 0.9rem !important;
    padding: 0 !important;
}

/* Payment Section Overrides */
#payment.woocommerce-checkout-payment {
    background: transparent !important;
    border-radius: 0 !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods {
    border: 1px solid #d1d5db !important;
    border-radius: 0.25rem !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods li {
    border-bottom: 1px solid #d1d5db !important;
    padding: 1.25rem 1rem !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods li:last-child {
    border-bottom: none !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods li input[type=radio] {
    margin-right: 1rem !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods li label {
    display: inline-flex !important;
    font-weight: 700 !important;
    color: #111 !important;
}

#payment.woocommerce-checkout-payment div.payment_box {
    background-color: #f9fafb !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 1.25rem !important;
    margin: 1.25rem -1rem -1.25rem -1rem !important;
    color: #4b5563 !important;
    font-size: 0.85rem !important;
}

#payment.woocommerce-checkout-payment div.payment_box::before {
    display: none !important;
    /* Hide the little triangle */
}

/* Order Summary Box overrides */
.woocommerce-checkout-review-order-table {
    border: none !important;
    width: 100% !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 1rem 0 !important;
    border-top: none !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.woocommerce-checkout-review-order-table th {
    font-size: 0.85rem !important;
    color: #4b5563 !important;
    text-transform: capitalize !important;
    letter-spacing: normal !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table td {
    border: none !important;
}

.woocommerce-checkout-review-order-table tr.cart_item td {
    border-bottom: none !important;
    padding: 0.5rem 0 !important;
}

.woocommerce-checkout-review-order-table tr.cart_item .product-name {
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    color: #111 !important;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.woocommerce-checkout-review-order-table tr.cart_item .product-total {
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    color: #111 !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500 !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #111 !important;
    padding-top: 1.5rem !important;
    border-top: 1px solid #d1d5db !important;
}

/* The Place Order Button Container */
#payment.woocommerce-checkout-payment div.form-row.place-order {
    padding: 2rem 0 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

#payment.woocommerce-checkout-payment div.form-row.place-order .button {
    background-color: #8B0000 !important;
    color: #fff !important;
    width: 100% !important;
    padding: 1.25rem !important;
    font-size: 1rem !important;
    border-radius: 0.25rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    /* Shopify style */
    letter-spacing: normal !important;
}

#payment.woocommerce-checkout-payment div.form-row.place-order .button:hover {
    background-color: #6b0000 !important;
}

/* Adjust notices within checkout */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    margin-bottom: 2rem !important;
    border-top: 3px solid #8B0000 !important;
}

/* Prevent horizontal scroll on checkout due to right column expansion */
body.woocommerce-checkout {
    overflow-x: hidden;
}