/* ==========================================================================
   Les Repas Varois — feuille de style du site
   Construite sur le design system « Les Repas Varois » (tokens verbatim Figma).
   Concept : colonne centrale, sections pleine largeur crème / violet ondulé /
   vert olive avec frise de légumes / bleu pâle ondulé ; tout est pilule ou
   rectangle arrondi 30 px ; contours 3 px olive ; aucune ombre, aucun dégradé.
   ========================================================================== */

/* ---------- Polices (Parkinsans uniquement) ---------- */
@font-face{font-family:"Parkinsans";font-weight:400;font-style:normal;font-display:swap;src:url(../assets/fonts/Parkinsans-Regular.ttf) format("truetype")}
@font-face{font-family:"Parkinsans";font-weight:500;font-style:normal;font-display:swap;src:url(../assets/fonts/Parkinsans-Medium.ttf) format("truetype")}
@font-face{font-family:"Parkinsans";font-weight:700;font-style:normal;font-display:swap;src:url(../assets/fonts/Parkinsans-Bold.ttf) format("truetype")}
@font-face{font-family:"Parkinsans";font-weight:800;font-style:normal;font-display:swap;src:url(../assets/fonts/Parkinsans-ExtraBold.ttf) format("truetype")}
@font-face{font-family:"Parkinsans Surligne";font-weight:800;font-style:normal;font-display:swap;src:url(../assets/fonts/Parkinsans-Surligne.ttf) format("truetype")}

/* ---------- Tokens ---------- */
:root{
  color-scheme:light;
  /* Couleurs (design system, verbatim) */
  --lrv-vert-olive:rgb(70,79,57);
  --lrv-creme:rgb(242,236,229);
  --lrv-violet:rgb(210,147,227);
  --lrv-lavande:rgb(170,137,183);
  --lrv-creme-fonce:rgb(233,227,221);
  --lrv-bleu-clair:rgb(200,243,255);
  --lrv-bleu-pale:rgb(180,223,234);
  --lrv-voile-photo:rgb(210 147 227 / .2);

  /* Rôles */
  --fond:var(--lrv-creme);
  --encre:var(--lrv-vert-olive);
  --carte:var(--lrv-creme-fonce);
  --surtitre:var(--lrv-violet);
  --trait:var(--lrv-vert-olive);
  --tiret:var(--lrv-lavande);

  /* Typographie — échelle du design system, rendue fluide sous 992 px */
  --police:"Parkinsans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --t-display-xl:800 clamp(1.9rem,1.15rem + 3.1vw,2.8875rem)/1 var(--police);   /* 46,2 px */
  --t-display-l:800 clamp(1.55rem,1.05rem + 2.1vw,2.3375rem)/1 var(--police);   /* 37,4 px */
  --t-h3:700 clamp(1.18rem,1rem + .75vw,1.525rem)/1.05 var(--police);           /* 24,4 px */
  --t-h3-fort:800 clamp(1.18rem,1rem + .75vw,1.525rem)/1 var(--police);
  --t-surtitre:700 1.0625rem/1.15 var(--police);                                 /* 17 px */
  --t-nav:700 1rem/1 var(--police);                                              /* 16 px */
  --t-corps:500 1rem/1.4 var(--police);                                          /* 16 px — interligne ouvert pour la lecture */
  --t-chapo:500 1.125rem/1.4 var(--police);
  --t-bouton:700 .875rem/1 var(--police);                                        /* 14 px */
  --t-petit:400 .8125rem/1.35 var(--police);

  /* Espacements (valeurs littérales du fichier) */
  --e-10:10px;--e-12:12px;--e-16:16px;--e-20:20px;--e-24:24px;--e-30:30px;--e-37:37px;--e-40:40px;
  --gouttiere:clamp(16px,4vw,37px);
  --contenu:calc(1400px - 2 * var(--gouttiere));
  --bloc:clamp(56px,8vw,104px);

  /* Formes */
  --rayon:30px;
  --rayon-pilule:999px;
  --contour:3px;
  --ligne:1.5px;
  --filet:.5px;

  /* Bords organiques */
  --vague-violet-haut:clamp(44px,13vw,150px);
  --vague-violet-bas:clamp(34px,9vw,110px);
  --vague-bleu:clamp(28px,6vw,70px);
  --frise:clamp(54px,8vw,96px);

  --duree:160ms;
  --courbe:ease-out;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--fond);color:var(--encre);font:var(--t-corps);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
h1,h2,h3,h4{text-wrap:balance;color:inherit}
p,li{text-wrap:pretty}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--lrv-violet);text-decoration-thickness:2px;text-underline-offset:3px;transition:color var(--duree) var(--courbe)}
a:hover{text-decoration-color:currentColor}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--encre);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lien-evitement{position:absolute;left:12px;top:-100px;z-index:100;background:var(--encre);color:var(--lrv-creme);padding:12px 18px;border-radius:var(--rayon-pilule);font:var(--t-bouton);text-transform:uppercase;text-decoration:none}
.lien-evitement:focus{top:12px}
[hidden]{display:none!important}

