/* Appli gratuite (essai et simulateur) : tous les styles de la section #simulation de index.html.
   Chargé après accueil.css. Propriétaire : agent « Appli gratuite ». Les champs de formulaire communs (.sim-champ, .sim-etat, .sr) restent dans accueil.css
   car la page compte/ les utilise aussi. Extrait de accueil.css le 07/11/2026, ordre des règles conservé. */
/* jetons de couleur : le marine est celui du site (--navy, #070D31, accueil.css) ; ces deux composantes en canaux permettent les transparences */
:root{--navy-rgb:7 13 49;--amber-rgb:242 163 58}
/* « Composez votre semaine » (refonte du 07/11/2026) : l'aperçu du restaurant à gauche, cinq étapes à droite, le prix en bas du panneau */
.opt .coche.on{background:var(--amber);box-shadow:none}.opt .coche.on::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.sim{position:relative;z-index:6;background:var(--navy);padding:calc(var(--barre) + 6px) var(--m) 28px;min-height:100svh;overflow-x:clip}
.sim-grille{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(24px,3.6vw,64px);align-items:start;max-width:1400px}
.sim-gauche{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:calc(100svh - var(--barre) - 34px - var(--bandeau,44px));min-height:520px}
.sim-t .h-petit{margin-bottom:.8vh;font-size:clamp(15px,1.2vw,19px)}.sim-t .h-grand{font-size:clamp(34px,3.5vw,58px)}
.sim-scene-zone{position:relative;min-height:0}
.sim-scene{position:absolute;inset:0;border-radius:28px;background:rgba(255,255,255,.05);display:grid;place-items:center;overflow:hidden}
.sim-scene .mk{border-radius:18px;max-width:100%;flex:none}
/* les modèles : seul le modèle actif se voit, les autres s'ouvrent au survol */
.sim-modeles{position:absolute;top:14px;left:14px;z-index:4;display:flex;align-items:center;padding:4px;border-radius:99px;background:rgb(var(--navy-rgb) / .74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.sim-modeles button{flex:none;min-height:44px;max-width:150px;padding:0 16px;border-radius:99px;font-size:15px;color:rgb(var(--cream-rgb) / .86);white-space:nowrap;overflow:hidden;transition:max-width .5s var(--ease),padding .5s var(--ease),opacity .35s,background-color .25s,color .25s}
.sim-modeles button[aria-checked="true"]{background:var(--amber);color:var(--navy);font-weight:500}
.sim-modeles button[aria-checked="true"]::after{content:'';display:inline-block;width:6px;height:6px;margin:0 0 3px 10px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(45deg);transition:transform .4s var(--ease)}
.sim-modeles button[aria-checked="false"]{max-width:0;padding:0;opacity:0}
.sim-modeles:hover button,.sim-modeles:focus-within button{max-width:150px;padding:0 16px;opacity:1}
.sim-modeles:hover button[aria-checked="false"]:hover,.sim-modeles button[aria-checked="false"]:focus-visible{background:rgba(255,255,255,.16);color:#fff}
.sim-modeles:hover button[aria-checked="true"]::after{transform:rotate(-45deg) translate(-1px,-1px)}
/* les supports : des icônes, le nom apparaît au survol */
.sim-onglets{display:flex;gap:8px;padding:4px 2px}
.sim-onglets button{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:rgb(var(--cream-rgb) / .86);transition:background-color .25s,color .25s,transform .3s var(--ease)}
.sim-onglets button svg{width:25px;height:25px}
.sim-onglets button:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}
.sim-onglets button[aria-selected="true"]{background:var(--amber);color:#fff;opacity:1}.sim-onglets button[aria-selected="true"] svg{filter:drop-shadow(0 0 1.2px rgb(7 13 49 / .6))}
.sim-onglets button::after{content:attr(data-nom);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);padding:7px 12px;border-radius:99px;background:rgba(7,13,49,.96);box-shadow:0 0 0 1px rgba(255,255,255,.16);color:#fff;font-size:13.5px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .3s var(--ease);z-index:5}
.sim-onglets button:hover::after,.sim-onglets button:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.sim-z{position:relative;overflow:hidden;background:#fff}
.sim-z iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;display:block;max-width:none;background:#fff;pointer-events:none}
.sim-z[data-z="298x395"]{width:298px;height:395px}.sim-z[data-z="480x600"]{width:480px;height:600px}.sim-z[data-z="390x844"]{position:absolute;inset:0;width:390px;height:844px}.sim-z[data-z="960x540"]{width:960px;height:540px}
.sim-z[data-z="390x734"]{flex:1;min-height:0}

.sim-panneau{position:sticky;top:calc(var(--barre) + 6px);height:calc(100svh - var(--barre) - 34px - var(--bandeau,44px));min-height:520px;display:flex;flex-direction:column;gap:12px;padding:16px 24px 14px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
/* les étapes : seule l'étape active porte son nom, les autres s'ouvrent au survol */
.sim-pas{flex:none;list-style:none;display:flex;align-items:center;gap:4px}
.sim-pas li{display:flex;align-items:center}
.sim-pas li+li::before{content:'';width:14px;height:1.5px;background:rgba(255,255,255,.22);margin-right:4px;flex:none}
.sim-pas button{min-height:44px;display:flex;align-items:center;gap:0;padding:0 5px;border-radius:99px;font-size:14.5px;color:rgb(var(--cream-rgb) / .7);transition:background-color .25s,color .25s,padding .4s var(--ease),gap .4s var(--ease)}
.sim-pas button:hover{background:rgba(255,255,255,.1);color:#fff}
.sim-pas i{font-style:normal;flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:500;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);transition:background-color .3s,color .3s,box-shadow .3s}
.sim-pas span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .5s var(--ease),opacity .3s}
.sim-pas button:hover,.sim-pas button:focus-visible,.sim-pas button[aria-current="step"]{gap:8px;padding-right:14px}
.sim-pas button:hover span,.sim-pas button:focus-visible span,.sim-pas button[aria-current="step"] span{max-width:130px;opacity:1}
.sim-pas button.fait i{background:rgb(var(--amber-rgb) / .22);box-shadow:inset 0 0 0 1.5px var(--amber);color:var(--amber)}
.sim-pas button[aria-current="step"]{color:var(--navy);background:var(--amber);font-weight:500}.sim-pas button[aria-current="step"] i{background:var(--navy);color:var(--amber);box-shadow:none}
.sim-etapes{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 4px 6px 0;margin-right:-4px;overscroll-behavior:auto}
.sim-etape{border:0;display:grid;gap:12px;min-width:0}.sim-etape[hidden]{display:none}
.sim-etape legend{font:400 clamp(26px,2.4vw,34px)/1.1 var(--serif);letter-spacing:-.02em;padding:0;margin-bottom:8px;outline:0}
.sim-liste{display:grid;gap:8px}
.sim-intro{font-size:14.5px;line-height:1.4;color:rgb(var(--cream-rgb) / .74)}
.sim-sous{font:400 22px/1.2 var(--serif);letter-spacing:-.01em;margin-top:8px}
.sim .opt{padding:10px 16px}.sim .opt .lib small{font-size:14px;line-height:1.35}.sim .opt .pr{font-size:17px;text-align:right}
.sim .pas{margin:-2px 0 2px 56px}
.sim-etape[data-etape="1"]{gap:14px}
.sim-depot{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:20px;background:rgba(255,255,255,.07);cursor:pointer;transition:background-color .25s;color:var(--cream);font-size:16px}
.sim-depot:hover,.sim-depot.survol{background:rgba(255,255,255,.14)}
.sim-vignette{flex:none;width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.1);display:grid;place-items:center;overflow:hidden}
.sim-vignette img{width:100%;height:100%;object-fit:contain;padding:4px}.sim-vignette img[hidden]{display:none}
.sim-vignette i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 2px 2px rgba(255,255,255,.4)}
.sim-aide{font-size:14px;color:rgb(var(--cream-rgb) / .64)}
.sim-lien{justify-self:start;min-height:44px;padding:0 4px;font-size:15px;color:var(--amber);text-decoration:underline;text-underline-offset:4px}.sim-lien[hidden]{display:none}
/* les plats de la semaine */
.sim-plats{display:grid;gap:10px}.sim-plats[hidden]{display:none}
.sim-cases{list-style:none;display:grid;gap:8px}
.sim-cases li{position:relative}
.sim-case-jour{width:100%;display:grid;grid-template-columns:44px 64px 1fr;gap:12px;align-items:center;padding:6px 14px 6px 14px;border-radius:20px;background:rgba(255,255,255,.07);text-align:left;transition:background-color .25s,transform .3s var(--ease)}
.sim-case-jour:hover{background:rgba(255,255,255,.13);transform:translateX(3px)}
.sim-case-jour .jr{font:500 14px/1 var(--sans);text-transform:capitalize;color:var(--amber)}
.sim-case-jour .vg{width:64px;height:48px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.08);display:grid;place-items:center}
.sim-case-jour .vg img{width:100%;height:100%;object-fit:cover}
.sim-case-jour .vg i{font:300 26px/1 var(--sans);font-style:normal;color:rgb(var(--cream-rgb) / .6)}
.sim-case-jour .tx{min-width:0}.sim-case-jour .tx b{display:block;font-weight:500;font-size:16px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-case-jour:not(.plein) .tx b{color:rgb(var(--cream-rgb) / .72);font-weight:400}
.sim-case-jour .tx small{display:block;font-size:13.5px;color:rgb(var(--cream-rgb) / .64)}
.sim-vider{position:absolute;right:10px;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1;color:rgb(var(--cream-rgb) / .7);transition:background-color .2s,color .2s}
.sim-vider:hover{background:rgba(255,255,255,.14);color:#fff}
.sim-cases li:has(.sim-vider) .tx{padding-right:38px}
.sim-plats-pied{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.sim-hasard{margin-left:auto;min-height:46px;padding:0 20px;font-size:15px}
.sim-choix{display:grid;gap:12px}.sim-choix[hidden]{display:none}
.sim-choix-tete{display:flex;align-items:center;gap:10px;font:400 clamp(22px,2vw,28px)/1.1 var(--serif)}
.sim-retour{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);transition:background-color .2s}
.sim-retour:hover{background:rgba(255,255,255,.18)}.sim-retour svg{width:18px;height:18px}
.sim-filtres{display:flex;gap:6px;flex-wrap:wrap}
.sim-filtres button{min-height:44px;padding:0 16px;border-radius:99px;background:rgba(255,255,255,.07);font-size:14.5px;color:rgb(var(--cream-rgb) / .86);transition:background-color .25s,color .25s}
.sim-filtres button[aria-pressed="true"]{background:var(--amber);color:var(--navy);font-weight:500}
.sim-grille-plats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sim-plat{display:grid;gap:6px;text-align:left;border-radius:16px;padding:0 0 8px;background:rgba(255,255,255,.06);overflow:hidden;transition:background-color .25s,transform .3s var(--ease)}
.sim-plat:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}
.sim-plat img{width:100%;aspect-ratio:1/1;object-fit:contain;background:rgba(255,255,255,.06)}
.sim-plat span{padding:0 10px;display:grid;gap:2px}.sim-plat b{font-weight:500;font-size:14px;line-height:1.25}.sim-plat small{font-size:12.5px;color:rgb(var(--cream-rgb) / .6)}
.sim-plat.pris{opacity:.45}
/* les jours de publication */
.sim-rythme{display:grid;gap:12px;padding:12px 16px;border-radius:20px;background:rgba(255,255,255,.07)}
.sim-rythme-tete{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.sim-rythme .lib b{display:block;font-weight:500;font-size:17px;line-height:1.25}.sim-rythme .lib small{display:block;font-size:14px;line-height:1.35;color:rgb(var(--cream-rgb) / .62);margin-top:2px}
.sim-rythme .pr{font:500 17px/1 var(--sans);color:var(--amber)}
.sim-jours{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sim-jours button{min-height:46px;border-radius:14px;background:rgba(255,255,255,.08);font-size:14.5px;text-transform:capitalize;color:rgb(var(--cream-rgb) / .86);transition:background-color .25s,color .25s,transform .25s var(--ease)}
.sim-jours button:hover{background:rgba(255,255,255,.16)}.sim-jours button:active{transform:scale(.95)}
.sim-jours button[aria-pressed="true"]{background:var(--amber);color:var(--navy);font-weight:500}
/* les documents gratuits */
.sim-case{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:rgb(var(--cream-rgb) / .78);cursor:pointer}
.sim-case input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--amber)}
.sim-merci{display:grid;gap:4px;padding:16px 18px;border-radius:20px;background:rgb(var(--amber-rgb) / .14);box-shadow:inset 0 0 0 1.5px rgb(var(--amber-rgb) / .5)}.sim-merci[hidden]{display:none}
.sim-merci b{font:400 22px/1.2 var(--serif)}.sim-merci span{font-size:15px;color:rgb(var(--cream-rgb) / .86)}
.sim-detail{list-style:none;display:grid;gap:8px;margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.sim-detail li{display:flex;justify-content:space-between;gap:16px;font-size:15px}.sim-detail li span:last-child{color:var(--amber);white-space:nowrap}
/* le bas du panneau : le prix, puis les boutons */
.sim-bas{flex:none;display:grid;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.sim-prix{display:flex;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.sim-montant{display:flex;align-items:baseline;gap:10px}.sim-montant b{font:400 clamp(38px,3.6vw,52px)/1 var(--serif);letter-spacing:-.03em}.sim-montant span{font-size:15px;color:rgb(var(--cream-rgb) / .8)}
.sim-mois{font-size:15px;color:rgb(var(--cream-rgb) / .78)}.sim-mois b{font-weight:500;color:var(--amber)}.sim-mois span[hidden]{display:none}
.sim-nav{display:flex;gap:10px;align-items:center}
.sim-nav .btn[hidden],.sim-final[hidden]{display:none}
#sim-suiv{margin-left:auto}
.sim-nav:has(.sim-final:not([hidden])){flex-wrap:wrap}.sim-final{flex:1 1 100%;order:-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.sim-final .btn{padding:0 14px;min-width:0;font-size:15px}
.sim-note{flex:none;font-size:13px;color:rgb(var(--cream-rgb) / .56);text-align:right}
@media (max-height:820px) and (min-width:901px){
	.sim-panneau{padding:14px 20px 12px;gap:10px}.sim-etape legend{font-size:26px;margin-bottom:6px}.sim .opt{padding:9px 16px}.sim-note{display:none}.sim-bas{padding-top:10px;gap:10px}
}
@media (max-width:900px){
	.sim{min-height:0;padding-top:calc(var(--barre) + 4px)}
	.sim-grille{grid-template-columns:1fr;gap:18px}
	.sim-gauche{height:auto;min-height:0;grid-template-rows:auto auto auto}
	.sim-scene-zone{height:min(56svh,520px);min-height:320px}
	.sim-panneau{position:static;height:auto;min-height:0;padding:14px 16px 18px;gap:12px}
	.sim-etapes{overflow:visible;margin:0;padding:0}
	.sim-pas{justify-content:space-between}.sim-pas li+li::before{display:none}.sim-pas li{flex:none}
	.sim-t .h-grand{font-size:clamp(28px,8.2vw,44px)}
	.sim-bas{position:sticky;bottom:10px;z-index:7;padding:12px 14px;border-radius:26px;background:rgb(var(--navy-rgb) / .97);border-top:0;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
	.sim-final{grid-template-columns:1fr}.sim-final .btn{width:100%}
	.sim-note{text-align:left}
	.sim-bas{gap:6px;padding:10px 12px}.sim-montant b{font-size:30px}.sim-montant span{font-size:13.5px}.sim-mois{font-size:13.5px}.sim-nav .btn{min-height:46px;padding:0 20px;font-size:15px}.sim-prix{gap:0 10px}
	.sim-modeles:not(:hover):not(:focus-within) button[aria-checked="false"]{max-width:0}
}
@media (hover:none){.sim-modeles button[aria-checked="false"]{max-width:150px;padding:0 11px;opacity:1}.sim-modeles button{padding:0 11px;font-size:14px}.sim-modeles button[aria-checked="true"]::after{display:none}}
@media (max-width:440px){.sim .opt{padding:12px 14px}.sim .opt .pr{font-size:15px}.sim .pas{margin-left:0}.sim-grille-plats{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-case-jour{grid-template-columns:36px 56px 1fr}.sim-onglets button{width:48px;height:48px}}

/* ---- essai gratuit, parcours en quatre étapes (07/11/2026, nuit) : retouches de mise en page ---- */
.sim-gauche{grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px}
.sim-rang{display:flex;align-items:center;gap:14px;min-height:46px}
.sim-lbl{flex:none;font:500 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--cream-rgb) / .62);min-width:70px}
.sim-modeles{position:relative;top:auto;left:auto;z-index:4}
.sim-onglets{padding:0}
.sim-onglets button::after{bottom:calc(100% + 10px)}
.sim-panneau{padding:20px 26px 16px;gap:16px}
.sim-pas{padding:4px 2px 2px}
.sim-etapes{padding:10px 12px 10px 10px;margin:-6px -12px -6px -10px}
.sim-etape{gap:14px}
.sim-etape legend,.sim-titre{font:400 clamp(26px,2.4vw,34px)/1.15 var(--serif);letter-spacing:-.02em;padding:0;margin:10px 0 12px}
.sim-etape[data-etape="1"]{gap:16px}
.sim-choix-tete{display:flex;align-items:center;gap:12px;min-height:44px;margin:10px 0 12px}
.sim-choix-tete .sim-titre{margin:0}
.sim-retour{flex:none}
.opt .pr.tg{font:500 13px/1.2 var(--sans);text-align:right;color:var(--amber);white-space:nowrap}
.opt.fixe .pr.tg{color:rgb(var(--cream-rgb) / .72)}
.sim-sous{font:400 22px/1.2 var(--serif);letter-spacing:-.01em;margin:14px 0 2px}
.sim-pro-note{display:flex;gap:12px;align-items:center;text-align:left;padding:12px 16px;border-radius:18px;background:rgb(var(--amber-rgb) / .1);box-shadow:inset 0 0 0 1.5px rgb(var(--amber-rgb) / .35);font-size:14.5px;line-height:1.4;color:rgb(var(--cream-rgb) / .9);transition:background-color .25s}
.sim-pro-note:hover{background:rgb(var(--amber-rgb) / .18)}.sim-pro-note svg{flex:none;width:22px;height:22px;color:var(--amber)}
.sim-pro{display:grid;gap:10px;padding:16px 18px;border-radius:22px;background:rgb(var(--amber-rgb) / .1);box-shadow:inset 0 0 0 1.5px rgb(var(--amber-rgb) / .4)}.sim-pro[hidden]{display:none}
.sim-pro-tete{font:400 22px/1.2 var(--serif);color:var(--cream)}
.sim-pro-liste{list-style:none;display:grid;gap:7px}.sim-pro-liste li{position:relative;padding-left:26px;font-size:15px;line-height:1.4;color:rgb(var(--cream-rgb) / .9)}
.sim-pro-liste li::before{content:'';position:absolute;left:3px;top:.4em;width:10px;height:6px;border:2.2px solid var(--amber);border-top:0;border-right:0;transform:rotate(-45deg)}
.sim-pro-formule{font-size:16px;color:rgb(var(--cream-rgb) / .92)}.sim-pro-formule b{color:var(--amber);font-weight:500}
.sim-bas{padding-top:14px}
.sim-panneau.choix .sim-bas{display:none}
.sim-panneau.choix .sim-etapes{overflow:hidden;display:flex;flex-direction:column}
.sim-etape.choix{flex:1;min-height:0;display:flex;flex-direction:column}
.sim-etape.choix legend{display:none}
.sim-etape.choix .sim-choix{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}
.sim-etape.choix .sim-grille-plats{flex:1;min-height:0;overflow-y:auto;padding:2px 4px 8px 2px;overscroll-behavior:contain}
.sim-final{grid-template-columns:1fr 1fr}
/* la fenêtre « version payante » */
.pro-dlg{border:0;padding:0;background:transparent;color:var(--cream);max-width:min(640px,calc(100vw - 24px));width:100%;margin:auto}
.pro-dlg::backdrop{background:rgba(3,6,24,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pro-corps{position:relative;padding:34px clamp(22px,4vw,40px) 28px;border-radius:30px;background:var(--navy);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 30px 80px rgba(0,0,0,.5);max-height:calc(100svh - 32px);overflow-y:auto}
.pro-x{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}.pro-x:hover{background:rgba(255,255,255,.16)}.pro-x svg{width:16px;height:16px}
.pro-titre{font:400 clamp(26px,3.2vw,36px)/1.15 var(--serif);letter-spacing:-.02em;margin:8px 44px 18px 0}
.pro-liste{list-style:none;display:grid;gap:12px}.pro-liste li{font-size:16px;line-height:1.5;color:rgb(var(--cream-rgb) / .86)}.pro-liste b{display:block;color:var(--cream);font-weight:500}
.pro-pied{margin:18px 0 0;font-size:14.5px;color:rgb(var(--cream-rgb) / .7)}
.pro-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media (max-width:900px){
	.sim-gauche{grid-template-rows:auto auto auto auto}
	.sim-scene-zone{height:min(56svh,520px);min-height:320px}
	.sim-panneau{padding:16px 16px 18px}
	.sim-panneau.choix .sim-etapes{overflow:visible}
	.sim-etape.choix .sim-grille-plats{overflow:visible}
	.sim-final{grid-template-columns:1fr}
}
.sim-z>video.sim-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}

.sim-nav:has(.sim-final:not([hidden])){display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.sim-nav:has(.sim-final:not([hidden])) #sim-prec{grid-column:1;grid-row:1;padding:0 20px}
.sim-nav:has(.sim-final:not([hidden])) .sim-final{grid-column:2;grid-row:1;order:0}
.sim-etape[data-etape="3"]{gap:12px}.sim-etape[data-etape="3"] .sim-intro{font-size:14px}
.sim-pro{padding:14px 16px;gap:8px}.sim-pro-tete{font-size:20px}.sim-pro-liste li{font-size:14.5px}
.pro-liste{gap:10px}.pro-liste li{font-size:15px;line-height:1.45}.pro-corps{padding-top:28px}.pro-titre{margin-bottom:14px}
@media (max-width:900px){.sim-nav:has(.sim-final:not([hidden])){grid-template-columns:1fr}.sim-nav:has(.sim-final:not([hidden])) #sim-prec{grid-row:2}.sim-nav:has(.sim-final:not([hidden])) .sim-final{grid-column:1;grid-row:1}}
.sim-grille-plats{align-content:start;grid-auto-rows:max-content}
.sim-plat{align-self:start}

/* au survol d'un support en aperçu, son prix par semaine remplace l'étiquette */
.opt .pr.tg .t2{display:none;color:var(--cream)}
.opt:hover .pr.tg .t1,.opt:focus-within .pr.tg .t1{display:none}.opt:hover .pr.tg .t2,.opt:focus-within .pr.tg .t2{display:inline}
@media (max-width:900px){.sim .opt,.sim-case-jour,.sim-plat,.sim-champ{scroll-margin-top:110px;scroll-margin-bottom:200px}}

/* essai gratuit sur mobile et tablette : tous les modèles visibles, aperçu plus compact pour que le formulaire apparaisse tôt */
@media (max-width:900px){
	.sim-rang{gap:10px;min-width:0}
	.sim-lbl{min-width:0}
	.sim-modeles{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.sim-modeles::-webkit-scrollbar{display:none}
	.sim-modeles:not(:hover):not(:focus-within) button[aria-checked="false"],.sim-modeles button[aria-checked="false"]{max-width:none;padding:0 14px;opacity:1}
	.sim-modeles button[aria-checked="true"]::after{display:none}
	.sim-scene-zone{height:min(46svh,500px);min-height:260px}
}
@media (max-width:700px){
	.sim-rang{flex-wrap:wrap}.sim-modeles{flex:1 1 100%}
	.sim-scene-zone{height:min(42svh,380px);min-height:250px}
}
/* petit téléphone : les six modèles se voient sans faire défiler la rangée (deux lignes), la rangée ne coupe plus « Cinéma » et « Marché » */
@media (max-width:480px){
	.sim-modeles{flex-wrap:wrap;overflow:visible;border-radius:24px;gap:2px}
	.sim-modeles button{flex:1 1 30%;max-width:none;text-align:center}
}
@media (max-width:900px){
	/* dernière étape : trois boutons, la barre ne masque plus le texte, elle suit le contenu */
	.sim-bas:has(.sim-final:not([hidden])){position:static;background:transparent;box-shadow:none;padding:4px 0 0}
}
@media (min-width:701px) and (max-width:900px){
	/* tablette en portrait : l'aperçu laisse la place au formulaire dès l'arrivée */
	.sim-scene-zone{height:min(32svh,380px);min-height:260px}
}

/* supports de l'abonnement : grisés dans l'aperçu tant qu'ils ne sont pas activés pour voir */
.sim-onglets button.gris{opacity:.45;background:rgba(255,255,255,.04)}
.sim-onglets button.gris:hover,.sim-onglets button.gris:focus-visible{opacity:.85}
/* barre du bas repliable : elle laisse tout l'écran à l'aperçu */
.sim-bas-tir{display:none}
@media (max-width:900px){
	.sim-bas-tir{display:grid;place-items:center;width:100%;height:44px;margin:-14px 0 -8px;color:rgb(var(--cream-rgb) / .7)}
	.sim-bas-tir svg{width:18px;height:18px;transition:transform .3s var(--ease)}
	.sim-bas.replie>*:not(.sim-bas-tir){display:none}
	.sim-bas.replie{padding-top:4px;padding-bottom:4px}
	.sim-bas.replie .sim-bas-tir svg{transform:rotate(180deg)}
}

/* cinq onglets de supports sur petit téléphone : plus compacts, jamais de défilement horizontal de la page */
@media (max-width:400px){.sim-onglets{gap:5px}.sim-onglets button{width:42px;height:42px}.sim-onglets button svg{width:22px;height:22px}.sim-rang{gap:8px}.sim-lbl{font-size:12px}}
.sim-onglets{min-width:0}
.sim-bas-tir{min-height:44px}

/* les infobulles des derniers onglets s'alignent à droite : elles ne débordent plus de l'écran */
.sim-onglets button:nth-last-child(-n+2)::after{left:auto;right:0;transform:translate(0,6px)}
.sim-onglets button:nth-last-child(-n+2):hover::after,.sim-onglets button:nth-last-child(-n+2):focus-visible::after{transform:translate(0,0)}

/* mouvement réduit : plus de transitions dans l'essai (le JavaScript coupe déjà GSAP) */
@media (prefers-reduced-motion:reduce){.sim *,.sim *::before,.sim *::after{transition:none!important;animation:none!important}}

/* supports de l'étape 3 : la communication complète. Affiche et post sont compris dans l'essai ; mail, story et film sont des cartes avec leur mention d'abonnement et le geste « Voir l'aperçu ». Tous sont des boutons : un clic montre l'aperçu, la carte du support montré est marquée */
.sim .opt[data-support]{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.opt.carte{grid-template-columns:1fr auto;row-gap:8px}
.opt.carte .lib{grid-column:1 / -1}
.opt.carte .mention{font:500 14px/1.3 var(--sans);color:var(--amber)}
.opt.carte .geste{font:400 14px/1.3 var(--sans);color:rgb(var(--cream-rgb) / .86);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.opt.carte:hover .geste{color:#fff}
.opt.carte.fixe .mention{color:rgb(var(--cream-rgb) / .72)}
.sim .opt.fixe:hover{background:rgba(255,255,255,.12)}
.sim .opt[data-support].voir{background:rgb(var(--amber-rgb) / .1);box-shadow:inset 0 0 0 1.5px var(--amber)}
.sim-reseaux{margin-top:2px}

/* ordinateur étroit (901 à 1399 px) : à la dernière étape, les trois boutons ne tiennent pas sur une ligne dans le panneau ; ils s'empilent, « Précédent » en dessous */
@media (min-width:901px) and (max-width:1399px){
	.sim-nav:has(.sim-final:not([hidden])){grid-template-columns:1fr}
	.sim-nav:has(.sim-final:not([hidden])) #sim-prec{grid-column:1;grid-row:2}
	.sim-nav:has(.sim-final:not([hidden])) .sim-final{grid-column:1;grid-row:1;grid-template-columns:1fr 1fr}
}

/* l'album de la semaine : grande image à gauche, sept carrés pleine hauteur à droite ; sur écran étroit, les carrés passent dessous et défilent */
.album{display:flex;gap:10px;flex:none}
.album-grand{position:relative;overflow:hidden;border-radius:14px;background:#fff;flex:none;box-shadow:0 18px 40px rgb(0 0 0 / .28)}
.album-grand iframe,.alb-v iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;max-width:none;pointer-events:none;background:#fff;display:block}
.album-v{display:flex;flex-direction:column;gap:6px;flex:none}
.alb-v{position:relative;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;opacity:.6;flex:none;transition:opacity .2s,box-shadow .2s}
.alb-v:hover{opacity:1}
.alb-v[aria-selected="true"]{opacity:1;box-shadow:0 0 0 2px var(--amber)}
.alb-v:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.album.etroit{flex-direction:column}
.album.etroit .album-v{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.album.etroit .alb-v{scroll-snap-align:start}
@media (prefers-reduced-motion:reduce){.alb-v{transition:none}}

/* symboles de restaurant proposés à défaut de logo : quatre pastilles claires, le symbole sombre dessus (même rendu que sur les documents) */
.sim-sym-liste{display:flex;gap:10px;flex-wrap:wrap}
.sim-sym-liste button{width:56px;height:56px;min-height:44px;padding:0;border:0;border-radius:16px;background:var(--cream);display:grid;place-items:center;cursor:pointer;transition:box-shadow .2s,transform .2s}
.sim-sym-liste button img{width:34px;height:34px;display:block}
.sim-sym-liste button:hover{transform:translateY(-1px)}
.sim-sym-liste button[aria-pressed="true"]{box-shadow:0 0 0 3px var(--amber)}
.sim-sym-liste button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.sim-sym-liste button{transition:none}.sim-sym-liste button:hover{transform:none}}

/* retours de Philippe du 08/11/2026 (section D) */
/* 10 : titre sur une seule ligne, plus d'aperçu */
.sim-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 18px}
.sim-t .h-grand{font-size:clamp(30px,3vw,46px);line-height:1.05;margin:0;white-space:nowrap}
.sim-t .h-petit{margin:0;font-size:clamp(15px,1.15vw,18px)}
@media (max-width:900px){.sim-t .h-grand{white-space:normal}}
/* 14 : le support de l'abonnement actif reste visible (blanc sur orange) */
.sim-onglets button.gris[aria-selected="true"]{opacity:1;background:var(--amber)}
/* 15 : l'essai garde sa place, le pied de page passe dessous et ne le recouvre jamais */
.sim{isolation:isolate}
.pied{z-index:5}
/* 11 : album, deux colonnes de carrés (quatre et trois), étiquette au survol */
.album-v{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,4),var(--t,56px));grid-auto-columns:var(--t,56px);gap:6px;align-content:start}
.album.etroit .album-v{display:flex;flex-direction:row;grid-auto-flow:row}
.alb-v::after{content:attr(data-nom);position:absolute;left:4px;right:4px;bottom:4px;padding:3px 4px;border-radius:99px;background:rgb(7 13 49 / .9);color:#fff;font:500 11.5px/1.15 var(--sans);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}
.alb-v:hover::after,.alb-v:focus-visible::after{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.alb-v::after{transition:none}}
.album.etroit .alb-v::after{display:none}

/* étape logo (textes M3) : le symbole actif à gauche (pastilles), l'invitation à déposer son logo à droite */
.sim-logo-ligne{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start}
.sim-logo-ligne>.sim-champ{align-content:start}
.sim-symboles .sim-sym-liste{display:grid;grid-template-columns:repeat(3,48px);gap:8px}
.sim-symboles .sim-sym-liste button{width:48px;height:48px;border-radius:14px}
.sim-symboles .sim-sym-liste button img{width:30px;height:30px}
.sim-symboles .sim-aide{margin:0}
@media (max-width:520px){.sim-logo-ligne{grid-template-columns:1fr}}
.sim-depot .sim-vignette{flex:none}
.sim-z[data-z="1440x900"]{width:1440px;height:900px}

/* ---------- grands écrans (demande de Philippe, 08/11/2026) : 1680, 1920, 2560 px ----------
   MacBook (1440) inchangé. Au-delà de 1500 px la grille n'est plus plafonnée à 1400 px et alignée à gauche : elle remplit la largeur, centrée ; l'aperçu grandit avec l'écran (il reste dominant),
   la colonne du formulaire grandit moins vite (largeur plafonnée) et son texte monte doucement (--k) pour rester lisible à distance. */
@media (min-width:1500px) and (min-height:561px){
	.sim{--k:1;padding-left:clamp(48px,4vw,140px);padding-right:clamp(48px,4vw,140px)}
	.sim-grille{max-width:2560px;margin-inline:auto;grid-template-columns:minmax(0,1fr) clamp(600px,31vw,900px);gap:clamp(40px,4vw,120px)}
}
@media (min-width:1680px) and (min-height:561px){ .sim{--k:1.12} }
@media (min-width:1900px) and (min-height:561px){ .sim{--k:1.24} }
@media (min-width:2300px) and (min-height:561px){ .sim{--k:1.5} }
@media (min-width:1680px) and (min-height:561px){
	.sim-panneau{padding:calc(16px*var(--k)) calc(24px*var(--k)) calc(14px*var(--k));gap:calc(12px*var(--k));border-radius:calc(28px*var(--k))}
	.sim-pas button{min-height:calc(44px*var(--k));font-size:calc(14.5px*var(--k))}.sim-pas i{width:calc(32px*var(--k));height:calc(32px*var(--k));font-size:calc(14px*var(--k))}
	.sim-etape legend,.sim-titre{font-size:calc(34px*var(--k))}
	.sim-sous,.sim-pro-tete,.sim-merci b{font-size:calc(22px*var(--k))}
	.sim-intro,.sim-pro-note{font-size:calc(14.5px*var(--k))}
	.sim-aide,.sim-case,.sim-note{font-size:calc(14px*var(--k))}
	.sim-lien,.sim-hasard,.sim-detail li,.sim-mois,.sim-pro-formule{font-size:calc(15px*var(--k))}
	.sim-champ input:not([type=file]){min-height:calc(56px*var(--k));font-size:calc(18px*var(--k));border-radius:calc(18px*var(--k))}
	.sim-depot{font-size:calc(16px*var(--k))}
	.sim .opt{font-size:calc(17px*var(--k))}.sim .opt small{font-size:calc(14px*var(--k))}.opt.carte .mention,.opt.carte .geste{font-size:calc(14px*var(--k))}.opt .pr.tg{font-size:calc(13px*var(--k))}
	.sim-nav .btn,.sim-final .btn{min-height:calc(52px*var(--k));font-size:calc(16px*var(--k))}
	.sim-sym-liste button{width:calc(56px*var(--k));height:calc(56px*var(--k))}.sim-sym-liste button img{width:calc(34px*var(--k));height:calc(34px*var(--k))}
	.sim-symboles .sim-sym-liste{grid-template-columns:repeat(3,calc(48px*var(--k)))}.sim-symboles .sim-sym-liste button{width:calc(48px*var(--k));height:calc(48px*var(--k))}.sim-symboles .sim-sym-liste button img{width:calc(30px*var(--k));height:calc(30px*var(--k))}
	.sim-t .h-grand{font-size:clamp(46px,2.9vw,86px)}.sim-t .h-petit{font-size:clamp(18px,1.15vw,28px)}
	.sim-lbl{font-size:calc(13px*var(--k))}
	.sim-modeles button{min-height:calc(44px*var(--k));font-size:calc(15px*var(--k))}
	.sim-onglets button{width:calc(54px*var(--k));height:calc(54px*var(--k))}.sim-onglets button svg{width:calc(25px*var(--k));height:calc(25px*var(--k))}
}
.sim-logo-ligne>.sim-champ,.sim-logo-ligne .sim-depot{min-width:0}
.sim-logo-ligne .sim-depot{flex-wrap:nowrap}.sim-logo-ligne #sim-logo-texte{min-width:0;overflow-wrap:anywhere}

/* ---------- retours de simplification du 08/11/2026 : version gratuite / premium, quatre étapes ---------- */
/* étape 1 : le logo est un champ pleine largeur comme les autres, avec le symbole activé à gauche */
.sim-logo-champ{gap:10px}
.sim-logo-rang{display:flex;align-items:center;gap:14px;min-height:64px;padding:8px 10px;border-radius:18px;background:rgba(255,255,255,.09)}
.sim-sym-grand{flex:none;width:48px;height:48px;border-radius:14px;background:var(--cream);display:grid;place-items:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
.sim-sym-grand img{width:38px;height:38px;object-fit:contain;display:block}
.sim-sym-grand.logo{background:#fff}.sim-sym-grand.logo img{width:40px;height:40px}
.sim-sym-grand:hover{transform:translateY(-1px)}.sim-sym-grand[aria-expanded="true"]{box-shadow:0 0 0 3px var(--amber)}
.sim-depot-texte{flex:1;min-width:0;min-height:48px;text-align:left;font-size:18px;color:rgb(var(--cream-rgb) / .86);cursor:pointer;padding:0 6px}
.sim-depot-texte:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.sim-logo-champ .sim-sym-liste{display:flex;flex-wrap:wrap;gap:10px;padding-left:2px}
.sim-logo-champ .sim-sym-liste[hidden]{display:none}
.sim-logo-champ .sim-sym-liste button{width:48px;height:48px;border-radius:14px}.sim-logo-champ .sim-sym-liste button img{width:34px;height:34px}
/* étape 2 : samedi et dimanche grisés, entrées et desserts en version premium */
.sim-cases li.grise{opacity:.42;pointer-events:none}
.sim-cases li.grise .tx b{font-weight:400;color:rgb(var(--cream-rgb) / .8)}
.sim-filtres button.premium{opacity:.45;cursor:not-allowed;display:inline-flex;align-items:center;gap:8px}
.sim-filtres button.premium small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
/* étape 3 : un nom et une pastille gratuit / premium, rien d'autre */
.sim .opt.carte{grid-template-columns:1fr auto;align-items:center;row-gap:0}
.sim .opt.carte .lib{grid-column:1}
.opt .pastille{justify-self:end;font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:99px}
.opt .pastille.gratuit{background:rgb(var(--cream-rgb) / .92);color:var(--navy)}
.opt .pastille.premium{background:rgb(var(--amber-rgb) / .16);color:var(--amber);box-shadow:inset 0 0 0 1px rgb(var(--amber-rgb) / .5)}
.sim .opt.carte.fixe .mention,.sim .opt.carte .geste{display:none}
/* étape 4 : les deux boutons finals s'empilent tant que la colonne est étroite (le libellé complet reste lisible) */
.c-case[hidden],.sim-case[hidden]{display:none!important}
@media (min-width:901px) and (max-width:1800px){
	.sim-nav:has(.sim-final:not([hidden])){grid-template-columns:1fr}
	.sim-nav:has(.sim-final:not([hidden])) #sim-prec{grid-column:1;grid-row:2}
	.sim-nav:has(.sim-final:not([hidden])) .sim-final{grid-column:1;grid-row:1;grid-template-columns:1fr 1fr}
}

/* swipe entre supports : l'ancien aperçu reste le temps du mouvement, posé au même endroit */
.sim-scene>[data-sortant]{position:absolute;pointer-events:none;z-index:1}

/* le bandeau d'éditeur fixe en bas (44 px) ne recouvre jamais l'outil : la hauteur de l'essai le déduit */
:root{--bandeau:44px}
@media (max-width:900px){.sim{padding-bottom:calc(28px + var(--bandeau))}}

/* textes O3/O4 : la pastille porte la mention complète, la mention de la version premium sous les boutons */
.opt .pastille{letter-spacing:0;text-transform:none;font-size:12.5px;padding:7px 12px;white-space:nowrap}
.sim-mention-premium{margin:0;font-size:13.5px;color:rgb(var(--cream-rgb) / .66);text-align:center}
.sim-final .sim-mention-premium{grid-column:1 / -1;order:3}

/* libellés visibles au-dessus des champs de l'étape 1 (textes O4) ; le texte grisé du champ est un exemple */
.sim-lbl-champ{font-size:13.5px;line-height:1.2;color:rgb(var(--cream-rgb) / .72);margin:2px 0 -2px 4px}
.sim-logo-champ>.sim-lbl-champ{margin-bottom:0}

/* retours B du 09/11/2026 : fond prolongé derrière les mock-ups (pas de bandes bleues), prix saisissables, plat perso en premium */
.sim-scene{isolation:isolate}
.sim-scene::before{content:'';position:absolute;inset:-30px;z-index:-1;background:var(--fond,none) center/cover no-repeat;filter:blur(22px) brightness(.82) saturate(1.1);opacity:var(--fond-op,1)}
.sim-scene:not([style*="--fond"])::before{display:none}
.sim-cases li{position:relative}
.sim-prix-plat{position:absolute;right:62px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.22);border-radius:12px;padding:0 10px;min-height:40px;color:var(--cream)}
.sim-prix-plat input{width:58px;min-height:36px;background:transparent;border:0;color:inherit;font:500 16px var(--sans);text-align:right;padding:0}
.sim-prix-plat input:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:6px}
.sim-prix-plat i{font-style:normal;color:rgb(var(--cream-rgb) / .7)}
.sim-cases li:has(.sim-prix-plat) .sim-case-jour .tx{padding-right:128px}
.sim-creer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:0 18px;border-radius:16px;background:rgba(255,255,255,.07);color:rgb(var(--cream-rgb) / .6);font-size:16px;text-align:left;cursor:not-allowed;margin:2px 0 8px}
.sim-creer .pastille{font-size:12.5px}

.sim-lien-peu{color:var(--amber);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* étape 4 sur ordinateur : les deux boutons côte à côte et un texte resserré sur les écrans peu hauts, pour que les trois cases restent visibles sans défiler */
@media (min-width:901px) and (max-height:960px){
	.sim-etape[data-etape="4"]{gap:9px}.sim-etape[data-etape="4"] .sim-intro{font-size:13.5px;line-height:1.35}.sim-etape[data-etape="4"] .sim-case{font-size:13px;line-height:1.35;gap:10px}.sim-etape[data-etape="4"] input[type=email]{min-height:46px}
}
@media (min-width:901px) and (max-height:800px){
	.sim-etape[data-etape="4"] legend{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.sim-nav:has(.sim-final:not([hidden])) .btn,.sim-final .btn{min-height:44px}
	.sim-etape[data-etape="4"] input[type=email]{min-height:42px}
	.sim-mention-premium{font-size:12.5px}
}
@media (min-width:901px) and (max-height:800px){
	.sim-panneau{padding:12px 22px 10px;gap:8px}
	.sim-etape[data-etape="4"]{gap:6px}.sim-etape[data-etape="4"] .sim-intro{font-size:13px;line-height:1.3}.sim-etape[data-etape="4"] .sim-case{font-size:12.5px;line-height:1.3;gap:9px}.sim-etape[data-etape="4"] .sim-case input{width:20px;height:20px}
	.sim-nav:has(.sim-final:not([hidden])){gap:6px}.sim-final{gap:8px}
}

/* prix par plat : obligatoire, volet de détails facultatif */
.sim-aide-prix{font-size:13px;line-height:1.4;color:rgb(var(--cream-rgb) / .7);margin:2px 2px 6px}.sim-aide-prix.alerte{color:#ffb4a2}
.sim-prix-plat input:placeholder-shown{box-shadow:inset 0 -2px 0 var(--amber)}
.sim-cases li.manque .sim-case-jour{box-shadow:0 0 0 2px #ff8a73}.sim-cases li.manque .sim-prix-plat{background:rgba(255,138,115,.22)}
.sim-detail-btn{position:absolute;right:104px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:var(--amber);font:500 13px var(--sans);text-decoration:underline;text-underline-offset:3px}
.sim-detail{display:grid;grid-template-columns:1fr 2fr 2fr;gap:8px;padding:8px 6px 4px}.sim-detail[hidden]{display:none}.sim-detail label{display:grid;gap:4px;font-size:12.5px;color:rgb(var(--cream-rgb) / .7)}
.sim-detail input,.sim-detail select{min-height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:var(--cream);padding:0 10px;font:400 14px var(--sans)}
.sim-detail input:focus-visible,.sim-detail select:focus-visible,.sim-detail-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sim-cases li:has(.sim-detail-btn) .sim-prix-plat{right:176px}.sim-cases li:has(.sim-detail-btn) .sim-case-jour .tx{padding-right:200px}
@media (max-width:900px){.sim-detail{grid-template-columns:1fr}}

/* plat : prix et boutons calés sur la ligne du plat, même quand le volet de détails est ouvert */
.sim-cases li .sim-prix-plat,.sim-cases li .sim-detail-btn,.sim-cases li .sim-vider{top:30px;bottom:auto}
.sim-cases li:has(.sim-detail-btn) .sim-prix-plat{right:184px}.sim-cases li:has(.sim-detail-btn) .sim-detail-btn{right:106px}
.sim-cases li:has(.sim-detail-btn) .sim-case-jour .tx{padding-right:244px}

/* étape 2 : weekend grisé côte à côte, aide du prix et bouton sur une même ligne (tout tient sans défiler) */
@media (min-width:901px){
	#sim-cases{grid-template-columns:1fr 1fr}#sim-cases li{grid-column:1 / -1}#sim-cases li.grise{grid-column:auto}
	#sim-cases li.grise .sim-case-jour{grid-template-columns:36px 1fr}#sim-cases li.grise .vg{display:none}
	.sim-plats-pied{display:flex;align-items:center;justify-content:space-between;gap:14px}.sim-plats-pied .sim-aide-prix{margin:0;flex:1}
}

/* grands écrans : étapes 2 et 4 mises à l'échelle comme le reste (lignes, prix, cases, aides) ; Précédent passe sous les deux boutons */
@media (min-width:1500px) and (min-height:561px){
	.sim-case{font-size:calc(14px*var(--k,1));gap:calc(12px*var(--k,1))}.sim-case input{width:calc(22px*var(--k,1));height:calc(22px*var(--k,1))}
	.sim-aide-prix{font-size:calc(13px*var(--k,1))}.sim-mention-premium{font-size:calc(13.5px*var(--k,1))}
	.sim-case-jour{grid-template-columns:calc(44px*var(--k,1)) calc(64px*var(--k,1)) 1fr;padding:calc(6px*var(--k,1)) calc(14px*var(--k,1))}
	.sim-case-jour .jr,.sim-case-jour .tx small{font-size:calc(14px*var(--k,1))}.sim-case-jour .tx b{font-size:calc(16px*var(--k,1))}
	.sim-case-jour .vg{width:calc(64px*var(--k,1));height:calc(48px*var(--k,1))}
	.sim-cases li .sim-prix-plat,.sim-cases li .sim-detail-btn,.sim-cases li .sim-vider{top:calc(24px*var(--k,1) + 6px)}
	.sim-prix-plat input{font-size:calc(16px*var(--k,1));width:calc(58px*var(--k,1))}.sim-prix-plat{min-height:calc(40px*var(--k,1))}
	.sim-detail-btn{font-size:calc(13px*var(--k,1))}
	.sim-cases li:has(.sim-detail-btn) .sim-prix-plat{right:calc(184px*var(--k,1))}.sim-cases li:has(.sim-detail-btn) .sim-detail-btn{right:calc(106px*var(--k,1))}
	.sim-cases li:has(.sim-detail-btn) .sim-case-jour .tx{padding-right:calc(212px*var(--k,1))}
	.sim-detail label{font-size:calc(12.5px*var(--k,1))}.sim-detail input,.sim-detail select{font-size:calc(14px*var(--k,1));min-height:calc(40px*var(--k,1))}
	.sim-nav:has(.sim-final:not([hidden])){grid-template-columns:1fr}
	.sim-nav:has(.sim-final:not([hidden])) #sim-prec{grid-column:1;grid-row:2}
	.sim-nav:has(.sim-final:not([hidden])) .sim-final{grid-column:1;grid-row:1;grid-template-columns:1fr 1fr}
	.sim-final .btn{white-space:nowrap}
}
@media (min-width:1500px) and (min-height:561px){
	.sim-etape .sim-case,.sim-etape .sim-case span{font-size:calc(14px*var(--k,1));line-height:1.4}
	.sim-case-jour .tx b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}
	#sim-cases li.grise .sim-case-jour{grid-template-columns:auto 1fr;gap:calc(10px*var(--k,1))}
}

/* erreur de saisie : le champ le dit lui-même (liseré corail, y compris au focus) et le message se lit juste dessous */
.sim-champ input.err,.sim-champ input.err:focus,.sim-champ input.err:focus-visible{box-shadow:0 0 0 2px #ff8a73;outline:0}
.sim-etat.ko{color:#ffb4a2;font-size:14px;line-height:1.4;margin:-4px 2px 2px}.sim-etat:empty{display:none}

/* téléphone (≤ 560 px) : le nom du plat garde toute sa largeur, sur deux lignes ; le prix passe en bas à droite de la ligne */
@media (max-width:560px){
	.sim-cases li{min-height:92px}
	.sim-cases li:has(.sim-prix-plat) .sim-case-jour{min-height:92px;align-items:start;padding-top:12px;grid-template-columns:36px 56px 1fr}
	.sim-cases li:has(.sim-prix-plat) .sim-case-jour .tx{padding-right:44px}
	.sim-cases li:has(.sim-prix-plat) .sim-case-jour .tx b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
	.sim-cases li .sim-prix-plat{top:auto;bottom:8px;right:52px;transform:none;min-height:36px}
	.sim-cases li .sim-vider{top:12px;bottom:auto;right:6px;transform:none}
	.sim-cases li:has(.sim-prix-plat) .sim-case-jour .tx small{display:none}
	.sim-cases li.grise{min-height:0}
}

/* légende du support actif : sous le visuel, jamais par-dessus ; elle s'efface au survol d'un autre support pour ne pas se superposer à son étiquette */
.sim-supports{display:grid;gap:6px}
.sim-legende{display:grid;justify-items:center;gap:2px;min-height:2.7em;text-align:center;font:400 15px/1.3 var(--sans);color:rgb(var(--cream-rgb) / .9);transition:opacity .2s}
.sim-legende .prem{font-family:var(--serif,Georgia,serif);font-style:italic;font-size:14px;color:var(--amber)}
.sim-supports:has(.sim-onglets button:not([aria-selected="true"]):hover) .sim-legende,.sim-supports:has(.sim-onglets button:not([aria-selected="true"]):focus-visible) .sim-legende{opacity:0}
.sim-onglets button[aria-selected="true"]::after{display:none}
@media (min-width:1101px){.sim-grille{gap:var(--m)}.sim{padding-left:var(--m);padding-right:var(--m)}}

/* pastilles (textes R du 09/11/2026) : coche verte « Inclus », « Premium » pour le reste */
.opt .pastille.gratuit{display:inline-flex;align-items:center;gap:6px}
.opt .pastille.gratuit::before{content:'';width:12px;height:12px;border-radius:50%;background:#2e9d57 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2L9 4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* couleurs : principale, harmonies proposées, couleur libre */
.sim-lbl-champ small{font-weight:400;opacity:.7}
.sim-coul-rang{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.sim-coul{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 14px 4px 6px;border-radius:99px;background:rgba(255,255,255,.09);color:var(--cream);font-size:15px;cursor:pointer}
.sim-coul input[type=color]{flex:none;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.sim-coul input[type=color]::-webkit-color-swatch-wrapper{padding:0}.sim-coul input[type=color]::-webkit-color-swatch{border:2px solid rgba(255,255,255,.5);border-radius:50%}.sim-coul input[type=color]::-moz-color-swatch{border:2px solid rgba(255,255,255,.5);border-radius:50%}
.sim-coul:focus-within{outline:2px solid var(--amber);outline-offset:2px}
.sim-harmonies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sim-harmonies[hidden]{display:none}
.sim-harmonie{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 6px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--cream);font-size:14px}
.sim-harmonie i{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.sim-harmonie[aria-pressed="true"]{box-shadow:0 0 0 2px var(--amber);background:rgb(var(--amber-rgb) / .14)}
.sim-harmonie:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sim-couleurs .sim-aide{margin:10px 0 0}

/* anti-robot Turnstile : invisible tant que Cloudflare n'a pas besoin d'une interaction */
.sim-robot{margin:8px 0}.sim-robot[hidden]{display:none}
