/* ---::::::::::::::::::::::::::::::::::: PARENT THEME OVERWRITE ::::::::::::::::::::::::::::::::::::---  */
.ast-mini-cart-empty {
    display: none !important;
}



/* ---:::::::::::::::::::::::::::::::::::: WOOCOMMERCE GENERAL ::::::::::::::::::::::::::::::::::::---  */
.woocommerce .woocommerce-pagination ul.page-numbers, .woocommerce-page .woocommerce-pagination ul.page-numbers {
    text-align: center !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--white) !important;
}

/* ============================================================== */
/*      CART - FREE SHIPPING PROGRESS BAR      
/* ============================================================== */
.nld-free-shipping-notice .progress-bar {
    transition: width 0.5s ease-in-out;
}

/* ============================================================== */
/*      CART - TOTALS - DISPLAY WEIGHT/SHIPPING RELATIONSHIP      
/* ============================================================== */
.cart-total-weight .badge {
    min-width: 175px !important;
}

/* =============================================================== */
/*      CART - BACKORDERS - HIDE INCREMENT BUTTON      
/* =============================================================== */
/* If backorder weight limit of 29.99 is reached */
body.nld-backorder-limit-reached .is-backorder-item button.nld-qty-plus {
    display: none !important;
}




/* =============================================================== */
/*      CART & CHECKOUT - MODAL - OUT OF SWITZERLAND DISCLAIMER      
/* =============================================================== */
/* Display a info modal for users visiting the website from out of Switzerland */
.nolow-customs-modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999;

    opacity: 0;
    animation: nolowFadeIn 0.45s ease-out forwards;
}

@keyframes nolowFadeIn {
    from { opacity: 0; transform: scale(0.97); }
    to   { opacity: 1; transform: scale(1); }
}

.nolow-customs-modal-content {
    background: #fff;
    padding: 25px;
    max-width: 450px;
    width: 90%;
    border-radius: 8px;
    text-align: center;

    /* Optional soft fade + lift effect */
    opacity: 0;
    animation: nolowContentFadeIn 0.55s ease-out forwards;
    animation-delay: .15s;
}

@keyframes nolowContentFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.nolow-customs-btn {
    margin-top: 20px;
    padding: 10px 20px;
    border: none;
    background: #333;
    color: #fff;
    cursor: pointer;
    border-radius: 4px;
}




/* ================================================ */
/*      CHECKOUT - NAVIGATION - HIDE CART ICON      
/* =============================================== */
/* Hide cart icon in Navigation on checkout page */
.woocommerce-checkout .nld-cart-link {
    display: none !important;
}






/* ================================================ */
/*      CHECKOUT - HIDING OBSOLETE LINKS      
/* =============================================== */
/* Hide cart icon in Navigation on checkout page */
.checkout-login-register, 
.woocommerce-form-login-toggle {
    display: none !important;
}






/* ===================================================== */
/*      CHECKOUT - SHIPPING/BILLING FORM - h3 TITLE      
/* ===================================================== */
h3#ship-to-different-address {
    padding-top: 25px !important;
    padding-bottom: 15px !important;
}






/* ================================================== */
/*      CHECKOUT - PAYING FORM - TERMS + BUTTON      
/* ================================================== */

.woocommerce-page.woocommerce-checkout table.shop_table th, .woocommerce-page.woocommerce-checkout table.shop_table td {
    border-bottom: none !important;    
}

.woocommerce-page.woocommerce-checkout form .form-row:last-child, .woocommerce.woocommerce-checkout form .form-row:last-child {
    margin-bottom: 30px !important;
}
/* Center the place order container */
#payment .form-row.place-order {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Style the button */
#place_order {
    width: 50% !important; /* Forces 50% width */
    margin-left: auto;
    margin-right: auto;
    display: block;
}

/* Responsive adjustment: Make it 100% on mobile for better UX */
@media (max-width: 768px) {
    #place_order {
        width: 100% !important;
    }
}

p#nld-express-shipping {
    font-size:0.9rem !important;
    line-height:1.15rem !important;
}