/* ---------- Mise en page ---------- */
.conteneur{width:100%;max-width:calc(var(--contenu) + 2 * var(--gouttiere));margin-inline:auto;padding-left:max(var(--gouttiere),env(safe-area-inset-left,0px));padding-right:max(var(--gouttiere),env(safe-area-inset-right,0px))}
.bloc{position:relative;padding-block:var(--bloc);background:var(--fond-bloc,transparent);color:var(--encre)}
.bloc>.conteneur{display:flex;flex-direction:column;gap:clamp(32px,4.5vw,56px)}
.bloc>.conteneur>.actions{justify-content:center}
.pile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-24)}
.pile>.photo,.pile>.photo-a-venir{align-self:stretch}
.pile>*{max-width:100%}
.pile>p{max-width:68ch}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.grille{display:grid;gap:var(--e-37) clamp(20px,3vw,var(--e-37))}
.grille>*{min-width:0}
.grille-2{grid-template-columns:1fr}
.grille-3{grid-template-columns:1fr}
.grille-4{grid-template-columns:1fr}
@media (min-width:600px){.grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:780px){.grille-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grille-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1040px){.grille-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.duo{display:grid;gap:clamp(28px,4vw,48px);align-items:center}
@media (min-width:860px){.duo{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.duo--image-gauche{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

/* Thèmes de section */
.bloc--creme{--fond-bloc:var(--lrv-creme)}
.bloc--sable{--fond-bloc:var(--lrv-creme-fonce);--carte:var(--lrv-creme)}
.bloc--violet{--fond-bloc:var(--lrv-violet);--carte:var(--lrv-creme);--surtitre:var(--lrv-vert-olive)}
.bloc--bleu{--fond-bloc:var(--lrv-bleu-pale);--carte:var(--lrv-creme)}
.bloc--olive{--fond-bloc:var(--lrv-vert-olive);--encre:var(--lrv-creme);--carte:var(--lrv-creme);--surtitre:var(--lrv-violet);--trait:var(--lrv-creme)}
.bloc--olive :focus-visible{outline-color:var(--lrv-creme)}

/* Bords ondulés : la forme déborde sur la section voisine, qui garde sa couleur */
.vague-haut,.vague-bas,.frise-haut{z-index:1}
.vague-haut::before,.vague-bas::after,.frise-haut::before{content:"";position:absolute;left:0;right:0;pointer-events:none}
.vague-haut::before{bottom:100%;height:var(--vh);background:var(--fond-bloc);-webkit-mask:var(--vm) center bottom/100% 100% no-repeat;mask:var(--vm) center bottom/100% 100% no-repeat}
.vague-bas::after{top:100%;height:var(--vb);background:var(--fond-bloc);-webkit-mask:var(--vbm) center top/100% 100% no-repeat;mask:var(--vbm) center top/100% 100% no-repeat}
.bloc--violet.vague-haut{--vh:var(--vague-violet-haut);--vm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 992 193' preserveAspectRatio='none'%3E%3Cpath d='M0 0C0 0 197.5 119.874 524 73.874 839.208 29.464 992 191.287 992 191.287L992 193 0 193Z'/%3E%3C/svg%3E")}
.bloc--violet.vague-haut.vague-inverse{--vm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 992 193' preserveAspectRatio='none'%3E%3Cpath d='M992 0C992 0 794.5 119.874 468 73.874 152.792 29.464 0 191.287 0 191.287L0 193 992 193Z'/%3E%3C/svg%3E")}
.bloc--violet.vague-bas{--vb:var(--vague-violet-bas);--vbm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 992 125' preserveAspectRatio='none'%3E%3Cpath d='M0 0L992 0 992 53.374C992 53.374 779 21.874 485.5 98.874 192 175.874 0 53.374 0 53.374Z'/%3E%3C/svg%3E")}
.bloc--bleu.vague-haut{--vh:var(--vague-bleu);--vm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 992 71' preserveAspectRatio='none'%3E%3Cpath d='M0 42.556C0 42.556 199 66.905 493 17.048 787-32.809 992 42.556 992 42.556L992 71 0 71Z'/%3E%3C/svg%3E")}
.bloc--bleu.vague-bas{--vb:var(--vague-bleu);--vbm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 992 70' preserveAspectRatio='none'%3E%3Cpath d='M0 0L992 0 992 28C787-4 493 54 199 4 100-6 0 28 0 28Z'/%3E%3C/svg%3E")}
.frise-haut::before{bottom:calc(100% - 1px);height:var(--frise);background:url(../assets/illustrations/bande/bande-legumes.svg) left bottom/auto 100% repeat-x}
/* La section précédente/suivante laisse la place au bord */
.avant-vague-violet{padding-bottom:calc(var(--bloc) + var(--vague-violet-haut) * .7)}
.avant-vague-bleu{padding-bottom:calc(var(--bloc) + var(--vague-bleu) * .6)}
.avant-frise{padding-bottom:calc(var(--bloc) + var(--frise) * .8)}
.apres-vague-violet{padding-top:calc(var(--bloc) + var(--vague-violet-bas) * .8)}
.apres-vague-bleu{padding-top:calc(var(--bloc) + var(--vague-bleu))}
.bloc--violet.vague-haut{padding-top:calc(var(--bloc) * .6)}

/* ---------- Typographie ---------- */
.titre-xl{font:var(--t-display-xl);text-transform:uppercase;letter-spacing:-.005em}
.titre-l{font:var(--t-display-l);text-transform:uppercase}
.titre-m{font:var(--t-h3);text-transform:uppercase}
.surtitre{font:var(--t-surtitre);text-transform:uppercase;letter-spacing:.02em;color:var(--surtitre)}
.chapo{font:var(--t-chapo);max-width:62ch}
.note{font:var(--t-petit);max-width:72ch}
.note a{text-decoration-thickness:1.5px}
.prix{font:var(--t-display-l);text-transform:uppercase;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.prix small{font:var(--t-petit);text-transform:none}
h2:not([class]){font:var(--t-display-l);text-transform:uppercase}
h3:not([class]){font:var(--t-h3);text-transform:uppercase}
h4:not([class]){font:var(--t-surtitre);text-transform:uppercase}
.entete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--e-24);max-width:860px;margin-inline:auto}
.entete--l{gap:var(--e-12)}
.entete--gauche{align-items:flex-start;text-align:left;margin-inline:0}
.entete .chapo{max-width:60ch}

/* Mots surlignés (titre d'accueil) */
.surligne{font-family:"Parkinsans Surligne",var(--police);background:var(--lrv-violet);color:var(--lrv-vert-olive);border-radius:10px;padding:0 .22em .02em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.surligne--bleu{background:var(--lrv-bleu-clair)}

/* ---------- Boutons (pilules) ---------- */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 20px;border:0;border-radius:var(--rayon);font:var(--t-bouton);text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;background:var(--b-fond);color:var(--b-texte);transition:background var(--duree) var(--courbe),transform var(--duree) var(--courbe),color var(--duree) var(--courbe)}
.bouton:hover{background:var(--b-survol);color:var(--b-texte-survol,var(--b-texte))}
.bouton:active{transform:scale(.98)}
.bouton--vert{--b-fond:var(--lrv-vert-olive);--b-texte:var(--lrv-creme);--b-survol:var(--lrv-lavande)}
.bouton--violet{--b-fond:var(--lrv-violet);--b-texte:var(--lrv-vert-olive);--b-survol:var(--lrv-lavande)}
.bouton--bleu{--b-fond:var(--lrv-bleu-clair);--b-texte:var(--lrv-vert-olive);--b-survol:var(--lrv-bleu-pale)}
.bouton--creme{--b-fond:var(--lrv-creme);--b-texte:var(--lrv-vert-olive);--b-survol:var(--lrv-creme-fonce)}
.bouton--grande{min-height:70px;padding:18px 37px;font:var(--t-h3-fort)}
.bouton .ico{width:18px;height:18px}
/* Adaptation au fond */
.bloc--violet .bouton--violet,.encart .bouton--violet{--b-fond:var(--lrv-creme);--b-survol:var(--lrv-creme-fonce)}
.bloc--olive .bouton--vert,.carte--sombre .bouton--vert{--b-fond:var(--lrv-creme);--b-texte:var(--lrv-vert-olive);--b-survol:var(--lrv-violet)}
.bloc--bleu .bouton--bleu{--b-fond:var(--lrv-creme)}

/* Numéro de téléphone */
.telephone{display:inline-flex;align-items:center;gap:10px;font:800 clamp(1.35rem,1.1rem + 1vw,1.75rem)/1 var(--police);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none;color:inherit}
.telephone::before{content:"";width:1.2em;height:1.2em;flex:none;background:currentColor;-webkit-mask:url(../assets/icons/telephone.svg) center/contain no-repeat;mask:url(../assets/icons/telephone.svg) center/contain no-repeat}
.telephone:hover{text-decoration:underline;text-decoration-color:var(--lrv-violet)}

/* Icônes peintes en couleur courante (masque) */
.ico{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;width:var(--w,24px);height:var(--h,24px)}
.ico--fleche{--i:url(../assets/icons/fleche-courbe.svg);--w:36px;--h:29px}
.ico--chevron{--i:url(../assets/icons/chevron-bas.svg);--w:13px;--h:8px}
.ico--telephone{--i:url(../assets/icons/telephone.svg)}
.ico--coche{--i:url(../assets/icons/coche.svg)}
.ico--camionnette{--i:url(../assets/icons/camionnette.svg)}
.ico--ecran{--i:url(../assets/icons/ecran.svg)}
.ico--horloge{--i:url(../assets/icons/horloge.svg)}
.ico--cadenas{--i:url(../assets/icons/cadenas.svg)}
.barre-haut .espace-client .ico{--w:16px;--h:18px}
.titre-picto{display:flex;align-items:center;gap:var(--e-16)}
.titre-picto .ico{--w:58px;--h:58px}

/* ---------- Cartes ---------- */
.carte{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-20);padding:clamp(22px,2.6vw,30px);border-radius:var(--rayon);background:var(--carte);color:var(--lrv-vert-olive)}
.carte>p,.carte>ul,.carte>ol{max-width:62ch}
.carte h3{font:var(--t-h3);text-transform:uppercase}
.carte .surtitre{color:var(--lrv-violet)}
.bloc--violet .carte .surtitre{color:var(--lrv-lavande)}
.carte--sombre{background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.carte--sombre .surtitre{color:var(--lrv-violet)}
.carte--sombre a:not(.bouton){color:var(--lrv-creme)}
.carte--contour{background:transparent;box-shadow:inset 0 0 0 var(--contour) var(--trait)}
.bloc--violet .carte--contour,.bloc--bleu .carte--contour{background:var(--lrv-creme)}
.carte--lien{text-decoration:none;transition:transform var(--duree) var(--courbe)}
.carte--lien:hover{transform:translateY(-3px)}
.carte>.bouton,.carte>.actions{margin-top:auto}
.carte>a:not(.bouton):last-child{margin-top:auto;font-weight:700}
.carte .lien-fleche{display:inline-flex;align-items:center;gap:12px;font:var(--t-bouton);text-transform:uppercase;text-decoration:none;margin-top:auto}
.carte .lien-fleche::before{content:"";width:30px;height:24px;background:currentColor;-webkit-mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;transition:transform var(--duree) var(--courbe)}
.carte .lien-fleche:hover::before{transform:translateX(4px)}

/* Carte à symbole (Figma « card 1 ») */
.carte--symbole{align-items:center;text-align:center;justify-content:flex-start;gap:var(--e-24);padding:clamp(24px,3vw,32px) var(--e-20)}
.carte--symbole>p{max-width:34ch}
.carte--symbole .symbole{height:62px;width:auto;display:block}
.carte--symbole>.bouton,.carte--symbole>.lien-fleche{margin-top:auto;align-self:center}

/* Infos doubles (Figma « double infos ») */
.double-infos{display:grid;gap:var(--e-24) var(--e-37);padding:var(--e-24) var(--e-37);border-radius:var(--rayon);box-shadow:inset 0 0 0 var(--contour) var(--trait)}
@media (min-width:700px){.double-infos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.double-infos h3{font:var(--t-h3);text-transform:uppercase;margin-bottom:var(--e-16)}

/* ---------- Listes ---------- */
.liste-fleches,.liste-croix{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--e-16)}
.liste-fleches li,.liste-croix li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--e-16);align-items:center;min-height:32px}
.liste-fleches li::before{content:"";width:34px;height:27px;background:currentColor;-webkit-mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat}
.liste-croix li::before{content:"";width:26px;height:26px;justify-self:center;background:currentColor;-webkit-mask:url(../assets/icons/croix.svg) center/contain no-repeat;mask:url(../assets/icons/croix.svg) center/contain no-repeat}
.liste-fleches--espacee{gap:var(--e-24)}
.liste-numeros{list-style:none;padding:0;counter-reset:n;display:flex;flex-direction:column;gap:var(--e-16)}
.liste-numeros li{counter-increment:n;display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--e-16);align-items:start}
.liste-numeros li::before{content:counter(n);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lrv-violet);color:var(--lrv-vert-olive);font:800 .9375rem/1 var(--police)}

/* Carte liste (Figma « card liste ») */
.carte-liste{display:flex;flex-direction:column;gap:var(--e-30);padding:var(--e-37) var(--e-24);border-radius:var(--rayon);background:var(--carte)}
.carte-liste--nue{background:transparent}
.carte-liste__titre{display:flex;align-items:center;gap:var(--e-24);padding-bottom:var(--e-30);border-bottom:var(--filet) solid var(--lrv-vert-olive)}
.carte-liste__titre img{width:64px;height:auto;flex:none}
.carte-liste__titre h3{font:var(--t-h3);text-transform:uppercase}
.carte-liste .liste-fleches,.carte-liste .liste-croix{gap:var(--e-24);padding-inline:var(--e-12)}

/* ---------- Arguments (Figma « card horizontal fleche ») ---------- */
.arguments{display:grid;gap:var(--e-30) 28px;padding:clamp(24px,3vw,var(--e-30));border-radius:var(--rayon);background:var(--lrv-violet);color:var(--lrv-vert-olive)}
@media (min-width:700px){.arguments{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-40) 28px}}
.argument{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:14px}
.argument::before{content:"";width:68px;height:52px;background:currentColor;-webkit-mask:var(--fl) center/contain no-repeat;mask:var(--fl) center/contain no-repeat}
.argument:nth-child(4n+1){--fl:url(../assets/icons/fleche-grande-1.svg)}
.argument:nth-child(4n+2){--fl:url(../assets/icons/fleche-grande-2.svg)}
.argument:nth-child(4n+3){--fl:url(../assets/icons/fleche-grande-3.svg)}
.argument:nth-child(4n+4){--fl:url(../assets/icons/fleche-grande-4.svg)}
.argument p{font:var(--t-surtitre);text-transform:uppercase}
.argument b{display:block;font:var(--t-display-l);margin-bottom:4px}

/* ---------- Étapes (Figma « liste icone + titre + texte ») ---------- */
.etapes{display:grid;gap:var(--e-30);padding:clamp(24px,3vw,32px) clamp(22px,3vw,var(--e-37));border-radius:var(--rayon);background:var(--carte);counter-reset:etape}
.etapes--colonne{display:flex;flex-direction:column;gap:0}
.etapes--colonne .etape+.etape{border-top:var(--filet) solid var(--lrv-vert-olive);margin-top:var(--e-30);padding-top:var(--e-30)}
@media (min-width:760px){.etapes--ligne{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}}
@media (min-width:760px) and (max-width:1039px){.etapes--ligne[style*="--n:4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
.etape{counter-increment:etape;display:grid;gap:var(--e-16) var(--e-24);align-content:start;color:var(--lrv-vert-olive)}
.etapes--colonne .etape{grid-template-columns:94px minmax(0,1fr);align-items:center}
.etape__icone{width:94px;height:76px;display:grid;place-items:center}
.etape__icone .ico{width:var(--w);height:var(--h)}
.etape__icone .ico--telephone{--w:72px;--h:72px}
.etape__icone .ico--coche{--w:64px;--h:48px}
.etape__icone .ico--camionnette{--w:84px;--h:52px}
.etape__icone--num{width:64px;height:64px;border-radius:50%;background:var(--lrv-violet);font:var(--t-display-l)}
.etapes--ligne .etape__icone{justify-content:start}
.etape h3{font:var(--t-h3);text-transform:uppercase}
.etape__texte{display:flex;flex-direction:column;gap:var(--e-12)}

/* ---------- Photos (Figma « rectangle violet photo ») ---------- */
.photo{position:relative;margin:0;border-radius:var(--rayon);overflow:hidden;aspect-ratio:var(--ratio,4/3);background:var(--lrv-creme-fonce);max-width:100%}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
.photo::after{content:"";position:absolute;inset:0;background:var(--lrv-voile-photo);pointer-events:none}
.photo--ovale{border-radius:var(--rayon-pilule)}
.photo--haute{--ratio:330/628}
.photo-a-venir{position:relative;margin:0;border-radius:var(--rayon);aspect-ratio:var(--ratio,4/3);background:var(--lrv-violet);display:grid;place-items:center;overflow:hidden;max-width:100%}
.bloc--violet .photo-a-venir{background:var(--lrv-creme-fonce)}
.photo-a-venir img{width:min(46%,240px);height:auto;transform:rotate(var(--rot,-6deg))}
.photo-a-venir figcaption{position:absolute;left:14px;right:14px;bottom:14px;justify-self:start;display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px);padding:8px 14px;border-radius:var(--rayon-pilule);background:var(--lrv-creme);font:var(--t-petit);font-weight:500}
.photo-a-venir figcaption::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--lrv-lavande)}
.coeur-deco{position:absolute;width:clamp(48px,7vw,78px);height:auto;transform:rotate(-25deg);z-index:1}

/* ---------- Carte du Var ---------- */
.carte-var{position:relative;margin:0;border-radius:var(--rayon);overflow:hidden;background:var(--lrv-creme-fonce);aspect-ratio:var(--ratio,4/3)}
.bloc--sable .carte-var,.bloc--violet .carte-var{background:var(--lrv-creme)}
.carte-var svg{display:block;width:100%;height:100%}
.carte-var text{font-family:var(--police)}

/* ---------- Bande défilante (Figma « bande repas ») ---------- */
.bande-repas{position:relative;height:76px;overflow:hidden;background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.bande-repas__piste{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;width:max-content;animation:bande 46s linear infinite}
.bande-repas__item{display:flex;align-items:center;gap:8px;padding-right:34px;font:700 clamp(1.5rem,1.1rem + 1.6vw,2.3375rem)/1 var(--police);text-transform:uppercase;white-space:nowrap}
.bande-repas__item img{height:40px;width:auto}
@keyframes bande{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bande-repas:hover .bande-repas__piste{animation-play-state:paused}

/* ---------- Menus (Figma « card menu », papier épinglé) ---------- */
.carte-menu{position:relative;display:flex;flex-direction:column;gap:var(--e-16);padding:var(--e-24) var(--e-24) 26px;border-radius:var(--rayon);background:var(--lrv-creme);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive);color:var(--lrv-vert-olive);transform:rotate(var(--r,0deg));transform-origin:50% 0}
.carte-menu__jour{font:var(--t-display-l);text-transform:uppercase;text-align:center;padding-bottom:var(--e-16);margin-inline:calc(-1 * var(--e-24));border-bottom:var(--ligne) solid var(--lrv-vert-olive)}
.carte-menu__choix{display:flex;flex-direction:column;gap:8px}
.carte-menu__label{font:700 1.0625rem/1.05 var(--police);text-transform:uppercase;color:var(--lrv-lavande)}
.carte-menu__plat{font:var(--t-corps)}
.carte-menu__plat--photo{display:flex;align-items:center;gap:12px}
.carte-menu__vignette{position:relative;flex:none;width:56px;height:56px;border-radius:14px;overflow:hidden;background:var(--lrv-creme-fonce)}
.carte-menu__vignette img{display:block;width:100%;height:100%;object-fit:cover}
.carte-menu__vignette::after{content:"";position:absolute;inset:0;background:var(--lrv-voile-photo)}
.carte-menu__ligne{border:0;border-top:var(--ligne) solid var(--lrv-vert-olive);margin:0 calc(-1 * var(--e-24))}
.carte-menu__tirets{border:0;border-top:var(--contour) dashed var(--tiret);margin:0}
.carte-menu--punaise{margin-top:22px}
.carte-menu--punaise::before{content:"";position:absolute;left:calc(50% - 22px);top:-30px;width:46px;height:46px;background:url(../assets/illustrations/punaise.svg) center/contain no-repeat;transform:rotate(-12.8deg);z-index:1}
.carte-menu .case{font-weight:500}
.semainier{display:grid;gap:44px var(--e-30);padding-top:12px}
@media (min-width:640px){.semainier{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.semainier{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.semainier--7{grid-template-columns:repeat(4,minmax(0,1fr))}}
.semainier>.carte-menu:nth-child(3n+1){--r:-1.6deg}
.semainier>.carte-menu:nth-child(3n+2){--r:1.2deg}
.semainier>.carte-menu:nth-child(3n+3){--r:-.6deg}

/* La tournée : menus épinglés le long de la route (accueil) */
.tournee{position:relative}
.tournee__piste{position:relative;display:flex;gap:clamp(20px,3vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;padding:56px max(var(--gouttiere),calc((100vw - var(--contenu)) / 2)) 40px;scrollbar-width:thin;scrollbar-color:var(--lrv-vert-olive) transparent;overscroll-behavior-x:contain}
.tournee__piste:focus-visible{outline-offset:-6px}
.tournee__route{position:absolute;left:0;top:50%;height:120px;width:calc(var(--nb,8) * 400px);transform:translateY(-50%);pointer-events:none;color:var(--lrv-vert-olive)}
.tournee__camion{flex:none;align-self:center;width:clamp(150px,18vw,214px);scroll-snap-align:start;transform:rotate(-8deg)}
.tournee .carte-menu{flex:none;width:min(330px,80vw);scroll-snap-align:center;align-self:flex-start}
.tournee .carte-menu:nth-of-type(odd){--r:-3deg;margin-top:40px}
.tournee .carte-menu:nth-of-type(even){--r:2.4deg;margin-top:96px}
.tournee__nav{display:flex;justify-content:center;gap:12px;margin-top:clamp(28px,4vw,48px)}
.tournee__nav .bouton{min-width:52px}
.tournee__nav .ico--chevron{--w:14px;--h:9px}

/* ---------- Tableau des formules (Figma « tableau ») ---------- */
.formules{display:grid;max-width:980px;margin-inline:auto;width:100%}
@media (min-width:780px){.formules{grid-template-columns:repeat(2,minmax(0,1fr))}}
.formule{position:relative;display:flex;flex-direction:column;box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive);border-radius:var(--rayon);overflow:hidden;background:var(--lrv-creme)}
@media (min-width:780px){.formule:first-child{border-radius:var(--rayon) 0 0 var(--rayon)}.formule:last-child{border-radius:0 var(--rayon) var(--rayon) 0;margin-left:calc(-1 * var(--contour))}}
@media (max-width:779px){.formule+.formule{margin-top:var(--e-24)}}
.formule__tete{display:flex;align-items:center;gap:var(--e-24);padding:var(--e-24);min-height:120px;border-bottom:var(--ligne) solid var(--lrv-vert-olive)}
.formule__tete img{width:70px;height:auto;flex:none}
.formule__tete h3{font:var(--t-display-l);text-transform:uppercase}
.formule__ruban{position:absolute;top:14px;right:14px;z-index:1;transform:rotate(7deg);background:var(--lrv-violet);padding:8px 14px;border-radius:25px;box-shadow:inset 0 0 0 2px var(--lrv-vert-olive);font:var(--t-bouton);text-transform:uppercase}
.formule--violet .formule__tete{padding-right:clamp(24px,8vw,130px)}
.formule__lignes{list-style:none;padding:0}
.formule__lignes li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:var(--e-20);align-items:center;padding:16px var(--e-24);border-bottom:var(--ligne) solid var(--lrv-vert-olive)}
.formule__lignes li::before{content:"";width:38px;height:24px;background:currentColor;-webkit-mask:var(--fl) center/contain no-repeat;mask:var(--fl) center/contain no-repeat}
.formule__lignes li:nth-child(6n+1){--fl:url(../assets/icons/fleche-1.svg)}
.formule__lignes li:nth-child(6n+2){--fl:url(../assets/icons/fleche-2.svg)}
.formule__lignes li:nth-child(6n+3){--fl:url(../assets/icons/fleche-3.svg)}
.formule__lignes li:nth-child(6n+4){--fl:url(../assets/icons/fleche-4.svg)}
.formule__lignes li:nth-child(6n+5){--fl:url(../assets/icons/fleche-5.svg)}
.formule__lignes li:nth-child(6n+6){--fl:url(../assets/icons/fleche-6.svg)}
.formule__illu{flex:1;display:grid;place-items:center;padding:var(--e-20);min-height:120px;border-bottom:var(--ligne) solid var(--lrv-vert-olive)}
.formule__illu img{width:min(220px,70%);transform:rotate(6deg)}
.formule__texte{padding:var(--e-20) var(--e-24);border-bottom:var(--ligne) solid var(--lrv-vert-olive)}
.formule__prix{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--e-24) var(--e-24) var(--e-24);text-align:center}
.formule__prix .prix{justify-content:center}
.formule__pied{display:flex;align-items:center;justify-content:center;min-height:70px;padding:16px;border-top:var(--contour) solid var(--lrv-vert-olive);font:var(--t-h3-fort);text-transform:uppercase;text-decoration:none;color:var(--lrv-vert-olive);background:var(--pied,var(--lrv-bleu-clair));transition:filter var(--duree) var(--courbe)}
.formule__pied:hover{filter:brightness(.95)}
.formule--violet{--pied:var(--lrv-violet)}

/* ---------- Avis (papiers épinglés) ---------- */
.avis-mur{display:grid;gap:52px var(--e-30);padding-top:20px}
@media (min-width:700px){.avis-mur{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.avis-mur--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.avis{position:relative;display:flex;flex-direction:column;gap:var(--e-20);padding:36px var(--e-24) var(--e-24);border-radius:var(--rayon);background:var(--lrv-creme);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive);color:var(--lrv-vert-olive);transform:rotate(var(--r,0deg))}
.avis::before{content:"";position:absolute;left:calc(50% - 22px);top:-26px;width:44px;height:44px;background:url(../assets/illustrations/punaise.svg) center/contain no-repeat;transform:rotate(-12.8deg)}
.avis:nth-child(3n+1){--r:-1.8deg}
.avis:nth-child(3n+2){--r:1.4deg}
.avis:nth-child(3n+3){--r:-.8deg}
.avis p{font:500 1.0625rem/1.45 var(--police)}
.avis cite{font:var(--t-surtitre);font-style:normal;text-transform:uppercase;color:var(--lrv-vert-olive);margin-top:auto}
.avis cite::before{content:"";display:block;width:56px;border-top:var(--contour) dashed var(--lrv-lavande);margin-bottom:14px}
.avis__date{display:block;margin-top:6px;font:500 .875rem/1.3 var(--police);text-transform:none;letter-spacing:0;opacity:.85}
.etoiles{display:flex;gap:4px;color:var(--lrv-violet)}
.etoiles i{width:22px;height:22px;background:currentColor;-webkit-mask:url(../assets/illustrations/etoile.svg) center/contain no-repeat;mask:url(../assets/illustrations/etoile.svg) center/contain no-repeat}
.etoiles i.vide{opacity:.35}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:var(--e-12);width:100%;max-width:860px;margin-inline:auto}
.faq details{border-radius:var(--rayon);background:var(--carte);transition:background var(--duree) var(--courbe)}
.faq details[open]{background:var(--lrv-creme);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--e-20);padding:20px var(--e-24);cursor:pointer;list-style:none;font:700 1.0625rem/1.25 var(--police);text-transform:uppercase;border-radius:var(--rayon)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:36px;height:36px;border-radius:50%;background:var(--lrv-violet) url(../assets/icons/chevron-bas.svg) center/13px auto no-repeat;transition:transform var(--duree) var(--courbe)}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details>:not(summary){padding:0 var(--e-24) var(--e-24);max-width:72ch}
.faq details>ul{padding-left:var(--e-24)}
.faq__groupe{display:flex;flex-direction:column;gap:var(--e-16);width:100%;max-width:860px;margin-inline:auto;scroll-margin-top:120px}
.faq__groupe+.faq__groupe{margin-top:var(--e-30)}
.faq__groupe>h2,.faq__groupe>h3{font:var(--t-h3);text-transform:uppercase}

/* ---------- Pastilles ---------- */
.pastilles{display:flex;flex-wrap:wrap;gap:10px}
.pastille{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border-radius:25px;background:var(--carte);font:700 .875rem/1.1 var(--police);text-transform:uppercase;color:var(--lrv-vert-olive);text-decoration:none}
a.pastille{background:var(--lrv-violet)}
a.pastille:hover{background:var(--lrv-lavande)}
.pastille--note{background:var(--lrv-violet)}
.bloc--olive .pastille{background:var(--lrv-creme)}

/* ---------- Actualités ---------- */
.actus{display:grid;gap:var(--e-30)}
@media (min-width:780px){.actus{grid-template-columns:repeat(3,minmax(0,1fr))}}
.actu{display:flex;flex-direction:column;border-radius:var(--rayon);background:var(--carte);overflow:hidden;text-decoration:none;color:var(--lrv-vert-olive);transition:transform var(--duree) var(--courbe)}
.actu:hover{transform:translateY(-3px)}
.actu__illu{display:grid;place-items:center;aspect-ratio:16/10;background:var(--fond-illu,var(--lrv-bleu-clair));border-bottom:var(--contour) solid var(--lrv-vert-olive)}
.actu:nth-child(3n+2) .actu__illu{--fond-illu:var(--lrv-creme)}
.actu:nth-child(3n+3) .actu__illu{--fond-illu:var(--lrv-bleu-pale)}
.actu__illu img{height:58%;width:auto;transform:rotate(-8deg)}
.actu__corps{display:flex;flex-direction:column;gap:var(--e-16);padding:var(--e-24);flex:1}
.actu time{align-self:flex-start;padding:6px 12px;border-radius:25px;background:var(--lrv-creme);font:var(--t-bouton);text-transform:uppercase}
.actu h3{font:var(--t-h3);text-transform:uppercase}
.actu p{font:var(--t-corps)}
.actu .lien-fleche{display:inline-flex;align-items:center;gap:12px;margin-top:auto;font:var(--t-bouton);text-transform:uppercase}
.actu .lien-fleche::before{content:"";width:30px;height:24px;background:currentColor;-webkit-mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat}

/* ---------- Tableaux ---------- */
.tableau{width:100%;overflow-x:auto;border-radius:var(--rayon);border:var(--contour) solid var(--lrv-vert-olive);background:var(--lrv-creme)}
.tableau table{width:100%;border-collapse:collapse;font:var(--t-corps);font-variant-numeric:tabular-nums;color:var(--lrv-vert-olive)}
.tableau th,.tableau td{padding:14px 20px;text-align:left;vertical-align:top;border-top:var(--ligne) solid var(--lrv-vert-olive)}
.tableau tr:first-child>*{border-top:0}
.tableau th{font:700 .9375rem/1.25 var(--police);text-transform:uppercase}
.tableau thead th{background:var(--lrv-creme-fonce)}
.tableau td:last-child:not(:first-child),.tableau th:last-child:not(:first-child){text-align:right;white-space:nowrap}
.tableau tr:last-child>th{background:var(--lrv-bleu-clair)}
.tableau--large td:last-child:not(:first-child),.tableau--large th:last-child:not(:first-child){text-align:left;white-space:normal}
.carte .tableau{border-width:2px}

/* ---------- Encarts ---------- */
.encart{display:grid;gap:var(--e-24) var(--e-37);align-items:center;padding:clamp(26px,4vw,48px);border-radius:var(--rayon);background:var(--lrv-violet);color:var(--lrv-vert-olive);--surtitre:var(--lrv-vert-olive)}
@media (min-width:860px){.encart{grid-template-columns:minmax(0,1fr) auto}}
.encart .surtitre{color:var(--lrv-vert-olive)}
.encart h2{font:var(--t-display-l);text-transform:uppercase}
.encart h3{font:var(--t-h3);text-transform:uppercase}
.encart .actions{justify-content:flex-start}
.bloc--violet .encart{background:var(--lrv-creme)}
.bloc--violet .encart .bouton--violet{--b-fond:var(--lrv-violet)}
.encart--clair{background:var(--lrv-bleu-clair)}
.encart--photo>.photo{--ratio:4/3;border-radius:20px}
@media (min-width:860px){.encart--photo{grid-template-columns:minmax(0,300px) minmax(0,1fr) auto}}

/* ---------- Bandeau de conversion ---------- */
.conversion{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--e-24);max-width:820px;margin-inline:auto}
.conversion h2{font:var(--t-display-xl);text-transform:uppercase}
.conversion p{font:var(--t-chapo);max-width:56ch}
.conversion .actions{justify-content:center;margin-top:8px}
.conversion__perso{position:absolute;width:clamp(150px,14vw,200px);top:50%;pointer-events:none}
.conversion__perso--g{right:calc(100% + 10px);transform:translateY(-50%) rotate(-8deg)}
.conversion__perso--d{left:calc(100% + 10px);transform:translateY(-50%) rotate(7deg)}
@media (max-width:1319px){.conversion__perso{position:static;transform:rotate(-6deg);width:130px}.conversion__perso--d{display:none}}

/* ---------- Formulaires ---------- */
.formulaire{display:flex;flex-direction:column;gap:var(--e-20);width:100%;min-width:0}
.formulaire h2{font:var(--t-h3-fort);text-transform:uppercase;display:flex;align-items:center;gap:12px;padding-top:var(--e-16)}
.formulaire h2:first-child{padding-top:0}
.formulaire>.bouton,.formulaire>button{align-self:flex-start}
.rangee{display:grid;gap:var(--e-20)}
@media (min-width:560px){.rangee{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.champ{display:flex;flex-direction:column;gap:8px;font:700 .9375rem/1.25 var(--police);min-width:0}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:50px;padding:12px 20px;border:2px solid var(--lrv-vert-olive);border-radius:var(--rayon);background:var(--lrv-creme);color:var(--lrv-vert-olive);font:500 1rem/1.3 var(--police);transition:box-shadow var(--duree) var(--courbe)}
textarea{min-height:130px;border-radius:20px;resize:vertical}
select{appearance:none;-webkit-appearance:none;padding-right:48px;background:var(--lrv-creme) url(../assets/icons/chevron-bas.svg) right 20px center/13px auto no-repeat;cursor:pointer}
input::placeholder,textarea::placeholder{color:rgb(70 79 57 / .62)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 4px var(--lrv-violet)}
.case{display:flex;align-items:center;gap:12px;font:var(--t-corps);cursor:pointer}
.case>span{min-width:0}
.case:has(input:disabled){opacity:.45;cursor:not-allowed}
input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:2px solid var(--lrv-vert-olive);border-radius:7px;background:var(--lrv-creme);display:grid;place-items:center;cursor:pointer;transition:background var(--duree) var(--courbe)}
input[type=radio]{border-radius:50%}
input[type=checkbox]:checked{background:var(--lrv-vert-olive) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 6.5l4 4 9-9' fill='none' stroke='rgb(242,236,229)' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px auto no-repeat}
input[type=radio]:checked{background:radial-gradient(circle,var(--lrv-vert-olive) 0 5px,var(--lrv-creme) 5.5px)}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--lrv-violet);outline-offset:2px}
/* Fiches modifiables (espace client) : lecture seule, les champs n'apparaissent qu'après « Modifier » */
.champ__valeur,.lecture__vide,.formulaire__statut:empty{display:none}
.est-lecture .champ>input,.est-lecture .champ>select,.est-lecture .champ>textarea,.est-lecture .case>input,.est-lecture .case:not(.est-coche){display:none}
.est-lecture .champ__valeur{display:block;padding-bottom:10px;border-bottom:2px dotted rgb(70 79 57 / .3);font:var(--t-corps);font-size:1.0625rem;white-space:pre-line;overflow-wrap:anywhere}
.est-lecture .case{cursor:default}
.est-lecture .case.est-coche::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--lrv-vert-olive) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 6.5l4 4 9-9' fill='none' stroke='rgb(242,236,229)' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px auto no-repeat}
.est-lecture .lecture__vide{display:block;font:var(--t-corps)}
.formulaire__statut{font:700 1rem/1.3 var(--police)}
.case--choix{padding:16px 20px;border-radius:20px;border:2px solid var(--lrv-vert-olive);background:var(--lrv-creme);transition:background var(--duree) var(--courbe)}
.case--choix:has(input:checked){background:var(--lrv-violet)}
.case--choix .note{display:block;margin-top:4px}
#client-login-form{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin:0}
#client-login-form .champ{margin:0}
#client-login-form input{display:block;margin:0}
#client-login-form #ec-login-button{align-self:flex-start;clear:both;margin:4px 0 0;position:static}
#client-login-form .portal-error{margin:0}
.zone-paiement{display:grid;place-items:center;gap:12px;padding:28px;border-radius:20px;border:var(--contour) dashed var(--lrv-lavande);text-align:center;font:var(--t-petit);min-height:150px;background:var(--lrv-creme)}
.zone-paiement strong{font:var(--t-bouton);text-transform:uppercase}
.bloc--olive input:not([type=checkbox]):not([type=radio]){border-color:var(--lrv-creme)}

