/*
Theme Name: Modave Child
Theme URI: https://modave.presslayouts.com/landing
Author: PressLayouts Team
Description: This is a child theme for Modave
Version: 1.0
Author URI: https://www.presslayouts.com/
Template: modave
Text Domain: modave-child
*/

/* --- 360 Degree Viewer Fix (Final) --- */
#ragnarok-360-degree-wrapper {
    width: 95% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    background: #fff !important;
    height: 0 !important;
    padding-bottom: 133.33% !important; /* 3:4 Aspect Ratio */
    position: relative !important;
}

@media (max-width: 768px) {
    #ragnarok-360-degree-wrapper {
        padding-bottom: 133.33% !important;
    }
}

.ragnarok-360-close {
    z-index: 10001 !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    color: #fff !important;
    font-size: 35px !important;
    opacity: 1 !important;
    cursor: pointer !important;
    text-shadow: 0 0 10px rgba(0,0,0,0.5) !important;
}

/* Custom Product Gallery for 2 images */
.gallery-has-2-images .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
}

.gallery-has-2-images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
    width: 100% !important;
    margin: 0 !important;
}

.gallery-has-2-images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
}

/* Hide thumbnails and slider navigation when we have 2 large images */
.gallery-has-2-images .flex-control-nav,
.gallery-has-2-images .woocommerce-product-thumbnails,
.gallery-has-2-images .swiper-pagination,
.gallery-has-2-images .swiper-button-next,
.gallery-has-2-images .swiper-button-prev {
    display: none !important;
}

/* Sold Number Styling */
.pls-sold-number {
    font-size: 13px;
    color: #6a6a6a;
    margin-top: 2px;
    margin-bottom: 8px;
    font-weight: 500;
    line-height: 1.2;
}

/* Ensure it looks good in the grid */
.product-style-2 .pls-sold-number,
.product-style-6 .pls-sold-number {
    display: block;
}

/* Quick View Improvements */
.product-quick-view .pls-compare-btn {
    display: none !important;
}

.product-quick-view .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 15px !important;
}

.product-quick-view .pls-quantity-label {
    display: none !important;
    /* Hide label to save space */
}

.product-quick-view .pls-quantity {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    order: 1 !important;
}

.product-quick-view .pls-whishlist-btn {
    margin: 0 !important;
    order: 2 !important;
    flex: 0 0 54px !important;
    /* Fixed width for the icon button */
}

.product-quick-view .pls-whishlist-btn .woosw-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 12px !important;
    background-color: #f7f7f7 !important;
    border: 1px solid #eee !important;
    font-size: 0 !important;
    /* Hide text */
    transition: all 0.3s ease !important;
    position: relative;
}

.product-quick-view .pls-whishlist-btn .woosw-btn:before {
    font-family: 'presslayouts-font' !important;
    content: "\e909" !important;
    /* Empty heart */
    font-size: 22px !important;
    color: #000 !important;
}

.pls-whishlist-btn .woosw-btn,
.pls-whishlist-btn .woosw-btn:hover,
.pls-whishlist-btn .woosw-btn:active,
.pls-whishlist-btn .woosw-btn:focus {
    background-color: #fff !important;
    border-color: #eee !important;
    color: #000 !important;
    outline: none !important;
    box-shadow: none !important;
}

.pls-whishlist-btn .woosw-btn.woosw-added:before {
    content: "\ea8c" !important;
    /* Filled heart */
    color: #ff3e3e !important;
}

/* Hover state should also be white with red heart if added */
.pls-whishlist-btn .woosw-btn:hover:before {
    color: #000 !important;
}

.pls-whishlist-btn .woosw-btn.woosw-added:hover:before {
    color: #ff3e3e !important;
}

.product-quick-view .pls-whishlist-btn .woosw-btn.loading:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: calc(50% - 8px);
    left: calc(50% - 8px);
    border: 2px solid #000;
    border-top-color: transparent;
    border-radius: 50%;
    animation: woosw-spin 0.8s linear infinite;
}

@keyframes woosw-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Wishlist Popup Visibility managed in sidebar section below */

.product-quick-view .single_add_to_cart_button {
    width: 100% !important;
    order: 3 !important;
    margin-top: 15px !important;
    height: 54px !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    border-radius: 12px !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
}

.product-quick-view .pls-quick-buy {
    width: 100% !important;
    order: 4 !important;
    margin-top: 10px !important;
}

