.woocommerce-wrapper {
    width: 100%;
    margin: 0 auto;
}

.woocommerce-notices-wrapper {
    margin-top: 20px;
}

#order_review .woocommerce-checkout-payment {
    display: none;
}

/* Hide the WooCommerce info message about login/registration */
.woocommerce-info {
    display: none !important;
}

/* Hide the WooCommerce info message about login/registration */
.woocommerce-info,
.woocommerce-notices-wrapper {
    display: none !important;
}

.return {
    display: flex;
    justify-items: flex-start;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    margin-bottom: 80px;


}

.checkout-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
    padding: 20px;
    flex-direction: row;
}

.checkout-body-personal-info {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.checkout-body-personal-info h1 {
    font-size: 32px;
    font-style: normal;
    font-weight: 900;
}


.checkout-body-personal-signin-or-signup,
.checkout-body-contact,
.checkout-body-shop,
.payment-step-choices {
    width: 700px;
    margin: 0 auto;
    border-radius: 8px;
    border: 1px solid #52545E;
    background: #161822;
    padding: 25px;
}

.checkout-body-personal-signin-or-signup h1 {
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 32px;
    /* 133.333% */
}

.checkout-body-first-step {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.checkout-body-first-step-text {
    width: 100%;
    padding: 48px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.checkout-body-first-step {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.checkout-body-first-step-text {
    width: 100%;
    padding: 48px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.checkout-body-first-step-text p,
.checkout-body-first-step-text span {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
}


.checkout-body-first-step-text li {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.5em;
}

.checkout-body-first-step-text li svg {
    height: 24px;
    width: auto;
    flex-shrink: 0;
}


.checkout-body-first-step-text li {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.5em;
}

.checkout-body-first-step-text li svg {
    height: 24px;
    width: auto;
    flex-shrink: 0;
}

.checkout-body-personal-actions{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 15px;

}

.checkout-body-personal-signup form, .checkout-body-personal-signin form, .checkout-body-already-registred{
    width: 100%;
    margin: 20px auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.checkout-body-personal-signup, .checkout-body-personal-signin {
    padding: 50px;
}

.checkout-body-form-group {
    display: flex;
    flex-direction: column;
    /*width: 60%;*/
    gap: 5px;
    /*margin-top: 10px;*/
}

.checkout-body-form-group .phone-input {
    padding-left: 100px !important;
}

.checkout-body-already-registred .checkout-body-form-group {
    margin-top: 40px;
}

.checkout-body-form-group label {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
}


.checkout-body-form-group input, .checkout-body-form-group select{
    display: flex;
    width: 100%;
    height: 48px;
    padding: 12px;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    background: #343640;
    border: none;
    outline: none;
    color: #FFFFFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
}

#password-container,
#signin-password-container,
#confirm-password-container {
    position: relative;
}

.btn-display-password {
    position: absolute;
    top: 45px;
    right: 10px;
    background: transparent;
    border: none;
    color: white;
    border-bottom: 1px solid white;
    cursor: pointer;
}

input[type="checkbox"], input[type="radio"] {
    width: 30px;
    height: 30px;
    background-color: transparent;
    border-radius: 8px;
    border: 2px solid #333;
    appearance: none;
    position: relative;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

/* Custom checkmark appearance when checked */
input[type="checkbox"]:checked {
    background-color: #2196F3;
    /* Background color when checked */
}

/* Optional: Style the checkbox group to ensure alignment */
.checkout-body-form-checkbox-group {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    /* Space between checkbox and label */
}

.checkout-body-form-checkbox-group label {
    width: 80%;
}

.checkout-body-already-registred a {
    text-decoration: underline;
}

.not-active-heading {
    color: #D9D9D980;
    margin-top: 20px;
}

.alert {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 32px;
    /* 160% */
}

.alert-success {
    color: #4BCB88;
}

.alert-danger {
    color: #842029;
}

.checkout-body-shops {
    display: flex;
    flex-direction: column;
}

.checkout-body-shops-container,
.payment-step {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.checkout-body-shop-product-image-and-price {
    display: flex;
    gap: 40px;
    margin: 30px 0;
}

.checkout-body-shop-product-image-and-price img {
    width: 82px;
    height: 109.333px;
    border-radius: 17.988px;
    border: 1px solid #154C46;
}

.shopping-mode-in-app {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.checkout-body-shop-info {
    border-radius: 8px;
    border: 1px solid #55F5FF;
    background: #002832;
    padding: 20px;
    margin-top: 10px;
}

.checkout-body-shop-name-and-km {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.checkout-body-shop-name {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    /* 140% */
}

.checkout-body-shop-rank {
    display: flex;
    gap: 5px;
    align-items: center;
    margin-bottom: 10px;
}

.checkout-body-shop-action {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkout-body-shop-rank a {
    text-decoration: underline;
}

.payment-step-choices h1 {
    margin-bottom: 30px;
}

.payment-step-choices {
    border-radius: 8px;
    border: 1px solid #52545E;
    background: #161822;

}


.payment-step-choice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    border-radius: 10px;
    border: 1px solid #52545E;
    background-color: transparent;
    margin-bottom: 8px;
    cursor: pointer;
    margin-top: 10px;
}


.payment-step-choice-check {
    display: flex;
    align-items: center;
}

/* Hide the default radio button */
/*.payment-step-choice-check input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #fff;
    border-radius: 50%;
    margin-right: 10px;
    cursor: pointer;
    position: relative;
    background: transparent;
}*/

/* Style for checked state */
/*.payment-step-choice-check input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #007bff; 
}*/

.woocommerce-checkout-payment input[type="radio"] {
    display: inline-block !important;
}

.payment-step-choice-info {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.payment-confirm-button{
    width: fit-content !important;
}
/* Style for the label */
.payment-step-choice-check label {
    color: #fff;
    cursor: pointer;
}

.total-down-payment {
    margin: 30px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.total-down-payment-text p,
.total-down-payment span {
    color: #FFF;
    font-family: Poppins;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    /* 109.091% */
}

.payment-confirm-reservation-button {
    display: flex;
    justify-content: center;
    align-items: center;
}

.checkout-cart__summary--card--container {
    width: 30%;
    background-color: #D9D9D9;
    color: black;
    padding: 20px;
    border-radius: 10px;
    padding: 20px;
}


.checkout-cart__summary--header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}



.checkout-cart__summary--images--container {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.checkout-cart__summary--image {
    display: inline-flex;
    align-items: center;
}

.checkout-cart__summary--image img {
    height: 100%;
    width: 33%;
    object-fit: cover;
    border-radius: 17.988px;
}

.checkout-cart__summary--item {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 10px;
}

.checkout-cart__summary--item-details {
    display: flex;
    justify-content: space-between;
    margin: 0 0 5px 30px;
}

hr.checkout-cart__divider {
    border: 0;
    height: 1px;
    background: #888;
    width: 80%;
    margin: 25px auto;
}

.checkout-cart__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.checkout-cart__row__bold>span {
    font-weight: 700;
}

.checkout-cart__summary--update {
    color: black;
    text-decoration: underline;
}


.checkout-cart__summary--detail--title {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 20px;
	display: inline-flex;
    align-items: center;
}

.checkout-cart__summary--detail--title svg {
    margin-right: 10px;
    height: 18px;
}

.checkout-cart__summary--detail--text {
    margin-left: 40px;
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 20px;
}

.checkout-cart__continue--shopping {
    color: white;
    text-decoration: underline;
    display: block;
    margin: 30px auto auto 30px;
}

.checkout-cart__summary--item-price-quantity {
    font-size: small;
    font-style: italic;
}

.checkout-cart__summary--reserve {
    padding: 10px 0 10px 0;
}

.checkout-cart__summary--reserve-button {
    width: 100%;
    background-color: #018849;
    color: white;
    font-size: medium;
    font-weight: bold;
    margin-top: 20px;
    padding: 12px 24px;
    border-radius: 25px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    outline: none;
}

.checkout-cart__summary--reserve-button:hover {
    background-color: #006637;
    transform: translateY(-2px);
}

.checkout-cart__summary--reserve-button svg {
    margin-right: 10px;
    width: 20px;
    height: 20px;
    fill: white;
}

.checkout-cart__summary--reserve-button:active {
    transform: translateY(0);
    background-color: #018849;
}


.lr__button {
    display: flex;
    padding: 12px 20px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    background: #55F5FF;
    border: none;
    outline: none;
    cursor: pointer;
    width: 360px;
    color: #161822;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    /* 150% */
}

.auth-body-personal-actions .lr__button {
    width: 100% !important;
}

.lr__button span {
    color: black;
}

.lr__button__centred {
    width: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

@media (max-width: 768px) {


    .container {
        width: 95%;
        margin: 20px auto;
    }

    .woocommerce-wrapper{
        width: 100%;
        padding: var(--padding-xl);
    }

    .checkout-body {
        flex-direction: column;
    }

    .checkout-body-personal-signin-or-signup,
    .checkout-body-contact,
    .checkout-body-shop,
    .payment-step-choices {
        width: 100%;
    }

    .lr__button {
        width: 100%;
    }

    .checkout-cart__summary--card--container,
    .checkout-body-personal-actions {
        width: 100%;
    }

    .checkout-body,
    .checkout-body-personal-signup {
        padding: 0;
    }

    .checkout-body-personal-signin-or-signup,
    .checkout-body-first-step-text {
        padding: 20px 15px;
    }

    .checkout-body-personal-signin,
    .checkout-body-personal-signup {
        margin-top: 20px;
    }

    .gateway_custom {
        font-size: 8px;
    }

    .gateway_custom svg {
        width: 12px;
        height: 12px;
    }

    .checkout-body-form-group {
        width: 100%;
    }

    .checkout-body-form-group,
    .checkout-body-form-checkbox-group {
        width: 100%;
    }

    .checkout-body-shop-name-and-km {
        width: 100%;
    }

    a .total-down-payment-text p,
    .total-down-payment span {
        font-weight: 700;
        font-size: 12px;
    }

    .payment-step-choice-check label {
        font-size: 12px;
        font-weight: 700;
    }
}

.woocommerce-additional-fields {
    display: none !important;
}

.checkout-cart__summary--card--container h3,
.checkout-cart__summary--card--container span {
    color: black;
}

.input-error-message {
    color: #842029;
    font-size: 14px;
    margin-top: 5px;
    display: none;
}

.input-error-message.active {
    display: block;
}

/* Ensure the payment choice container stacks its children vertically */
.payment-step-choice {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* optional spacing between the radio selection and payment box */
    padding: 10px;
}

p.testmode-info {
    font-size: 12px;
    font-style: italic;
}

/* Force the payment box (Stripe container) to take the full width and avoid overlap */
.payment_box.payment_method_stripe {
    width: 100%;
    box-sizing: border-box;
    /* include padding and border in the element’s total width */
    /* padding: 20px; */
    /* background: #161822; */
    /* border: 1px solid #52545E; */
    /* border-radius: 8px; */
    color: #fff;
    margin-top: 10px;
    /* add some space above, if needed */
}

/* Optionally, adjust the payment-step-choice-check to keep it separate */
.payment-step-choice-check {
    /* You may remove any fixed widths or margins that could cause overlap */
    width: auto;
    box-sizing: border-box;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.payment_box.payment_method_stripe fieldset{
    border : none;
}

p.form-row.woocommerce-SavedPaymentMethods-saveNew.woocommerce-validated {
    display: flex;
    flex-direction: row;
    align-items: center;
}

/* Ensure the Stripe Element iframe is responsive */
#stripe-payment-element {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #52545E;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
}

/* Make text black in cart summary */
.checkout-cart__summary--title,
.checkout-cart__title,
.checkout-cart__value,
.checkout-cart__summary--detail--title,
.checkout-cart__summary--detail--text {
    color: #000000;
}

/* Special treatment for cart update link */
.checkout-cart__summary--update {
    color: #000000;
    text-decoration: underline;
}

/* Ensure bold text remains black */
.checkout-cart__row__bold .checkout-cart__title,
.checkout-cart__row__bold .checkout-cart__value {
    color: #000000;
    font-weight: 600;
}

/* Make sure SVG icons in details remain black 
.checkout-cart__summary--detail--title svg path {
    fill: #000000;
}*/

/* Target WooCommerce price elements in cart summary */
.checkout-cart__value .woocommerce-Price-amount,
.checkout-cart__value .woocommerce-Price-amount bdi,
.checkout-cart__value .woocommerce-Price-currencySymbol {
    color: #000000;
}

/* Ensure proper spacing in euro symbol */
.checkout-cart__value .woocommerce-Price-amount bdi {
    font-family: inherit;
}

/* Space before currency symbol */
.checkout-cart__value .woocommerce-Price-currencySymbol {
    margin-left: 0.25em;
}

/* Make sure bold prices stay black too */
.checkout-cart__row__bold .checkout-cart__value .woocommerce-Price-amount,
.checkout-cart__row__bold .checkout-cart__value .woocommerce-Price-amount bdi,
.checkout-cart__row__bold .checkout-cart__value .woocommerce-Price-currencySymbol {
    color: #000000;
    font-weight: 600;
}

/* Hide the WooCommerce info message about login/registration */
.woocommerce-info,
.woocommerce-notices-wrapper {
    display: none !important;
}

/* -------------------------------------------------
   Stripe Payment Element Styles
-------------------------------------------------- */

/* Container for the Stripe Element – ensuring it matches the payment box style */
#stripe-payment-element {
    border: 1px solid #52545E;
    /* same border as your theme */
    border-radius: 8px;
    padding: 20px;
    background-color: #ffffff;
    /* white background for clarity */
    margin-bottom: 20px;
    font-family: var(--font-poppins, 'Poppins', sans-serif);
    color: #161822;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* If you want to smooth any focus or hover state on the iframe (if applicable) */
#stripe-payment-element .StripeElement {
    transition: box-shadow 0.3s ease;
}

#stripe-payment-element .StripeElement:focus {
    box-shadow: 0 0 5px rgb(85, 245, 255);
}

/* Stripe Error Message styling */
#stripe-payment-errors {
    font-family: var(--font-poppins, 'Poppins', sans-serif);
    font-size: 16px;
    color: #df1b41;
    background-color: rgba(223, 27, 65, 0.05);
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 10px;
}

/* -------------------------------------------------
   Payment Box and Choices (if additional tweaks are needed)
-------------------------------------------------- */
.payment_box.payment_method_stripe {
    background: #161822;
    /* Dark background as per your theme */
    border: 1px solid #52545E;
    border-radius: 8px;
    padding: 36px 41px;
    color: #ffffff;
    margin-top: 20px;
}

/* Adjust the payment method title label inside the choice */
.payment-method-title label {
    font-family: var(--font-poppins, 'Poppins', sans-serif);
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

/* Ensure radio inputs are hidden (if you want to rely only on styled labels) */
/*.payment-step-choice-check input[type="radio"] {
    display: none;
}*/

/* Style the custom radio indicator via the label */
/*.payment-step-choice-check label {
    position: relative;
    cursor: pointer;
}*/

/* Custom radio circle */
/*.payment-step-choice-check label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: transparent;
}*/

/* When the radio is checked, show an inner dot */
/*.payment-step-choice-check input[type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 13px;
    transform: translateY(-50%);
    width: 11px;
    height: 11px;
    background: #007bff; 
    border-radius: 50%;
}*/

.gateway_custom {
    margin-left: 30px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.payment-step-choice-flags {
    margin-left: 20px;
}

.text-underline {
    text-decoration: underline;
}

.form-row.place-order {
    align-items: center;
}

.text-underline {
    text-decoration: underline;
}

.form-row.place-order{
    align-items: center;
}
/* -------------------------------------------------
   Responsive Adjustments for Stripe Element
-------------------------------------------------- */
@media (max-width: 768px) {
    #stripe-payment-element {
        padding: 16px;
    }

    #stripe-payment-errors {
        font-size: 14px;
        padding: 10px 14px;
    }

    /*.payment-step-choice-check input[type="radio"]:checked + label::after {
		top: 9px;
	}*/
}

/* Responsive adjustments (if necessary) */
@media (max-width: 768px) {

    .payment_box.payment_method_stripe,
    .payment-step-choice {
        padding: 15px;
    }

    .payment-step-choice-flags svg {
        width: 32px;
        height: 32px;
    }
}


@media (max-width: 768px) {

    .container {
        width: 95%;
        margin: 20px auto;
    }

    .checkout-body {
        flex-direction: column;
    }

    .checkout-body-personal-signin-or-signup,
    .checkout-body-contact,
    .checkout-body-shop,
    .payment-step-choices {
        width: 100%;
    }

    .lr__button {
        width: 100%;
    }

    .checkout-cart__summary--card--container {
        width: 100%;
    }

    .checkout-body-form-group {
        width: 100%;
    }

    .checkout-body-form-group,
    .checkout-body-form-checkbox-group {
        width: 100%;
    }

    .checkout-body-shop-name-and-km {
        width: 100%;
    }

    .total-down-payment-text p,
    .total-down-payment span {
        font-weight: 700;
        font-size: 12px;
    }

    .payment-step-choice-check label {
        font-size: 12px;
        font-weight: 700;
    }

    .checkout-cart__summary--detail--title {
        font-size: 16px;
    }
}

/* === Retrait en Boutique – habillage maquette === */
.woocommerce ul.woocommerce-shipping-methods {
    list-style: none;
    padding-left: 0;
}

.woocommerce ul.woocommerce-shipping-methods li {
    position: relative;
    margin: 14px 0 18px;
}

/* Badge "GRATUIT" à droite du label pour free_shipping renommée */
.woocommerce ul.woocommerce-shipping-methods li input.shipping_method[value^="free_shipping"]+label::after {
    content: "GRATUIT";
    position: absolute;
    right: 8px;
    top: -2px;
    font-weight: 800;
    letter-spacing: .02em;
}

/* Paragraphe d’info sous le label */
.ll-pickup-wrap {
    margin: 8px 0 0 0px;
}

.ll-pickup-desc {
    margin: 6px 0 10px 10px;
    font-size: 16px;
    font-weight: 400;
}

/* Carte adresse */
.ll-pickup-card {
    border-radius: 12px;
    background: #3E404A;
    padding: 12px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .15) inset, 0 2px 12px rgba(0, 0, 0, .08);
}

.ll-pickup-card__name {
    font-weight: 600;
    text-align: center;
    margin-bottom: 8px;
    font-size: large;
}

.ll-pickup-card__line {
    text-align: center;
    font-weight: 600;
    font-size: medium;
    margin-bottom: 10px;
}

.ll-pickup-rate {
    display: flex;
    font-size: 28px;
    flex-direction: row-reverse;
    margin-top: 30px;
    font-weight: 900;
}

/* Bouton "Voir les avis" */
.ll-pickup-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 12px auto 0;
    width: 100%;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.ll-pickup-cta:hover {
    border-color: rgba(255, 255, 255, .35);
}

/* Espacement harmonieux avec les autres méthodes */
.woocommerce ul.woocommerce-shipping-methods li+li {
    margin-top: 18px;
}

/* Mobile: réduit l'indent pour ne pas coller au bord */
@media (max-width: 600px) {
    .ll-pickup-wrap {
        margin-left: 22px;
    }
}

/* ========= Liste des méthodes ========= */
.woocommerce ul.woocommerce-shipping-methods {
    list-style: none;
    padding-left: 0;
}

.woocommerce ul.woocommerce-shipping-methods li {
    position: relative;
    margin: 14px 0 18px;
}

/* Aligne le label sur une ligne : logo (pseudo) + texte, prix à droite */
.woocommerce ul.woocommerce-shipping-methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}

/* Le prix (généralement <span class="amount">) pousse à droite */
.woocommerce ul.woocommerce-shipping-methods li label .amount {
    margin-left: auto;
    font-weight: 800;
}

/* --------- LOGOS Chronopost (mets le bon chemin vers ton .svg) --------- */
:root {
    --ll-chrono-logo: url('/wp-content/themes/ton-theme/assets/img/chronopost.svg');
}

.woocommerce ul.woocommerce-shipping-methods li input.shipping_method[value^="chronorelais"]+label::before,
.woocommerce ul.woocommerce-shipping-methods li input.shipping_method[value^="chrono13"]+label::before {
    content: "";
    width: 28px;
    height: 22px;
    background-image: var(--ll-chrono-logo);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
}

/* --------- Badge GRATUIT pour free_shipping renommée --------- */
.woocommerce ul.woocommerce-shipping-methods li input.shipping_method[value^="free_shipping"]+label::after {
    content: "GRATUIT";
    position: absolute;
    right: 8px;
    top: -2px;
    font-weight: 800;
    letter-spacing: .02em;
}


/* Texte */
.ll-ship-label-text {
    line-height: 1.2;
    font-size: 24px;
    margin-right: 10px;
}

span.ll-ship-label-logo {
    vertical-align: middle;
}

/* Logo */
.ll-ship-label-logo .ll-ship-logo {
    max-height: 55px;
    width: auto;
    object-fit: contain;
}

/* Bloc Chronopost sous une option */
.ll-chrono-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 6px 0 10px 32px;
    /* même retrait que tes autres blocs */
}

.pickup-relay-link {
    margin: 20px 0;
}

.pickup-relay-link a {
    border-radius: 8px;
    padding-top: 12px;
    padding-right: 20px;
    padding-bottom: 12px;
    padding-left: 20px;
    background-color: white;
    color: black;
}

/* --------- Bandeau dates Chronopost --------- */
.ll-chrono-desc {
    margin: 6px 0 0 10px;
    font-size: 16px;
    flex: 1;
}

.ll-rate-amount {
    display: inline-block;
    text-align: end;
    width: 100%;
}

.ll-rate-amount * {
    font-size: 26px;
    font-weight: 900;
}

/* Espacement harmonieux entre options */
.woocommerce ul.woocommerce-shipping-methods li+li {
    margin-top: 18px;
}

/* Mobile */
@media (max-width: 600px) {

    .ll-pickup-wrap,
    .ll-chrono-desc {
        margin-left: 0px;
    }
}

.checkout-cart__products--cards {
    width: 100%;
    padding: 20px 0px;
}

.checkout-cart__product--card {
    display: flex;
    align-items: center;
    flex: 1;
}

.checkout-cart__product--image {
    width: 80px;
    height: 100px;
    border-radius: 10px;
    margin: 5px;
}

.checkout-cart__product--details--container {
    flex-grow: 2;
}

.checkout-cart__product--title {
    font-size: 1.1em;
    line-height: 28px;
    color: black;
}

.checkout-cart__product--details {
    font-size: .8em;
    line-height: 20px;
    color: #B6B8C2;
}

.checkout-cart__summary--title,
.shopping-cart__summary--detail {
    margin: 20px auto;
}

h3.checkout-cart__summary--title {
    display: contents;
    font-weight: 700;
}

.checkout-cart__summary--detail--title {
    font-weight: bold;
    margin: 10px auto;
    font-size: medium;
}

.checkout-cart__summary--detail--title svg {
    height: 16px;
}

.checkout-cart__summary--detail--text {
    margin-left: 30px;
    font-size: small;
}

.checkout-cart__summary--card--container h3,
.checkout-cart__summary--card--container span,
.checkout-cart__summary--card--container p {
    color: black;
}

.checkout-cart__summary--item span {
    font-size: x-large;
    font-weight: 600;
}

.checkout-cart__summary--title {
    margin: auto;
}

.checkout-cart__summary--item {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 10px;
}

.shopping-cart__summary--item-details {
    display: flex;
    justify-content: space-between;
    margin: 0;
}

.shopping-cart__summary--card--container {
    border: 0;
    height: 1px;
    background: #7A7C86;
    margin: 10px auto;
    width: 85%;
}

.checkout-billing-summary {
    margin: 12px 0 18px
}

.checkout-billing-summary__title {
    font-weight: 500;
    margin: 0 0 8px;
    color: black
}

.checkout-billing-summary__lines {
    margin: 0 0 8px;
    line-height: 1.45
}

.checkout-billing-summary__edit {
    display: inline-block;
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 8px;
    background: #fff;
    color: #151922;
    text-decoration: none;
    font-weight: 500;
}

div#order_review {
    border: none;
    padding: 0;
    background: none;
}

.ll-delivery__package {
    margin-bottom: 60px;
}

.ll-delivery__package-title {
    font-weight: 800;
    margin: 0 0 10px
}

.ll-delivery__products {
    margin-bottom: 40px;
    border-radius: 16px;
}

.ll-prod-card {
    display: flex;
    align-items: center;
    border-radius: 12px;
    background: #3E404A;
    padding : 10px;
}

.ll-prod-card:last-child {
    border-bottom: 0
}

.ll-prod-card__media img {
    width: 150px;
    height: auto;
    border-radius: 8px
}

.ll-prod-card__media{
    background-color: white;
    border-radius: 12px;
    margin-right: 10px;
}

.ll-prod-card__title {
    font-weight: 400;
    flex-grow: 2;
    font-size: 20px;
}

.ll-prod-card__meta {
    display: flex;
    gap: 12px;
    align-items: center
}

.ll-prod-card__price {
    flex-grow: 1;
}

.ll-prod-card__price span.woocommerce-Price-amount.amount {
    font-size: 20px;
    font-weight: 400;
}

.ll-prod-card__remove {
    margin-left: auto;
    color: #f66;
    text-decoration: underline;
    flex-grow: 1;
    font-size: 20px;
    font-weight: 500;
}

.ll-ship-methods {
    display: flex;
    margin: 10px 0 0;
    padding: 0;
    flex-direction: column;
    justify-content: space-around;
    gap: 30px;
}

.ll-ship-method {
    margin: 0;
    border: 1px solid #52545E;
    border-radius: 16px;
    padding: 10px;
}

.ll-ship-method:has(.shipping_method:checked){
    border: 2px solid #55F5FF;
    background-color: #002832;
}

input.shipping_method {
    width: 26px !important;
    height: 26px !important;
    background-color: transparent;
    border: 3px solid white;
    margin-left: 10px;
}

/* Hide details by default */
.ll-ship-method .ll-pickup-wrap,
.ll-ship-method .ll-chrono-desc,
.ll-ship-method .pickup-relay-link,
.ll-ship-method .ll-rate-amount { display:none; }

/* show the relay summary + “modifier le relais” when this method is selected */
.ll-ship-method.is-selected .pickup-relay-link { 
  display: block !important; 
}


/* When the wrapper contains a checked radio, reveal all following blocks */
.ll-ship-method-label:has(> input[type="radio"]:checked) ~ .ll-pickup-wrap,
.ll-ship-method-label:has(> input[type="radio"]:checked) ~ .ll-chrono-desc,
.ll-ship-method-label:has(> input[type="radio"]:checked) ~ .pickup-relay-link,
.ll-ship-method-label:has(> input[type="radio"]:checked) ~ .ll-rate-amount { display:block; }

/* Fallback si :has() indisponible — même rendu visuel */
.ll-ship-method.is-selected {
  border: 2px solid #55F5FF;
  background-color: #002832;
}

/* Afficher les blocs détail quand l'item est sélectionné (fallback JS) */
.ll-ship-method.is-selected .ll-pickup-wrap,
.ll-ship-method.is-selected .ll-chrono-desc,
.ll-ship-method.is-selected .pickup-relay-link,
.ll-ship-method.is-selected .ll-rate-amount {
  display: block;
}


label.ll-ship-method__label {
    font-size: 28px;
    font-weight: 600;
    margin-left: 15px;
}

.ll-ship-method__label .amount {
    margin-left: 8px;
    font-weight: 800
}

.ll-totals__rows .ll-total-row {
    display: flex;
    justify-content: space-between;
    margin: 6px 0
}

.label.ll-ship-method__label {
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0%;
}

.fancybox-content {
    background: #3E404A;
    border-radius: 16px;
}

.wrapper-methods-chronorelais {
    border-radius: 16px;
    padding: 12px;
    border: 1px solid #7A7C86;
}

#container-method-chronorelay .sp-methods-chronorelais {
    box-shadow: unset;
}

#container-method-chronorelay .pickup-relays li label {
    background-color: unset !important;
}

#chronomap,
.chronorelaismap {
    border-radius: 16px;
}

#container-method-chronorelay .wrapper-methods-chronorelais .button-center {
    border-radius: 8px;
    bottom: 10px;
    left: 10px;
}

#container-method-chronorelay .button {
    border: 0;
    background: #ffffff;
    color: #000000;
    font-family: 'Poppins';
    font-size: 16px;
}

#container-method-chronorelay .wrapper-methods-chronorelais {
    height: 90% !important;
}

