/* Robera — présentation du panier et de la commande uniquement. */
body:has(.rb-checkout-steps){background:#f5f6f2;color:#202b24}
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home){display:block;padding-top:28px;padding-bottom:18px;background:#f5f6f2}
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home) figure{display:none}
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home) .content h1{font-size:32px;margin-bottom:10px}
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home) .content h1 .sous-titre{display:inline;font-size:inherit;color:inherit}
body:has(.rb-checkout-steps) .zone_hero{background:#f5f6f2;margin-bottom:8px}
#etapes.rb-checkout-steps{margin:0 0 28px;padding:12px 0;background:none}
#etapes.rb-checkout-steps>.d-flex{gap:8px;justify-content:space-between!important}
#etapes.rb-checkout-steps .trait{flex:1;height:1px;background:#d2dbce;min-width:8px;max-width:70px}
#etapes.rb-checkout-steps .trait i{display:none}
#etapes.rb-checkout-steps .step{padding:0;min-width:0;width:auto;background:none;border:0;border-radius:0;color:#667162}
#etapes.rb-checkout-steps .step .step_name{display:flex;align-items:center;gap:9px;padding:0;font-size:14px;white-space:nowrap;background:none;color:inherit}
#etapes.rb-checkout-steps .step .picto{display:grid;place-items:center;width:32px;height:32px;border:1px solid #c7d0c3;border-radius:50%;background:#fff;font:600 14px/1 Arial;color:#58674f;margin:0}
#etapes.rb-checkout-steps .step.active{color:#223d2b;font-weight:700}
#etapes.rb-checkout-steps .step.active .picto{color:white;background:#294d35;border-color:#294d35}
#etapes.rb-checkout-steps a{text-decoration:none;color:#314d32}
#etapes.rb-checkout-steps a .picto{background:#e7eedf;border-color:#c8d7bc;color:#294d35}
#panier_1,#paiement_1,#livraison_V2_1{font-size:16px;line-height:1.55;color:#25332a}
:is(#panier_1,#paiement_1)>.row{--bs-gutter-x:28px;--bs-gutter-y:24px}
:is(#panier_1,#paiement_1) .grille{background:transparent;border:0;color:#586451;padding:0 14px 12px;margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
:is(#panier_1,#paiement_1) .grille .text{color:inherit;font-size:12px;text-align:left;font-weight:600}
:is(#panier_1,#paiement_1) fieldset.produit{background:white;border:1px solid #dbe2d6;border-radius:16px;padding:22px 18px;margin:0 0 16px;box-shadow:0 4px 16px #1e382006}
:is(#panier_1,#paiement_1) fieldset.produit figure{margin:0;background:#fff;border-radius:12px;overflow:hidden}
:is(#panier_1,#paiement_1) fieldset.produit img{object-fit:contain;width:100%;height:auto;max-height:150px}
:is(#panier_1,#paiement_1) fieldset.produit .titre a{font-size:17px;font-weight:600;line-height:1.4;color:#233e2b;text-decoration:none}
:is(#panier_1,#paiement_1) fieldset.produit .titre{margin-bottom:5px}
:is(#panier_1,#paiement_1) fieldset.produit .variante{font-size:13px;color:#66725e;margin:4px 0}
:is(#panier_1,#paiement_1) fieldset.produit .desc{font-size:13px;color:#63705c;line-height:1.5;margin-top:8px}
:is(#panier_1,#paiement_1) .rb-unit-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#627058;margin-top:10px}
:is(#panier_1,#paiement_1) .prix_unit .prix_ok{color:#263e2c;font-size:16px;line-height:1.4;font-weight:600}
:is(#panier_1,#paiement_1) .total.ttc{font-size:18px;color:#263e2c;font-weight:700;white-space:nowrap}
:is(#panier_1,#paiement_1) sup{font-size:10px;top:0;vertical-align:baseline;font-weight:500}
#panier_1 .quantites .qtes{border:1px solid #b8c8af;border-radius:8px;overflow:hidden;display:flex;background:white;max-width:92px}
#panier_1 .quantites .qtes input{width:48px;min-width:0;height:48px;border:0;border-radius:0;text-align:center;padding:4px;color:#213924;background:white;font-size:16px}
#panier_1 .quantites .qtes .btn_qte{width:32px;display:flex;flex-direction:column;position:static;flex-shrink:0}
#panier_1 .quantites .qtes .btn_qte button{height:24px;width:32px;position:static;background:#eaf0e2;color:#294d35;border:0;line-height:24px;padding:0}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton{border-radius:9px;padding:12px 18px;line-height:1.35;text-transform:none;font-size:14px;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton.valid{background:#2d5134;color:#fff;border:1px solid #2d5134;font-weight:600}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton.valid:hover{background:#1d3924;border-color:#1d3924}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton.reverse{background:#fff;color:#294c32;border:1px solid #bacab1}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton.suppr{color:#97513c;background:#fff;border:1px solid #e6cfc6}
#panier_1 .produit .suppr .bouton{padding:0;width:40px;min-height:40px}
#panier_1 .infos{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:10px 0 26px}
#panier_1 .infos .bouton{margin:0;font-size:13px}
#panier_1 .commentaire{background:transparent;border:0;padding:0;margin-top:22px}
#panier_1 .commentaire .h3{display:block;font-size:16px;margin-bottom:10px;color:#35492e}
#panier_1 .commentaire small{font-size:13px;font-weight:400;color:#65725d}
#panier_1 .form-control{font-size:16px;border:1px solid #c9d5c1;border-radius:8px;background:#fff;min-height:44px}
#panier_1 textarea.form-control{padding:14px;min-height:90px;height:auto}
:is(#panier_1,#paiement_1) .rb-order-side>.grille{padding:19px 24px;background:#e7eddf;border:1px solid #cfdbc4;border-bottom:0;border-radius:16px 16px 0 0;margin:0}
:is(#panier_1,#paiement_1) .rb-order-side>.grille .text{font-size:18px;letter-spacing:0;text-transform:none;color:#263e2c;font-weight:600}
:is(#panier_1,#paiement_1) .commande{border:1px solid #cfdbc4;border-top:0;background:#fff;border-radius:0 0 16px 16px;padding:24px;box-shadow:0 10px 30px #223b2210}
:is(#panier_1,#paiement_1) .commande .recap>.row{align-items:center!important;gap:8px;flex-wrap:nowrap;margin-bottom:14px}
:is(#panier_1,#paiement_1) .commande .recap .col{min-width:0}
:is(#panier_1,#paiement_1) .commande .recap .col:last-child{flex:0 0 auto;width:auto;max-width:65%;text-align:right}
:is(#panier_1,#paiement_1) .commande .info{font-size:16px;white-space:nowrap;color:#263e2c;font-weight:600}
:is(#panier_1,#paiement_1) .commande .recap>.row:last-child .info{font-size:24px;font-weight:700;color:#233e2b}
:is(#panier_1,#paiement_1) .commande .recap .text{font-size:14px;color:#526049}
:is(#panier_1,#paiement_1) .commande .suite{margin-top:22px;text-align:center}
:is(#panier_1,#paiement_1) .commande .suite>.bouton{width:100%;white-space:normal}
#panier_1 .rb-shipping-note,#panier_1 .rb-checkout-note{font-size:13px;line-height:1.55;color:#64715d;margin:14px 0}
#panier_1 .coupon{border-top:1px solid #e0e6da;padding-top:18px;margin-top:18px}
#panier_1 .code_promo .titre{font-size:13px;color:#46583c;margin-bottom:8px}
#panier_1 .coupon .input-group{flex-wrap:nowrap}
#panier_1 .coupon .input-group input{min-width:0}
#panier_1 .coupon .input-group .bouton{font-size:13px;padding:8px 12px}
#panier_1 .rb-continue-shopping,#paiement_1 .rb-edit-cart{color:#365c2c;text-decoration:underline;text-underline-offset:4px;font-size:14px}
#paiement_1 .rb-edit-cart{display:inline-block;margin:0 0 22px}
:is(#panier_1,#paiement_1,#livraison_V2_1) .bouton:disabled{opacity:.5;cursor:not-allowed}
#paiement_1 :is(.paiements,.adresses,.infos_livraison){background:white;border:1px solid #dbe2d6;border-radius:16px;padding:24px;margin-bottom:20px}
#paiement_1 .h3,#livraison_V2_1 .h3{font-size:19px;line-height:1.4;color:#2d432f;margin-bottom:18px}
#paiement_1 .paiements .form-check{display:flex;align-items:center;gap:12px;border:1px solid #ccd8c2;border-radius:10px;padding:12px 16px;background:#fafbf8;margin:4px 0}
#paiement_1 .paiements .form-check:has(input:checked){border-color:#52753e;background:#edf4e7;box-shadow:0 0 0 1px #52753e}
#paiement_1 .paiements .form-check .form-check-input{float:none;margin:0;width:20px;height:20px;cursor:pointer}
#paiement_1 .paiements label{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:44px}
#paiement_1 .paiements label img{width:42px;height:42px;object-fit:contain}
#paiement_1 .rb-payment-name{font-size:16px;font-weight:600;color:#2d432f}
#paiement_1 .cgv{font-size:14px;line-height:1.65;padding:8px 0}
#paiement_1 .cgv a{color:#365c2c;text-decoration:underline}
#paiement_1 .commande .livraison{align-items:center;gap:12px}
#paiement_1 .commande .livraisons .titre{font-size:14px;color:#627258;margin-bottom:12px}
#paiement_1 .commande .livraison .nom{font-size:14px;font-weight:600}
#paiement_1 .commande .livraison .desc{font-size:13px;color:#65725d}
:is(#panier_1,#paiement_1,#livraison_V2_1) hr{color:#d7dfd0}
#livraison_V2_1 .rb-delivery-intro{font-size:15px;color:#596c4e;margin:0 0 24px}
#livraison_V2_1 :is(.cadre,.adresse){border-color:#d2ddca!important;border-radius:12px;background:white;padding:20px}
#livraison_V2_1 .cadre:has(input[type=radio]:checked){border-color:#50743c!important;background:#f0f5e9;box-shadow:0 0 0 1px #50743c}
#livraison_V2_1 .cadre .tarif{color:#3f642d;font-weight:600}
#livraison_V2_1 #choix_1_etape{background:#fff;border:1px solid #d5dfcd;border-radius:16px;padding:24px}
#livraison_V2_1 :is(#adresse_1_etape,#adresse_2_etapes){background:#fff;border:1px solid #d5dfcd;border-radius:16px;padding:24px}
#livraison_V2_1 .titre_cadre i{color:#4d7138!important}
#livraison_V2_1 .suite>.bouton.valid{min-width:270px}
#livraison_V2_1 .alert{border-radius:10px;font-size:15px;text-align:left}
:is(#panier_1,#paiement_1,#livraison_V2_1) .form-check-input:checked{background-color:#426333;border-color:#426333}
:is(#panier_1,#paiement_1,#livraison_V2_1) :is(a,button,input,textarea,select):focus-visible,#etapes.rb-checkout-steps a:focus-visible{outline:3px solid #688f3f;outline-offset:3px;box-shadow:none}
@media(min-width:992px){:is(#panier_1,#paiement_1) .rb-order-side{align-self:flex-start;position:sticky;top:24px}}
@media(max-width:1199px){:is(#panier_1,#paiement_1) .commande{padding:18px}:is(#panier_1,#paiement_1) .commande .recap>.row:last-child .info{font-size:21px}}
@media(max-width:767px){
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home){padding-top:24px;padding-bottom:14px}
body:has(.rb-checkout-steps) .hero_h1_inter:not(.home) .content h1{font-size:27px}
#etapes.rb-checkout-steps{margin-bottom:20px;padding:8px 0}
#etapes.rb-checkout-steps>.d-flex{gap:3px}
#etapes.rb-checkout-steps .trait{display:none}
#etapes.rb-checkout-steps .step .step_name{flex-direction:column;gap:6px;font-size:10px}
#etapes.rb-checkout-steps .step .picto{width:28px;height:28px;font-size:12px}
:is(#panier_1,#paiement_1) .rb-order-main>.grille{display:none}
:is(#panier_1,#paiement_1) fieldset.produit{padding:16px}
:is(#panier_1,#paiement_1) fieldset.produit .titre a{font-size:15px}
:is(#panier_1,#paiement_1) fieldset.produit .desc{font-size:12px}
:is(#panier_1,#paiement_1) .total.ttc{font-size:18px}
#panier_1 .infos{justify-content:flex-start;gap:8px}
#panier_1 .infos .bouton{font-size:12px;padding:10px 12px}
#paiement_1 .quantites .texte{display:inline}
#livraison_V2_1 :is(#adresse_1_etape,#adresse_2_etapes,#choix_1_etape){padding:18px;margin-bottom:20px}
#livraison_V2_1 .suite>.bouton.valid{width:100%;min-width:0}
#paiement_1 :is(.paiements,.adresses,.infos_livraison){padding:18px}
}
/* Garder le nom des étapes visible aussi sur téléphone. */
#etapes.rb-checkout-steps .step .text{display:inline!important}
#panier_1 details.rb-comment{margin-top:24px;color:#425837}
#panier_1 details.rb-comment>summary{cursor:pointer;font-size:14px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}
#panier_1 details.rb-comment .commentaire{margin-top:8px}
@media(max-width:767px){#etapes.rb-checkout-steps .step .text{font-size:10px}#panier_1 details.rb-comment{margin-top:10px}}
@media(max-width:767px){:is(#panier_1,#paiement_1)>.row{--bs-gutter-x:24px}}
#paiement_1 .commande .recap .info.ttc,#panier_1 .commande .recap .info.ttc{color:#263e2c}
#panier_1 .produit .quantites .qtes .btn_qte .btn-qte-up,#panier_1 .produit .quantites .qtes .btn_qte .btn-qte-down{background:#e7eedf;color:#284b32}
#livraison_V2_1 .form-check-label .tarif{color:#3f642d!important}
#livraison_V2_1 .bouton:not(.reverse):not(.suppr):not(.valid){background:#345334;color:white;border-color:#345334}
/* Contrôles tactiles : les anciennes flèches étaient trop petites. */
@media(max-width:767px){
#panier_1 .produit .row.gx-0>.col-3:has(.quantites){width:100%;flex:0 0 100%;margin-bottom:14px}
#panier_1 .produit .quantites{display:flex;align-items:center;justify-content:space-between;gap:12px}
#panier_1 .produit .quantites::before{content:"Quantité";font-size:14px;color:#526049}
#panier_1 .produit .quantites .form-group{margin:0}
#panier_1 .produit .quantites .qtes{display:flex;width:140px;max-width:none;align-items:center}
#panier_1 .produit .quantites .qtes input{order:2;width:50px;height:46px;flex:0 0 50px}
#panier_1 .produit .quantites .qtes .btn_qte{display:contents}
#panier_1 .produit .quantites .qtes .btn_qte button{position:static!important;transform:none!important;width:44px!important;height:46px!important;line-height:46px!important;flex:0 0 44px;padding:0!important;float:none!important;font-size:17px}
#panier_1 .produit .quantites .qtes .btn_qte .btn-qte-down{order:1}
#panier_1 .produit .quantites .qtes .btn_qte .btn-qte-up{order:3}
#panier_1 .produit .row.gx-0>.col-6{width:75%;flex:0 0 75%;text-align:left!important}
#panier_1 .produit .suppr .bouton{width:44px;min-height:44px}
#livraison_V2_1 :is(.bouton,.no-bouton){min-height:44px;min-width:44px}
#livraison_V2_1 .form-control,#livraison_V2_1 .form-select{font-size:16px;min-height:44px}
}
@media(max-width:767px){
:is(#panier_1,#paiement_1) :is(fieldset.produit,.commande,.rb-order-side>.grille,.paiements,.adresses,.infos_livraison){width:100%;max-width:none;margin-left:0;margin-right:0;box-sizing:border-box}
}