.product-quick-view .pls-quick-buy button {
    width: 100% !important;
    height: 54px !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    border-radius: 12px !important;
    border: 2px solid #000 !important;
    background: #fff !important;
    color: #000 !important;
}

/* Wishlist Side Popup Redesign - Premium eCommerce Style */

/* Base Popup container */
.woosw-popup .woosw-popup-inner {
    border-radius: 0 !important;
    max-width: 450px !important;
    height: 100% !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05) !important;
    background: #fff !important;
}

.woosw_wishlist.woosw-show .woosw-popup-inner {
    transform: translateX(0) !important;
}

/* Fix for the "force hide" rule I added in previous turn - now we want it visible when triggered manually */
#woosw_wishlist.woosw-show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: block !important;
}

/* Header */
.woosw-popup-content-top {
    padding: 25px !important;
    border-bottom: 1px solid #f1f1f1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #fff !important;
}

.woosw-name {
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    color: #000 !important;
}

.woosw-count-wrapper {
    margin-left: 10px;
    font-size: 14px;
    color: #888;
    background: #f7f7f7;
    padding: 2px 8px;
    border-radius: 99px;
}

.woosw-popup-close {
    width: 32px !important;
    height: 32px !important;
    background: #f7f7f7 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: background 0.3s;
}

.woosw-popup-close:after {
    content: "✕" !important;
    font-size: 14px !important;
    color: #000 !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
}

.woosw-popup-close:hover {
    background: #000 !important;
}

.woosw-popup-close:hover:after {
    color: #fff !important;
}

/* Content Area */
.woosw-popup-content-mid {
    padding: 0 !important;
    overflow-y: auto !important;
    height: calc(100vh - 160px) !important;
}

.woosw-items {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.woosw-item {
    display: flex !important;
    padding: 20px 25px !important;
    border-bottom: 1px solid #f9f9f9 !important;
    position: relative !important;
    gap: 15px !important;
    align-items: center !important;
}

.woosw-item-inner {
    display: contents !important;
}

/* Thumbnail */
.woosw-item--image {
    flex: 0 0 90px !important;
    width: 90px !important;
    height: 110px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f1f1f1 !important;
    padding: 0 !important;
}

.woosw-item--image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

/* Product Info */
.woosw-item--info {
    flex-grow: 1 !important;
    padding: 0 !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.woosw-item--name {
    margin-bottom: 2px !important;
}

.woosw-item--name a {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #000 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
}

.woosw-item--price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #000 !important;
}

.woosw-item--price del {
    color: #999 !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

.woosw-item--price ins {
    text-decoration: none !important;
}

.woosw-item--time {
    display: none !important;
    /* Hide the date to keep it clean like ZARA/ASOS */
}

/* Remove Button */
.woosw-item--remove {
    position: absolute !important;
    right: 15px !important;
    top: 15px !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 2;
}

.woosw-item--remove span:after {
    content: "✕" !important;
    font-size: 12px !important;
    color: #ccc !important;
}

.woosw-item--remove:hover span:after {
    color: #ea1d1d !important;
}

/* Actions (Add to Cart) */
.woosw-item--actions {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.woosw-item--stock {
    display: none !important;
    /* Keep it minimalist */
}

.woosw-item--atc p.add_to_cart_inline {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    display: block !important;
}

.woosw-item--atc .button,
.woosw-item--atc a.add_to_cart_button {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background-color: #000 !important;
    color: transparent !important;
    border: none !important;
    transition: all 0.3s !important;
    overflow: hidden !important;
    position: relative !important;
    text-indent: -9999px !important;
    /* Extremely aggressive text hide */
}

.woosw-item--atc .button:before,
.woosw-item--atc a.add_to_cart_button:before {
    font-family: 'presslayouts-font' !important;
    content: "\e90a" !important;
    /* Basket icon */
    font-size: 18px !important;
    color: #fff !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    visibility: visible !important;
}

.woosw-item--atc .button:hover {
    background-color: #ff3e3e !important;
}

/* Footer Section */
.woosw-popup-content-bot {
    padding: 25px !important;
    background: #fff !important;
    border-top: 1px solid #f1f1f1 !important;
}

.woosw-popup-content-bot-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.woosw-popup-content-bot-inner a {
    width: 100% !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    transition: all 0.3s !important;
    margin: 0 !important;
}

.woosw-page {
    background: #000 !important;
    color: #fff !important;
    border: none !important;
}

.woosw-continue {
    background: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
}

.woosw-page:hover {
    background: #333 !important;
    color: #fff !important;
}

.woosw-continue:hover {
    background: #f7f7f7 !important;
}

/* Empty State */
.woosw-popup-content-mid-message {
    padding: 60px 20px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #888 !important;
}

/* Success Message styling */
.pls-qv-ajax-message {
    width: 100%;
    background: #000;
    color: #fff;
    padding: 12px 15px;
    border-radius: 12px;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 14px;
    text-align: center;
    border: none;
    order: -1;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    display: none;
}

/* --- Checkout Page Mobile & Tablet Optimizations --- */
@media (max-width: 1199px) {
    /* Unstick the Place Order button and all its potential parent containers */
    .woocommerce-checkout .form-row.place-order,
    .woocommerce-checkout #payment div.form-row.place-order,
    .woocommerce-checkout .woocommerce-checkout-payment .form-row.place-order,
    #add_payment_method #payment div.form-row, 
    .woocommerce-cart #payment div.form-row, 
    .woocommerce-checkout #payment div.form-row {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        margin: 0 !important; /* Removed 20px top margin and 1.5rem theme default */
        background: transparent !important;
        box-shadow: none !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        z-index: 1 !important;
        transform: none !important;
    }

    /* Ensure the button itself is not fixed */
    #place_order {
        position: relative !important;
        width: 100% !important;
        height: 56px !important;
        background-color: #15803d !important; /* Premium Forest Green */
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        border-radius: 12px !important;
        border: none !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: 0 4px 12px rgba(21, 128, 61, 0.25) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        bottom: auto !important;
        margin-top: 10px !important;
    }

    #place_order:hover, #place_order:active {
        background-color: #166534 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 8px 20px rgba(21, 128, 61, 0.35) !important;
    }
    
    /* Force hide any sticky wrappers that might be clones or separate bars */
    .woocommerce-checkout .sticky-placeholder,
    .woocommerce-checkout .sticky-wrapper {
        display: none !important;
    }
}