/* Overlay plein écran pendant le chargement de la popin */
body.ll-relay-loading::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(10, 12, 16, .55);
    backdrop-filter: blur(1.5px);
}

body.ll-relay-loading::after {
    content: "";
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 9999;
    width: 44px;
    height: 44px;
    margin: -22px 0 0 -22px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, .25);
    border-top-color: #36E1EF;
    animation: ll-spin .9s linear infinite;
}

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

/* Spinner compact directement sur le lien/bouton cliqué */
.pickup-relay-link a.is-loading {
    position: relative;
    pointer-events: none;
    opacity: .9;
}

.pickup-relay-link a.is-loading::after {
    content: "";
    position: absolute;
    right: -28px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    animation: ll-spin .8s linear infinite;
}

/* Loader interne pendant l'appel AJAX de la liste (plugin met la classe) */
.wrapper-methods-chronorelais.chronopost-loading {
    position: relative;
}

.wrapper-methods-chronorelais.chronopost-loading::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .25);
    border-top-color: #36E1EF;
    animation: ll-spin .8s linear infinite;
}

/* Bloc Paiement */
.ll-payment-step {
    background: transparent;
    padding: 1rem 0;
}

.ll-payment-title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.ll-payment-method {
    margin-bottom: 2rem;
}

.ll-payment-label {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
}