/* Hide browser number input native interface */
input.qty {
    -moz-appearance: textfield; /* Firefox */
    appearance: textfield; /* Modern browsers */
    border: none !important;
    background: transparent !important;
    width: 40px !important; /* Adjust to your liking */
    text-align: center;
    padding: 0;
    margin: 0;
    font-weight: bold; /* Optional */
}

/* Remove increment/decrement arrows (Chrome, Safari, Edge) */
input.qty::-webkit-inner-spin-button,
input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Make WooCommerce registration privacy text smaller */
.woocommerce-privacy-policy-text p {
    font-size: 0.75rem !important;
    line-height: 1.2rem !important;
}

/* Style WooCommerce registration privacy policy link */
a.woocommerce-privacy-policy-link {
    font-weight: 600 !important;
    color: var(--nld-green) !important;
}

/* Style WooCommerce delivery FREE SHIPPING NOTICE: YELLOW MARKER FIX */
.free-shipping-notice .marker-highlight-yellow {
    position: relative;
    display: inline-block;
    padding: 2px 6px;
    font-weight: 600;
    color: #212529;
    z-index: 1;
}

.free-shipping-notice .marker-highlight-yellow::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 50%;
    width: 108%;
    height: 80%;
    background: var(--nld-yellow, #fff200);
    transform: translateY(-50%) rotate(-2deg);
    z-index: -1;
    border-radius: 2px;
}

/* Style WooCommerce delivery form input border */
.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
    border-color: var(--light-grey) !important;
}
.woocommerce form .form-row label, .woocommerce form .form-row label {
    font-weight: 800 !important;
}
label.woocommerce-form__label, label.woocommerce-form__label-for-checkbox {
    margin: 20px 0 !important;
}
h3 label.woocommerce-form__label, h3 label.woocommerce-form__label-for-checkbox, h3 label.checkbox {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
}

/* Style WooCommerce coupon component */
#nld-checkout-coupon .woocommerce-info {
    margin-bottom: 0 !important;
    padding: 20px 10px !important;
    background-color: transparent !important;
    border-top: var(--light-grey) 0 solid !important;
}
#nld-checkout-coupon .woocommerce-message, #nld-checkout-main-content .woocommerce-message {
    margin-bottom: 0 !important;
    width: fit-content !important;
    background-color: var(--white) !important;
    border-radius: 10px !important;
    border: var(--light-grey) thin solid !important;
}
#nld-checkout-coupon .woocommerce-info a {
    font-weight: 600 !important;
    color: var(--nld-green) !important;
}
#nld-checkout-coupon .woocommerce-info::before {
    content: '' !important;
}
#nld-checkout-coupon .woocommerce-form-coupon {
    width: auto !important;
    margin: 0 !important;
    padding: 10px 15px !important;
    border: var(--light-grey) thin solid !important;
    border-radius: 13px !important;
    background-color: var(--lighter-grey) !important;
}
#nld-checkout-coupon .form-row input.input-text {
    max-width: 300px !important;
}
#nld-checkout-coupon span.coupon-error-notice {
    padding-left: 5px !important;
    padding-top: 8px !important;
}






/* Custom styling - Checkout Page - Review Order */
#nld-checkout-order-review ul#shipping_method li {
    margin: 7px 0 !important;
    padding: 10px !important;
    border: var(--light-grey) thin solid !important;
    border-radius: 8px !important;
}
.woocommerce-checkout-review-order-table thead {
	display: none;
}
form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
}
form #order_review td.product-name {
    max-width: 250px !important;
}

.woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout-review-order-table tfoot tr {
	border: none;
}

.woocommerce table.shop_table {
    border: none !important;
}
.woocommerce table.shop_table tr.cart_item td {
    padding: 22px 5px 10px 5px !important;
    border: none !important;
    font-size: 0.9rem !important;
}
.woocommerce-checkout-review-order-table tbody td.product-name {
    display: revert !important;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
	text-align: right;
	font-weight: bold !important;
	vertical-align: top;
	padding-top: 0.75rem;
}
.woocommerce-Price-amount {
    font-weight: 800 !important;
}
.woocommerce-checkout-review-order-table tfoot {
	font-size: 0.9rem;
	border-top: 1px solid #dee2e6;
}
.woocommerce-checkout-review-order-table tfoot th {
	text-align: left;
	font-weight: normal;
}
.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	font-weight: bold;
}