/* Global Button Color Update for Consistency */
#place_order {
    background-color: #15803d !important;
    transition: all 0.3s ease !important;
}

#place_order:hover {
    background-color: #166534 !important;
}

/* --- Checkout Review Order Table Styling --- */
.woocommerce-checkout-review-order-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border: 1px solid #eee !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    margin-bottom: 35px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
}

.woocommerce-checkout-review-order-table thead th {
    background: #fafafa !important;
    padding: 18px 20px !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 1.2px !important;
    font-weight: 700 !important;
    color: #888 !important;
    border-bottom: 1px solid #eee !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right !important;
}

.woocommerce-checkout-review-order-table tbody tr td,
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
    padding: 18px 20px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #f6f6f6 !important;
}

/* Product Info Alignment */
.woocommerce-checkout-review-order-table .cart_item td.product-name {
    text-align: left !important;
}

.woocommerce-checkout-review-order-table .pls-product-thumb {
    display: inline-block !important;
    vertical-align: middle !important;
    width: 64px !important;
    margin-right: 15px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #f0f0f0 !important;
}

.woocommerce-checkout-review-order-table .pls-product-thumb img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.woocommerce-checkout-review-order-table .pls-product-desc {
    display: inline-block !important;
    vertical-align: middle !important;
    max-width: calc(100% - 85px) !important;
}

.woocommerce-checkout-review-order-table .pls-product-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #000 !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout-review-order-table .product-quantity {
    display: inline-block !important;
    margin-left: 4px !important;
    color: #999 !important;
    font-weight: 500 !important;
}

/* Alignment for Totals */
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot tr td {
    text-align: right !important;
    font-weight: 600 !important;
    color: #000 !important;
}

.woocommerce-checkout-review-order-table tfoot tr th {
    text-align: left !important;
    font-weight: 500 !important;
    color: #666 !important;
}

/* Emphasize the Order Total Row */
.woocommerce-checkout-review-order-table tr.order-total {
    background-color: #fafafa !important;
}

.woocommerce-checkout-review-order-table tr.order-total th {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #000 !important;
    border-bottom: none !important;
}

.woocommerce-checkout-review-order-table tr.order-total td {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #15803d !important; /* Premium Green to match button */
    border-bottom: none !important;
}

