/**
 * WooCommerce UI Enhancer - Frontend Modern Enhancements Stylesheet
 * Author: Afghan Awalfajari
 */

/* ==========================================================================
   1. PRODUCT CARD STYLES & HOVER EFFECTS (CATALOG / SHOP)
   ========================================================================== */

/* Modern Grid Card Base (Astra & Standard WooCommerce Compatible) */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.ast-woocommerce-container ul.products li.product {
    background: var(--woo-ui-card-bg, #FFFFFF);
    border-radius: var(--woo-ui-radius, 12px) !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0);
    padding: 14px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative;
    overflow: hidden;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05));
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* Astra Specific Structure Support */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    margin-bottom: 10px !important;
    width: 100% !important;
    display: block !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    margin-top: auto !important;
}

/* Standard WooCommerce Link Support */
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product>a.woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* Hover Lift Effect */
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px -4px rgba(0, 101, 179, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
    border-color: var(--woo-ui-primary, #0065B3);
}

/* Product Thumbnail (Pinned to Top) */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    border-radius: calc(var(--woo-ui-radius, 12px) - 4px) !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    align-self: flex-start !important;
    display: block !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
    transform: scale(1.04);
}

/* Category Tag (Astra) */
.woocommerce ul.products li.product .ast-woo-product-category {
    font-size: 11px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    margin-bottom: 4px !important;
    display: block !important;
    text-transform: uppercase;
}

/* Product Title (Pushed to bottom of image area) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-loop-product__title {
    margin-top: auto !important;
    /* Pushes title and subsequent elements to the bottom */
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
    padding: 0 !important;
}