.woocommerce table.shop_table th {
    padding: 5px !important;
}
.woocommerce table.shop_table tr.cart-subtotal th, .woocommerce table.shop_table tr.cart-subtotal td {
    border-top: var(--light-grey) thin solid !important;
    border-bottom: none !important;
    font-weight: 800 !important;
    padding-top: 40px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 5px !important;
}
.woocommerce table.shop_table tr.cart-total-weight th {
    font-weight: 800 !important;
    padding-top: 0 !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 5px !important;
}
.woocommerce table.shop_table tr.cart-discount th, .woocommerce table.shop_table tr.cart-discount td {
    border: none !important;
    padding-top: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 5px !important;
    vertical-align: top !important;
}
.woocommerce-checkout-review-order-table .cart-discount th {
	font-weight: 400 !important;
}
.woocommerce-checkout-review-order-table .cart-discount td {
	color: rgba(25,135,84,1.00) !important;
}
.woocommerce table.shop_table tr.woocommerce-shipping-totals th, .woocommerce table.shop_table tr.woocommerce-shipping-totals td {
    border: none !important;
    padding-top: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 10px !important;
    padding-left: 5px !important;
    vertical-align: top !important;
}
.woocommerce table.shop_table tr.woocommerce-shipping-totals th {
    font-weight: 800 !important;
}
.woocommerce table.shop_table tr.order-total th, .woocommerce table.shop_table tr.order-total td {
    border-top: var(--light-grey) thin solid !important;
    border-bottom: none !important;
    padding-top: 20px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 5px !important;
    vertical-align: top !important;
    line-height: 1.35rem !important;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-size: 1.25rem;
	font-weight: bold;
	padding-top: 1rem;
}
.woocommerce table.shop_table tr.order-vat th, .woocommerce table.shop_table tr.order-vat td {
    padding-top: 0 !important;
    padding-right: 5px !important;
    padding-bottom: 20px !important;
    padding-left: 5px !important;
    vertical-align: top !important;
    border: none !important;
}
.woocommerce-checkout-review-order-table tfoot tr.order-vat th,
.woocommerce-checkout-review-order-table tfoot tr.order-vat td {
	font-size: 1rem;
}
/* (End of) ----- Checkout Page - Review Order */





/* Custom styling - Checkout Page - Chechout Payment */
.woocommerce-checkout-payment {
    margin-bottom: 20px !important;
    padding: 20px 15px 0 15px !important;
    border: 1px solid var(--nld-green) !important;
    border-radius: 8px !important;
    background-color: var(--white) !important;
}
/* (End of) ----- Checkout Page - Chechout Payment */





/* Custom styling - Checkout Page - Error Notification */
#nld-checkout-main-content .woocommerce-error {
    border-top-color: transparent !important;
    background-color: var(--nld-tangerine) !important;
    color: var(--white) !important;
    width: fit-content !important;
    border-radius: 15px !important;
    margin-bottom: 10px !important;
}
#nld-checkout-main-content .woocommerce-error a, #nld-checkout-main-content .woocommerce-error li a, #nld-checkout-main-content .woocommerce-error::before {
    color: var(--white) !important;
}
/* (End of) ----- Checkout Page - Error Notification */





/* ---:::::::::::::::::::::::::::::::::::: SHOP PAGE ::::::::::::::::::::::::::::::::::::---  */

/* Input Element For Sorting Menu */
.woocommerce .woocommerce-ordering {
    position: relative;
    display: inline-block;
    margin: 0 !important;
}
.woocommerce .woocommerce-ordering select.orderby {
    vertical-align: top;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    padding: 8px 30px 8px 16px; /* Extra padding for custom arrow */
    border-radius: 25px;
    border: 1px solid #ccc;
    background-color: #fff;
    background-image: none; /* Add this */
    color: #333;
    outline: none;
    cursor: pointer;
    min-width: 200px; /* Adjust as needed */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}