/* Shipping List cleanup */
.woocommerce-checkout-review-order-table #shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout-review-order-table #shipping_method li label {
    font-weight: 600 !important;
    color: #000 !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .woocommerce-checkout-review-order-table thead {
        display: none !important; /* Hide header on mobile for cleaner look */
    }
    
    .woocommerce-checkout-review-order-table tbody tr td,
    .woocommerce-checkout-review-order-table tfoot tr th,
    .woocommerce-checkout-review-order-table tfoot tr td {
        padding: 15px !important;
    }
    
    .woocommerce-checkout-review-order-table tr.order-total th,
    .woocommerce-checkout-review-order-table tr.order-total td {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* Modern Mobile Table Layout */
    .woocommerce-checkout-review-order-table .cart_item td.product-name {
        padding-right: 5px !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    .woocommerce-checkout-review-order-table .pls-product-thumb {
        width: 65px !important;
        flex-shrink: 0 !important;
        margin-right: 15px !important;
    }

    .woocommerce-checkout-review-order-table .pls-product-desc {
        max-width: 100% !important;
        flex-grow: 1 !important;
    }

    .woocommerce-checkout-review-order-table .pls-product-title {
        font-size: 14px !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        margin-bottom: 5px !important;
        font-weight: 600 !important;
    }

    .woocommerce-checkout-review-order-table dl.variation {
        font-size: 12px !important;
        margin: 5px 0 10px !important;
        line-height: 1.3 !important;
    }

    /* Fix Quantity Selector in Checkout */
    .woocommerce-checkout-review-order-table .pls-quantity-label {
        font-size: 11px !important;
        text-transform: uppercase !important;
        color: #999 !important;
        margin-bottom: 5px !important;
    }

    .woocommerce-checkout-review-order-table .quantity {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        border: 1px solid #ddd !important;
        width: fit-content !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        height: 32px !important;
    }

    .woocommerce-checkout-review-order-table .quantity input.qty {
        width: 35px !important;
        height: 32px !important;
        padding: 0 !important;
        text-align: center !important;
        border: none !important;
        font-size: 13px !important;
        background: #fff !important;
        color: #000 !important;
        appearance: none !important;
        -moz-appearance: textfield !important;
    }

    .woocommerce-checkout-review-order-table .quantity input.qty::-webkit-inner-spin-button,
    .woocommerce-checkout-review-order-table .quantity input.qty::-webkit-outer-spin-button {
        -webkit-appearance: none !important;
        margin: 0 !important;
    }

    .woocommerce-checkout-review-order-table .quantity label.minus,
    .woocommerce-checkout-review-order-table .quantity label.plus {
        width: 25px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f8f8f8 !important;
        cursor: pointer !important;
        margin: 0 !important;
        font-size: 16px !important;
        font-weight: 300 !important;
    }

    .woocommerce-checkout-review-order-table .product-total {
        font-size: 14px !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
    }
}

/* --- Checkout Form Refinement --- */
#ship-to-different-address,
.woocommerce-account-fields label.checkbox,
.create-account label.checkbox {
    margin: 0 !important;
}

#ship-to-different-address {
    margin: 0 0 15px !important;
}

/* Force identical font styling for these two specific labels */
#ship-to-different-address label,
.woocommerce-checkout .create-account label,
.woocommerce-checkout .woocommerce-account-fields label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer;
    padding: 2px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #444 !important;
    text-transform: none !important;
}

/* Remove gap between checkboxes on mobile */
@media (max-width: 767px) {
    .woocommerce-account .MyAccount-navigation-wrapper, 
    .woocommerce .col2-set .col-1, 
    .woocommerce-page .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-1 {
        margin-bottom: 0.5em !important;
    }

    .woocommerce-checkout .woocommerce-shipping-fields h3 {
        font-size: 14px !important;
    }

    .woocommerce-checkout #ship-to-different-address {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }
    
    .woocommerce-checkout .woocommerce-account-fields {
        margin-bottom: 5px !important;
    }
    
    .woocommerce-checkout .col-2 .woocommerce-shipping-fields,
    .woocommerce-checkout .col-2 .woocommerce-account-fields {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}



/* Compact Order Notes */
.woocommerce-additional-fields h3 {
    display: none !important;
}

#order_comments_field {
    margin-top: 15px !important;
}

#order_comments_field label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #666 !important;
}

#order_comments {
    height: 70px !important; /* Compact height */
    min-height: 70px !important;
    border-radius: 12px !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
    border: 1px solid #eee !important;
    background-color: #fafafa !important;
    resize: none !important;
}