/* ---------- Fil d'Ariane ---------- */
.fil-ariane{padding-top:clamp(20px,3vw,32px)}
.fil-ariane ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:700 .8125rem/1.2 var(--police);text-transform:uppercase}
.fil-ariane li{display:inline-flex;align-items:center;gap:10px}
.fil-ariane li+li::before{content:"";width:11px;height:7px;background:currentColor;-webkit-mask:url(../assets/icons/chevron-bas.svg) center/contain no-repeat;mask:url(../assets/icons/chevron-bas.svg) center/contain no-repeat;transform:rotate(-90deg)}
.fil-ariane a{text-decoration:none;padding:6px 12px;border-radius:25px;background:var(--lrv-creme-fonce)}
.fil-ariane a:hover{background:var(--lrv-violet)}
.fil-ariane [aria-current]{padding:6px 0}

/* ---------- En-tête de page (pages intérieures) ---------- */
.entete-page{padding-block:clamp(28px,4vw,48px) clamp(48px,7vw,88px)}
.entete-page>.conteneur{display:grid;gap:clamp(24px,4vw,48px);align-items:center}
@media (min-width:880px){.entete-page--illu>.conteneur{grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr)}}
.entete-page__texte{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-24)}
.entete-page h1{font:var(--t-display-xl);text-transform:uppercase;max-width:22ch}
.entete-page--court h1{max-width:none}
.entete-page .chapo{max-width:60ch}
.entete-page__illu{justify-self:center;width:min(100%,330px)}
.entete-page__illu img{width:100%;height:auto;transform:rotate(var(--rot,5deg))}
@media (max-width:879px){.entete-page__illu{width:180px;justify-self:start;order:-1}}
.entete-page .actions{margin-top:4px}

