/* Shared presentation only: CMS content and commerce calculations stay native. */
:root {--km-ui-blue:#087dbc;--km-ui-ink:#192e40;--km-ui-radius:10px;--km-ui-h1:clamp(28px,3vw,40px);--km-ui-h2:clamp(23px,2.2vw,30px);}
body main h1,body .km-product h1,body .km-simulator-layout h1 {font-size:var(--km-ui-h1)!important;line-height:1.22;font-weight:700;letter-spacing:-.025em;margin-bottom:24px;overflow-wrap:break-word;}
body main h2 {font-size:var(--km-ui-h2);line-height:1.3;font-weight:700;letter-spacing:-.015em;margin-bottom:22px;}
body main h3 {font-size:clamp(18px,1.5vw,21px);line-height:1.45;margin-bottom:16px;}
body main p {line-height:1.7;}
body main :is(h1,h2,h3,[id]) {scroll-margin-top:110px;}
body main .bouton,body main .formulaire .bouton {font-size:15px;line-height:1.35;font-weight:500;min-height:46px;border-radius:var(--km-ui-radius);padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal;text-transform:none;}
body #menuLogo nav>ul>li>a {font-size:14px;font-weight:500;line-height:1.4;}
body main :is(a,button,input,select,summary):focus-visible {outline:3px solid var(--km-ui-blue);outline-offset:3px;}
body .extrait_article_base.km-catalog-v2 article.km-product-card h3 {font-size:16px;line-height:1.5;min-height:72px;}
body .extrait_article_base.km-catalog-v2 article.km-product-card .cta {grid-template-columns:minmax(0,1fr);gap:8px;}
body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton {font-size:14px;line-height:1.35;min-height:46px;padding:10px 12px;border-radius:10px;}
body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton.reverse span {display:inline;}
body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton.reverse {background:var(--km-ui-blue);border-color:var(--km-ui-blue);color:#fff;}
body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton:not(.reverse) {background:transparent;border-color:#b8cbd9;color:var(--km-ui-ink);}
body .km-filter-v2 .km-choice,body .km-filter-v2 .km-filter-section summary {font-size:14px;}
body .km-filter-v2 .km-filter-options :is(input,select),body .km-filter-v2 .km-apply-button,body .km-simulator-filters :is(input:not([type=checkbox]),select,button) {font-size:15px;min-height:46px;}
body .km-filter-v2 .km-field-label,body .km-filter-v2 .km-budget-fields label,body .km-filter-v2 .km-filter-reset {font-size:13px;}
body .km-filter-v2 .km-filter-hint {font-size:12px;}
body .km-filter-v2 .km-filter-header h2 {font-size:22px;}
body .km-catalog-v2 #barSearch :is(input,select),body .km-catalog-v2 #searchBtn {min-height:46px;font-size:15px;}
body .km-catalog-v2 #searchBtn span {font-size:14px;}
body #panier_1 .quantites {min-width:0;}
body #panier_1 .quantites .qtes {display:grid!important;grid-template-columns:minmax(0,1fr) 28px;width:68px;max-width:100%;height:46px;border:1px solid var(--km-check-border);border-radius:10px;background:var(--km-check-surface);overflow:hidden;}
body #panier_1 .quantites .input_qtes {width:100%!important;min-width:0!important;height:44px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;font-size:16px;line-height:44px;box-shadow:none;}
body #panier_1 .quantites .btn_qte {position:static!important;width:28px!important;display:grid;grid-template-rows:1fr 1fr;}
body #panier_1 .btn_qte :is(.btn-qte-up,.btn-qte-down) {position:static!important;display:flex;align-items:center;justify-content:center;width:28px!important;min-width:0!important;height:22px!important;min-height:0!important;padding:0!important;margin:0!important;border:0;border-left:1px solid var(--km-check-border);background:var(--km-check-surface)!important;color:var(--km-ui-blue)!important;font-size:11px!important;line-height:1;}
body #panier_1 .btn_qte .btn-qte-down {border-top:1px solid var(--km-check-border);}
body #panier_1 .btn_qte button:hover {background:var(--km-check-soft);}
body #etapes .step .step_name .text {font-size:13px;line-height:1.4;}
[data-theme=dark] {--km-ui-ink:#e6f2fa;}
@media(max-width:767px){
 body main .bouton,body main .formulaire .bouton {font-size:14px;padding:11px 14px;}
 body .extrait_article_base.km-catalog-v2 article.km-product-card h3 {font-size:15px;min-height:0;}
 body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton {font-size:13px;min-height:44px;padding:9px 8px;}
 body #etapes>.d-flex {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 body #etapes .step .step_name .text {font-size:11px;overflow-wrap:normal;}
 body #etapes .step {width:auto;padding:10px 4px;}
}

/* Reserve space for the quantity control rather than squeezing it into a percentage column. */
body #panier_1 .km-cart-line-actions {display:grid;grid-template-columns:68px minmax(0,1fr) 44px;gap:12px;align-items:center;}
body #panier_1 .km-cart-line-actions>div {width:auto;max-width:none;}
body #panier_1 .km-cart-line-actions .suppr.icon {width:44px;padding:0;}
@media(max-width:991px){body #panier_1 .produit .row>div:has(>.km-cart-line-actions) {width:100%;max-width:100%;flex:0 0 100%;}body #panier_1 .produit .trait {display:block;margin:16px 0;}body #etapes .step .step_name .text {display:block;font-size:11px;}body #etapes .step .step_name .picto {display:block;margin:0 0 5px;}}

/* Delivery and payment reuse the basket's visual scale and native controls. */
body :is(#panier_1,#livraison_V2_1,#paiement_1) .bouton {font-size:15px!important;line-height:1.4!important;font-weight:500!important;min-height:46px;border-radius:10px;}
body #livraison_V2_1 .cadre {max-width:none!important;background:var(--km-check-surface)!important;color:var(--km-check-ink);border:1px solid var(--km-check-border)!important;border-radius:16px!important;padding:24px!important;margin-bottom:18px;box-shadow:0 6px 24px #142a4005;}
body #livraison_V2_1 .titre_cadre,body #paiement_1 .paiements .h3 {font-size:18px!important;font-weight:700!important;line-height:1.4;color:var(--km-check-ink)!important;margin-bottom:16px;}
body #livraison_V2_1 #choix_1_etape .form-check {gap:12px;padding:0;margin:0;}
body #livraison_V2_1 #choix_1_etape .form-check .picto {flex:0 0 50px;}
body #livraison_V2_1 #choix_1_etape .form-check .check {flex:0 0 20px;}
body #livraison_V2_1 #choix_1_etape .form-check .texte {flex:1;min-width:0;}
body #livraison_V2_1 #choix_1_etape .form-check label {font-size:15px;line-height:1.5;overflow-wrap:break-word;color:var(--km-check-ink);}
body #livraison_V2_1 #choix_1_etape .cadre:has(input:checked) {border-color:var(--km-check-accent)!important;background:color-mix(in srgb,var(--km-check-accent) 6%,var(--km-check-surface))!important;}
body #livraison_V2_1 .bouton.icon {width:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;}
body #livraison_V2_1 .suite .bouton.valid {min-height:50px;min-width:220px;max-width:100%;padding:12px 24px;}
body #paiement_1 .commande {border-top:3px solid var(--km-check-accent);}
body #paiement_1 .paiements .form-check {min-width:0;min-height:72px;gap:14px;}
body #paiement_1 .paiements .form-check label {min-width:0;font-size:15px;line-height:1.5;overflow-wrap:break-word;}
body #paiement_1 .paiements .form-check label img {flex:0 0 60px;max-width:60px;object-fit:contain;}
body #paiement_1 .cgv .form-check {display:flex;align-items:flex-start;gap:10px;padding:0;}
body #paiement_1 .cgv .check {flex:0 0 20px;}
body #paiement_1 .cgv label {font-size:14px;line-height:1.6;min-width:0;}
body #etapes a {display:block;min-width:0;}
body #etapes a .step {height:100%;}
@media(min-width:992px){body :is(#panier_1,#paiement_1)>.row>div:last-child {align-self:flex-start;position:sticky;top:88px;}}
@media(max-width:991px){body :is(#panier_1,#paiement_1) .grille:not(.recap) {display:none;}}
@media(max-width:767px){
 body #livraison_V2_1 .cadre {padding:16px!important;border-radius:12px!important;}
 body #livraison_V2_1 .suite .bouton.valid {width:100%;min-width:0;}
 body #livraison_V2_1 .titre_cadre,body #paiement_1 .paiements .h3 {font-size:17px!important;}
 body #paiement_1 .paiements .form-check {padding:12px;gap:12px;}
 body :is(#panier_1,#livraison_V2_1,#paiement_1) .bouton {font-size:14px!important;}
}

body #paiement_1 .cgv input.form-check-input {float:none!important;margin:3px 0 0!important;flex:0 0 20px;width:20px;height:20px;}

body #livraison_V2_1 .choix_livraison {max-width:none!important;background:var(--km-check-surface)!important;color:var(--km-check-ink);border:1px solid var(--km-check-border)!important;border-radius:16px!important;padding:24px!important;margin-bottom:18px;box-shadow:0 6px 24px #142a4005;}
body #livraison_V2_1 .choix_livraison>.form-check {gap:12px;padding:0;margin:0;align-items:center!important;}
body #livraison_V2_1 .choix_livraison .check {flex:0 0 32px;}
body #livraison_V2_1 .choix_livraison .desc {min-width:0;flex:1;overflow-wrap:break-word;}
body #livraison_V2_1 .choix_livraison .suite {flex:0 0 auto;display:flex;gap:8px;margin:0!important;}
body #livraison_V2_1 :is(.facture,.livraison)>.h3 {font-size:18px;font-weight:700;color:var(--km-check-ink);line-height:1.4;}
@media(max-width:767px){body #livraison_V2_1 .choix_livraison {padding:16px!important;border-radius:12px!important;}body #livraison_V2_1 .choix_livraison>.form-check {flex-wrap:wrap;}body #livraison_V2_1 .choix_livraison .desc {flex:1 1 150px;}body #livraison_V2_1 .choix_livraison .suite {margin-left:auto!important;}body #livraison_V2_1 :is(.facture,.livraison)>.h3 {font-size:17px;}}

body #modaladresse .modal-content {border:1px solid var(--km-check-border);border-radius:16px;overflow:hidden;background:var(--km-check-surface);color:var(--km-check-ink);}
body #modaladresse .modal-header {background:var(--km-check-surface)!important;color:var(--km-check-ink)!important;border-bottom:1px solid var(--km-check-border);padding:16px;gap:12px;}
body #modaladresse .modal-title {font-size:18px;font-weight:700;line-height:1.4;min-width:0;}
body #modaladresse .modal-header .close {flex:0 0 40px;width:40px;height:40px;font-size:22px;color:var(--km-check-ink)!important;}
body #modaladresse .modal-body {padding:20px;}
body #modaladresse .form-label {font-size:14px;font-weight:500;line-height:1.5;}
body #modaladresse .form-check-input {accent-color:var(--km-check-accent);width:20px;height:20px;}
body #modaladresse .rgpd {display:flex;gap:10px;align-items:flex-start;padding:0;}
body #modaladresse .rgpd input {float:none!important;margin:3px 0 0!important;flex:0 0 20px;}
body #modaladresse .rgpd label {font-size:13px;line-height:1.6;min-width:0;}
body #modaladresse .bouton {font-size:15px;min-height:48px;min-width:140px;border-radius:10px;padding:10px 20px;}
body.modal-open #gotop {display:none!important;}
@media(max-width:767px){body #modaladresse .modal-body {padding:16px;}body #modaladresse .modal-title {font-size:17px;}body #modaladresse .bouton {font-size:14px;}}

/* Product and accessory controls share the checkout scale; all labels remain native. */
body .mise_en_page.article_simulateur.km-product {--km-blue:var(--km-ui-blue);--km-ink:var(--km-ui-ink);}
body .mise_en_page.article_simulateur.km-product :is(.km-gallery,.banner .bandeau,.km-product-details,.km-product-highlights) {border-radius:16px;}
body .mise_en_page.article_simulateur.km-product .chapo {font-size:16px;line-height:1.7;}
body .mise_en_page.article_simulateur.km-product .banner .prix_ok {font-size:32px;line-height:1.3;}
body .mise_en_page.article_simulateur.km-product :is(#valid_btn,.km-mobile-add,.km-related-grid .bouton),body .mise_en_page.article_simulateur.km-sim .km-sim-button {font-size:15px!important;font-weight:500!important;line-height:1.4!important;border-radius:10px;background:var(--km-ui-blue);color:#fff;}
body .km-product #article_panier #valid_btn {height:48px!important;min-height:48px!important;}
body .km-product #article_panier .km-quantity-control {height:48px;}
body .km-product #article_panier .km-quantity-control button {height:46px;color:var(--km-ui-blue);}
body .km-product #article_panier #num {height:46px!important;line-height:46px;}
body .mise_en_page.article_simulateur.km-product .variante-group select {min-height:46px;font-size:16px;border-radius:10px;}
body .mise_en_page.article_simulateur.km-product .km-gallery-stage {aspect-ratio:1.15;display:grid;}
body .mise_en_page.article_simulateur.km-product .km-gallery-panel {grid-area:1/1;min-width:0;min-height:0;height:100%;}
body .mise_en_page.article_simulateur.km-product .km-gallery-panel>a {display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
body .mise_en_page.article_simulateur.km-product .km-gallery-panel :is(img,video) {width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;}
body .mise_en_page.article_simulateur.km-product .km-gallery-thumbs {grid-template-columns:repeat(auto-fill,minmax(64px,80px));justify-content:start;gap:8px;}
body .mise_en_page.article_simulateur.km-product .km-gallery-thumbs:has(>button:only-child) {display:none;}
body .mise_en_page.article_simulateur.km-product .km-gallery-thumbs button {width:100%;height:auto;max-width:80px;padding:5px;}
body .mise_en_page.article_simulateur.km-product .km-gallery-thumbs img {width:100%;height:64px;aspect-ratio:1;object-fit:contain;}
body .mise_en_page.article_simulateur.km-product .km-gallery-thumbs button span {font-size:12px;line-height:1.4;padding:4px 0 0;}
body .mise_en_page.article_simulateur.km-product .km-product-nav a {font-size:15px;min-height:46px;}
body .mise_en_page.article_simulateur.km-product .km-related-grid h3 {font-size:16px;line-height:1.5;}
body .mise_en_page.article_simulateur.km-product .km-related-grid .cta {display:grid;grid-template-columns:minmax(0,1fr);}
body .mise_en_page.article_simulateur.km-product .km-related-grid .cta .bouton {min-height:46px;width:100%;}
body .mise_en_page.article_simulateur.km-sim .km-option-bottom label {font-size:14px;min-height:44px;gap:10px;}
body .mise_en_page.article_simulateur.km-sim .km-option-bottom input[type=checkbox] {width:20px;height:20px;flex-shrink:0;accent-color:var(--km-ui-blue);}
body .mise_en_page.article_simulateur.km-sim :is(.km-sim-reset,.km-sim-cart-link) {font-size:14px!important;min-height:44px;display:inline-flex;align-items:center;}
body .mise_en_page.article_simulateur.km-sim .km-sim-search input {font-size:16px;min-height:46px;border-radius:10px;}
@media(max-width:767px){
 body .mise_en_page.article_simulateur.km-product :is(.km-gallery,.banner .bandeau,.km-product-details,.km-product-highlights) {border-radius:12px;}
 body .mise_en_page.article_simulateur.km-product :is(#valid_btn,.km-mobile-add,.km-related-grid .bouton),body .mise_en_page.article_simulateur.km-sim .km-sim-button {font-size:14px!important;}
 body .mise_en_page.article_simulateur.km-product .km-product-nav a {font-size:14px;}
 body .extrait_article_base.km-catalog-v2 article.km-product-card .cta .bouton {font-size:14px;min-height:46px;}
}

/* Simulator headings reuse the product hierarchy; native titles remain unchanged. */
body .mise_en_page.article_simulateur:is(.km-sim,.km-product) .titre h1 {font-size:var(--km-ui-h1)!important;line-height:1.15;font-weight:500;letter-spacing:-.025em;color:var(--color1,var(--km-ui-blue));margin:0 0 24px!important;overflow-wrap:break-word;}
body .mise_en_page.article_simulateur:is(.km-sim,.km-product) .titre h1 .sous-titre {display:block;font-size:22px;font-weight:400;line-height:1.5;letter-spacing:normal;color:inherit;margin-top:10px;}
body .mise_en_page.article_simulateur.km-sim :is(h2,.h2) {font-size:var(--km-ui-h2)!important;line-height:1.3;font-weight:700;letter-spacing:-.015em;}
body .mise_en_page.article_simulateur.km-sim .km-option h3 {font-size:16px;line-height:1.5;font-weight:600;}
body .mise_en_page.article_simulateur.km-sim .km-sim-eyebrow {font-size:14px!important;font-weight:600;letter-spacing:.09em;color:var(--km-ui-blue);}
body .mise_en_page.article_simulateur.km-sim .km-sim-summary .km-sim-eyebrow {color:#91bded;}
@media(max-width:767px){body .mise_en_page.article_simulateur:is(.km-sim,.km-product) .titre h1 .sous-titre {font-size:18px;}body .mise_en_page.article_simulateur.km-sim .km-option h3 {font-size:15px;}}