.ll-payment-label img {
    max-width: 100px;
    object-fit: contain;
}

.ll-payment-text {
    font-size: 24px;
    font-weight: 500;
}

.ll-payment-logos {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
    justify-content: space-around;
    max-width: 480px;
}

.ll-payment-logos img {
    height: 70px;
    max-width: 100px;
    object-fit: contain;
}

.ll-payment-total {
    display: flex;
    justify-content: space-between;
    font-size: 1.3rem;
    font-weight: 700;
    margin-top: 40px;
    max-width: 580px;
}

.ll-payment-total span {
    font-size: 24px;
    font-weight: 900;
}

.ll-payment-submit {
    margin-top: 1.5rem;
    align-items: center;
    justify-content: center;
}

.ll-ship-method.is-selected .pickup-relay-link {
    display: flex !important;
    justify-content: center;
}

/* 1) Input + label sur une ligne */
.ll-ship-method-label{
  display:flex;
  align-items:center;
  gap:.75rem;
}

/* 2) Le label garde toute la largeur dispo */
.ll-ship-method__label{
  flex:1 1 auto;
  margin:0;
}

/* 3) À l’intérieur du label : 
      [texte + logo] ----- [prix]  (sur UNE seule ligne) */
.ll-ship-method__label .ll-ship-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:.75rem;
}