/* ---------- Texte légal ---------- */
.texte-legal{max-width:760px;display:flex;flex-direction:column;gap:var(--e-16)}
.texte-legal h2{font:800 1.375rem/1.1 var(--police);text-transform:uppercase;margin-top:var(--e-24)}
.texte-legal h2:first-child{margin-top:0}
.texte-legal h3{font:700 1.0625rem/1.2 var(--police);text-transform:uppercase;margin-top:var(--e-12)}
.texte-legal p,.texte-legal li{font:500 1rem/1.6 var(--police)}
.texte-legal ul{padding-left:1.2em}

/* Plan du site */
.plan{columns:2 300px;column-gap:var(--e-37)}
.plan>li{break-inside:avoid;margin-bottom:var(--e-24)}
.plan ul{list-style:none;padding:0}
.plan a{font-weight:700}

/* Communes */
.liste-communes{list-style:none;padding:0;columns:3 200px;column-gap:var(--e-30)}
.liste-communes li{break-inside:avoid;display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:var(--filet) solid var(--lrv-vert-olive)}
.liste-communes li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--lrv-violet);transform:translateY(-1px)}

/* ---------- Chiffres (pages intérieures) ---------- */
.chiffres{display:grid;gap:var(--e-24)}
@media (min-width:640px){.chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.chiffres{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}}
.chiffre{display:flex;flex-direction:column;gap:10px;padding:var(--e-24);border-radius:var(--rayon);background:var(--carte)}
.chiffre b{font:var(--t-display-l)}
.chiffre span{font:var(--t-surtitre);text-transform:uppercase}