/* Uniform Clean Input Styles for Checkout */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout select {
    border: 1px solid #eee !important;
    border-radius: 12px !important;
    padding: 10px 15px !important;
    background-color: #fafafa !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea.input-text:focus {
    background-color: #fff !important;
    border-color: #15803d !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(21, 128, 61, 0.05) !important;
}

/* Checkout Submit Area Adjustment */
.woocommerce-checkout .form-row.place-order {
    padding-top: 20px !important;
    border-top: 1px solid #f0f0f0 !important;
}

#place_order {
    background-color: #15803d !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 1199px) {
    #place_order {
        position: relative !important;
        width: 100% !important;
        height: 56px !important;
        background-color: #15803d !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        border-radius: 12px !important;
        border: none !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: 0 4px 12px rgba(21, 128, 61, 0.25) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        bottom: auto !important;
        margin-top: 10px !important;
    }
}

.woocommerce-privacy-policy-text p {
    font-size: 12px !important;
    color: #999 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.woocommerce-privacy-policy-text a {
    color: #666 !important;
    text-decoration: underline !important;
}

/* Checkout Validation Highlights */
.ragnarok-field-error label {
    color: #d63031 !important;
}

.ragnarok-field-error input, 
.ragnarok-field-error select,
.ragnarok-field-error textarea {
    border-color: #d63031 !important;
    background-color: #fff8f8 !important;
}

/* --- WooCommerce Error Notices Styling --- */
.woocommerce-NoticeGroup-checkout {
    display: block !important;
}

ul.woocommerce-error {
    background-color: #fff !important;
    border: none !important;
    border-left: 4px solid #d63031 !important;
    border-radius: 12px !important;
    padding: 20px 25px !important;
    margin: 20px 0 30px !important;
    list-style: none !important;
    box-shadow: 0 10px 30px rgba(214, 48, 49, 0.1) !important;
}

.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-message::before {
    display: none !important;
    content: none !important;
}


ul.woocommerce-error li {
    margin-bottom: 12px !important;
    font-size: 14px !important;
    color: #444 !important;
    font-weight: 500 !important;
    padding-left: 28px !important;
    position: relative !important;
    line-height: 1.5 !important;
}

ul.woocommerce-error li::after {
    display: none !important;
    content: none !important;
}

ul.woocommerce-error li::before {
    content: "!";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background: #d63031;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    line-height: 20px;
    box-shadow: 0 2px 5px rgba(214, 48, 49, 0.2) !important;
    display: block !important;
}

ul.woocommerce-error li strong {
    color: #000 !important;
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(214, 48, 49, 0.2);
}

ul.woocommerce-error li:last-child {
    margin-bottom: 0 !important;
}

/* --- Order Received (Thank You) Page Redesign --- */
.woocommerce-order-received .page-header, 
.woocommerce-order-received .breadcrumb {
    display: none !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #15803d;
    margin: 60px 0 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #15803d;
    color: #fff;
    border-radius: 50%;
    font-size: 32px;
    box-shadow: 0 10px 20px rgba(21, 128, 61, 0.2);
    margin-bottom: 10px;
}