/* 4) Bloc gauche : texte + logo */
.ll-ship-label-left{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;            /* évite les retours à la ligne forcés */
}

/* 5) Prix à l’extrême droite, sur une seule ligne */
.ll-ship-label-price{
  margin-left:auto;
  white-space:nowrap;
  font-weight:700;
  font-size: large;
}

.ll-ship-label-price .ll-ship-price-free{
    font-weight:700;
    font-size: large;
}

/* 6) Logo (au besoin) */
.ll-ship-logo{ display:block; }

/* (facultatif) Si tu ne veux plus le doublon de prix hors label */
.ll-rate-amount{ display:none; }


/* (facultatif) Si tu ne veux plus le doublon de prix hors label */
.ll-rate-amount{ display:none; }


/* Mobile */
@media (max-width: 768px) {
    .ll-payment-logos {
        justify-content: flex-start;
        gap: .75rem;
    }

    .ll-payment-logos img {
        height: 35px;
        max-width: 60px;
    }

    .ll-payment-total {
        font-size: 1.1rem;
    }

    .checkout-body-personal-info {
        width: 100%;
    }

    .ll-prod-card__media img {
        width: 50px;
    }
    
    .ll-prod-card__price span.woocommerce-Price-amount.amount {
        font-size: medium;
    }

    .ll-prod-card__title, .ll-prod-card__price, .ll-prod-card__remove, .ll-pickup-card__line {
        font-size: medium;
    }

    .ll-ship-label-text {
        font-size: large;
    }

    span.ll-ship-label-logo {
        width: 100%;
    }

    .ll-ship-label-logo .ll-ship-logo {
        display: flex;
        margin: auto;
        max-height: 80px;
    }
}