/* ==========================================================================
   En-tête du site
   ========================================================================== */
.barre-haut{font:500 .875rem/1.3 var(--police)}
.barre-haut .conteneur{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:12px}
.barre-haut a{text-decoration:none}
.barre-haut a:hover{text-decoration:underline;text-decoration-color:var(--lrv-violet)}
.barre-haut__contact{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.barre-haut__contact strong{font-weight:800;font-variant-numeric:tabular-nums}
.barre-haut__horaires,.barre-haut__tel{display:inline-flex;align-items:center;gap:8px}
.barre-haut__horaires{padding:6px 14px 6px 8px;border-radius:25px;border:2px solid var(--lrv-vert-olive);font-weight:700}
.barre-haut__horaires .ico{--w:20px;--h:20px;color:var(--lrv-violet)}
.barre-haut__tel .ico{--w:20px;--h:20px}
.barre-haut .barre-haut__rappel{display:inline-flex;align-items:center;padding:6px 16px;border-radius:25px;background:var(--lrv-violet);color:var(--lrv-vert-olive);font-weight:800;transition:background-color .2s}
.barre-haut .barre-haut__rappel:hover{background:var(--lrv-lavande);text-decoration:none}
.barre-haut .espace-client{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:25px;background:var(--lrv-creme-fonce);font-weight:700}
.barre-haut .espace-professionnel{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:25px;background:var(--lrv-vert-olive);color:var(--lrv-creme);font-weight:800;white-space:nowrap}
.barre-haut .espace-client + .espace-professionnel{margin-left:0}
@media (max-width:620px){.barre-haut .espace-professionnel{padding-inline:10px;font-size:.8rem}}
.barre-haut .espace-client img{height:20px;width:auto}

body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--lrv-creme)}
.entete-site{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:50;padding-top:4px}
.capsule{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:10px 10px 10px clamp(18px,2.6vw,30px);border-radius:210px;background:var(--lrv-violet)}
.capsule__logo{display:inline-flex;flex:none;line-height:0;border-radius:8px}
.capsule__logo img{height:40px;width:auto}
.nav-principale{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}
.nav-principale>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px}
.pilule{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:0;border-radius:25px;background:var(--lrv-creme);color:var(--lrv-vert-olive);font:var(--t-nav);text-transform:uppercase;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--duree) var(--courbe)}
.pilule:hover,.pilule[aria-expanded=true],.pilule[aria-current=page],.pilule.est-actif{background:var(--lrv-creme-fonce)}
.pilule[aria-current=page],.pilule.est-actif{box-shadow:inset 0 0 0 2px var(--lrv-vert-olive)}
.pilule .ico--chevron{transition:transform var(--duree) var(--courbe)}
.pilule[aria-expanded=true] .ico--chevron{transform:rotate(180deg)}
.menu-deroulant{position:relative}
.sous-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:230px;list-style:none;margin:0;padding:12px;display:flex;flex-direction:column;gap:4px;border-radius:24px;background:var(--lrv-creme);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive)}
.sous-menu[hidden]{display:none}
.sous-menu a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;text-decoration:none;font:700 1rem/1.2 var(--police)}
.sous-menu a:hover,.sous-menu a[aria-current=page]{background:var(--lrv-creme-fonce)}
.capsule__cta{display:flex;align-items:center;gap:8px;flex:none}
.capsule__cta .pilule--sombre{background:var(--lrv-vert-olive);color:var(--lrv-creme);border-radius:30px}
.capsule__cta .pilule--sombre:hover{background:var(--lrv-lavande)}
.pilule--tel{font-variant-numeric:tabular-nums}
.pilule--tel .ico--telephone{--w:18px;--h:18px}
.bouton-menu{display:none}

@media (max-width:1140px){
  .nav-principale{display:none}
  .bouton-menu{display:inline-flex}
}
@media (max-width:680px){.pilule--tel span:not(.ico){display:none}}
@media (max-width:520px){.capsule__cta .pilule--sombre{display:none}.capsule__logo img{height:34px}}

