/* Galerie produit : toujours montrer le vêtement complet. */
.product-gallery .main-image > img {
    object-fit: contain !important;
    object-position: center !important;
    padding: clamp(10px, 1.4vw, 22px);
}
.product-gallery .thumbs img {
    object-fit: contain !important;
    object-position: center !important;
}

/* Mini-panier adaptatif : la liste défile, le total et les actions restent visibles. */
.cart-panel.show {
    display: flex !important;
    flex-direction: column !important;
    max-height: calc(100dvh - 125px) !important;
    overflow: hidden !important;
}
.cart-panel .widget_shopping_cart_content {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
}
.cart-panel__items {
    --cart-item-row-height: 111px;
    flex: 0 1 auto;
    max-height: calc(var(--cart-item-row-height) * 3);
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 5px;
    scrollbar-width: thin;
    scrollbar-color: #b9b6c4 transparent;
}
.cart-panel__items > .cart-item {
    height: var(--cart-item-row-height);
    min-height: var(--cart-item-row-height);
}
.cart-panel__items::-webkit-scrollbar { width: 6px; }
.cart-panel__items::-webkit-scrollbar-thumb { border-radius: 10px; background: #b9b6c4; }
.cart-panel__summary {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    padding-top: 2px;
    background: #fff;
    box-shadow: 0 -12px 22px rgba(255,255,255,.96);
}
@media (max-width: 991px) {
    /* Le backdrop-filter créerait un repère pour position:fixed et rognerait le panier. */
    .main-nav {
        background: #fff !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    .cart-panel {
        position: fixed !important;
        z-index: 1100 !important;
        top: var(--mobile-cart-top, 92px) !important;
        right: 12px !important;
        bottom: 12px !important;
        left: 12px !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - var(--mobile-cart-top, 92px) - 12px) !important;
        margin: 0 !important;
        transform: none !important;
    }
    .cart-panel__items { padding-right: 3px; }
}

