/* Tunnel, compte, rétractation (lot L4). Variables et boutons de site.css ; rien ne change le design validé. */
.tun{padding-bottom:64px;display:flex;flex-direction:column;gap:18px}
.tun-h3{font:800 20px/1.15 var(--titre);color:var(--texte);margin:0 0 12px}
.tun-etapes{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0;font-size:14px;color:var(--texte-3)}
.tun-etapes li span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--creme-2);font-weight:700;margin-right:4px}
.tun-etapes .courante{color:var(--texte);font-weight:700}
.tun-etapes .courante span{background:var(--bordeaux);color:var(--blanc)}
.tun-etapes .faite span{background:var(--creme);color:var(--bordeaux)}
.tun-colonnes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;align-items:start}
.tun-recap{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
.tun-carte{background:var(--blanc);border:1px solid var(--creme-2);border-radius:22px;padding:22px;box-shadow:0 10px 24px -18px rgba(128,44,51,.45)}
.tun-large{max-width:860px}
.tun-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:0 14px}
.tun-champ{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.tun-champ label{font-weight:600;font-size:14px}
.tun-champ small,.tun-gris{color:var(--texte-3);font-size:13px}
.tun-champ input,.tun-champ select,.tun-champ textarea,.tun-retour select{font:inherit;color:var(--texte);border:1.5px solid var(--creme-2);border-radius:12px;padding:10px 12px;background:var(--blanc);min-height:44px}
.tun-champ input:focus,.tun-champ select:focus,.tun-champ textarea:focus{border-color:var(--bordeaux);outline:none;box-shadow:0 0 0 3px rgba(226,101,0,.25)}
.en-erreur input,.en-erreur select{border-color:#B3261E}
.tun-err{color:#B3261E;font-size:13px;font-weight:600}
.tun-erreur,.tun-info{margin:0;padding:12px 16px;border-radius:14px;font-weight:600}
.tun-erreur{background:#FCE8E6;color:#8C1D18}
.tun-info{background:var(--creme);color:var(--texte)}
.tun-case{display:flex;gap:10px;align-items:flex-start;margin:12px 0}
.tun-case input{width:20px;height:20px;margin-top:2px;accent-color:var(--bordeaux);flex:none}
.tun-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 0}
.tun-details{margin:4px 0 14px}
.tun-details summary{cursor:pointer;font-weight:600;color:var(--bordeaux)}
fieldset{border:0;margin:0;padding:0}
.tun-mode{display:flex;align-items:center;gap:12px;border:1.5px solid var(--creme-2);border-radius:14px;padding:12px 14px;margin:0 0 10px;cursor:pointer}
.tun-mode:has(input:checked){border-color:var(--bordeaux);background:#FFF9F0}
.tun-mode input{accent-color:var(--bordeaux);width:20px;height:20px;flex:none}
.tun-mode-nom{flex:1;font-weight:600}
.tun-mode-nom small{display:block;font-weight:400;color:var(--texte-3)}
.tun-mode-prix{font:800 17px var(--titre)}
.tun-table{width:100%;border-collapse:collapse;font-size:15px}
.tun-table th{text-align:left;font-size:13px;color:var(--texte-3);border-bottom:1.5px solid var(--creme-2);padding:8px 6px}
.tun-table td{border-bottom:1px solid var(--creme);padding:10px 6px;vertical-align:top}
.tun-table .num{text-align:right;white-space:nowrap}
.tun-remise{color:var(--orange);font-size:13px;font-weight:700}
.tun-totaux{margin:12px 0 0}
.tun-totaux div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.tun-totaux dt,.tun-totaux dd{margin:0}
.tun-total{border-top:1.5px solid var(--creme-2);margin-top:6px;padding-top:10px!important;font:900 22px var(--titre);color:var(--bordeaux)}
.tun-paiement{position:sticky;top:16px}
.tun-commander{width:100%;min-height:54px;font-size:16px}
.tun-commander:disabled{opacity:.5;cursor:not-allowed}
.tun-fermeture{background:var(--creme);border-left:4px solid var(--orange);border-radius:12px;padding:10px 14px;margin:14px 0}
.tun-fermeture p{margin:4px 0}
.tun-precontractuel ul{margin:0;padding-left:18px;font-size:14px;display:grid;gap:6px}
.tun-virement{background:var(--creme);border-radius:16px;padding:14px 18px;margin:0;max-width:640px}
.tun-virement div{display:flex;gap:12px;padding:4px 0}
.tun-virement dt{min-width:120px;color:var(--texte-3);margin:0}
.tun-virement dd{margin:0}
.tun-retour{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--creme)}
.tun-retour label{flex:1}
.tun-retour input[type=checkbox]{width:20px;height:20px;accent-color:var(--bordeaux)}
.tun-adresse{border:1px solid var(--creme-2);border-radius:14px;padding:12px 14px;margin:0 0 12px}
.tun-adresse p{margin:0 0 6px}
.tun-lien{background:none;border:0;padding:0;color:var(--bordeaux);text-decoration:underline;font:inherit;cursor:pointer}
@media (max-width:760px){.tun-recap{grid-template-columns:minmax(0,1fr)}.tun-paiement{position:static}.tun-carte{padding:16px;border-radius:18px}.tun-table{font-size:14px}}
.tun-avantages{border-bottom:1px solid var(--creme-2);margin:0 0 14px;padding-bottom:6px}

/* Mon compte : lien vers la facture sur chaque ligne de commande */
.cmd-factures a{display:inline-block;margin-right:8px;white-space:nowrap}
.tun-defile{overflow-x:auto}
.cmd-recherche{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 14px}
.cmd-recherche label{flex:1 1 120px}
.cmd-recherche .cmd-q{flex:2 1 220px}
.cmd-recherche label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--texte-3)}
.cmd-recherche input,.cmd-recherche select{height:42px;border:1.5px solid var(--creme-2);border-radius:12px;padding:0 12px;font:inherit;font-size:15px;color:var(--texte);background:var(--blanc);min-width:0}
.cmd-recherche-btns{display:flex;gap:8px}
.cmd-trouvees{margin:0 0 8px;font-size:14px;color:var(--texte-3)}
@media (max-width:760px){.cmd-recherche .cmd-q{flex-basis:100%}.cmd-recherche label{flex-basis:40%}}
.cmd-astuce{display:flex;gap:10px;align-items:center;margin:0 0 12px;padding:10px 14px;border-radius:14px;background:var(--creme);font-size:14px}
.cmd-astuce-ico{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--bordeaux);color:var(--bordeaux);background:#fff;display:flex;align-items:center;justify-content:center}
.tun-cmds td{vertical-align:middle}
.cmd-act{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.cmd-recharger{margin:0}.cmd-recharger .oeil{width:36px;height:36px}

/* Mes commandes : tableau mis en forme (ordinateur), cartes compactes (téléphone) */
.tun-cmds{border-collapse:separate;border-spacing:0}
.tun-cmds thead th{background:var(--creme);color:var(--texte-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:0;padding:10px 12px}
.tun-cmds thead th:first-child{border-radius:12px 0 0 12px}.tun-cmds thead th:last-child{border-radius:0 12px 12px 0}
.tun-cmds td{padding:12px;border-bottom:1px solid var(--creme)}
.tun-cmds tbody tr{transition:background .15s}
.tun-cmds tbody tr:hover{background:#FFFAF2}
.tun-cmds .c-num a{font-weight:700;color:var(--bordeaux);text-decoration:none}
.tun-cmds .c-num a:hover{text-decoration:underline}
.tun-cmds .c-date{color:var(--texte-2);white-space:nowrap}
.tun-cmds .c-total{font-weight:700}
.statut{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--creme);color:var(--texte-2)}
.st-expediee,.st-livree{background:#E6F4EA;color:#1F6B35}
.st-payee,.st-en_preparation,.st-expediee_partiellement{background:#FFF1DC;color:#8A5300}
.st-en_attente_paiement,.st-attente_virement,.st-en_attente_stock,.st-incident{background:#FDE8E8;color:#9B2226}
.st-annulee,.st-remboursee{background:#EFEFEF;color:#555}
.cmd-factures a{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#FFF7EA;border:1px solid var(--creme-2);font-size:13px;text-decoration:none;color:var(--bordeaux)}
.cmd-factures a:hover{background:var(--creme)}
.cmd-factures a.tun-gris{color:var(--texte-3)}
@media (max-width:760px){
  .tun-defile{overflow:visible}
  .tun-cmds,.tun-cmds tbody{display:block}
  .tun-cmds thead{display:none}
  .tun-cmds tbody tr{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"num num act" "date statut total" "fact fact fact";align-items:center;gap:6px 10px;padding:12px 14px;margin-bottom:10px;border:1px solid var(--creme-2);border-radius:16px;background:var(--blanc)}
  .tun-cmds td{display:block;padding:0;border:0}
  .tun-cmds td.c-statut{display:block!important}
  .tun-cmds .c-num{grid-area:num;font-size:16px}.tun-cmds .c-total{grid-area:total;text-align:right}
  .tun-cmds .c-date{grid-area:date;font-size:13px}.tun-cmds .c-statut{grid-area:statut}
  .tun-cmds .c-fact{grid-area:fact}.tun-cmds .c-act{grid-area:act}
}

/* Recharger : bulle immédiate, calée à droite du bouton (sinon coupée par le bord du tableau), au survol ou au focus, la flèche plonge dans le panier qui rebondit */
.cmd-recharger{position:relative}
.cmd-recharger .bulle{position:absolute;right:-4px;bottom:calc(100% + 9px);transform:translateY(4px);background:var(--bordeaux);color:var(--blanc);font:600 12px/1 var(--corps);padding:7px 11px;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;box-shadow:0 8px 18px -8px rgba(58,36,34,.6);z-index:5}
.cmd-recharger .bulle::after{content:"";position:absolute;right:17px;top:100%;border:5px solid transparent;border-top-color:var(--bordeaux)}
.cmd-recharger:hover .bulle,.cmd-recharger:focus-within .bulle{opacity:1;transform:translateY(0)}
.ico-panier{overflow:visible}.ico-panier .sac{transform-origin:50% 100%;transform-box:fill-box}
.cmd-recharger:hover .fleche,.cmd-recharger:focus-within .fleche{animation:plonge 1.1s cubic-bezier(.5,0,.6,1) infinite}
.cmd-recharger:hover .sac,.cmd-recharger:focus-within .sac{animation:rebond 1.1s ease-out infinite}
.cmd-recharger:hover .oeil,.cmd-recharger:focus-within .oeil{background:var(--creme)}
@keyframes plonge{0%{opacity:0;transform:translateY(-9px)}25%{opacity:1}60%{opacity:1;transform:translateY(0)}85%,100%{opacity:0;transform:translateY(2px)}}
@keyframes rebond{0%,55%,100%{transform:scale(1)}66%{transform:scale(1.08,.9)}78%{transform:scale(.97,1.04)}88%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.cmd-recharger .fleche,.cmd-recharger .sac{animation:none!important}}

/* Aperçu d'une commande : ouverture au clic ou au toucher (JS), bouton Fermer ; sur téléphone, panneau en bas avec fond grisé */
.oeil-zone.ouvert .apercu-cmd{display:block}
.apercu-titre{display:flex;justify-content:space-between;align-items:center;gap:10px}
.apercu-fermer{flex:none;white-space:nowrap;border:0;background:var(--creme);color:var(--bordeaux);font:600 13px/1 var(--corps);padding:7px 12px;border-radius:999px;cursor:pointer}
.apercu-fermer:hover{background:var(--creme-2)}
@media (max-width:760px){
  .oeil-cellule .apercu-cmd{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:65vh;border-radius:20px 20px 0 0;padding:0 16px 18px;z-index:60;box-shadow:0 -10px 40px rgba(60,20,20,.3)}
  .apercu-cmd .apercu-titre{position:sticky;top:0;background:#fff;margin:0 -16px 10px;padding:14px 16px 10px;border-bottom:1px solid var(--creme)}
  .oeil-zone.ouvert::before{content:"";position:fixed;inset:0;background:rgba(40,20,20,.38);z-index:55}
  .oeil-zone:not(.ouvert):hover .apercu-cmd{display:none}
}
.tun-annuler{margin:18px 0}.tun-annuler summary{cursor:pointer;font-weight:600;color:var(--bordeaux,#802C33)}.tun-annuler form{margin-top:12px}

/* Adresses en tuiles (étape 2 du tunnel, Mon compte) : choix par boutons radio, pastilles allumées en CSS */
.adr{display:flex;flex-direction:column;gap:18px;max-width:860px}
.adr-intro{margin:0;color:var(--texte-3)}
.adr-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:14px}
.adr-tuile{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--blanc);border:1.5px solid var(--creme-2);border-radius:18px;padding:16px;margin:0;transition:border-color .15s,background .15s}
.adr-tuile:has(input:checked){border-color:var(--bordeaux);background:#FFF9F0;box-shadow:0 10px 24px -18px rgba(128,44,51,.6)}
.adr-tuile address{font-style:normal;line-height:1.5;flex:1}
.adr-pastilles{display:flex;flex-wrap:wrap;gap:6px;margin:0;min-height:24px}
.adr-p{display:none;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1.5px solid var(--creme-2);color:var(--texte-3);background:var(--blanc)}
.adr-p.adr-type{display:inline-flex}
.adr-tuile:has(.adr-btn-livraison input:checked) .adr-p-livraison{display:inline-flex;background:var(--orange);border-color:var(--orange);color:var(--sur-orange)}
.adr-tuile:has(.adr-btn-facturation input:checked) .adr-p-facturation{display:inline-flex;background:var(--bordeaux);border-color:var(--bordeaux);color:var(--blanc)}
.adr-choix{display:grid;gap:8px}
.adr-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:42px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--bordeaux);color:var(--bordeaux);font-weight:700;font-size:14px;text-align:center;cursor:pointer;background:var(--blanc)}
.adr-btn:hover{background:var(--creme)}
.adr-btn input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.adr-btn:has(input:focus-visible){outline:3px solid rgba(226,101,0,.45);outline-offset:2px}
.adr-on{display:none}
.adr-btn input:checked~.adr-off{display:none}
.adr-btn input:checked~.adr-on{display:inline}
.adr-btn input:checked~.adr-on::before{content:"\2713\00a0"}
.adr-btn:has(input:checked){background:var(--creme);border-color:var(--creme);color:var(--texte);font-weight:600;cursor:default}
.adr-modifier{align-self:flex-start;background:none;border:0;padding:4px 0;color:var(--bordeaux);text-decoration:underline;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.adr-actions{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.adr-actions form{margin:0}
.adr-ajout{align-items:center;justify-content:center;gap:8px;min-height:120px;border-style:dashed;border-color:#E9C98F;background:transparent;color:var(--bordeaux);font:700 15px var(--corps);cursor:pointer;text-decoration:none}
.adr-ajout:hover{background:var(--creme);border-color:var(--bordeaux)}
.adr-plus{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soleil);color:var(--sur-orange);font:800 24px/1 var(--titre)}
.adr-usage legend{font-weight:600;font-size:14px;margin:4px 0 0}
.adr-usage .tun-case{margin:8px 0}
@media (max-width:760px){.adr-grille{grid-template-columns:1fr}.adr-ajout{min-height:72px;flex-direction:row}}
.adr-p.adr-livraison{background:var(--orange);border-color:var(--orange);color:var(--sur-orange)}
.adr-p.adr-facturation{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--blanc)}
.adr-actions .adr-btn{text-decoration:none;min-height:38px;padding:4px 18px}

/* Points relais : carte Leaflet à côté de la liste (amélioration, la liste suffit sans JavaScript) */
.relais-num{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--creme-2);color:var(--bordeaux);font-weight:700;font-size:13px}
.tun-mode:has(input:checked) .relais-num{background:var(--bordeaux);color:var(--blanc)}
.relais-carte{height:300px;border-radius:14px;margin:0 0 14px;z-index:0}
.relais-repere span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blanc);color:var(--bordeaux);border:2px solid var(--bordeaux);font-weight:700;font-size:13px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.relais-repere-choisi span{background:var(--bordeaux);color:var(--blanc);transform:scale(1.15)}
@media (min-width:900px){
  .tun-large.relais-avec-carte{max-width:1200px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px;align-items:start}
  .relais-avec-carte > input[type=hidden]{display:none}
  .relais-avec-carte .relais-carte{grid-column:2;grid-row:1 / span 3;position:sticky;top:90px;height:520px;margin:0}
  .relais-avec-carte .relais-liste,.relais-avec-carte .tun-err,.relais-avec-carte .tun-actions{grid-column:1}
}
.relais-maison svg{display:block;width:34px;height:34px;padding:6px;border-radius:50%;background:var(--orange);fill:var(--blanc);border:2px solid var(--blanc);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.relais-autour{padding:12px 18px}
.relais-autour>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.relais-autour>summary::-webkit-details-marker{display:none}
.relais-autour-texte{color:var(--texte-2)}
.relais-autour-lien{flex:none;font-weight:600;color:var(--bordeaux);text-decoration:underline}
.relais-autour[open]>summary{margin-bottom:12px}
.relais-autour[open] .relais-autour-lien{visibility:hidden}
/* Points relais : choix (label) et pastille horloge côte à côte ; horaires dans une fenêtre (survol ou toucher) */
.relais-ligne{align-items:flex-start;gap:0;padding:0;cursor:default}
.relais-choix{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:12px 14px;cursor:pointer}
.relais-choix input{accent-color:var(--bordeaux);width:20px;height:20px;flex:none}
.relais-horaires{flex:none;position:relative;padding:12px 12px 0 0}
.relais-horaires>summary{list-style:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--creme);border:1.5px solid var(--creme-2);cursor:pointer}
.relais-horaires>summary::-webkit-details-marker{display:none}
.relais-horaires>summary svg{width:20px;height:20px;fill:none;stroke:var(--bordeaux);stroke-width:2;stroke-linecap:round}
.relais-horaires[open]>summary,.relais-horaires>summary:hover,.relais-horaires>summary:focus-visible{background:var(--bordeaux);border-color:var(--bordeaux)}
.relais-horaires[open]>summary svg,.relais-horaires>summary:hover svg,.relais-horaires>summary:focus-visible svg{stroke:var(--blanc)}
.relais-horaires-fenetre{position:absolute;right:12px;top:52px;z-index:20;width:250px;background:var(--blanc);border:1.5px solid var(--creme-2);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:12px 14px}
.relais-horaires-titre{margin:0 0 6px;font-weight:700;color:var(--texte);font-size:14px}
.horaires{border-collapse:collapse;width:100%;font-size:14px}
.horaires th{text-align:left;font-weight:600;padding:3px 10px 3px 0;white-space:nowrap;color:var(--texte-2)}
.horaires td{padding:3px 0;color:var(--texte)}
.horaires th,.horaires td{vertical-align:top}

/* Étape 4 « Vérifiez votre commande » : deux colonnes, la caisse collée à droite ; un seul niveau de cadre */
.rc-colonnes{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.rc-gauche{display:grid;gap:18px}
.rc-bloc{background:var(--blanc);border:1.5px solid var(--creme-2);border-radius:20px;padding:20px 22px}
.rc-tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.rc-tete a{font-size:14px;font-weight:600;color:var(--bordeaux)}
.rc-h{margin:0;font-size:18px;color:var(--texte)}
.rc-compte{font-weight:500;color:var(--texte-3)}
.rc-articles{list-style:none;margin:0;padding:0}
.rc-articles li{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--creme)}
.rc-articles li:first-child{border-top:0;padding-top:0}
.rc-vignette{width:44px;height:58px;border-radius:10px;background:var(--creme);display:grid;place-items:center;overflow:hidden}
.rc-vignette img{width:100%;height:100%;object-fit:contain}
.rc-article{display:flex;flex-direction:column;gap:2px;min-width:0}
.rc-nom{font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-detail{font-size:13px;color:var(--texte-3)}
.rc-remise{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--orange);color:var(--blanc);font-weight:700;font-size:12px}
.rc-scelle{font-size:12.5px;color:var(--texte-3)}
.rc-qte{font-size:13px;color:var(--texte-3);white-space:nowrap}
.rc-montant{font-weight:700;white-space:nowrap;min-width:70px;text-align:right}
.rc-adresses{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.rc-adresse + .rc-adresse{border-left:1px solid var(--creme);padding-left:28px}
.rc-mode{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-weight:600}
.rc-mode svg{flex:none;width:22px;height:22px;color:var(--bordeaux)}
.rc-mode small{display:block;font-weight:400;font-size:13px;color:var(--texte-3)}
.rc-texte{margin:0 0 8px;line-height:1.5}
.rc-discret{color:var(--texte-3);font-size:13.5px}
.rc-legal{padding:0 4px;font-size:14px;color:var(--texte-2)}
.rc-legal summary{cursor:pointer;font-weight:600;color:var(--bordeaux);width:fit-content}
.rc-legal ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px;line-height:1.5}
.rc-caisse{position:sticky;top:16px;display:grid;gap:16px}
.rc-avantages{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--creme)}
.rc-avantage{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-weight:600}
.rc-avantage input{accent-color:var(--bordeaux);width:18px;height:18px;margin-top:2px;flex:none}
.rc-avantage small{display:block;font-weight:400;font-size:13px;color:var(--texte-3)}
.rc-totaux{margin:0;display:grid;gap:6px}
.rc-totaux div{display:flex;justify-content:space-between;gap:12px}
.rc-totaux dt,.rc-totaux dd{margin:0}
.rc-gain dd{color:var(--bordeaux);font-weight:600}
.rc-total{margin-top:6px;padding-top:12px;border-top:1px solid var(--creme);font-size:22px;font-weight:800;color:var(--texte)}
.rc-moyens{border:0;margin:0;padding:0;display:grid;gap:8px}
.rc-moyens legend{margin-bottom:8px}
.rc-moyen{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid var(--creme-2);border-radius:14px;cursor:pointer}
.rc-moyen:has(input:checked){border-color:var(--bordeaux);background:#FFF9F0}
.rc-moyen input{accent-color:var(--bordeaux);width:18px;height:18px;flex:none}
.rc-moyen-txt{display:flex;flex-direction:column;gap:6px;font-weight:600}
.rc-moyen-txt small{font-weight:400;font-size:13px;color:var(--texte-3)}
.rc-logos{display:flex;flex-wrap:wrap;gap:4px}
.rc-logos img{display:block;border-radius:4px;box-shadow:0 0 0 1px #F1DCC4}
.rc-cgv{display:flex;gap:10px;align-items:flex-start;margin:4px 0 0;font-size:14.5px}
.rc-cgv input{accent-color:var(--bordeaux);width:18px;height:18px;margin-top:2px;flex:none}
.rc-payer{display:grid;gap:12px}
.rc-payer .tun-commander{margin:0}
.rc-securite{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;color:var(--texte-3)}
.rc-securite svg{flex:none;width:16px;height:16px;margin-top:1px;fill:none;stroke:var(--bordeaux);stroke-width:2;stroke-linecap:round}
@media (max-width:900px){
  .rc-colonnes{grid-template-columns:1fr}
  .rc-caisse{position:static}
}
@media (max-width:560px){
  .rc-bloc{padding:16px;border-radius:18px}
  .rc-adresses{grid-template-columns:1fr}
  .rc-adresse + .rc-adresse{border-left:0;padding-left:0;border-top:1px solid var(--creme);padding-top:14px;margin-top:6px}
  .rc-articles li{grid-template-columns:40px minmax(0,1fr) auto;gap:10px}
  .rc-qte{grid-column:2;grid-row:2;margin-top:-6px}
  .rc-montant{grid-column:3;grid-row:1}
}
.rc-franco{display:grid;gap:8px}
.rc-franco .franco-jauge{margin:0}
.rc-franco>a{justify-self:start;font-size:14px;font-weight:600;color:var(--bordeaux)}
/* Fil des étapes : séparateurs, étapes passées cliquables */
.tun-etapes{gap:6px 10px;align-items:center}
.tun-etapes li{display:flex;align-items:center}
.tun-etapes li+li::before{content:"›";margin-right:10px;color:var(--creme-2);font-weight:700}
.tun-etapes .faite a{display:inline-flex;align-items:center;gap:0;color:var(--texte-2);text-decoration:none;border-radius:999px;padding:2px 10px 2px 2px;transition:background .15s}
.tun-etapes .faite a:hover,.tun-etapes .faite a:focus-visible{background:var(--creme);color:var(--bordeaux);text-decoration:underline}
.tun-etapes .faite span[aria-hidden]{background:var(--creme);color:var(--bordeaux);font-size:13px}
.tun-etapes .a-venir{opacity:.7}
.rc-cgv{display:block;font-size:13.5px;color:var(--texte-2);line-height:1.5}
/* Récapitulatif : produits d'appoint pour la livraison offerte, ajoutés sans quitter la page */
.rc-appoints{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rc-appoints li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}
.rc-appoint-img{width:36px;height:48px;border-radius:8px;background:var(--creme);display:grid;place-items:center;overflow:hidden}
.rc-appoint-img img{width:100%;height:100%;object-fit:contain}
.rc-appoint-txt{display:flex;flex-direction:column;min-width:0;font-size:13.5px;line-height:1.3}
.rc-appoint-txt a{color:var(--texte);font-weight:600;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-appoint-txt a:hover{text-decoration:underline}
.rc-appoint-txt small{color:var(--texte-3);font-size:12.5px}
.rc-appoints form{margin:0}
.rc-ajouter{border:1.5px solid var(--bordeaux);background:var(--blanc);color:var(--bordeaux);font:700 13px/1 var(--corps);padding:8px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.rc-ajouter:hover,.rc-ajouter:focus-visible{background:var(--bordeaux);color:var(--blanc)}
/* Barre « Commander et payer » collée en bas (mobile et ordinateur), retirée quand le vrai bouton est visible */
.rc-barre{display:flex;flex-wrap:wrap;transition:transform .25s ease,opacity .25s ease}
.rc-barre-masquee{transform:translateY(110%);opacity:0;pointer-events:none}
.rc-barre-cgv{flex-basis:100%;margin:0;font-size:12px;color:var(--texte-3);text-align:center}
@media (max-width:900px){.rc-barre{margin:18px -16px 0}}
@media (min-width:901px){
  .rc-barre{width:360px;margin:18px 0 0 auto;border-radius:18px 18px 0 0;padding:12px 16px}
  .rc-barre .btn{min-height:46px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){.rc-barre{transition:none}}
/* + / - des articles du récapitulatif */
.rc-qte{display:inline-flex;align-items:center;gap:2px;margin:0;background:var(--creme);border-radius:999px;padding:3px}
.rc-qte button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--bordeaux);font:700 16px/1 var(--corps);cursor:pointer;display:grid;place-items:center}
.rc-qte button:hover,.rc-qte button:focus-visible{background:var(--blanc)}
.rc-qte button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rc-qte span{min-width:20px;text-align:center;font-weight:700;font-size:14px}
.rc-unite{color:var(--texte-3)}
@media (max-width:560px){.rc-qte{grid-column:2;grid-row:2;justify-self:start;margin-top:4px}}

/* Confirmation : merci, la suite, résumé et livraison */
.cf{display:grid;gap:22px}
.cf-tete{display:flex;gap:18px;align-items:flex-start}
.cf-tete h1{margin:0 0 6px}
.cf-sous{margin:0;color:var(--texte-2);max-width:62ch;line-height:1.55}
.cf-pastille{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bordeaux)}
.cf-pastille svg{width:30px;height:30px;fill:none;stroke:var(--blanc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cf-attente .cf-pastille,.cf-virement .cf-pastille{background:var(--orange)}
.cf-annulee .cf-pastille{background:var(--texte-3)}
@media (prefers-reduced-motion:no-preference){.cf-payee .cf-pastille{animation:cf-ok .5s cubic-bezier(.2,1.4,.4,1) both}}
@keyframes cf-ok{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.cf-suite{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:cf}
.cf-suite li{position:relative;padding:34px 12px 0 0;counter-increment:cf;display:flex;flex-direction:column;gap:2px;font-size:14px}
.cf-suite li::before{content:counter(cf);position:absolute;top:0;left:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--creme-2);color:var(--bordeaux);font-weight:700;font-size:13px;z-index:1}
.cf-suite li::after{content:"";position:absolute;top:11px;left:28px;right:4px;height:2px;background:var(--creme-2)}
.cf-suite li:last-child::after{display:none}
.cf-suite li.fait::before{content:"✓";background:var(--bordeaux);color:var(--blanc)}
.cf-suite li.fait::after{background:var(--bordeaux)}
.cf-suite li.en-cours::before{background:var(--orange);color:var(--blanc)}
.cf-suite strong{color:var(--texte)}
.cf-suite span{color:var(--texte-3)}
.cf-colonnes{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.cf-bloc{background:var(--blanc);border:1.5px solid var(--creme-2);border-radius:20px;padding:20px 22px}
.cf-bloc>.rc-h{margin-bottom:12px}
.cf-cote{display:grid;gap:16px}
.cf-ligne{grid-template-columns:44px minmax(0,1fr) auto}
.cf-totaux{margin-top:12px;padding-top:12px;border-top:1px solid var(--creme)}
.cf-compte-lien{display:grid;gap:10px;justify-items:start}
.cf-compte-lien .rc-texte{margin:0}
.cf-dl{margin:0;display:grid;gap:6px}
.cf-dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px}
.cf-dl dt{color:var(--texte-3)}
.cf-dl dd{margin:0}
.cf-compte{margin-top:12px;padding-top:12px;border-top:1px solid var(--creme)}
.cf-annuler summary{cursor:pointer;font-weight:600;color:var(--bordeaux)}
.cf-pied{display:grid;gap:10px;justify-items:start}
.cf-pied p{margin:0}
@media (max-width:900px){.cf-colonnes{grid-template-columns:1fr}}
@media (max-width:620px){
  .cf-tete{flex-direction:column;gap:12px}
  .cf-suite{grid-template-columns:1fr;gap:14px}
  .cf-suite li{padding:0 0 0 36px}
  .cf-suite li::after{top:28px;left:11px;right:auto;width:2px;height:calc(100% - 10px)}
  .cf-dl div{grid-template-columns:1fr;gap:0}
}
.relais-maps{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:13.5px;font-weight:600;color:var(--bordeaux)}
.relais-maps::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.cf-horaires{margin:4px 0 12px;padding:10px 12px;border-radius:12px;background:var(--creme)}
.cf-horaires .relais-horaires-titre{margin:0 0 4px}
.rc-horaires{margin:0 0 8px;font-size:14px}
.rc-horaires summary{cursor:pointer;font-weight:600;color:var(--bordeaux);width:fit-content}
.rc-horaires .horaires{margin-top:6px}
/* Confirmation : illustrations des étapes, « Merci » animé, toile du feu d'artifice */
.cf-suite li::before{display:none}
.cf-suite li{padding-top:62px}
.cf-suite li::after{top:27px;left:60px}
.cf-etape-ico{position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--creme);--cf-aplat:var(--creme-2)}
.cf-illu{width:40px;height:40px;fill:none;stroke:var(--bordeaux);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cf-illu .a{fill:var(--cf-aplat);stroke:none}
.cf-illu .b{fill:var(--blanc)}
.cf-suite li.fait .cf-etape-ico{background:var(--bordeaux);--cf-aplat:#9B4650}
.cf-suite li.fait .cf-illu{stroke:var(--blanc)}
.cf-suite li.en-cours .cf-etape-ico{background:var(--orange);--cf-aplat:#F3B062}
.cf-suite li.en-cours .cf-illu{stroke:var(--blanc)}
.cf-merci-mot{display:inline-block}
.cf-merci-mot span{display:inline-block;background:linear-gradient(100deg,var(--texte) 0 40%,var(--orange) 50%,var(--texte) 60% 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:no-preference){
  .cf-merci-mot span{animation:cf-lettre .6s cubic-bezier(.2,1.5,.4,1) calc(var(--i) * 70ms + 150ms) both,cf-reflet 1.4s ease-in-out calc(var(--i) * 70ms + 700ms) both}
}
@keyframes cf-lettre{from{transform:translateY(.5em) scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes cf-reflet{from{background-position:100% 0}to{background-position:0 0}}
.cf-feu{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}
@media (max-width:620px){
  .cf-suite li{padding:4px 0 0 66px;min-height:54px}
  .cf-suite li::after{top:58px;left:26px;right:auto;width:2px;height:calc(100% - 46px)}
}
.rc-h,.rc-total{font-family:var(--titre)}
/* Bouton « Copier » des coordonnées de virement */
.copier{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:3px 10px;border:1.5px solid var(--creme-2);border-radius:999px;background:var(--blanc);color:var(--bordeaux);font:600 12.5px/1.4 var(--corps);cursor:pointer;vertical-align:middle}
.copier svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.copier:hover,.copier:focus-visible{border-color:var(--bordeaux)}
.copier.copie{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--blanc)}
/* QR code de virement (EPC) à droite des coordonnées */
.cf-virement-qr{display:grid;grid-template-columns:minmax(0,1fr) 190px;column-gap:24px}
.cf-virement-qr>*{grid-column:1}
.cf-qr{grid-column:2;grid-row:1 / span 6;margin:0;display:grid;gap:8px;justify-items:center;text-align:center;font-size:12.5px;color:var(--texte-3);align-self:start}
.cf-qr svg{width:170px;height:170px;padding:8px;background:var(--blanc);border:1.5px solid var(--creme-2);border-radius:14px}
@media (max-width:700px){.cf-virement-qr{grid-template-columns:1fr}.cf-qr{display:none}}
/* Dépôt d'avis (/avis, lien magique) : étoiles en radios, ordre inversé pour colorer les précédentes au survol, sans JS. */
.avis-form .tun-h3 small{font-weight:400}
.avis-produit,.avis-boutique{padding:14px 0;border-top:1px solid var(--creme-2)}
.avis-etoiles{border:0;margin:0 0 6px;padding:0}
.avis-etoiles legend{font-weight:600;padding:0;margin-bottom:4px}
.avis-etoiles-choix{display:inline-flex;flex-direction:row-reverse;gap:2px}
.avis-etoiles-choix input{position:absolute;opacity:0;width:1px;height:1px}
.avis-etoiles-choix label{cursor:pointer;font-size:30px;line-height:1;color:#D9C7B8;padding:2px}
.avis-etoiles-choix label::before{content:"\2605"}
.avis-etoiles-choix input:checked~label,.avis-etoiles-choix label:hover,.avis-etoiles-choix label:hover~label{color:var(--orange)}
.avis-etoiles-choix input:focus-visible+label{outline:2px solid var(--bordeaux);outline-offset:2px;border-radius:4px}
.tun-lib{font-weight:inherit}
/* Téléphone : seule l'étape en cours garde son nom, les autres en pastilles (nom gardé pour les lecteurs d'écran) */
@media (max-width:760px){
  .tun-etapes{flex-wrap:nowrap;gap:6px}
  .tun-etapes li+li::before{margin-right:6px}
  .tun-etapes li:not(.courante) .tun-lib{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tun-etapes .faite a{padding:2px}
}
/* Pliable fermé (moins de 340 px) : sans les flèches pour que les 5 étapes tiennent */
@media (max-width:340px){.tun-etapes{gap:4px}.tun-etapes li+li::before{display:none}}
/* Champs bornés à leur colonne (une option de liste longue élargissait le formulaire Contact sur mobile) */
.tun-carte input,.tun-carte select,.tun-carte textarea{max-width:100%;min-width:0}
.tun-colonnes>*{min-width:0}
/* Pliable fermé : cartes de commande sur deux colonnes, étapes plus serrées */
@media (max-width:340px){.tun-cmds tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"num act" "date total" "statut statut" "fact fact"}.tun-etapes{font-size:13px}.tun-etapes li span{width:22px;height:22px}}
@media (max-width:340px){.cmd-articles li{grid-template-columns:44px minmax(0,1fr) auto}.cmd-pic,.cmd-pic img{width:44px;height:44px}.tun-cmds .c-num a{overflow-wrap:anywhere}}
/* Grande police système : le nom de l'étape en cours se raccourcit plutôt que de pousser les pastilles hors écran */
@media (max-width:760px){.tun-etapes .courante{min-width:0;flex:0 1 auto}.tun-etapes .courante .tun-lib{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