/* Menu mobile */
.panneau{position:absolute;left:0;right:0;top:calc(100% + 10px);max-height:calc(100dvh - 120px);overflow:auto;padding:20px;border-radius:var(--rayon);background:var(--lrv-creme);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive);display:grid;gap:20px}
@media (min-width:700px){.panneau{grid-template-columns:repeat(3,minmax(0,1fr))}}
.panneau h2{font:var(--t-surtitre);text-transform:uppercase;color:var(--lrv-violet);margin-bottom:8px}
.panneau ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px}
.panneau a:not(.bouton){display:block;padding:9px 0;font:700 1.0625rem/1.2 var(--police);text-decoration:none}
.panneau a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--lrv-violet);text-decoration-thickness:3px}
.panneau__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-top:16px;border-top:var(--ligne) solid var(--lrv-vert-olive)}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.pied{position:relative;z-index:2;padding-top:clamp(40px,6vw,64px);padding-bottom:max(28px,env(safe-area-inset-bottom,0px));background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.pied::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:var(--frise);background:url(../assets/illustrations/bande/bande-legumes.svg) left bottom/auto 100% repeat-x;pointer-events:none}
.pied a:not(.bouton){color:var(--lrv-creme);text-decoration:none}
.pied a:not(.bouton):hover{text-decoration:underline;text-decoration-color:var(--lrv-violet)}
.pied :focus-visible{outline-color:var(--lrv-creme)}
.pied>.conteneur{display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}
.pied__question{display:grid;gap:var(--e-24) var(--e-37);align-items:center;padding:clamp(20px,2.5vw,24px) clamp(24px,4vw,40px);border-radius:var(--rayon);background:var(--lrv-violet);color:var(--lrv-vert-olive)}
@media (min-width:900px){.pied__question{grid-template-columns:auto minmax(0,1fr) auto}}
.pied__question img{width:148px;height:auto;transform:rotate(-6deg)}
.pied__question h2{font:var(--t-display-l);text-transform:uppercase;margin-bottom:12px}
.pied__question a:not(.bouton){color:var(--lrv-vert-olive)}
.pied__question .actions{flex-direction:column;align-items:flex-start;gap:12px}
.pied__question .bouton--vert{--b-survol:var(--lrv-lavande)}
@media (max-width:899px){.pied__question img{width:140px}}
.pied__colonnes{display:grid;gap:var(--e-30)}
@media (min-width:640px){.pied__colonnes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.pied__colonnes{grid-template-columns:1.2fr repeat(4,minmax(0,1fr))}}
.pied__marque{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.pied__marque img{width:150px;height:auto}
.pied__marque p{font:var(--t-petit);max-width:30ch}
.pied .reseaux{flex-direction:row;gap:12px}
.pied .reseaux a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lrv-creme);color:var(--lrv-vert-olive);transition:background var(--duree) var(--courbe)}
.pied .reseaux a:hover{background:var(--lrv-violet);text-decoration:none}
.pied .reseaux svg{width:22px;height:22px}
.pied h3{font:var(--t-surtitre);text-transform:uppercase;color:var(--lrv-violet);margin-bottom:14px}
.pied ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font:500 .9375rem/1.3 var(--police)}
.pied__lettre{display:grid;gap:var(--e-24) var(--e-37);align-items:center;padding:clamp(22px,3vw,32px);border-radius:var(--rayon);box-shadow:inset 0 0 0 2px rgb(242 236 229 / .5)}
@media (min-width:900px){.pied__lettre{grid-template-columns:minmax(0,1fr) minmax(0,420px)}}
.pied__lettre h3{color:var(--lrv-creme);font:var(--t-h3);text-transform:uppercase;margin:8px 0 10px}
.pied__lettre .surtitre{color:var(--lrv-violet)}
.pied__lettre form{display:flex;flex-direction:column;gap:14px}
.pied__lettre .ligne-champ{display:flex;gap:8px;flex-wrap:wrap}
.pied__lettre .ligne-champ input{flex:1 1 220px;border-color:var(--lrv-creme)}
.pied__lettre .ligne-champ--nom input{flex:1 1 140px}
.pied__lettre .case{font:var(--t-petit)}
.pied__lettre input[type=checkbox]{border-color:var(--lrv-creme);background-color:var(--lrv-vert-olive)}
.pied__lettre input[type=checkbox]:checked{background-color:var(--lrv-violet)}
.pied__villes h3{margin-bottom:16px}
.pied__villes .pastilles a{background:transparent;box-shadow:inset 0 0 0 1.5px rgb(242 236 229 / .6);color:var(--lrv-creme);font-size:.8125rem;text-decoration:none}
.pied__villes .pastilles a:hover{background:var(--lrv-violet);color:var(--lrv-vert-olive);box-shadow:none}
.pied__labels{display:flex;flex-wrap:wrap;gap:16px 32px;padding-block:24px;border-top:var(--filet) solid var(--lrv-creme)}
.label-pied{display:flex;align-items:center;gap:12px;font:var(--t-petit)}
.label-pied img{height:56px;width:auto;flex:none}
.label-pied p{margin:0}
.pied__bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;border-top:var(--filet) solid var(--lrv-creme);font:var(--t-petit)}
.pied__bas ul{flex-direction:row;flex-wrap:wrap;gap:6px 18px;font:inherit}

/* ==========================================================================
   Accueil
   ========================================================================== */
.accueil-hero{padding-block:clamp(36px,6vw,68px) 0}
.accueil-hero__titre{font:var(--t-display-xl);text-transform:uppercase;text-align:center;max-width:820px;margin-inline:auto;line-height:1.12}
.accueil-hero__titre .ligne-2{display:block;margin-top:.5em;font:var(--t-h3-fort);line-height:1.15;text-transform:uppercase;max-width:36ch;margin-inline:auto}
.accueil-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px;margin-top:clamp(24px,3vw,32px)}
.accueil-hero__photo{position:relative;margin-top:clamp(32px,5vw,60px)}
.accueil-hero__photo .photo{--ratio:918/527}
@media (max-width:640px){.accueil-hero__photo .photo{--ratio:4/3}}
.pastille-ronde{position:absolute;z-index:2;display:grid;place-items:center;text-align:center;width:clamp(136px,15vw,176px);aspect-ratio:1;border-radius:50%;background:var(--lrv-bleu-clair);color:var(--lrv-vert-olive);font:800 .85rem/1.08 var(--police);text-transform:uppercase;padding:0;container-type:inline-size;transform:rotate(-10deg);box-shadow:inset 0 0 0 var(--contour) var(--lrv-vert-olive)}
.pastille-ronde span{font-size:10cqi;max-width:84cqi}
.pastille-ronde b{display:block;font:800 19.2cqi/1 var(--police);margin-bottom:2px}
.accueil-hero__photo .pastille-ronde{right:clamp(-8px,2vw,24px);top:clamp(-40px,-3vw,-20px)}
.accueil-intro{display:grid;gap:clamp(24px,3vw,var(--e-30));align-items:center}
@media (min-width:820px){.accueil-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.accueil-intro__photo{position:relative}
.accueil-intro__photo .photo{--ratio:447/273;--pos:center 30%}
.accueil-intro__photo .coeur-deco{left:0;top:6%}
.accueil-intro__texte{display:flex;flex-direction:column;gap:var(--e-24);padding:var(--e-16) 0}
.accueil-quoi{display:flex;flex-direction:column;gap:clamp(28px,4vw,var(--e-40))}
.accueil-quoi__ligne{display:grid;gap:var(--e-24);align-items:center}
@media (min-width:780px){.accueil-quoi__ligne{grid-template-columns:repeat(2,minmax(0,1fr))}.accueil-quoi__ligne--inverse .photo{order:2}}
.accueil-quoi .photo{--ratio:450/235}
.accueil-service{display:grid;gap:clamp(28px,4vw,var(--e-37));align-items:center}
@media (min-width:880px){.accueil-service{grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:stretch}.accueil-service .photo--haute{aspect-ratio:auto;height:100%}}
@media (max-width:879px){.accueil-service .photo--haute{--ratio:4/3}}
.accueil-fondateur blockquote{display:flex;flex-direction:column;gap:var(--e-24)}
.accueil-fondateur blockquote>p:first-child{font:var(--t-display-l);text-transform:uppercase}
.accueil-fondateur blockquote>p+p{font:var(--t-chapo)}
.accueil-fondateur cite{font:var(--t-surtitre);font-style:normal;text-transform:uppercase}
.conviction{display:grid;gap:var(--e-37);align-items:start}
@media (min-width:860px){.conviction{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media (pointer:coarse){.bouton{min-height:48px}}

/* ---------- Compléments ---------- */
ol.etapes{list-style:none;margin:0}
.ico--gauche{transform:rotate(90deg)}
.ico--droite{transform:rotate(-90deg)}
.note--centre{text-align:center;margin-inline:auto}
.formule__texte{flex:1}
.carte--symbole .symbole-ico{--i:url(../assets/icons/telephone.svg);width:60px;height:60px}
.coeur-deco{position:absolute;left:0;top:4%;width:clamp(52px,7vw,78px);height:auto;aspect-ratio:77.899/65.582;background:var(--lrv-violet);-webkit-mask:url(../assets/illustrations/coeur.svg) center/contain no-repeat;mask:url(../assets/illustrations/coeur.svg) center/contain no-repeat;transform:rotate(-25deg);z-index:1}
.accueil-bande{margin-top:clamp(40px,6vw,60px)}
.accueil-intro__appel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.accueil-fondateur blockquote footer{margin-top:4px}
.accueil-menus__infos .carte{height:100%}
.bloc--violet .arguments{background:var(--lrv-creme)}

/* Carte du Var */
.carte-var{display:grid;gap:14px;align-content:start;padding:clamp(14px,2vw,22px);aspect-ratio:auto;overflow:visible}
.carte-var__dessin{border-radius:20px;overflow:hidden;background:var(--lrv-creme)}
.bloc--sable .carte-var__dessin,.bloc--violet .carte-var__dessin{background:var(--lrv-creme-fonce)}
.carte-var svg{height:auto}
.carte-var__legende ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font:700 .8125rem/1.25 var(--police)}
.carte-var__legende li{display:inline-flex;align-items:center;gap:8px}
.puce{flex:none;display:inline-block}
.puce--zone{width:22px;height:14px;border-radius:6px;background:rgb(210 147 227 / .45);box-shadow:inset 0 0 0 1.5px var(--lrv-lavande)}
.puce--route{width:28px;border-top:3px dashed var(--lrv-vert-olive)}
.puce--ville{width:12px;height:12px;border-radius:50%;background:var(--lrv-vert-olive);box-shadow:0 0 0 2px var(--lrv-creme)}
@media (min-width:900px){.carte-var--large{grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:center;gap:var(--e-37)}.carte-var--large .carte-var__legende ul{flex-direction:column;gap:14px;font-size:1rem}}
.carte-var--large{max-width:980px;width:100%;margin-inline:auto}

/* Messagerie (espace client) */
.message{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:var(--e-20) var(--e-24);border-radius:var(--rayon) var(--rayon) var(--rayon) 8px;background:var(--carte);max-width:52ch}
.message--moi{align-self:flex-end;margin-left:auto;border-radius:var(--rayon) var(--rayon) 8px var(--rayon);background:var(--lrv-violet)}
.message .pastille{background:var(--lrv-creme);min-height:0;padding:5px 10px;font-size:.75rem}
.message cite{font:var(--t-petit);font-style:normal}

/* Espace client connecté */
.entete-page--compte{padding-block:clamp(24px,3vw,40px)}
.entete-page--compte>.conteneur{display:flex;flex-direction:column;gap:var(--e-24)}
.compte-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--e-24);padding:clamp(20px,3vw,30px);border-radius:var(--rayon);background:var(--lrv-violet)}
.compte-tete .pile{gap:var(--e-12)}
.compte-tete .surtitre{color:var(--lrv-vert-olive)}
.compte-tete .bouton--violet{--b-fond:var(--lrv-creme);--b-survol:var(--lrv-creme-fonce)}
.compte-tete .titre-xl{font:var(--t-display-l)}