/* Page panier WooCommerce. */
.woocommerce-cart .account-page > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px);
    gap: 28px;
    align-items: start;
}
.woocommerce-cart .account-page > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .account-page > .woocommerce > .woocommerce-message,
.woocommerce-cart .account-page > .woocommerce > .woocommerce-error,
.woocommerce-cart .account-page > .woocommerce > .woocommerce-info {
    grid-column: 1 / -1;
    margin: 0 !important;
}
.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    width: 100% !important;
    padding: 26px 30px !important;
    border: 1px solid #e5e2ea;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(33, 30, 66, .06);
}
.woocommerce-cart .woocommerce-cart-form table,
.woocommerce-cart .woocommerce-cart-form tbody {
    display: block;
    width: 100%;
}
.woocommerce-cart .woocommerce-cart-form thead {
    display: block;
    width: 100%;
    border-bottom: 1px solid #e8e5ec;
}
.woocommerce-cart .woocommerce-cart-form thead tr {
    display: grid;
    grid-template-columns: 34px 112px minmax(190px, 1fr) 105px 88px 110px;
    gap: 15px;
    align-items: end;
}
.woocommerce-cart .woocommerce-cart-form thead th {
    display: block;
    padding: 0 0 15px !important;
    border: 0 !important;
    color: transparent;
    font-size: 0;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
}
.woocommerce-cart .woocommerce-cart-form thead .product-price,
.woocommerce-cart .woocommerce-cart-form thead .product-quantity,
.woocommerce-cart .woocommerce-cart-form thead .product-subtotal { text-align: center; }
.woocommerce-cart .woocommerce-cart-form thead .product-name::after,
.woocommerce-cart .woocommerce-cart-form thead .product-price::after,
.woocommerce-cart .woocommerce-cart-form thead .product-quantity::after,
.woocommerce-cart .woocommerce-cart-form thead .product-subtotal::after {
    color: #706d78;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.woocommerce-cart .woocommerce-cart-form thead .product-name::after { content: "Désignation"; }
.woocommerce-cart .woocommerce-cart-form thead .product-price::after { content: "Prix"; }
.woocommerce-cart .woocommerce-cart-form thead .product-quantity::after { content: "Qté"; }
.woocommerce-cart .woocommerce-cart-form thead .product-subtotal::after { content: "Total"; }
.woocommerce-cart .woocommerce-cart-form tr.cart_item {
    display: grid;
    grid-template-columns: 34px 112px minmax(190px, 1fr) 105px 88px 110px;
    gap: 15px;
    align-items: center;
    min-height: 142px;
    border-bottom: 1px solid #e8e5ec;
}
.woocommerce-cart .woocommerce-cart-form tr.cart_item td {
    display: block;
    padding: 18px 0 !important;
    border: 0 !important;
}
.woocommerce-cart .woocommerce-cart-form .product-remove { text-align: center; }
.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    display: grid;
    width: 30px;
    height: 30px;
    margin: auto;
    place-items: center;
    border-radius: 50%;
    background: #fff2f1;
    color: #df4943 !important;
    font-size: 0;
    line-height: 1;
}
.woocommerce-cart .woocommerce-cart-form .product-remove a.remove::before {
    content: "\00d7";
    display: block;
    font-family: Arial,sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-1px);
}
.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover { background: #df4943; color: #fff !important; }
.woocommerce-cart .woocommerce-cart-form .zejunkz-cart-product-visual {
    display: grid;
    width: 104px;
    height: 112px;
    place-items: center;
    overflow: hidden;
    border-radius: 11px;
    background: var(--product-background,#f3f1ff);
}
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    display: block;
    width: 104px !important;
    height: 112px !important;
    padding: 8px;
    border-radius: 0;
    background: transparent !important;
    object-fit: contain;
}
.woocommerce-cart .woocommerce-cart-form .product-name > a {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}
.woocommerce-cart .woocommerce-cart-form .variation {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 8px;
    margin: 0;
    color: #777580;
    font-size: 12px;
}
.woocommerce-cart .woocommerce-cart-form .variation dt,
.woocommerce-cart .woocommerce-cart-form .variation dd { float: none; margin: 0; }
.woocommerce-cart .woocommerce-cart-form .variation dd { margin-right: 8px; }
.woocommerce-cart .woocommerce-cart-form .product-price,
.woocommerce-cart .woocommerce-cart-form .product-subtotal { font-weight: 800; white-space: nowrap; }
.woocommerce-cart .woocommerce-cart-form .quantity .qty {
    width: 72px;
    height: 46px;
    border: 1px solid #d8d5df;
    border-radius: 9px;
    background: #fff;
    text-align: center;
    font-weight: 700;
}
.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity {
    display: block !important;
    width: 72px;
    height: 46px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity .qty {
    display: block;
    width: 72px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid #d8d5df !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    appearance: textfield;
}
.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity .qty::-webkit-outer-spin-button { margin: 0; opacity: 1; }
.woocommerce-cart .woocommerce-cart-form tbody tr:not(.cart_item) { display: block; }
.woocommerce-cart .woocommerce-cart-form td.actions {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 24px 0 0 !important;
    border: 0 !important;
}
.woocommerce-cart .woocommerce-cart-form .coupon { display: flex !important; min-width: 0; }
.woocommerce-cart .woocommerce-cart-form .coupon label { position: absolute; overflow: hidden; width: 1px; height: 1px; }
.woocommerce-cart .woocommerce-cart-form .coupon input {
    width: min(230px, 48vw) !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #d8d5df !important;
    border-radius: 9px 0 0 9px !important;
}
.woocommerce-cart .woocommerce-cart-form .coupon button,
.woocommerce-cart .woocommerce-cart-form td.actions > button {
    min-height: 46px;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 0 9px 9px 0 !important;
    background: #6867ce !important;
    color: #fff !important;
    font-weight: 800 !important;
}
.woocommerce-cart .woocommerce-cart-form td.actions > button {
    border-radius: 9px !important;
    background: #111113 !important;
}
.woocommerce-cart .woocommerce-cart-form button:disabled { opacity: .38 !important; }
.woocommerce-cart .cart-collaterals {
    grid-column: 2;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    position: sticky !important;
    top: 140px;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    padding: 28px !important;
    border: 1px solid #e5e2ea;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 6px 0 #ec9f40, 0 12px 0 #e25d2f, 0 18px 0 #df4943, 0 24px 0 #ad2332, 0 30px 0 #31b1c3, 0 24px 50px rgba(33,30,66,.12) !important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    margin: 0 0 18px;
    font-size: 25px;
    letter-spacing: -.035em;
}
.woocommerce-cart .cart-collaterals table { margin: 0 0 18px !important; }
.woocommerce-cart .cart-collaterals th,
.woocommerce-cart .cart-collaterals td { padding: 14px 0 !important; border-bottom: 1px solid #ece9ef !important; }
.woocommerce-cart .cart-collaterals td { text-align: right; }
.woocommerce-cart .cart-collaterals .order-total th,
.woocommerce-cart .cart-collaterals .order-total td { border-bottom: 0 !important; font-size: 18px; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin: 0 !important;
    font-size: 14px !important;
}
@media (max-width: 1100px) {
    .woocommerce-cart .account-page > .woocommerce { grid-template-columns: 1fr; }
    .woocommerce-cart .cart-collaterals { grid-column: 1; position: static !important; }
}
@media (max-width: 760px) {
    .woocommerce-cart .woocommerce-cart-form { padding: 18px !important; }
    .woocommerce-cart .woocommerce-cart-form thead { display: none; }
    .woocommerce-cart .woocommerce-cart-form tr.cart_item {
        grid-template-columns: 30px 92px minmax(0, 1fr);
        gap: 10px;
        padding: 14px 0;
    }
    .woocommerce-cart .woocommerce-cart-form tr.cart_item td { padding: 3px 0 !important; text-align: left !important; }
    .woocommerce-cart .woocommerce-cart-form .product-remove { grid-row: 1 / 3; }
    .woocommerce-cart .woocommerce-cart-form .product-thumbnail { grid-row: 1 / 3; }
    .woocommerce-cart .woocommerce-cart-form .zejunkz-cart-product-visual { width: 84px; height: 98px; }
    .woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width: 84px !important; height: 98px !important; }
    .woocommerce-cart .woocommerce-cart-form .product-name { grid-column: 3; }
    .woocommerce-cart .woocommerce-cart-form .product-price,
    .woocommerce-cart .woocommerce-cart-form .product-quantity,
    .woocommerce-cart .woocommerce-cart-form .product-subtotal { grid-column: 3; }
    .woocommerce-cart .woocommerce-cart-form .product-price::before,
    .woocommerce-cart .woocommerce-cart-form .product-quantity::before,
    .woocommerce-cart .woocommerce-cart-form .product-subtotal::before { float: none !important; margin-right: 8px; font-size: 11px; }
    .woocommerce-cart .woocommerce-cart-form td.actions { align-items: stretch; flex-direction: column; }
    .woocommerce-cart .woocommerce-cart-form .coupon { width: 100%; }
    .woocommerce-cart .woocommerce-cart-form .coupon input { width: 100% !important; }
    .woocommerce-cart .woocommerce-cart-form td.actions > button { width: 100% !important; }
}

/* Checkout WooCommerce aligné sur la maquette Zejunkz. */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon { display: none !important; }
.woocommerce-checkout .checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
    gap: 28px !important;
    align-items: start;
}
.woocommerce-checkout .checkout-main,
.woocommerce-checkout #customer_details { display: grid; gap: 18px; }
.woocommerce-checkout #customer_details { padding: 0 !important; background: transparent !important; }
.woocommerce-checkout #customer_details .form-card {
    padding: 28px 30px;
    border: 1px solid #e7e4ec;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(33,30,66,.045);
}
.woocommerce-checkout .step-title { align-items: center; margin-bottom: 24px; }
.woocommerce-checkout .step-title > b { flex: 0 0 40px; }
.woocommerce-checkout .step-title h2 { font-size: 18px; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3:not(#ship-to-different-address),
.woocommerce-checkout .woocommerce-additional-fields > h3 { margin: 0 0 18px; font-size: 22px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}
.woocommerce-checkout .form-card .form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout .form-card .form-row-wide,
.woocommerce-checkout .form-card #billing_country_field,
.woocommerce-checkout .form-card #shipping_country_field,
.woocommerce-checkout .form-card #billing_address_1_field,
.woocommerce-checkout .form-card #billing_address_2_field,
.woocommerce-checkout .form-card #shipping_address_1_field,
.woocommerce-checkout .form-card #shipping_address_2_field,
.woocommerce-checkout .form-card #billing_email_field,
.woocommerce-checkout .form-card #billing_phone_field { grid-column: 1 / -1; }
.woocommerce-checkout .form-card label { display: block; margin: 0 0 7px; font-size: 11px !important; }
.woocommerce-checkout .form-card input.input-text,
.woocommerce-checkout .form-card textarea,
.woocommerce-checkout .form-card select,
.woocommerce-checkout .form-card .select2-selection--single {
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #d9d6df !important;
    border-radius: 8px !important;
}
.woocommerce-checkout .form-card .select2-container { width: 100% !important; }
.woocommerce-checkout #ship-to-different-address {
    margin: 0 0 20px;
    padding: 14px 16px;
    border-radius: 9px;
    background: #f5f3ff;
    font-size: 14px;
}
.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 9px; margin: 0; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 20px; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 110px !important; resize: vertical; }
.woocommerce-checkout .order-summary {
    position: sticky !important;
    top: 140px;
    width: 100%;
    padding: 26px !important;
    border: 1px solid #e5e2ea;
    box-shadow: 0 6px 0 #ec9f40,0 12px 0 #e25d2f,0 18px 0 #df4943,0 24px 0 #ad2332,0 30px 0 #31b1c3,0 24px 50px rgba(33,30,66,.11) !important;
}
.woocommerce-checkout .order-summary > h2 { align-items: center; margin: 0 0 18px; font-size: 26px; }
.woocommerce-checkout #order_review {
    position: static !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.woocommerce-checkout-review-order-table { width: 100%; margin: 0 !important; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table .checkout-product td { padding: 0 !important; }
.checkout-product__row {
    display: grid;
    grid-template-columns: 70px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #e8e5ec;
}
.checkout-product__image { position: relative; width: 70px; height: 78px; overflow: visible; border-radius: 9px; }
.checkout-product__image img { width: 100% !important; height: 100% !important; padding: 5px; object-fit: contain; }
.checkout-product__image > span {
    position: absolute; top: -7px; right: -7px; display: grid; width: 21px; height: 21px; place-items: center;
    border-radius: 50%; background: #6867ce; color: #fff; font-size: 10px; font-weight: 800;
}
.checkout-product__info { min-width: 0; }
.checkout-product__info > strong { display: block; font-size: 13px; line-height: 1.35; }
.checkout-product__info .variation { margin: 4px 0 0; color: #777580; font-size: 10px; }
.checkout-product__info .variation dt,
.checkout-product__info .variation dd { float: none; display: inline; margin: 0 3px 0 0; }
.checkout-product__price { font-size: 12px; white-space: nowrap; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td { padding: 12px 0 !important; border-color: #ebe8ef !important; font-size: 12px; }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { padding-top: 17px !important; font-size: 16px; }
.woocommerce-checkout #payment {
    margin-top: 18px;
    padding: 0 !important;
    border-radius: 10px !important;
    background: #f5f3ff !important;
}
.woocommerce-checkout #payment .payment_methods { margin: 0 !important; padding: 14px !important; border-bottom: 1px solid #e2dfeb; }
.woocommerce-checkout #payment .payment_box { margin: 10px 0 0 !important; padding: 12px !important; background: #fff !important; font-size: 11px; }
.woocommerce-checkout #payment .place-order { padding: 14px !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { margin-bottom: 12px; color: #6f6c77; font-size: 10px; line-height: 1.5; }
.woocommerce-checkout #place_order { min-height: 50px; margin: 0 !important; }
.woocommerce-checkout .order-summary .secure { margin: 14px 0 0; }
@media(max-width:1050px) {
    .woocommerce-checkout .checkout-layout { grid-template-columns: 1fr !important; }
    .woocommerce-checkout .order-summary { position: static !important; }
}
@media(max-width:575px) {
    .woocommerce-checkout #customer_details .form-card,
    .woocommerce-checkout .order-summary { padding: 20px 17px !important; }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
    .woocommerce-checkout .form-card .form-row { grid-column: 1 !important; }
    .checkout-product__row { grid-template-columns: 62px minmax(0,1fr) auto; gap: 9px; }
    .checkout-product__image { width: 62px; height: 70px; }
}

/* Carnet d’adresses du compte. */
.zejunkz-address-book { width: 100%; }
.zejunkz-address-book__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
    padding: 24px 26px;
    border-radius: 13px;
    background: #f3f1ff;
}
.zejunkz-address-book__intro span {
    color: #6867ce;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.zejunkz-address-book__intro h2 { margin: 6px 0 4px; font-size: clamp(24px,2.5vw,34px); letter-spacing: -.04em; }
.zejunkz-address-book__intro p { margin: 0; color: #706d78; font-size: 13px; }
.zejunkz-address-book__intro > i {
    display: grid;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: #6867ce;
    color: #fff;
    font-size: 27px;
}
.zejunkz-address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.zejunkz-address-card {
    display: flex;
    min-width: 0;
    min-height: 330px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e1dee7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(33,30,66,.06);
}
.zejunkz-address-card header {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 22px 22px 18px;
    border-bottom: 1px solid #ece9f0;
}
.zejunkz-address-card__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 11px;
    background: #f0efff;
    color: #6867ce;
    font-size: 22px;
}
.zejunkz-address-card--shipping .zejunkz-address-card__icon { background: #e9f8fa; color: #239bac; }
.zejunkz-address-card header small { color: #777580; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.zejunkz-address-card header h3 { margin: 3px 0 0; font-size: 17px; }
.zejunkz-address-card__status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border-radius: 30px;
    background: #fff0ee;
    color: #b43c36;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.zejunkz-address-card__status.is-complete { background: #e4f7ee; color: #267a55; }
.zejunkz-address-card__body { display: flex; flex: 1; padding: 24px 22px; }
.zejunkz-address-card address { margin: 0; color: #45434b; font-size: 14px; font-style: normal; line-height: 1.85; }
.zejunkz-address-empty { display: grid; align-content: center; justify-items: start; color: #706d78; }
.zejunkz-address-empty > i { margin-bottom: 12px; color: #aaa7b2; font-size: 31px; }
.zejunkz-address-empty strong { color: #25242a; font-size: 14px; }
.zejunkz-address-empty p { max-width: 330px; margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
.zejunkz-address-card footer { padding: 0 22px 22px; }
.zejunkz-address-card footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 8px;
    background: #111113;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}
.zejunkz-address-card footer a:hover { background: #6867ce; color: #fff; }
@media(max-width:850px) { .zejunkz-address-grid { grid-template-columns: 1fr; } }
@media(max-width:575px) {
    .zejunkz-address-book__intro { align-items: flex-start; padding: 20px; }
    .zejunkz-address-book__intro > i { display: none; }
    .zejunkz-address-card { min-height: 290px; }
    .zejunkz-address-card header { grid-template-columns: 44px minmax(0,1fr); padding: 18px; }
    .zejunkz-address-card__status { grid-column: 1/-1; width: max-content; }
    .zejunkz-address-card__body { padding: 20px 18px; }
    .zejunkz-address-card footer { padding: 0 18px 18px; }
    .zejunkz-address-card footer a { width: 100%; }
}

/* Récapitulatif checkout compact, fidèle à la maquette. */
.woocommerce-checkout .order-summary {
    padding: 28px 28px 30px !important;
    border-radius: 15px !important;
}
.woocommerce-checkout .order-summary > h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 27px;
}
.woocommerce-checkout .order-summary > h2 span { font-size: 10px; font-weight: 500; }
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot { display: table-row-group; width: 100%; }
.woocommerce-checkout-review-order-table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}
.woocommerce-checkout-review-order-table tbody tr.checkout-product,
.woocommerce-checkout-review-order-table tbody tr.checkout-product td {
    height: auto !important;
    min-height: 0 !important;
}
.woocommerce-checkout-review-order-table .checkout-product__row {
    grid-template-columns: 66px minmax(0, 1fr) auto;
    min-height: 0;
    gap: 12px;
    padding: 9px 0;
}
.woocommerce-checkout-review-order-table .checkout-product__image {
    width: 66px;
    height: 72px;
    border-radius: 9px;
}
.woocommerce-checkout-review-order-table .checkout-product__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    padding: 7px;
    object-fit: contain;
}
.woocommerce-checkout-review-order-table .checkout-product__info > strong {
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 800;
}
.woocommerce-checkout-review-order-table .checkout-product__info .variation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 3px;
    margin: 0;
    color: #777580;
    font-size: 11px;
}
.woocommerce-checkout-review-order-table .checkout-product__info .variation dt { display: none !important; }
.woocommerce-checkout-review-order-table .checkout-product__info .variation dd {
    display: inline-flex !important;
    margin: 0 !important;
}
.woocommerce-checkout-review-order-table .checkout-product__info .variation dd:not(:last-child)::after { content: " ·"; }
.woocommerce-checkout-review-order-table .checkout-product__info .variation p { margin: 0; }
.woocommerce-checkout-review-order-table .checkout-product__price {
    align-self: center;
    color: #111113;
    font-size: 13px;
    font-weight: 800;
}
.woocommerce-checkout-review-order-table .zejunkz-checkout-coupon-row td {
    padding: 20px 0 12px !important;
    border: 0 !important;
}
.zejunkz-checkout-coupon {
    display: flex;
    width: 100%;
    height: 48px;
}
.zejunkz-checkout-coupon input {
    min-width: 0;
    flex: 1;
    padding: 0 13px;
    border: 1px solid #d8d5df;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    background: #fff;
    color: #111113;
}
.zejunkz-checkout-coupon button {
    min-width: 108px;
    padding: 0 15px;
    border: 0;
    border-radius: 0 8px 8px 0;
    background: #6867ce;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}
.zejunkz-checkout-coupon button:disabled { opacity: .55; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    padding: 11px 0 !important;
    vertical-align: middle;
    font-size: 12px;
}
.woocommerce-checkout-review-order-table tfoot th { font-weight: 800; }
.woocommerce-checkout-review-order-table tfoot td { color: #45434b; }
.woocommerce-checkout-review-order-table .cart-discount .woocommerce-remove-coupon {
    display: inline-flex;
    margin-left: 5px;
    color: #6867ce;
    font-size: 10px;
    font-weight: 800;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    padding-top: 18px !important;
    color: #111113;
    font-size: 18px;
    font-weight: 800;
}
.woocommerce-checkout #payment { margin-top: 8px; }
.woocommerce-checkout #place_order { width: 100%; }
@media(max-width:575px) {
    .woocommerce-checkout-review-order-table .checkout-product__row { grid-template-columns: 58px minmax(0,1fr) auto; gap: 9px; padding: 8px 0; }
    .woocommerce-checkout-review-order-table .checkout-product__image { width: 58px; height: 64px; }
    .zejunkz-checkout-coupon button { min-width: 96px; }
}

/* Checkout : liste des moyens de paiement sans puce ni retrait parasite. */
.woocommerce-checkout ul.wc_payment_methods{list-style:none!important;margin:0!important;padding:0!important}
.woocommerce-checkout ul.wc_payment_methods li{list-style:none!important;margin:0!important;padding:0!important}
.woocommerce-checkout ul.wc_payment_methods li::marker{content:''}
.woocommerce-checkout #payment .woocommerce-info,.woocommerce-checkout #payment .woocommerce-notice{margin:0!important}

/* Détail d'une commande (Mon compte > Mes commandes > voir). */
.zejunkz-order-view > div + div { border-top: 1px solid #e8e5ec; }
.zejunkz-order-view img { object-fit: contain; }
.zejunkz-order-panels { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; align-items: start; margin-top: 20px; }
.zejunkz-order-panels section { padding: 24px 26px; border: 1px solid #e5e2ea; border-radius: 12px; background: #fff; }
.zejunkz-order-panels h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 1rem; }
.zejunkz-order-panels h3 i { color: #6867ce; }
.zejunkz-order-totals dl { margin: 0; }
.zejunkz-order-totals dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 11px 0; font-size: .85rem; }
.zejunkz-order-totals dl > div dt { color: #74727a; font-weight: 700; }
.zejunkz-order-totals dl > div dd { margin: 0; font-weight: 700; text-align: right; }
.zejunkz-order-totals dl > div.total { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e8e5ec; font-size: 1.05rem; }
.zejunkz-order-totals dl > div.total dt { color: #111113; font-weight: 800; }
.zejunkz-order-totals dl > div.total dd { font-weight: 800; }
.zejunkz-order-note { display: flex; gap: 9px; margin: 16px 0 0; padding: 13px 15px; border-radius: 10px; background: #f3f1ff; color: #55535c; font-size: .8rem; }
.zejunkz-order-note i { color: #6867ce; }
.zejunkz-order-address address { margin: 0; color: #55535c; font-size: .85rem; font-style: normal; line-height: 1.9; }
.zejunkz-order-address address + h3 { margin-top: 20px; }
.zejunkz-order-address h3 + address { margin-top: 2px; }
@media (max-width: 900px) { .zejunkz-order-panels { grid-template-columns: 1fr; } }
/* Récapitulatif checkout : la table occupe toute la largeur du panneau. */
.woocommerce-checkout-review-order-table { display: table !important; width: 100% !important; table-layout: fixed; }
.woocommerce-checkout-review-order-table .checkout-product__row { grid-template-columns: 66px minmax(0, 1fr) auto auto; width: 100%; }
.checkout-product__remove {
    display: grid;
    place-items: center;
    align-self: center;
    width: 27px;
    height: 27px;
    border: 0;
    border-radius: 50%;
    background: #f4f2f7;
    color: #8a8792;
    font-size: 13px;
    transition: .18s;
}
.checkout-product__remove:hover { background: #df4943; color: #fff; }
.checkout-product__remove.is-loading { opacity: .45; pointer-events: none; }

/* Panier : lignes de totaux étirées (libellé à gauche, montant à droite). */
.woocommerce-cart .cart_totals table.shop_table { display: table !important; width: 100% !important; table-layout: fixed; }
.woocommerce-cart .cart_totals table.shop_table th { text-align: left; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }

/* Checkout : case « Expédier à une adresse différente ? » et champs livraison. */
.woocommerce-checkout #ship-to-different-address { display: block; margin: 0; font-size: .92rem; }
.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; margin: 0; font-weight: 700; cursor: pointer; }
.woocommerce-checkout #ship-to-different-address input { width: 17px; height: 17px; margin: 0; accent-color: #6867ce; }
.woocommerce-checkout .shipping_address { padding-top: 16px; }

/* Options de livraison dans le récapitulatif. */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { padding: 12px 0 !important; border: 0 !important; font-size: .85rem; }
.woocommerce-checkout-review-order-table ul#shipping_method { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.woocommerce-checkout-review-order-table ul#shipping_method li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; }
.woocommerce-checkout-review-order-table ul#shipping_method input { margin: 0; accent-color: #6867ce; }
.woocommerce-checkout-review-order-table ul#shipping_method label { margin: 0; font-size: .8rem; font-weight: 600; cursor: pointer; }
/* Le choix de livraison vit dans l'étape 02 du checkout, pas dans les totaux ni le panier. */
.woocommerce-checkout #ship-to-different-address { display: none !important; }
.woocommerce-checkout-review-order-table ul#shipping_method,
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator,
.shipping-calculator-button { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0); white-space: nowrap; }
.zejunkz-shipping-chosen { font-weight: 800; }
.delivery-options { margin-top: 22px; }
.delivery-options label { cursor: pointer; transition: .18s; }
.delivery-options label:has(input:checked) { border-color: #6867ce; box-shadow: 0 0 0 1px #6867ce inset; }
.delivery-options input { width: 17px; height: 17px; accent-color: #6867ce; }
.delivery-options[hidden] { display: none !important; }
/* Étape 02 : ordre des champs identique à la démo (Adresse, Code postal, Ville, Pays). */
.woocommerce-checkout .shipping_address { display: block; }
.woocommerce-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.woocommerce-checkout .form-card .shipping_address,
.woocommerce-checkout .form-card .woocommerce-shipping-fields { grid-column: 1 / -1 !important; width: 100%; }
.woocommerce-checkout .shipping_address .form-row { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce-checkout .shipping_address #shipping_address_1_field { order: 1; grid-column: 1 / -1; }
.woocommerce-checkout .shipping_address #shipping_postcode_field { order: 2; grid-column: 1 / 2 !important; }
.woocommerce-checkout .shipping_address #shipping_city_field { order: 3; grid-column: 2 / 3 !important; }
.woocommerce-checkout .shipping_address #shipping_country_field { order: 4; grid-column: 1 / -1; }
.woocommerce-checkout .shipping_address #shipping_state_field { order: 5; grid-column: 1 / -1; }
.woocommerce-checkout .shipping_address #shipping_phone_field { order: 6; grid-column: 1 / -1; }
/* Page panier : pas de ligne Livraison dans les totaux — le choix se fait au checkout. */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals { display: none !important; }

/* SelectWoo : les CSS WooCommerce étant désactivés, on remasque le select natif remplacé
   (sinon il fait ~1400px de large et crée un scroll horizontal sur le checkout). */
.select2-hidden-accessible,
select.select2-hidden-accessible,
.woocommerce-checkout .form-card select.select2-hidden-accessible,
body.woocommerce-account .woocommerce-address-fields select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
/* Récap checkout : lignes produits resserrées, ligne Livraison alignée sur les autres, encart paiement sans bloc blanc. */
.woocommerce-checkout-review-order-table tbody tr.checkout-product td { padding: 6px 10px !important; }
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { padding: 16px 10px !important; }
.woocommerce-checkout #payment .payment_box { margin: 8px 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
/* Archives boutique / catégorie : respiration sous le header et intro de catégorie. */
main > .shop-section--archive { padding-top: clamp(42px, 5vw, 70px); }
.shop-section--archive .section-heading { padding-bottom: 26px; border-bottom: 1px solid #e5e2ea; margin-bottom: 34px; }
.shop-section--archive .section-heading .eyebrow {
    color: #6867ce;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
}
.shop-section--archive .section-heading h2 {
    margin: 7px 0 0;
    font-size: clamp(1.7rem, 2.6vw, 2.8rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.shop-section--archive .section-heading--shop {
    margin-bottom: 34px;
    padding-bottom: 22px;
}

.shop-section--archive .section-heading--shop .eyebrow {
    color: #6867ce;
}
.shop-section__intro { max-width: 640px; margin: -10px 0 30px; color: #74727a; }

/* Panier vide : la carte occupe toute la largeur de la grille du panier. */
.woocommerce-cart .zejunkz-account-empty { grid-column: 1 / -1; }
/* Panier vide : carte statut DA (ombre arc-en-ciel) centrée dans la grille du panier. */
.woocommerce-cart .zejunkz-empty-cart { grid-column: 1 / -1; width: 100%; max-width: none; margin: 15px auto 55px; }
.zejunkz-empty-cart h2 { margin: 10px 0; font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: -.065em; }
.zejunkz-empty-cart > p { max-width: 700px; margin: 0 auto 30px; color: #6c6972; line-height: 1.7; }
/* Échec de validation checkout : le bloc de notices ne doit jamais casser la grille, et les erreurs de champ restent discrètes. */
.checkout-layout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.checkout-layout .woocommerce-NoticeGroup:empty { display: none; }
.woocommerce-checkout .checkout-inline-error-message,
.woocommerce-checkout .form-row .checkout-inline-error-message { margin: 6px 0 0; color: #df4943; font-size: 11px; font-weight: 600; }
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select { border-color: #df4943 !important; }
/* Historique des commandes : tous les articles listés, lien « Voir la commande » en pied de carte. */
.order-card .order-card__actions { display: flex !important; justify-content: flex-end; padding: 13px 18px !important; border-top: 1px solid #e8e5ec; background: #fcfbfe; }
.order-card .order-card__actions a { display: inline-flex; align-items: center; gap: 6px; }
.order-card .zejunkz-order-line strong { white-space: nowrap; }
/* Fiche variable : les variations WooCommerce gardent leur moteur, avec l'interface Zejunkz. */
body:has(.zejunkz-variations-form) .product-info > .stock { display: none !important; }
.product-info .zejunkz-variations-form { display: block !important; margin: 0 !important; }
.zejunkz-native-variations { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.product-info .zejunkz-variable-options .option-group { margin: 25px 0 0; }
.product-info .zejunkz-variable-options .option-group + .option-group { margin-top: 22px; }
.product-info .zejunkz-variable-options .legend-row { align-items: center; gap: 18px; }
.product-info .zejunkz-variable-options .legend-row legend { margin: 0; }
.product-info .zejunkz-variable-options .size-guide { margin-left: auto; color: #111113 !important; }
.product-info .zejunkz-variable-options .swatches button,
.product-info .zejunkz-variable-options .sizes button { cursor: pointer; }
.product-info .zejunkz-variable-options .swatches button:disabled,
.product-info .zejunkz-variable-options .sizes button:disabled { cursor: not-allowed !important; pointer-events: auto; }
.product-info .zejunkz-variable-stock { margin: 24px 0 20px !important; }
.product-info .zejunkz-variable-stock.stock--out { color: #df4943 !important; }
.product-info .zejunkz-variations-form .single_variation { display: none !important; }
.product-info .zejunkz-variable-purchase { display: grid !important; grid-template-columns: minmax(0, 1fr) 52px; gap: 10px; }
.product-info .zejunkz-variable-purchase .add-cart { display: flex !important; align-items: center !important; justify-content: center !important; width: 100%; height: 54px; min-height: 54px; margin: 0 !important; padding: 0 20px !important; border: 0 !important; border-radius: 9px !important; background: #111113 !important; color: #fff !important; text-align: center !important; line-height: 1 !important; opacity: 1 !important; }
.product-info .zejunkz-variable-purchase .add-cart:hover:not(:disabled) { background: #6867ce !important; }
.product-info .zejunkz-variable-purchase .add-cart:disabled { background: #cbc9d0 !important; color: #777580 !important; }
.product-info .zejunkz-variable-purchase .favorite { width: 52px; height: 54px; margin: 0; }
@media (max-width: 575px) {
    .product-info .zejunkz-variable-options .legend-row { align-items: flex-start; }
    .product-info .zejunkz-variable-purchase { grid-template-columns: minmax(0, 1fr) 52px; }
    .product-info .zejunkz-variable-purchase .favorite { grid-column: auto; }
}