/* Order Summary List (Horizontal) */
ul.woocommerce-order-details, 
ul.woocommerce-thankyou-order-details {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 16px;
    padding: 30px !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    list-style: none !important;
    max-width: 900px;
    margin: 0 auto 50px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

ul.woocommerce-order-details li, 
ul.woocommerce-thankyou-order-details li {
    border: none !important;
    padding: 0 !important;
    text-align: center;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    color: #888;
}

ul.woocommerce-order-details li strong, 
ul.woocommerce-thankyou-order-details li strong {
    display: block;
    font-size: 16px;
    color: #000;
    margin-top: 5px;
    text-transform: none;
    letter-spacing: normal;
}

/* Order Tables */
.woocommerce-order-received .woocommerce-order-details {
    max-width: 900px;
    margin: 0 auto 50px;
}

.woocommerce-order-received .shop_table.order_details {
    border-radius: 12px !important;
    overflow: hidden;
    border: 1px solid #f0f0f0 !important;
    border-collapse: separate !important;
    margin-bottom: 50px;
    width: 100% !important;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.woocommerce-order-received .shop_table.order_details thead th {
    background: #fafafa;
    padding: 18px 25px !important;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    color: #888;
    border-bottom: 1px solid #f0f0f0 !important;
}

.woocommerce-order-received .shop_table.order_details tbody td {
    padding: 20px 25px !important;
    border-top: 1px solid #f0f0f0 !important;
    font-size: 14px;
    color: #111;
}

.woocommerce-order-received .shop_table.order_details tfoot th {
    padding: 15px 25px !important;
    font-weight: 500;
    font-size: 14px;
    color: #666;
    background: #fdfdfd;
}

.woocommerce-order-received .shop_table.order_details tfoot td {
    padding: 15px 25px !important;
    text-align: right;
    font-weight: 600;
    color: #000;
    background: #fdfdfd;
}

.woocommerce-order-received .shop_table.order_details tfoot tr:last-child th,
.woocommerce-order-received .shop_table.order_details tfoot tr:last-child td {
    background: #f8f8f8;
    font-size: 16px;
    color: #15803d;
}

.woocommerce-order-received .product-name a {
    font-weight: 600;
    color: #111;
    text-decoration: none;
}

.woocommerce-order-received .product-quantity {
    color: #999;
    margin-left: 10px;
}

/* Customer Details / Addresses */
.woocommerce-customer-details {
    max-width: 900px;
    margin: 0 auto 60px;
}

.woocommerce-customer-details address {
    border: 1px solid #f0f0f0;
    border-radius: 16px;
    padding: 25px !important;
    background: #fafafa;
    font-style: normal;
    color: #555;
    line-height: 1.8;
    text-transform: capitalize !important;
}


.woocommerce-customer-details .woocommerce-column__title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    ul.woocommerce-thankyou-order-details {
        flex-direction: column;
        gap: 20px;
        padding: 20px !important;
    }
    
    ul.woocommerce-thankyou-order-details li {
        width: 100%;
        padding-bottom: 15px !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    ul.woocommerce-thankyou-order-details li:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
}

.shipped_via {
    display: none !important;
}

.woocommerce-customer-details--phone::before {
    display: none !important;
}

.woocommerce-customer-details--phone {
    display: none !important;
}



/* Payment Method Descriptions */
.wc_payment_method {
    cursor: pointer !important;
}

.wc_payment_method label {
    cursor: pointer !important;
}

.woocommerce-order-received .woocommerce-table--order-details + p,
.woocommerce-order-received .woocommerce-notice--payment-method,
.woocommerce-checkout .woocommerce-table--order-details + p {
    display: none !important;
}



/* --- Print Invoice Styles (Compact) --- */
@media print {
    header, footer, .sidebar, .page-header, .breadcrumb, .ragnarok-print-wrapper, .woocommerce-MyAccount-navigation, .newsletter-section {
        display: none !important;
    }
    
    body {
        background: #fff !important;
        padding: 0 !important;
        font-size: 12px !important;
    }

    .woocommerce-order-received .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-order-received .woocommerce-thankyou-order-received {
        margin: 10px 0 !important;
        font-size: 18px !important;
        color: #000 !important;
    }
    
    .woocommerce-order-received .woocommerce-thankyou-order-received::before {
        display: none !important;
    }

    ul.woocommerce-thankyou-order-details {
        border: 1px solid #eee !important;
        box-shadow: none !important;
        padding: 15px !important;
        margin-bottom: 20px !important;
        gap: 20px !important;
    }

    ul.woocommerce-thankyou-order-details li {
        font-size: 9px !important;
    }

    ul.woocommerce-thankyou-order-details li strong {
        font-size: 13px !important;
    }

    .shop_table.order_details {
        border: 1px solid #eee !important;
        box-shadow: none !important;
        margin-bottom: 20px !important;
    }

    .shop_table.order_details th, 
    .shop_table.order_details td {
        padding: 8px 12px !important;
        font-size: 11px !important;
    }

    .woocommerce-order-details__title,
    .woocommerce-column__title {
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }

    .woocommerce-customer-details address {
        padding: 10px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    .woocommerce-customer-details {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 767px) {
    .ragnarok-print-wrapper {
        position: relative !important;
        top: 0 !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }
}
/* --- 360 Degree Viewer Fix --- */
#pls-360-degree-wrapper {
    height: 450px !important;
    min-height: 450px !important;
    background: #fff !important;
    position: relative !important;
}

@media (max-width: 768px) {
    #pls-360-degree-wrapper {
        height: 350px !important;
        min-height: 350px !important;
    }
}

.ragnarok-360-close {
    z-index: 9999 !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    color: #000 !important;
    cursor: pointer !important;
    background: #fff !important;
    border-radius: 50% !important;
    border: 1px solid #eee !important;
}

.pls-360-spinner.spinner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