.accueil-hero__titre .surligne{white-space:nowrap}
.tournee__nav{flex-wrap:wrap;align-items:center;gap:14px 28px}
.tournee__nav .actions{justify-content:center}
.tournee__fleches{display:flex;gap:10px}
@media (max-width:620px){
  .barre-haut__horaires{display:none!important}
  .barre-haut__contact::before{content:none}
  .etapes--colonne .etape{grid-template-columns:60px minmax(0,1fr);gap:var(--e-16)}
  .etapes--colonne .etape__icone{width:60px;height:56px}
  .etape__icone .ico--telephone{--w:52px;--h:52px}
  .etape__icone .ico--coche{--w:46px;--h:34px}
  .etape__icone .ico--camionnette{--w:58px;--h:36px}
}
.carte>figure,.carte>.photo,.carte>.photo-a-venir{align-self:stretch}
.formule__illu+.formule__texte{flex:none}
.carte .photo-a-venir img{width:min(40%,140px)}
.entete-page h1{line-height:1.08}
.entete-page--compte>.conteneur{align-items:stretch}
.tableau--large td:first-child{white-space:nowrap}
.bloc--olive .carte--sombre{background:var(--lrv-violet);color:var(--lrv-vert-olive)}
.bloc--olive .carte--sombre .surtitre{color:var(--lrv-vert-olive)}
.bloc--olive .carte--sombre a:not(.bouton){color:var(--lrv-vert-olive)}
.etapes .etape__icone--num{display:flex;align-items:center;justify-content:center;line-height:1;padding-top:2px}
.bloc>.conteneur>.pastilles{justify-content:center}
.pile>.carte,.pile>.encart,.pile>.tableau,.pile>.formulaire{align-self:stretch}
.entete-page__illu img{max-height:300px;width:auto;margin-inline:auto;display:block}
.entete-page.avant-vague-violet{padding-bottom:calc(clamp(48px,7vw,88px) + var(--vague-violet-haut) * .7)}
.entete-page.avant-vague-bleu{padding-bottom:calc(clamp(48px,7vw,88px) + var(--vague-bleu))}
.entete-page.avant-frise{padding-bottom:calc(clamp(48px,7vw,88px) + var(--frise))}
.plan{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px 30px;columns:auto}
.plan a{text-decoration-thickness:2px}

