/* Kocka Motion: presentation of native checkout components. */
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) {
 --km-check-surface: #fff; --km-check-bg: #f3f6fa; --km-check-border: #dce4ed; --km-check-ink: #142a40; --km-check-muted: #607386; --km-check-accent: #087dbc;
 background:var(--km-check-bg);color:var(--km-check-ink);font-weight:400;
}
html[data-theme=dark] body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) {
 --km-check-surface:#10283d; --km-check-bg:#071b2b; --km-check-border:#294257; --km-check-ink:#edf5fc; --km-check-muted:#b0c4d4; --km-check-accent:#1fc0f7;
}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) h1 {text-align:left;text-transform:none;color:var(--km-check-ink);font-size:clamp(26px,3vw,38px);letter-spacing:-.035em;margin-bottom:28px;}
#etapes {margin-bottom:32px;}
#etapes>.d-flex {gap:8px;justify-content:space-between!important;}
#etapes .step {width:auto;max-width:none;flex:1;margin:0;padding:14px 10px;border:1px solid var(--km-check-border,#dce4ed);border-radius:12px;background:var(--km-check-surface,#fff);color:var(--km-check-muted,#607386);}
#etapes a {flex:1;}
#etapes a .step {background:var(--km-check-surface,#fff);border-color:var(--km-check-border,#dce4ed);color:var(--km-check-ink,#142a40);}
#etapes .step.active {background:var(--km-check-ink,#142a40);border-color:var(--km-check-ink,#142a40);color:var(--km-check-surface,#fff);box-shadow:0 4px 12px #142a4014;}
#etapes .step .step_name .text {font-size:13px;font-weight:500;}
#etapes .trait {font-size:16px;opacity:.45;}
:is(#panier_1,#paiement_1)>.row {--bs-gutter-x:28px;--bs-gutter-y:20px;}
:is(#panier_1,#paiement_1) .grille {background:transparent;color:var(--km-check-muted);border:0;font-size:11px;letter-spacing:.08em;padding:0 20px;margin-bottom:14px;}
:is(#panier_1,#paiement_1) :is(.produit,.commande,.adresses,.infos_livraison,.paiements),#livraison_V2_1 :is(.cadre,.choix_livraison),#validation_1 .merci {
 background:var(--km-check-surface);color:var(--km-check-ink);border:1px solid var(--km-check-border);border-radius:16px;padding:24px;margin-bottom:18px;max-width:none;box-shadow:0 6px 24px #142a4005;
}
:is(#panier_1,#paiement_1) .produit figure {border-radius:10px;overflow:hidden;padding:6px;}
:is(#panier_1,#paiement_1) .produit figure img {object-fit:contain;}
:is(#panier_1,#paiement_1) .produit .contenu .titre {font-size:16px;line-height:1.5;font-weight:600;color:var(--km-check-ink);}
:is(#panier_1,#paiement_1) .produit .contenu .titre a {color:inherit;}
:is(#panier_1,#paiement_1) .produit :is(.ref,.variante) {color:var(--km-check-muted);font-size:12px;line-height:1.6;}
:is(#panier_1,#paiement_1) :is(.total.ttc,.info.ttc) {color:var(--km-check-ink);font-size:21px;font-weight:700;line-height:1.5;white-space:nowrap;}
:is(#panier_1,#paiement_1) sup {font-size:10px;font-weight:500;}
#panier_1 .commande {border-top:3px solid var(--km-check-accent);}
:is(#panier_1,#paiement_1) .commande .recap {margin-bottom:24px;}
:is(#panier_1,#paiement_1) .commande .row .col {flex-basis:auto;}
:is(#panier_1,#paiement_1) .commande :is(.coupon,.suite) {margin-top:20px;}
#panier_1 .code_promo .titre {font-size:12px;color:var(--km-check-muted);font-weight:500;margin-bottom:8px;}
#panier_1 .commentaire {background:var(--km-check-surface);border:1px solid var(--km-check-border);border-radius:16px;padding:20px;margin:24px 0;}
#panier_1 .commentaire .h3 {font-size:15px;font-weight:600;color:var(--km-check-ink);margin-bottom:10px;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) .formulaire :is(.form-control,.form-select) {min-height:48px;border:1px solid var(--km-check-border);background:var(--km-check-surface);color:var(--km-check-ink);border-radius:8px;padding:10px 12px;font-size:16px;box-shadow:none;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) .formulaire :is(.form-control,.form-select):focus {border-color:var(--km-check-accent);outline:3px solid color-mix(in srgb,var(--km-check-accent) 20%,transparent);outline-offset:1px;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) :is(button,a,input):focus-visible {outline:3px solid var(--km-check-accent);outline-offset:3px;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) .formulaire .bouton {min-height:44px;border-radius:8px;font-weight:600;font-size:13px;text-transform:none;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) .formulaire .bouton.valid {background:#087dbc;color:#fff;border-color:#087dbc;box-shadow:0 4px 12px #087dbc20;}
body:has(:is(#panier_1,#livraison_V2_1,#paiement_1,#validation_1,#inscription_connexion)) .formulaire .bouton.valid:hover {background:#06669b;border-color:#06669b;}
:is(#panier_1,#paiement_1) .suite .bouton.valid {width:100%;min-height:50px;justify-content:center;}
#panier_1 .infos {display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;}
#panier_1 .infos .bouton {background:transparent;color:var(--km-check-muted);border-color:var(--km-check-border);}
#panier_1 .input_qtes {min-width:44px;text-align:center;padding:8px!important;}
#panier_1 .quantites .qtes {border-radius:8px;overflow:hidden;}
#panier_1 .btn_qte :is(.btn-qte-up,.btn-qte-down) {min-width:32px;min-height:24px;}
#panier_1 .suppr.icon {border-radius:8px;min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;}
#panier_1.km-cart-empty .commentaire,#panier_1.km-cart-empty .grille,#panier_1.km-cart-empty .commande {display:none;}
#panier_1.km-cart-empty .alert {background:var(--km-check-surface);color:var(--km-check-muted);border:1px solid var(--km-check-border);border-radius:16px;padding:48px 24px;text-align:center;}
#inscription_connexion {max-width:1000px;margin:0 auto;}
#inscription_connexion :is(.accordion-item,.cadre) {border:1px solid var(--km-check-border);background:var(--km-check-surface);border-radius:16px;overflow:hidden;margin-bottom:20px;}
#inscription_connexion .accordion-button {background:var(--km-check-surface);color:var(--km-check-ink);font-size:18px;font-weight:600;padding:22px;box-shadow:none;}
#inscription_connexion .accordion-body {padding:24px;}
#inscription_connexion label {font-size:13px;color:var(--km-check-ink);font-weight:500;}
#livraison_V2_1 .titre_cadre {color:var(--km-check-ink);font-weight:600;margin-bottom:16px;}
#paiement_1 .paiements :is(label,.form-check-label) {cursor:pointer;line-height:1.6;}
#paiement_1 .paiements .form-check {padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--km-check-border);}
#paiement_1 .paiements .form-check:last-child {border-bottom:0;}
@media(min-width:992px){:is(#panier_1,#paiement_1)>.row>div:first-child {width:66.666667%;}:is(#panier_1,#paiement_1)>.row>div:last-child {width:33.333333%;}#panier_1>.row>div:last-child {align-self:flex-start;position:sticky;top:24px;}}
@media(max-width:767px){
 #etapes>.d-flex {gap:4px;align-items:stretch!important;}#etapes .trait {display:none;}#etapes .step {padding:10px 3px;border-radius:8px;min-width:0;}#etapes .step .step_name .picto {display:block;font-size:16px;margin:0 0 5px;}#etapes .step .step_name .text {display:block;font-size:9px;letter-spacing:-.02em;overflow-wrap:anywhere;}
 :is(#panier_1,#paiement_1) :is(.produit,.commande,.adresses,.infos_livraison,.paiements),#livraison_V2_1 :is(.cadre,.choix_livraison),#validation_1 .merci {max-width:none;padding:16px;border-radius:12px;}
 :is(#panier_1,#paiement_1) .grille.recap {display:block;max-width:none;padding:0;margin:8px 0 12px;}
 :is(#panier_1,#paiement_1) .produit .contenu .titre {font-size:14px;line-height:1.4;}
 :is(#panier_1,#paiement_1) .total.ttc {font-size:18px;}
 #panier_1 .commentaire {padding:16px;margin:18px 0;}#panier_1 .produit .trait {border-color:var(--km-check-border);margin:14px 0;}
 #inscription_connexion :is(.accordion-body,.accordion-button) {padding:16px;}#livraison_V2_1 :is(.titre_cadre,.h3,.suite,.ajout_livraison) {max-width:none!important;}
}
@media(prefers-reduced-motion:reduce){#etapes *,#panier_1 *,#inscription_connexion *,#livraison_V2_1 *,#paiement_1 * {scroll-behavior:auto;transition:none!important;}}
#inscription_connexion .bloctitre {background:var(--km-check-surface);color:var(--km-check-ink);border-bottom:1px solid var(--km-check-border);padding:20px 24px;font-weight:600;}
#inscription_connexion .bloctitre :is(a,button) {color:inherit;background:transparent;}
#inscription_connexion :is(#connexion_content,#inscription_content) {padding:24px;}
#livraison_V2_1 .cadre:has(input[type=radio]:checked),#paiement_1 .form-check:has(input[type=radio]:checked) {border-color:var(--km-check-accent);background:color-mix(in srgb,var(--km-check-accent) 6%,var(--km-check-surface));}
#paiement_1 .paiements .row-cols-auto>.col {width:100%;}
#paiement_1 .paiements .form-check {border:1px solid var(--km-check-border);border-radius:10px;margin:6px 0;padding:14px;display:flex;align-items:center;gap:16px;}
#paiement_1 .paiements .form-check label {display:flex;align-items:center;gap:14px;flex:1;font-weight:500;}
#paiement_1 .paiements .form-check .check {flex:0 0 20px;}
#paiement_1 .paiements .form-check:last-child {border-bottom:1px solid var(--km-check-border);}
#livraison_V2_1 input[type=radio],#paiement_1 input[type=radio] {accent-color:var(--km-check-accent);width:20px;height:20px;}
@media(max-width:767px){#inscription_connexion .bloctitre,#inscription_connexion :is(#connexion_content,#inscription_content) {padding:16px;}}
@media(max-width:767px){:is(#panier_1,#paiement_1)>.row {--bs-gutter-x:24px;}}
:is(#panier_1,#paiement_1) .commande .recap>.row {flex-wrap:nowrap;gap:8px;}
:is(#panier_1,#paiement_1) .commande .recap>.row>.col:first-child {flex:1;min-width:0;}
:is(#panier_1,#paiement_1) .commande .recap>.row>.col:last-child {flex:0 0 auto;}
:is(#panier_1,#paiement_1) .commande .recap>.row>.col:last-child {width:auto;min-width:0;}
:is(#panier_1,#paiement_1) .commande .recap .info.ttc {font-size:21px;color:var(--km-check-ink);}
@media(max-width:767px){:is(#panier_1,#paiement_1) .commande .recap .info.ttc {font-size:19px;}}

#panier_1.km-cart-empty>.row>div:first-child {width:100%;}
#panier_1.km-cart-empty>.row>div:last-child {display:none;}
#panier_1 .km-empty-return {text-align:center;margin:20px 0;}
@media(max-width:767px){#etapes .step .step_name .text {font-size:8px;line-height:1.35;hyphens:auto;}}
#inscription_connexion .cadre {max-width:none;padding:0;}
#inscription_connexion #collapse .cadre .bloctitre .titre {background:transparent;color:var(--km-check-ink);border:0;}

#inscription_connexion #collapse .cadre .bloctitre>button {background:transparent;color:var(--km-check-ink);border:0;padding:0;box-shadow:none;}
#inscription_connexion #collapse .cadre .bloctitre>button :is(.titre,i) {color:var(--km-check-ink);}