.woocommerce .woocommerce-ordering::after {
    content: '\2304' !important; /* Down arrow */
    position: absolute;
    right: 14px;
    top: 15px;
    transform: translateY(-50%) scaleX(1.3);
    font-size: 21px;
    color: var(--nld-green);
    pointer-events: none;
}
.woocommerce .woocommerce-ordering select.orderby:hover,
.woocommerce .woocommerce-ordering select.orderby:focus {
    border-color: var(--nld-green) !important;
    background-color: #f9f9f9;
}
.woocommerce .woocommerce-ordering select.orderby::-ms-expand {
    display: none; /* For Internet Explorer/Edge */
}


/* Input Product Quantity on Shop Page */
.woocommerce .quantity .qty {
    border-radius: 6px;
    border: #CCCCCC thin solid;
}

/* "Added to Cart" Toast Banner */
.toast {
    display: block; position: fixed; top: 10px; right: 10px; padding: 15px 20px;
}

/* "Add to Cart" Button looading" */
button.loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Shop Page Pagination */
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li {
	border : none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
	margin : 0 3px !important;
}
.woocommerce nav.woocommerce-pagination ul li a {
	color : var(--black) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:active {
	background-color : transparent !important;
    font-weight: 800 !important;
	color : var(--nld-green) !important;
	background-color : none !important;
}
.woocommerce nav.woocommerce-pagination {
    padding-bottom: 100px !important;
}
.woocommerce nav.woocommerce-pagination ul li span {
	padding : 9px 13px !important;
    border-radius: 50% !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color : var(--nld-green) !important;
    font-weight: 800 !important;
	color : var(--white) !important;
}






/* ---:::::::::::::::::::::::::::::::::::: CART PAGE ::::::::::::::::::::::::::::::::::::---  */

.wc-empty-cart-message .woocommerce-info {
    display: none !important;
}
.order-total-summary-wrapper {
    background: #FFFFFF;
    transition: all 0.4s ease;
}
.order-total-summary-wrapper.is-sticky {
    position: fixed;
    top: 85px; /* Distance from top when sticky - adjust as needed */
    left: inherit;
    right: 25px;
    width: initial;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 0; /* Optional: remove rounded corners when sticky */
    /* animation: slideDown 0.4s ease; */
}
.checkout-progress {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}
.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}
.step-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    /* background: #e9ecef; */
    background: #FFFFFF;
    border: 1px solid #dee2e6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    transition: all 0.3s ease;
    position: relative;
}
.step-number {
    display: block;
    color: #000000;
}
.step-check {
    display: none !important;
    color: white;
    font-size: 20px;
}
.step-label {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #666666;
    text-align: center;
    white-space: nowrap;
}
.progress-line {
    flex: 1;
    height: 3px;
    background: #dee2e6;
    position: relative;
    margin: 0 10px;
    margin-bottom: 35px;
}
/* Active State */
.progress-step.active .step-circle {
    background: var(--nld-green, #28a745);
    border-color: var(--nld-green, #28a745);
}
.progress-step.active .step-number {
    color: white;
}
.progress-step.active .step-check {
    display: none;
}
.progress-step.active .step-label {
    color: var(--nld-green, #28a745);
    font-weight: 600;
}
/* Completed State */
.progress-step.completed .step-circle {
    background: var(--nld-green, #28a745);
    border-color: var(--nld-green, #28a745);
}
.progress-step.completed .step-number {
    display: none;
}
.progress-step.completed .step-check {
    display: block !important;
}
.progress-step.completed .step-label {
    color: var(--nld-green, #28a745);
}
/* Completed Line */
.progress-step.completed + .progress-line {
    background: var(--nld-green, #28a745);
}

/* Responsive Design */
@media (max-width: 768px) {
    .checkout-progress {
        justify-content: space-around;
    }
    
    .step-circle {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
    
    .step-label {
        font-size: 11px;
        max-width: 70px;
        white-space: normal;
        line-height: 1.2;
    }
    
    .progress-line {
        margin: 0 5px;
        margin-bottom: 30px;
    }
    
    .step-check {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .step-label {
        font-size: 10px;
        max-width: 60px;
    }
    
    .step-circle {
        width: 35px;
        height: 35px;
        font-size: 12px;
    }
}

/* Cart Item Thumbnail Image */
.cart-item-thumbnail {
    border-radius: 15px !important;
    background-color: #fafafa !important;
}
.cart-item-thumbnail img {
    width: auto !important;
    max-height: 125px !important;
    border-radius: 15px !important;
    /*
    border-top-left-radius: 15px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 15px !important;
    */
}
.cart-item .quantity input.qty {
    padding: 8px 4px !important;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 8px;
}

/* Cart Remove Banner */
#cart-remove-banner {
    position: fixed;
    top: 0 ;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--nld-green);
    font-size: 22px;
    color: var(--white);
    opacity: 0;
    visibility: hidden;
    z-index: 5000;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

#cart-remove-banner.show {
    opacity: 1;
    visibility: visible;
}
.cart-item .remove {
    font-size: 16px;
    transition: all 0.3s ease;
}
.cart-item .remove:hover {
    transform: scale(1.1);
}
.cart-item.removing {
    transition: opacity 0.3s ease;
    opacity: 0.5;
}
.cart-item-subtotal.updating::after {
    content: ' ⏳';
}

/* Cart Total */
.woocommerce-page .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.nld-qty-wrap .nld-qty-minus,
.nld-qty-wrap .nld-qty-plus {
    padding: 7px 9px !important;
    border: 1px solid var(--light-grey);
    border-radius: 50%;
    background-color: var(--white);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    transition: all 0.3s ease;
}
.nld-qty-wrap .nld-qty-minus:hover,
.nld-qty-wrap .nld-qty-plus:hover {
        background-color: var(--lighter-grey);
        font-weight: 600;
}
.nld-updating { opacity: 0.6; transition: opacity .15s; }
.nld-removing { opacity: 0.3; transform: scale(.995); transition: all .2s; }

/* cart-totals.php | Shipping Address Calculator Link */
.shipping-calculator-button {
    margin-bottom: 10px !important;
    margin-top: 10px !important;
    margin-left: 8px !important;
    font-size: 0.9rem !important;
    color: var(--nld-green) !important;
    font-weight: 600 !important;
}
.shipping-calculator-button::after {
    content: '' !important;
}
.shipping-calculator-form .button[name="calc_shipping"] {
    width: 100% !important;
    margin-top: 15px;
    padding: 15px 30px !important;
    border: var(--nld-green) thin solid !important;
    border-radius: 10px !important;
    background-color: var(--nld-green) !important;
    /*box-shadow: 0px -4px 50px 0px rgba(0, 0, 0, 0.25);*/
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    letter-spacing: 0.03rem;
    color: var(--white) !important;
    transition: all 0.3s ease !important;
}
.shipping-calculator-form .button[name="calc_shipping"]:hover {
    border: var(--white) thin solid !important;
    background-color: var(--white) !important;
    color: var(--black) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--nld-green) !important;
    color: var(--white);
}

#nld-shipping-notices .woocommerce-info,
#nld-shipping-notices .woocommerce-message {
    margin-bottom: 0 !important;
    width: fit-content !important;
    background-color: var(--white) !important;
    border-radius: 10px !important;
    border: var(--light-grey) thin solid !important;
    padding: 0.75rem 1rem !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/**
 * Enhanced Shipping Option Cards - Optional CSS
 * Add to your theme's style.css or custom CSS
 */

/* Shipping Option Card Hover & Selected States */
.shipping-option-card {
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.shipping-option-card:hover {
    background-color: #f8f9fa !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.shipping-option-card.border-primary {
    border-width: 2px !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

/* Radio Button Styling */
.shipping-option-card .form-check-input {
    width: 20px;
    height: 20px;
    margin-top: 0;
    flex-shrink: 0;
}

.shipping-option-card .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* Label Cursor */
.shipping-option-card label {
    cursor: pointer;
    user-select: none;
}

/* Price Badge */
.shipping-option-card .badge {
    font-size: 0.875rem;
    font-weight: 600;
}

/* Disclaimer Alert Styling */
.shipping-option-card .alert {
    font-size: 0.875rem;
    line-height: 1.4;
}

.shipping-option-card .alert-success {
    background-color: #d1e7dd;
    border-color: #badbcc;
    color: #0f5132;
}

.shipping-option-card .alert-danger {
    background-color: #f8d7da;
    border-color: #f5c2c7;
    color: #842029;
}

/* Remove default list styling if still present */
.woocommerce-checkout-review-order-table #shipping_method {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Shipping Section Title */
.woocommerce-shipping-totals .bg-light {
    background-color: #f8f9fa;
}

/* Mobile Responsive Adjustments */
@media (max-width: 576px) {
    .shipping-option-card {
        padding: 1rem !important;
    }
    
    .shipping-option-card .d-flex {
        flex-direction: column;
        align-items: flex-start !important;
    }
    
    .shipping-option-card .text-end {
        margin-top: 0.5rem;
        margin-left: 0 !important;
        text-align: left !important;
    }
    
    .shipping-option-card .fs-5 {
        font-size: 1.1rem !important;
    }
}

/* Animation for radio selection */
@keyframes pulse-border {
    0% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.4);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(13, 110, 253, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
    }
}

.shipping-option-card.border-primary {
    animation: pulse-border 0.6s ease-out;
}

/* -/End of/- cart-totals.php | Shipping Address Calculator Link */

/* Responsive adjustments */
@media (max-width: 767px) {
    .cart-item {
        font-size: 14px;
    }
    .cart-item-thumbnail {
        margin-bottom: 10px;
    }
}

#nld-mini-cart ul#mini-cart-items {
    margin: 0 !important;
}

/* ---:::::::::::::::::::::::::::::::::::: PRODUCT PAGE ::::::::::::::::::::::::::::::::::::---  */
/* ——— KILL WOO'S DEFAULT SHADOW & WIN THE SPECIFICITY WAR ——— */
.nld-override-shadow,
.single_add_to_cart_button.shade-dark,
.cta-button-primo-1-min.shade-dark {
    box-shadow: 0px -4px 50px 0px rgba(0, 0, 0, 0.25) !important;
}

/* Optional: also force hover state if you want */
.nld-override-shadow:hover,
.single_add_to_cart_button.shade-dark:hover {
    box-shadow: 0px -6px 60px 0px rgba(0, 0, 0, 0.35) !important;
    transform: translateY(-2px);
    transition: all 0.25s ease;
}

.nld-stock-status .stock {
	margin: 0 !important;
}

.nld-qty-hidden ~ .quantity-controls {
    display: none;
}

.nld-info-tab {
    font-weight: 500 !important;
    color: var(--nld-green) !important;
}
.nld-info-tab:hover {
    font-weight: 560 !important;
}
.nld-info-tab.active {
    color: var(--black) !important;
}



/* ============================================ */
/*      BACKORDER ESTIMATED SHIPPING DATE      
/* ============================================ */
/* Force l'affichage l'un sous l'autre dans le panier et mini-panier */
.variation {
    margin-bottom: 0 !important;
}
.variation dt, 
.variation dd {
    display: block !important;
    float: none !important;
}

.variation dt {
    margin-bottom: 0px; /* Colle le titre à la date */
    padding-top: 10px;
    font-size: 0.875rem !important;
    border-top: var(--light-grey) thin solid;
}

.variation dd {
    margin-left: 0 !important; /* Aligne à gauche comme le titre */
    padding-bottom: 5px;
}
.variation dd p {
    font-size: 0.875em !important;
}

/* Supprime le ":" automatique de WooCommerce si vous voulez un look plus propre */
/* .variation dt::after { content: "" !important; } */









/* =============================== */
/*      VERIFIED OWNER BADGE      
/* =============================== */
.woocommerce-review__verified {
    display: inline-block;
    background-color: var(--nld-yellow); /* Your brand yellow highlight */
    color: var(--black);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    margin-left: 10px;
    border-radius: 4px;
    vertical-align: middle;
    box-shadow: 2px 2px 0px rgba(0,0,0,0.1); /* Subtle depth */
}
/* Optional: Add a checkmark icon before the text */
.woocommerce-review__verified::before {
    content: "\f058"; /* FontAwesome Circle Check */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 5px;
}
/* Style the Reviewer Name */
.woocommerce-review__author {
    font-weight: 700;
    color: #333;
}
/* Default when owner not verified */
.woocommerce-verification-required {
    display: inline-block !important;
    padding: 15px !important;
    background-color: #5ebf8a60 !important;
    border: var(--nld-green) thin solid !important;
    border-radius: 8px !important;
    font-weight: 400 !important;
}








/* Style the Review Meta (Date) */
.woocommerce-review__dash,
.woocommerce-review__published-date {
    font-size: 0.85rem;
    color: #888;
}

.woocommerce .star-rating span,
.woocommerce-review__rating .star-rating span,
.comment-form-rating .stars a {
    color: var(--nld-yellow) !important;
    /* Optional: enlarge stars */
    font-size: 1.2rem;
}

#reply-title {
    display: block;
    margin-bottom: 1rem;
    font-weight: 600;
}

	.nld-nav-arrows {
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		z-index: 900;
		background: rgba(255,255,255,0.95);
		width: 56px;
		height: 56px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 10px 30px rgba(0,0,0,0.15);
		transition: all 0.25s ease;
		backdrop-filter: blur(10px);
		color: var(--nld-green) !important;

	/* ←←← THESE 3 LINES KILL THE UNDERLINE FOREVER */
		text-decoration: none !important;
		border: none !important;
		outline: none !important;
	}
	.nld-nav-arrows:hover {
		transform: translateY(-50%) scale(1.1);
		box-shadow: 0 15px 40px rgba(0,0,0,0.2);
	}
	.nld-nav-arrows.prev { left: 20px; }
	.nld-nav-arrows.next { right: 20px; }
	@media (max-width: 992px) {
		.nld-nav-arrows { width: 48px; height: 48px; }
		.nld-nav-arrows.prev { left: 10px; }
		.nld-nav-arrows.next { right: 10px; }
	}

    
/* ============================================
   Custom Star Rating Display
   ============================================ */

/* Star Rating Wrapper */
.nld-star-rating-wrapper {
    display: inline-block;
    position: relative;
    font-size: 1.2em;
    line-height: 1;
}

/* Star Rating Container */
.nld-star-rating {
    position: relative;
    height: 1.2em;
    width: 5.7em !important; /* 5 stars + spacing */
    line-height: 1;
    font-size: 1em;
    font-family: 'star';
    font-weight: 400;
    overflow: hidden;
    color: transparent !important;
}

/* Empty stars (background) */
.nld-star-rating::before {
    content: '\73\73\73\73\73'; /* 5 empty stars */
    color: var(--lighter-grey) !important;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    letter-spacing: 0.1em;
    line-height: 1;
}

/* Filled stars (foreground) */
.nld-star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 0;
    height: 100%;
}

.nld-star-rating span::before {
    content: '\53\53\53\53\53'; /* 5 filled stars */
    top: 0;
    position: absolute;
    left: 0;
    color: var(--nld-yellow) !important; /* Orange/gold color */
    letter-spacing: 0.1em;
    line-height: 1;
}

/* Hide the text inside span (for accessibility) */
.nld-star-rating span {
    text-indent: 0px !important;
    white-space: nowrap;
}

/* Rating value styling */
.nld-review-rating .rating-value {
    font-size: 0.9rem;
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .nld-review-rating {
        text-align: left !important;
        align-items: flex-start !important;
    }
}

/* Alternative: If WooCommerce star font is not loading, use FontAwesome */
@supports not (font-family: 'star') {
    .nld-star-rating::before {
        font-family: 'Font Awesome 6 Free', 'FontAwesome';
        content: '\f005\f005\f005\f005\f005'; /* FA empty stars */
        font-weight: 400;
    }
    
    .nld-star-rating span::before {
        font-family: 'Font Awesome 6 Free', 'FontAwesome';
        content: '\f005\f005\f005\f005\f005'; /* FA filled stars */
        font-weight: 900;
    }
}







/* ---:::::::::::::::::::::::::::::::::::: USER SPACE ADMIN ::::::::::::::::::::::::::::::::::::---  */
a.nld-woo-user-admin-nav {
    color: var(--nld-green) !important;
}

/* ---:::::::::::::::::::::::::::::::::::: USER SPACE ORDERS ::::::::::::::::::::::::::::::::::::---  */
.woocommerce table.shop_table {
    margin-bottom: 0 !important;
}
.woocommerce table.shop_table th {
    padding: 20px !important;
}
.woocommerce-orders-table tbody, .woocommerce-orders-table td, .woocommerce-orders-table tfoot, .woocommerce-orders-table th, .woocommerce-orders-table thead, .woocommerce-orders-table tr {
    border: none !important;
}
.woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
    display: table-row !important;
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: var(--white) !important;
}
.nld-custom-td-display {
    display: block !important;
}
.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
    min-width: 100px !important;
    padding-left: 15px !important;
    text-align: left !important;
}
/* Base (xs) */
.nld-custom-rounded-1 {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.nld-custom-rounded-2 {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.nld-custom-rounded-5 {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

/* ≥ SM (576px) */
@media (min-width: 576px) {
    .nld-custom-td-display {
        display: block !important;
    }
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        min-width: 100px !important;
        padding-left: 15px !important;
        text-align: left !important;
    }

    .nld-custom-rounded-1 {
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-2 {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-5 {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem;
    }
}

/* ≥ MD (768px) */
@media (min-width: 768px) {
    .nld-custom-td-display, .nld-custom-th-display {
        display: none !important;
    }
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        min-width: 100px !important;
        padding-left: 15px !important;
        text-align: left !important;
    }
    .nld-custom-rounded-1 {
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-2 {
        border-top-left-radius: 1rem;
        border-top-right-radius: 0;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-5 {
        border-top-left-radius: 0;
        border-top-right-radius: 1rem;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 1rem;
    }
}

/* ≥ LG (992px) */

/* ≥ XL (1200px) */
@media (min-width: 1200px) {
    .nld-custom-td-display, .nld-custom-th-display {
        display: block !important;
    }
    .nld-custom-rounded-1 {
        border-top-left-radius: 1rem;
        border-top-right-radius: 0;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-2 {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .nld-custom-rounded-5 {
        border-top-left-radius: 0;
        border-top-right-radius: 1rem;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 1rem;
    }
}

/* ---:::::::::::::::::::::::::::::::::::: USER SPACE HOME PAGE ::::::::::::::::::::::::::::::::::::---  */
.nld-user-profile-home-page {
    min-height:350px !important;
}

/* ---:::::::::::::::::::::::::::::::::::: USER SPACE ORDER PAGE ::::::::::::::::::::::::::::::::::::---  */
.woocommerce-order-details {
    margin-top: 2rem !important;
    margin-bottom: 4em !important;
}
/* ---:::::::::::::::::::::::::::::::::::: USER SPACE SETTINGS ::::::::::::::::::::::::::::::::::::---  */
.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    width: auto !important;
    float: none !important;
}
.nld-custom-label {
    margin-bottom: 5px !important;
    font-weight:600 !important;
}

/* ---:::::::::::::::::::::::::::::::::::: USER SPACE VIEW ORDER ::::::::::::::::::::::::::::::::::::---  */
ul.wc-item-meta {
    margin: 0 !important;
    padding-left: 0 !important;
}

/* ---:::::::::::::::::::::::::::::::::::: USER SPACE LOGIN/REGISTERING ::::::::::::::::::::::::::::::::::::---  */
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
    float: none !important;
}
.nld-custom-addon-link {
    color: var(--black) !important;
    font-weight: 600 !important;
}

/* ---:::::::::::::::::::::::::::::::::::: USER SUCCESS ORDER RECAP ::::::::::::::::::::::::::::::::::::---  */
.woocommerce-table--order-details {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #dee2e6 !important; /* Matches border-light */
    border-radius: 1rem; /* Matches rounded-4 */
    overflow: hidden;
    background-color: #fff;
}

.woocommerce-table--order-details thead th {
    background-color: #f8f9fa; /* Matches bg-light */
    border-bottom: 1px solid #dee2e6;
    padding: 1rem 1.5rem;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: #6c757d;
}

.woocommerce-table--order-details tbody td, 
.woocommerce-table--order-details tfoot th, 
.woocommerce-table--order-details tfoot td {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #f1f1f1;
}

/* Remove border from last row to prevent double-border at bottom */
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none;
}

/* Style the product names and quantities */
.product-name a {
    color: #000;
    font-weight: 700;
    text-decoration: none;
}

.product-quantity {
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    margin-left: 5px;
}

.customer-note-content {
    font-style: italic;
    color: #495057;
    line-height: 1.6;
}