/* ---------- Retours client du 26/10 ---------- */
/* Prix après crédit d'impôt en gros, prix TTC en dessous */
.prix--net{font:var(--t-display-l);line-height:1}
.prix--net small{display:block;margin-top:6px;font:700 1rem/1.2 var(--police);text-transform:none}
.prix-ttc{margin-top:8px;font:500 1rem/1.3 var(--police)}
.note--eligibilite{margin-top:var(--e-16);font-style:italic;font-size:.875rem;text-align:center}
.pied__eligibilite{margin:0;padding-top:20px;font:italic 500 .875rem/1.4 var(--police);opacity:.9}
/* Ancres : le contenu ne passe plus sous l'en-tête collant */
[id]{scroll-margin-top:140px}
/* Menu type : date du jour */
.carte-menu__date{display:block;margin-top:4px;font:700 1rem/1 var(--police);color:var(--lrv-lavande)}
/* Actualités en attente */
.actu--a-venir{cursor:default}
.actu--a-venir h3{font-weight:500}
/* Espace client : fond beige, code couleur propre, sans illustration */
.page-compte main{--compte-fond:rgb(236,226,209);--compte-carte:rgb(252,249,244);--compte-accent:rgb(70,79,57);background:var(--compte-fond)}
.page-compte main .entete-page{background:var(--compte-fond);padding-block:clamp(28px,4vw,48px)}
.page-compte main .entete-page::after,.page-compte main .entete-page::before{content:none}
.page-compte main .bloc--compte{background:var(--compte-fond);padding-block:clamp(28px,4vw,48px)}
.page-compte main .bloc--compte+.bloc--compte{border-top:2px solid rgb(70 79 57 / .15)}
.page-compte main .carte,.page-compte main .carte-menu{background:var(--compte-carte);box-shadow:inset 0 0 0 2px rgb(70 79 57 / .25);transform:none}
.page-compte main .carte--sombre{background:var(--compte-accent);color:var(--lrv-creme)}
.page-compte main .carte--symbole{text-align:left;align-items:flex-start}
.page-compte main .titre-xl{font:var(--t-display-m, 800 2rem/1.1 var(--police))}
.page-compte main .surligne{background:none;padding:0}
.page-compte main .semainier>.carte-menu{--r:0deg}
.page-compte .pastilles .pastille{background:var(--compte-carte)}
.carte--symbole .liste-fleches{text-align:left;align-self:stretch}
.page-compte .compte-tete{background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.page-compte .compte-tete .surtitre{color:var(--lrv-violet)}
.page-compte .compte-tete .bouton--violet{--b-fond:var(--lrv-creme);--b-survol:var(--lrv-creme-fonce)}
.note--eligibilite{max-width:none}
@media (max-width:620px){.semainier>.carte-menu:nth-child(n){--r:0deg}}
/* Actualités : cartes avec photo et page article */
.actu--photo .actu__photo{border-radius:0;border-bottom:var(--contour) solid var(--lrv-vert-olive)}
.actus--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.article__entete .conteneur{display:flex;flex-direction:column;gap:var(--e-24);max-width:calc(1000px + 2 * var(--gouttiere))}
.article__entete h1{font:var(--t-display-l);font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem);text-transform:uppercase;max-width:22ch}
.article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font:var(--t-bouton);text-transform:uppercase}
.article__meta .pastille{background:var(--lrv-violet)}
.article__photo{margin-top:var(--e-16)}
.article__corps{padding-top:0}
.article__corps .conteneur{max-width:calc(760px + 2 * var(--gouttiere))}
.article__texte{display:flex;flex-direction:column;gap:var(--e-16)}
.article__texte h2{font:800 1.5rem/1.1 var(--police);text-transform:uppercase;margin-top:var(--e-24)}
.article__texte p,.article__texte li{font:500 1.125rem/1.65 var(--police)}
.article__texte ul{display:flex;flex-direction:column;gap:8px;padding-left:1.2em}
.article__texte li::marker{color:var(--lrv-lavande)}
.article__citation{margin:var(--e-16) 0;padding:var(--e-24) var(--e-30);border-radius:var(--rayon);background:var(--lrv-violet);display:flex;flex-direction:column;gap:12px}
.article__citation p{font:800 1.375rem/1.25 var(--police)!important;text-transform:uppercase}
.article__citation cite{font:var(--t-bouton);font-style:normal;text-transform:uppercase}
.article__pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--e-30);padding-top:var(--e-24);border-top:var(--ligne) solid var(--lrv-vert-olive)}
.article__pied .lien-fleche{display:inline-flex;align-items:center;gap:12px;font:var(--t-bouton);text-transform:uppercase;text-decoration:none;color:inherit}
.article__pied .lien-fleche::before{content:"";width:30px;height:24px;background:currentColor;-webkit-mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;mask:url(../assets/icons/fleche-courbe.svg) center/contain no-repeat;transform:scaleX(-1)}
.recap-info td{font-style:italic;font-size:.9375rem;opacity:.85}
/* Espace client : calendrier des livraisons sur toute la largeur de la fenêtre */
.livraisons-compte{display:flex;flex-direction:column;gap:var(--e-24)}
.calendrier-plein{width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px);max-width:none}
.calendrier-plein .tableau{overflow-x:auto}
.livraisons-compte__actions{align-items:start}
.absences{margin-top:var(--e-16);display:flex;flex-direction:column;gap:8px}
.absences h4{font:800 1rem/1.2 var(--police);text-transform:uppercase}
.lien-bouton{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline;text-decoration-color:var(--lrv-violet);text-underline-offset:3px;cursor:pointer}
/* Espace client : choix des menus */
.choix-menus{display:flex;flex-direction:column;gap:var(--e-24)}
.choix-menus__liste tbody tr{cursor:pointer;transition:background-color .15s}
.choix-menus__liste tbody tr:hover,.choix-menus__liste tbody tr:focus-visible{background:rgb(210 147 227 / .18);outline:none}
.choix-menus__liste td{vertical-align:middle}
.choix-menus__liste .bouton{padding:8px 18px;font-size:.875rem}
.statut{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:25px;font:800 .8125rem/1 var(--police);text-transform:uppercase;white-space:nowrap;background:var(--lrv-creme-fonce);color:var(--lrv-vert-olive)}
.statut--valide{background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.statut--encours{background:rgb(210 147 227 / .45)}
.statut--adefinir{background:#fff;box-shadow:inset 0 0 0 2px var(--lrv-vert-olive)}
.statut--absent{background:var(--lrv-bleu-pale)}
.statut--verrou{background:var(--lrv-creme-fonce);font-weight:700;text-transform:none}
.choix-menus__bandeau{padding:var(--e-16) var(--e-24);border-radius:var(--rayon);background:var(--lrv-vert-olive);color:var(--lrv-creme);font:800 1.125rem/1.3 var(--police);outline:none}
.choix-menus__tete{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-16) var(--e-24)}
.choix-menus__tete h3{font:var(--t-h3);text-transform:uppercase;margin-bottom:6px}
.choix-menus__options{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--e-16) var(--e-30)}
.choix-menus__decalage{flex:1 1 360px;padding:var(--e-16) var(--e-24)}
.choix-menus__decalage summary{cursor:pointer;font:800 1rem/1.3 var(--police);text-transform:uppercase}
.choix-menus__decalage{display:block}
.choix-menus__decalage-corps{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-16);padding-top:var(--e-16)}
.choix-menus__decalage-corps .rangee{width:100%}
.choix-menus__jours{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--e-16)}
.choix-menus__livraisons{display:flex;flex-direction:column;gap:var(--e-30)}
.livraison-groupe{display:flex;flex-direction:column;gap:var(--e-16)}
.livraison-groupe__tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e-16);padding:12px var(--e-24);border-radius:var(--rayon);background:var(--lrv-vert-olive);color:var(--lrv-creme)}
.livraison-groupe__tete h4{font:800 1.125rem/1.2 var(--police);text-transform:uppercase}
.livraison-groupe__tete p{font:500 1rem/1.3 var(--police)}
.jour-choix{display:flex;flex-direction:column;gap:12px;padding:var(--e-16) var(--e-24) var(--e-24);border-radius:var(--rayon);background:var(--compte-carte,#fff);box-shadow:inset 0 0 0 2px rgb(70 79 57 / .25)}
.jour-choix--complet{box-shadow:inset 0 0 0 3px var(--lrv-vert-olive)}
.jour-choix--absent{opacity:.6;background:var(--lrv-creme-fonce)}
.jour-choix__tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px solid rgb(70 79 57 / .2)}
.jour-choix__tete h4{font:800 1.125rem/1.1 var(--police);text-transform:uppercase}
.jour-choix fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.jour-choix legend{padding:0 0 4px;font:800 .875rem/1 var(--police);text-transform:uppercase;color:var(--lrv-lavande)}
.choix-plat{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:12px;cursor:pointer;font:500 .9375rem/1.3 var(--police)}
.choix-plat:hover{background:rgb(210 147 227 / .15)}
.choix-plat input{margin-top:2px;width:20px;height:20px;accent-color:var(--lrv-vert-olive);flex:none}
.choix-plat:has(input:checked){background:rgb(210 147 227 / .3);font-weight:700}
fieldset:disabled .choix-plat{cursor:default}
.choix-plat__defaut{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:10px;background:var(--lrv-creme-fonce);font:700 .6875rem/1.5 var(--police);text-transform:uppercase;vertical-align:1px}
.choix-plat__variantes{display:block;font:italic 500 .8125rem/1.3 var(--police);opacity:.8}
.jour-choix__absent{font-weight:700}
.choix-menus__pied{position:sticky;bottom:12px;z-index:3;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px var(--e-24);padding:var(--e-16) var(--e-24);border-radius:var(--rayon);background:var(--compte-carte,#fff);box-shadow:inset 0 0 0 3px var(--lrv-vert-olive),0 8px 24px rgb(70 79 57 / .18)}
.choix-menus__pied .actions{margin:0}
.choix-menus__toast{position:fixed;left:50%;bottom:170px;z-index:50;transform:translate(-50%,12px);margin:0;padding:10px 20px;border-radius:25px;background:var(--lrv-vert-olive);color:var(--lrv-creme);font:700 .9375rem/1 var(--police);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.choix-menus__toast.est-visible{opacity:1;transform:translate(-50%,0)}
/* Tableaux : dès que la place manque (mobile, colonne étroite), chaque ligne devient une fiche ; tout reste visible (classe posée par js/site.js) */
.tableau.tableau--empile{overflow:visible;border:0;background:none;border-radius:0}
.tableau--empile table.tableau-fiches,.tableau--empile .tableau-fiches tbody,.tableau--empile .tableau-fiches tr,.tableau--empile .tableau-fiches td{display:block;width:100%}
.tableau--empile .tableau-fiches thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tableau--empile .tableau-fiches tr{margin-bottom:12px;padding:6px 14px;border-radius:var(--rayon);border:var(--contour) solid var(--lrv-vert-olive);background:var(--compte-carte,var(--lrv-creme))}
.tableau--empile .tableau-fiches td,.tableau--empile.tableau--large .tableau-fiches td:first-child,.tableau--empile.tableau--large .tableau-fiches td:last-child:not(:first-child){display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border:0;border-bottom:1px solid rgb(70 79 57 / .15);text-align:right;white-space:normal}
.tableau--empile .tableau-fiches td:last-child{border-bottom:0}
.tableau--empile .tableau-fiches td[data-col]::before{content:attr(data-col);flex:none;font:800 .75rem/1.2 var(--police);text-transform:uppercase;color:var(--lrv-lavande);text-align:left}
.tableau--empile .tableau-fiches td:empty{display:none}
@media (max-width:700px){
  .choix-menus__pied{position:static;box-shadow:inset 0 0 0 3px var(--lrv-vert-olive)}
  .choix-menus__pied .note{display:none}
  .choix-menus__pied .actions{width:100%}
  .choix-menus__pied .bouton--grande{flex:1 1 100%}
  .choix-menus__toast{bottom:24px}
}
.page-compte main .bloc--compte.avant-frise{padding-bottom:calc(clamp(28px,4vw,48px) + 110px)}
.ligne-annulee td{opacity:.65}
#factures .grille-2>.carte:first-child,#factures .grille-2>.pile{grid-column:1/-1}
#factures .grille-2>.pile{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--e-24)}
.choix-menus__liste .bouton--creme{background:#fff;box-shadow:inset 0 0 0 2px var(--lrv-vert-olive)}
/* Choix du menu d'une semaine : fenêtre isolée par-dessus la liste */
.choix-menus__popup{--compte-carte:rgb(252,249,244);width:min(1240px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:0;border-radius:var(--rayon);background:rgb(236,226,209);color:var(--lrv-vert-olive);box-shadow:0 20px 60px rgb(0 0 0 / .3);overflow:hidden}
.choix-menus__popup::backdrop{background:rgb(70 79 57 / .6)}
.choix-menus__popup-corps{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,3vw,36px) clamp(16px,3vw,36px) 0;display:flex;flex-direction:column;gap:var(--e-24)}
.choix-menus__popup .choix-menus__tete{position:sticky;top:calc(-1 * clamp(20px,3vw,36px));z-index:4;margin:calc(-1 * clamp(20px,3vw,36px)) calc(-1 * clamp(16px,3vw,36px)) 0;padding:clamp(16px,2vw,24px) clamp(16px,3vw,36px);background:rgb(236,226,209);border-bottom:2px solid rgb(70 79 57 / .2)}
.choix-menus__popup .choix-menus__pied{bottom:0;margin:0 calc(-1 * clamp(16px,3vw,36px));border-radius:var(--rayon) var(--rayon) 0 0;position:sticky}
.choix-menus__popup .choix-menus__toast{bottom:150px}
html:has(.choix-menus__popup[open]){overflow:hidden}
@media (max-width:700px){
  .choix-menus__popup{width:100vw;height:100dvh;border-radius:0}
  .choix-menus__popup .choix-menus__pied{position:sticky;padding:12px 16px}
  .choix-menus__popup .choix-menus__pied .actions{flex-wrap:nowrap}
  .choix-menus__popup .choix-menus__pied .bouton--creme{display:none}
  .choix-menus__popup .choix-menus__toast{bottom:110px}
}

/* Sauter la semaine et décaler une livraison : deux cartes de même hauteur de ligne, alignées en haut */
.choix-menus__options{align-items:flex-start;gap:var(--e-16)}
.choix-menus__sauter,.choix-menus__decalage{padding:var(--e-16) var(--e-24);min-height:58px;justify-content:center}
.choix-menus__sauter{flex:0 1 auto}
.choix-menus__sauter .case{margin:0;font:800 1rem/1.3 var(--police);text-transform:uppercase}
.choix-menus__decalage summary{min-height:26px;display:flex;align-items:center;gap:8px}
.choix-menus__sauter,.choix-menus__decalage{background:var(--compte-carte,#fff);box-shadow:inset 0 0 0 2px rgb(70 79 57 / .25)}
.choix-menus__decalage summary{list-style:none;cursor:pointer}
.choix-menus__decalage summary::-webkit-details-marker{display:none}
.choix-menus__decalage summary::before{content:"";width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg);transition:transform .2s;flex:none;margin-right:4px}
.choix-menus__decalage[open] summary::before{transform:rotate(45deg) translate(-2px,-2px)}
@media (max-width:700px){.choix-menus__sauter,.choix-menus__decalage{flex:1 1 100%}}
/* Tableaux de l'espace client : pas de carte autour (deux arrondis emboîtés ne tombaient pas juste) */
.page-compte .carte:has(> .tableau){padding:0;background:none;box-shadow:none;border-radius:0}
.label-pied img.label-pied__officiel{height:84px;width:auto;padding:6px 8px;border-radius:14px;background:#fff}

.label-pied__cartes{display:inline-flex;align-items:center;gap:14px;height:56px;padding:8px 14px;border-radius:14px;background:#fff}
.label-pied__cartes img{height:auto;width:auto;max-height:36px}
.label-pied__cartes img[alt=Visa]{height:20px}
.label-pied__cartes img[alt=Mastercard]{height:36px}

.tournee__titre{margin-top:clamp(40px,6vw,72px);margin-bottom:-24px}
.tournee__titre h3{text-align:center}

.liste-coeurs{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--e-16)}
.liste-coeurs li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--e-16);align-items:center;min-height:32px}
.liste-coeurs li::before{content:"";width:28px;height:24px;justify-self:center;background:currentColor;-webkit-mask:url(../assets/illustrations/coeur.svg) center/contain no-repeat;mask:url(../assets/illustrations/coeur.svg) center/contain no-repeat}
.carte-liste .liste-coeurs{gap:var(--e-24);padding-inline:var(--e-12)}
.signature-texte{font-weight:700;margin-top:var(--e-16)}
.label-pied__aides{height:72px;gap:12px}
.label-pied__aides img{width:auto;max-height:none}
.label-pied__aides img[alt^=APA]{height:52px}
.label-pied__aides img[alt^=Carsat]{height:34px}
.liste-communes--jours{columns:2 300px}
.liste-communes--jours li{flex-wrap:wrap}
.liste-communes--jours li>span:first-child{flex:1 1 auto}
.liste-communes__jours{flex:none;display:inline-block;padding:2px 10px;border-radius:999px;font:700 .8125rem/1.4 var(--police);white-space:nowrap;background:var(--lrv-bleu-clair);color:var(--lrv-vert-olive)}
.liste-communes__jours--t2{background:var(--lrv-violet)}
.legende-jours{gap:8px}
.legende-jours .note{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}
@media (max-width:600px){.label-pied__aides{height:60px;gap:8px;padding:6px 10px}.label-pied__aides img[alt^=APA]{height:40px}.label-pied__aides img[alt^=Carsat]{height:26px}.label-pied{flex-wrap:wrap}}
.logos-partenaires{list-style:none;padding:0;margin:var(--e-16) 0 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.logos-partenaires li{display:flex;align-items:center;justify-content:center;width:84px;height:84px;padding:8px;border-radius:16px;background:#fff}
.logos-partenaires img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.partenaires-bloc{margin-top:var(--e-24);text-align:center}
.carte .logos-partenaires li{width:68px;height:68px;padding:6px;border-radius:12px}.carte .logos-partenaires{gap:8px}

/* Accès PRO volontairement discret : le lien public reste disponible uniquement depuis « 2026 ». */
.barre-haut .espace-professionnel[aria-hidden="true"]{display:none!important}
.acces-pro-discret{cursor:default;text-decoration:none}
.acces-pro-discret:focus{outline:none}

/* Consentement notifications du portail client : clair, accessible et révocable. */
.portal-push-consent{grid-column:1/-1;background:var(--lrv-bleu-pale);border-color:var(--lrv-violet)}
.portal-push-consent__note{font-size:.82rem;color:rgba(70,79,57,.78)}
.portal-push-consent__status{min-height:1.2em;font-size:.86rem}
