.elementor-8 .elementor-element.elementor-element-c3e7ec6{--display:flex;--margin-top:5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-8 .elementor-element.elementor-element-93216ed{--display:flex;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-8 .elementor-element.elementor-element-e46b9bc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-e46b9bc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-theme-page-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-8f7c8cb .elementor-heading-title{font-family:"Inter", Sans-serif;font-weight:600;}.elementor-8 .elementor-element.elementor-element-63dd79e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-8 .elementor-element.elementor-element-feb2ce3{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-8 .elementor-element.elementor-element-feb2ce3 .elementor-divider-separator{width:100%;}.elementor-8 .elementor-element.elementor-element-feb2ce3 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-8 .elementor-element.elementor-element-30481828{--display:flex;--margin-top:0%;--margin-bottom:20%;--margin-left:0%;--margin-right:0%;}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-c3e7ec6{--padding-top:10%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-8 .elementor-element.elementor-element-93216ed{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-e46b9bc{--width:35%;}.elementor-8 .elementor-element.elementor-element-e46b9bc.e-con{--flex-grow:0;--flex-shrink:1;}.elementor-8 .elementor-element.elementor-element-8f7c8cb.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:1;}.elementor-8 .elementor-element.elementor-element-8f7c8cb{text-align:justify;}.elementor-8 .elementor-element.elementor-element-8f7c8cb .elementor-heading-title{font-size:28px;}.elementor-8 .elementor-element.elementor-element-63dd79e{--width:65%;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-feb2ce3 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-8 .elementor-element.elementor-element-30481828{--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}}/* Start custom CSS for shortcode, class: .elementor-element-12ba8c4 *//* =========================================================
MA SERVANTE — PANIER COMPLET
VERSION v5
========================================================= */

.woocommerce {
--msc-text: #171717;
--msc-muted: #8d8d8d;
--msc-line: #e5e5e5;
--msc-soft: #f7f7f7;
--msc-green: #17964a;
--msc-red: #e24a4a;

width: 100%;

}

.woocommerce *,
.woocommerce *::before,
.woocommerce *::after {
box-sizing: border-box;
}

/* =========================================================
STRUCTURE GÉNÉRALE PC
Produits à gauche / Total à droite
========================================================= */

@media (min-width: 981px) {

body.woocommerce-cart .woocommerce {
    display: block !important;
}

body.woocommerce-cart .woocommerce-cart-form {
    float: left !important;

    width: 65% !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .cart-collaterals {
    float: right !important;

    clear: none !important;

    width: 32.5% !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;

    clear: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}

body.woocommerce-cart .woocommerce::after {
    content: "";
    display: block;
    clear: both;
}

}

/* =========================================================
TABLE PRODUITS
========================================================= */

.woocommerce-cart-form .shop_table,
.woocommerce-cart-form .shop_table tbody {
display: block;

width: 100%;

margin: 0;
padding: 0;

border: none;

background: transparent;

}

.woocommerce-cart-form .shop_table thead {
display: none;
}

.woocommerce-cart-form .shop_table td::before {
display: none !important;
content: none !important;
}

/* =========================================================
CARTE PRODUIT
========================================================= */

.woocommerce-cart-form tr.cart_item {
position: relative;

display: grid;

grid-template-columns:
    112px
    minmax(0, 1fr)
    auto;

grid-template-areas:
    "image name name"
    "image quantity price";

column-gap: 18px;
row-gap: 14px;

align-items: center;

width: 100%;

min-height: 145px;

margin: 0 0 14px;

padding:
    16px
    44px
    16px
    16px;

background: #fff;


border-radius: 15px;

box-shadow:
    0 3px 12px rgba(0, 0, 0, .025),
    0 8px 24px rgba(0, 0, 0, .03);

transition:
    border-color .2s ease,
    box-shadow .2s ease;

}

.woocommerce-cart-form tr.cart_item {
border-color: #d8d8d8;

box-shadow:
    0 5px 16px rgba(0, 0, 0, .035),
    0 10px 28px rgba(0, 0, 0, .045);

}

.woocommerce-cart-form tr.cart_item td {
display: block;

width: auto;

margin: 0;
padding: 0;

border: 0;

background: transparent;

text-align: left;

}

/* =========================================================
IMAGE PRODUIT
========================================================= */

.woocommerce-cart-form .product-thumbnail {
grid-area: image;

display: flex !important;

align-items: center;
justify-content: center;

width: 112px;
height: 112px;

padding: 6px;

overflow: hidden;

background: var(--msc-soft);

border-radius: 12px;

}

.woocommerce-cart-form .product-thumbnail a {
display: flex;

align-items: center;
justify-content: center;

width: 100%;
height: 100%;

}

.woocommerce-cart-form .product-thumbnail img {
display: block;

width: 100% !important;
height: 100% !important;

max-width: 100% !important;

margin: 0 !important;

object-fit: contain;

border-radius: 8px;

}

/* =========================================================
INFORMATIONS PRODUIT
========================================================= */

.woocommerce-cart-form .product-name {
grid-area: name;

min-width: 0;

align-self: end;

padding-right: 4px;

}

/* titre : 2 lignes maximum + ... */

.woocommerce-cart-form .product-name > a {
display: -webkit-box;

max-width: 100%;

margin: 0 0 6px;

overflow: hidden;

-webkit-box-orient: vertical;
-webkit-line-clamp: 2;

text-overflow: ellipsis;

font-size: 13px;
line-height: 1.35;

font-weight: 700;

letter-spacing: 0;

text-transform: none;

color: var(--msc-text);

text-decoration: none;

}

.woocommerce-cart-form .product-name > a {
color: #555;
}

/* SKU */

.woocommerce-cart-form .msc-sku {
margin: 0 0 5px;

font-size: 9px;
line-height: 1.25;

font-weight: 500;

letter-spacing: .03em;

text-transform: uppercase;

color: #aaa;

}

/* disponibilité */

.woocommerce-cart-form .msc-stock {
display: flex;

align-items: center;

gap: 5px;

font-size: 9.5px;
line-height: 1.3;

font-weight: 600;

text-transform: none;

}

.woocommerce-cart-form .msc-stock.msc-in {
color: var(--msc-green);
}

.woocommerce-cart-form .msc-stock.msc-out {
color: var(--msc-red);
}

.woocommerce-cart-form .msc-stock.msc-in::before {
content: "";

width: 8px;
height: 8px;

flex: 0 0 8px;

background: var(--msc-green);

border-radius: 50%;

}

/* options / variations WooCommerce */

.woocommerce-cart-form .product-name dl.variation {
margin: 5px 0 0;

font-size: 9px;
line-height: 1.3;

color: var(--msc-muted);

}

.woocommerce-cart-form .product-name dl.variation dt,
.woocommerce-cart-form .product-name dl.variation dd {
margin: 0 4px 0 0;
}

.woocommerce-cart-form .product-name p {
margin: 3px 0 0;

font-size: 9px;
line-height: 1.3;

}

/* =========================================================
QUANTITÉ
========================================================= */

.woocommerce-cart-form .product-price {
display: none !important;
}

.woocommerce-cart-form .product-quantity {
grid-area: quantity;

justify-self: start;
align-self: start;

}

.woocommerce-cart-form .product-quantity label,
.woocommerce-cart-form .product-quantity br {
display: none;
}

.woocommerce-cart-form .quantity {
position: relative;

display: flex;

align-items: center;

width: 72px;
height: 38px;

margin: 0;

overflow: hidden;

background: #fafafa;

border: 1px solid var(--msc-line);
border-radius: 9px;

}

.woocommerce-cart-form .quantity .qty {
width: 100%;
height: 100%;

padding: 0 23px 0 12px;

background: transparent;

border: 0;

border-radius: 0;

outline: 0;

box-shadow: none;

font-size: 13px;

font-weight: 700;

text-align: left;

color: var(--msc-text);

appearance: textfield;
-moz-appearance: textfield;

}

.woocommerce-cart-form .qty::-webkit-inner-spin-button,
.woocommerce-cart-form .qty::-webkit-outer-spin-button {
margin: 0;

-webkit-appearance: none;
appearance: none;

}

/* flèches */

.woocommerce-cart-form .msc-arrows {
position: absolute;

top: 0;
right: 2px;
bottom: 0;

display: flex;

flex-direction: column;
justify-content: center;

width: 20px;

}

.woocommerce-cart-form .msc-arrow {
display: flex;

align-items: center;
justify-content: center;

width: 18px;
height: 15px;

margin: 0;
padding: 0;

border: 0 !important;

background: transparent !important;

color: #777;

cursor: pointer;

}

.woocommerce-cart-form .msc-arrow {
color: #111;
}

.woocommerce-cart-form .msc-arrow svg {
display: block;

width: 8px;
height: 8px;

}

.woocommerce-cart-form .msc-down svg {
transform: rotate(180deg);
}

/* =========================================================
PRIX PRODUIT
========================================================= */

.woocommerce-cart-form .product-subtotal {
grid-area: price;

justify-self: end;
align-self: center;

min-width: max-content;

font-size: 18px;
line-height: 1;

font-weight: 800;

letter-spacing: -.02em;

color: var(--msc-text);

white-space: nowrap;

}

.woocommerce-cart-form .product-subtotal .amount,
.woocommerce-cart-form .product-subtotal bdi,
.woocommerce-cart-form .product-subtotal
.woocommerce-Price-currencySymbol {
font: inherit;
color: inherit;
}

/* =========================================================
SUPPRESSION
========================================================= */

.woocommerce-cart-form .product-remove {
position: absolute;

top: 14px;
right: 14px;

z-index: 10;

width: 20px;
height: 20px;

}

.woocommerce-cart-form .product-remove a.remove {
display: flex !important;

align-items: center;
justify-content: center;

width: 20px;
height: 20px;

margin: 0;
padding: 0;

overflow: hidden;

background: transparent !important;

color: var(--msc-red) !important;

font-size: 0 !important;

opacity: .75;

transition:
    opacity .15s ease,
    transform .15s ease;

}

.woocommerce-cart-form .product-remove a.remove::before {
content: "×";

display: block;

font-size: 21px;
line-height: 1;

font-weight: 400;

}

.woocommerce-cart-form .product-remove a.remove {
opacity: 1;

transform: scale(1.08);

}

/* =========================================================
CODE PROMO
========================================================= */

.woocommerce-cart-form tr(.cart_item),
.woocommerce-cart-form td.actions {
display: block;

width: 100%;

margin: 0;
padding: 0 !important;

border: 0 !important;

}

.woocommerce-cart-form td.actions {
margin-top: 4px;
}

.woocommerce-cart-form td.actions .coupon {
display: grid;

grid-template-columns:
    minmax(0, 1fr)
    auto;

gap: 10px;

width: 100%;

margin: 0;

float: none;

}

.woocommerce-cart-form td.actions .coupon .input-text {
width: 100% !important;
height: 44px;

margin: 0 !important;

padding: 0 14px !important;

background: #fff;

border: 1px solid var(--msc-line) !important;

border-radius: 10px !important;

outline: none;

box-shadow: none !important;

font-size: 12px;

color: var(--msc-text);

transition: border-color .2s ease;

}

.woocommerce-cart-form td.actions .coupon .input-text {
border-color: #aaa !important;
}

.woocommerce-cart-form td.actions .coupon .button {
min-width: 165px;
height: 44px;

margin: 0 !important;

padding: 0 18px !important;

background: #fff !important;

border: 1px solid #181818 !important;

border-radius: 10px !important;

box-shadow: none !important;

color: #181818 !important;

font-size: 11px !important;

font-weight: 700 !important;

text-transform: none;

transition:
    color .2s ease,
    background .2s ease;

}

.woocommerce-cart-form td.actions .coupon .button {
background: #181818 !important;

color: #fff !important;

}

/* bouton WooCommerce invisible */

.woocommerce-cart-form
button[name="update_cart"],
.woocommerce-cart-form
input[name="update_cart"] {
position: absolute !important;

width: 1px !important;
height: 1px !important;

margin: 0 !important;
padding: 0 !important;

overflow: hidden !important;

opacity: 0 !important;

pointer-events: none;

}

/* =========================================================
TOTAL PANIER
========================================================= */

.cart-collaterals .cart_totals {
padding: 22px;

background: #fff;

border: 1px solid var(--msc-line);

border-radius: 16px;

box-shadow:
    0 5px 16px rgba(0, 0, 0, .025),
    0 12px 35px rgba(0, 0, 0, .04);

}

.cart_totals > h2 {
margin: 0 0 20px !important;

padding: 0 !important;

font-size: 18px !important;
line-height: 1.2;

font-weight: 750 !important;

letter-spacing: -.02em;

color: var(--msc-text);

text-transform: none;

}

/* tableau total */

.cart_totals .shop_table,
.cart_totals .shop_table tbody {
display: block;

width: 100%;

margin: 0 !important;
padding: 0 !important;

border: 0 !important;

background: transparent !important;

}

.cart_totals .shop_table tr {
display: flex;

align-items: flex-start;
justify-content: space-between;

gap: 15px;

width: 100%;

padding: 13px 0;

border: 0 !important;
border-bottom: 1px solid #ededed !important;

}

.cart_totals .shop_table th,
.cart_totals .shop_table td {
display: block !important;

margin: 0 !important;
padding: 0 !important;

border: 0 !important;

background: transparent !important;

}

.cart_totals .shop_table th {
flex: 0 0 auto;

font-size: 11.5px;

font-weight: 650;

color: #777;

}

.cart_totals .shop_table td {
flex: 1;

min-width: 0;

font-size: 12.5px;
line-height: 1.45;

font-weight: 650;

text-align: right !important;

color: var(--msc-text);

}

.cart_totals .shop_table td::before {
display: none !important;
content: none !important;
}

/* =========================================================
EXPÉDITION
========================================================= */

.cart_totals tr.shipping {
flex-direction: column;

gap: 7px;

}

.cart_totals tr.shipping th,
.cart_totals tr.shipping td {
width: 100%;
}

.cart_totals tr.shipping td {
text-align: left !important;
}

.cart_totals .woocommerce-shipping-may-be-available-html {
display: block;

margin: 0 0 7px;

font-size: 10.5px;
line-height: 1.45;

font-weight: 400;

color: var(--msc-muted);

}

.cart_totals .shipping-calculator-button {
display: inline-flex;

margin-top: 2px;

font-size: 10.5px;

font-weight: 700;

color: #222;

text-decoration: underline;

text-underline-offset: 3px;

}

/* formulaire expédition */

.cart_totals .shipping-calculator-form {
margin-top: 12px !important;

padding: 12px;

background: var(--msc-soft);

border: 1px solid #ececec;

border-radius: 10px;

}

.cart_totals .shipping-calculator-form p {
margin: 0 0 8px;
}

.cart_totals .shipping-calculator-form input,
.cart_totals .shipping-calculator-form select {
width: 100% !important;
height: 39px;

padding: 0 10px !important;

background: #fff;

border: 1px solid #ddd !important;

border-radius: 8px !important;

box-shadow: none !important;

font-size: 11px !important;

}

.cart_totals .shipping-calculator-form button {
width: 100%;

min-height: 39px;

background: #181818 !important;

border: 0 !important;

border-radius: 8px !important;

color: #fff !important;

font-size: 11px !important;

font-weight: 700;

}

/* =========================================================
TOTAL FINAL
========================================================= */

.cart_totals .order-total {
align-items: center !important;

padding: 17px 0 !important;

border-bottom: 0 !important;

}

.cart_totals .order-total th {
font-size: 13px;

font-weight: 700;

color: var(--msc-text);

}

.cart_totals .order-total td {
font-size: 21px;

line-height: 1.05;

font-weight: 800;

letter-spacing: -.03em;

}

.cart_totals .includes_tax {
display: block;

margin-top: 5px;

font-size: 8.5px;
line-height: 1.3;

font-weight: 500;

color: #999;

}

/* =========================================================
ALMA — RECALIBRAGE COMPLET
========================================================= */

.cart_totals .alma-cart-eligibility {
width: 100%;

margin: 0 0 12px !important;

padding: 12px !important;

background: var(--msc-soft) !important;

border: 1px solid #ececec !important;

border-radius: 11px !important;

box-shadow: none !important;

}

/* retire l'effet double carte */

.cart_totals .alma-payment-plans-container {
width: 100% !important;

margin: 0 !important;
padding: 0 !important;

background: transparent !important;

border: 0 !important;

border-radius: 0 !important;

box-shadow: none !important;

}

/* ligne Alma + 2x / 3x / 4x */

.cart_totals .alma-payment-plans-eligibility-line {
display: flex !important;

align-items: center !important;

gap: 8px !important;

width: 100% !important;

}

/* logo */

.cart_totals .alma-payment-plans-know-more-action {
display: flex !important;

align-items: center !important;
justify-content: center !important;

flex: 0 0 68px !important;

width: 68px !important;
height: 36px !important;

margin: 0 !important;
padding: 6px 10px !important;

background: #fff !important;

border: 1px solid #e5235f !important;

border-radius: 8px !important;

box-shadow: none !important;

}

.cart_totals
.alma-payment-plans-know-more-action svg {
display: block !important;

width: 47px !important;
height: auto !important;

}

/* choix 2x / 3x / 4x */

.cart_totals .alma-payment-plans-eligibility-options {
display: flex !important;

flex: 1 1 auto !important;

gap: 7px !important;

width: auto !important;

}

.cart_totals
.alma-payment-plans-eligibility-options button {
flex: 1 1 0 !important;

min-width: 42px !important;
height: 36px !important;

margin: 0 !important;
padding: 0 8px !important;

background: #fff !important;

border: 1px solid #e5235f !important;

border-radius: 7px !important;

box-shadow: none !important;

color: #e5235f !important;

font-size: 11px !important;
line-height: 1 !important;

font-weight: 650 !important;

}

/* option Alma sélectionnée */

.cart_totals
.alma-payment-plans-eligibility-options
button[aria-selected="true"] {
background: #181818 !important;

border-color: #181818 !important;

color: #fff !important;

}

/* texte sous Alma */

.cart_totals .alma-payment-plans-payment-info {
margin-top: 8px !important;

padding: 0 !important;

font-size: 10px !important;
line-height: 1.35 !important;

font-weight: 500 !important;

color: #555 !important;

}

.cart_totals .alma-payment-plans-payment-info p {
margin: 0 !important;

font: inherit !important;

color: inherit !important;

}

/* =========================================================
BOUTON COMMANDER
========================================================= */

.cart_totals .wc-proceed-to-checkout {
margin: 0;
padding: 0;
}

.cart_totals .wc-proceed-to-checkout p {
margin: 0;
}

.cart_totals .checkout-button {
display: flex !important;

align-items: center;
justify-content: center;

width: 100% !important;

min-height: 50px;

margin: 0 !important;

padding: 0 18px !important;

background: #181818 !important;

border: 0 !important;

border-radius: 10px !important;

box-shadow: none !important;

color: #fff !important;

font-size: 12.5px !important;

line-height: 1.2 !important;

font-weight: 700 !important;

text-align: center;

text-transform: none;

transition:
    background .2s ease,
    transform .2s ease;

}

.cart_totals .checkout-button br {
display: none;
}

.cart_totals .checkout-button {
background: #333 !important;

transform: translateY(-1px);

}

/* =========================================================
TABLETTE
========================================================= */

@media (max-width: 980px) {

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
    float: none !important;

    clear: both !important;

    width: 100% !important;
}

body.woocommerce-cart .cart-collaterals {
    margin-top: 24px !important;
}

.cart-collaterals .cart_totals {
    width: 100% !important;

    max-width: none !important;

    float: none !important;
}

}

/* =========================================================
MOBILE — CARTE PRODUIT v6
========================================================= */

@media (max-width: 600px) {

/* =====================================================
   CARTE PRODUIT
   ===================================================== */

.woocommerce-cart-form tr.cart_item {
    position: relative;

    display: grid !important;

    grid-template-columns: 112px minmax(0, 1fr);

    grid-template-areas:
        "image info"
        "stock stock"
        "quantity price";

    column-gap: 14px;
    row-gap: 0;

    width: 100%;

    min-height: 0;

    margin: 0 0 12px;

    padding: 12px;

    background: #fff;

    border: 1px solid var(--msc-line);
    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 3px 12px rgba(0,0,0,.025),
        0 8px 20px rgba(0,0,0,.025);
}


/* =====================================================
   IMAGE
   ===================================================== */

.woocommerce-cart-form .product-thumbnail {
    grid-area: image;

    display: flex !important;

    align-items: center;
    justify-content: center;

    width: 112px;
    height: 112px;

    padding: 5px;

    background: #f7f7f7;

    border-radius: 10px;

    overflow: hidden;
}


.woocommerce-cart-form .product-thumbnail a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}


.woocommerce-cart-form .product-thumbnail img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    object-fit: contain;

    border-radius: 7px;
}


/* =====================================================
   INFORMATIONS PRODUIT
   ===================================================== */

.woocommerce-cart-form .product-name {
    grid-area: info;

    display: flex !important;

    flex-direction: column;

    justify-content: flex-start;

    min-width: 0;

    padding:
        2px
        24px
        0
        0;
}


/* TITRE */

.woocommerce-cart-form .product-name > a {
    display: -webkit-box;

    width: 100%;

    margin: 0 0 6px;

    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    text-overflow: ellipsis;

    font-size: 12px;
    line-height: 1.3;

    font-weight: 700;

    letter-spacing: 0;

    text-transform: none;

    color: var(--msc-text);

    text-decoration: none;
}


/* SKU */

.woocommerce-cart-form .msc-sku {
    margin: 0 0 5px;

    font-size: 8px;
    line-height: 1.3;

    font-weight: 500;

    color: #aaa;

    letter-spacing: .02em;
}


/* VARIATIONS / OPTIONS */

.woocommerce-cart-form .product-name dl.variation {
    margin: 0;

    font-size: 8px;
    line-height: 1.35;

    color: #999;
}


.woocommerce-cart-form .product-name dl.variation dt,
.woocommerce-cart-form .product-name dl.variation dd {
    margin: 0 3px 0 0;

    padding: 0;
}


.woocommerce-cart-form .product-name p {
    margin: 2px 0 0;

    font-size: 8px;

    line-height: 1.3;
}


/* =====================================================
   STOCK
   prend maintenant 100 % de la carte
   ===================================================== */

.woocommerce-cart-form .msc-meta {
    display: contents;
}


.woocommerce-cart-form .msc-stock {
    grid-area: stock;

    display: flex;

    align-items: center;

    gap: 6px;

    width: 100%;

    margin-top: 12px;

    padding:
        10px
        2px
        11px;

    border-bottom: 1px solid #e8e8e8;

    font-size: 8.5px;
    line-height: 1.35;

    font-weight: 700;

    letter-spacing: 0;

    text-transform: uppercase;
}


.woocommerce-cart-form .msc-stock.msc-in {
    color: var(--msc-green);
}


.woocommerce-cart-form .msc-stock.msc-out {
    color: var(--msc-red);
}


.woocommerce-cart-form .msc-stock.msc-in::before {
    content: "✓";

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 15px;

    width: 15px;
    height: 15px;

    background: transparent;

    color: var(--msc-green);

    font-size: 16px;

    line-height: 1;

    font-weight: 900;
}


/* =====================================================
   IMPORTANT
   SKU reste avec le titre
   STOCK sort visuellement sur toute la largeur
   ===================================================== */

.woocommerce-cart-form .product-name .msc-meta {
    display: contents;
}


.woocommerce-cart-form .product-name .msc-sku {
    display: block;
}


/*
 * Le stock doit participer à la grille principale.
 */

.woocommerce-cart-form .product-name .msc-stock {
    position: absolute;

    left: 12px;
    right: 12px;

    top: 136px;

    width: auto;

    margin: 0;

    padding:
        10px
        2px
        11px;

    border-bottom:
        1px solid
        #e8e8e8;
}


/*
 * Espace réservé au stock.
 */

.woocommerce-cart-form tr.cart_item {
    padding-top: 12px;
}


/* =====================================================
   QUANTITÉ + PRIX
   vraie ligne 50 / 50
   ===================================================== */

.woocommerce-cart-form .product-quantity {
    grid-area: quantity;

    position: static !important;

    display: flex !important;

    align-items: center;

    justify-self: start;

    align-self: center;

    width: 100%;

    margin:
        55px
        0
        0 !important;

    padding-top: 12px;
}


.woocommerce-cart-form .product-subtotal {
    grid-area: price;

    position: static !important;

    display: flex !important;

    align-items: center;
    justify-content: flex-end;

    justify-self: stretch;

    align-self: center;

    width: 100%;

    min-width: 0;

    margin:
        55px
        0
        0 !important;

    padding-top: 12px;

    font-size: 17px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: -.025em;

    text-align: right;

    color: var(--msc-text);

    white-space: nowrap;
}


/* =====================================================
   CHAMP QUANTITÉ
   ===================================================== */

.woocommerce-cart-form .quantity {
    position: relative;

    display: flex;

    align-items: center;

    width: 68px;
    height: 36px;

    margin: 0;

    background: #fafafa;

    border: 1px solid #dedede;

    border-radius: 8px;

    overflow: hidden;
}


.woocommerce-cart-form .quantity .qty {
    width: 100%;
    height: 100%;

    padding:
        0
        22px
        0
        11px;

    border: 0;

    background: transparent;

    box-shadow: none;

    font-size: 12px;

    font-weight: 700;

    color: var(--msc-text);

    text-align: left;
}


/* =====================================================
   FLÈCHES QUANTITÉ
   ===================================================== */

.woocommerce-cart-form .msc-arrows {
    position: absolute;

    top: 0;
    right: 1px;
    bottom: 0;

    display: flex;

    flex-direction: column;
    justify-content: center;

    width: 19px;
}


.woocommerce-cart-form .msc-arrow {
    width: 17px;
    height: 13px;

    margin: 0;
    padding: 0;

    border: 0 !important;

    background: transparent !important;
}


.woocommerce-cart-form .msc-arrow svg {
    width: 7px;
    height: 7px;
}


/* =====================================================
   SUPPRESSION
   ===================================================== */

.woocommerce-cart-form .product-remove {
    position: absolute;

    top: 10px;
    right: 10px;

    z-index: 20;

    width: 18px;
    height: 18px;
}


.woocommerce-cart-form .product-remove a.remove {
    width: 18px;
    height: 18px;
}


.woocommerce-cart-form
.product-remove a.remove::before {
    font-size: 19px;
}


/* =====================================================
   CODE PROMO
   ===================================================== */

.woocommerce-cart-form td.actions {
    margin-top: 6px;
}


.woocommerce-cart-form td.actions .coupon {
    display: grid;

    grid-template-columns: 1fr;

    gap: 8px;

    width: 100%;
}


.woocommerce-cart-form
td.actions
.coupon
.input-text {

    width: 100% !important;

    height: 42px;

    font-size: 11px;
}


.woocommerce-cart-form
td.actions
.coupon
.button {

    width: 100%;

    min-width: 0;

    height: 42px;

    font-size: 11px !important;
}


/* =====================================================
   TOTAL PANIER
   ===================================================== */

body.woocommerce-cart .cart-collaterals {
    margin-top: 20px !important;
}


.cart-collaterals .cart_totals {
    width: 100% !important;

    padding: 17px;

    border-radius: 13px;
}


.cart_totals > h2 {
    margin-bottom: 15px !important;

    font-size: 16px !important;
}


.cart_totals .shop_table tr {
    padding: 11px 0;
}


.cart_totals .shop_table th {
    font-size: 11px;
}


.cart_totals .shop_table td {
    font-size: 11.5px;
}


.cart_totals .order-total th {
    font-size: 12px;
}


.cart_totals .order-total td {
    font-size: 19px;
}


/* =====================================================
   ALMA
   ===================================================== */

.cart_totals .alma-cart-eligibility {
    padding: 9px !important;

    border-radius: 9px !important;
}


.cart_totals
.alma-payment-plans-eligibility-line {

    gap: 5px !important;
}


.cart_totals
.alma-payment-plans-know-more-action {

    flex:
        0
        0
        58px !important;

    width: 58px !important;

    height: 34px !important;
}


.cart_totals
.alma-payment-plans-eligibility-options {

    gap: 4px !important;
}


.cart_totals
.alma-payment-plans-eligibility-options
button {

    min-width: 34px !important;

    height: 34px !important;

    padding: 0 4px !important;

    font-size: 9.5px !important;
}


.cart_totals
.alma-payment-plans-payment-info {

    margin-top: 7px !important;

    font-size: 9px !important;
}


/* =====================================================
   VALIDER COMMANDE
   ===================================================== */

.cart_totals .checkout-button {
    min-height: 47px;

    font-size: 12px !important;
}

}

/* =========================================================
MOBILE — CORRECTIF STOCK + CODE PROMO
À AJOUTER TOUT EN BAS DU CSS
========================================================= */

@media (max-width: 600px) {

/* =====================================================
   STOCK — RÉAFFICHAGE
   ===================================================== */

.woocommerce-cart-form .product-name .msc-meta {
    display: block !important;
}

.woocommerce-cart-form .product-name .msc-stock {
    position: absolute !important;

    top: 136px !important;
    left: 12px !important;
    right: 12px !important;

    z-index: 5;

    display: flex !important;

    align-items: center;

    gap: 6px;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;

    padding: 10px 2px 11px !important;

    visibility: visible !important;
    opacity: 1 !important;

    overflow: visible !important;

    border-bottom: 1px solid #e8e8e8;

    font-size: 8.5px !important;
    line-height: 1.35;

    font-weight: 700;

    text-transform: uppercase;
}


/* STOCK DISPONIBLE */

.woocommerce-cart-form
.product-name
.msc-stock.msc-in {

    color: var(--msc-green) !important;
}


.woocommerce-cart-form
.product-name
.msc-stock.msc-in::before {

    content: "✓" !important;

    display: flex !important;

    align-items: center;
    justify-content: center;

    flex: 0 0 15px;

    width: 15px;
    height: 15px;

    background: transparent !important;

    color: var(--msc-green) !important;

    font-size: 16px;

    line-height: 1;

    font-weight: 900;
}


/* RUPTURE */

.woocommerce-cart-form
.product-name
.msc-stock.msc-out {

    color: var(--msc-red) !important;
}


/* =====================================================
   ESPACE POUR STOCK
   ===================================================== */

.woocommerce-cart-form .product-quantity,
.woocommerce-cart-form .product-subtotal {

    margin-top: 55px !important;
}


/* =====================================================
   CODE PROMO — 100 % MOBILE
   ===================================================== */

.woocommerce-cart-form
td.actions
.coupon {

    display: flex !important;

    flex-direction: column !important;

    gap: 8px;

    width: 100% !important;

    margin: 0 !important;

    float: none !important;
}


/* Champ code promo */

.woocommerce-cart-form
td.actions
.coupon
.input-text {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: 44px;

    margin: 0 !important;

    float: none !important;

    flex: none !important;
}


/* Bouton appliquer */

.woocommerce-cart-form
td.actions
.coupon
.button {

    display: flex !important;

    align-items: center;
    justify-content: center;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: 44px;

    margin: 0 !important;

    padding: 0 15px !important;

    float: none !important;

    flex: none !important;

    text-align: center;
}

}/* =========================================================
ORDRE : DEVIS → ALMA → COMMANDER
========================================================= */

.cart_totals .wc-proceed-to-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* 1 — Demande de devis */
.cart_totals .wc-proceed-to-checkout .msc-quote-box {
    order: 1 !important;
        margin-bottom: 14px !important;
}

/* 2 — Alma */
.cart_totals .wc-proceed-to-checkout .alma-cart-eligibility,
.cart_totals .wc-proceed-to-checkout .alma-payment-plans-container {
    order: 2 !important;
}

/* 3 — Valider la commande */
.cart_totals .wc-proceed-to-checkout .checkout-button {
    order: 3 !important;
}/* End custom CSS */