/* Star Ratings (Bottom aligned) */
.woocommerce .star-rating {
    color: var(--woo-ui-star-color, #F59E0B) !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

/* Price (Bottom aligned - Unified consistent color for regular & discounted prices) */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--woo-ui-primary, #0065B3) !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce div.product .price del,
.woocommerce div.product .summary .price del,
.woocommerce div.product .woocommerce-variation-price .price del,
.single-product div.product .price del,
.single-product .summary .price del,
.woocommerce-grouped-product-list-item__price del,
.ast-single-post-order .price del,
.woocommerce ul.products li.product .price del *,
.woocommerce-page ul.products li.product .price del *,
.woocommerce div.product p.price del *,
.woocommerce div.product span.price del *,
.woocommerce div.product .price del *,
.woocommerce div.product .summary .price del *,
.woocommerce div.product .woocommerce-variation-price .price del *,
.single-product div.product .price del *,
.single-product .summary .price del *,
.woocommerce-grouped-product-list-item__price del *,
.ast-single-post-order .price del * {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #ff3939 !important;
    text-decoration: line-through !important;
    margin-right: 6px !important;
    opacity: 0.85 !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none !important;
    color: var(--woo-ui-primary, #0065B3) !important;
    font-weight: 700 !important;
}

/* Modern Sale Badges */
.woo-ui-badge.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background: var(--woo-ui-badge-bg, #ED7D31) !important;
    color: var(--woo-ui-badge-text, #FFFFFF) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    padding: 5px 9px !important;
    min-height: auto !important;
    min-width: auto !important;
    border-radius: 999px !important;
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    box-shadow: 0 4px 10px rgba(237, 125, 49, 0.35) !important;
    z-index: 9 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hide Astra theme default "Diskon" on-card sale button */
.ast-on-card-button.ast-onsale-card,
.ast-onsale-card,
.woocommerce ul.products li.product .ast-onsale-card,
.astra-shop-thumbnail-wrap .ast-onsale-card {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Add to Cart Button on Card (Anchored at Bottom with Dynamic Sizing) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .ast-loop-product__link+.button,
.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button,
.ast-woocommerce-container ul.products li.product .button,
.ast-woocommerce-container ul.products li.product a.button {
    background: var(--woo-ui-accent, #ED7D31) !important;
    color: var(--woo-ui-btn-text, #FFFFFF) !important;
    border-radius: var(--woo-ui-btn-radius, 8px) !important;
    font-weight: 600 !important;
    font-size: var(--woo-ui-card-btn-font, 13.5px) !important;
    padding: var(--woo-ui-card-btn-pad, 9px 16px) !important;
    line-height: 1.35 !important;
    text-align: center !important;
    border: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(237, 125, 49, 0.25) !important;
    margin-top: auto !important;
    width: var(--woo-ui-card-btn-width, 100%) !important;
    max-width: 100% !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    align-self: center !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button:hover,
.ast-woocommerce-container ul.products li.product a.button:hover {
    background: #d96a22 !important;
    box-shadow: 0 6px 16px rgba(237, 125, 49, 0.4) !important;
    transform: translateY(-1px);
}

/* ==========================================================================
   2. SINGLE PRODUCT QUANTITY STEPPER & ADD TO CART ROW
   ========================================================================== */

/* Single Product Cart Form Flex Layout */
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce-page div.product form.cart:not(.variations_form),
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart .variations_button {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
}

/* Quantity Stepper Container (Equal 46px height) */
.woocommerce div.product form.cart .quantity.hidden,
.woocommerce-page div.product form.cart .quantity.hidden,
.woocommerce div.product form.cart .quantity:has(input[type="hidden"]) {
    display: none !important;
}

.woo-ui-qty-wrapper,
.woocommerce div.product form.cart .quantity.woo-ui-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1.5px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-btn-radius, 8px) !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.woo-ui-qty-btn {
    width: 38px !important;
    height: 100% !important;
    min-height: 100% !important;
    background: #F8FAFC !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: var(--woo-ui-text, #1E293B) !important;
    transition: background 0.15s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.woo-ui-qty-btn:hover {
    background: #EDF2F7 !important;
    color: var(--woo-ui-primary, #0065B3) !important;
}

.woocommerce .quantity .woo-ui-qty-input,
.woo-ui-qty-wrapper input.qty {
    width: 48px !important;
    height: 100% !important;
    min-height: 100% !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--woo-ui-text, #1E293B) !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    -moz-appearance: textfield;
}

.woocommerce .quantity .woo-ui-qty-input::-webkit-outer-spin-button,
.woocommerce .quantity .woo-ui-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Single Add to Cart Button & Sticky Bar Button (Identical 46px height, Button Border Radius & Accent Color) */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.button.alt,
.woocommerce div.product form.cart .button,
#woo-ui-sticky-submit-btn,
.woo-ui-sticky-bar .single_add_to_cart_button,
.woo-ui-sticky-actions button {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--woo-ui-accent, #ED7D31) !important;
    color: var(--woo-ui-btn-text, #FFFFFF) !important;
    border-radius: var(--woo-ui-btn-radius, 8px) !important;
    padding: 0 28px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-shadow: 0 6px 18px rgba(237, 125, 49, 0.35) !important;
    border: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce-page div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.button.alt:hover,
.woocommerce div.product form.cart .button:hover,
#woo-ui-sticky-submit-btn:hover,
.woo-ui-sticky-bar .single_add_to_cart_button:hover,
.woo-ui-sticky-actions button:hover {
    background: #d96a22 !important;
    color: var(--woo-ui-btn-text, #FFFFFF) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(237, 125, 49, 0.45) !important;
}

/* Hide WooCommerce default "Lihat keranjang" / "View Cart" link after adding to cart */
.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart,
.woocommerce div.product form.cart a.added_to_cart,
.woocommerce div.product form.cart+a.added_to_cart,
.woocommerce ul.products li.product a.added_to_cart,
.added_to_cart.wc-forward {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ==========================================================================
   3. STICKY ADD TO CART FLOATING BAR
   ========================================================================== */

.woo-ui-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border-top: 1px solid var(--woo-ui-border, #E2E8F0);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
    padding: 12px 24px;
    z-index: 999990;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.woo-ui-sticky-bar.is-visible {
    transform: translateY(0);
}

.woo-ui-sticky-bar-info {
    display: flex;
    align-items: center;
    gap: 14px;
}

.woo-ui-sticky-thumb {
    width: 44px;
    height: 44px;
    border-radius: var(--woo-ui-btn-radius, 8px);
    object-fit: cover;
}

.woo-ui-sticky-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--woo-ui-text, #1E293B);
    margin: 0 0 2px 0;
}

.woo-ui-sticky-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--woo-ui-primary, #0065B3);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.woo-ui-sticky-price del,
.woo-ui-sticky-price del *,
.woo-ui-sticky-price del .amount,
.woo-ui-sticky-price del bdi,
.woo-ui-sticky-price del .woocommerce-Price-amount {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #ff3939 !important;
    text-decoration: line-through !important;
    margin-right: 4px !important;
    opacity: 0.85 !important;
}

.woo-ui-sticky-price ins,
.woo-ui-sticky-price ins .amount,
.woo-ui-sticky-price ins bdi {
    text-decoration: none !important;
    color: var(--woo-ui-primary, #0065B3) !important;
    font-weight: 700 !important;
}

.woo-ui-sticky-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

@media (max-width: 768px) {
    .woo-ui-sticky-title {
        display: none;
    }

    .woo-ui-sticky-bar {
        padding: 10px 16px;
    }

    #woo-ui-sticky-submit-btn,
    .woo-ui-sticky-bar .single_add_to_cart_button {
        padding: 0 18px !important;
        font-size: 13.5px !important;
        height: 42px !important;
        min-height: 42px !important;
    }
}

/* ==========================================================================
   4. WOOCOMMERCE CATALOG PAGINATION ENHANCEMENTS
   ========================================================================== */

.woocommerce-pagination,
nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination,
.ast-woocommerce-container .woocommerce-pagination,
.ast-pagination,
.ast-pagination .page-numbers {
    display: flex !important;
    justify-content: var(--woo-ui-pagi-align, center) !important;
    align-items: center !important;
    margin: 36px 0 20px 0 !important;
    padding: 10px 0 !important;
    clear: both !important;
    border: none !important;
    text-align: center !important;
    width: 100% !important;
    overflow: visible !important;
}

.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers,
nav.woocommerce-pagination ul.page-numbers,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.ast-pagination ul,
.ast-pagination ul.page-numbers {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: var(--woo-ui-pagi-align, center) !important;
    gap: var(--woo-ui-pagi-gap, 8px) !important;
    list-style: none !important;
    list-style-type: none !important;
    padding: 6px !important;
    margin: 0 !important;
    border: none !important;
    overflow: visible !important;
}

.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li,
nav.woocommerce-pagination ul.page-numbers li,
.woocommerce nav.woocommerce-pagination ul li,
.ast-pagination ul li,
.ast-pagination ul.page-numbers li {
    list-style: none !important;
    list-style-type: none !important;
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    float: none !important;
    overflow: visible !important;
}

.woocommerce-pagination ul li::before,
.woocommerce-pagination ul li::after,
.woocommerce-pagination ul.page-numbers li::before,
.woocommerce-pagination ul.page-numbers li::after,
nav.woocommerce-pagination ul.page-numbers li::before,
nav.woocommerce-pagination ul.page-numbers li::after {
    display: none !important;
    content: none !important;
}

/* Page Numbers items (Current, Links, Next, Prev, Dots) */
.woocommerce-pagination ul li .page-numbers,
.woocommerce-pagination ul.page-numbers li .page-numbers,
nav.woocommerce-pagination ul.page-numbers li .page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: var(--woo-ui-pagi-size, 38px) !important;
    height: var(--woo-ui-pagi-size, 38px) !important;
    padding: 0 12px !important;
    font-size: var(--woo-ui-pagi-font, 13.5px) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background: var(--woo-ui-pagi-bg, #FFFFFF) !important;
    color: var(--woo-ui-pagi-text, #1E293B) !important;
    border: 1px solid var(--woo-ui-pagi-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-pagi-radius, 8px) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

/* Inactive Page Links Hover */
.woocommerce-pagination ul li a.page-numbers:hover,
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--woo-ui-pagi-hover-bg, #F1F5F9) !important;
    color: var(--woo-ui-pagi-hover-text, #0065B3) !important;
    border-color: var(--woo-ui-pagi-hover-border, #CBD5E1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    z-index: 5 !important;
}

/* Active / Current Page Number */
.woocommerce-pagination ul li .page-numbers.current,
.woocommerce-pagination ul.page-numbers li .page-numbers.current,
nav.woocommerce-pagination ul.page-numbers li .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--woo-ui-pagi-active-bg, var(--woo-ui-primary, #0065B3)) !important;
    color: var(--woo-ui-pagi-active-text, #FFFFFF) !important;
    border-color: var(--woo-ui-pagi-active-border, var(--woo-ui-primary, #0065B3)) !important;
    box-shadow: 0 2px 8px rgba(0, 101, 179, 0.25) !important;
    cursor: default !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* Dots Separator */
.woocommerce-pagination ul li .page-numbers.dots,
.woocommerce-pagination ul.page-numbers li .page-numbers.dots,
nav.woocommerce-pagination ul.page-numbers li .page-numbers.dots,
.woocommerce nav.woocommerce-pagination ul li span.dots {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    min-width: 24px !important;
    padding: 0 !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* ==========================================================================
   5. MODERN CART PAGE STYLING (CLASSIC & BLOCKS)
   ========================================================================== */

/* Cart Table Container */
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.cart {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    background: var(--woo-ui-card-bg, #FFFFFF) !important;
    overflow: hidden !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.cart th {
    background: #F8FAFC !important;
    color: var(--woo-ui-text, #1E293B) !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 18px !important;
    border: none !important;
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
}

.woocommerce-cart table.shop_table.cart td,
.woocommerce-cart table.cart td {
    padding: 16px 18px !important;
    border: none !important;
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    vertical-align: middle !important;
    color: var(--woo-ui-text, #1E293B) !important;
}

.woocommerce-cart table.shop_table.cart tr:last-child td,
.woocommerce-cart table.cart tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-cart table.cart .product-thumbnail img {
    width: 68px !important;
    height: 68px !important;
    border-radius: calc(var(--woo-ui-radius, 12px) - 4px) !important;
    object-fit: cover !important;
}

.woocommerce-cart table.cart .product-name a {
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    text-decoration: none !important;
}

.woocommerce-cart table.cart .product-name a:hover {
    color: var(--woo-ui-primary, #0065B3) !important;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
    font-weight: 700 !important;
    color: var(--woo-ui-primary, #0065B3) !important;
}

.woocommerce-cart a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #FEE2E2 !important;
    color: #EF4444 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart a.remove:hover {
    background: #EF4444 !important;
    color: #FFFFFF !important;
}

/* Coupon & Actions Bar (Unstyled Container, Styled Input & Button Only) */
.woocommerce-cart table.cart td.actions {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 16px 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Hide any overlapping screen-reader label on cart coupon */
.woocommerce-cart .coupon label,
.woocommerce-cart .coupon label.screen-reader-text,
.wc-block-components-totals-coupon label {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text,
.woocommerce-cart .shipping-calculator-form input.input-text,
.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .shipping-calculator-form textarea,
.woocommerce-cart .select2-container--default .select2-selection--single,
.wc-block-components-totals-coupon input,
.wc-block-cart .wc-block-components-text-input input,
.wc-block-cart .wc-block-components-combobox input {
    height: 44px !important;
    border: 1.5px solid var(--woo-ui-cart-input-border, var(--woo-ui-border, #E2E8F0)) !important;
    border-radius: var(--woo-ui-cart-input-radius, var(--woo-ui-btn-radius, 8px)) !important;
    background-color: var(--woo-ui-cart-input-bg, #FFFFFF) !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: var(--woo-ui-cart-input-color, var(--woo-ui-text, #1E293B)) !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text {
    width: 190px !important;
    max-width: 100% !important;
}

/* Cart Totals Card */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
    background: var(--woo-ui-card-bg, #FFFFFF) !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 24px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
}

.woocommerce-cart .cart_totals table.shop_table {
    border: none !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid #F1F5F9 !important;
}

.woocommerce-cart .cart_totals tr.order-total strong {
    font-size: 18px !important;
    color: var(--woo-ui-primary, #0065B3) !important;
}

/* Gutenberg Block Cart Support */
.wp-block-woocommerce-cart,
.wc-block-cart {
    border-radius: var(--woo-ui-radius, 12px);
}

.wc-block-cart-items {
    background: #FFFFFF !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 20px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    margin-bottom: 20px !important;
}

.wc-block-cart__totals {
    background: #FFFFFF !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 24px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
}

/* ==========================================================================
   6. MODERN CHECKOUT PAGE STYLING & INPUT FOCUS (CLASSIC & BLOCKS)
   ========================================================================== */

/* Checkout Coupon Form (Unstyled Container, Styled Input & Button Only) */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 12px !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 12px !important;
    color: var(--woo-ui-text, #1E293B) !important;
    font-size: 14px !important;
    display: block !important;
}

.woocommerce-checkout .woocommerce-info a.showcoupon,
.woocommerce-checkout .woocommerce-info a {
    color: var(--woo-ui-primary, #0065B3) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.woocommerce-checkout form.checkout_coupon,
form.checkout_coupon.woocommerce-form-coupon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 8px 0 20px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-checkout form.checkout_coupon>p:not(.form-row) {
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-size: 13.5px !important;
}

/* Hide any overlapping label on checkout coupon */
.woocommerce-checkout form.checkout_coupon label,
.woocommerce-checkout form.checkout_coupon label.screen-reader-text,
.wc-block-checkout .wc-block-components-totals-coupon label {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.woocommerce-checkout form.checkout_coupon .form-row-first,
.woocommerce-checkout form.checkout_coupon .form-row-last,
.woocommerce-checkout form.checkout_coupon .form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
    flex: 1 1 200px !important;
    max-width: 280px !important;
}

.woocommerce-checkout form.checkout_coupon input.input-text,
.woocommerce-checkout form.checkout_coupon #coupon_code {
    height: 44px !important;
    line-height: 44px !important;
    border: 1.5px solid var(--woo-ui-chk-input-border, var(--woo-ui-border, #CBD5E1)) !important;
    border-radius: var(--woo-ui-chk-input-radius, var(--woo-ui-btn-radius, 8px)) !important;
    background-color: var(--woo-ui-chk-input-bg, #FFFFFF) !important;
    color: var(--woo-ui-chk-input-color, var(--woo-ui-text, #1E293B)) !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout form.checkout_coupon input.input-text:focus,
.woocommerce-checkout form.checkout_coupon #coupon_code:focus {
    border-color: var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
    box-shadow: 0 0 0 1px var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
}

.woocommerce-checkout form.checkout_coupon button.button[name="apply_coupon"],
.woocommerce-checkout form.checkout_coupon button.button,
.woocommerce-checkout form.checkout_coupon input[type="submit"] {
    height: 44px !important;
    line-height: 44px !important;
    border-radius: var(--woo-ui-chk-btn-radius, var(--woo-ui-btn-radius, 8px)) !important;
    background-color: var(--woo-ui-chk-btn-bg, var(--woo-ui-accent, #ED7D31)) !important;
    color: var(--woo-ui-chk-btn-color, #FFFFFF) !important;
    padding: 0 18px !important;
    font-weight: var(--woo-ui-chk-btn-weight, 600) !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: var(--woo-ui-chk-btn-shadow, none) !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}

.woocommerce-checkout form.checkout_coupon button.button[name="apply_coupon"]:hover,
.woocommerce-checkout form.checkout_coupon button.button:hover {
    filter: brightness(0.92) !important;
    transform: translateY(-1px) !important;
}

.woocommerce-checkout form.checkout_coupon .clear {
    display: none !important;
}

/* Billing & Shipping Card Container */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 {
    background: var(--woo-ui-card-bg, #FFFFFF);
    border-radius: var(--woo-ui-radius, 12px);
    border: 1px solid var(--woo-ui-border, #E2E8F0);
    padding: 22px 24px;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05));
    margin-bottom: 20px;
    box-sizing: border-box;
}

.woocommerce-checkout h3 {
    font-weight: 700 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
}

/* ==========================================================================
   GOOGLE MATERIAL OUTLINED FLOATING LABELS & MODERN FORM INPUTS
   ========================================================================== */

/* Modern Form Row Container */
.woo-ui-floating-row,
.woocommerce form.checkout .form-row.woo-ui-floating-row,
.woocommerce form.login .form-row.woo-ui-floating-row,
.woocommerce form.register .form-row.woo-ui-floating-row,
.woocommerce-cart .form-row.woo-ui-floating-row,
.woocommerce-account .form-row.woo-ui-floating-row {
    position: relative !important;
    margin-top: 18px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    clear: none;
}

/* Clear default margin from nested wrappers */
.woo-ui-floating-row .woocommerce-input-wrapper,
.woo-ui-floating-row .password-input {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Google Material Outlined Inputs */
.woo-ui-floating-row input.input-text,
.woo-ui-floating-row input[type="text"],
.woo-ui-floating-row input[type="email"],
.woo-ui-floating-row input[type="tel"],
.woo-ui-floating-row input[type="password"],
.woo-ui-floating-row input[type="number"],
.woo-ui-floating-row select,
.woocommerce form.checkout input.input-text,
.woocommerce form.checkout select,
.woocommerce form.login input.input-text,
.woocommerce form.register input.input-text,
.woocommerce-account input.input-text {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    line-height: 50px !important;
    padding: 0 14px !important;
    font-size: 14.5px !important;
    color: var(--woo-ui-chk-input-color, var(--woo-ui-cart-input-color, var(--woo-ui-text, #1E293B))) !important;
    background-color: var(--woo-ui-chk-input-bg, var(--woo-ui-cart-input-bg, var(--woo-ui-card-bg, #FFFFFF))) !important;
    border: 1.5px solid var(--woo-ui-chk-input-border, var(--woo-ui-cart-input-border, var(--woo-ui-border, #CBD5E1))) !important;
    border-radius: var(--woo-ui-chk-input-radius, var(--woo-ui-cart-input-radius, var(--woo-ui-btn-radius, 8px))) !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Textarea Field */
.woo-ui-floating-row textarea,
.woocommerce form.checkout textarea {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100px !important;
    line-height: 1.5 !important;
    padding: 14px !important;
    font-size: 14.5px !important;
    color: var(--woo-ui-chk-input-color, var(--woo-ui-cart-input-color, var(--woo-ui-text, #1E293B))) !important;
    background-color: var(--woo-ui-chk-input-bg, var(--woo-ui-cart-input-bg, var(--woo-ui-card-bg, #FFFFFF))) !important;
    border: 1.5px solid var(--woo-ui-chk-input-border, var(--woo-ui-cart-input-border, var(--woo-ui-border, #CBD5E1))) !important;
    border-radius: var(--woo-ui-chk-input-radius, var(--woo-ui-cart-input-radius, var(--woo-ui-btn-radius, 8px))) !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    resize: vertical !important;
    transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Focus States */
.woo-ui-floating-row input:focus,
.woo-ui-floating-row select:focus,
.woo-ui-floating-row textarea:focus,
.woo-ui-floating-row.is-focused input,
.woo-ui-floating-row.is-focused select,
.woo-ui-floating-row.is-focused textarea,
.woocommerce form.checkout input.input-text:focus,
.woocommerce form.checkout select:focus,
.woocommerce form.checkout textarea:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus {
    border-color: var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
    box-shadow: 0 0 0 1px var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
    outline: none !important;
}

/* Google Outlined Floating Label Base (Resting State) */
.woo-ui-floating-row>label {
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    top: 25px !important;
    transform: translateY(-50%) !important;
    transform-origin: left center !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    pointer-events: none !important;
    z-index: 4 !important;
    background-color: transparent !important;
    border-radius: 3px !important;
    white-space: nowrap !important;
    max-width: calc(100% - 28px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), top 0.18s cubic-bezier(0.4, 0, 0.2, 1), color 0.18s cubic-bezier(0.4, 0, 0.2, 1), font-weight 0.18s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Textarea Resting Label */
.woo-ui-floating-row.is-textarea>label {
    top: 20px !important;
    transform: translateY(-50%) !important;
}

/* Google Notch Effect: Label on Border (Floating / Focused / Filled State) */
.woo-ui-floating-row.is-floating>label,
.woo-ui-floating-row.is-focused>label,
.woo-ui-floating-row.is-filled>label {
    top: 0px !important;
    transform: translateY(-50%) scale(0.82) !important;
    background-color: var(--woo-ui-card-bg, #FFFFFF) !important;
    padding: 0 6px !important;
    font-weight: 600 !important;
    z-index: 6 !important;
}

/* Focus color on Label */
.woo-ui-floating-row.is-focused>label {
    color: var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
}

/* Filled (blurred) color on Label */
.woo-ui-floating-row.is-filled:not(.is-focused)>label {
    color: var(--woo-ui-text-muted, #64748B) !important;
}

/* Placeholder Management */
.woo-ui-floating-row:not(.is-floating) input::placeholder,
.woo-ui-floating-row:not(.is-floating) textarea::placeholder {
    opacity: 0 !important;
    color: transparent !important;
}

.woo-ui-floating-row.is-floating input::placeholder,
.woo-ui-floating-row.is-floating textarea::placeholder {
    opacity: 0.55 !important;
    color: #94A3B8 !important;
}

/* Required Indicator */
.woo-ui-floating-row label .required,
.woo-ui-floating-row label abbr.required {
    color: #EF4444 !important;
    text-decoration: none !important;
    border-bottom: none !important;
    margin-left: 2px !important;
    font-weight: 700 !important;
}

/* Select2 Dropdown Integration */
.woo-ui-floating-row .select2-container--default .select2-selection--single,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-cart .select2-container--default .select2-selection--single {
    height: 50px !important;
    border: 1.5px solid var(--woo-ui-chk-input-border, var(--woo-ui-cart-input-border, var(--woo-ui-border, #CBD5E1))) !important;
    border-radius: var(--woo-ui-chk-input-radius, var(--woo-ui-cart-input-radius, var(--woo-ui-btn-radius, 8px))) !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    background-color: var(--woo-ui-chk-input-bg, var(--woo-ui-cart-input-bg, var(--woo-ui-card-bg, #FFFFFF))) !important;
    box-sizing: border-box !important;
}

.woo-ui-floating-row .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
    padding-left: 0 !important;
    color: var(--woo-ui-chk-input-color, var(--woo-ui-cart-input-color, var(--woo-ui-text, #1E293B))) !important;
    font-size: 14.5px !important;
}

.woo-ui-floating-row .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    right: 12px !important;
}

.woo-ui-floating-row.is-focused .select2-container--default .select2-selection--single,
.woo-ui-floating-row .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
    box-shadow: 0 0 0 1px var(--woo-ui-chk-input-focus, var(--woo-ui-primary, #0065B3)) !important;
}

/* Order Review Container (Classic Checkout) */
.woocommerce-checkout #order_review_heading {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    margin-top: 10px !important;
}

.woocommerce-checkout #order_review {
    background: var(--woo-ui-card-bg, #FFFFFF) !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 20px 22px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
    border: none !important;
    margin-bottom: 16px !important;
    font-size: 13px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
    padding: 10px 0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-weight: 600 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
    padding: 10px 0 !important;
    border-bottom: 1px solid #F1F5F9 !important;
    font-size: 13px !important;
    color: var(--woo-ui-text, #1E293B) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity {
    font-size: 12px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-weight: normal !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: right !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
    font-size: 13px !important;
    text-align: right !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--woo-ui-text, #1E293B) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total strong {
    font-size: 15px !important;
    color: var(--woo-ui-primary, #0065B3) !important;
    font-weight: 700 !important;
}

/* Payment Methods Container */
.woocommerce-checkout #payment {
    background: #F8FAFC !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 16px 18px !important;
    margin-top: 18px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    list-style: none !important;
    padding-left: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #FFFFFF !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-btn-radius, 8px) !important;
    padding: 10px 14px !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: var(--woo-ui-primary, #0065B3) !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #F1F5F9 !important;
    border-radius: var(--woo-ui-btn-radius, 8px) !important;
    padding: 12px 14px !important;
    margin: 8px 0 0 0 !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #F1F5F9 !important;
}

/* Sticky Order Summary on Desktop Screens */
@media (min-width: 992px) {

    .woocommerce-checkout .woocommerce-checkout-review-order,
    .woocommerce-checkout #order_review {
        position: -webkit-sticky;
        position: sticky;
        top: 30px;
        z-index: 10;
    }
}

/* Gutenberg Block Checkout Support */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout .wc-block-components-panel {
    background: #FFFFFF !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    font-size: 13px !important;
}

/* ==========================================================================
   7. MODERN THANK YOU (ORDER RECEIVED) PAGE (CLASSIC & BLOCKS)
   ========================================================================== */

/* Success Hero Banner */
.woocommerce-order-received p.woocommerce-notice--success,
.woocommerce-thankyou-order-received p.woocommerce-notice--success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08) 0%, rgba(0, 101, 179, 0.04) 100%) !important;
    border: 1.5px solid #10B981 !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 16px 20px !important;
    color: #065F46 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.1) !important;
    margin-bottom: 20px !important;
}

/* Order Overview Info Grid Cards */
ul.woocommerce-order-overview.order_details {
    display: grid !important;
    gap: 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
    border: none !important;
}

ul.woocommerce-order-overview.order_details li {
    background: #FFFFFF !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 12px 14px !important;
    box-shadow: var(--woo-ui-shadow, 0 2px 8px rgba(0, 0, 0, 0.04)) !important;
    text-transform: none !important;
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    font-size: 12px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
}

ul.woocommerce-order-overview.order_details li strong {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    display: block !important;
    margin-top: 1px !important;
}

ul.woocommerce-order-overview.order_details li.woocommerce-order-overview__total strong {
    color: var(--woo-ui-primary, #0065B3) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
}

/* Order Details Table Container (Thank You & View Order) */
.woocommerce-order-received section.woocommerce-order-details,
.woocommerce-order-received section.woocommerce-customer-details,
.woocommerce-view-order section.woocommerce-order-details,
.woocommerce-view-order section.woocommerce-customer-details,
.woocommerce-page section.woocommerce-order-details {
    background: var(--woo-ui-card-bg, #FFFFFF) !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 20px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
}

.woocommerce-order-received section.woocommerce-order-details h2,
.woocommerce-order-received section.woocommerce-customer-details h2,
.woocommerce-view-order section.woocommerce-order-details h2,
.woocommerce-view-order section.woocommerce-customer-details h2,
.woocommerce-page section.woocommerce-order-details h2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid var(--woo-ui-border, #E2E8F0) !important;
}

.woocommerce table.shop_table.order_details,
.woocommerce-order-received table.shop_table.order_details,
.woocommerce-view-order table.shop_table.order_details {
    border: none !important;
    width: 100% !important;
    font-size: 13px !important;
}

.woocommerce table.shop_table.order_details th,
.woocommerce table.shop_table.order_details td,
.woocommerce-order-received table.shop_table.order_details th,
.woocommerce-order-received table.shop_table.order_details td,
.woocommerce-view-order table.shop_table.order_details th,
.woocommerce-view-order table.shop_table.order_details td {
    padding: 10px 12px !important;
    border-bottom: 1px solid #F1F5F9 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.woocommerce table.shop_table.order_details thead th,
.woocommerce-order-received table.shop_table.order_details thead th,
.woocommerce-view-order table.shop_table.order_details thead th {
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.woocommerce table.shop_table.order_details .product-name,
.woocommerce table.shop_table.order_details .product-name a,
.woocommerce-order-received table.shop_table.order_details .product-name,
.woocommerce-order-received table.shop_table.order_details .product-name a,
.woocommerce-view-order table.shop_table.order_details .product-name,
.woocommerce-view-order table.shop_table.order_details .product-name a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    text-decoration: none !important;
}

.woocommerce table.shop_table.order_details .product-quantity,
.woocommerce-order-received table.shop_table.order_details .product-quantity {
    font-size: 12px !important;
    color: var(--woo-ui-text-muted, #64748B) !important;
    font-weight: normal !important;
}

.woocommerce table.shop_table.order_details tfoot th,
.woocommerce-order-received table.shop_table.order_details tfoot th {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--woo-ui-text, #1E293B) !important;
}

.woocommerce table.shop_table.order_details tfoot td,
.woocommerce-order-received table.shop_table.order_details tfoot td {
    font-size: 13px !important;
    font-weight: 600 !important;
}

.woocommerce table.shop_table.order_details tfoot tr:last-child th,
.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th {
    font-size: 14px !important;
    font-weight: 700 !important;
}

.woocommerce table.shop_table.order_details tfoot tr:last-child td,
.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td,
.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td span.amount {
    font-size: 15px !important;
    color: var(--woo-ui-primary, #0065B3) !important;
    font-weight: 700 !important;
}

.woocommerce-order-received address,
.woocommerce-view-order address {
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    padding: 14px !important;
    background: #F8FAFC !important;
    line-height: 1.5 !important;
    color: var(--woo-ui-text, #1E293B) !important;
    font-size: 13px !important;
    font-style: normal !important;
}

/* Gutenberg Block Order Confirmation Compact Fonts */
.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-additional-information {
    background: #FFFFFF !important;
    border: 1px solid var(--woo-ui-border, #E2E8F0) !important;
    border-radius: var(--woo-ui-radius, 12px) !important;
    padding: 20px 24px !important;
    box-shadow: var(--woo-ui-shadow, 0 4px 14px rgba(0, 0, 0, 0.05)) !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
}

.wc-block-order-confirmation-summary-list-item__value {
    font-size: 13.5px !important;
}