
		@font-face{font-family:"Bricolage Grotesque";src:url("https://familypass.fr/wp-content/plugins/family-pass/assets/fonts/bricolage.woff2?v=3.674.0") format("woff2");font-weight:600 800;font-style:normal;font-display:swap}
		@font-face{font-family:"Space Grotesk";src:url("https://familypass.fr/wp-content/plugins/family-pass/assets/fonts/space.woff2?v=3.674.0") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
		

		.fpv{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1000px;margin:0 auto;color:#1B2433}
		.fpv *{box-sizing:border-box}
		.fpv-hero{background:linear-gradient(155deg,#1B3050,#0C1726);border-radius:24px;padding:40px 28px;color:#fff;position:relative;overflow:hidden;text-align:center}
		.fpv-hero::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(27,79,163,.22),transparent 70%)}
		.fpv-hero .eyebrow{display:inline-block;font-size:12.5px;font-weight:600;color:#9CC0FF;background:rgba(255,255,255,.08);padding:6px 13px;border-radius:999px;position:relative;z-index:1}
		.fpv-hero h2{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:16px 0 0;position:relative;z-index:1}
		.fpv-hero p{color:#bccadb;font-size:15px;margin:12px auto 0;max-width:480px;position:relative;z-index:1;line-height:1.55}
		.fpv-hero .price{font-size:13px;color:#cdd8e6;margin-top:8px;position:relative;z-index:1}
		.fpv-hero .cta{display:inline-block;margin-top:22px;background:#1B4FA3;color:#fff;font-weight:700;font-size:15px;padding:14px 26px;border-radius:13px;text-decoration:none;position:relative;z-index:1}
		.fpv-title{font-size:22px;font-weight:800;color:#16263F;margin:32px 0 4px;letter-spacing:-.01em}
		.fpv-sub{color:#6B7385;font-size:14px;margin-bottom:18px}
		.fpv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
		.fpv-card{background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:18px;box-shadow:0 8px 24px -16px rgba(16,30,48,.4)}
		.fpv-card .top{display:flex;align-items:center;gap:13px;margin-bottom:14px}
		.fpv-card .ic{width:52px;height:52px;border-radius:14px;background:#F6F8F4;display:grid;place-items:center;font-size:25px}
		.fpv-card .nm{font-weight:600;font-size:15.5px}.fpv-card .ca{font-size:12px;color:#6B7385}
		.fpv-card .desc{font-size:13.5px;color:#1B2433;line-height:1.5;min-height:38px}
		.fpv-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid #EDEFEB}
		.fpv-card .badge{font-size:12px;font-weight:700;color:#fff;background:#1B4FA3;padding:6px 11px;border-radius:9px}
		.fpv-card .cond{font-size:11.5px;color:#6B7385}
		.fpv-empty{color:#6B7385;font-size:14px;padding:18px;text-align:center;background:#F6F8F4;border-radius:14px}
		.fp-passcard{background:radial-gradient(130% 85% at 18% 0%,rgba(156,192,255,.10),transparent 55%),linear-gradient(155deg,#20395e 0%,#152743 42%,#0C1726 100%);border:1px solid rgba(156,192,255,.14);border-radius:26px;padding:24px;color:#fff;position:relative;overflow:hidden;max-width:360px;margin:0 auto;box-shadow:0 26px 52px -26px rgba(12,23,38,.95),inset 0 1px 0 rgba(255,255,255,.09)}
		.fp-passcard::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(59,111,212,.30),transparent 70%)}
		.fp-passcard::before{content:"";position:absolute;left:-80px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(224,40,30,.10),transparent 70%)}
		.fp-pc-head{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}
		.fp-pc-hi{font-size:12px;color:#9fb0c6}.fp-pc-nm{font-weight:700;font-size:20px;margin-top:2px}
		.fp-pc-founder{display:inline-block;font-size:9.5px;font-weight:800;color:#5a4410;background:linear-gradient(135deg,#FBEFCB,#F0C65A);padding:2px 7px;border-radius:999px;vertical-align:middle;margin-left:6px;letter-spacing:.02em}
		.fp-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(22,38,63,.5);color:#e8eef8;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-radius:999px;border:1px solid rgba(150,175,215,.35);box-shadow:0 4px 14px -6px rgba(22,38,63,.6)}
		.fp-dot{width:7px;height:7px;border-radius:50%;background:var(--fp-gold)}
		.fp-qr-wrap{position:relative;width:252px;height:252px;margin:18px auto 6px;display:grid;place-items:center}
		/* QR PREMIUM (abonnés Illimité) : double cadre or + halo respirant, la
		   carte de valeur qui se voit, sans clignotant kitsch. */
		.fp-plate-gold{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--fp-gold),0 10px 34px rgba(233,169,62,.5)!important;border-radius:18px;animation:fpGoldBreath 3.6s ease-in-out infinite}
		@keyframes fpGoldBreath{0%,100%{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--fp-gold),0 10px 34px rgba(233,169,62,.5)}50%{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--fp-gold),0 10px 44px rgba(233,169,62,.72)}}
		/* Les équerres dorées aux coins ont sauté : maintenant que le QR tient dans
		   l anneau, celui-ci fait le tour tout seul, deux marques de plus, ça
		   chargeait le dessin pour rien. */
		@media (prefers-reduced-motion:reduce){.fp-plate-gold{animation:none}}
		/* ===== PREMIUM (abonne actif) : la carte pass en habit or, le client le SENT ===== */
		.fp-passcard-gold{border-color:rgba(245,192,78,.42)!important;box-shadow:0 26px 52px -26px rgba(12,23,38,.95),0 0 0 1.5px rgba(245,192,78,.4),0 0 30px -8px rgba(245,192,78,.4),inset 0 1px 0 rgba(255,255,255,.09)!important}
		.fp-pill-gold{background:linear-gradient(135deg,var(--fp-gold),#c9962f)!important;color:#2a1c04!important;border-color:rgba(245,192,78,.85)!important;box-shadow:0 4px 14px -6px rgba(245,192,78,.65)!important}
		.fp-pill-gold .fp-dot{background:#2a1c04!important}
		.fp-prem-merci{text-align:center;font-size:11px;color:#e8c67a;margin-top:12px;letter-spacing:.01em}
		.fpa-choose{margin:16px 0 4px;display:flex;flex-direction:column;gap:10px}
		.fpa-choice-tag{font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:99px;background:#EDF1F7;color:#32404F;white-space:nowrap}
		.fpapp[data-theme="dark"] .fpa-choice-tag{background:#24304c;color:#c9d6ee}
		.fpa-choice-tag.free{background:#EDF1F7;color:#32404F}
		.fpapp[data-theme="dark"] .fpa-choice-tag.free{background:#24304c;color:#c9d6ee}
		.fpa-choice-tag.gold{background:#FBF3DF;color:#8a6d1a}
		.fpapp[data-theme="dark"] .fpa-choice-tag.gold{background:#3a2f14;color:var(--fp-gold)}
		.fpa-choice-tag.grey{background:#EDF1F7;color:#6B7385}
		.fpapp[data-theme="dark"] .fpa-choice-tag.grey{background:#1c2c48;color:#a9b6c9}
		.fpa-choice-b{font-size:12.5px;line-height:1.55;color:#4a5468;margin:7px 0 10px}
		.fpapp[data-theme="dark"] .fpa-choice-b{color:#9aa6bd}
		.fpa-choice-ok{font-size:12.5px;font-weight:700;color:#1F7A43;background:#E7F5EC;border-radius:10px;padding:9px 12px;text-align:center}
		.fpapp[data-theme="dark"] .fpa-choice-ok{background:#123021;color:#67d093}
		/* ===== ECRAN ACTIVATION (accueil, QR FLOUTE + cadenas), carte pass sombre ===== */
		.fp-activate{text-align:center;padding:2px 2px}
		.fp-activate-qrwrap{margin:2px auto 14px}
		.fp-activate-qrwrap .fp-qr-plate{margin:0 auto}
		.fp-activate-lock{position:absolute;right:-9px;bottom:-9px;width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg,#3B6FD4,#1B4FA3);display:grid;place-items:center;box-shadow:0 8px 18px -8px rgba(27,79,163,.9);border:2px solid rgba(255,255,255,.35)}
		.fp-activate-lock svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fp-activate-t{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em;color:#fff}
		.fp-activate-s{font-size:13px;color:rgba(255,255,255,.72);line-height:1.5;margin:6px auto 15px;max-width:290px}
		.fp-how3{display:flex;flex-direction:column;gap:12px;text-align:left;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(244,197,96,.28);border-radius:16px;padding:14px;margin:0 0 16px;box-shadow:0 12px 28px -18px rgba(0,0,0,.55)}
		.fp-how3-i{display:flex;align-items:center;gap:12px}
		.fp-how3-i+.fp-how3-i{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
		.fp-how3-ic{width:36px;height:36px;border-radius:11px;background:linear-gradient(160deg,rgba(244,197,96,.22),rgba(233,169,62,.1));border:1px solid rgba(244,197,96,.35);display:grid;place-items:center;flex-shrink:0}
		.fp-how3-ic svg{width:18px;height:18px;fill:none;stroke:var(--fp-gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fp-how3-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
		.fp-how3-tx b{color:#fff;font-weight:800;font-size:13.5px;letter-spacing:-.01em;line-height:1.25}
		.fp-how3-tx span{color:rgba(255,255,255,.72);font-size:11.5px;line-height:1.35}
		.fp-activate-btn{-webkit-appearance:none;appearance:none;width:100%;border:0;border-radius:14px;padding:14px;font-size:14.5px;font-weight:800;font-family:inherit;cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,var(--fp-gold),var(--fp-gold-deep));color:#3a2c07;box-shadow:0 12px 26px -12px rgba(233,169,62,.9);transition:transform .12s}
		.fp-activate-btn:active{transform:scale(.98)}
		/* ===== SÉLECTEUR 3 CHOIX, wizard (Compte) ===== */
		/* [hidden] doit gagner sur le display:flex/block ci-dessous (sinon la grille
		   resterait visible sous le panneau ouvert). */
		.fpa-wiz-grid[hidden],.fpa-wiz-panel[hidden]{display:none}
		.fpa-wiz-grid{display:grid;grid-template-columns:1fr;gap:10px}
		.fpa-wcard{-webkit-appearance:none;appearance:none;display:block;text-align:left;width:100%;background:#fff;border:1px solid #e4e9f2;border-radius:18px;padding:15px 16px;cursor:pointer;font-family:inherit;position:relative;transition:transform .12s,border-color .12s,box-shadow .12s;box-shadow:0 10px 26px -20px rgba(16,30,48,.55)}
		.fpapp[data-theme="dark"] .fpa-wcard{background:#15233e;border-color:#26314c;box-shadow:0 10px 26px -18px rgba(0,0,0,.6)}
		.fpa-wcard:active{transform:scale(.99)}
		/* CARTE HÉROS Illimité : même langage visuel que la carte pass (navy profond,
		   accents dorés), les deux autres cartes restent blanches, premium et sobres. */
		.fpa-wcard{position:relative}
		.fpa-wcard.hero{background:linear-gradient(150deg,#16263F,#0C1726);border:1px solid rgba(244,197,96,.45);color:#E6ECF5;padding:21px 16px 16px;margin-top:10px;overflow:visible;box-shadow:0 18px 40px -18px rgba(12,23,38,.8),0 0 0 4px rgba(244,197,96,.07)}
		.fpa-wcard.hero:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 85% -10%,rgba(244,197,96,.16),transparent 55%);pointer-events:none}
		.fpa-wcard.hero>*{position:relative}
		.fpapp[data-theme="dark"] .fpa-wcard.hero{border-color:rgba(244,197,96,.45)}
		.fpa-wcard.hero .fpa-wcard-hd b{color:#fff;font-size:17.5px}
		.fpa-wcard-flag{position:absolute;top:-11px;left:14px;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 45%,var(--fp-gold-deep));color:#3a2c07;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;border-radius:999px;box-shadow:0 8px 18px -6px rgba(233,169,62,.9);border:1px solid rgba(255,255,255,.55);z-index:1}
		.fpa-wcard.hero .fpa-wcard-flag{position:absolute}
		.fpa-wcard-price{font-family:"Bricolage Grotesque","Inter",sans-serif;color:rgba(255,255,255,.72);font-size:12.5px;font-weight:600;white-space:nowrap}
		.fpa-wcard-price b{font-size:26px;font-weight:800;color:var(--fp-gold);letter-spacing:-.02em;margin-right:2px;text-shadow:0 2px 12px rgba(244,197,96,.35)}
		.fpa-wcard-perks{list-style:none;margin:11px 0 14px;padding:0;display:flex;flex-direction:column;gap:9px}
		.fpa-wcard-perks li{position:relative;padding-left:24px;font-size:12.5px;line-height:1.45;color:#D5DFEF;text-align:left}
		.fpa-wcard-perks li:before{content:"";position:absolute;left:2px;top:4px;width:12px;height:7px;border-left:2px solid var(--fp-gold);border-bottom:2px solid var(--fp-gold);transform:rotate(-45deg)}
		.fpa-wcard-cta{display:block;text-align:center;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 40%,var(--fp-gold-deep));color:#3a2c07;border-radius:13px;padding:13px;font-weight:800;font-size:14px;letter-spacing:-.01em;box-shadow:0 12px 26px -10px rgba(233,169,62,.9)}
		.fpa-wcard-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
		.fpa-wcard-ic{width:32px;height:32px;border-radius:10px;background:linear-gradient(160deg,#EEF3FB,#E3EBF7);border:1px solid #dbe4f0;display:grid;place-items:center;flex-shrink:0;margin-right:2px}
		.fpa-wcard-ic svg{width:16px;height:16px;fill:none;stroke:#1B4FA3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fpa-wcard-ic{background:linear-gradient(160deg,#1b2434,#141b2b);border-color:#26314c}
		.fpapp[data-theme="dark"] .fpa-wcard-ic svg{stroke:#8ab0f0}
		.fpa-wcard-hd b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15.5px;letter-spacing:-.02em;color:#16263F;margin-right:auto}
		.fpapp[data-theme="dark"] .fpa-wcard-hd b{color:#E6ECF5}
		.fpa-wcard-b{font-size:12.5px;line-height:1.5;color:#4a5468;margin:8px 0 10px}
		.fpapp[data-theme="dark"] .fpa-wcard-b{color:#9aa6bd}
		.fpa-wcard-go{font-size:13px;font-weight:800;color:#1B4FA3}
		/* Chapeau du selecteur : dit comment lire les 3 cartes */
		.fpa-choose-lead{margin:-4px 0 2px;font-size:12.5px;line-height:1.5;color:#5a6472}
		.fpapp[data-theme="dark"] .fpa-choose-lead{color:#9aa6bd}
		/* REPERE DE VALEUR (carte Illimite) : le vrai cumul d economies du membre,
		   ou a defaut l arithmetique verifiable (prix reel + seuil). Jamais de moyenne. */
		.fpa-wcard-val{background:rgba(244,197,96,.14);border:1px solid rgba(244,197,96,.34);border-radius:12px;padding:10px 12px;margin:0 0 11px;font-size:12px;line-height:1.5;color:#EFE3C8;text-align:left}
		.fpa-wcard-val b{color:#F8D98E;font-weight:800}
		/* Ligne « Ensuite » : meme place sur les 3 cartes, donc comparable */
		.fpa-wcard-after{font-size:12px;line-height:1.5;color:#4a5468;margin:0 0 11px;text-align:left}
		.fpa-wcard-after b{color:#16263F;font-weight:800}
		.fpa-wcard.hero .fpa-wcard-after{color:#C3D0E4;margin-bottom:13px}
		.fpa-wcard.hero .fpa-wcard-after b{color:#fff}
		.fpapp[data-theme="dark"] .fpa-wcard-after{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fpa-wcard-after b{color:#dbe6f5}
		.fpapp[data-theme="dark"] .fpa-wcard-go{color:#8ab0f0}
		/* LES 3 OFFRES EN PREMIUM : Illimite = heros or ci-dessus ; Gratuit = vert frais ;
		   Sans abonnement = bleu. Chacune sa couleur, liseree a gauche, meme niveau de soin. */
		.fpa-wcard:not(.hero){overflow:hidden}
		.fpa-wcard:not(.hero)::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}
		.fpa-wcard:not(.hero):hover{transform:translateY(-2px);box-shadow:0 18px 34px -18px rgba(16,30,48,.62)}
		.fpa-wcard[data-choice="gratuit"]{border-color:#CDEBDD;background:linear-gradient(180deg,#FBFFFD,#F3FBF7)}
		.fpa-wcard[data-choice="gratuit"]::after{background:linear-gradient(#34C77B,#1FA968)}
		.fpa-wcard[data-choice="gratuit"] .fpa-wcard-ic{background:linear-gradient(160deg,#E4F7EE,#D2F0E1);border-color:#BFE7D3}
		.fpa-wcard[data-choice="gratuit"] .fpa-wcard-ic svg{stroke:#1B9E63}
		/* Vert assombri : #1B9E63 ne donnait que 3,3:1 sur le fond vert pale de la
		   carte (sous les 4,5:1 exiges pour du texte). #116E43 monte a ~6:1. */
		.fpa-wcard[data-choice="gratuit"] .fpa-wcard-go{color:#116E43}
		.fpa-wcard[data-choice="gratuit"] .fpa-choice-tag.free{background:#147A4B;color:#fff}
		.fpa-wcard[data-choice="sans"]{border-color:#CBDBF5;background:linear-gradient(180deg,#FBFCFF,#F2F7FE)}
		.fpa-wcard[data-choice="sans"]::after{background:linear-gradient(#4C8BEA,#1B4FA3)}
		.fpa-wcard[data-choice="sans"] .fpa-wcard-ic{background:linear-gradient(160deg,#E6EFFC,#D7E6FA);border-color:#C4D8F4}
		.fpa-wcard[data-choice="sans"] .fpa-choice-tag.grey{background:#1B4FA3;color:#fff}
		.fpapp[data-theme="dark"] .fpa-wcard[data-choice="gratuit"]{background:linear-gradient(180deg,#12251d,#0f1f19);border-color:#20493a}
		.fpapp[data-theme="dark"] .fpa-wcard[data-choice="gratuit"] .fpa-wcard-ic{background:linear-gradient(160deg,#153025,#10251c);border-color:#245239}
		.fpapp[data-theme="dark"] .fpa-wcard[data-choice="gratuit"] .fpa-wcard-go{color:#4ed69a}
		.fpapp[data-theme="dark"] .fpa-wcard[data-choice="sans"]{background:linear-gradient(180deg,#111f38,#0f1a30);border-color:#264168}
		/* La pastille d icone du choix « Offrir » restait en fond clair la nuit */
		.fpapp[data-theme="dark"] .fpa-wcard[data-choice="sans"] .fpa-wcard-ic{background:linear-gradient(160deg,#1a2b48,#142238);border-color:#2b4166}
		.fpa-wiz-panel{background:#fff;border:1px solid #e4e9f2;border-radius:16px;padding:15px;box-shadow:0 10px 26px -18px rgba(16,30,48,.5)}
		.fpapp[data-theme="dark"] .fpa-wiz-panel{background:#15233e;border-color:#26314c}
		.fpa-wiz-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
		.fpa-wiz-hd b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15.5px;letter-spacing:-.02em;color:#16263F}
		.fpapp[data-theme="dark"] .fpa-wiz-hd b{color:#E6ECF5}
		.fpa-wiz-back{-webkit-appearance:none;appearance:none;background:none;border:0;color:#6B7385;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;padding:4px;flex-shrink:0}
		.fpa-wiz-back:hover{color:#16263F}
		.fpapp[data-theme="dark"] .fpa-wiz-back:hover{color:#E6ECF5}
		.fpa-wiz-panel .fpa-subcard{border:0;padding:0;margin:0;box-shadow:none;background:transparent}
		.fpa-free0{display:inline-block;background:#EDF1F7;color:#3D4A5C;font-weight:800;font-size:12px;padding:4px 10px;border-radius:99px;margin-bottom:11px}
		.fpapp[data-theme="dark"] .fpa-free0{background:#24304c;color:#c9d6ee}
		.fpa-why{background:#F3F6FA;border-radius:13px;padding:13px;margin-bottom:13px}
		.fpapp[data-theme="dark"] .fpa-why{background:#111827}
		.fpa-why-t{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;color:#16263F;margin-bottom:9px;letter-spacing:-.01em}
		.fpapp[data-theme="dark"] .fpa-why-t{color:#E6ECF5}
		.fpa-why-t svg{width:17px;height:17px;fill:none;stroke:#1B4FA3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
		.fpa-why ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
		.fpa-why li{display:flex;gap:9px;font-size:12.5px;color:#4a5468;line-height:1.45}
		.fpapp[data-theme="dark"] .fpa-why li{color:#9aa6bd}
		.fpa-why li svg{width:15px;height:15px;fill:none;stroke:#19895A;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:1px}
		.fpa-why li b{color:#16263F;font-weight:800}
		.fpapp[data-theme="dark"] .fpa-why li b{color:#dbe6f5}
		.fpa-secure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#6B7385;margin-top:10px;text-align:center;line-height:1.4}
		.fpa-secure svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
		.fpa-why-lite{font-size:13px;color:#4a5468;line-height:1.55;margin-bottom:13px}
		.fpapp[data-theme="dark"] .fpa-why-lite{color:#9aa6bd}
		.fpa-why-lite b{color:#16263F}.fpapp[data-theme="dark"] .fpa-why-lite b{color:#dbe6f5}
		.fpa-supwrap{margin-top:18px}
		.fpa-supwrap>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:16px;letter-spacing:-.02em;padding:12px 14px;background:#fff;border:1px solid #e4e9f2;border-radius:14px}
		.fpapp[data-theme="dark"] .fpa-supwrap>summary{background:#15233e;border-color:#26314c}
		.fpa-supwrap>summary::-webkit-details-marker{display:none}
		.fpa-supwrap>summary::after{content:"+";margin-left:auto;font-size:19px;opacity:.55;font-weight:600}
		.fpa-supwrap[open]>summary::after{content:"–"}
		.fpa-supwrap[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
		.fpa-supwrap .fpa-support{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}
		.fp-ring{position:absolute;inset:0;transform:rotate(-90deg)}
		/* V3 lot 5 : les modes qui SE VIDENT (compte a rebours du QR, fenetre)
		   tournent maintenant dans le sens des aiguilles (effet miroir) — le
		   patron voyait le bord reculer a contresens, et il avait raison. La
		   recharge, elle, garde son remplissage dans le sens horaire. */
		/* MIROIR + ROTATION : scaleX(-1) inverse le sens de remplissage, mais il
		   inverse AUSSI la rotation. Avec rotate(-90deg), le depart de l arc tombait
		   a 6 h (en bas) au lieu de midi. rotate(+90deg) compense le miroir :
		   depart a MIDI, meme sens de remplissage. */
		.fp-ring[data-mode="gold"],.fp-ring[data-mode="armed"],.fp-ring[data-mode="ready"],.fp-ring[data-mode="live"]{transform:rotate(90deg) scaleX(-1)}
		.fp-ring circle{fill:none;stroke-width:6;stroke-linecap:round}
		.fp-track{stroke:rgba(255,255,255,.12)}
		.fp-prog{stroke:#9CC0FF;transition:stroke-dashoffset .6s linear}
		.fp-ring[data-mode="gold"] .fp-prog,.fp-ring[data-mode="live"] .fp-prog{stroke:var(--fp-gold);filter:drop-shadow(0 0 6px rgba(245,192,78,.55))}
		.fp-ring[data-mode="ready"] .fp-prog,.fp-ring[data-mode="armed"] .fp-prog{stroke:#9CC0FF}
		.fp-armed-note{margin-top:10px;font-size:12.5px;color:#c9d6ee;text-align:center}
		.fp-armed-note b{color:#fff}
		/* PUCE SOUS LE QR (premium) : icone doree, texte a gauche. Etat « armed » =
		   ce que le membre a (avantages prets, ou annonce de la fenetre si le chrono
		   est active) ; etat « live » = chrono active et en cours (temps restant en
		   grand + pastille en direct). Sur la carte marine dans
		   les deux themes : aucun override sombre necessaire. */
		.fp-chrono{margin:11px auto 0;display:inline-flex;align-items:center;gap:10px;padding:8px 15px 8px 9px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(244,197,96,.32);position:relative;max-width:100%}
		.fp-chrono-ic{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(150deg,var(--fp-gold),var(--fp-gold-deep));box-shadow:0 4px 11px -4px rgba(233,169,62,.75)}
		.fp-chrono-ic svg{width:17px;height:17px;fill:none;stroke:#3a2c07;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fp-chrono-tx{display:flex;flex-direction:column;gap:1px;text-align:left;line-height:1.15;min-width:0}
		.fp-chrono-tx>b{color:#fff;font-size:15px;font-weight:800;font-family:"Space Grotesk","Inter",sans-serif;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
		.fp-chrono-tx>span{color:#c9d6ee;font-size:11.5px}
		.fp-chrono-tx>span b{color:#F4D06F;font-weight:800}
		.fp-chrono-armed .fp-chrono-tx>b{color:#F4D06F}
		.fp-chrono-live{padding-right:22px}
		.fp-chrono-dot{position:absolute;top:10px;right:11px;width:7px;height:7px;border-radius:50%;background:#4ADE80;animation:fpChronoPulse 1.8s ease-out infinite}
		@keyframes fpChronoPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
		/* Chrono en cours mais 0 avantage restant : on teinte OR (moment premium) et le
		   lien de conversion Illimité est mis en avant (or = conversion, règle maison). */
		.fp-armed-empty b{color:#F4D06F}
		.fp-count-cta{color:#F4D06F;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(244,208,111,.55);white-space:nowrap}
		.fp-count-cta:hover,.fp-count-cta:focus-visible{border-bottom-color:#F4D06F}
		.fp-ring[data-mode="charge"] .fp-prog{stroke:#7E8CA8}
		.fp-ring[data-mode="off"] .fp-prog{stroke:transparent}
		.fp-qr-plate{width:167px;height:167px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:7px;box-shadow:0 16px 34px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.07)}
		.fp-qr-plate svg{display:block}
		.fp-count{text-align:center;color:#cdd8e6;font-size:13px;position:relative;z-index:1}.fp-count b{color:#9CC0FF}
		.fp-pc-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;position:relative;z-index:1}
		/* LE NUMERO DE MEMBRE SE LIT A VOIX HAUTE (audit integral, O5). Quand la
		   camera du commercant ne marche plus, il demande ce numero et le tape. Il
		   faut donc le lire caractere par caractere sans hesiter : chiffres a chasse
		   fixe (le 1 et le 7 ne dansent plus), lettres espacees, et surtout
		   SELECTIONNABLE pour le copier. Aucun deplacement : le numero reste
		   exactement ou il est sur la carte. */
		.fp-pc-foot .fp-v{font-variant-numeric:tabular-nums;letter-spacing:.04em;-webkit-user-select:text;user-select:text}
		.fp-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9db0c9}
		.fp-v{font-size:15.5px;color:#eaf0f7;margin-top:2px}.fp-gold{color:#9CC0FF}
		/* ===== Polish v2.3, coherence couleurs, dark manquant, tactile, lisibilite ===== */
		/* Sombre : pastilles et blocs oublies (fiche, a saisir, recherche, cadeau) */
		.fpapp[data-theme="dark"] .fps-grab-tag.basket{background:#14301f;color:#67d093}
		.fpapp[data-theme="dark"] .fps-grab-tag.event{background:#152238;color:#8FB3FF}
		.fpapp[data-theme="dark"] .fps-grab-left{color:#c9d6ee}
		.fpapp[data-theme="dark"] .fps-grab-left.full{color:#ff9c8f}
		.fpapp[data-theme="dark"] .fps-grab-left.low{color:#ff9c8f}
		.fpapp[data-theme="dark"] .fps-grab-cd{color:#f0cf9a;background:rgba(233,169,62,.14);border-color:rgba(233,169,62,.32)}
		.fpapp[data-theme="dark"] .fps-grab-cd.soon{color:#ff9c8f;background:rgba(200,69,59,.18);border-color:rgba(200,69,59,.4)}
		.fpapp[data-theme="dark"] .fpa-sres.ok{background:#14301f}
		.fpapp[data-theme="dark"] .fpa-sres.ko{background:#3a1f1c}
		.fpapp[data-theme="dark"] .fp-gift-sched{border-color:#2b3b57}
		.fpapp[data-theme="dark"] .fp-gift-sched-b input,.fpapp[data-theme="dark"] .fp-gift-sched-b textarea{background:#12203a;border-color:#2b3b57;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-gift-note{color:#9FB0C6}
		/* Focus clavier visible aussi en sombre et sur les surfaces navy permanentes */
		.fpapp[data-theme="dark"] :focus-visible{outline-color:#8FB3FF}
		.fp-passcard :focus-visible,.fpa-ref :focus-visible,.fpa-value :focus-visible,.fpa-pitch :focus-visible{outline-color:#9CC0FF}
		/* Zones tactiles ~44px sans changer le rendu (pouces de familles pressees) */
		.fp-notice-x{position:relative}
		.fp-notice-x::before,.fps-prev-x::before{content:"";position:absolute;inset:-11px}
		/* La croix du commentaire a un VOISIN maintenant (le crayon) : sa zone tactile
		   ne peut plus deborder de 11px de chaque cote sans recouvrir le crayon et
		   supprimer quand on voulait corriger. Zone posee dans .fps-c-t, calee sur
		   l ecart exact entre les deux boutons. */
		.fpa-bell,.fpa-theme{width:40px;height:40px}
		.fpa-bell::before,.fpa-theme::before,.fpa-ipass::before{content:"";position:absolute;inset:-4px}
		.fpa-switch::before{content:"";position:absolute;inset:-10px}
		.fpa-bell{right:54px}
		.fpa-ipass{right:94px}
		.fpa-topbar:not(.has-bell) .fpa-ipass{right:54px}
		/* Titre de decision (choix de formule) : plus fort que les rubriques de service */
		/* Carte pass : pied separe par un filet discret, respiration premium */
		.fp-pc-foot{border-top:1px solid rgba(156,192,255,.13);padding-top:12px;margin-top:14px}
		/* Feuille de confirmation maison (remplace la boite grise du navigateur) */
		.fpa-confirm{position:absolute;inset:0;z-index:130;display:none}
		.fpa-confirm.on{display:block}
		.fpa-confirm-bg{position:absolute;inset:0;background:rgba(10,18,32,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
		.fpa-confirm-c{position:absolute;left:14px;right:14px;bottom:18px;background:#fff;border-radius:18px;padding:18px 16px 14px;box-shadow:0 22px 48px -20px rgba(10,18,32,.7);animation:fpconfup .22s ease}
		@keyframes fpconfup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
		@media (prefers-reduced-motion:reduce){.fpa-confirm-c{animation:none}}
		.fpa-confirm-t{font-size:14.5px;font-weight:700;color:#1B2433;line-height:1.45;text-align:center}
		.fpa-confirm-row{display:flex;gap:10px;margin-top:14px}
		.fpa-confirm-row button{flex:1;border:0;border-radius:12px;padding:12px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;min-height:44px}
		.fpa-confirm-no{background:#EDF1F7;color:#1B2433}
		.fpa-confirm-ok{background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff}
		.fpapp[data-theme="dark"] .fpa-confirm-c{background:#15233e}
		.fpapp[data-theme="dark"] .fpa-confirm-t{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-confirm-no{background:#24304c;color:#c9d6ee}
		/* Feuille SUIVRE : les trois niveaux de notification au moment de suivre */
		.fpa-folopts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
		.fpa-folopt{display:block;width:100%;text-align:left;border:1px solid #DCE0DB;border-radius:13px;background:#F8FAF7;padding:11px 13px;cursor:pointer;font-family:inherit;min-height:44px;transition:border-color .12s,background .12s}
		.fpa-folopt:active{background:#EDF1F7;border-color:#1B4FA3}
		.fpa-folopt b{display:block;font-size:13.5px;font-weight:800;color:#16263F}
		.fpa-folopt span{display:block;font-size:11.5px;color:#6B7385;margin-top:2px}
		.fpa-folsheet .fpa-confirm-row{margin-top:10px}
		/* Niveau ACTUEL coché dans la feuille de réglage : bordure bleue + ✓. */
		.fpa-folopt.is-cur{border-color:#1B4FA3;background:#EDF3FC}
		.fpa-folcur{font-style:normal;color:#1B4FA3;margin-left:6px;font-weight:800}
		/* « Ne plus suivre » : la seule option destructrice, marquée en rouge doux. */
		.fpa-folopt-off b{color:#B3362B}
		.fpapp[data-theme="dark"] .fpa-folopt{background:#1c2b47;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-folopt:active{background:#24304c}
		.fpapp[data-theme="dark"] .fpa-folopt b{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-folopt span{color:#8091a6}
		.fpapp[data-theme="dark"] .fpa-folopt.is-cur{border-color:#9CC0FF;background:#22345c}
		.fpapp[data-theme="dark"] .fpa-folcur{color:#9CC0FF}
		.fpapp[data-theme="dark"] .fpa-folopt-off b{color:#ff9d93}
		/* Feuille « avis au ding » (V3 lot 4) : 5 étoiles tapables, dorées comme
		   le reste de la charte, cibles tactiles 44px. */
		.fpa-revrow{display:flex;justify-content:center;gap:6px;margin-top:14px}
		.fpa-revstar{width:46px;height:46px;border:0;background:none;cursor:pointer;font-size:32px;line-height:1;color:#D5DAE3;transition:color .12s,transform .12s;padding:0}
		.fpa-revstar.on{color:#E9A93E}
		.fpa-revstar:active{transform:scale(1.15)}
		.fpa-revstar:disabled{cursor:default}
		.fpa-revhint{font-size:11.5px;color:#6B7385;text-align:center;margin-top:8px}
		.fpa-revsheet .fpa-confirm-row{margin-top:10px}
		.fpapp[data-theme="dark"] .fpa-revstar{color:#3a4a68}
		.fpapp[data-theme="dark"] .fpa-revstar.on{color:#F4C560}
		.fpapp[data-theme="dark"] .fpa-revhint{color:#8091a6}
		/* Halo doux derriere le QR, le grand carre respire, meme theme */
		.fp-qr-wrap::before{content:"";position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(156,192,255,.12),transparent 65%);pointer-events:none}

		/* =================================================================
		   DESIGN « au max », relief nocturne, cascades d entree, heros
		   vivants. Toute animation est neutralisee par la regle globale
		   reduced-motion (animation:none!important) : l utilisateur sensible
		   voit tout fixe et pleinement visible.
		   ============================================================== */
		/* --- A. RELIEF NOCTURNE : les cartes retrouvent leur volume la nuit --- */
		.fpapp[data-theme="dark"] .fpa-acccard,
		.fpapp[data-theme="dark"] .fpa-list,
		.fpapp[data-theme="dark"] .fpa-edit,
		.fpapp[data-theme="dark"] .fpa-code,
		.fpapp[data-theme="dark"] .fps-post,
		.fpapp[data-theme="dark"] .fps-grab-c,
		.fpapp[data-theme="dark"] .fpa-quick,
		.fpapp[data-theme="dark"] .fpa-fresh{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px -22px rgba(0,0,0,.72)}
		.fpapp[data-theme="dark"] .fpa-quick,
		.fpapp[data-theme="dark"] .fpa-fresh{background:linear-gradient(180deg,#182a48,#132038)}
		/* --- A-bis. COMPTE : sauver le CTA Installer + l avatar en mode sombre --- */
		.fpapp[data-theme="dark"] .fpa-install{background:linear-gradient(150deg,#1c3a6b,#12294d);border:1px solid rgba(156,192,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 30px -18px rgba(0,0,0,.82)}
		.fpapp[data-theme="dark"] .fpa-install svg{stroke:#bcd4ff}
		/* Bloc « Installer l app » en mode nuit (traite en meme temps que le clair) */
		.fpapp[data-theme="dark"] .fpa-inst{background:#15233e;border-color:#26314c;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-inst-ic{background:linear-gradient(150deg,#1c3a6b,#12294d)}
		.fpapp[data-theme="dark"] .fpa-inst-t h3,
		.fpapp[data-theme="dark"] .fpa-inst-why li b,
		.fpapp[data-theme="dark"] .fpa-inst-how ol li b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-inst-t p,
		.fpapp[data-theme="dark"] .fpa-inst-why li,
		.fpapp[data-theme="dark"] .fpa-inst-dev,
		.fpapp[data-theme="dark"] .fpa-inst-note,
		.fpapp[data-theme="dark"] .fpa-inst-how ol li{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-inst-hint{color:#93a0b5}
		.fpapp[data-theme="dark"] .fpa-inst-why li::before{border-left-color:#4ed69a;border-bottom-color:#4ed69a}
		.fpapp[data-theme="dark"] .fpa-inst-how{border-top-color:#26314c}
		.fpapp[data-theme="dark"] .fpa-inst-how ol li::before{background:#F4C560;color:#16263F}
		.fpapp[data-theme="dark"] .fpa-inst-warn{background:#3a1e1c;border-color:#5c2f2b;color:#ffb4ab}
		.fpapp[data-theme="dark"] .fpa-av{background:linear-gradient(150deg,#22467a,#12294d);box-shadow:0 0 0 1px rgba(156,192,255,.28)}
		/* --- C. CARTE HERO : identite sombre propre (se detache du fond nuit) --- */
		.fpapp[data-theme="dark"] .fp-passcard{box-shadow:0 30px 70px -30px #000,0 0 0 1px rgba(156,192,255,.12),inset 0 1px 0 rgba(255,255,255,.08)}
		.fpapp[data-theme="dark"] .fp-passcard-gold{box-shadow:0 30px 72px -28px #000,0 0 0 1.5px rgba(245,192,78,.55),0 0 34px -8px rgba(245,192,78,.45),inset 0 1px 0 rgba(255,255,255,.10)!important}
		/* --- Keyframes de la passe (tuees par reduced-motion global) --- */
		@keyframes fpUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
		@keyframes fpRingBreathe{0%,100%{filter:drop-shadow(0 0 6px rgba(245,192,78,.45))}50%{filter:drop-shadow(0 0 11px rgba(245,192,78,.75))}}
		@keyframes fpLikePop{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1)}}
		@keyframes fpUrge{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.5)}50%{transform:scale(1.06);box-shadow:0 0 0 5px rgba(255,255,255,0)}}
		/* --- C. ANNEAU OR VIVANT --- (la « lueur qui tourne » derriere la plaque a
		   ete RETIREE : un QR doit rester calme et lisible en caisse, zero distraction
		   qui tourne autour. Il reste le halo doux fixe de .fp-qr-wrap::before.) --- */
		.fp-ring[data-mode="gold"] .fp-prog,.fp-ring[data-mode="live"] .fp-prog{animation:fpRingBreathe 4s ease-in-out infinite}
		.fp-plate,.fp-plate-gold{position:relative;z-index:1}
		/* --- B. ENTREE ORCHESTREE (one-shot a l ouverture de l onglet) --- */
		.fptab-in .fp-passcard{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both}
		.fptab-in .fp-pill-gold{animation:fppop .5s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:.12s}
		.fptab-in .fpa-fb{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.02s}
		.fptab-in .fpa-ev{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.08s}
		.fptab-in .fpa-bask-c{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.12s}
		.fptab-in .fps-grab-c{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both}
		.fptab-in .fps-feed .fps-post{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both}
		.fptab-in .fps-feed .fps-post:nth-child(1){animation-delay:.04s}
		.fptab-in .fps-feed .fps-post:nth-child(2){animation-delay:.1s}
		.fptab-in .fps-feed .fps-post:nth-child(3){animation-delay:.16s}
		.fptab-in .fps-feed .fps-post:nth-child(n+4){animation-delay:.22s}
		.fptab-in .fpa-install{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both}
		.fptab-in .fpa-acccard{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.05s}
		.fptab-in .fpa-list{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.1s}
		.fptab-in .fpa-reassure{animation:fpUp .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:.15s}
		/* --- E. Coeur qui rebondit au like (Social) --- */
		.fps-like.on svg{animation:fpLikePop .32s cubic-bezier(.2,.9,.3,1.3)}
		/* --- F. CARTE : etat de repli (hors-ligne / vieux device) soigne --- */
		.fpa-mapfall{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;height:100%;min-height:230px;padding:26px 22px;background:#F3F5F1;border-radius:16px}
		.fpa-mapfall svg{width:40px;height:40px;stroke:#9aa8bd;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
		.fpa-mapfall b{font-size:14.5px;color:#16263F;font-weight:800}
		.fpa-mapfall span{font-size:12.5px;color:#6B7385;line-height:1.5;max-width:250px}
		.fpapp[data-theme="dark"] .fpa-mapfall{background:#15233e}
		.fpapp[data-theme="dark"] .fpa-mapfall svg{stroke:#5f6f89}
		.fpapp[data-theme="dark"] .fpa-mapfall b{color:#E6ECF5}
		/* Connexion Google (option) : bouton GIS centre + separateur « ou » */
		.fpa-google{margin:4px 0 6px;display:flex;flex-direction:column;align-items:center;gap:8px}
		.fpa-google .g_id_signin{display:flex;justify-content:center;width:100%}
		.fpa-or{display:flex;align-items:center;gap:12px;width:100%;color:#8fa0b8;font-size:12px;margin:4px 0}
		.fpa-or::before,.fpa-or::after{content:"";flex:1;height:1px;background:var(--fp-line,#DCE0DB)}
		.fpapp[data-theme="dark"] .fpa-or::before,.fpapp[data-theme="dark"] .fpa-or::after{background:#28374f}
		/* Titre Carte : accent dore a gauche (coherence de marque) */
		/* Chevron d affordance sur les cartes partenaires de l onglet Carte */
		.fpa-perk-chev{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;color:#9aa8bd}
		.fpa-perk-chev svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fpa-perk-chev{color:#5f6f89}

		@media(max-width:820px){.fpv-grid{grid-template-columns:1fr 1fr}}
		@media(max-width:560px){.fpv-grid{grid-template-columns:1fr}.fpv-hero h2{font-size:27px}}
		

		/* Pas de @import de police externe (RGPD) : les piles font-family ci-dessous
		   retombent sur les polices système du visiteur. */
		.fpapp{--fp-gold:#F4C560;--fp-gold-deep:#E9A93E;--fp-navy:#16263F;--fp-navy-2:#0C1726;--fp-ink:#1B2433;--fp-muted:#6B7385;--fp-line:#DCE0DB;--fp-surface:#fff;--fp-surface-dark:#15233e;position:relative;max-width:404px;margin:0 auto;background:#fff;border-radius:26px;overflow:hidden;overflow:clip;box-shadow:0 24px 60px -30px rgba(16,30,48,.6);border:1px solid #E4E7E2;display:flex;flex-direction:column;height:760px;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1B2433}
		.fpapp *{box-sizing:border-box}
		/* HIDDEN VEUT DIRE CACHE, PARTOUT ET POUR TOUJOURS. Le navigateur ne cache un
		   element [hidden] qu avec un display:none de SA feuille, qu une regle auteur
		   bat systematiquement : chaque .machin{display:flex} ecrit plus bas rallumait
		   donc en silence un element que le JS croyait avoir eteint. On le corrigeait
		   jusqu ici classe par classe (une vingtaine de regles ...[hidden] disseminees),
		   et le jour ou une classe etait oubliee -- .fpa-crail2, le 2e rang de puces de
		   la page Commander -- une barre doree VIDE restait affichee en permanence.
		   Cette regle unique ferme la categorie : tout element portant [hidden] est
		   cache, y compris ceux que personne n a encore ecrits. */
		.fpapp [hidden]{display:none!important}
		.fpapp .fpa-h,.fpapp .fp-pc-nm,.fpapp .fpa-n,.fpapp .fpa-sech h3,.fpapp .fp-lock-t{font-family:"Bricolage Grotesque","Inter",sans-serif;letter-spacing:-.02em}
		.fpapp .fp-v,.fpapp .fp-secs,.fpapp #fp-secs,.fpapp .fpa-code-row input{font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
		@keyframes fppulse{0%{box-shadow:0 0 0 0 rgba(55,217,140,.5)}70%{box-shadow:0 0 0 7px rgba(55,217,140,0)}100%{box-shadow:0 0 0 0 rgba(55,217,140,0)}}
		.fpapp .fp-dot{animation:fppulse 2s infinite}
		/* Meme verrou horizontal que .fp-shop-scroll : les onglets defilent en
		   vertical UNIQUEMENT, un rail qui depasse ne peut plus decaler la vue. */
		.fpapp-screen{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 16px 8px}
		/* Tirer pour rafraîchir : indicateur en haut de la liste (0 par défaut). */
		.fp-ptr{height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:-16px -16px 0;transition:height .16s ease}
		.fp-ptr-spin{width:22px;height:22px;border:2.5px solid rgba(22,38,63,.18);border-top-color:var(--fp-gold-deep);border-radius:50%}
		.fp-ptr.ready .fp-ptr-spin{border-top-color:#19895A;transform:rotate(180deg);transition:transform .15s}
		.fp-ptr.go .fp-ptr-spin{animation:fpSpin .7s linear infinite}
		@keyframes fpSpin{to{transform:rotate(360deg)}}
		.fpapp[data-theme="dark"] .fp-ptr-spin{border-color:rgba(255,255,255,.16);border-top-color:var(--fp-gold)}
		/* Bandeau « du nouveau » (flottant sous la barre de marque). */
		.fp-fresh{position:absolute;top:54px;left:50%;transform:translateX(-50%) translateY(-12px);z-index:60;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:99px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,#20355a,#16263F);box-shadow:0 12px 26px -10px rgba(12,23,38,.75);cursor:pointer;opacity:0;transition:opacity .25s,transform .25s;white-space:nowrap}
		.fp-fresh.on{opacity:1;transform:translateX(-50%) translateY(0)}
		/* Bandeau HORS-LIGNE : meme gabarit que « du nouveau », mais c est une
		   INFORMATION, pas une action — donc pas de curseur main, et un fond neutre
		   qui n imite pas un bouton sur lequel on aurait envie d appuyer. */
		.fp-offbar{cursor:default;background:linear-gradient(135deg,#4A3B22,#3A2E1B)}
		.fp-fresh svg{width:15px;height:15px;fill:none;stroke:var(--fp-gold);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
		.fp-fresh:active{transform:translateX(-50%) translateY(0) scale(.96)}
		.fpapp-screen::-webkit-scrollbar{width:0}
		.fptab{display:none}.fptab.on{display:block;animation:fpfade .25s ease}
		@keyframes fpfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
		/* Entree onglet (rejouee a chaque changement) + leger decalage des 1res cartes */
		@keyframes fptabin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
		.fptab-in{animation:fptabin .34s cubic-bezier(.2,.72,.2,1) both}
		.fptab-in .fpa-perk{animation:fptabin .42s cubic-bezier(.2,.72,.2,1) both}
		.fptab-in .fpa-perk:nth-child(1){animation-delay:.03s}
		.fptab-in .fpa-perk:nth-child(2){animation-delay:.07s}
		.fptab-in .fpa-perk:nth-child(3){animation-delay:.11s}
		.fptab-in .fpa-perk:nth-child(4){animation-delay:.15s}
		.fptab-in .fpa-perk:nth-child(5){animation-delay:.18s}
		.fptab-in .fpa-perk:nth-child(n+6){animation-delay:.2s}
		.fpa-head{margin:2px 2px 14px}
		.fpa-h{font-size:21px;font-weight:800;color:#16263F;letter-spacing:-.02em}
		.fpa-sub{font-size:12px;color:#6B7385}
		.fpa-slogan{font-size:12.5px;font-weight:600;color:#16263F}
		/* Barre de marque (haut de l app, tous les onglets) + fierté tricolore */
		.fpa-topbar{flex-shrink:0;height:calc(50px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);display:flex;align-items:center;justify-content:center;gap:9px;position:relative;background:#fff;border-bottom:1px solid #EDEFEB}
		.fpa-wm-ic{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:0 0 auto;box-shadow:0 3px 9px -3px rgba(16,30,48,.5)}
		.fpa-topbar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1B4FA3 33%,#E4E8EE 33% 66%,#E0281E 66%)}
		.fpapp[data-theme="dark"] .fpa-topbar::before{background:linear-gradient(90deg,#2C5FB8 33%,#E9EDF3 33% 66%,#E0281E 66%)}
		.fpa-wm{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:18px;letter-spacing:-.02em;color:#16263F}
		.fpa-wm b{color:#E0281E;font-weight:800}
		.fpa-theme{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;cursor:pointer;border-radius:50%;display:grid;place-items:center;color:#6B7385}
		.fpa-theme:active{transform:translateY(-50%) scale(.9)}
		.fpa-theme svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-theme .fp-ic-sun{display:none}
		.fpapp[data-theme="dark"] .fpa-theme .fp-ic-moon{display:none}
		.fpapp[data-theme="dark"] .fpa-theme .fp-ic-sun{display:block}
		/* Bloc « nouveaux partenaires toute l année » */
		.fpa-fresh{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:14px;margin:16px 0 0;box-shadow:0 6px 20px -14px rgba(16,30,48,.4)}
		.fpa-fresh-ic{line-height:0;flex-shrink:0}
		.fpa-fresh-ic .fpic{width:38px;height:38px;box-shadow:none}
		.fpa-fresh-tx b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14px;font-weight:800;color:#16263F;letter-spacing:-.01em}
		.fpa-fresh-tx span{font-size:12px;color:#6B7385;line-height:1.45}
		/* Rappel concept / fierté locale, bas d accueil */
		.fpa-pitch{background:linear-gradient(150deg,#16263F,#0C1726);border:1px solid rgba(244,197,96,.30);border-radius:18px;padding:18px;margin:16px 0 4px;color:#fff;box-shadow:0 10px 26px -16px rgba(12,23,38,.9)}
		.fpa-pitch-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:16px;font-weight:800;letter-spacing:-.01em}
		.fpa-pitch-b{font-size:12.5px;color:#aebccf;margin-top:6px;line-height:1.5}
		.fpa-warn{background:#FBF1DC;border:1px solid #ecd9a8;color:#8a6a1e;font-size:12.5px;padding:11px 13px;border-radius:12px;margin:14px 0 0}
		.fpa-suspend{background:#FBE9E7;border:1px solid #f1c9c4;color:#a8322a;font-size:12.5px;padding:12px 14px;border-radius:12px;margin-bottom:14px;line-height:1.5}
		.fpa-suspend a{color:#a8322a;font-weight:700}
		.fpa-ref{background:linear-gradient(150deg,#16263F,#0C1726);border-radius:18px;padding:16px;margin-bottom:14px;color:#fff;box-shadow:0 10px 26px -16px rgba(12,23,38,.9)}
		.fpa-ref-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15px;font-weight:800;letter-spacing:-.01em}
		.fpa-ref-sub{font-size:12px;color:#aebccf;margin-top:4px;line-height:1.5}
		.fpa-ref-sub b{color:#9CC0FF}
		.fpa-ref-linkrow{display:flex;gap:8px;margin-top:12px}
		.fpa-ref-linkrow input{flex:1;min-width:0;min-height:44px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#eaf0f7;border-radius:10px;padding:10px 11px;font-size:16px}
		.fpa-ref-linkrow button{background:#1B4FA3;color:#fff;border:0;border-radius:10px;padding:10px 15px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit}
		.fpa-ref .fpa-btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}
		.fpa-ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;text-align:center}
		.fpa-ref-stats>div{background:rgba(255,255,255,.06);border-radius:12px;padding:10px 6px}
		.fpa-ref-tiers{margin-top:10px;background:rgba(255,255,255,.06);border:1px solid rgba(156,192,255,.18);border-radius:12px;padding:10px 12px;font-size:12px;color:#c9d6ea;line-height:1.5}
		.fpa-ref-tiers b{color:#fff}
		.fpa-motm{display:inline-block;vertical-align:middle;margin-left:4px;background:#FDF3E2;border:1px solid #ecd9b2;color:#8a6210;font-size:10px;font-weight:800;letter-spacing:.02em;padding:2px 7px;border-radius:999px;white-space:nowrap}
		.fpapp[data-theme="dark"] .fpa-motm{background:#2e2716;border-color:#5c4d22;color:#e3c983}
		/* Pause abonnement */
		.fpa-pausenote{font-size:12.5px;color:#1d4d7a;background:#E8F1FB;border:1px solid #c6dcf3;border-radius:12px;padding:10px 12px;margin-bottom:14px;line-height:1.5}
		.fpa-pausenote a{color:#1B4FA3;font-weight:700}
		.fpapp[data-theme="dark"] .fpa-pausenote{background:#152238;border-color:#2a3f63;color:#a9c4e8}
		.fpapp[data-theme="dark"] .fpa-pausenote a{color:#8FB3FF}
		.fpa-pause{background:#fff;border:1px solid #DCE0DB;border-radius:14px;padding:0;margin-bottom:14px}
		.fpa-pause summary{cursor:pointer;font-size:13px;font-weight:700;color:#16263F;padding:13px 15px;list-style:none}
		.fpa-pause summary::-webkit-details-marker{display:none}
		.fpa-pause-b{font-size:12.5px;color:#4a5568;line-height:1.55;padding:0 15px 14px}
		.fpa-pause-row{display:flex;gap:8px;margin-top:10px}
		.fpa-pause-row .fpa-btn{margin:0}
		.fpapp[data-theme="dark"] .fpa-pause{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-pause summary{color:#dbe4f5}
		.fpapp[data-theme="dark"] .fpa-pause-b{color:#a9b6cd}
		/* Vote prochain commerce */
		.fpa-vote-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#F3F5F1;border-radius:11px;padding:9px 12px;margin-top:8px}
		.fpapp[data-theme="dark"] .fpa-vote-row{background:rgba(255,255,255,.07)}
		.fpa-vote-name{font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpa-vote-btn{-webkit-appearance:none;appearance:none;flex:0 0 auto;background:#16263F;color:#fff;border:0;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
		.fpa-vote-btn b{font-weight:800}
		.fpa-vote-btn.on{background:var(--fp-gold-deep);color:#3a2c07;cursor:default}
		.fpa-vote-btn:disabled{opacity:.85}
		/* Avis avec photo */
		.fp-revphoto{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;font-weight:700;color:#1B4FA3;cursor:pointer;background:#EAF0FB;border:1px dashed #b6c9ec;border-radius:10px;padding:8px 12px}
		.fp-revphoto span{font-weight:500;color:#6B7385}
		.fp-revphoto-name{font-size:11.5px;color:#19895A;font-weight:600;margin-top:4px}
		.fp-rev-ph{display:block;max-width:100%;max-height:180px;border-radius:12px;margin-top:8px;object-fit:cover}
		.fpapp[data-theme="dark"] .fp-revphoto{background:#152238;border-color:#2a3f63;color:#8fb3ea}
		.fpa-ref-stats b{display:block;font-size:18px;font-weight:800;color:#9CC0FF;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
		.fpa-ref-stats span{font-size:11.5px;color:#9fb0c6}
		.fpa-ref-empty{margin-top:14px;font-size:12px;color:#9fb0c6;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.15);border-radius:12px;padding:11px 13px;line-height:1.5}
		.fpa-ref-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}
		.fpa-ref-list li{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#cdd8e6}
		.fpa-ref-list li:first-child{border-top:0}
		.fpa-gift{width:100%;text-align:left;-webkit-appearance:none;appearance:none;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:15px 16px;margin-bottom:14px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45);text-decoration:none;transition:transform .12s,box-shadow .12s}
		.fpa-gift:active{transform:scale(.99)}
		.fpa-gift-ic{flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,#EAF0FB,#FBECEC);display:grid;place-items:center;font-size:24px;color:#16263F}
		.fpa-gift-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
		.fpa-gift-tx b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:15px;color:#16263F}
		.fpa-gift-tx small{font-size:12px;color:#6B7385;line-height:1.4}
		.fpa-gift-arr{flex:0 0 auto;color:#1B4FA3;font-size:18px;font-weight:800}
		.fpa-ref-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
		.fpa-ref-dot.ok{background:var(--fp-gold)}
		.fpa-ref-dot.wait{background:#e6b450}
		.fpa-ref-txt{flex:1}
		.fpa-ref-when{color:#8ea1b8;font-size:11px;white-space:nowrap}
		.fpa-warn a{color:#16263F;font-weight:700;text-decoration:none;white-space:nowrap}
		.fpa-how{position:relative;background:#fff;border:1px solid #E4E8EE;border-radius:20px;padding:19px 16px 16px;margin-top:14px;box-shadow:0 16px 40px -22px rgba(16,30,48,.6);overflow:hidden}
		.fpa-how::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--fp-gold),var(--fp-gold-deep))}
		.fpa-how-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:16px;font-weight:800;color:#16263F;margin-bottom:12px;letter-spacing:-.01em}
		.fpa-how-tl{position:relative}
		.fpa-how-tl::before{content:"";position:absolute;left:19px;top:20px;bottom:14px;width:2px;background:linear-gradient(180deg,#1B4FA3,#c9d6ea)}
		.fpapp[data-theme="dark"] .fpa-how-tl::before{background:linear-gradient(180deg,#3b6fd4,#2b3b57)}
		.fpa-how-step{position:relative;display:flex;gap:13px;align-items:flex-start;font-size:12.5px;color:#5a6472;line-height:1.4;padding-bottom:14px}
		.fpa-how-step b{color:#16263F}
		.fpa-how-step b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13.5px;font-weight:800;color:#16263F;letter-spacing:-.01em;margin-bottom:2px}
		.fpa-how-step em{font-style:normal;color:#1B4FA3;font-weight:700}
		/* Chips d icones du systeme premium : chaque etape / section a SON repere colore */
		.fpic{flex:0 0 auto;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 8px 16px -8px rgba(16,30,48,.5)}
		.fpic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpic.sm{width:26px;height:26px;border-radius:9px;box-shadow:none}
		.fpic.sm svg{width:14px;height:14px;stroke-width:2}
		.fpic.md{width:30px;height:30px;border-radius:10px;box-shadow:none}
		.fpic.md svg{width:15px;height:15px;stroke-width:2}
		.fpic.bleu{background:linear-gradient(140deg,#2C5FB8,#1B4FA3)}
		.fpic.vert{background:linear-gradient(140deg,#22a866,#0f6e46)}
		.fpic.rouge{background:linear-gradient(140deg,#E0281E,#B81810)}
		.fpic.navy{background:linear-gradient(140deg,#20395e,#16263F)}.fpic.navy svg{stroke:#9CC0FF}
		.fpic.or{background:linear-gradient(140deg,#F8D98E,var(--fp-gold) 45%,var(--fp-gold-deep))}.fpic.or svg{stroke:#3a2c07}
		/* Etape ILLIMITE sortie du lot : mini-carte navy a liseret dore */
		.fpa-how-prem{position:relative;margin-top:2px;background:linear-gradient(150deg,#20395e,#0C1726);border:1px solid rgba(245,192,78,.42);border-radius:16px;padding:13px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 14px 30px -16px rgba(12,23,38,.85)}
		.fpa-how-prem .fpic{box-shadow:0 8px 18px -8px rgba(233,169,62,.9)}
		.fpa-how-prem b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13.5px;font-weight:800;color:#fff;letter-spacing:-.01em}
		.fpa-how-prem span{font-size:11.5px;color:#e8c67a}
		.fpa-how-prem span i{font-style:normal;color:var(--fp-gold);font-weight:800}
		/* Le VRAI bouton or : reserve aux CTA de conversion (visiteur) */
		.fpa-btn-or{-webkit-appearance:none;appearance:none;display:block;text-decoration:none;width:100%;text-align:center;border:0;border-radius:14px;padding:14px;font-size:14.5px;font-weight:800;font-family:"Bricolage Grotesque","Inter",sans-serif;cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 40%,var(--fp-gold-deep));color:#3a2c07;box-shadow:0 12px 26px -10px rgba(233,169,62,.9);transition:transform .12s}
		.fpa-btn-or:active{transform:scale(.98)}
		/* Phrase de reassurance au point de decision (sous le bouton) */
		.fpa-how-roi{margin-top:11px;text-align:center;font-size:12px;color:#5a6472;line-height:1.5;background:none;border:0;width:100%;font-family:inherit;cursor:pointer;padding:0}
		.fpa-how-roi u{text-decoration:none;color:#1B4FA3;font-weight:800}
		/* Ligne Illimite du panneau membre : mini-carte navy/or (meme langage que la carte pass) */
		.fpa-goldline{margin-top:10px;background:linear-gradient(150deg,#20395e,#0C1726);border:1px solid rgba(245,192,78,.42);border-radius:13px;padding:11px 13px;display:flex;gap:10px;align-items:center;font-size:12px;color:#e8c67a;line-height:1.4}
		.fpa-goldline b{color:var(--fp-gold)}
		/* CTA Illimité PREMIUM (carte de conversion sur la page pass, après carte vérifiée). */
		.fpa-ultra{position:relative;overflow:hidden;margin-top:12px;border-radius:16px;padding:16px 15px 15px;background:linear-gradient(150deg,#fffaf0,#fbeecb);border:1px solid rgba(233,169,62,.55);box-shadow:0 16px 34px -20px rgba(233,169,62,.85)}
		/* liseré or en haut (signature premium, comme .fpa-how) + brillance oblique douce */
		.fpa-ultra::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--fp-gold),var(--fp-gold-deep))}
		.fpa-ultra::after{content:"";position:absolute;top:-40%;right:-10%;width:55%;height:180%;background:radial-gradient(closest-side,rgba(255,255,255,.55),transparent);pointer-events:none}
		.fpapp[data-theme="dark"] .fpa-ultra::after{background:radial-gradient(closest-side,rgba(244,197,96,.14),transparent)}
		.fpapp[data-theme="dark"] .fpa-ultra{background:linear-gradient(150deg,#20395e,#0C1726);border-color:rgba(244,197,96,.42);box-shadow:0 14px 30px -20px rgba(0,0,0,.7)}
		.fpa-ultra-h{display:flex;gap:11px;align-items:center}
		.fpa-ultra-star{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#F8D98E,var(--fp-gold) 45%,var(--fp-gold-deep));box-shadow:0 6px 14px -6px rgba(233,169,62,.9)}
		.fpa-ultra-star svg{width:19px;height:19px;fill:#3a2c07;stroke:none}
		.fpa-ultra-h b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15.5px;letter-spacing:-.015em;color:#1c2b4a}
		.fpapp[data-theme="dark"] .fpa-ultra-h b{color:#fff}
		.fpa-ultra-h>div span{font-size:12px;color:#7a6733}
		.fpapp[data-theme="dark"] .fpa-ultra-h>div span{color:#e8c67a}
		.fpa-ultra-feats{margin:12px 0 13px;display:flex;flex-direction:column;gap:7px}
		.fpa-ultra-feats>div{display:flex;gap:9px;align-items:center;font-size:12.5px;line-height:1.35;color:#40391f}
		.fpapp[data-theme="dark"] .fpa-ultra-feats>div{color:#dfe7f6}
		.fpa-ultra-feats svg{width:16px;height:16px;flex:0 0 16px;stroke:var(--fp-gold-deep);fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fpa-ultra-feats svg{stroke:var(--fp-gold)}
		.fpa-ultra-feats b{color:inherit;font-weight:800}
		.fpa-ultra .fpa-btn-or{margin:0}
		.fpa-ultra-fine{text-align:center;margin-top:8px;font-size:11px;color:#6B5E38}
		.fpapp[data-theme="dark"] .fpa-ultra-fine{color:#a9b6ce}
		/* Tetes de section : chip d icone optionnelle a cote de la barre or */
		.fpa-sech .fpic{box-shadow:none}
		/* Anneaux de stories : degrade or-bleu (vu = gris) */
		.fps-story-ring{background:conic-gradient(var(--fp-gold),var(--fp-gold-deep),#1B4FA3,var(--fp-gold))!important;box-shadow:none!important;padding:3px!important}
		.fps-story-ring.seen{background:#C9CFDA!important}
		.fpapp[data-theme="dark"] .fps-story-ring.seen{background:#3a465c!important}
		/* Selecteur Compte : Illimite en carte heroine navy/or, les 2 autres en petites cartes */
		.fpa-wcard.hero{grid-column:1/-1}
		.fpa-wcard.hero .fpa-wcard-price b{text-shadow:0 2px 12px rgba(244,197,96,.35)}
		/* Les 3 choix EMPILES en pleine largeur : comparables d un coup d oeil
		   (ce qu on paie, ce qu on obtient, ce qui se passe ensuite). */
		.fpa-wiz-grid .fpa-wcard:not(.hero) .fpa-wcard-hd{flex-wrap:wrap;gap:8px}
		.fpapp[data-theme="dark"] .fpa-how-roi{color:#a9b6c9}
		.fpapp[data-theme="dark"] .fpa-how-roi u{color:#8FB3FF}
		.fpa-how-cta{margin-top:14px;text-align:center}
		.fpa-how-note{font-size:11px;color:#6B7385;margin-top:7px}
		.fpa-how-lead{font-size:12.5px;color:#6B7385;line-height:1.5;margin:-2px 0 13px}
		/* Accroche valeur : carte sombre + prix en doré (le prix est le vrai argument fort) */
		.fpa-value{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#17293F,#0C1726);border-radius:18px;padding:15px;margin-top:14px;box-shadow:0 16px 36px -20px rgba(12,23,38,.75)}
		.fpa-value-badge{flex:0 0 auto;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(156,192,255,.22);border-radius:14px;padding:9px 12px;min-width:72px}
		.fpa-value-badge b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:18px;font-weight:800;color:var(--fp-gold);letter-spacing:-.02em;line-height:1}
		.fpa-value-badge span{display:block;margin-top:4px;font-size:10.5px;color:#9CB0CE;text-transform:uppercase;letter-spacing:.05em}
		.fpa-value-tx{font-size:13px;color:#D8E2F0;line-height:1.5}
		.fpa-value-tx b{color:#fff}
		/* Parrainage expliqué : carte crème chaleureuse pour la distinguer */
		.fpa-refx{display:flex;gap:12px;align-items:center;background:#FFF8EC;border:1px solid #F0E3C6;border-radius:16px;padding:14px;margin-top:14px}
		.fpa-refx-ic{line-height:0;flex-shrink:0}
		.fpa-refx-ic .fpic{width:42px;height:42px;box-shadow:0 8px 18px -8px rgba(233,169,62,.8)}
		.fpa-refx-tx b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13.5px;font-weight:800;color:#16263F;letter-spacing:-.01em;margin-bottom:2px}
		.fpa-refx-tx span{font-size:12px;color:#6B7385;line-height:1.45}
		.fpa-refx-tx span b{display:inline;color:#B07A18;margin:0}
		/* Astuce installation (iPhone/Android), claire et compacte */
		.fpa-installtip{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:14px;margin-top:14px;box-shadow:0 6px 20px -14px rgba(16,30,48,.4)}
		.fpa-installtip-h{display:flex;align-items:center;gap:8px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13.5px;font-weight:800;color:#16263F;letter-spacing:-.01em;margin-bottom:6px}
		.fpa-installtip-ic{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#16263F;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-installtip-r{display:flex;gap:10px;font-size:12px;color:#5a6472;line-height:1.5;margin-top:7px}
		.fpa-installtip-r>b{flex:0 0 52px;color:#16263F;font-weight:800}
		.fpa-installtip-r span b{color:#16263F}
		/* Repère chiffré RÉEL + arguments (visiteur non abonné) */
		.fpa-count-real{margin:14px 0 4px;text-align:center;font-size:13.5px;color:#4a5568;line-height:1.5}
		.fpa-count-real b{color:#1B4FA3;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800}
		.fpa-vp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
		.fpa-vp-item{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:13px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 20px -14px rgba(16,30,48,.4)}
		.fpa-vp-ic{line-height:0}
		.fpa-vp-ic .fpic{width:34px;height:34px;border-radius:11px;box-shadow:none}
		.fpa-vp-ic .fpic svg{width:18px;height:18px}
		.fpa-vp-item b{display:block;margin-bottom:3px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13.5px;font-weight:800;color:#16263F;letter-spacing:-.01em}
		.fpa-vp-item small{font-size:11.5px;color:#6B7385;line-height:1.4}
		.fpa-quickrow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}
		.fpa-quick{background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:14px 8px;text-align:center;box-shadow:0 6px 20px -12px rgba(16,30,48,.45)}
		.fpa-quick .fpic{margin:0 auto;width:30px;height:30px;border-radius:10px;box-shadow:none}
		.fpa-quick .fpic svg{width:15px;height:15px}
		.fpa-quick .t{font-size:13px;font-weight:700;margin-top:7px;color:#1B2433}.fpa-quick .s{font-size:12px;color:#6B7385}
		/* ===== EN-TÊTE DE SECTION : UN SEUL MODÈLE POUR TOUTE L APP =====
		   pastille carrée à coins arrondis (.fpic) + titre + compteur à droite.
		   Ni barre dorée verticale, ni icône nue, ni pastille dorée concurrente :
		   les cinq onglets ET la fiche commerçant écrivent leurs titres pareil.
		   La couleur de la pastille porte le sens (rouge urgent / or avantages /
		   marine le reste), jamais seule : le titre et l icône le disent aussi. */
		.fpa-sech{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 2px 12px}
		.fpa-sech h3{display:flex;align-items:center;gap:9px;min-width:0;font-size:15px;font-weight:800;color:#16263F}
		/* « Tout voir » : un lien de 14 px de haut ne se touche pas. Il garde sa taille de
		   texte et gagne la hauteur du pouce. */
		.fpa-sech a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding-left:8px;font-size:12px;color:#1B4FA3;font-weight:600;text-decoration:none}
		/* En sombre, le bleu #1B4FA3 sur le fond nuit tombe à 2,26:1 (illisible, échec WCAG
		   1.4.3). On reprend le bleu clair #9CC0FF déjà utilisé ailleurs en mode nuit. */
		.fpapp[data-theme="dark"] .fpa-sech a{color:#9CC0FF}
		/* ===== COMPTEUR DE SECTION : UN SEUL STYLE =====
		   pastille grise discrète, chiffre nu en chiffres tabulaires. Le mot reste
		   écrit pour les lecteurs d écran (le <i> masqué) : « 3 » lu seul ne dirait
		   rien. Gris #4A5468 sur #F1F3F0 = 7,4:1 (clair), #A9B6CE sur #1B2A44 =
		   7,2:1 (sombre), au-delà du 4,5:1 exigé. */
		.fpa-sech-n{flex:0 0 auto;display:inline-flex;align-items:center;background:#F1F3F0;border:1px solid #E1E5DF;color:#4A5468;border-radius:999px;padding:3px 10px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.5}
		.fpa-sech-n i{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
		.fpapp[data-theme="dark"] .fpa-sech-n{background:#1B2A44;border-color:#2C3B57;color:#A9B6CE}
		/* COMBIEN SONT OUVERTS MAINTENANT — la seule question que le client se pose en
		   arrivant sur un rayon. Meme forme que la pastille de compte (le mot reste pour
		   la lecture d ecran, le chiffre pour l oeil), mais au vert : une bonne nouvelle,
		   qui se distingue du total au premier regard. Pas d apostrophe dans ce fichier :
		   tout ce CSS vit dans une chaine PHP a guillemets simples. */
		.fpa-sech-on{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:6px;background:#E4F3EB;border:1px solid #BFE3CE;color:#15704A;border-radius:999px;padding:3px 10px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.5}
		.fpa-sech-on i{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
		.fpapp[data-theme="dark"] .fpa-sech-on{background:#123A2A;border-color:#1E5B41;color:#7FD3AA}
		/* ===== CARROUSEL : UN SEUL, PARTOUT =====
		   Les rails coupaient net sur le bord du contenu : la dernière carte semblait
		   tranchée, plus rien ne disait qu on pouvait glisser. Ici le rail va jusqu au
		   BORD DE L ÉCRAN (marge négative = la marge de .fpapp-screen) et garde une
		   respiration à droite : la carte suivante DÉBORDE volontairement, l invitation
		   au glissement se voit. Les points de position (.fpa-raildots, posés par
		   fpRails) complètent : un geste appris une fois vaut sur les cinq onglets
		   et sur la fiche commerçant. */
		/* overscroll-behavior-x:contain : arrive au bout des photos/cartes, le geste
		   NE SE TRANSMET PLUS au parent (avant, il emportait la fiche entiere sur le
		   cote — bug « decalage » iPhone/PC, absent sur Samsung qui contient ce
		   report de geste par defaut). Le rail garde son glissement a lui, rien
		   ne bouge autour. */
		.fpa-rail{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-16px;padding:0 34px 4px 0;scroll-padding-left:0}
		.fpa-rail::-webkit-scrollbar{display:none}
		.fpa-rail>*{scroll-snap-align:start}
		/* Points de position : le BOUTON fait 24 x 44 px (zones jointives, jamais
		   superposees : chaque point reste atteignable au doigt), le point lui-meme
		   ne sert que de decor, dessine au centre. Le geste garde de toute facon son
		   equivalent clavier : le rail est focusable et defile aux fleches. */
		.fpa-raildots{display:flex;justify-content:center;align-items:center;gap:0;margin:0 0 8px}
		.fpa-raildots[hidden]{display:none}
		.fpa-raildot{position:relative;width:24px;height:44px;padding:0;border:0;background:none;cursor:pointer}
		.fpa-raildot::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:99px;background:#808A9A;transition:width .18s,background .18s}
		.fpa-raildot.on::after{width:20px;background:#16263F}
		.fpapp[data-theme="dark"] .fpa-raildot::after{background:#5C6C88}
		.fpapp[data-theme="dark"] .fpa-raildot.on::after{background:var(--fp-gold)}
		@media (prefers-reduced-motion: reduce){.fpa-raildot::after{transition:none}}
		/* Rail au clavier : focus visible et défilement aux flèches (natif). */
		.fpa-rail:focus-visible{outline:2px solid #1B4FA3;outline-offset:2px;border-radius:12px}
		.fpapp :focus-visible{outline:2px solid #1B4FA3;outline-offset:2px;border-radius:4px}
		/* CONTOUR DE SELECTION EN MODE SOMBRE (audit integral, V1).
		   Le bleu #1B4FA3 sur un fond nuit donne un contraste de 1,03 pour 1 : c est
		   la MEME couleur que le fond. Quelqu un qui navigue au clavier, le soir, ne
		   savait plus du tout ou il se trouvait dans la page. On passe a un bleu
		   clair, tres au-dessus du minimum de 3 pour 1 exige par la norme. */
		.fpapp[data-theme="dark"] :focus-visible,
		.fpapp[data-theme="dark"] .fpa-rail:focus-visible,
		.fpapp[data-theme="dark"] .fpa-fold summary:focus-visible{outline-color:#8FB6F5}
		.fpa-cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px}
		.fpa-cats::-webkit-scrollbar{display:none}
		.fpa-cats button{flex-shrink:0;border:1px solid #DCE0DB;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;color:#6B7385;cursor:pointer;font-family:inherit;min-height:44px;display:inline-flex;align-items:center}
		.fpa-cats button.on{background:#16263F;color:var(--fp-gold);border-color:#16263F}
		.fpa-search{position:relative;margin-bottom:12px}
		.fpa-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:#9AA4B4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
		.fpa-search input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #DCE0DB;background:#fff;border-radius:14px;padding:12px 14px 12px 40px;font-size:14px;font-family:inherit;color:#16263F;box-shadow:0 6px 18px -14px rgba(16,30,48,.4)}
		.fpa-search input:focus{outline:none;border-color:#1B4FA3;box-shadow:0 0 0 3px rgba(27,79,163,.14)}
		.fpa-search input::-webkit-search-cancel-button{-webkit-appearance:none}
		.fpa-perks{display:flex;flex-direction:column;gap:10px;padding-bottom:14px}
		/* ---- CARTE COMMERÇANT (refonte « maquette ») : photo en bandeau, badge
		   vente flash + cœur par-dessus, note en étoiles OR, avantage en pastille,
		   méta (distance + passages/mois). Thème or/marine inchangé. ---- */
		/* Ombre en DEUX couches (contact fin + profondeur) : la carte flotte. */
		.fpa-perk{display:flex;flex-direction:column;background:#fff;border:1px solid #DCE0DB;border-radius:18px;overflow:hidden;box-shadow:0 2px 6px -4px rgba(16,30,48,.2),0 14px 30px -16px rgba(16,30,48,.5);transition:transform .14s,box-shadow .14s}
		.fpa-perk:active{transform:scale(.985)}
		.fpa-perk.isflash{border-color:#F3C7C2}
		.fpa-perk .ic{width:52px;height:52px;border-radius:15px;background:#F3F5F1;display:grid;place-items:center;font-size:25px;flex-shrink:0}
		.fpa-perk .ic.mono{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:18px;font-weight:800;letter-spacing:-.01em;color:hsl(var(--h) 42% 34%);background:hsl(var(--h) 46% 93%);border:1px solid hsl(var(--h) 40% 86%)}
		/* ---- CARTE « MAQUETTE 4 » : photo magazine + bandeau marine signature. ----
		   Photo NETTE, sans voile : chaque element pose dessus (coeur, drapeau,
		   pastille categorie) porte son propre fond, rien ne salit la photo. */
		.fpa-perk-hero{position:relative;height:136px;overflow:hidden}
		/* Micro-zoom de la photo a la pression : la carte « vit » sous le doigt. */
		.fpa-perk-ph{width:100%;height:100%;background-size:cover;background-position:center;background-color:#F3F5F1;transition:transform .4s cubic-bezier(.2,.72,.2,1)}
		.fpa-perk:active .fpa-perk-ph{transform:scale(1.045)}
		@media (prefers-reduced-motion: reduce){.fpa-perk-ph{transition:none}.fpa-perk:active .fpa-perk-ph{transform:none}}
		/* Monogramme sans photo : initiales plus posees (24px, espacees) sur un fond
		   teinte avec un reflet doux en haut a droite, la carte reste habillee
		   meme quand le commerce n a pas encore mis sa photo. */
		.fpa-perk-ph.mono{display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:24px;font-weight:800;letter-spacing:.06em;color:hsl(var(--h) 42% 34%);background:radial-gradient(120% 95% at 82% 12%,hsl(var(--h) 55% 96%),transparent 55%),linear-gradient(150deg,hsl(var(--h) 46% 93%),hsl(var(--h) 40% 84%))}
		/* Drapeau (haut-gauche) : commercant du mois (or) ou a decouvrir (marine translucide). */
		.fpa-perk-flag{position:absolute;left:9px;top:9px;z-index:2;display:inline-flex;align-items:center;gap:5px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.01em;padding:5px 9px;border-radius:9px;line-height:1;box-shadow:0 6px 14px -8px rgba(16,30,48,.7)}
		.fpa-perk-flag svg{width:11px;height:11px;flex-shrink:0}
		.fpa-perk-flag.motm{color:#3a2c07;background:linear-gradient(135deg,#F8D98E,var(--fp-gold-deep))}
		.fpa-perk-flag.motm svg{fill:#5A4208;stroke:none}
		.fpa-perk-flag.disc{color:#fff;background:rgba(16,27,45,.78);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.28)}
		/* Categorie : pastille DOREE posee en bas de la photo (maquette 1 validee), fond propre, lisible sur n importe quelle photo, sans voile. */
		.fpa-perk-plabel{position:absolute;left:10px;bottom:10px;z-index:2;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#3a2c07;background:linear-gradient(140deg,rgba(248,217,142,.97),rgba(233,169,62,.97));padding:4px 9px;border-radius:8px;box-shadow:0 4px 12px -5px rgba(16,30,48,.55);pointer-events:none;max-width:calc(100% - 62px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpa-perk-flashtag{position:absolute;left:9px;top:9px;z-index:2;display:inline-flex;align-items:center;gap:5px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:11px;font-weight:800;color:#fff;background:linear-gradient(140deg,#D62A20,#B81810);border-radius:9px;padding:5px 9px;box-shadow:0 6px 14px -6px rgba(224,41,30,.8)}
		.fpa-perk-flashtag svg{width:11px;height:11px;fill:#FFE08A;stroke:none;flex-shrink:0}
		.fpa-perk-flashtag .fpa-fb-cd{margin:0;padding:1px 6px;background:rgba(255,255,255,.92);border:0;color:#B81810}
		/* LE COEUR : le rond DESSINE reste a 32, la ZONE TOUCHEE fait 44. Il est en
		   position absolue : agrandir sa boite ne pousse rien, et le doigt cesse de rater
		   un geste qu on fait au pouce, une main sur le telephone. */
		.fpa-heart{position:absolute;right:3px;top:3px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:none;box-shadow:none;display:grid;place-items:center;cursor:pointer;transition:transform .12s}
		.fpa-heart:before{content:"";position:absolute;left:6px;top:6px;width:32px;height:32px;border-radius:50%;background:rgba(12,23,38,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 2px 9px -2px rgba(8,15,26,.5)}
		.fpa-heart>*{position:relative;z-index:1}
		/* Zone tactile confortable (>=44px) sans changer la taille visuelle (a11y). */
		.fpa-heart::before,.fpa-bell::before,.fpa-theme::before,.fpa-ipass::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%}
		.fpa-heart svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2}
		.fpa-heart.on svg{fill:#E63127;stroke:#E63127}
		.fpa-heart:active{transform:scale(1.18)}
		.fpa-heart:focus-visible{outline:2px solid var(--fp-gold);outline-offset:2px}
		.fpa-perk .t{padding:11px 14px 13px;min-width:0}
		.fpa-perk .t .n{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:15.5px;color:#16263F;letter-spacing:-.01em}
		/* BANDEAU MARINE signature : filet dore au-dessus, nom en blanc (tronque),
		   note ★ OR a droite. La patte premium de la carte, maquette 4 validee. */
		.fpa-perk-band{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#16263F,#0C1726);padding:11px 14px;position:relative}
		.fpa-perk-band::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--fp-gold),var(--fp-gold-deep) 60%,rgba(233,169,62,.35))}
		.fpa-perk-band .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.01em;color:#fff}
		.fpa-perk-rate{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
		.fpa-perk-stars{position:relative;display:inline-block;font-size:12.5px;letter-spacing:1.5px;line-height:1;color:rgba(255,255,255,.26);white-space:nowrap}
		.fpa-perk-stars i{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;font-style:normal;color:var(--fp-gold);filter:drop-shadow(0 0 4px rgba(244,197,96,.45))}
		.fpa-perk-rate b{font-weight:700;color:#fff;font-size:12.5px}
		/* « Nouveau » / « N avis » a cote de la note : la meme verite que la fiche
		   detaillee, en plus discret pour ne pas voler la vedette a l avantage.
		   .prov = note de demarrage (moins de 5 avis), donc encore plus discrete. */
		.fpa-perk-nrev{font-family:"Inter",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.66);white-space:nowrap}
		.fpa-perk-nrev.prov{color:rgba(255,255,255,.52)}
		/* Etiquette au-dessus du deal : meme un titre d offre brut se lit comme un
		   avantage. Petites capitales or, tres discretes. */
		.fpa-perk-advlbl{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#8A6410;margin-bottom:4px}
		.fpapp[data-theme="dark"] .fpa-perk-advlbl{color:#C79A45}
		/* Pied de carte : adresse (tronquee) a gauche, distance + passages a droite,
		   sur UNE ligne calme, l avantage au-dessus garde toute la lumiere. */
		.fpa-perk-foot{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:11.5px;font-weight:600;color:#6B7385}
		.fpa-perk-open{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-weight:800}
		.fpa-perk-open i{width:6px;height:6px;border-radius:50%;flex-shrink:0}
		.fpa-perk-open.y{color:#177E52}.fpa-perk-open.y i{background:#177E52}
		.fpa-perk-open.n{color:#B54708}.fpa-perk-open.n i{background:#B54708}
		.fpapp[data-theme="dark"] .fpa-perk-open.y{color:#4ade80}.fpapp[data-theme="dark"] .fpa-perk-open.y i{background:#4ade80}
		.fpapp[data-theme="dark"] .fpa-perk-open.n{color:#fbbf24}.fpapp[data-theme="dark"] .fpa-perk-open.n i{background:#fbbf24}
		.fpa-perk-addr{flex:1;min-width:0;display:inline-flex;align-items:center;gap:5px;line-height:1.3}
		.fpa-perk-addr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpa-perk-foot .fpa-pass{flex-shrink:0}
		/* Ligne de reassurance des paniers : discrete et positive (le reglement
		   anti no-show vit dans la confirmation de reservation, pas en vitrine). */
		.fpa-bask-hint{font-size:12px;font-weight:600;color:#6B7385;margin:2px 2px 10px;display:flex;align-items:center;gap:6px}
		.fpa-bask-hint::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#F8D98E,var(--fp-gold-deep));flex-shrink:0}
		.fpapp[data-theme="dark"] .fpa-bask-hint{color:#93A0B5}
		/* Chiffres de la preuve de valeur (sous-titre Avantages) : gras marine le
		   jour, or la nuit, la promesse saute aux yeux des la 1re seconde. */
		.fpa-sub-n{font-weight:800;color:#16263F}
		.fpapp[data-theme="dark"] .fpa-sub-n{color:var(--fp-gold)}
		.fpa-perk-cat{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6B7385;margin-top:3px}
		.fpa-perk .t .d{font-size:12.5px;color:#4a5568;margin-top:5px;line-height:1.35}
		.fpa-perk .t .dist{font-size:11px;color:#6B7385;margin-top:4px;display:flex;align-items:center;gap:4px}
		/* L AVANTAGE : texte dore NET + puce lumineuse (halo), l affichage premium
		   de la maquette 4, raccord avec les cartes flash. Plus de bloc beige. */
		.fpa-perk-adv{margin-top:0;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:#8A6714;background:none;border:0;padding:0;line-height:1.3;display:flex;align-items:center;gap:8px}
		.fpa-perk-adv::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#F8D98E,#E9A93E);box-shadow:0 0 0 4px rgba(233,169,62,.16);flex-shrink:0}
		.fpa-perk-adv.flash{color:#B81810}
		.fpa-perk-adv.flash::before{background:linear-gradient(135deg,#E63127,#B81810);box-shadow:0 0 0 4px rgba(224,41,30,.14)}
		.fpa-perk-meta{display:flex;align-items:center;gap:12px;margin-top:9px;font-size:11px;font-weight:700;color:#6B7385}
		.fpa-perk-meta:empty{display:none}
		.fpa-dist{display:inline-flex;align-items:center;gap:4px}
		/* Tant que la geoloc n a pas calcule la distance, le span reste VRAIMENT
		   masque (sans ca, display:inline-flex ecrase l attribut hidden et une
		   epingle vide trainait devant « N passages/mois »). */
		.fpa-dist[hidden]{display:none}
		.fpa-dist b{font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:700;color:#16263F}
		.fpa-dist svg{width:11px;height:11px;flex-shrink:0}
		.fpa-pass{font-variant-numeric:tabular-nums}
		/* (fond sombre des cartes : géré par le bloc thème sombre global plus bas) */
		.fpapp[data-theme="dark"] .fpa-perk-adv{color:#F4C560}
		.fpapp[data-theme="dark"] .fpa-perk-adv.flash{color:#ff9d94}
		/* Bandeau marine en sombre : un cran PLUS profond que le fond de la carte
		   (#15233e), pour que la bande signature reste lisible comme une bande. */
		.fpapp[data-theme="dark"] .fpa-perk-band{background:linear-gradient(135deg,#0f1c33,#0A1322)}
		.fpapp[data-theme="dark"] .fpa-perk-foot{color:#93A0B5}
		/* La ★ du bandeau brille doucement la nuit (halo or subtil). */
		.fpapp[data-theme="dark"] .fpa-perk-stars i{filter:drop-shadow(0 0 6px rgba(244,197,96,.6))}
		.fpapp[data-theme="dark"] .fpa-perk-stars{color:rgba(255,255,255,.22)}
		.fpapp[data-theme="dark"] .fpa-dist b{color:#E6ECF5}
		/* ---- RÉCAP DU MOIS (onglet Pass) ---- */
		.fpa-recap-c{background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:6px 15px;box-shadow:0 12px 28px -16px rgba(16,30,48,.55)}
		.fpa-recap-r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid #EEF1ED;font-size:13px}
		.fpa-recap-r:last-child{border-bottom:0}
		.fpa-recap-r span{color:#6B7385}
		.fpa-recap-r b{font-weight:800;color:#16263F;text-align:right}
		.fpa-recap-good{color:#9a7714!important}
		.fpapp[data-theme="dark"] .fpa-recap-good{color:var(--fp-gold)!important}
		.fpapp[data-theme="dark"] .fpa-recap-c{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-recap-r{border-color:#26344f}
		.fpapp[data-theme="dark"] .fpa-recap-r b{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-recap-r span{color:#9aa6bd}
		/* ---- CHIPS DU PROFIL (onglet Compte, carte identité) ---- */
		.fpa-profchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
		.fpa-profchips:empty{display:none}
		.fpa-ptag{font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;color:#6B7385;background:#F3F5F1;border:1px solid #E4E7E2}
		.fpa-ptag.gold{color:#7A5A10;background:linear-gradient(150deg,#FDF3DC,#F8E6BC);border-color:#EBD59B}
		.fpa-ptag.ok{color:#19895A;background:#EAF7F0;border-color:#BFE3D2}
		.fpa-ptag.blue{color:#1B4FA3;background:#E7EEFB;border-color:#C7D8F2}
		.fpapp[data-theme="dark"] .fpa-profcard{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-profn{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-ptag{color:#a9b6c9;background:#1c2b47;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-ptag.gold{color:#F4C560;background:#2a2411;border-color:#4d3f18}
		.fpapp[data-theme="dark"] .fpa-ptag.ok{color:#5fd39a;background:#12281e;border-color:#1e4634}
		.fpapp[data-theme="dark"] .fpa-ptag.blue{color:#9CC0FF;background:#12233f;border-color:#1f3a66}
		/* ---- TUILES STATS (onglet Compte, abonnés) ---- */
		.fpa-stat3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:12px 0 2px}
		.fpa-stat3 .s3{background:#F6F7F4;border:1px solid #E4E7E2;border-radius:13px;padding:11px 6px;text-align:center}
		.fpa-stat3 .s3 b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#16263F;font-variant-numeric:tabular-nums}
		.fpa-stat3 .s3 span{display:block;font-size:10.5px;color:#6B7385;margin-top:2px;line-height:1.25}
		.fpapp[data-theme="dark"] .fpa-stat3 .s3{background:#1c2b47;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-stat3 .s3 b{color:#E6ECF5}
		/* ---- PUCE GÉOLOC (onglet Avantages) ---- */
		.fpa-georow{margin:0 0 10px}
		.fpa-geochip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:6px;font-family:inherit;font-size:12px;font-weight:800;color:#16263F;background:#fff;border:1px solid #DCE0DB;border-radius:99px;padding:8px 13px;cursor:pointer;box-shadow:0 8px 18px -12px rgba(16,30,48,.5)}
		.fpa-geochip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
		.fpa-geochip.on{color:#9a7714;border-color:#EBD9A8;background:#FBF3DF;cursor:default}
		.fpa-geochip:focus-visible{outline:2px solid var(--fp-gold);outline-offset:2px}
		.fpapp[data-theme="dark"] .fpa-geochip{background:#15233e;border-color:#28374f;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-geochip.on{color:var(--fp-gold);border-color:#5a4a1e;background:#3a2f14}
		/* ---- BULLES VALEUR (écran de connexion) ---- */
		.fpa-valrow{display:flex;flex-direction:column;gap:7px;margin:12px 0 2px}
		.fpa-valrow .vi{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#4a5568;font-weight:600}
		.fpa-valrow .vi svg{width:15px;height:15px;fill:none;stroke:#C9962F;stroke-width:2;stroke-linecap:round;flex-shrink:0}
		.fpapp[data-theme="dark"] .fpa-valrow .vi{color:#b6c2d6}
		.fp-ic-pin{width:12px;height:12px;flex-shrink:0;stroke:#6B7385;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-sres{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
		.fpa-sres svg{width:15px;height:15px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
		.fpa-sres.ok{background:#E4F3EB}.fpa-sres.ok svg{stroke:#19895A}
		.fpa-sres.ko{background:#FBE9E7}.fpa-sres.ko svg{stroke:#C8453B}
		.fpa-code-h svg{width:15px;height:15px;vertical-align:-2px;stroke:#1B4FA3;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:2px}
		.fpa-perk .tag{font-size:11px;font-weight:700;color:#3a2c07;background:linear-gradient(135deg,#F8D98E,var(--fp-gold-deep));padding:5px 9px;border-radius:8px;white-space:nowrap}
		.fpa-empty{color:#5C6577;font-size:13px;padding:16px;text-align:center;background:#F3F5F1;border-radius:14px}
		/* ===== Avantages v2 : photos, bande flash, événements, sections, repliables ===== */
		.fpa-perk .ic.ph,.fpa-bask-ph.ph{background-size:cover;background-position:center;background-color:#F3F5F1}
		.fpa-bask-ph{width:60px;height:60px;border-radius:13px;flex-shrink:0}
		.fpa-bask-ph.mono{display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14px;font-weight:800;letter-spacing:-.01em;color:hsl(var(--h) 42% 34%);background:hsl(var(--h) 46% 93%);border:1px solid hsl(var(--h) 40% 86%)}
		/* SECTION OFFRES FLASH (refonte maquette) : PLUS de gros bloc rouge, un
		   en-tête propre à accent rouge, et ce sont les CARTES qui portent le rouge
		   (badge −XX% sur la photo). Calibré comme les autres sections. */
		.fpa-fb{background:none;padding:0;margin:20px 2px 16px;color:inherit;box-shadow:none}
		/* (L en-tête propre à la bande flash a disparu : elle utilise .fpa-sech
		    comme toutes les autres sections, même pastille, même compteur.) */
		.fpa-fb-scroll{gap:11px}
		.fpa-fb-c{flex:0 0 188px;scroll-snap-align:start;background:#fff;border:1px solid #DCE0DB;border-radius:14px;overflow:hidden;color:#16263F;cursor:pointer;transition:transform .12s;box-shadow:0 12px 26px -16px rgba(16,30,48,.5)}
		.fpa-fb-c:active{transform:scale(.98)}
		.fpa-fb-ph{height:84px;background-size:cover;background-position:center;background-color:#F3F5F1}
		/* La réduction en BADGE sur la photo (refonte maquette), lisible en premier. */
		.fpa-fb-cph{position:relative}
		.fpa-fb-cph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,23,38,.22));pointer-events:none}
		.fpa-fb-badge{position:absolute;left:8px;top:8px;z-index:2;max-width:calc(100% - 16px);font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13px;font-weight:800;letter-spacing:-.01em;color:#fff;background:linear-gradient(140deg,#D62A20,#B81810);border-radius:9px;padding:5px 10px;line-height:1.15;box-shadow:0 6px 14px -6px rgba(184,24,16,.9)}
		.fpa-fb-in .adv{color:#E63127;font-weight:800;font-size:13.5px;margin-top:1px;line-height:1.25}
		.fpa-fb-ph.mono{display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:20px;font-weight:800;color:hsl(var(--h) 42% 34%);background:hsl(var(--h) 46% 93%)}
		.fpa-fb-in{padding:9px 11px 11px}
		.fpa-fb-in .nm{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:13px;letter-spacing:-.01em}
		.fpa-fb-in .adv{color:#E63127;font-weight:800;font-size:13.5px;margin-top:1px;line-height:1.25}
		.fpa-fb-in .lim{font-size:10.5px;color:#6B7385;margin-top:4px;font-weight:700;display:flex;align-items:center;gap:4px}
		.fpa-fb-in .lim svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex-shrink:0}
		/* MINI-CHRONO par offre flash (carte de la bande ET badge du catalogue) :
		   rempli par app.js (« 3 j », « 2 h 14 min », « fini »), mêmes tons rouges
		   que .fpa-perk-adv.flash, lisible sur les deux thèmes. */
		.fpa-fb-cd{display:inline-block;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;font-weight:700;font-size:11px;color:#B81810;background:#FBE9E7;border:1px solid #F3C7C2;border-radius:8px;padding:2px 8px;margin-top:5px}
		.fpa-fb-cd:empty{display:none}
		.fpa-fb-cd.is-urgent{background:var(--fp-gold);border-color:var(--fp-gold);color:#3a2c07;animation:fpUrge 1.4s ease-in-out infinite}
		.fpa-perk .dist .fpa-fb-cd{margin-top:0}
		.fpapp[data-theme="dark"] .fpa-fb-cd{background:#3a2024;border-color:#5c3136;color:#ff9d94}
		.fpapp[data-theme="dark"] .fpa-fb-cd.is-urgent{background:var(--fp-gold);border-color:var(--fp-gold);color:#3a2c07}
		/* Badge « À découvrir » (slots découverte du catalogue et tuile « Pour vous ») :
		   même gabarit discret que .fpa-motm, en bleu marque. */
		.fpa-disc-badge{display:inline-block;vertical-align:middle;margin-left:4px;background:#EDF3FE;border:1px solid #cddcf7;color:#1B4FA3;font-size:10px;font-weight:800;letter-spacing:.02em;padding:2px 7px;border-radius:999px;white-space:nowrap}
		.fpapp[data-theme="dark"] .fpa-disc-badge{background:#18294a;border-color:#2c4472;color:#8FB3FF}
		/* ÉVÉNEMENTS compacts : badge date bleu + infos, défilement horizontal */
		.fpa-evs{gap:10px}
		.fpa-ev{flex:0 0 auto;min-width:205px;max-width:250px;scroll-snap-align:start;display:flex;gap:11px;align-items:center;background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:13px;box-shadow:0 12px 28px -16px rgba(16,30,48,.55)}
		.fpa-ev[data-shop]{cursor:pointer;transition:transform .12s}
		.fpa-ev[data-shop]:active{transform:scale(.98)}
		.fpa-ev-d{width:46px;height:50px;border-radius:12px;background:linear-gradient(150deg,#16263F,#0C1726);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(16,30,48,.6);border:1px solid rgba(255,255,255,.12)}
		.fpa-ev-d b{font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:700;line-height:1}
		.fpa-ev-d span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:2px;color:var(--fp-gold-deep)}
		.fpa-ev-t{min-width:0}
		.fpa-ev-t .n{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:13px;line-height:1.2;color:#16263F;letter-spacing:-.01em}
		.fpa-ev-t .m{font-size:11px;color:#6B7385;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-ev-t .r{font-size:10.5px;font-weight:800;color:#19895A;margin-top:4px}
		.fpa-ev-t .r.full{color:#C8453B}
		/* Sections onglet Avantages : compteur en pastille + espacement */
		.fpa-sec{margin-bottom:6px}
		/* PERF-2 — RENDU PARESSEUX NATIF : le téléphone ne CALCULE que les sections
		   visibles ; celles sous le pli attendent le défilement. A 100 commerçants,
		   le premier affichage cesse de payer pour toute la ville.
		   contain-intrinsic-size réserve une hauteur plausible : la barre de
		   défilement ne saute pas. Navigateur ancien = propriété ignorée, rendu
		   identique (amélioration progressive, rien à casser). */
		.fpa-sec{content-visibility:auto;contain-intrinsic-size:auto 340px}
		.fpa-sec .fpa-sech{margin:16px 2px 10px}
		/* Bouton « Réserver » des paniers : bleu plein (action principale bien visible) */
		.fpa-bask .fpa-btn.small{background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;border:0;margin-bottom:0;box-shadow:0 6px 14px -8px rgba(27,79,163,.7)}
		/* Blocs REPLIABLES (vote + suggestion) en bas de page */
		.fpa-fold{background:#fff;border:1px solid #DCE0DB;border-radius:16px;margin-top:10px;overflow:hidden;box-shadow:0 6px 20px -14px rgba(16,30,48,.4)}
		.fpa-fold summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;align-items:center;gap:12px}
		.fpa-fold summary::-webkit-details-marker{display:none}
		.fpa-fold summary:focus-visible{outline:2px solid #1B4FA3;outline-offset:-2px;border-radius:16px}
		.fpa-fold-ic{width:36px;height:36px;border-radius:11px;background:#F3F5F1;display:grid;place-items:center;flex-shrink:0;color:#1B4FA3}
		.fpa-fold-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-fold-tx{flex:1;min-width:0}
		.fpa-fold-tx b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:14px;display:block;color:#16263F;letter-spacing:-.01em}
		.fpa-fold-tx span{font-size:11.5px;color:#6B7385;line-height:1.35;display:block;margin-top:1px}
		.fpa-fold-ch{width:18px;height:18px;fill:none;stroke:#6B7385;stroke-width:2;stroke-linecap:round;flex-shrink:0;transition:transform .2s}
		.fpa-fold[open] .fpa-fold-ch{transform:rotate(180deg)}
		.fpa-fold-b{padding:0 15px 15px}
		.fpa-fold .fpa-lead{border:0;padding:0;margin:0;background:transparent;box-shadow:none}
		/* Tuiles accueil cliquables (→ onglet Avantages) */
		.fpa-quick.islink{cursor:pointer}
		.fpa-quick.islink:focus-visible{outline:2px solid #1B4FA3;outline-offset:2px}
		.fpa-mapnote{font-size:12px;color:#7A5A10;background:linear-gradient(150deg,#FDF6E6,#FBF0D2);border:1px solid #EBD9A8;border-radius:12px;padding:12px;text-align:center;margin-bottom:12px}
		.fpapp[data-theme="dark"] .fpa-mapnote{background:#2a2411;border-color:#4d3f18;color:var(--fp-gold)}
		/* Liste des partenaires (onglet Carte) : vraie ligne icone | nom + avantage + adresse | chevron. */
		.fpa-maplist{display:flex;flex-direction:column;gap:9px;margin-top:4px}
		.fpa-maprow{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E4E7E2;border-radius:15px;padding:11px 13px;cursor:pointer;box-shadow:0 6px 18px -14px rgba(16,30,48,.5);transition:transform .12s}
		.fpa-maprow:active{transform:scale(.99)}
		.fpa-maprow .ic{width:46px;height:46px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:16px;font-weight:800;letter-spacing:-.01em;color:hsl(var(--h) 42% 34%);background:hsl(var(--h) 46% 93%);border:1px solid hsl(var(--h) 40% 86%)}
		/* La VRAIE PHOTO du commerce quand elle existe (le monogramme n est plus
		   qu un repli) : la Carte montre la même devanture que la fiche. */
		.fpa-maprow .ic.ph{background-size:cover;background-position:center;background-color:#F3F5F1;border-color:#DCE0DB}
		.fpapp[data-theme="dark"] .fpa-maprow .ic.ph{background-color:#1c2c48;border-color:#28374f}
		.fpa-maprow-t{flex:1;min-width:0}
		.fpa-maprow-t .n{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:14px;color:#16263F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-maprow-deal{display:inline-block;margin:5px 0 2px;font-size:11.5px;font-weight:800;color:#7A5A10;background:linear-gradient(150deg,#FDF3DC,#F8E6BC);border:1px solid #EBD59B;padding:3px 9px;border-radius:9px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-maprow-t .a{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#6B7385;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-maprow-t .a svg{width:12px;height:12px;flex-shrink:0}
		.fpa-maprow .fpa-perk-chev{flex:0 0 auto}
		.fpapp[data-theme="dark"] .fpa-maprow{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-maprow .ic{background:hsl(var(--h) 30% 20%);color:hsl(var(--h) 60% 75%);border-color:hsl(var(--h) 30% 28%)}
		.fpapp[data-theme="dark"] .fpa-maprow-t .n{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-maprow-deal{background:linear-gradient(150deg,#2a2411,#231e0e);border-color:#4d3f18;color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-maprow-t .a{color:#8091a6}
		/* ===== POINTS D ACHAT (buralistes) : section doree de l onglet Carte.
		   Ces commerces vendent la recharge 30 jours au comptoir, sans avantage :
		   un habillage or les distingue au premier regard des partenaires. ===== */
		.fpa-possec{background:linear-gradient(160deg,#FDF8EC,#FBF0D2);border:1px solid #EBD59B;border-radius:18px;padding:15px 14px 13px;margin:2px 0 16px;box-shadow:0 10px 26px -18px rgba(122,90,16,.55)}
		.fpa-possec-head{display:flex;align-items:center;gap:11px;margin-bottom:8px}
		.fpa-possec-ic{width:38px;height:38px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:linear-gradient(150deg,#16263F,#0C1726);box-shadow:0 6px 14px -6px rgba(12,23,38,.6)}
		.fpa-possec-ic svg{width:20px;height:20px;stroke:#F4C560;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-possec-head .t{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15.5px;font-weight:800;color:#16263F;letter-spacing:-.01em}
		.fpa-possec-head .s{font-size:11.5px;font-weight:700;color:#7A5A10;margin-top:1px}
		.fpa-possec-txt{font-size:12.5px;color:#5c4a1b;line-height:1.55;margin:0 0 12px}
		.fpa-posrow{border-color:#EBD59B;box-shadow:0 6px 18px -14px rgba(122,90,16,.7);margin-bottom:9px}
		.fpa-posrow:last-child{margin-bottom:0}
		.fpa-posrow .n{white-space:normal}
		.fpa-pos-chip{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7A5A10;background:linear-gradient(150deg,#FBEFCB,#F0C65A);border-radius:999px;padding:2px 8px;margin-left:4px;vertical-align:2px;white-space:nowrap}
		.fpa-pos-deal{white-space:normal}
		.fpapp[data-theme="dark"] .fpa-possec{background:linear-gradient(160deg,#241d0d,#1d1808);border-color:#4d3f18;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-possec-head .t{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-possec-head .s{color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-possec-txt{color:#cdbd92}
		.fpapp[data-theme="dark"] .fpa-posrow{border-color:#4d3f18}
		.fpapp[data-theme="dark"] .fpa-pos-chip{background:linear-gradient(150deg,#4a3c17,#6a561f);color:var(--fp-gold)}
		.fpa-mapcredit{font-size:10.5px;color:#6B7385;text-align:right;margin:4px 2px 10px}
		.fpa-map{height:264px;border-radius:18px;overflow:hidden;border:1px solid #DCE0DB;margin-bottom:14px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45);z-index:0}
		.fpapp[data-theme="dark"] .fpa-map{border-color:#28374f;box-shadow:none}
		.fpa-map .maplibregl-ctrl-attrib{font-size:9px}
		/* Mode sombre : on assombrit UNIQUEMENT le canvas de la carte (les pastilles et
		   bulles restent nettes car ce sont des surcouches HTML, hors canvas). */
		#fp-map.fpmap-dark .maplibregl-canvas{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92) saturate(.85)}
		/* Bulle « Itinéraire » : surcouche HTML (hors canvas, donc PAS inversée par le
		   filtre ci-dessus), sans règle dédiée elle restait blanche/lien bleu système
		   en thème sombre, hors charte. */
		.maplibregl-popup-content{background:#fff;color:#16263F;border-radius:12px;padding:11px 13px;font-family:inherit;font-size:12.5px;line-height:1.5;box-shadow:0 12px 28px -14px rgba(16,30,48,.5)}
		.maplibregl-popup-content a{color:#1B4FA3;font-weight:700;text-decoration:none}
		.maplibregl-popup-close-button{color:#6B7385}
		#fp-map.fpmap-dark .maplibregl-popup-content{background:#15233e;color:#E6ECF5;box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}
		#fp-map.fpmap-dark .maplibregl-popup-content a{color:#8FB3FF}
		#fp-map.fpmap-dark .maplibregl-popup-close-button{color:#9fb0c6}
		#fp-map.fpmap-dark .maplibregl-popup-tip{border-top-color:#15233e;border-bottom-color:#15233e}
		.fp-pin-wrap{background:transparent;border:none;cursor:pointer}
		.fp-pin{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;position:relative;background:hsl(var(--h) 55% 92%);border:2.5px solid hsl(var(--h) 45% 74%);box-shadow:0 4px 10px -3px rgba(16,30,48,.55)}
		.fp-pin:after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid hsl(var(--h) 45% 74%);transform:translateX(-50%)}
		.fp-pin span{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:12.5px;font-weight:800;letter-spacing:-.01em;color:hsl(var(--h) 45% 28%)}
		/* L EPINGLE PORTE LA COULEUR DE SON RAYON — la meme que le titre de sa section
		   dans la liste. Avant, sa teinte venait d une empreinte du NOM du commerce :
		   jolie sur trois epingles, illisible sur cinquante, et elle n apprenait rien.
		   Les deux tons viennent du serveur (une seule table de couleurs). */
		.fp-pin.rc{background:var(--cl);border-color:var(--c)}
		.fp-pin.rc:after{border-top-color:var(--c)}
		.fp-pin.rc span{color:var(--c)}
		/* LA PASTILLE DE GROUPE. Il n y avait AUCUN regroupement : a Chalons, quarante-
		   trois commerces du centre tombaient sur le meme pixel, et l epingle qu on
		   touchait etait celle du dessus, au hasard. Elle dit COMBIEN il y en a la, et
		   la toucher les separe. Ronde et pleine, pour ne jamais se confondre avec une
		   epingle : une goutte designe UN commerce, un disque en designe plusieurs. */
		.fp-pinq{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--c,#16263F);color:#fff;border:3px solid #fff;box-shadow:0 6px 16px -6px rgba(12,23,38,.65);font-family:"Space Grotesk","Inter",sans-serif;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none}
		.fp-pinq:focus-visible{outline:3px solid #F4C560;outline-offset:2px}
		.fpapp[data-theme="dark"] .fp-pinq{border-color:#101d38}
		/* Epingle POINT DE VENTE : or, reconnaissable de loin sur la carte */
		.fp-pin.pos{background:linear-gradient(150deg,#FBEFCB,#F0C65A);border-color:#D9A93E}
		.fp-pin.pos:after{border-top-color:#D9A93E}
		.fp-pin.pos span{color:#5a4410}
		.fpa-acccard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:16px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45);margin-bottom:14px}
		.fpa-av{width:52px;height:52px;border-radius:15px;background:linear-gradient(150deg,#16263F,#0C1726);color:#E9A93E;display:grid;place-items:center;font-weight:700;font-size:18px;overflow:hidden}
		.fpa-av img{width:100%;height:100%;object-fit:cover;display:block}
		.fpapp[data-theme="dark"] .fpa-av{color:var(--fp-gold)}
		.fpa-n{font-weight:600;font-size:16px;color:#1B2433}.fpa-e{font-size:12px;color:#6B7385}
		.fpa-chip{font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px}
		.fpa-chip.on{color:#7E610F;background:#FBF3DF}.fpa-chip.off{color:#4F5766;background:#EDF1F7}
		.fpa-list{background:#fff;border:1px solid #DCE0DB;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px -12px rgba(16,30,48,.45);margin-bottom:14px}
		.fpa-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #EDEFEB;font-size:13.5px;color:#6B7385}
		/* Rangées Réglages « façon maquette » : icône (trait) + libellé + valeur à droite. */
		.fpa-setrow{gap:12px}
		.fpa-setrow>span{flex:1;font-weight:700;font-size:13.5px;color:#16263F;text-align:left}
		.fpa-set-ic{width:19px;height:19px;stroke:#6B7385;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
		.fpapp[data-theme="dark"] .fpa-setrow>span{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-set-ic{stroke:#8091a6}
		.fpa-item-danger .fpa-set-ic{stroke:#C8453B}
		.fpapp[data-theme="dark"] .fpa-item-danger .fpa-set-ic{stroke:#ff8d85}
		.fpa-item:last-child{border-bottom:0}.fpa-item b{color:#0F1826;font-weight:600}
		.fpapp[data-theme="dark"] .fpa-item{color:#9aa6bd}
		.fpa-item-when{color:#5F6A7D}
		.fpapp[data-theme="dark"] .fpa-item-when{color:#A3B0C6}
		.fpapp[data-theme="dark"] .fpa-item b{color:#E6ECF5}
		.fpa-rowbtn{width:100%;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}
		.fpa-rowbtn:focus-visible{outline:2px solid #1B4FA3;outline-offset:-2px}
		.fpa-item-danger span{color:#C8453B;font-weight:700}
		.fpa-item-danger b{color:#C8453B}
		.fpapp[data-theme="dark"] .fpa-item-danger span,.fpapp[data-theme="dark"] .fpa-item-danger b{color:#ff8d85}
		.fpa-supcontact{display:flex;flex-direction:column;gap:1px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #EDEFEB}
		.fpa-supcontact a{display:flex;align-items:center;gap:9px;font-size:13px;color:#1B4FA3;text-decoration:none;padding:7px 2px;font-weight:600}
		.fpa-supcontact svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
		.fpapp[data-theme="dark"] .fpa-supcontact{border-color:#26344f}
		.fpapp[data-theme="dark"] .fpa-supcontact a{color:#9CC0FF}
		/* ===== VOTRE EXPLORATION (prive) : la fierte sans le classement public ===== */
		.fp-explo{background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:14px 15px;margin:0 0 14px;box-shadow:0 12px 28px -16px rgba(16,30,48,.55)}
		.fp-explo-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
		.fp-explo-h span{display:flex;align-items:center;gap:8px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:14.5px;color:#16263F;letter-spacing:-.01em}
		.fp-explo-h b{flex:0 0 auto;background:#F1F3F0;border:1px solid #E1E5DF;color:#4A5468;border-radius:999px;padding:3px 10px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
		.fpapp[data-theme="dark"] .fp-explo-h b{background:#1B2A44;border-color:#2C3B57;color:#A9B6CE}
		.fp-explo-bar{height:8px;border-radius:99px;background:#EDF1F7;margin:10px 0 8px;overflow:hidden}
		.fp-explo-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--fp-gold),var(--fp-gold-deep));min-width:8px}
		.fp-explo-s{font-size:12px;color:#6B7385;line-height:1.4}
		.fp-explo-s.done{color:#9a7714;font-weight:700}
		.fp-explo-streak{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:12px;font-weight:800;color:#8a6210}
		.fp-explo-streak svg{width:14px;height:14px;fill:var(--fp-gold);stroke:var(--fp-gold-deep);stroke-width:1;flex-shrink:0}
		.fpapp[data-theme="dark"] .fp-explo-streak{color:var(--fp-gold)}
		/* ===== DEFI EXPLORATEUR : N commerces du mois → une journee a offrir ===== */
		.fp-explo-gift{border-top:1px dashed #E4E8EE;margin-top:11px;padding-top:11px}
		.fpapp[data-theme="dark"] .fp-explo-gift{border-top-color:#26314c}
		.fp-explo-gift-t{font-size:12.5px;font-weight:800;color:#16263F;margin-bottom:6px}
		.fp-explo-gift-t.win{color:#8a6210}
		.fpapp[data-theme="dark"] .fp-explo-gift-t{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-explo-gift-t.win{color:var(--fp-gold)}
		.fp-explo-bar.mini{height:6px;margin:6px 0}
		.fp-explo-gift-s{font-size:12px;color:#6B7385;line-height:1.45;margin-top:6px}
		.fp-explo-gift-s b{color:#16263F}
		.fpapp[data-theme="dark"] .fp-explo-gift-s{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fp-explo-gift-s b{color:var(--fp-gold)}
		.fp-explo-gift-s.done{color:#9a7714;font-weight:700}
		.fp-explo-gift-btn{-webkit-appearance:none;appearance:none;display:block;width:100%;border:0;border-radius:12px;padding:12px;font-size:13.5px;font-weight:800;font-family:inherit;cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 40%,var(--fp-gold-deep));color:#3a2c07;box-shadow:0 10px 22px -10px rgba(233,169,62,.85);transition:transform .12s}
		.fp-explo-gift-btn:active{transform:scale(.98)}
		/* Calendrier de Avent */
		.fpa-adv{background:linear-gradient(160deg,#0E2A22,#0C1726);border:1px solid #1e3a30;border-radius:20px;padding:16px;margin-bottom:14px;box-shadow:0 14px 34px -20px rgba(0,0,0,.7)}
		.fpa-adv-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;gap:8px}
		.fpa-adv-h span{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:16px;color:#fff;letter-spacing:-.01em}
		.fpa-adv-h small{font-size:11px;color:#9fc9b6;white-space:nowrap}
		.fpa-adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
		.fpa-adv-door{-webkit-appearance:none;appearance:none;font-family:inherit;min-height:60px;border-radius:12px;border:1px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px}
		.fpa-adv-door.open{background:linear-gradient(160deg,#1B4FA3,#123C82);border-color:#2a5fb8;color:#fff;cursor:pointer;transition:transform .12s}
		.fpa-adv-door.open:active{transform:scale(.95)}
		.fpa-adv-door.open.opened{background:linear-gradient(160deg,#19895A,#0f6e46);border-color:#1fa96e}
		.fpa-adv-door.open.empty{background:#15233e;border-color:#28374f;color:#6b7a92;cursor:default}
		.fpa-adv-door.lock{background:#14212f;border-color:#233448;color:#5d6f86}
		.fpa-adv-n{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:16px;line-height:1}
		.fpa-adv-gift{font-size:14px}.fpa-adv-lk{font-size:11px;opacity:.85}.fpa-adv-gift svg,.fpa-adv-lk svg{vertical-align:middle}
		.fpa-adv-reveal{margin-top:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600;color:#fff;line-height:1.4}
		.fp-confetti{position:fixed;z-index:200;pointer-events:none;width:8px;height:8px;border-radius:2px;will-change:transform,opacity}
		@keyframes fpconf{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}
		.fpa-switch{width:42px;height:24px;border-radius:999px;background:#DCE0DB;position:relative;cursor:pointer;transition:.2s;flex-shrink:0}
		.fpa-switch.on{background:var(--fp-gold-deep)}
		.fpa-switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
		.fpa-switch.on::after{left:20px}
		.fpa-btn{display:block;width:100%;text-align:center;border:0;border-radius:14px;padding:14px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:10px;text-decoration:none}
		/* RENOMMEE .primary (audit integral, V4). Elle s appelait .gold et affichait
		   du BLEU, alors que .fpa-ptag.gold et .fpa-choice-tag.gold sont bien dorees :
		   le meme mot voulait dire deux choses opposees dans le meme fichier. Il y
		   avait meme un commentaire d avertissement ici, preuve que quelqu un s etait
		   deja fait avoir. Aucun changement visuel, juste un piege en moins. */
		.fpa-btn.primary{background:#1B4FA3;color:#fff}.fpa-btn.ghost{background:#fff;color:#1B2433;border:1px solid #DCE0DB}
		.fpa-btn.green{background:linear-gradient(150deg,#19895A,#0f6e46);color:#fff}
		.fpa-btn.danger{background:#fff;color:#C8453B;border:1px solid #f1c9c4}
		.fpa-freenote{font-size:11.5px;color:#6B7385;text-align:center;margin:-2px 0 12px;line-height:1.5}
		/* Carte abonnement + consentement */
		.fpa-subcard{background:#fff;border:1px solid #E4E8EE;border-radius:18px;padding:16px;margin-bottom:10px;box-shadow:0 10px 30px -18px rgba(16,30,48,.5)}
		.fpa-subhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
		.fpa-subprice{font-size:15px;color:#16263F}.fpa-subprice b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:26px;font-weight:800;letter-spacing:-.02em}
		.fpa-subtag{background:#EAF6EF;color:#19895A;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px}
		.fpa-subperks{list-style:none;margin:0 0 12px;padding:0}
		.fpa-subperks li{position:relative;padding-left:24px;font-size:13px;color:#4a5568;line-height:1.5;margin-bottom:6px}
		.fpa-subperks li:before{content:"";position:absolute;left:2px;top:5px;width:13px;height:8px;border-left:2px solid #19895A;border-bottom:2px solid #19895A;transform:rotate(-45deg)}
		.fpa-subtrial{background:#FBF7EC;border:1px solid #EBD9AE;color:#8a6b1f;font-size:12.5px;font-weight:600;border-radius:11px;padding:10px 12px;line-height:1.45;margin-bottom:12px}
		.fpa-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#4a5568;line-height:1.45;margin-bottom:12px;cursor:pointer}
		.fpa-consent input{margin-top:2px;width:18px;height:18px;flex:0 0 auto;accent-color:#19895A}
		.fpa-sub-disabled{opacity:.5;filter:grayscale(.3)}
		.fpa-install{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:linear-gradient(150deg,#16263F,#0C1726);border:0;border-radius:16px;padding:14px 16px;margin-bottom:14px;cursor:pointer;font-family:inherit;box-shadow:0 10px 26px -16px rgba(12,23,38,.9)}
		.fpa-install svg{width:24px;height:24px;flex-shrink:0;stroke:#9CC0FF;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-install span{display:flex;flex-direction:column;line-height:1.3}
		.fpa-install b{color:#fff;font-size:14px;font-weight:700}
		.fpa-install small{color:#9fb0c6;font-size:11.5px}
		.fpa-install:active{transform:scale(.99)}
		.fpa-install[hidden]{display:none}
		/* ===== BLOC « INSTALLER L APP » : le POURQUOI (liste a coches) puis le
		   COMMENT (etapes numerotees, vraie <ol> lisible par un lecteur d ecran).
		   Le bloc entier porte hidden une fois l app installee : plus rien dans le
		   flux, ni titre orphelin ni marge fantome. ===== */
		.fpa-inst{background:#fff;border:1px solid #E4E8EE;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 12px 30px -20px rgba(16,30,48,.55)}
		.fpa-inst[hidden]{display:none}
		.fpa-inst-hd{display:flex;align-items:flex-start;gap:12px}
		.fpa-inst-ic{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:linear-gradient(150deg,#16263F,#0C1726);display:grid;place-items:center}
		.fpa-inst-ic svg{width:20px;height:20px;fill:none;stroke:#F4C560;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpa-inst-t h3{margin:0;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:16px;font-weight:800;letter-spacing:-.02em;color:#16263F;line-height:1.25}
		.fpa-inst-t p{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:#5a6472}
		.fpa-inst-why{list-style:none;margin:13px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
		.fpa-inst-why li{position:relative;padding-left:23px;font-size:12.5px;line-height:1.5;color:#4a5468}
		.fpa-inst-why li::before{content:"";position:absolute;left:2px;top:5px;width:11px;height:6px;border-left:2px solid #19895A;border-bottom:2px solid #19895A;transform:rotate(-45deg)}
		.fpa-inst-why li b{color:#16263F;font-weight:800}
		.fpa-inst .fpa-install{margin:14px 0 0}
		.fpa-inst-how{margin-top:14px;border-top:1px solid #E7EAEF;padding-top:13px}
		.fpa-inst-step[hidden]{display:none}
		.fpa-inst-dev{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5a6472;margin-bottom:9px}
		.fpa-inst-how ol{margin:0;padding:0;list-style:none;counter-reset:fpinst;display:flex;flex-direction:column;gap:10px}
		.fpa-inst-how ol li{counter-increment:fpinst;position:relative;padding-left:31px;min-height:22px;font-size:12.5px;line-height:1.5;color:#4a5468}
		.fpa-inst-how ol li::before{content:counter(fpinst);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#16263F;color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center}
		.fpa-inst-how ol li b{color:#16263F;font-weight:800}
		.fpa-inst-warn{margin:0 0 11px;font-size:12.5px;line-height:1.5;color:#8E241D;background:#FDF1F0;border:1px solid #F3D9D7;border-radius:11px;padding:10px 12px}
		.fpa-inst-note{margin:0 0 11px;font-size:12px;line-height:1.45;color:#6B7385}
		/* Precision sous une etape : le GESTE reste en gros, ce qui l explique passe
		   en dessous, plus petit et plus clair. Avant, tout etait dans la meme
		   phrase et l oeil ne voyait plus ce qu il fallait toucher. */
		.fpa-inst-hint{display:block;margin-top:3px;font-size:11.5px;line-height:1.45;color:#828B99}
		.fpa-brand{margin:2px 0 16px;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px -20px rgba(10,20,48,.8);line-height:0}
		.fpa-brand img{display:block;width:100%;height:auto}
		.fpa-auth{background:#fff;border:1px solid #DCE0DB;border-radius:20px;padding:18px 16px;box-shadow:0 10px 30px -18px rgba(16,30,48,.5)}
		.fpa-authhead{text-align:center;margin-bottom:16px}
		.fpa-authtitle{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:18px;font-weight:800;color:#16263F;letter-spacing:-.02em}
		.fpa-authsub{font-size:12.5px;color:#6B7385;margin-top:5px;line-height:1.5}
		.fpa-seg{display:flex;gap:4px;background:#F3F5F1;border-radius:12px;padding:4px;margin-bottom:16px}
		.fpa-seg button{flex:1;border:0;background:none;border-radius:9px;padding:10px;font-size:13px;font-weight:700;color:#6B7385;cursor:pointer;font-family:inherit;transition:.15s}
		.fpa-seg button.on{background:#fff;color:#16263F;box-shadow:0 4px 12px -6px rgba(16,30,48,.4)}
		.fpa-form{display:none;flex-direction:column}
		.fpa-form.on{display:flex;animation:fpfade .2s ease}
		.fpa-fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
		.fpa-fld span{font-size:12px;font-weight:600;color:#6B7385}
		.fpa-fld input{min-height:44px;border:1px solid #DCE0DB;border-radius:11px;padding:12px 13px;font-size:14px;font-family:inherit;color:#1B2433;transition:border-color .15s,box-shadow .15s}
		.fpa-fld input:focus{outline:0;border-color:#16263F;box-shadow:0 0 0 3px rgba(22,38,63,.08)}
		/* CHAMPS DU FORMULAIRE D AIDE (audit integral). La classe .fpa-input etait posee
		   sur le menu deroulant et la zone de message de « Mon compte > Aide », mais elle
		   nexistait NULLE PART dans le style : ces deux champs sortaient au rendu brut du
		   navigateur, seuls de toute lapp, coinces entre un libelle et un bouton eux
		   correctement habilles. Cest lecran ou va un client mecontent, donc le pire
		   endroit du produit pour faire amateur. Meme habillage que partout ailleurs,
		   plus la hauteur de cible tactile reglementaire de 44 px. */
		.fpa-input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #DCE0DB;border-radius:11px;padding:12px 13px;font-size:14px;font-family:inherit;color:#1B2433;background:#fff;transition:border-color .15s,box-shadow .15s}
		.fpa-input:focus{outline:0;border-color:#16263F;box-shadow:0 0 0 3px rgba(22,38,63,.08)}
		textarea.fpa-input{resize:vertical;min-height:84px;line-height:1.45}
		.fpa-formmsg{font-size:12.5px;min-height:16px;margin:-2px 0 10px}
		.fpa-formmsg.ok{color:#19895A;font-weight:600}.fpa-formmsg.ko{color:#C8453B;font-weight:600}
		.fpa-forgot{display:block;text-align:center;font-size:12px;color:#6B7385;text-decoration:none;margin-top:10px}
		.fpa-forgot:hover{color:#16263F}
		.fpa-legal{margin-top:18px;border-top:1px solid #EDEFEB;padding-top:16px}
		.fpa-legal-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:13px;font-weight:800;color:#16263F;letter-spacing:-.01em;margin-bottom:8px}
		.fpa-legal details{border:1px solid #E4E7E2;border-radius:12px;margin-bottom:8px;overflow:hidden;background:#fff}
		.fpa-legal summary{list-style:none;cursor:pointer;padding:12px 14px;font-size:13px;font-weight:600;color:#1B2433;display:flex;align-items:center;justify-content:space-between}
		.fpa-legal summary::-webkit-details-marker{display:none}
		.fpa-legal summary::after{content:"";width:8px;height:8px;border-right:2px solid #6B7385;border-bottom:2px solid #6B7385;transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-left:10px}
		.fpa-legal details[open] summary::after{transform:rotate(-135deg)}
		.fpa-legal details[open] summary{color:#16263F}
		.fpa-legal-b{padding:0 14px 13px;font-size:12.5px;color:#6B7385;line-height:1.6}
		.fpa-legal-b b{color:#1B2433}
		.fpa-legal-f{font-size:11px;color:#6B7385;text-align:center;line-height:1.5;margin-top:12px}
		.fpa-legal-link{display:block;text-align:center;font-size:12px;color:#19895A;font-weight:600;text-decoration:none;margin-top:12px}
		.fpa-linkitem{text-decoration:none;color:inherit;transition:background .12s}
		.fpa-linkitem:active{background:#F6F8F4}
		.fpapp[data-theme="dark"] .fpa-linkitem:active{background:#1c2b47}
		/* Le vert de la maison est fait pour un FOND, pas pour du texte : sur du blanc il
		   tombe a 4,41 et la norme en demande 4,5. Meme vert, un cran plus fonce. */
		.fpa-linkitem b{color:#157A50}
		.fpa-founder{display:inline-block;font-size:10px;font-weight:800;color:#5a4410;background:linear-gradient(135deg,#FBEFCB,#F0C65A);padding:2px 8px;border-radius:999px;vertical-align:middle;margin-left:6px;letter-spacing:.02em}
		.fpapp[data-theme="dark"] .fpa-founder{background:linear-gradient(135deg,#4a3c17,#6a561f);color:var(--fp-gold)}
		.fpa-reassure{display:flex;align-items:center;gap:7px;font-size:12px;color:#19895A;background:#EAF6EF;border:1px solid #cfe9da;border-radius:12px;padding:9px 12px;margin-bottom:14px}
		.fpa-cancelnote{font-size:12.5px;color:#8a6210;background:#FDF3E2;border:1px solid #ecd9b2;border-radius:12px;padding:10px 12px;margin-bottom:14px;line-height:1.5}
		.fpa-cancelnote a{color:#1B4FA3;font-weight:700}
		.fpa-reassure svg{width:15px;height:15px;fill:none;stroke:#19895A;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
		.fp-pill-off{background:rgba(228,40,30,.18)!important;color:#9CC0FF!important;border-color:rgba(156,192,255,.35)!important}
		.fp-pill-off .fp-dot{background:#ff8d85;animation:none!important}
		/* Pastille INVITE : doree et engageante, le rouge reste aux vrais etats morts */
		.fp-pill-wait{background:rgba(244,197,96,.16)!important;color:var(--fp-gold)!important;border-color:rgba(244,197,96,.45)!important;box-shadow:0 4px 14px -6px rgba(233,169,62,.45)!important}
		.fp-pill-wait .fp-dot{background:var(--fp-gold)}
		/* Bandeau ANNONCE : meme famille que la notice, chip megaphone bleue (info = bleu, le dore reste au premium) */
		.fp-annonce-ic{background:linear-gradient(140deg,#2C5FB8,#1B4FA3)!important;color:#fff!important}
		.fp-notice.fp-annonce{border-color:rgba(27,79,163,.45)}
		/* Bandeau MODE DEMO : ruban ambre discret, honnete, jamais fermable. */
		.fp-demo-ban{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:9px 13px;border-radius:12px;background:linear-gradient(135deg,#FFF6E5,#FFEFCF);border:1px solid rgba(200,140,20,.35);color:#7a5300;font-size:12.5px;line-height:1.35}
		.fp-demo-tag{flex:none;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:11px;background:#E8912A;color:#fff;padding:3px 9px;border-radius:999px}
		.fp-demo-tx b{color:#5f4200}
		/* ===== AVANT-PREMIERE (mode demo) : la carte de lancement =====
		   Fond navy de la marque + liseres dores : c est le seul bloc de la page qui
		   parle au nom de Family Pass et non au nom des commerces, il doit se
		   distinguer nettement des cartes blanches du dessous. Le meme rendu en
		   clair et en sombre, puisque le bloc porte deja sa propre couleur. */
		.fp-lanch{position:relative;overflow:hidden;margin:0 0 16px;padding:20px 18px 18px;border-radius:20px;color:#fff;background:radial-gradient(130% 110% at 12% 0%,#233C63,#16263F 52%,#0E1B30);box-shadow:0 22px 44px -26px rgba(6,14,30,.9)}
		/* Voile dore en haut a droite : une lumiere, pas un aplat. */
		.fp-lanch::before{content:"";position:absolute;top:-70px;right:-60px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(244,197,96,.34),transparent 68%);pointer-events:none}
		.fp-lanch>*{position:relative}
		.fp-lanch-chip{display:inline-block;margin:0 0 10px;padding:4px 11px;border-radius:999px;background:linear-gradient(135deg,#F4C560,#E9A93E);color:#3A2A06;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
		.fp-lanch-t{margin:0 0 8px;font-size:21px;line-height:1.22;font-weight:800;letter-spacing:-.01em;color:#fff}
		.fp-lanch-p{margin:0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.8)}
		.fp-lanch-p b{color:#F4C560;font-weight:700}
		/* Annonce « bientôt » (commande / livraison / réservation) — sur le fond marine. */
		.fp-lanch-soon{margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.14)}
		.fp-lanch-soon-t{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#F4C560}
		.fp-lanch-soon-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 7px}
		.fp-lanch-soon-c{font-size:12.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.10);
			border:1px solid rgba(244,197,96,.35);border-radius:999px;padding:6px 11px;white-space:nowrap}
		.fp-lanch-soon-s{display:block;font-size:12px;line-height:1.5;color:rgba(255,255,255,.72)}
		.fp-lanch-soon-s b{color:#F4C560;font-weight:700}
		/* Porte 1 : le visiteur curieux. */
		.fp-lanch-cta{margin-top:16px}
		.fp-lanch-b1{display:block;width:100%;min-height:48px;padding:13px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#F4C560,#E9A93E);color:#2A1E04;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px -12px rgba(233,169,62,.75)}
		.fp-lanch-b1:active{transform:translateY(1px)}
		.fp-lanch-note{margin:9px 2px 0;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.66)}
		/* Porte 2 : le commercant. Repliee par defaut, elle ne vole pas la vedette
		   au bouton du dessus mais reste visible sans faire defiler. */
		.fp-lanch-pro{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.13)}
		.fp-lanch-b2{display:flex;flex-direction:column;gap:2px;width:100%;min-height:48px;padding:11px 14px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;text-align:left;cursor:pointer}
		.fp-lanch-b2 span{font-size:14px;font-weight:700}
		.fp-lanch-b2 em{font-style:normal;font-size:11.5px;color:rgba(255,255,255,.62)}
		.fp-lanch-b2[aria-expanded="true"]{border-color:rgba(244,197,96,.5);background:rgba(244,197,96,.1)}
		.fp-lanch-form{margin-top:12px}
		.fp-lanch-l{display:block;margin:10px 2px 5px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.78)}
		.fp-lanch-l span{font-weight:500;color:rgba(255,255,255,.45)}
		.fp-lanch-form input,.fp-lanch-form textarea{display:block;width:100%;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(255,255,255,.09);color:#fff;font:inherit;font-size:14.5px;line-height:1.4}
		.fp-lanch-form input::placeholder,.fp-lanch-form textarea::placeholder{color:rgba(255,255,255,.4)}
		.fp-lanch-form input:focus,.fp-lanch-form textarea:focus{outline:2px solid #F4C560;outline-offset:1px;background:rgba(255,255,255,.14)}
		.fp-lanch-form textarea{resize:vertical;min-height:66px}
		/* Pot de miel : sorti du flux SANS display:none, sinon certains robots le
		   reperent et ne le remplissent plus. */
		.fp-lanch-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
		.fp-lanch-send{width:100%;min-height:46px;margin-top:14px;padding:12px 16px;border:0;border-radius:13px;background:#fff;color:#16263F;font-size:15px;font-weight:800;cursor:pointer}
		.fp-lanch-send:disabled{opacity:.6;cursor:default}
		.fp-lanch-out{margin:10px 2px 0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.75);min-height:1px}
		.fp-lanch-out.ok{color:#9BE8B4;font-weight:700}
		.fp-lanch-out.ko{color:#FFB3AE;font-weight:700}
		/* Signature / droits d auteur, tout en bas de Mon compte. */
		.fpa-copyright{margin-top:26px;padding:16px 14px 8px;text-align:center;color:#6E7789;font-size:11px;line-height:1.5;border-top:1px solid #EEF0EC}
		.fpa-copyright-mk{width:30px;height:30px;margin:0 auto 8px;border-radius:8px;background:linear-gradient(140deg,#1B4FA3,#2C5FB8);color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
		.fpa-copyright p{margin:0}
		.fpa-copyright b{color:#6B7385}
		.fp-qr-plate{position:relative}
		/* QR verrouillé : légèrement givré (pas caché) pour donner envie, avec un
		   reflet doré qui glisse, effet « produit premium, presque palpable ». */
		.fp-qr-plate.fp-locked #fp-qr{filter:blur(3.5px) saturate(.9);opacity:.82}
		/* V3 lot 5 : compte non active = QR NET avec bandeau, plus de flou.
		   La caisse repond « compte non active » si on tente quand meme. */
		.fp-qr-plate.fp-inactive{position:relative}
		.fp-qr-plate.fp-inactive #fp-qr{filter:none;opacity:1}
		.fp-inactive-band{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:#16263F;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25)}
		.fpapp[data-theme="dark"] .fp-inactive-band{background:#F4C560;color:#101d38}
		.fp-shine{position:absolute;inset:0;border-radius:16px;overflow:hidden;pointer-events:none}
		.fp-shine:before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(156,192,255,.6),transparent);transform:skewX(-18deg);animation:fpshine 3.4s ease-in-out infinite}
		@keyframes fpshine{0%{left:-70%}60%{left:130%}100%{left:130%}}
		.fp-reveal-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 40%,var(--fp-gold-deep));color:#3a2c07;border:0;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 12px 26px -12px rgba(233,169,62,.85);letter-spacing:-.01em}
		.fp-reveal-btn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fp-reveal-btn:active{transform:scale(.97)}
		.fpa-edit{background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:14px;margin-bottom:14px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45)}
		.fpa-edit-l{display:block;font-size:12px;font-weight:600;color:#6B7385;margin-bottom:8px}
		.fpa-edit-row{display:flex;gap:8px}
		.fpa-edit-row input{flex:1;min-height:44px;border:1px solid #DCE0DB;border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit}
		.fpa-edit-row input:focus{outline:0;border-color:#16263F;box-shadow:0 0 0 3px rgba(22,38,63,.08)}
		.fpa-edit-row button{background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
		.fpa-edit-row button:disabled{opacity:.5}
		.fpa-edit-msg{font-size:12px;margin-top:7px;min-height:14px}
		.fpa-edit-msg.ok{color:#19895A;font-weight:600}.fpa-edit-msg.ko{color:#C8453B;font-weight:600}
		/* Profil facultatif (réglages) : bloc dépliable, coordonnées privées */
		.fpa-profile{background:#fff;border:1px solid #DCE0DB;border-radius:16px;margin-bottom:14px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45);overflow:hidden}
		.fpa-profile>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:15px 16px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14.5px;font-weight:800;color:#16263F}
		.fpa-profile>summary::-webkit-details-marker{display:none}
		.fpa-profile>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid #9AA4B4;border-bottom:2px solid #9AA4B4;transform:rotate(45deg);transition:.2s}
		.fpa-profile[open]>summary::after{transform:rotate(-135deg)}
		.fpa-profile-opt{font-size:11px;font-weight:700;color:#1B4FA3;background:#EAF0FB;border-radius:99px;padding:3px 10px}
		.fpa-profile-b{padding:0 16px 16px}
		.fpa-notif{background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:15px 16px;margin-bottom:14px;box-shadow:0 6px 20px -12px rgba(16,30,48,.45)}
		.fpa-notif-t{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:14.5px;color:#16263F;margin-bottom:5px}
		.fpa-notif-b{font-size:12.5px;color:#4a5568;line-height:1.5;margin-bottom:12px}
		.fpa-btn.ghost.on{background:#E4F3EB;border-color:#bfe5cf;color:#137a4f}
		.fpa-profile-note{font-size:12px;color:#4a5568;line-height:1.5;background:#F6F8F4;border-radius:12px;padding:11px 12px;margin:0 0 14px}
		.fpa-profile-note svg{width:14px;height:14px;vertical-align:-2px;fill:none;stroke:#19895A;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:2px}
		.fpa-fld-l{display:block;font-size:12px;font-weight:700;color:#16263F;margin:10px 0 4px}
		.fpa-fld-l span{font-weight:500;color:#5C6577}
		.fpa-pfld{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #DCE0DB;border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;color:#16263F;background:#fff}
		.fpa-pfld:focus{outline:0;border-color:#1B4FA3;box-shadow:0 0 0 3px rgba(27,79,163,.12)}
		.fpa-fld-row{display:flex;gap:10px}.fpa-fld-row>div{flex:1;min-width:0}
		.fp-qr-full{position:absolute;inset:0;z-index:120;background:#0C1726;display:none;align-items:center;justify-content:center;padding:24px}
		.fp-qr-full.on{display:flex;animation:fpfade .18s ease}
		.fp-qr-full-in{text-align:center;width:100%}
		.fp-qr-full-box{width:min(78vw,320px);height:min(78vw,320px);margin:0 auto;background:#fff;border-radius:22px;padding:16px;box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
		.fp-qr-full-box svg{width:100%;height:100%;display:block}
		.fp-qr-full-t{color:#fff;font-weight:700;font-size:16px;margin-top:22px;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fp-qr-full-s{color:rgba(255,255,255,.75);font-size:12.5px;margin-top:7px;font-variant-numeric:tabular-nums}
		.fp-qr-full-x{color:#8fa0b8;font-size:12.5px;margin-top:6px}
		/* ===== Fiche boutique (façon Uber) ===== */
		/* PLEIN CADRE, TOUS MOTEURS. La fiche glisse par transform:translateX ; or sur
		   WebKit (Safari iPhone + Mac) une boite position:absolute dimensionnee par
		   inset/right/bottom SOUS un transform se retrecit parfois a la LARGEUR DE SON
		   CONTENU au lieu de remplir le cadre : combinee au translateX, la fiche
		   apparaissait a moitie, decalee (parfait sur Chrome/Android, casse sur Safari).
		   On epingle donc width/height:100% : la taille ne depend plus de inset, elle
		   vaut toujours EXACTEMENT le cadre .fpapp (hauteur definie: 760px ou 100dvh).
		   overflow:hidden borne aussi tout debordement horizontal d un rail interne. */
		.fp-shop{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow:clip;z-index:130;background:#F3F6FB;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);visibility:hidden}
		.fp-shop.on{transform:translateX(0);visibility:visible}
		/* overflow-x:hidden OBLIGATOIRE (bug « fiche decalee » iPhone/PC) : avec
		   overflow-y:auto seul, le sens horizontal devient auto lui aussi — le rail
		   photo (marges negatives heritees de .fpa-rail) depassait un peu et le
		   GLISSEMENT DES PHOTOS se transmettait au conteneur : toute la fiche
		   partait sur le cote et restait coincee decalee. Verrou : la fiche ne peut
		   plus bouger horizontalement, les photos gardent leur glissement interne. */
		.fp-shop-scroll{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:30px}
		/* ENCOCHE iPhone : ce bouton Retour est partagé par 4 panneaux plein écran
		   (fiche commerçant, notifications, profil membre, carte cadeau). Sans
		   env(safe-area-inset-top) il se retrouvait SOUS une encoche, injoignable au
		   pouce, comme .fpa-topbar, .fp-story-bar, .fpnav et .fps-lb-x, il descend
		   maintenant de la hauteur de cette encoche. Sa zone tactile de 44 px
		   (.fp-shop-close::before) est centrée sur le bouton : elle suit le décalage. */
		.fp-shop-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 6px 18px -6px rgba(0,0,0,.5);display:grid;place-items:center;cursor:pointer}
		.fp-shop-close svg{width:20px;height:20px;fill:none;stroke:#16263F;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
		/* MINI-BARRE DU HAUT DE LA FICHE : cachee tant que la photo est visible,
		   elle glisse en place des que le scroll depasse la photo. Elle porte le nom
		   du commerce et sert de fond a la fleche retour : avant, le texte de la
		   fiche defilait nu sous la fleche flottante, ca faisait neglige. */
		.fp-shop-topbar{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;min-height:calc(54px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px 62px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 20px -14px rgba(0,0,0,.45);transform:translateY(-110%);transition:transform .22s ease}
		.fp-shop-topbar span{font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:16px;color:#16263F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fp-shop.sc .fp-shop-topbar{transform:translateY(0)}
		.fpapp[data-theme="dark"] .fp-shop-topbar{background:rgba(19,31,54,.96);box-shadow:0 8px 20px -14px rgba(0,0,0,.85)}
		.fpapp[data-theme="dark"] .fp-shop-topbar span{color:#E6ECF5}
		/* Panneau OFFRIR (carte cadeau) intégré */
		/* Meme parade WebKit que .fp-shop (panneau glissant plein cadre). */
		.fp-gift-panel{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow:clip;z-index:135;background:#F3F6FB;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);visibility:hidden}
		.fp-gift-panel.on{transform:translateX(0);visibility:visible}
		.fp-gift-scroll{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
		.fp-gift-in{max-width:420px;margin:0 auto;padding:calc(60px + env(safe-area-inset-top,0px)) 22px 30px;text-align:center}
		.fp-gift-logo{width:70px;height:70px;border-radius:19px;object-fit:cover;box-shadow:0 12px 26px -12px rgba(16,30,48,.6);margin:0 auto 14px;display:block}
		.fp-gift-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:23px;font-weight:800;letter-spacing:-.02em;color:#16263F;margin:0 0 8px;line-height:1.12}
		.fp-gift-sub{font-size:14px;color:#4a5568;line-height:1.55;margin:0 auto 18px;max-width:340px}
		.fp-gift-price{display:inline-flex;align-items:baseline;gap:8px;background:#EAF0FB;border:1px solid #d3e0f5;border-radius:14px;padding:10px 18px;margin-bottom:6px}
		.fp-gift-price b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:24px;font-weight:800;color:#1B4FA3}
		.fp-gift-price span{font-size:13px;color:#6B7385}
		.fp-gift-steps{text-align:left;margin:18px auto;max-width:340px;display:flex;flex-direction:column;gap:11px}
		.fp-gift-step{display:flex;gap:11px;align-items:flex-start}
		.fp-gift-step .n{flex:0 0 auto;width:25px;height:25px;border-radius:50%;background:#16263F;color:#fff;font-weight:800;font-size:12.5px;display:grid;place-items:center}
		.fp-gift-step div{font-size:13px;color:#26313f;line-height:1.45}
		.fp-gift-step b{color:#16263F}
		.fp-gift-note{font-size:12.5px;color:#5a6472;margin-top:12px;line-height:1.5}
		.fp-gift-ok{font-size:42px;margin-bottom:4px;animation:fppop .5s .1s both}
		.fp-gift-ok svg{display:block;margin:0 auto;color:#1f8a54}
		.fp-gift-code{font-family:"SFMono-Regular",Consolas,monospace;font-size:23px;font-weight:800;letter-spacing:2px;color:#16263F;background:#F3F7FF;border:2px dashed #b6c9ec;border-radius:15px;padding:16px;word-break:break-all;margin:14px 0 4px}
		.fp-gift-copy{margin-top:10px;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;border:0;border-radius:12px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
		/* overflow:hidden : le carrousel scrolle DANS .fp-shop-ph ; le wrap, lui, ne
		   laisse rien deborder vers l ecran (defense Safari/WebKit contre la fiche
		   entrainee de cote). isolation:isolate borne aussi les transforms internes. */
		.fp-shop-phwrap{position:relative;overflow:hidden;isolation:isolate;max-width:100%}
		/* BANNIERE 200 px (validee patron, juillet 2026) : a 150 px la photo coupait
		   l enseigne des devantures (cas reel Petit Caprice, le nom du magasin
		   disparaissait). A 200 px on voit presque toute la vitrine, et la carte
		   avantage reste atteignable d un demi-scroll meme sur un petit ecran.
		   Carrousel, points de navigation et repli monogramme (.imgfail) inchangés. */
		.fp-shop-ph{background:#0C1726;height:200px}
		/* Seul rail à vivre bord à bord (il n a pas de marge de contenu autour). */
		.fp-shop-ph.fpa-rail{margin-right:0;padding:0;scroll-snap-type:x mandatory}
		.fp-shop-phwrap .fpa-raildots{margin:8px 0 0}
		.fp-shop-ph::-webkit-scrollbar{display:none}
		/* min-width:0 : correctif flexbox connu (Safari/WebKit surtout) — sans lui, un
		   <img> a grande dimension intrinseque (photo Google) refuse de retrecir sous
		   sa taille naturelle dans un conteneur flex et fait deborder le rail, ce qui
		   entrainait la fiche de cote. width:100% seul ne suffit pas sur toutes les
		   versions. flex-shrink autorise (1) + min-width:0 = l image tient TOUJOURS. */
		.fp-shop-ph img{height:200px;width:100%;max-width:100%;min-width:0;object-fit:cover;flex:0 0 100%;scroll-snap-align:center;display:block}
		.fp-shop-ph .imgfail{height:200px;flex:0 0 100%;scroll-snap-align:center;display:grid;place-items:center;background:linear-gradient(135deg,#16263F,#0C1726);font-family:"Bricolage Grotesque",sans-serif;font-size:44px;font-weight:800;color:#56719a}
		.fp-shop-ph.noimg{align-items:center;justify-content:center}
		.fp-shop-ph.noimg span{font-family:"Bricolage Grotesque",sans-serif;font-size:50px;font-weight:800;color:#56719a}
		.fp-shop-swipe{position:absolute;top:12px;right:12px;background:rgba(12,23,38,.6);color:#fff;font-size:10.5px;font-weight:600;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s;pointer-events:none}
		.fp-shop-swipe.hide{opacity:0}
		.fp-shop-in{padding:16px 16px 0}
		.fp-shop-cat{font-size:11px;color:#6B7385;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
		.fp-shop-nm{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:24px;font-weight:800;color:#16263F;margin:3px 0 6px;letter-spacing:-.02em}
		/* ===== EN-TETE PROFIL (fiche facon vrai site) : avatar rond a anneau story,
		   nom, meta ouvert/adresse, puis actions Suivre/Favori/Partager en haut. ===== */
		/* EN-TETE PROFIL sur UN SEUL RAIL GAUCHE (demande patron) : l avatar
		   chevauche la photo de couverture (facon Instagram/Google), et le texte
		   reprend TOUTE la largeur en dessous, categorie, nom, note, statut,
		   adresse, tous alignes au meme bord gauche. Avant : rangee flex
		   align-items:flex-end, dont le -46px etait annule des que le bloc texte
		   depassait la hauteur de l avatar -> l avatar flottait au milieu. */
		.fp-shop-hd{display:block;margin-bottom:2px;position:relative}
		/* RANGEE DU HAUT : avatar à gauche, LES TROIS CHIFFRES à droite (note,
		   avantages, j aime), comme la maquette validee. Trois colonnes de meme
		   largeur, chiffre en gros, libelle en petit dessous : on lit la fiche
		   d un coup d oeil sans descendre. */
		.fp-shop-hd-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
		.fp-shop-hd-figs{display:flex;align-items:flex-end;flex:1 1 0;min-width:0;gap:2px;padding-bottom:4px}
		.fp-shop-fig{flex:1 1 0;min-width:0;text-align:center;padding:0;border:0;background:none;font-family:inherit;line-height:1.15}
		/* Pile de polices SANS repli monospace : si Space Grotesk ou Inter manquent,
		   monospace ecartait la virgule de la note (« 4 , 8 »). On retombe sur la
		   police systeme, qui compose « 4,8 » proprement. */
		.fp-shop-fig>b{display:flex;align-items:center;justify-content:center;gap:3px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:800;color:#16263F;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
		.fp-shop-fig>span{display:block;font-size:10.5px;font-weight:600;color:#6B7385;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fp-shop-fig .fp-shop-star{font-style:normal;color:var(--fp-gold-deep)}
		/* NOTE PROVISOIRE : le MEME langage visuel que la carte du catalogue
		   (.fpa-perk-nrev.prov) : la mention passe en gris, le chiffre reste. Deux
		   ecrans de la meme app doivent dire la meme chose de la meme facon.
		   (Ce bloc vit dans une chaine PHP a apostrophes simples : aucun apostrophe
		   ici, comme les commentaires voisins.) */
		.fp-shop-fig>span.prov{color:#98A0B0;font-weight:500}
		/* Le troisieme chiffre est un bouton : contrairement aux deux compteurs a
		   cote, il porte une pastille (fond rose + lisere) pour MONTRER qu on peut
		   appuyer dessus. Zone tactile de 44 px garantie par le ::before invisible,
		   comme .fp-shop-close. */
		.fp-shop-fig.love{position:relative;cursor:pointer;border:1.5px solid #F2C7C3;background:#FCF1F0;border-radius:13px;padding:6px 4px 5px}
		.fp-shop-fig.love.on{border-color:#E39B94;background:#FAE5E2}
		.fp-shop-fig.love::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;min-width:44px;height:44px}
		.fp-shop-fig.love>b{color:#C4241B}
		.fp-shop-fig.love i{font-style:normal;font-variant-numeric:tabular-nums}
		.fp-shop-fig.love svg{width:15px;height:15px;fill:none;stroke:#C4241B;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
		.fp-shop-fig.love.on svg{fill:#C4241B}
		.fp-shop-fig.love:active{transform:scale(.94)}
		.fpapp[data-theme="dark"] .fp-shop-fig>b{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-shop-fig>span{color:#8091a6}
		.fpapp[data-theme="dark"] .fp-shop-fig.love>b{color:#ff7a72}
		.fpapp[data-theme="dark"] .fp-shop-fig.love svg{stroke:#ff7a72}
		.fpapp[data-theme="dark"] .fp-shop-fig.love.on svg{fill:#ff7a72}
		.fpapp[data-theme="dark"] .fp-shop-fig.love{border-color:rgba(255,122,114,.45);background:rgba(255,122,114,.10)}
		.fpapp[data-theme="dark"] .fp-shop-fig.love.on{border-color:rgba(255,122,114,.7);background:rgba(255,122,114,.18)}
		.fp-shop-hd-tx{min-width:0;padding:8px 0 0}
		.fp-shop-hd .fp-shop-nm{margin:1px 0 0}
		.fp-shop-hd-meta{margin-top:5px;font-size:12.5px}
		.fp-shop-hd-addr{display:block;color:#6B7385;margin-top:3px}
		.fpapp[data-theme="dark"] .fp-shop-hd-addr{color:#8091a6}
		/* Avatar : chevauche la photo d en-tete, ancre a gauche du rail. */
		.fp-shop-ava{display:block;flex-shrink:0;position:relative;z-index:2;width:74px;height:74px;margin-top:-46px;padding:0;border:0;background:none}
		.fp-shop-ava-in{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:linear-gradient(150deg,#22375a,#16263F);color:var(--fp-gold);font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:29px;font-weight:800;border:4px solid #fff;box-shadow:0 9px 22px -10px rgba(12,23,38,.75)}
		.fpapp[data-theme="dark"] .fp-shop-ava-in{border-color:#0E1830}
		/* Anneau dore (story en cours) facon Snap : degrade conique derriere l avatar. */
		.fp-shop-ava.has-story{cursor:pointer}
		.fp-shop-ava.has-story::before{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 210deg,var(--fp-gold-deep),#F8D98E,var(--fp-gold),#F8D98E,var(--fp-gold-deep));z-index:0}
		.fp-shop-ava.has-story .fp-shop-ava-in{position:relative;z-index:1}
		.fp-shop-ava.has-story:active{transform:scale(.95)}
		.fp-shop-ava-tag{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);z-index:3;background:linear-gradient(150deg,var(--fp-gold),var(--fp-gold-deep));color:#3a2c07;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:99px;border:1.5px solid #fff}
		.fpapp[data-theme="dark"] .fp-shop-ava-tag{border-color:#0E1830}
		/* Avatar = vraie PHOTO du commerce (couvre le monogramme ; si elle casse, le
		   onerror la retire et le monogramme reprend sa place). Bord blanc facon profil. */
		.fp-shop-ava-img{position:absolute;inset:0;width:74px;height:74px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 9px 22px -10px rgba(12,23,38,.75);z-index:1}
		.fpapp[data-theme="dark"] .fp-shop-ava-img{border-color:#0E1830}
		.fp-shop-ava.has-story .fp-shop-ava-img{inset:2px;width:70px;height:70px}
		/* (L ancien gros bouton .fp-shop-follow-btn et les pastilles .fp-shop-act.ic ont
		   disparu : les 4 actions sont desormais de meme largeur, voir .fp-shop-act.) */
		/* ===== STORY plein ecran (ouverte au tap sur l anneau de l avatar) ===== */
		.fp-story-ov{position:fixed;inset:0;z-index:100000;background:#07101f;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .22s;cursor:pointer}
		.fp-story-ov.on{opacity:1}
		.fp-story-bar{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:12px;right:12px;height:3px;border-radius:99px;background:rgba(255,255,255,.28);overflow:hidden;z-index:3}
		.fp-story-bar i{display:block;height:100%;width:0;background:#fff;border-radius:99px}
		.fp-story-top{position:absolute;top:calc(20px + env(safe-area-inset-top,0px));left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:3;color:#fff}
		.fp-story-top span{font-weight:800;font-size:14.5px;text-shadow:0 1px 8px rgba(0,0,0,.55)}
		.fp-story-x{background:rgba(0,0,0,.4);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer;line-height:1}
		.fp-story-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
		.fp-story-noimg{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(160deg,#22375a,#0C1726)}
		.fp-story-noimg span{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:96px;font-weight:800;color:#F4C560}
		.fp-story-cap{position:absolute;left:0;right:0;bottom:0;padding:24px 18px calc(30px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,rgba(4,10,20,.92),rgba(4,10,20,.35) 60%,transparent);z-index:3;color:#fff}
		.fp-story-b{font-size:15.5px;font-weight:600;line-height:1.45;margin-bottom:6px}
		.fp-story-w{font-size:12px;color:#c9d2e0}
		/* (La rangee de tuiles .fp-shop-stats a disparu : les chiffres de la fiche
		   sont maintenant les trois colonnes du haut, .fp-shop-hd-figs.) */
		/* (La ligne .fp-shop-rate a disparu : la note vit maintenant dans la rangee
		   des trois chiffres, en haut de fiche.) */
		/* 4 ACTIONS DE MEME LARGEUR (Appeler, Itineraire, Suivre, Partager), chacune son
		   icone ET son mot. flex:1 1 0 : si le commerce n a pas de telephone ou pas
		   d adresse, les boutons restants se repartissent la place a egalite, la rangee
		   ne se deforme pas. Hauteur >= 60 px, bien au-dela des 44 px tactiles. */
		.fp-shop-actions{display:flex;gap:8px;margin-top:14px}
		/* Sous les boutons : ce que chaque geste fait vraiment, en une phrase.
		   Disparaît une fois le geste fait ([hidden]) : zéro bruit ensuite. */
		.fp-shop-hints{display:flex;flex-direction:column;gap:3px;margin-top:8px}
		.fp-shop-hint{font-size:11.5px;color:#6B7385;text-align:center}
		.fp-shop-hint[hidden]{display:none}
		.fpapp[data-theme="dark"] .fp-shop-hint{color:#8091a6}
		.fp-shop-act{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;border:1px solid #E4E8EE;border-radius:14px;padding:9px 4px;min-height:60px;font-size:11.5px;font-weight:700;color:#16263F;cursor:pointer;font-family:inherit;text-decoration:none;text-align:center;transition:transform .12s}
		.fp-shop-act svg{width:20px;height:20px;fill:none;stroke:#16263F;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
		.fp-shop-act span{display:block;max-width:100%;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fp-shop-act:active{transform:scale(.96)}
		/* Suivre : action d engagement, donc marine pleine. Etat Suivi = or + le mot
		   change en « Suivi ✓ » (jamais la couleur seule) + aria-pressed. */
		.fp-shop-act.follow{background:linear-gradient(150deg,#20355a,#16263F);border-color:#16263F;color:#fff;box-shadow:0 9px 20px -14px rgba(22,38,63,.95)}
		.fp-shop-act.follow svg{stroke:#fff}
		.fp-shop-act.follow.on{background:linear-gradient(150deg,#FBF3DF,#F3E2B2);border-color:#E4CE94;color:#6B4E0C;box-shadow:none}
		.fp-shop-act.follow.on svg{stroke:#6B4E0C}
		.fpapp[data-theme="dark"] .fp-shop-act{background:#15233e;border-color:#28374f;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-shop-act svg{stroke:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-shop-act.follow{background:linear-gradient(150deg,#2b4372,#1d3057);border-color:#3a5486;color:#fff}
		.fpapp[data-theme="dark"] .fp-shop-act.follow svg{stroke:#fff}
		.fpapp[data-theme="dark"] .fp-shop-act.follow.on{background:linear-gradient(150deg,#3a2f14,#2c2410);border-color:#5a4a1e;color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fp-shop-act.follow.on svg{stroke:var(--fp-gold)}
		.fpa-favheart{width:12px;height:12px;fill:#E25A4E;stroke:none;vertical-align:-1px;margin-left:2px}
		.fp-shop-desc{font-size:13.5px;color:#4a5568;line-height:1.55;margin-top:12px}
		/* (Les titres de la fiche commerçant utilisent .fpa-sech, comme les onglets.) */
		.fp-shop-in .fpa-sech{margin:20px 0 10px}
		.fp-shop-loc{font-size:12.5px;color:#6B7385;margin:2px 0 0}
		.fpapp[data-theme="dark"] .fp-shop-loc{color:#8091a6}
		.fp-shop-cta-final{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 6px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#F8D98E,var(--fp-gold) 40%,var(--fp-gold-deep));color:#3a2c07;font-weight:800;font-size:14.5px;text-decoration:none;box-shadow:0 12px 26px -12px rgba(233,169,62,.8);--fp-ic2:currentColor}
		.fp-shop-cta-final svg{width:17px;height:17px;fill:none;stroke:#3a2c07;stroke-width:2;flex-shrink:0}
		/* (Bande dorée « Votre partenaire Family Pass » supprimée avec ses règles :
		   sur une app de pass, tous les commerces affichés SONT partenaires.) */
		/* ===== VITRINE (fiche site-vitrine) ===== */
		/* Pastille Ouvert/Ferme en direct, sous la ligne categorie · adresse. */
		.fp-shop-open{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;font-weight:800}
		.fp-shop-open i{width:8px;height:8px;border-radius:50%;flex-shrink:0}
		.fp-shop-open.on{color:#19895A}.fp-shop-open.on i{background:#19895A;box-shadow:0 0 0 3px rgba(25,137,90,.16)}
		.fp-shop-open.off{color:#B54708}.fp-shop-open.off i{background:#B54708;box-shadow:0 0 0 3px rgba(181,71,8,.14)}
		.fpapp[data-theme="dark"] .fp-shop-open.on{color:#4ade80}.fpapp[data-theme="dark"] .fp-shop-open.on i{background:#4ade80}
		.fpapp[data-theme="dark"] .fp-shop-open.off{color:#fbbf24}.fpapp[data-theme="dark"] .fp-shop-open.off i{background:#fbbf24}
		/* Carte & tarifs : une VRAIE carte cliquable (miniature + libelle + fleche),
		   facon vrai site, plus valorisant que l ancien petit bouton centre. */
		.fp-shop-vit{display:flex;gap:9px;margin:14px 0 2px}
		.fp-shop-menu-btn{flex:1;display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;border-radius:16px;padding:10px 12px;cursor:pointer;transition:transform .12s;color:#16263F;background:#fff;border:1.5px solid #E4E8EE;box-shadow:0 10px 22px -16px rgba(16,30,48,.55)}
		.fp-shop-menu-btn:active{transform:scale(.98)}
		.fp-shop-menu-thumb{width:54px;height:54px;border-radius:11px;object-fit:cover;flex:0 0 auto;background:#EEF1F5}
		.fp-shop-menu-thumb.noimg{display:none}
		.fp-shop-menu-tx{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
		.fp-shop-menu-tx b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:#16263F}
		.fp-shop-menu-tx small{font-family:"Inter",sans-serif;font-size:11px;font-weight:600;color:#6B7385}
		.fp-shop-menu-arr{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#B6BECB;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fp-shop-menu-btn{color:#E6ECF5;background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-shop-menu-tx b{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-shop-menu-tx small{color:#93A0B5}
		/* Chips pratiques (Terrasse, CB des 1 EUR…). */
		.fp-shop-chips{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 10px}
		.fp-shop-chips span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#3d4a5c;background:#F3F5F1;border:1px solid #E0E4DE;border-radius:99px;padding:5px 11px}
		.fp-shop-chips span i{font-style:normal;color:#19895A;font-weight:800}
		.fpapp[data-theme="dark"] .fp-shop-chips span{color:#c2cdde;background:#1a2942;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-shop-chips span i{color:#4ade80}
		/* MA COLLECTION DE CHALONS (Compte) : categories explorees vs a decouvrir. */
		.fpa-collec{background:#fff;border:1px solid #DCE0DB;border-radius:18px;padding:15px 16px;margin-top:12px;box-shadow:0 2px 6px -4px rgba(16,30,48,.2),0 14px 30px -16px rgba(16,30,48,.5)}
		.fpa-collec-hd{display:flex;align-items:center;justify-content:space-between;gap:10px}
		.fpa-collec-hd h3{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15px;font-weight:800;letter-spacing:-.01em;color:#16263F;margin:0;display:flex;align-items:center;gap:8px}
		.fpa-collec-n{flex:0 0 auto;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;font-weight:700;color:#4A5468;background:#F1F3F0;border:1px solid #E1E5DF;border-radius:999px;padding:3px 10px;font-variant-numeric:tabular-nums}
		.fpapp[data-theme="dark"] .fpa-collec-n{background:#1B2A44;border-color:#2C3B57;color:#A9B6CE}
		.fpa-collec-bar{height:6px;border-radius:99px;background:#EEF1ED;margin:11px 0 12px;overflow:hidden}
		.fpa-collec-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--fp-gold),var(--fp-gold-deep));transition:width .5s cubic-bezier(.2,.72,.2,1)}
		.fpa-collec-grid{display:flex;flex-wrap:wrap;gap:7px}
		.fpa-collec-c{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#9AA3B2;background:#F3F5F1;border:1px dashed #D5DAD3;border-radius:99px;padding:5px 11px}
		.fpa-collec-c.on{color:#7A5A10;background:linear-gradient(150deg,#FDF3DC,#F8E6BC);border:1px solid #EBD59B}
		.fpa-collec-c.on i{font-style:normal;font-weight:800;color:#B08420}
		.fpa-collec-tip{font-size:12px;color:#6B7385;margin-top:10px;line-height:1.5}
		.fpa-collec-tip.done{color:#7A5A10;font-weight:700}
		.fpapp[data-theme="dark"] .fpa-collec{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-collec-hd h3{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-collec-bar{background:#26344f}
		.fpapp[data-theme="dark"] .fpa-collec-c{color:#71809a;background:#1a2942;border-color:#33425e}
		.fpapp[data-theme="dark"] .fpa-collec-c.on{color:#F4C560;background:#2a2411;border-color:#4d3f18}
		.fpapp[data-theme="dark"] .fpa-collec-tip{color:#93A0B5}
		.fpapp[data-theme="dark"] .fpa-collec-tip.done{color:#F4C560}
		/* « Ouverts maintenant » (onglet Carte) : chip filtre sur les horaires. */
		.fpa-opennow{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:7px;margin:2px 0 10px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:12.5px;font-weight:800;color:#3d4a5c;background:#fff;border:1px solid #DCE0DB;border-radius:99px;padding:8px 14px;cursor:pointer;transition:transform .12s}
		.fpa-opennow:active{transform:scale(.96)}
		.fpa-opennow .dot{width:8px;height:8px;border-radius:50%;background:#C9CFDA}
		.fpa-opennow.on{color:#0f5132;background:#E9F7EF;border-color:#BFE5CE}
		.fpa-opennow.on .dot{background:#19895A;box-shadow:0 0 0 3px rgba(25,137,90,.18)}
		.fpapp[data-theme="dark"] .fpa-opennow{color:#c2cdde;background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-opennow.on{color:#4ade80;background:#122b1f;border-color:#1e5137}
		/* ===== PAGE « Commander & Réserver » : LA CARTE COMMERCE (maquette) =====
		   La ligne de liste devient une vraie carte : photo à gauche, contenu à
		   droite, et le bouton d action EN BAS sur toute la largeur (a hauteur de
		   pouce). Grille : la rangee du bouton traverse toute la carte. */
		/* ═══ LA LIGNE DU COMPTOIR ═══
		   Elle pesait 230 a 700 px selon ce que le commercant avait rempli : a
		   cinquante commerces, vingt ecrans de pouce. Elle en fait cent, comme chez
		   les grandes applications de commande, et tout ce qui aide a CHOISIR y tient :
		   la photo, le nom, le metier, la distance, l etat, le service le plus utile,
		   l avantage. Toute la ligne se touche — plus de bouton dans la liste : il
		   vivait deja sur la fiche, ou le client arrive en un tap. */
		.fpa-shopcard{display:grid;grid-template-columns:auto 1fr auto;gap:0 13px;align-items:center;padding:10px 13px;min-height:100px}
		.fpa-shopcard>.fpa-rowph{position:relative;display:block;width:72px;height:72px;flex:none}
		.fpa-shopcard .ic{width:72px;height:72px;border-radius:16px;font-size:22px}
		.fpa-shopcard>.fpa-maprow-t{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:2px}
		.fpa-shopcard>.fpa-perk-chev{grid-column:3;align-self:center}
		.fpa-shopcard .fpa-maprow-t .n{font-size:16.5px;letter-spacing:-.012em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		/* LA PASTILLE SUR LA PHOTO, jamais a cote du nom : collee au nom elle coupait
		   « Barbier Marceau » en deux, et le nom est ce que le client cherche. */
		.fpa-rowbadge{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);background:#16263F;color:#fff;border:1.5px solid #fff;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(12,23,38,.25)}
		/* LA LIGNE GRISE : metier, distance, etat. Elle se replie si elle deborde. */
		.fpa-rowmeta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:13px;color:#6B7385;line-height:1.25;min-width:0}
		.fpa-rowmeta .mt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12em}
		/* LE SERVICE, une seule ligne : ce qu il peut OBTENIR, jamais une absence. */
		.fpa-rowsvc{font-size:13px;color:#4A5468;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-rowsvc.livr{color:#8A6714;font-weight:600}
		.fpa-rowsvc.table,.fpa-rowsvc.rdv{color:#15704A;font-weight:600}
		/* L AVANTAGE, et c est le SEUL or de la ligne : sans lui, l or ne veut plus
		   rien dire. Il n apparait que s il y a quelque chose a dire. */
		.fpa-rowdeal{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:#8A5A0B;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-rowdeal svg{flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fpa-rowmeta{color:#93A0B8}
		.fpapp[data-theme="dark"] .fpa-rowsvc{color:#B6C2D6}
		.fpapp[data-theme="dark"] .fpa-rowsvc.livr{color:#E9C879}
		.fpapp[data-theme="dark"] .fpa-rowsvc.table,.fpapp[data-theme="dark"] .fpa-rowsvc.rdv{color:#7FD3AA}
		.fpapp[data-theme="dark"] .fpa-rowdeal{color:#EFC978}
		.fpapp[data-theme="dark"] .fpa-rowbadge{background:#F4C560;color:#2A1E04;border-color:#101d38}
		/* LA VITRINE EN UNE LIGNE. Elle montrait quatre PHOTOS empilees : a elle seule
		   elle pesait plus que la ligne entiere d aujourd hui. Meme contenu, memes prix
		   lus du catalogue, une seule ligne qui defile sous le doigt. */
		/* Le VOILE a droite dit que la ligne continue : sans lui, un prix coupe en
		   deux ressemble a un defaut d affichage au lieu d une invitation a faire
		   glisser. Le masque est pose en CSS pur, aucune image. */
		.fpa-rowvit{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:2px;padding-bottom:1px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent)}
		.fpa-rowvit::-webkit-scrollbar{display:none}
		.fpa-rowvit-i{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;color:#6B7385;white-space:nowrap}
		.fpa-rowvit-i b{font-weight:600;color:#4A5468}
		.fpa-rowvit-i i{font-style:normal;font-weight:700;color:#8A5A0B;font-variant-numeric:tabular-nums}
		.fpa-rowvit-i.more{color:#6E7789;font-weight:600}
		.fpapp[data-theme="dark"] .fpa-rowvit-i{color:#93A0B8}
		.fpapp[data-theme="dark"] .fpa-rowvit-i b{color:#C3CDE0}
		.fpapp[data-theme="dark"] .fpa-rowvit-i i{color:#EFC978}
		/* LE « + » DE LA REGLE D OR, a hauteur de pouce (28 px de cible) sans peser
		   sur la hauteur de la ligne : il vit DANS le texte, pas au-dessus. */
		/* LE « + » QUI AJOUTE AU PANIER : un geste qui coute de l argent, donc une vraie
		   cible. La boite fait 26x44 -- la hauteur exigee -- mais les marges negatives
		   rendent au ruban la place qu elle prend : la ligne du commerce garde ses
		   cent vingt pixels. Le rond DESSINE reste petit, le doigt trouve grand. */
		.fpa-rowvit-add{-webkit-appearance:none;appearance:none;flex:none;width:26px;height:44px;margin:-12px 0;border-radius:0;border:0;background:none;color:#fff;font-size:13px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;padding:0;position:relative;align-self:center}
		.fpa-rowvit-add:before{content:"";position:absolute;left:3px;top:12px;width:20px;height:20px;border-radius:50%;background:#16263F}
		.fpa-rowvit-add span{position:relative;z-index:1;line-height:1}
		
		.fpapp[data-theme="dark"] .fpa-rowvit-add{color:#2A1E04}
		.fpapp[data-theme="dark"] .fpa-rowvit-add:before{background:#F4C560}
		/* Les PASTILLES DE SERVICE : ce que le commerce fait, avant le clic. */
		.fpa-svcpills{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
		.fpa-svcpill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;border-radius:999px;padding:4px 9px;border:1px solid #DCE0DB;background:#FAFCF8;color:#6B7385;white-space:nowrap;font-variant-numeric:tabular-nums}
		.fpa-svcpill svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-svcpill.livr{background:#FBF3DC;border-color:transparent;color:#8A6714}
		.fpa-svcpill.place{background:#E4F3EB;border-color:transparent;color:#0f6e46}
		/* Les nouvelles cles de service : le rendez-vous et la table en vert (comme
		   sur place : on y va), la non-livraison en neutre (une information, pas
		   un argument). Aucune couleur inventee. */
		.fpa-svcpill.rdv,.fpa-svcpill.table{background:#E4F3EB;border-color:transparent;color:#0f6e46}
		.fpa-svcpill.nodlv{background:#F1F3F0;border-color:transparent;color:#6B7385}
		.fpapp[data-theme="dark"] .fpa-svcpill{background:#111C33;border-color:#28374f;color:#9BA8BF}
		.fpapp[data-theme="dark"] .fpa-svcpill.livr{background:#2E2716;border-color:transparent;color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-svcpill.place{background:#14301F;border-color:transparent;color:#7FD9AE}
		.fpapp[data-theme="dark"] .fpa-svcpill.rdv,.fpapp[data-theme="dark"] .fpa-svcpill.table{background:#14301F;border-color:transparent;color:#7FD9AE}
		.fpapp[data-theme="dark"] .fpa-svcpill.nodlv{background:#1a2333;border-color:transparent;color:#9BA8BF}
		/* ===== PAGE « Commander & Réserver » : STATUT par ligne + fermés adoucis ===== */
		.fpa-rowst{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;margin:2px 0}
		.fpa-rowst .d{width:7px;height:7px;border-radius:50%;flex:none;background:#9aa3b2}
		.fpa-rowst.on{color:#0f6e46}
		.fpa-rowst.on .d{background:#19895A;box-shadow:0 0 0 3px rgba(25,137,90,.15)}
		.fpa-rowst.soon{color:#8A6714}
		.fpa-rowst.soon .d{background:var(--fp-gold);box-shadow:0 0 0 3px rgba(233,169,62,.18)}
		.fpa-rowst.off{color:#6B7385}
		/* Ferme ne veut PAS dire eteint (decision patron : on commande maintenant,
		   on retire a la reouverture). La pastille de statut donne le moment, le
		   tri descend la carte en bas de son rayon, mais elle reste en couleurs. */
		.fpa-rowshut{opacity:.94}
		.fpapp[data-theme="dark"] .fpa-rowst.on{color:#4ade80}
		.fpapp[data-theme="dark"] .fpa-rowst.soon{color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-rowst.off{color:#9BA8BF}
		/* ===== PAGE « Commander & Réserver » : IPASS accueille ===== */
		.fpa-ipassask{display:flex;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;background:#FBF3DC;border:1px solid var(--fp-gold);border-radius:14px;padding:10px 13px;margin:0 0 10px;font-family:inherit;font-size:12.5px;font-weight:600;color:#8A6714}
		.fpa-ipassask .i{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-ipassask:active{transform:scale(.985)}
		.fpapp[data-theme="dark"] .fpa-ipassask{background:#2E2716;border-color:#4d3f18;color:#E3C983}
		/* ===== PAGE « Commander & Réserver » : le BANDEAU en cours / habituel ===== */
		.fpa-liveband{display:flex;align-items:center;gap:11px;width:100%;text-align:left;cursor:pointer;border:0;border-radius:15px;padding:12px 13px;margin:2px 0 10px;font-family:inherit;background:linear-gradient(155deg,#1D3452,#0C1726);color:#fff;box-shadow:0 10px 24px -14px rgba(16,24,40,.5)}
		.fpa-liveband:active{transform:scale(.985)}
		.fpa-liveband .lb-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.18)}
		.fpa-liveband.habit .lb-dot{background:var(--fp-gold);box-shadow:0 0 0 4px rgba(233,169,62,.2)}
		.fpa-liveband .lb-t{flex:1;min-width:0}
		.fpa-liveband .lb-t b{display:block;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpa-liveband .lb-t small{display:block;font-size:11px;color:#A9BAD3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpa-liveband .lb-go{flex:none;background:var(--fp-gold);color:#231A08;border-radius:99px;padding:7px 12px;font-size:11.5px;font-weight:800}
		/* ===== PAGE « Commander & Réserver » : la RECHERCHE (plat, commerce, métier) ===== */
		.fpa-cq{display:flex;align-items:center;gap:9px;background:#fff;border:1.5px solid #DCE0DB;border-radius:14px;padding:0 13px;margin:2px 0 10px}
		.fpa-cq .i{width:17px;height:17px;flex:none;stroke:#6B7385;fill:none;stroke-width:1.9;stroke-linecap:round}
		.fpa-cq input{flex:1;align-self:stretch;min-height:46px;border:0;background:none;font-family:inherit;font-size:14px;color:#1B2433;outline:none;min-width:0}
		.fpa-cq input::placeholder{color:#9aa3b2}
		.fpa-cq:focus-within{border-color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-cq{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-cq input{color:#E7ECF5}
		.fpapp[data-theme="dark"] .fpa-cq input::placeholder{color:#7484a0}
		/* ===== PAGE « Commander & Réserver » : les 3 TUILES INTENTION =====
		   La maquette validée : une vignette bleu nuit en haut de tuile, le libellé,
		   son compteur vrai. Tuile active = vignette EN OR PLEIN, halo doré autour.
		   Une intention vide est desactivee (loi 3 : pas de filtre qui promet du vide). */
		/* ===== LES 2 VERBES DU COMPTOIR : des puces, plus des tuiles (maquette v3).
		   Les grandes vignettes bleu nuit coutaient 130 px pour ne rien montrer : le
		   premier commerce doit etre visible SANS defiler. Une puce dit le verbe,
		   son compte, et se remplit en marine quand elle est choisie. */
		.fpa-intents{display:flex;gap:7px;margin:2px 0 12px}
		.fpa-intents button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 14px;background:#fff;border:1.5px solid #DCE0DB;border-radius:999px;cursor:pointer;font-family:inherit;color:#1B2433;box-shadow:0 6px 16px -12px rgba(16,24,40,.4);transition:transform .1s,border-color .12s,background .12s}
		.fpa-intents button:active{transform:scale(.97)}
		.fpa-intents button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex:none}
		.fpa-intents .lb{font-size:12.5px;font-weight:800;letter-spacing:-.01em}
		.fpa-intents .ct{font-size:11px;font-weight:700;color:#6B7385;font-variant-numeric:tabular-nums}
		.fpa-intents button[aria-pressed="true"]{background:var(--fp-navy);border-color:var(--fp-navy);color:#fff;box-shadow:0 8px 18px -10px rgba(22,38,63,.7)}
		.fpa-intents button[aria-pressed="true"] .ct{color:var(--fp-gold)}
		.fpa-intents button[disabled]{opacity:.45;cursor:default}
		.fpapp[data-theme="dark"] .fpa-intents button{background:#15233e;border-color:#28374f;color:#E7ECF5}
		.fpapp[data-theme="dark"] .fpa-intents .ct{color:#9BA8BF}
		.fpapp[data-theme="dark"] .fpa-intents button[aria-pressed="true"]{background:#E3C983;border-color:#E3C983;color:#0C1726}
		.fpapp[data-theme="dark"] .fpa-intents button[aria-pressed="true"] .ct{color:#0C1726}
		/* ===== REPRENDRE : la page te reconnait (derniere commande, prochain RDV). */
		.fpa-rep{border:1px solid #EBDFC2;background:linear-gradient(115deg,#FFFDF6 0%,#FBF3DC 100%);border-radius:15px;padding:11px 12px;margin:0 0 11px;box-shadow:0 10px 26px -18px rgba(138,103,20,.5)}
		.fpa-rep-t{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8A6714;margin:0 0 8px}
		.fpa-rep-row{display:flex;align-items:center;gap:10px}
		.fpa-rep-row+.fpa-rep-row{margin-top:9px;padding-top:9px;border-top:1px solid rgba(138,103,20,.15)}
		.fpa-rep-th{width:36px;height:36px;border-radius:11px;flex:none;object-fit:cover;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
		.fpa-rep-x{flex:1;min-width:0}
		.fpa-rep-x .a{display:block;font-size:12.5px;font-weight:800;color:var(--fp-navy);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-rep-x .b{display:block;font-size:11px;color:#8A6714;line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-rep-go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--fp-navy);color:#fff;border:0;border-radius:12px;padding:8px 14px;font-size:12px;font-weight:800;font-family:inherit;flex:none;cursor:pointer}
		.fpa-rep-go.gold{background:linear-gradient(180deg,var(--fp-gold) 0%,var(--fp-gold-deep) 100%);color:#231702;box-shadow:0 6px 14px -6px rgba(233,169,62,.6)}
		.fpapp[data-theme="dark"] .fpa-rep{background:linear-gradient(115deg,#241F12,#2E2716);border-color:#4d3f18}
		.fpapp[data-theme="dark"] .fpa-rep-t,.fpapp[data-theme="dark"] .fpa-rep-x .b{color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-rep-x .a{color:#E7ECF5}
		/* ===== LA VITRINE : le rail des articles qui defile sous la carte commerce. */
		.fpa-vitri{display:flex;gap:8px;margin:9px 0 2px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
		.fpa-vitri::-webkit-scrollbar{height:0}
		.fpa-vitri-i{width:76px;flex:none;font-size:0}
		.fpa-vitri-i img,.fpa-vitri-i .ph0{width:76px;height:56px;border-radius:10px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#EDF0F5,#DBE1EA);color:#6B7385;font-size:13px;font-weight:800}
		.fpa-vitri-i b{display:block;font-size:11px;font-weight:700;color:#1B2433;line-height:1.2;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fpa-vitri-i i{display:block;font-style:normal;font-size:11px;font-weight:700;color:#8A6714;margin-top:1px;font-variant-numeric:tabular-nums}
		.fpa-vitri-i.more .ph0{border:1px dashed #C9D1DC;background:#F4F6F9}
		.fpa-vitri-i{position:relative}
		.fpa-vitri-add{position:absolute;right:4px;top:31px;width:22px;height:22px;border-radius:50%;background:#fff;border:0;box-shadow:0 4px 10px -2px rgba(16,30,48,.55);color:var(--fp-navy);font-size:15px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-family:inherit}
		.fpa-vitri-add:active{transform:scale(.9)}
		.fpapp[data-theme="dark"] .fpa-vitri-add{background:#E3C983;color:#0C1726}
		.fpapp[data-theme="dark"] .fpa-vitri-i b{color:#E7ECF5}
		.fpapp[data-theme="dark"] .fpa-vitri-i i{color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-vitri-i .ph0{background:linear-gradient(150deg,#1a2740,#121d31);color:#9BA8BF}
		/* ===== LES PROCHAINES PLACES : le jour en mots, puis les heures du jour. */
		.fpa-places{display:flex;align-items:center;gap:6px;margin:9px 0 2px;flex-wrap:wrap}
		.fpa-places .w{font-size:11px;font-weight:800;color:var(--fp-navy)}
		.fpa-places .s{border:1.5px solid #DDE3EC;background:#fff;border-radius:9px;padding:5px 9px;font-size:11.5px;font-weight:700;color:var(--fp-navy);font-variant-numeric:tabular-nums}
		.fpapp[data-theme="dark"] .fpa-places .w{color:#E7ECF5}
		.fpapp[data-theme="dark"] .fpa-places .s{background:#15233e;border-color:#28374f;color:#E7ECF5}
		/* ===== VENTE FLASH DU COMPTOIR : le bouton qui agit sur la carte flash. */
		.fpa-fb-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:7px;background:linear-gradient(180deg,var(--fp-gold) 0%,var(--fp-gold-deep) 100%);color:#231702;border:0;border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:800;font-family:inherit;cursor:pointer}
		/* ===== LES RAYONS : un bloc par verbe, masquable en bloc par les filtres. */
		.fpa-rayon{margin:0 0 6px}
		.fpa-emptylink{background:none;border:0;padding:0;font:inherit;font-weight:800;color:#8A6714;text-decoration:underline;cursor:pointer}
		/* ===== POINTS DE VENTE dans le COMPTE (deplaces du Comptoir, decision patron). */
		.fpa-posfold summary{list-style:none;cursor:pointer}
		.fpa-posfold summary::-webkit-details-marker{display:none}
		.fpa-posfold[open] summary .ch{transform:rotate(90deg)}
		.fpa-posmini{margin-top:8px}
		.fpa-posmini .fpa-maprow{margin-bottom:8px}
		/* ===== La rangee sous le titre de liste : Ouverts maintenant a gauche,
		   bascule Liste / Carte a droite (maquette). */
		.fpa-lrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;flex-wrap:wrap}
		.fpa-lrow .fpa-opennow{margin:0}
		.fpa-vtg{display:flex;gap:2px;background:#DCE0DB;border-radius:999px;padding:2px;flex:none}
		.fpa-vtg button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:5px;border:0;background:transparent;font-family:inherit;font-size:11.5px;font-weight:800;padding:6px 13px;border-radius:999px;cursor:pointer;color:#5A6375}
		.fpa-vtg button svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpa-vtg button[aria-pressed="true"]{background:#fff;color:#1B2433;box-shadow:0 6px 18px -12px rgba(16,24,40,.35)}
		.fpapp[data-theme="dark"] .fpa-vtg{background:#28374f}
		.fpapp[data-theme="dark"] .fpa-vtg button{color:#9BA8BF}
		.fpapp[data-theme="dark"] .fpa-vtg button[aria-pressed="true"]{background:#15233e;color:#E7ECF5}
		/* ===== Le RAIL DE PUCES (maquette) : Tout · services · metiers, chacun
		   avec son compteur vrai. Il defile au doigt, sans barre visible. */
		/* LA RANGEE DES RAYONS -- le premier geste du Comptoir. Un rond de couleur par
		   metier, le mot dessous, le compte en dessous encore : on lit la ville en une
		   ligne. La couleur du rayon vit dans un jeton pose par le serveur (--r), jamais
		   ecrite ici : une seconde table de couleurs divergerait de la premiere. */
		.fpa-rayrail{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;margin:0 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
		.fpa-rayrail::-webkit-scrollbar{height:0}
		.fpa-rayb{flex:none;width:68px;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;padding:2px 0;font-family:inherit;color:#3d4a5c;cursor:pointer}
		.fpa-rayb-ic{width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#F1F3F0;border:1.5px solid #E1E5DF;transition:transform .12s,border-color .12s}
		.fpa-rayb-ic svg{width:23px;height:23px;fill:none;stroke:var(--r,#4A5468);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-rayb-l{font-size:10px;font-weight:700;line-height:1.12;text-align:center;letter-spacing:-.015em;max-width:68px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
		.fpa-rayb .n{font-size:10px;font-weight:700;color:#6B7385;font-variant-numeric:tabular-nums}
		.fpa-rayb:active .fpa-rayb-ic{transform:scale(.94)}
		.fpa-rayb[aria-pressed="true"] .fpa-rayb-ic{border-color:var(--r,#16263F);box-shadow:0 0 0 2px var(--r,#16263F) inset}
		.fpa-rayb[aria-pressed="true"] .fpa-rayb-l{color:#16263F}
		.fpapp[data-theme="dark"] .fpa-rayb{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-rayb-ic{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-rayb-l{color:#E7ECF5}
		.fpapp[data-theme="dark"] .fpa-rayb .n{color:#9BA8BF}
		/* « VOIR LES N AUTRES » -- une porte, pas un bouton d action : le geste qui
		   engage (commander, reserver) garde l or pour lui tout seul. */
		.fpa-rayplus{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin:8px 0 2px;border:1.5px solid #DCE0DB;background:#fff;color:#1B4FA3;border-radius:13px;font-family:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
		.fpa-rayplus .c{display:inline-flex;width:15px;height:15px}
		.fpa-rayplus svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-rayplus:active{transform:scale(.99)}
		.fpapp[data-theme="dark"] .fpa-rayplus{background:#15233e;border-color:#28374f;color:#9CC0FF}
		.fpa-crail{display:flex;gap:6px;overflow-x:auto;padding:1px 0 3px;margin:0 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
		.fpa-crail::-webkit-scrollbar{height:0}
		.fpa-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;border:1.5px solid #DCE0DB;background:#fff;color:#1B2433;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .12s}
		.fpa-chip svg{width:15px;height:15px;flex:none;stroke:#6B7385;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpa-chip .n{font-variant-numeric:tabular-nums;opacity:.62;font-weight:700}
		.fpa-chip[aria-pressed="true"]{border-color:var(--fp-gold);background:#FBF3DC;color:#8A6714}
		.fpa-chip[aria-pressed="true"] svg{stroke:#8A6714}
		.fpa-chip:active{transform:scale(.97)}
		.fpapp[data-theme="dark"] .fpa-chip{background:#15233e;border-color:#28374f;color:#dbe4f5}
		.fpapp[data-theme="dark"] .fpa-chip svg{stroke:#9BA8BF}
		.fpapp[data-theme="dark"] .fpa-chip[aria-pressed="true"]{border-color:var(--fp-gold);background:#2E2716;color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-chip[aria-pressed="true"] svg{stroke:#E3C983}
		/* Le 2e RANG (maquette) : les SPECIALITES du metier choisi, dans un encart
		   dore — cochees par le commercant, jamais saisies par le client. */
		.fpa-crail2{display:flex;flex-direction:column;gap:8px;background:#FBF3DC;border:1px solid var(--fp-gold);border-radius:14px;padding:10px 11px;margin:0 0 10px}
		.fpa-crail2 .t{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8A6714}
		.fpa-crail2 .t svg{width:13px;height:13px;stroke:#8A6714;fill:none;stroke-width:1.9;stroke-linecap:round}
		.fpa-crail2 .r{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
		.fpa-crail2 .r::-webkit-scrollbar{height:0}
		.fpa-crail2 .fpa-chip{background:#fff;border-color:transparent}
		.fpa-crail2 .fpa-chip[aria-pressed="true"]{border-color:#8A6714;background:#8A6714;color:#FBF3DC}
		.fpapp[data-theme="dark"] .fpa-crail2{background:#2E2716;border-color:#4d3f18}
		.fpapp[data-theme="dark"] .fpa-crail2 .t{color:#E3C983}
		.fpapp[data-theme="dark"] .fpa-crail2 .t svg{stroke:#E3C983}
		.fpapp[data-theme="dark"] .fpa-crail2 .fpa-chip{background:#15233e;border-color:transparent}
		.fpapp[data-theme="dark"] .fpa-crail2 .fpa-chip[aria-pressed="true"]{border-color:#E3C983;background:#E3C983;color:#2E2716}
		/* Quand les filtres ne laissent personne : on le DIT (loi 3), jamais une page blanche. */
		.fpa-cempty{border:1.5px dashed #DCE0DB;border-radius:16px;padding:16px 14px;font-size:12.5px;color:#6B7385;line-height:1.55;background:#FAFCF8;margin:0 0 10px}
		.fpa-cempty b{display:block;color:#1B2433;font-size:13px;margin-bottom:4px}
		.fpapp[data-theme="dark"] .fpa-cempty{border-color:#28374f;background:#111C33;color:#9BA8BF}
		.fpapp[data-theme="dark"] .fpa-cempty b{color:#E7ECF5}
		/* Le bouton par ligne : Commander / Réserver — une action, pas un lien. */
		/* Bouton OR : le poincon des icones (--fp-ic2) reprend la couleur du texte —
		   jamais d or sur or, la touche disparaitrait. currentColor se resout sur le
		   trait lui-meme : clair et sombre servis d une seule declaration.
		   (Bloc en chaine PHP a guillemets simples : commentaire sans apostrophes.) */
		.fpa-goact{flex:none;display:inline-flex;align-items:center;gap:5px;align-self:center;border:0;border-radius:99px;background:var(--fp-gold);color:#3a2c07;font-family:inherit;font-size:11.5px;font-weight:800;padding:8px 12px;cursor:pointer;transition:transform .1s;min-height:36px;--fp-ic2:currentColor}
		.fpa-goact svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpa-goact:active{transform:scale(.94)}
		.fpapp[data-theme="dark"] .fpa-goact{color:#231A08}
		/* Galerie PLEIN ECRAN (lightbox). */
		/* La PILE de photos : chaque photo occupe toute la largeur, le doigt fait glisser
		   la pile comme on tourne une page. touch-action:none : le JS pilote
		   le geste, le navigateur ne doit ni faire defiler ni zoomer par-dessus. */
		#fp-lbx{position:fixed;inset:0;z-index:99999;background:rgba(8,13,22,.94);display:none;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
		#fp-lbx.on{display:flex}
		#fp-lbx .lbx-track{position:absolute;inset:0;display:flex;align-items:center;will-change:transform}
		#fp-lbx .lbx-s{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 8px;box-sizing:border-box}
		/* Visionneuse plein écran (montée sur body, comme les stories) : sur mobile 92vw/76vh
		   est parfait ; on plafonne juste en px pour éviter une photo etiree grotesquement
		   sur un grand moniteur (min() : aucun changement sur téléphone ou 92vw < 1000px). */
		#fp-lbx img{max-width:min(92vw,1000px);max-height:min(76vh,1000px);border-radius:10px;box-shadow:0 20px 60px -20px #000;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
		/* FLECHES ET CROIX LISIBLES SUR TOUTE PHOTO, CLAIRE OU SOMBRE : pastille quasi
		   opaque + contour clair + ombre portee. Avant : rgba(255,255,255,.12), donc
		   invisibles des que la photo etait sombre. Elles restent obligatoires : le
		   geste tactile garde toujours son equivalent cliquable. */
		#fp-lbx .lbx-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:3;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(10,16,28,.72);color:#fff;font-size:17px;line-height:1;cursor:pointer;font-family:inherit;box-shadow:0 2px 12px rgba(0,0,0,.55)}
		#fp-lbx .lbx-p,#fp-lbx .lbx-n{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;padding:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(10,16,28,.72);color:#fff;font-size:26px;line-height:1;cursor:pointer;font-family:inherit;display:grid;place-items:center;box-shadow:0 2px 12px rgba(0,0,0,.55)}
		#fp-lbx .lbx-p{left:10px}#fp-lbx .lbx-n{right:10px}
		#fp-lbx .lbx-c{position:absolute;bottom:calc(48px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:3;color:#fff;background:rgba(10,16,28,.72);border-radius:999px;padding:4px 12px;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12.5px;font-weight:700}
		/* Points de position, comme le carrousel de la fiche : on sait ou on en est. */
		#fp-lbx .lbx-dots{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:3;display:flex;justify-content:center;gap:6px;pointer-events:none}
		#fp-lbx .lbx-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:width .2s,background .2s}
		#fp-lbx .lbx-dots span.on{background:#fff;width:18px;border-radius:3px}
		#fp-lbx :focus-visible{outline:2px solid var(--fp-gold,#F4C560);outline-offset:2px}
		@media (prefers-reduced-motion:reduce){#fp-lbx .lbx-track{transition:none!important}#fp-lbx .lbx-dots span{transition:none}}
		/* ===== COUCHES VIVANTES DU MINI-SITE (fiche vitrine) ===== */
		/* En ce moment : story / vente flash en cours, avec compte a rebours */
.fp-shop-live{margin:0 0 4px;border:1px solid #f0d3cf;background:linear-gradient(160deg,#fff5f3,#ffecea);border-radius:16px;padding:12px;box-shadow:0 12px 26px -22px rgba(226,41,30,.55)}
		.fp-shop-story{display:flex;gap:11px;margin-top:9px;align-items:flex-start}
		.fp-shop-story-ph{width:78px;height:78px;flex:0 0 auto;border-radius:12px;object-fit:cover}
		.fp-shop-story-in{min-width:0;flex:1}
		.fp-shop-story-cd{display:inline-block;font-size:11.5px;font-weight:800;color:#fff;background:#E2291E;border-radius:99px;padding:3px 10px;margin-bottom:5px}
		.fp-shop-story-b{font-size:13.5px;color:#3a2a28;line-height:1.5}
		.fp-shop-story-w{font-size:11.5px;color:#9c8582;margin-top:5px}
		.fp-shop-story-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:0;border-radius:11px;background:#16263F;color:#fff;font-family:inherit;font-weight:800;font-size:12.5px;padding:10px 15px;min-height:42px;cursor:pointer}
		/* A venir : evenements du commerce */
		.fp-shop-evs{display:flex;flex-direction:column;gap:9px}
		.fp-shop-ev{display:flex;gap:11px;align-items:flex-start;border:1px solid #e6ebf3;background:#fff;border-radius:14px;padding:11px}
		.fp-shop-ev-ph{width:60px;height:60px;flex:0 0 auto;border-radius:11px;object-fit:cover}
		.fp-shop-ev-in{min-width:0;flex:1}
		.fp-shop-ev-t{font-size:14px;font-weight:800;color:#16263F;line-height:1.25}
		.fp-shop-ev-w{font-size:12px;color:#5f6b7c;margin-top:3px}
		.fp-shop-ev-full{color:#C8453B}
		.fp-shop-ev-d{font-size:12.5px;color:#5a6472;line-height:1.45;margin-top:5px}
		/* Ses publications : dernieres actus du commerce */
		.fp-shop-posts{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
		.fp-shop-posts::-webkit-scrollbar{display:none}
		.fp-shop-post{display:flex;flex-direction:column;gap:9px;flex:0 0 76%;scroll-snap-align:start;border:1px solid #e6ebf3;background:#fff;border-radius:14px;padding:11px}
		.fp-shop-post-ph{width:100%;height:118px;flex:0 0 auto;border-radius:11px;object-fit:cover}
		.fp-shop-post-in{min-width:0;flex:1}
		.fp-shop-post-b{font-size:13.5px;color:#26313f;line-height:1.5}
		.fp-shop-post-m{font-size:11.5px;color:#6B7385;margin-top:5px}
		/* Paniers à réserver sur la fiche (le membre agit ici) */
		.fp-shop-bsk{display:flex;flex-direction:column;gap:9px}
		.fp-shop-bkc{display:flex;gap:10px;align-items:center;border:1px solid #d9e6d4;background:#f4faf1;border-radius:14px;padding:11px}
		.fp-shop-bkc-in{flex:1;min-width:0}
		.fp-shop-bkc-t{font-size:14px;font-weight:800;color:#1f5130;line-height:1.25}
		.fp-shop-bkc-m{font-size:12px;color:#4c6b53;margin-top:3px}
		.fp-shop-bkc-btn{flex:0 0 auto;border:0;background:linear-gradient(150deg,#1f9d63,#17734A);color:#fff;border-radius:99px;padding:9px 15px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
		.fp-shop-bkmsg{font-size:12.5px;color:#2f6b43;margin-top:6px;min-height:1px}
		/* Bouton RSVP sur les événements de la fiche */
		.fp-shop-ev-rsvp{margin-top:8px;border:1px solid #cfd9e6;background:#fff;color:#1B4FA3;border-radius:99px;padding:7px 13px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;display:inline-flex;gap:6px;align-items:center}
		.fp-shop-ev-rsvp.on{background:#1B4FA3;color:#fff;border-color:#1B4FA3}
		.fp-shop-ev-rsvp.full{background:#EEF0F3;color:#8A93A5;border-color:#e0e3e8;cursor:not-allowed}
		.fp-shop-ev-rsvp .n{opacity:.75;font-weight:600}
		/* Avantage principal MIS EN AVANT (héros de la fiche) */
		.fp-shop-hero{background:linear-gradient(155deg,#16263F,#0C1726);border:1px solid transparent;border-radius:18px;padding:20px 18px;margin:14px 0 2px;color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 34px -20px rgba(12,23,38,.9)}
		.fp-shop-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(224,41,30,.22),transparent 70%)}
		.fp-shop-hero-lbl{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8FB3FF;position:relative;z-index:1}
		.fp-shop-hero-t{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-top:6px;position:relative;z-index:1}
		.fp-shop-hero-sub{font-size:14px;color:#eaf0f7;margin-top:6px;position:relative;z-index:1}
		.fp-shop-hero-c{font-size:12.5px;color:#aebccf;margin-top:8px;line-height:1.45;position:relative;z-index:1}
		.fp-shop-hero-flash{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#E63127,#B81810);border-radius:8px;padding:5px 10px;margin-top:10px;position:relative;z-index:1;box-shadow:0 8px 18px -10px rgba(224,41,30,.8)}
		.fp-shop-hero-go{display:inline-flex;align-items:center;gap:7px;margin-top:14px;border:0;border-radius:12px;background:linear-gradient(135deg,#F8D98E,#E9A93E 45%,#C9861B);color:#3a2c07;font-family:inherit;font-weight:800;font-size:13.5px;padding:11px 18px;min-height:44px;cursor:pointer;position:relative;z-index:1}
		.fp-shop-hero-note{font-size:11px;color:#8ea1b8;margin-top:12px;position:relative;z-index:1}
		.fp-shop-hero.isflash{background:linear-gradient(155deg,#16263F,#0C1726);border:1px solid rgba(230,49,39,.55);box-shadow:0 16px 34px -18px rgba(224,41,30,.5)}
		/* Sombre : le fond de la fiche est deja marine, sans liseré le bloc « Votre
		   avantage » se fondait dedans (1,08:1). Un filet dore le redetache (3,5:1)
		   et rappelle que c est LA raison d etre du pass. */
		.fpapp[data-theme="dark"] .fp-shop-hero{border-color:#8a6a2a}
		.fpapp[data-theme="dark"] .fp-shop-hero.isflash{border-color:#c14c40}
		/* Variante POINT DE VENTE du heros : memes proportions, parure doree —
		   la recharge 30 jours est mise en scene comme un avantage premium. */
		.fp-shop-hero-pos{border:1px solid rgba(244,197,96,.5);box-shadow:0 16px 34px -18px rgba(233,169,62,.45)}
		.fp-shop-hero-pos::after{background:radial-gradient(circle,rgba(244,197,96,.25),transparent 70%)}
		.fp-shop-hero-pos .fp-shop-hero-lbl{color:#F4C560}
		.fp-shop-hero-pan{border:1px solid rgba(52,178,123,.5);box-shadow:0 16px 34px -18px rgba(37,150,102,.45)}
		.fp-shop-hero-pan::after{background:radial-gradient(circle,rgba(52,178,123,.22),transparent 70%)}
		.fp-shop-hero-pan .fp-shop-hero-lbl{color:#34B27B}
		.fp-shop-cat.ispos{color:#B98A1E;font-weight:800}
		.fp-shop-offer{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E4E8EE;border-radius:14px;padding:12px 13px;margin-bottom:9px}
		.fp-shop-offer .l{flex:1}
		.fp-shop-offer .ot{font-size:14px;font-weight:700;color:#16263F}
		.fp-shop-offer .oc{font-size:12px;color:#6B7385;margin-top:2px}
		.fp-shop-offer .ob{background:linear-gradient(135deg,#F8D98E,var(--fp-gold-deep));color:#3a2c07;font-size:12px;font-weight:800;padding:6px 11px;border-radius:11px}
		.fp-shop-offer.isflash{border-color:#F3C7C2;background:linear-gradient(180deg,#fff,#FFF7F6)}
		.fp-shop-offer .of{font-size:11.5px;font-weight:800;color:#E63127;margin-top:4px}
		.fpa-perk .dist.fpa-flash{color:#E63127;font-weight:800;background:none;border:0;border-radius:0;padding:0;margin:4px 0 0}
		.fp-shop-info{background:#fff;border:1px solid #E4E8EE;border-radius:14px;overflow:hidden}
		.fp-shop-info .row{display:flex;align-items:center;gap:11px;padding:13px;border-top:1px solid #EEF1F5;font-size:13.5px;color:#16263F;text-decoration:none}
		.fp-shop-info .row:first-child{border-top:0}
		.fp-shop-info .row svg{width:19px;height:19px;fill:none;stroke:#1B4FA3;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
		.fp-shop-info .row span{flex:1}
		.fp-shop-info .row b{color:#9a7714;font-size:12.5px;font-weight:700}
		.fpapp[data-theme="dark"] .fp-shop-info .row b{color:var(--fp-gold)}
		.fp-shop-note{font-size:12.5px;color:#6B7385;background:#fff;border:1px solid #E4E8EE;border-radius:12px;padding:12px}
		.fp-stars{display:inline-flex;gap:1px}
		.fp-stars svg{width:15px;height:15px;fill:#DDE1E7}
		.fp-stars svg.on{fill:var(--fp-gold)}
		.fp-stars.sm svg{width:13px;height:13px}
		.fp-rev{background:#fff;border:1px solid #E4E8EE;border-radius:12px;padding:12px;margin-bottom:9px}
		.fp-rev .ra{font-size:12px;color:#16263F;font-weight:700;margin-top:4px}
		.fp-rev .ra span{color:#6B7385;font-weight:500}
		.fp-rev .rt{font-size:13px;color:#4a5568;margin-top:5px;line-height:1.5}
		.fp-rev-reply{margin-top:9px;padding:9px 11px;background:#F6F8F4;border-left:3px solid #1B4FA3;border-radius:0 8px 8px 0}
		.fp-rev-reply b{display:block;font-size:11px;color:#8a6410;font-weight:800;margin-bottom:2px}
		.fp-rev-reply span{font-size:12.5px;color:#4a5568;line-height:1.45}
		.fp-revform{background:#fff;border:1px solid #E4E8EE;border-radius:14px;padding:13px;margin-bottom:12px}
		.fp-revstars{display:flex;gap:2px;margin-bottom:9px}
		.fp-revstars button{-webkit-appearance:none;appearance:none;background:none;border:0;padding:5px;cursor:pointer;border-radius:8px}
		.fp-revstars button svg{width:30px;height:30px;display:block;fill:#DDE1E7;transition:transform .1s}
		.fp-revstars button.on svg{fill:var(--fp-gold)}
		.fp-revstars button:active svg{transform:scale(1.2)}
		.fp-revstars button:focus-visible{outline:2px solid #1B4FA3;outline-offset:1px}
		.fp-revform textarea{width:100%;border:1px solid #DCE0DB;border-radius:10px;padding:10px;font-family:inherit;font-size:13px;resize:vertical;min-height:60px}
		.fp-revmsg{font-size:12.5px;margin-top:7px;min-height:14px}
		/* Regle des notes, sous le formulaire d avis (transparence, tres discret). */
		.fp-revrule{font-size:11px;color:#9AA3B2;margin-top:8px;line-height:1.4}
		.fpapp[data-theme="dark"] .fp-revrule{color:#71809a}
		.fp-revmsg.ok{color:#19895A;font-weight:600}.fp-revmsg.ko{color:#C8453B;font-weight:600}
		/* Écran de bienvenue après paiement */
		.fp-welcome{position:absolute;inset:0;z-index:140;background:radial-gradient(120% 90% at 50% 0%,#16263F,#0A1220 65%);display:none;align-items:center;justify-content:center;padding:28px;text-align:center}
		.fp-welcome.on{display:flex;animation:fpfade .25s ease}
		.fp-welcome-in{max-width:340px}
		.fp-welcome-badge{width:96px;height:96px;border-radius:50%;margin:0 auto 22px;background:linear-gradient(150deg,#1faf72,#137a4f);display:grid;place-items:center;box-shadow:0 20px 50px -18px rgba(31,175,114,.8);animation:fppop .5s cubic-bezier(.2,.9,.3,1.3)}
		@keyframes fppop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
		.fp-welcome-badge svg{width:48px;height:48px;fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
		.fp-welcome-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:26px;font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:12px}
		.fp-welcome-t{font-size:14px;color:#b8c6d9;line-height:1.55;margin-bottom:24px}
		.fp-welcome .fpa-btn{max-width:260px;margin:0 auto}
		.fpa-code{background:#fff;border:1px dashed #1B4FA3;border-radius:16px;padding:14px;margin-bottom:14px}
		.fpa-code-h{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#16263F;margin-bottom:9px;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fpa-code-row{display:flex;gap:8px}
		.fpa-code-row input{flex:1;min-width:0;min-height:44px;border:1px solid #DCE0DB;border-radius:10px;padding:11px 12px;font-size:14px;text-transform:uppercase}
		.fpa-code-row button{background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
		.fpa-code-row button:disabled{opacity:.5}
		/* Sous le bloc code : ou ACHETER une recharge 30 jours (points de vente) */
		.fpa-code-pos{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin-top:10px;border:1px solid #EBD59B;border-radius:12px;background:linear-gradient(150deg,#FDF6E6,#FBF0D2);padding:10px 12px;cursor:pointer;font-family:inherit;text-align:left;font-size:12px;color:#5c4a1b;line-height:1.45}
		.fpa-code-pos svg{width:16px;height:16px;flex:0 0 auto;stroke:#B98A1E;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-code-pos span{flex:1}
		.fpa-code-pos span b{color:#7A5A10;font-weight:800}
		.fpa-code-pos .ch{color:#B98A1E;font-size:16px;flex:0 0 auto}
		.fpapp[data-theme="dark"] .fpa-code-pos{background:#2a2411;border-color:#4d3f18;color:#cdbd92}
		.fpapp[data-theme="dark"] .fpa-code-pos span b,.fpapp[data-theme="dark"] .fpa-code-pos .ch{color:var(--fp-gold)}
		.fpa-code-msg{font-size:12.5px;margin-top:8px;min-height:16px}
		.fpa-code-msg.ok{color:#19895A;font-weight:600}.fpa-code-msg.ko{color:#C8453B;font-weight:600}
		.fpa-lead{position:relative;background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:14px;margin:14px 0}
		.fpa-lead-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15px;font-weight:800;color:#16263F}
		.fpa-lead-s{font-size:12.5px;color:#6B7385;margin:4px 0 10px;line-height:1.45}
		.fpa-lead input[type=text],.fpa-lead textarea{width:100%;min-height:44px;border:1px solid #DCE0DB;border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;box-sizing:border-box}
		.fpa-lead textarea{margin-top:8px;resize:vertical}
		.fpa-lead-msg{font-size:12.5px;margin-top:8px;min-height:16px}
		.fpa-lead-msg.ok{color:#19895A;font-weight:600}.fpa-lead-msg.ko{color:#C8453B;font-weight:600}
		.fpa-chal{background:#fff;border:1px solid #E3D9BE;border-radius:16px;padding:14px;margin:14px 0;box-shadow:0 6px 20px -14px rgba(16,30,48,.4)}
		.fpa-chal.done{border-color:#EBD9A8;background:#FBF9F0}
		.fpa-chal-top{display:flex;gap:11px;align-items:flex-start}
		.fpa-chal-ico{font-size:22px;line-height:1}.fpa-chal-ico svg{display:block}
		.fpa-chal-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:14.5px;font-weight:800;color:#16263F}
		.fpa-chal-s{font-size:12px;color:#6B7385;margin-top:2px;line-height:1.45}
		.fpa-chal-bar{height:8px;background:#EFF1ED;border-radius:999px;overflow:hidden;margin-top:11px}
		.fpa-chal-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3B6FD4,#1B4FA3);transition:width .4s ease}
		.fpa-chal.done .fpa-chal-bar span{background:linear-gradient(90deg,#F4C560,#E9A93E)}
		.fpa-chal-n{font-size:12px;font-weight:700;color:#16263F;margin-top:7px}
		.fpa-chal.done .fpa-chal-n{color:#9a7714}
		.fpnav{display:flex;background:#fff;border-top:1px solid #DCE0DB;padding:9px 6px calc(10px + env(safe-area-inset-bottom))}
		.fpnav button{flex:1;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#6B7385;font-size:10.5px;font-weight:600;font-family:inherit;transition:color .15s;position:relative}
		/* Pastille compteur avantages sur la nav (meme famille que la cloche) */
		/* Pastille Avantages = un TOTAL d offres (bleu action), le ROUGE reste reserve au non-lu de la cloche : deux logiques, deux couleurs */
		.fpnav-n{position:absolute;top:-3px;left:calc(50% + 4px);min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:linear-gradient(135deg,var(--fp-gold),var(--fp-gold-deep));color:#3a2c07;font-size:10px;font-weight:800;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px #fff}
		.fpnav-n[hidden]{display:none}
		/* NOTICE DE BIENVENUE (visiteur) : petit format notification en haut du contenu */
		.fp-notice{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:12px 13px;margin:14px 0 2px;box-shadow:0 12px 30px -18px rgba(16,30,48,.55)}
		.fp-notice[hidden]{display:none}
		.fp-notice-ic{width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:linear-gradient(140deg,#16263F,#24486f);display:grid;place-items:center;color:var(--fp-gold)}
		.fp-notice-ic svg{width:19px;height:19px}
		.fp-notice-bd{flex:1;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;font-family:inherit}
		.fp-notice-hd{display:flex;justify-content:space-between;align-items:center}
		.fp-notice-hd b{font-size:12px;font-weight:800;color:#16263F;letter-spacing:.01em}
		.fp-notice-hd em{font-style:normal;font-size:10.5px;color:#9aa4b4;font-weight:600}
		.fp-notice-tx{display:block;font-size:12.5px;color:#3a4657;line-height:1.4;margin-top:3px}
		.fp-notice-tx b{color:#16263F}
		.fp-notice-x{flex:0 0 auto;border:0;background:none;color:#9aa4b4;font-size:14px;cursor:pointer;padding:2px 4px;line-height:1;font-family:inherit}
		.fpnav button .i{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpnav button.on{color:#16263F}
		.fpnav button:active{transform:scale(.92)}
		.fpapp-screen{scroll-behavior:smooth}
		.fpa-btn{transition:transform .12s,box-shadow .12s}.fpa-btn:active{transform:scale(.985)}
		.fpa-perk{transition:transform .12s}.fpa-perk:active{transform:scale(.99)}
		.fpa-quick{transition:transform .12s}.fpa-quick:active{transform:scale(.97)}
		.fpa-cats button{transition:.12s}
		.fp-passcard{position:relative}
		/* Carte vivante : halo qui respire tres legerement (sensation premium, sans
		   nuire a la lisibilite du QR). Desactive si reduce-motion. */
		@media (prefers-reduced-motion: no-preference){
			.fp-passcard{animation:fp-pass-breathe 4.5s ease-in-out infinite}
		}
		@keyframes fp-pass-breathe{0%,100%{filter:drop-shadow(0 10px 26px rgba(27,79,163,.12))}50%{filter:drop-shadow(0 14px 40px rgba(27,79,163,.24))}}
		.fpa-btn.primary:active{box-shadow:0 6px 18px -10px rgba(27,79,163,.9)}
		.fpa-toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);background:#16263F;color:#fff;font-size:13px;font-weight:500;padding:12px 18px;border-radius:13px;box-shadow:0 16px 40px -16px rgba(0,0,0,.6);max-width:88%;text-align:center;opacity:0;pointer-events:none;transition:.28s;z-index:50}
		.fpa-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
		/* ================= SOCIAL PASS ================= */
		.fps-compose{background:#fff;border:1px solid #E4E8EE;border-radius:18px;padding:14px;margin-bottom:16px;box-shadow:0 8px 24px -16px rgba(16,30,48,.4)}
		.fps-compose-top{display:flex;gap:11px;align-items:flex-start}
		.fps-av{width:40px;height:40px;border-radius:12px;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fps-compose textarea{flex:1;border:0;resize:none;font-family:inherit;font-size:14px;color:#1B2433;padding:8px 4px;background:none;min-height:44px}
		.fps-compose textarea:focus{outline:0;border-color:#1B4FA3;box-shadow:0 0 0 3px rgba(27,79,163,.18)}
		.fps-preview{position:relative;margin:10px 0 0;border-radius:14px;overflow:hidden}
		.fps-preview img{width:100%;display:block;max-height:280px;object-fit:cover}
		.fps-preview button{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(12,23,38,.7);color:#fff;cursor:pointer;font-size:13px}
		.fps-compose-bar{display:flex;align-items:center;gap:8px;margin-top:12px;border-top:1px solid #EDEFEB;padding-top:12px;flex-wrap:wrap}
		.fps-tool{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#1B4FA3;cursor:pointer;padding:7px 11px;border-radius:10px;background:#EAF0FB}
		.fps-tool svg{width:17px;height:17px;fill:none;stroke:#1B4FA3;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fps-tag{flex:1 1 150px;min-width:0;border:1px solid #DCE0DB;border-radius:10px;padding:8px 9px;font-size:12.5px;font-family:inherit;color:#1B2433;background:#fff}
		.fpa-btn.primary.fps-publish{width:auto;margin:0;padding:10px 18px;font-size:13px}
		.fps-compose-msg{font-size:12px;margin-top:8px;min-height:14px}.fps-compose-msg.ko{color:#C8453B;font-weight:600}
		.fps-locked{background:linear-gradient(150deg,#16263F,#0C1726);border-radius:18px;padding:22px 18px;margin-bottom:16px;text-align:center;color:#fff;box-shadow:0 12px 30px -18px rgba(12,23,38,.9)}
		.fps-locked-ic{font-size:34px;line-height:1;color:#8a93a6}.fps-locked-ic svg{display:block;margin:0 auto}
		.fps-locked-h{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em;margin-top:8px}
		.fps-locked-b{font-size:13px;color:#aebccf;line-height:1.5;margin:8px 0 16px}.fps-locked-b b{color:#fff}
		.fps-locked .fpa-btn{max-width:240px;margin:0 auto}
		/* PALIER SOCIAL — flou progressif (demande patron). Trois etats portes par
		   .fpapp[data-social], UNIQUEMENT dans l onglet Social (les autres pages
		   restent ouvertes) :
		     guest   = pas de compte            → TOUT floute (stories comprises).
		     account = compte, carte non verifiee → stories + ventes flash NETTES
		               (l appat), le reste (tendances, a saisir, decouvrir, fil) floute.
		     full    = carte verifiee (= avantages debloques) → TOUT net + interaction.
		   La carte verifiee pose une empreinte PERMANENTE : le club reste ouvert meme
		   apres les 3 avantages de bienvenue consommes (crochet de retention). */
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-searchbar,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-more,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-end,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-searchbar,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-more,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-end,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-stories,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-trends,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-grab,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-explore,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-feed,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-trends,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-grab,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-explore,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-feed{filter:blur(5px) saturate(.82);opacity:.5;pointer-events:none;user-select:none;transition:none}
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-stories *,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-grab *,
		.fpapp[data-social="guest"] .fptab[data-tab="social"] .fps-feed *,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-grab *,
		.fpapp[data-social="account"] .fptab[data-tab="social"] .fps-feed *{animation:none!important}
		.fps-feed{display:flex;flex-direction:column;gap:14px}
		.fps-empty{text-align:center;color:#6B7385;font-size:13.5px;padding:30px 16px;background:#F3F5F1;border-radius:16px;line-height:1.6}
		/* LA CARTE AUTOMATIQUE (fil jamais vide) : un fait du reseau + une action.
		   Volontairement PLUS SOBRE qu une publication de commercant : elle complete,
		   elle ne vole pas la vedette a ceux qui publient. */
		.fps-auto{display:flex;align-items:center;gap:11px;background:#FAFCF8;border:1.5px solid #DCE0DB;border-radius:16px;padding:12px 13px;margin-bottom:11px}
		.fps-auto-ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;background:#FBF3DC;color:#8A6714}
		.fps-auto-ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fps-auto-tx{flex:1;min-width:0}
		.fps-auto-tx .t{font-size:13.5px;font-weight:800;color:#1B2433;line-height:1.25}
		.fps-auto-tx .s{font-size:11.5px;color:#6B7385;margin-top:3px;line-height:1.4}
		.fps-auto-go{flex:none;border:0;border-radius:99px;background:var(--fp-gold);color:#3a2c07;font-family:inherit;font-size:11.5px;font-weight:800;padding:8px 13px;cursor:pointer;min-height:36px}
		.fps-auto-go:active{transform:scale(.94)}
		.fpapp[data-theme="dark"] .fps-auto{background:#111C33;border-color:#28374f}
		.fpapp[data-theme="dark"] .fps-auto-ic{background:#2E2716;color:#E3C983}
		.fpapp[data-theme="dark"] .fps-auto-tx .t{color:#E7ECF5}
		.fpapp[data-theme="dark"] .fps-auto-tx .s{color:#9BA8BF}
		.fpapp[data-theme="dark"] .fps-auto-go{color:#231A08}
		/* MODE DEMO, bandeau « lecture seule » en tete du fil (avant-premiere) : le
		   reseau est visible de tous, on rappelle honnetement que c est un apercu et
		   qu il faut un compte pour participer. Ton ambre = coherent avec le reste de
		   l avant-premiere (chip « Avant-premiere » du bloc de lancement). */
		.fps-demo{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:11px 13px;border-radius:14px;background:linear-gradient(135deg,#fff6e2,#fdefcf);border:1px solid #f0dca6;color:#7a5a12;font-size:12.5px;line-height:1.45}
		.fps-demo svg{width:18px;height:18px;flex:none;stroke:#b8860b;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fps-demo b{font-weight:800}
		/* POULS DU RESEAU (Fil v2) : la vie du reseau en tete du fil (jamais vide). */
		.fps-pulse{margin:2px 0 14px;padding:13px 14px;border-radius:16px;background:linear-gradient(135deg,#fbf7ec,#f4f7f2);border:1px solid #E7E2D2}
		.fps-pulse-h{display:flex;align-items:center;gap:7px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:14.5px;color:#16263F}
		.fps-pulse-dot{width:8px;height:8px;border-radius:50%;background:#37D98C;box-shadow:0 0 0 3px rgba(55,217,140,.22)}
		.fps-pulse-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
		.fps-pulse-chip{font-size:12px;font-weight:700;color:#5a5030;background:#fff;border:1px solid #E7E2D2;border-radius:99px;padding:3px 10px}
		.fps-pulse-chip.hot{color:#B3540E;background:#fff3e6;border-color:#f3d3ab}
		.fps-pulse-new{margin-top:9px;font-size:12.5px;color:#1F7A54;font-weight:700}
		.fps-pulse-new b{color:#16263F}
		/* « À SAISIR » : paniers + événements, cartes cliquables vers la fiche */
		.fps-grab{margin:4px 0 18px}
		.fps-grab-scroll{gap:12px}
		.fps-grab-c{flex:0 0 74%;max-width:280px;scroll-snap-align:start;background:#fff;border:1px solid #E4E8EE;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px -16px rgba(16,30,48,.4);cursor:pointer;display:flex;flex-direction:column}
		.fps-grab-img{height:96px;background-size:cover;background-position:center;background-color:#E9EEF5}
		/* La photo du commerce d abord (classe .ph posée par merchant_thumb) ;
		   l aplat dégradé a laissé la place au monogramme coloré, le même repli
		   que partout ailleurs dans l app. */
		.fps-grab-img.mono{display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:26px;font-weight:800;letter-spacing:.06em;color:hsl(var(--h) 42% 34%);background:radial-gradient(120% 95% at 82% 12%,hsl(var(--h) 55% 96%),transparent 55%),linear-gradient(150deg,hsl(var(--h) 46% 93%),hsl(var(--h) 40% 84%))}
		.fpapp[data-theme="dark"] .fps-grab-img.mono{background:hsl(var(--h) 30% 20%);color:hsl(var(--h) 60% 75%)}
		.fps-grab-b{padding:11px 12px;display:flex;flex-direction:column;gap:4px}
		.fps-grab-tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:99px}
		.fps-grab-tag.basket{background:#e7f6ea;color:#2f8f4e}
		.fps-grab-tag.event{background:#EAF0FB;color:#1B4FA3}
		.fps-grab-t{font-size:14.5px;font-weight:800;color:#16263F;line-height:1.2}
		.fps-grab-m{font-size:12px;color:#6B7385}
		.fps-grab-f{display:flex;justify-content:space-between;align-items:center;margin-top:4px;gap:8px}
		.fps-grab-left{font-size:11.5px;font-weight:700;color:#16263F}
		.fps-grab-left.full{color:#C8453B}
		/* RARETE (Fil v2) : stock bas, rouge vif, le regard va droit dessus. */
		.fps-grab-left.low{color:#C8453B;font-weight:800}
		/* URGENCE (Fil v2) : compte a rebours vivant, la fermeture approche. Pas d animation
		   (le fil reste calme, cf. la regle animation:none) : le chiffre bat via JS. */
		.fps-grab-cd{font-size:11px;font-weight:800;color:#8a5a12;background:#fdf3e2;border:1px solid #f2dcae;border-radius:99px;padding:2px 8px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3}
		.fps-grab-cd.soon{color:#C8453B;background:#fdecea;border-color:#f4cfca}
		.fps-grab-go{font-size:11.5px;font-weight:700;color:#1B4FA3;white-space:nowrap}
		/* RESERVER EN 1 TAP (Fil v2) : le lien-texte devient un vrai bouton d action. */
		button.fps-grab-go{border:0;background:transparent;font-family:inherit;cursor:pointer;padding:0}
		.fps-grab-go.rsv{background:#16263F;color:#fff;border-radius:99px;padding:6px 13px;font-weight:800}
		.fps-grab-go.rsv:hover{background:#22344f}
		.fps-grab-go.rsv:disabled{opacity:.6;cursor:default}
		.fps-grab-go.done{color:#2f8f4e;font-weight:800}
		.fps-empty-ic{font-size:34px;margin-bottom:8px;color:#8a93a6}.fps-empty-ic svg{display:block;margin:0 auto}
		.fps-post{background:#fff;border:1px solid #E4E8EE;border-radius:18px;padding:15px;box-shadow:0 8px 24px -16px rgba(16,30,48,.4)}
		.fps-post-head{display:flex;align-items:center;gap:11px}
		.fps-post-av{width:40px;height:40px;border-radius:12px;background:#F3F5F1;color:#16263F;display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fps-post-meta{flex:1;min-width:0}
		.fps-post-name{font-weight:700;font-size:14px;color:#16263F;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
		.fps-badge{font-size:10px;font-weight:800;color:#fff;background:#1B4FA3;padding:2px 7px;border-radius:99px;letter-spacing:.02em}
		.fps-badge.sm{background:#1B4FA3;padding:1px 5px;font-size:9px}
		.fps-badge-gold{background:linear-gradient(135deg,#f7c948,#e09b1a);color:#4a3403;box-shadow:0 1px 6px rgba(224,155,26,.4)}
		.fps-post-when{font-size:11.5px;color:#6B7385;margin-top:2px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
		.fps-tagchip{font-size:11px;font-weight:700;color:#1B4FA3;background:#EAF0FB;padding:2px 8px;border-radius:99px}
		/* MENU « ⋯ » d une publication : republier, signaler, supprimer. Trois
		   gestes rares, rangés ensemble, la barre du bas ne garde que ceux
		   qu on fait vraiment (jaime, commenter, partager). */
		.fps-morewrap{position:relative;margin-left:auto}
		.fps-menu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:30;min-width:190px;background:#fff;border:1px solid #DCE0DB;border-radius:14px;padding:6px;box-shadow:0 18px 40px -18px rgba(16,30,48,.65)}
		.fpapp[data-theme="dark"] .fps-menu{background:#15233e;border-color:#26314c}
		.fps-menu[hidden]{display:none}
		.fps-mi{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;font-family:inherit;font-size:13.5px;color:#1B2433;padding:10px 12px;border-radius:9px}
		.fpapp[data-theme="dark"] .fps-mi{color:#dbe4f2}
		.fps-mi:hover{background:#F3F5F1}
		.fpapp[data-theme="dark"] .fps-mi:hover{background:#1c2c48}
		.fps-mi.fps-post-del{color:#B81810}
		.fpapp[data-theme="dark"] .fps-mi.fps-post-del{color:#ff9d94}
		.fps-post-body{font-size:14px;color:#26313f;line-height:1.5;margin-top:12px;white-space:pre-wrap;word-break:break-word}
		.fps-post-photo{margin-top:12px;border-radius:14px;overflow:hidden}
		.fps-post-photo img{width:100%;display:block;max-height:420px;object-fit:cover}
		.fps-post-actions{display:flex;align-items:center;gap:6px;margin-top:12px;border-top:1px solid #EDEFEB;padding-top:10px}
		.fps-act{display:inline-flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer;color:#6B7385;font-size:13px;font-weight:600;font-family:inherit;padding:6px 10px;border-radius:9px;transition:background .12s}
		.fps-act svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fps-act:active{background:#F3F5F1}
		.fps-like.on{color:#E0281E}.fps-like.on svg{fill:#E0281E;stroke:#E0281E}
		/* GARDER DE COTE : signet creux, plein une fois garde. Une seule forme, deux
		   etats — on ne change pas d icone en cours de route. (Pas d apostrophe ici :
		   tout ce bloc vit dans une chaine PHP a quotes simples.) */
		.fps-save svg{fill:none}
		.fps-save.on{color:var(--fp-or,#B8862B)}
		.fps-save.on svg{fill:currentColor;stroke:currentColor}
		.fps-save:active{transform:scale(.92)}
		.fps-save{transition:transform .1s ease,color .12s ease}
		.fps-report{margin-left:auto}
		.fps-comments{margin-top:12px;border-top:1px solid #EDEFEB;padding-top:12px;display:flex;flex-direction:column;gap:10px}
		.fps-c{font-size:13px;line-height:1.45}
		.fps-c-a{font-weight:700;color:#16263F}
		.fps-c-b{color:#26313f}
		.fps-c-w{font-size:10.5px;color:#6B7385;margin-top:2px}
		.fps-c-none{font-size:12.5px;color:#8A93A5;font-style:italic}
		.fps-c-form{display:flex;gap:8px;margin-top:2px;align-items:center}
		.fps-c-form .fps-c-txt{flex:1;min-width:0;border:1px solid #DCE0DB;border-radius:99px;padding:9px 13px;font-size:13px;font-family:inherit}
		.fps-c-form button{border:0;background:#1B4FA3;color:#fff;border-radius:99px;padding:9px 15px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
		/* Bouton photo du commentaire : discret, pastille ronde à gauche du champ */
		.fps-c-photo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#EEF1F6;color:#5A6472;cursor:pointer}
		.fps-c-photo:hover{background:#e2e7f0;color:#1B4FA3}
		.fps-c-ph{display:block;max-width:180px;max-height:180px;border-radius:10px;margin:6px 0 2px}
		.fps-c-phname{font-size:11.5px;color:#6B7385;margin-top:4px;display:flex;align-items:center;gap:6px}
		.fps-c-phname .fps-c-phx{border:0;background:none;color:#B23A2E;font-size:13px;cursor:pointer;padding:0;line-height:1}
		#fps-more{margin-top:14px}
		.fps-end{text-align:center;color:#6B7385;font-size:12.5px;padding:16px}
		/* ===== AVATARS (photo de profil) : image ronde dans les cercles existants ===== */
		.fps-av img,.fps-post-av img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
		[data-prof]{cursor:pointer}
		/* ===== PAGE PROFIL MEMBRE (plein écran, meme coquille que la fiche commerce) ===== */
		.fpp-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(54px + env(safe-area-inset-top,0px)) 16px 4px}
		.fpp-av{width:88px;height:88px;border-radius:50%;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;display:grid;place-items:center;font-family:"Bricolage Grotesque","Inter",sans-serif;font-weight:800;font-size:28px;overflow:hidden;border:3px solid #fff;box-shadow:0 16px 34px -16px rgba(27,79,163,.85)}
		.fpp-av img{width:100%;height:100%;object-fit:cover}
		.fpapp[data-theme="dark"] .fpp-av{border-color:#26314c}
		.fpp-name{display:flex;align-items:center;gap:7px;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#16263F;margin-top:12px}
		.fpapp[data-theme="dark"] .fpp-name{color:#E6ECF5}
		.fpp-since{font-size:12px;color:#6B7385;margin-top:3px}
		.fpp-stats{display:flex;gap:10px;justify-content:center;margin:16px 16px 4px}
		.fpp-stat{flex:1;max-width:112px;background:#fff;border:1px solid #DCE0DB;border-radius:14px;padding:11px 6px;text-align:center;box-shadow:0 10px 24px -16px rgba(16,30,48,.5)}
		.fpapp[data-theme="dark"] .fpp-stat{background:#15233e;border-color:#26314c}
		.fpp-stat b{display:block;font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;color:#16263F}
		.fpapp[data-theme="dark"] .fpp-stat b{color:#E6ECF5}
		.fpp-stat span{font-size:11.5px;color:#6B7385;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
		.fpp-posts{padding:12px 16px 44px}
		.fpp-posts .fps-post{margin-bottom:12px}
		/* ===== CHERCHER DANS LE FIL =====
		   Une barre, pas un ecran a part : le resultat est rendu par les MEMES cartes que
		   le fil, donc tous les gestes marchent dessus et rien ne mene au vide. */
		.fps-searchbar{display:flex;align-items:center;gap:8px;margin:0 0 12px;position:relative}
		.fps-q-lbl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
		#fps-q{flex:1;min-width:0;min-height:44px;font-family:inherit;font-size:14px;color:#16263F;background:#fff;border:1px solid #DCE0DB;border-radius:99px;padding:11px 16px;box-sizing:border-box;-webkit-appearance:none}
		#fps-q::placeholder{color:#8A93A3}
		#fps-q:focus{border-color:#16263F;outline:2px solid transparent;box-shadow:0 0 0 3px rgba(22,38,63,.12)}
		.fpapp[data-theme="dark"] #fps-q{color:#E6ECF5;background:#15233e;border-color:#26314c}
		.fpapp[data-theme="dark"] #fps-q:focus{border-color:#8FB3FF;box-shadow:0 0 0 3px rgba(143,179,255,.16)}
		.fps-search-go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:6px;font-family:inherit;font-size:13px;font-weight:800;border:0;border-radius:99px;padding:11px 16px;background:#16263F;color:#fff;cursor:pointer;flex:0 0 auto}
		/* Sous 380 px, le mot cede la place au champ : la loupe suffit a dire ce que fait
		   le bouton, et le texte d aide redevient lisible en entier. */
		@media (max-width:380px){ .fps-search-go span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)} .fps-search-go{padding:11px 13px} }
		.fpapp[data-theme="dark"] .fps-search-go{background:#8FB3FF;color:#0B1524}
		/* La barre « Resultats pour … ✕ » reutilise le style de la barre de tag : meme
		   grammaire pour deux filtres qui font la meme chose, borner le fil. */
		.fps-tagbar .chip.q{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		/* ===== OUTILS DU COMMENTAIRE : corriger (crayon) et supprimer (croix) =====
		   Les deux vivent dans un meme rail en haut a droite. Le crayon n apparait que
		   pour l AUTEUR ; la croix, pour l auteur ou l admin. Ecart de 12px entre eux :
		   c est exactement ce que consomment les deux zones tactiles elargies, donc
		   elles se touchent sans jamais se recouvrir. */
		.fps-c{position:relative}
		/* La reserve a droite n existe que s il y a vraiment des boutons : un
		   commentaire qu on ne peut ni corriger ni supprimer garde toute sa largeur. */
		.fps-c.has-t{padding-right:52px}
		.fps-c-t{position:absolute;right:-2px;top:-2px;display:flex;align-items:flex-start;gap:12px}
		.fps-c-t button{position:relative;background:none;border:0;color:#606A7C;font-size:13px;line-height:1;cursor:pointer;padding:7px 9px;font-family:inherit;border-radius:8px;transition:color .15s ease,background .15s ease}
		.fps-c-t button::before{content:"";position:absolute;inset:-8px -6px}
		.fps-c-x:hover{color:#B81810;background:rgba(184,24,16,.08)}
		.fps-c-e{display:inline-flex;align-items:center}
		.fps-c-e:hover{color:#0F6E46;background:rgba(15,110,70,.08)}
		.fps-c-e svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
		.fpapp[data-theme="dark"] .fps-c-t button{color:#8494AC}
		.fpapp[data-theme="dark"] .fps-c-x:hover{color:#FF9C93;background:rgba(255,156,147,.12)}
		.fpapp[data-theme="dark"] .fps-c-e:hover{color:#66D6A2;background:rgba(102,214,162,.12)}
		/* La marque « modifie » : discrete, a cote de l heure, et definitive. Celui qui a
		   repondu a la phrase d avant a le droit de savoir qu elle a change. */
		.fps-c-mod{color:#6B7385;font-style:italic}
		.fpapp[data-theme="dark"] .fps-c-mod{color:#8494AC}
		/* Le champ de correction, ouvert sur place : le commentaire ne bouge pas de la
		   discussion pendant qu on le repare. */
		.fps-c-ed{display:flex;flex-direction:column;gap:7px;margin:5px 0 3px;animation:fpsCEd .18s ease both}
		@keyframes fpsCEd{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
		@media (prefers-reduced-motion:reduce){.fps-c-ed{animation:none}}
		.fps-c-ed textarea{width:100%;min-height:62px;resize:vertical;font-family:inherit;font-size:13.5px;line-height:1.45;color:#16263F;background:#fff;border:1px solid #C9D2DE;border-radius:11px;padding:9px 11px;box-sizing:border-box}
		.fps-c-ed textarea:focus{border-color:#16263F;outline:2px solid transparent;box-shadow:0 0 0 3px rgba(22,38,63,.12)}
		.fpapp[data-theme="dark"] .fps-c-ed textarea{color:#E6ECF5;background:#101d33;border-color:#2B3A57}
		.fpapp[data-theme="dark"] .fps-c-ed textarea:focus{border-color:#8FB3FF;box-shadow:0 0 0 3px rgba(143,179,255,.16)}
		.fps-c-edb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
		.fps-c-edb button{font-family:inherit;font-size:12.5px;font-weight:800;border-radius:99px;padding:7px 15px;cursor:pointer;border:1px solid transparent;transition:opacity .15s ease}
		.fps-c-edb button[disabled]{opacity:.55;cursor:default}
		.fps-c-save{background:#16263F;color:#fff}
		.fpapp[data-theme="dark"] .fps-c-save{background:#8FB3FF;color:#0B1524}
		.fps-c-cancel{background:none;color:#6B7385;border-color:#DCE0DB}
		.fpapp[data-theme="dark"] .fps-c-cancel{color:#9FB0C6;border-color:#2B3A57}
		.fps-c-left{font-size:11.5px;color:#6B7385;margin-left:auto;font-variant-numeric:tabular-nums}
		.fpapp[data-theme="dark"] .fps-c-left{color:#8494AC}
		/* ===== EDITEUR DE PHOTO DE PROFIL (Compte > Mon profil) ===== */
		/* ===== GARDÉ DE CÔTÉ : la pile, dans Mon compte ===== */
		.fpa-saves{display:flex;flex-direction:column;gap:8px;margin-top:10px}
		.fpa-save{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #DCE0DB;border-radius:12px;padding:10px 12px}
		.fpapp[data-theme="dark"] .fpa-save{background:#15233e;border-color:#26314c}
		.fpa-save.off{opacity:.62}
		.fpa-save-ph{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#F3F5F1}
		.fpa-save-tx{flex:1;min-width:0}
		.fpa-save-s{font-size:13px;font-weight:800;color:#16263F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpapp[data-theme="dark"] .fpa-save-s{color:#E6ECF5}
		.fpa-save-b{font-size:12px;color:#6B7385;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
		.fpa-save-e{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:99px;margin-top:4px}
		.fpa-save-e.ok{background:#E7F4EC;color:#0F6E46}
		.fpa-save-e.fini{background:#F3F0E7;color:#8A6714}
		.fpa-save-e.retire{background:#F6ECEA;color:#A8321F}
		.fpapp[data-theme="dark"] .fpa-save-e.ok{background:#12331f;color:#5fdc9a}
		.fpapp[data-theme="dark"] .fpa-save-e.fini{background:#33291a;color:#f0c76a}
		.fpapp[data-theme="dark"] .fpa-save-e.retire{background:#3a1f1c;color:#ff9e90}
		.fpa-save button{flex:0 0 auto;border:1px solid #DCE0DB;background:transparent;color:#6B7385;border-radius:10px;padding:7px 10px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;min-height:36px}
		.fpapp[data-theme="dark"] .fpa-save button{border-color:#26314c;color:#9aa6bd}
		.fpa-saves-none{font-size:12.5px;color:#6B7385;font-style:italic;padding:4px 2px}
		/* ===== NE PLUS VOIR : la liste de recours, dans Mon compte ===== */
		.fpa-mutes{display:flex;flex-direction:column;gap:8px;margin-top:10px}
		.fpa-mute{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #DCE0DB;border-radius:12px;padding:10px 12px}
		.fpapp[data-theme="dark"] .fpa-mute{background:#15233e;border-color:#26314c}
		.fpa-mute-n{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:#16263F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
		.fpapp[data-theme="dark"] .fpa-mute-n{color:#E6ECF5}
		.fpa-mute-d{font-size:11.5px;color:#6B7385;font-weight:600;white-space:nowrap}
		.fpa-mute button{flex:0 0 auto;border:1px solid #DCE0DB;background:transparent;color:#1B4FA3;border-radius:10px;padding:7px 11px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;min-height:36px}
		.fpa-mute button:active{background:#EAF0FB}
		.fpapp[data-theme="dark"] .fpa-mute button{border-color:#26314c;color:#9ec2ff}
		.fpa-mutes-none{font-size:12.5px;color:#6B7385;font-style:italic;padding:4px 2px}
		.fpa-avrow{display:flex;align-items:center;gap:13px;margin:2px 0 4px}
		.fpa-avprev{width:58px;height:58px;border-radius:50%;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;overflow:hidden;flex-shrink:0;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fpa-avprev img{width:100%;height:100%;object-fit:cover}
		.fpa-avbtns{display:flex;gap:8px;flex-wrap:wrap}
		.fpa-avbtn{display:inline-flex;align-items:center;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;border:0;border-radius:10px;padding:9px 13px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
		.fpa-avbtn.ghost{background:transparent;color:#6B7385;border:1px solid #DCE0DB}
		.fpapp[data-theme="dark"] .fpa-avbtn{background:#E6ECF5;color:#0C1726}
		.fpapp[data-theme="dark"] .fpa-avbtn.ghost{background:transparent;color:#9aa6bd;border-color:#26314c}
		.fpa-avmsg{font-size:12px;color:#6B7385;margin:6px 0 8px;min-height:1em}
		.fpa-avmsg.ok{color:#19895A}.fpa-avmsg.ko{color:#B81810}
		/* ===== CLOCHE DE NOTIFICATIONS (barre de marque) ===== */
		.fpa-bell{position:absolute;right:52px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;cursor:pointer;border-radius:50%;display:grid;place-items:center;color:#6B7385}
		.fpa-bell svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpa-bell-n{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#E63127;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px #fff}
		.fpapp[data-theme="dark"] .fpa-bell{color:#9FB0C6}
		.fpapp[data-theme="dark"] .fpa-bell-n{box-shadow:0 0 0 2px #101d38}
		/* ===== IPASS : icône header + petit chat pop-over ===== */
		.fpa-ipass{position:absolute;right:92px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;cursor:pointer;border-radius:50%;display:grid;place-items:center;color:#1B4FA3}
		.fpa-topbar:not(.has-bell) .fpa-ipass{right:52px}
		.fpa-ipass:active{transform:translateY(-50%) scale(.9)}
		.fpa-ipass svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fpa-ipass .fp-eye{fill:currentColor;stroke:none}
		.fpa-ipass-n{position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;background:#E63127;box-shadow:0 0 0 2px #fff}
		.fpa-ipass-n[hidden]{display:none}
		.fpapp[data-theme="dark"] .fpa-ipass{color:#9CC0FF}
		.fpapp[data-theme="dark"] .fpa-ipass-n{box-shadow:0 0 0 2px #101d38}
		.fp-ipasspop{position:absolute;top:calc(52px + env(safe-area-inset-top,0px));right:10px;z-index:70;width:min(340px,calc(100% - 20px));max-height:min(66%,480px);display:flex;flex-direction:column;background:#fff;border:1px solid #E4E8EE;border-radius:18px;box-shadow:0 24px 54px -18px rgba(12,23,38,.6);opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .16s,transform .16s}
		.fp-ipasspop.on{opacity:1;transform:none;pointer-events:auto}
		.fp-ipass-hd{display:flex;align-items:center;gap:10px;padding:11px 11px 10px;border-bottom:1px solid #EEF0EC;flex-shrink:0}
		.fp-ipass-av{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:linear-gradient(140deg,#1B4FA3,#12386f);display:grid;place-items:center;color:#fff}
		.fp-ipass-av svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fp-ipass-av .fp-eye{fill:currentColor;stroke:none}
		.fp-ipass-id{flex:1;min-width:0;line-height:1.25}
		.fp-ipass-id b{display:block;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:15px;font-weight:800;color:#16263F;letter-spacing:-.01em}
		.fp-ipass-id em{font-style:normal;font-size:11.5px;color:#6B7385;display:inline-flex;align-items:center;gap:5px}
		.fp-ipass-id em::before{content:"";width:7px;height:7px;border-radius:50%;background:#22A06B}
		.fp-ipass-x{position:relative;flex-shrink:0;width:36px;height:36px;border:0;background:#F3F5F1;border-radius:50%;color:#6B7385;cursor:pointer;display:grid;place-items:center;font-size:14px;line-height:1}
		.fp-ipass-x:active{transform:scale(.9)}
		.fp-ipass-thread{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:13px 12px;display:flex;flex-direction:column;gap:8px;background:#F7F8F6}
		.fp-ipb{max-width:88%;align-self:flex-start;background:#fff;border:1px solid #E9EBE6;border-radius:14px;border-bottom-left-radius:5px;padding:9px 12px;box-shadow:0 4px 14px -10px rgba(16,30,48,.4)}
		.fp-ipb.me{align-self:flex-end;background:#1B4FA3;border-color:#1B4FA3;border-radius:14px;border-bottom-right-radius:5px}
		.fp-ipb p{margin:0;font-size:13.5px;line-height:1.5;color:#243244}
		.fp-ipb.me p{color:#fff}
		/* Rangee de boutons proposee par IPASS : elles se rangent proprement des
		   qu il y en a deux, au lieu de se chevaucher au retour a la ligne. */
		.fp-ipb-acts{display:flex;flex-wrap:wrap;gap:7px}
		/* LE POUCE (audit integral, I4) : deux boutons discrets sous la reponse.
		   Discret expres, pour ne pas voler la vedette a la reponse elle-meme,
		   mais avec des cibles tactiles vraies (32 px de haut minimum). */
		.fp-ipv{margin-top:8px;padding-top:7px;border-top:1px solid #EEF0EC;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:#5A6373}
		.fp-ipv-l{margin-right:2px}
		.fp-ipv-b{min-height:32px;padding:5px 13px;border:1px solid #D7DBD3;background:#fff;border-radius:999px;font:inherit;font-weight:700;color:#243244;cursor:pointer}
		.fp-ipv-b:active{transform:scale(.96)}
		.fp-ipv.done{color:#22A06B;font-weight:700;border-top-color:#DFF0E7}
		.fp-ipb b{font-weight:800;color:#16263F}
		.fp-ipb.me b{color:#fff}
		/* Bulle « annonce » relayée par IPASS : liseré bleu, fond très clair. */
		.fp-ipb.fp-ipb-ann{background:#F2F6FF;border-color:#C9DAF6;border-left:3px solid #1B4FA3}
		.fp-ipb.fp-ipb-ann b{color:#1B4FA3}
		.fp-ipass-chips{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;border-top:1px solid #EEF0EC;background:#fff;border-radius:0 0 18px 18px;flex-shrink:0}
		.fp-ipass-chip{border:1px solid #cdd9ea;background:#F3F7FD;color:#1B4FA3;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
		.fp-ipass-chip:active{transform:scale(.95)}
		.fp-ipass-chip{min-height:38px}
		.fp-ipass-chip.go{background:#1B4FA3;color:#fff;border-color:#1B4FA3}
		.fp-ipass-ask{display:flex;gap:8px;padding:10px 12px 11px;border-top:1px solid #EEF0EC;background:#fff;border-radius:0 0 18px 18px;flex-shrink:0}
		.fp-ipass-ask input{flex:1;min-width:0;border:1px solid #d7ddd3;background:#F7F8F6;border-radius:999px;padding:10px 14px;font-size:14px;font-family:inherit;color:#243244}
		.fp-ipass-ask input:focus{outline:none;border-color:#1B4FA3;background:#fff}
		.fp-ipass-send{flex-shrink:0;width:40px;height:40px;border:0;border-radius:50%;background:#1B4FA3;color:#fff;cursor:pointer;display:grid;place-items:center}
		.fp-ipass-send svg{width:19px;height:19px;fill:currentColor;stroke:none}
		.fp-ipass-send:active{transform:scale(.9)}
		.fp-ipass-send:disabled{opacity:.5;cursor:default}
		/* Voix : micro (dictee) + haut-parleur (lecture). Natif navigateur, opt-in. */
		.fp-ipass-mic,.fp-ipass-say{flex-shrink:0;width:40px;height:40px;border:1px solid #d7ddd3;border-radius:50%;background:#F7F8F6;color:#5b6472;cursor:pointer;display:grid;place-items:center;padding:0}
		.fp-ipass-mic svg,.fp-ipass-say svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
		.fp-ipass-mic:active,.fp-ipass-say:active{transform:scale(.9)}
		.fp-ipass-mic.on{background:#e6392b;border-color:#e6392b;color:#fff;animation:fpMicPulse 1s infinite}
		@keyframes fpMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(230,57,43,.5)}50%{box-shadow:0 0 0 6px rgba(230,57,43,0)}}
		.fp-ipass-say .fp-say-off{display:block}.fp-ipass-say .fp-say-on{display:none}
		.fp-ipass-say[aria-pressed="true"]{background:#1B4FA3;border-color:#1B4FA3;color:#fff}
		.fp-ipass-say[aria-pressed="true"] .fp-say-on{display:block}.fp-ipass-say[aria-pressed="true"] .fp-say-off{display:none}
		.fpapp[data-theme="dark"] .fp-ipass-mic,.fpapp[data-theme="dark"] .fp-ipass-say{background:#16233f;border-color:#2b3d5e;color:#aeb9c9}
		.fp-ipass-typing{display:inline-flex;gap:4px;align-self:flex-start;background:#fff;border:1px solid #E9EBE6;border-radius:14px;border-bottom-left-radius:5px;padding:12px 14px}
		.fp-ipass-typing i{width:7px;height:7px;border-radius:50%;background:#9aa6b6;animation:fpIpDot 1.2s infinite ease-in-out}
		.fp-ipass-typing i:nth-child(2){animation-delay:.18s}
		.fp-ipass-typing i:nth-child(3){animation-delay:.36s}
		@keyframes fpIpDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
		.fpapp[data-theme="dark"] .fp-ipass-ask{background:#101d38;border-top-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipass-ask input{background:#16233f;border-color:#2b3d5e;color:#eaf0f7}
		.fpapp[data-theme="dark"] .fp-ipass-ask input:focus{background:#1b2c4c;border-color:#9CC0FF}
		.fpapp[data-theme="dark"] .fp-ipass-typing{background:#16233f;border-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipasspop{background:#101d38;border-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipass-hd{border-bottom-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipass-id b{color:#eaf0f7}
		.fpapp[data-theme="dark"] .fp-ipass-x{background:#1c2c48;color:#9FB0C6}
		.fpapp[data-theme="dark"] .fp-ipass-thread{background:#0c1830}
		.fpapp[data-theme="dark"] .fp-ipb{background:#16233f;border-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipb p{color:#c9d6ea}
		.fpapp[data-theme="dark"] .fp-ipb b{color:#eaf0f7}
		.fpapp[data-theme="dark"] .fp-ipv{border-top-color:#243250;color:#93a3bd}
		.fpapp[data-theme="dark"] .fp-ipv-b{background:#1d2c4c;border-color:#31446c;color:#e6edf7}
		.fpapp[data-theme="dark"] .fp-ipv.done{color:#5FD4A0;border-top-color:#274a3c}
		.fpapp[data-theme="dark"] .fp-ipb.fp-ipb-ann{background:#16294a;border-color:#2c4a7d;border-left-color:#6f9be6}
		.fpapp[data-theme="dark"] .fp-ipb.fp-ipb-ann b{color:#9FC0FF}
		.fpapp[data-theme="dark"] .fp-ipass-chips{background:#101d38;border-top-color:#243250}
		.fpapp[data-theme="dark"] .fp-ipass-chip{background:#16233f;border-color:#2b3d5e;color:#9CC0FF}
		.fpapp[data-theme="dark"] .fp-ipass-chip.go{background:#2C5FB8;border-color:#2C5FB8;color:#fff}
		.fpapp[data-theme="dark"] .fp-ipass-id em{color:#9FB0C6}
		/* ===== NOTIFICATIONS, DANS LE FIL DU CHAT IPASS =====
		   Plus aucun ecran separe : chaque notification est une bulle de la
		   conversation, posee du cote IPASS. Meme contenu qu avant (icone, texte,
		   date, action), traite en clair ET en sombre. */
		.fpn-list{align-self:flex-start;width:92%;max-width:92%;display:flex;flex-direction:column;gap:8px;margin:1px 0}
		.fpn-i{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid #DCE0DB;border-radius:14px;border-bottom-left-radius:5px;padding:11px 12px;box-shadow:0 4px 14px -10px rgba(16,30,48,.4);cursor:pointer;text-align:left;width:100%;min-height:56px;font-family:inherit}
		/* Notification sans rien a ouvrir : simple bulle, jamais un bouton mort. */
		.fpn-i.flat{cursor:default}
		.fpn-i:focus-visible{outline:3px solid #1B4FA3;outline-offset:2px}
		.fpapp[data-theme="dark"] .fpn-i{background:#15233e;border-color:#26314c}
		.fpapp[data-theme="dark"] .fpn-i:focus-visible{outline-color:#9CC0FF}
		/* NON LUE : lisere dore ET le mot « Non lue ». L information n est jamais
		   portee par la seule couleur. */
		.fpn-i.fresh{border-color:#B98413;background:#FFFDF6}
		.fpapp[data-theme="dark"] .fpn-i.fresh{background:#1c2338;border-color:#8a6a25}
		.fpn-new{font-style:normal;display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:#8A5A00;color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em}
		.fpapp[data-theme="dark"] .fpn-new{background:#F4C560;color:#20180A}
		.fpn-ic{width:32px;height:32px;border-radius:10px;background:#EEF3FB;display:grid;place-items:center;flex-shrink:0}
		.fpn-ic svg{width:16px;height:16px;fill:none;stroke:#1B4FA3;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fpapp[data-theme="dark"] .fpn-ic{background:#1c2c48}
		.fpapp[data-theme="dark"] .fpn-ic svg{stroke:#8ab0f0}
		.fpn-tx{min-width:0;flex:1}
		.fpn-tx b{display:block;font-size:13px;color:#16263F;font-weight:700;line-height:1.35}
		.fpapp[data-theme="dark"] .fpn-tx b{color:#E6ECF5}
		.fpn-tx span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;color:#6B7385;margin-top:2px;overflow:hidden;white-space:normal;line-height:1.4;overflow-wrap:break-word}
		.fpn-tx small{display:block;font-size:11px;color:#5F6875;margin-top:4px}
		.fpapp[data-theme="dark"] .fpn-tx small{color:#9aa6bd}
		/* « Voir les N autres » : la suite se deroule ICI, dans le fil. Cible 44 px. */
		.fpn-more{align-self:flex-start;min-height:44px;padding:9px 15px}
		/* ===== RÉPONSES AUX COMMENTAIRES + MENTIONS ===== */
		.fps-c.reply{margin-left:22px;padding-left:10px;border-left:2px solid #E4E8EE}
		.fpapp[data-theme="dark"] .fps-c.reply{border-left-color:#26314c}
		.fps-c-r{background:none;border:0;color:#1B4FA3;font-size:11px;font-weight:700;cursor:pointer;padding:2px 0;font-family:inherit}
		.fpapp[data-theme="dark"] .fps-c-r{color:#8ab0f0}
		.fps-replychip{display:inline-flex;align-items:center;gap:6px;background:#EEF3FB;color:#1B4FA3;font-size:11.5px;font-weight:700;border-radius:99px;padding:4px 10px;margin:6px 0 2px}
		.fps-replychip button{background:none;border:0;color:inherit;cursor:pointer;font-size:12px;padding:0;font-family:inherit}
		.fpapp[data-theme="dark"] .fps-replychip{background:#1c2c48;color:#8ab0f0}
		.fps-mention{color:#1B4FA3;font-weight:700}
		.fpapp[data-theme="dark"] .fps-mention{color:#8ab0f0}
		/* ===== CARROUSEL multi-photos ===== */
		.fps-caro-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:14px}
		.fps-caro-track::-webkit-scrollbar{display:none}
		.fps-caro-track img{flex:0 0 100%;width:100%;scroll-snap-align:center;object-fit:cover;display:block}
		.fps-caro-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}
		.fps-caro-dots i{width:6px;height:6px;border-radius:50%;background:#C9CFDA;transition:background .15s,transform .15s}
		.fps-caro-dots i.on{background:#1B4FA3;transform:scale(1.25)}
		.fpapp[data-theme="dark"] .fps-caro-dots i{background:#3a465c}
		.fpapp[data-theme="dark"] .fps-caro-dots i.on{background:#8FB3FF}
		/* ===== APERCUS DU COMPOSEUR (jusqu a 4) + FILTRES ===== */
		.fps-previews[hidden]{display:none}
		.fps-previews{margin:10px 0 0}
		.fps-prevrow{display:flex;gap:8px;flex-wrap:wrap}
		.fps-prev{position:relative;width:74px;height:74px;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:#F3F5F1}
		.fps-prev.on{border-color:var(--fp-gold-deep)}
		.fps-prev img{width:100%;height:100%;object-fit:cover;display:block}
		.fps-prev-x{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(12,23,38,.78);color:#fff;border:0;font-size:11px;line-height:1;cursor:pointer;display:grid;place-items:center;font-family:inherit}
		.fps-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
		.fps-filters button{border:1px solid #DCE0DB;background:#fff;color:#4a5468;border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit}
		.fps-filters button.on{background:#16263F;border-color:#16263F;color:#fff}
		.fpapp[data-theme="dark"] .fps-filters button{background:#15233e;border-color:#26314c;color:#9aa6bd}
		.fpapp[data-theme="dark"] .fps-filters button.on{background:#E6ECF5;border-color:#E6ECF5;color:#0C1726}
		/* ===== REPOST : carte de la publication d origine ===== */
		.fps-shared{font-weight:600;color:#6B7385;font-size:12px}
		.fps-orig{border:1px solid #E3E6EF;border-radius:14px;padding:10px 12px;margin:4px 0 10px;background:#FAFBF9}
		.fps-orig[data-prof]{cursor:pointer}
		.fps-orig-head{font-size:12.5px;font-weight:800;color:#16263F;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
		.fps-orig-head span{font-weight:600;color:#6B7385;font-size:11.5px}
		.fps-orig-body{font-size:13.5px;color:#2c3648;margin-top:4px;line-height:1.45;word-break:break-word}
		.fps-orig-ph{position:relative;margin-top:8px;border-radius:10px;overflow:hidden}
		.fps-orig-ph img{width:100%;max-height:220px;object-fit:cover;display:block}
		.fps-orig-more{position:absolute;right:8px;bottom:8px;background:rgba(12,23,38,.72);color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:3px 9px}
		.fps-orig-gone{color:#6B7385;font-size:12.5px;font-style:italic}
		.fpapp[data-theme="dark"] .fps-orig{background:#121a2b;border-color:#26314c}
		.fpapp[data-theme="dark"] .fps-orig-head{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fps-orig-body{color:#c7d0e0}
		/* ===== SONDAGES : barres de resultats ===== */
		.fps-poll{margin:4px 0 10px;display:grid;gap:7px}
		.fps-poll-opt{position:relative;overflow:hidden;border:1px solid #DCE0DB;background:#fff;border-radius:11px;padding:9px 12px;text-align:left;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;color:#16263F;display:flex;justify-content:space-between;gap:8px;align-items:center}
		.fps-poll-opt i{position:absolute;left:0;top:0;bottom:0;background:#E8EEF9;z-index:0;transition:width .35s ease}
		.fps-poll-opt .fps-poll-t,.fps-poll-opt .fps-poll-pc{position:relative;z-index:1}
		.fps-poll-opt.mine{border-color:#1B4FA3}
		.fps-poll-opt.mine .fps-poll-pc{color:#1B4FA3}
		.fps-poll-pc{font-variant-numeric:tabular-nums;font-weight:800;color:#4a5468;font-size:12.5px;white-space:nowrap}
		.fps-poll-n{font-size:11.5px;color:#6B7385;font-weight:600}
		.fpapp[data-theme="dark"] .fps-poll-opt{background:#15233e;border-color:#26314c;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fps-poll-opt i{background:#22304d}
		.fpapp[data-theme="dark"] .fps-poll-opt.mine{border-color:#8FB3FF}
		.fpapp[data-theme="dark"] .fps-poll-opt.mine .fps-poll-pc{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fps-poll-pc{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fps-poll-n{color:#9aa6bd}
		/* ===== COMPOSEUR : champs du sondage ===== */
		.fps-pollbox[hidden]{display:none}
		.fps-pollbox{display:grid;gap:7px;margin:10px 0 0}
		.fps-pollbox input{border:1px solid #DCE0DB;border-radius:10px;padding:8px 11px;font-size:13.5px;font-family:inherit;background:#fff;color:#16263F}
		.fps-pollbox input:focus{outline:2px solid #1B4FA3;outline-offset:1px}
		button.fps-tool{font-family:inherit;cursor:pointer;border:0}
		.fps-tool.on{background:#16263F;color:#fff;border-color:#16263F}
		.fpapp[data-theme="dark"] .fps-pollbox input{background:#15233e;border-color:#26314c;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fps-tool.on{background:#E6ECF5;color:#0C1726;border-color:#E6ECF5}
		/* ===== HASHTAGS CLIQUABLES + fil filtré ===== */
		.fps-taglink{color:#1B4FA3;font-weight:700;cursor:pointer}
		.fpapp[data-theme="dark"] .fps-taglink{color:#8ab0f0}
		.fps-trend{cursor:pointer}
		.fps-tagbar{display:flex;align-items:center;gap:8px;margin:0 0 10px}
		.fps-tagbar .chip{display:inline-flex;align-items:center;gap:7px;background:#16263F;color:#fff;font-size:12.5px;font-weight:800;border-radius:999px;padding:6px 12px}
		.fps-tagbar .chip button{background:none;border:0;color:#fff;cursor:pointer;font-size:13px;padding:0;line-height:1;font-family:inherit}
		.fpapp[data-theme="dark"] .fps-tagbar .chip{background:#E6ECF5;color:#0C1726}
		.fpapp[data-theme="dark"] .fps-tagbar .chip button{color:#0C1726}
		/* ===== DOUBLE-TAP : coeur qui eclot sur la photo ===== */
		.fps-post-photo{position:relative}
		.fps-heartburst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.3);font-size:64px;pointer-events:none;opacity:0;animation:fpheart .8s cubic-bezier(.2,.8,.3,1) forwards;text-shadow:0 6px 24px rgba(0,0,0,.35)}
		@keyframes fpheart{20%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}45%{transform:translate(-50%,-50%) scale(.95)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-58%) scale(1)}}
		/* ===== EXPLORER : mosaique de photos ===== */
		.fps-explore{margin:0 0 14px}
		.fps-explore .fpa-sech{margin:0 2px 9px}
		.fps-explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:14px;overflow:hidden}
		.fps-explore-grid button{position:relative;border:0;padding:0;background:#F3F5F1;cursor:pointer;aspect-ratio:1;overflow:hidden}
		.fpapp[data-theme="dark"] .fps-explore-grid button{background:#1c2c48}
		.fps-explore-grid img{width:100%;height:100%;object-fit:cover;display:block}
		/* ===== VISIONNEUSE PHOTO (Explorer) ===== */
		.fps-lightbox{position:absolute;inset:0;z-index:145;background:rgba(6,12,24,.96);display:flex;flex-direction:column}
		.fps-lightbox[hidden]{display:none}
		.fps-lb-x{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:10px;background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:10px;z-index:2;font-family:inherit}
		.fps-lb-head{display:flex;align-items:center;gap:10px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 10px}
		.fps-lb-head .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12.5px;overflow:hidden;flex-shrink:0;font-family:"Bricolage Grotesque","Inter",sans-serif}
		.fps-lb-head .av img{width:100%;height:100%;object-fit:cover}
		.fps-lb-head b{color:#fff;font-size:13.5px;font-weight:800}
		.fps-lb-media{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 12px}
		.fps-lb-media img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain}
		.fps-lb-cap{color:rgba(255,255,255,.92);font-size:13.5px;line-height:1.5;text-align:center;padding:14px 22px calc(26px + env(safe-area-inset-bottom,0px))}
		/* ===== VISIONNEUSE DE STORIES (plein écran) ===== */
		.fps-viewer{position:absolute;inset:0;z-index:140;background:#0C1726;display:flex;flex-direction:column}
		.fps-viewer[hidden]{display:none}
		.fps-v-bars{display:flex;gap:4px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 0}
		.fps-v-bar{flex:1;height:3px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden}
		.fps-v-bar i{display:block;height:100%;width:0;background:var(--fp-gold);border-radius:99px}
		.fps-v-bar.done i{width:100%}
		.fps-v-bar.run i{width:100%;transition:width 6s linear}
		.fps-v-head{display:flex;align-items:center;gap:10px;padding:12px 14px}
		.fps-v-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(150deg,#1B4FA3,#123C82);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;overflow:hidden;flex-shrink:0;font-family:"Bricolage Grotesque","Inter",sans-serif;border:2px solid rgba(244,197,96,.6)}
		.fps-v-av img{width:100%;height:100%;object-fit:cover}
		.fps-v-meta{min-width:0;flex:1}
		.fps-v-meta b{display:block;color:#fff;font-size:13.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fps-v-meta span{display:block;color:rgba(255,255,255,.65);font-size:11px;margin-top:1px}
		.fps-v-views{color:var(--fp-gold);font-size:11.5px;font-weight:700;white-space:nowrap}
		.fps-v-del,.fps-v-x{background:none;border:0;color:rgba(255,255,255,.85);cursor:pointer;padding:8px;font-size:16px;line-height:1;font-family:inherit;position:relative;z-index:3}
		/* Zone tactile >=44px (a11y) sans changer le visuel : pastille invisible centrée. */
		.fp-shop-close::before,.fp-ipass-x::before,.fps-v-del::before,.fps-v-x::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}
		.fps-v-del svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
		.fps-v-media{flex:1;display:flex;align-items:center;justify-content:center;padding:0 18px 40px;min-height:0}
		.fps-v-media img{max-width:100%;max-height:100%;border-radius:16px;object-fit:contain;box-shadow:0 24px 60px -24px rgba(0,0,0,.8)}
		.fps-v-txt{color:#fff;font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:22px;font-weight:800;line-height:1.4;letter-spacing:-.01em;text-align:center;max-width:320px}
		.fps-v-cap{position:absolute;left:22px;right:22px;bottom:calc(30px + env(safe-area-inset-bottom,0px));color:#fff;font-size:16.5px;font-weight:700;line-height:1.45;text-align:center;background:rgba(6,12,24,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:12px 16px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
		.fps-v-zone{position:absolute;top:70px;bottom:0;width:38%;background:none;border:0;cursor:pointer;z-index:2}
		.fps-v-zone.prev{left:0}
		.fps-v-zone.next{right:0;width:62%}
		/* rail : la pastille devient une photo quand l auteur en a une */
		.fps-story{cursor:pointer;background:none;border:0;padding:0;font-family:inherit;color:inherit}
		/* Retour tactile unifie : chaque element cliquable « repond » au doigt. */
		.fps-story .fps-story-ring{transition:transform .13s cubic-bezier(.2,.72,.2,1)}
		.fps-story:active .fps-story-ring{transform:scale(.92)}
		.fps-grab-c{transition:transform .13s cubic-bezier(.2,.72,.2,1)}
		.fps-grab-c:active{transform:scale(.975)}
		.fps-trend{transition:transform .13s cubic-bezier(.2,.72,.2,1)}
		.fps-trend:active{transform:scale(.93)}
		@media (prefers-reduced-motion: reduce){.fps-story .fps-story-ring,.fps-grab-c,.fps-trend{transition:none}.fps-story:active .fps-story-ring,.fps-grab-c:active,.fps-trend:active{transform:none}}
		.fps-story-ring img{width:100%;height:100%;object-fit:cover;border-radius:50%}
		.fps-story-ring.seen{box-shadow:0 0 0 3px #fff,0 0 0 5px #C9CFDA}
		.fpapp[data-theme="dark"] .fps-story-ring.seen{box-shadow:0 0 0 3px #0f1626,0 0 0 5px #3a465c}
		/* composeur : outils caméra + story */
		.fps-storytog{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#6B7385;cursor:pointer;user-select:none}
		.fps-storytog input{accent-color:var(--fp-gold-deep);width:15px;height:15px;margin:0}
		.fpapp[data-theme="dark"] .fps-storytog{color:#9aa6bd}
		/* partage d une publication */
		.fps-share svg{width:16px;height:16px}
		/* ================= MODE SOMBRE (nuit bleue) ================= */
		.fpapp[data-theme="dark"]{background:#0E1830;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-topbar{background:#101d38;border-bottom-color:#243250}
		.fpapp[data-theme="dark"] .fpa-wm{color:#fff}
		.fpapp[data-theme="dark"] .fpa-theme{color:#9FB0C6}
		.fpapp[data-theme="dark"] .fpnav{background:#101d38;border-top-color:#243250}
		.fpapp[data-theme="dark"] .fpnav button.on{color:#fff}
		.fpapp[data-theme="dark"] .fpnav-n{box-shadow:0 0 0 2px #101d38}
		.fpapp[data-theme="dark"] .fp-notice{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-notice.fp-annonce{border-color:rgba(156,192,255,.5)}
		.fpapp[data-theme="dark"] .fp-demo-ban{background:linear-gradient(135deg,#3a2f16,#2c2410);border-color:rgba(230,180,80,.4);color:#f0d9a8}
		.fpapp[data-theme="dark"] .fp-demo-tx b{color:#ffe9bf}
		.fpapp[data-theme="dark"] .fpa-copyright{color:#8a95a8;border-top-color:rgba(255,255,255,.08)}
		.fpapp[data-theme="dark"] .fpa-copyright b{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fp-notice-hd b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fp-notice-hd em{color:#7E90AE}
		.fpapp[data-theme="dark"] .fp-notice-tx{color:#c2cdde}
		.fpapp[data-theme="dark"] .fp-notice-tx b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fp-notice-x{color:#7E90AE}
		/* Textes secondaires restes en gris fonce (#6B7385) : eclaircis pour le fond nuit */
		.fpapp[data-theme="dark"] .fpa-sub,
		.fpapp[data-theme="dark"] .fpa-how-note,
		.fpapp[data-theme="dark"] .fpa-e,
		.fpapp[data-theme="dark"] .fpa-freenote,
		.fpapp[data-theme="dark"] .fpa-authsub,
		.fpapp[data-theme="dark"] .fpa-fld span,
		.fpapp[data-theme="dark"] .fpa-forgot,
		.fpapp[data-theme="dark"] .fpa-legal-f,
		.fpapp[data-theme="dark"] .fpa-edit-l,
		.fpapp[data-theme="dark"] .fp-shop-cat,
		.fpapp[data-theme="dark"] .fpa-lead-s,
		.fpapp[data-theme="dark"] .fpa-chal-s,
		.fpapp[data-theme="dark"] .fps-post-when,
		.fpapp[data-theme="dark"] .fps-c-w,
		.fpapp[data-theme="dark"] .fpp-since,
		.fpapp[data-theme="dark"] .fpa-avmsg,
		.fpapp[data-theme="dark"] .fpn-tx span,
		.fpapp[data-theme="dark"] .fps-shared,
		.fpapp[data-theme="dark"] .fps-orig-gone,
		.fpapp[data-theme="dark"] .fpa-secure,
		.fpapp[data-theme="dark"] .fpa-empty,
		.fpapp[data-theme="dark"] .fpa-mapnote,
		.fpapp[data-theme="dark"] .fp-shop-note,
		.fpapp[data-theme="dark"] .fp-shop-offer .oc,
		.fpapp[data-theme="dark"] .fpa-vp-item small,
		.fpapp[data-theme="dark"] .fpa-gift-tx small,
		.fpapp[data-theme="dark"] .fpa-fresh-tx span,
		.fpapp[data-theme="dark"] .fpa-quick .s{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fpa-mapcredit{color:#5d6f8a}
		.fpapp[data-theme="dark"] .fpa-avmsg.ok{color:#67d093}
		.fpapp[data-theme="dark"] .fpa-avmsg.ko{color:#ff9c8f}
		.fpapp[data-theme="dark"] .fpa-h,
		.fpapp[data-theme="dark"] .fpa-slogan,
		.fpapp[data-theme="dark"] .fpa-sech h3,
		.fpapp[data-theme="dark"] .fpa-authtitle,
		.fpapp[data-theme="dark"] .fpa-n,
		.fpapp[data-theme="dark"] .fpa-fresh-tx b,
		.fpapp[data-theme="dark"] .fpa-perk .t .n,
		.fpapp[data-theme="dark"] .fpa-item b,
		.fpapp[data-theme="dark"] .fpa-quick .t,
		.fpapp[data-theme="dark"] .fp-shop-nm,
		.fpapp[data-theme="dark"] .fp-shop-offer .ot,
		.fpapp[data-theme="dark"] .fpa-code-h,
		.fpapp[data-theme="dark"] .fpa-lead-h,
		.fpapp[data-theme="dark"] .fpa-legal-h,
		.fpapp[data-theme="dark"] .fpa-how-h,
		.fpapp[data-theme="dark"] .fpa-how-step b,
		.fpapp[data-theme="dark"] .fpa-legal summary{color:#F1F5FB}
		/* cartes blanches -> cartes sombres */
		.fpapp[data-theme="dark"] .fpa-perk,
		.fpapp[data-theme="dark"] .fpa-quick,
		.fpapp[data-theme="dark"] .fpa-list,
		.fpapp[data-theme="dark"] .fpa-acccard,
		.fpapp[data-theme="dark"] .fpa-edit,
		.fpapp[data-theme="dark"] .fpa-notif,
		.fpapp[data-theme="dark"] .fpa-gift,
		.fpapp[data-theme="dark"] .fpa-vp-item,
		.fpapp[data-theme="dark"] .fpa-profile,
		.fpapp[data-theme="dark"] .fpa-code,
		.fpapp[data-theme="dark"] .fpa-lead,
		.fpapp[data-theme="dark"] .fpa-auth,
		.fpapp[data-theme="dark"] .fpa-fresh,
		.fpapp[data-theme="dark"] .fpa-subcard,
		.fpapp[data-theme="dark"] .fpa-how,
		.fpapp[data-theme="dark"] .fpa-legal details,
		.fpapp[data-theme="dark"] .fp-shop-offer,
		.fpapp[data-theme="dark"] .fp-shop-info,
		.fpapp[data-theme="dark"] .fp-shop-note,
		.fpapp[data-theme="dark"] .fp-rev,
		.fpapp[data-theme="dark"] .fp-revform{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-item{border-bottom-color:#26344f}
		.fpapp[data-theme="dark"] .fp-explo{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fp-explo-h span{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-explo-h b{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fp-explo-bar{background:#0f1a30}
		.fpapp[data-theme="dark"] .fp-explo-s{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fp-shop-info .row{border-top-color:#26344f}
		/* petits fonds clairs -> sombres */
		.fpapp[data-theme="dark"] .fpa-perk .ic,
		.fpapp[data-theme="dark"] .fpa-empty,
		.fpapp[data-theme="dark"] .fpa-mapnote,
		.fpapp[data-theme="dark"] .fpa-seg{background:#1c2b47}
		.fpapp[data-theme="dark"] .fpa-cats button{background:#15233e;border-color:#28374f;color:#a9b6c9}
		.fpapp[data-theme="dark"] .fpa-cats button.on{background:#16263F;border-color:#3a4a68;color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-seg button.on{background:#243554;color:#fff}
		.fpapp[data-theme="dark"] .fpa-search input{background:#15233e;border-color:#28374f;color:#E6ECF5}
		/* Formulaire d aide en mode sombre : memes teintes que les autres champs. */
		.fpapp[data-theme="dark"] .fpa-input{background:#15233e;border-color:#28374f;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-input:focus{border-color:#9CC0FF;box-shadow:0 0 0 3px rgba(156,192,255,.14)}
		.fpapp[data-theme="dark"] .fpa-search input::placeholder{color:#6b7a92}
		.fpapp[data-theme="dark"] .fpa-perk.isflash{background:linear-gradient(180deg,#15233e,#221a2a);border-color:#4a2f34}
		.fpapp[data-theme="dark"] .fpa-perk-cat{color:#8091a6}
		.fpapp[data-theme="dark"] .fpa-perk .t .d{color:#c2cdde}
		/*, mode sombre : Avantages v2, */
		.fpapp[data-theme="dark"] .fpa-fb-c{background:#15233e;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-fb-in .nm{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-fb-in .lim{color:#8091a6}
		.fpapp[data-theme="dark"] .fpa-fb-ph{background-color:#1c2c48}
		.fpapp[data-theme="dark"] .fpa-ev{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-ev-t .n{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-ev-t .m{color:#8091a6}
		.fpapp[data-theme="dark"] .fptab[data-tab="offers"] .fpa-sech>span{background:#1c2c48;color:#a9b6c9}
		.fpapp[data-theme="dark"] .fpa-fold{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fpa-fold-ic{background:#1c2c48;color:#9CC0FF}
		.fpapp[data-theme="dark"] .fpa-fold-tx b{color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-fold-tx span{color:#8091a6}
		.fpapp[data-theme="dark"] .fpa-perk .ic.ph,.fpapp[data-theme="dark"] .fpa-bask-ph.ph{background-color:#1c2c48}
		/* PHOTOS DES COMMERCES EN MODE SOMBRE (audit integral, V2).
		   Elles gardaient leur pleine luminosite la nuit : on ouvre une fiche le soir
		   et on se prend un flash blanc dans les yeux. Un voile tres leger suffit a
		   les poser dans la page sans rien perdre du plat qui donne envie. */
		.fpapp[data-theme="dark"] .ph{filter:brightness(.86) saturate(.96)}
		.fpapp[data-theme="dark"] .fpa-bask-ph.mono,.fpapp[data-theme="dark"] .fpa-fb-ph.mono,.fpapp[data-theme="dark"] .fpa-perk .ic.mono{background:hsl(var(--h) 30% 20%);color:hsl(var(--h) 60% 75%);border-color:hsl(var(--h) 30% 28%)}
		.fpapp[data-theme="dark"] .fpa-profile>summary,
		.fpapp[data-theme="dark"] .fpa-notif-t{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-notif-b{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-gift-tx b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-gift-arr{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fpa-vp-item b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-count-real{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-count-real b{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fpa-profile-opt{background:#1c2b47;color:#8FB3FF}
		.fpapp[data-theme="dark"] .fpa-profile-note{background:#12203a;color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-fld-l{color:#dbe3ef}
		.fpapp[data-theme="dark"] .fpa-fld-l span{color:#A7B4CB}
		.fpapp[data-theme="dark"] .fpa-pfld{background:#0f1c33;border-color:#2b3b57;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-pfld::placeholder{color:#6b7a92}
		/* textes secondaires plus clairs */
		.fpapp[data-theme="dark"] .fp-shop-desc,
		.fpapp[data-theme="dark"] .fp-rev .rt,
		.fpapp[data-theme="dark"] .fpa-how-step,
		.fpapp[data-theme="dark"] .fpa-legal-b{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-how-step em{color:#8FB3FF}
		/* couches vivantes du mini-site en thème sombre */
		.fpapp[data-theme="dark"] .fp-shop-live{background:linear-gradient(160deg,#2a1a18,#331d1a);border-color:#5a332e;box-shadow:none}
		.fpapp[data-theme="dark"] .fp-shop-story-b{color:#e7d9d6}
		.fpapp[data-theme="dark"] .fp-shop-story-w{color:#b89a95}
		.fpapp[data-theme="dark"] .fp-shop-ev,
		.fpapp[data-theme="dark"] .fp-shop-post{background:#12203a;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-shop-ev-t{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fp-shop-ev-w{color:#a9b6c9}
		.fpapp[data-theme="dark"] .fp-shop-ev-d,
		.fpapp[data-theme="dark"] .fp-shop-post-b{color:#c2cdde}
		.fpapp[data-theme="dark"] .fp-shop-ev-full{color:#ff9c8f}
		.fpapp[data-theme="dark"] .fp-shop-post-m{color:#8590a0}
		.fpapp[data-theme="dark"] .fp-shop-bkc{background:#12261a;border-color:#2c4a35}
		.fpapp[data-theme="dark"] .fp-shop-bkc-t{color:#a6e6bb}
		.fpapp[data-theme="dark"] .fp-shop-bkc-m{color:#8fbf9f}
		.fpapp[data-theme="dark"] .fp-shop-bkmsg{color:#8fbf9f}
		.fpapp[data-theme="dark"] .fp-shop-ev-rsvp{background:#12203a;border-color:#28374f;color:#8FB3FF}
		.fpapp[data-theme="dark"] .fp-shop-ev-rsvp.on{background:#1B4FA3;color:#fff;border-color:#1B4FA3}
		.fpapp[data-theme="dark"] .fp-shop-ev-rsvp.full{background:#1a2740;color:#5f6d84;border-color:#28374f}
		.fpapp[data-theme="dark"] .fps-grab-c{background:#12203a;border-color:#28374f}
		.fpapp[data-theme="dark"] .fps-grab-t{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fps-grab-m{color:#a9b6c9}
		.fpapp[data-theme="dark"] .fps-grab-go{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fps-grab-go.rsv{background:#2b3f5e;color:#fff}
		.fpapp[data-theme="dark"] .fps-grab-go.rsv:hover{background:#35507a}
		.fpapp[data-theme="dark"] .fps-grab-go.done{color:#7fd6a0}
		.fpapp[data-theme="dark"] .fps-pulse{background:linear-gradient(135deg,#1c2740,#182130);border-color:#2c3550}
		.fpapp[data-theme="dark"] .fps-pulse-h{color:#eef2f8}
		.fpapp[data-theme="dark"] .fps-pulse-chip{color:#c9d2e2;background:rgba(255,255,255,.05);border-color:#2c3550}
		.fpapp[data-theme="dark"] .fps-pulse-chip.hot{color:#ffbf87;background:rgba(179,84,14,.2);border-color:rgba(243,211,171,.28)}
		.fpapp[data-theme="dark"] .fps-pulse-new{color:#7fd6a0}
		.fpapp[data-theme="dark"] .fps-pulse-new b{color:#eef2f8}
		/* nouveaux blocs accueil (valeur / parrainage / installation) en thème sombre */
		.fpapp[data-theme="dark"] .fpa-how-lead{color:#a9b6c9}
		.fpapp[data-theme="dark"] .fpa-value{box-shadow:none;border:1px solid #28374f}
		.fpapp[data-theme="dark"] .fpa-installtip{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fpa-installtip-h,
		.fpapp[data-theme="dark"] .fpa-installtip-r>b,
		.fpapp[data-theme="dark"] .fpa-installtip-r span b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-installtip-r{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-refx{background:#241f14;border-color:#4a3f26}
		.fpapp[data-theme="dark"] .fpa-refx-tx b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-refx-tx span{color:#cbb98f}
		.fpapp[data-theme="dark"] .fpa-refx-tx span b{color:var(--fp-gold)}
		/* icônes au trait en thème sombre : on éclaircit les strokes */
		.fpapp[data-theme="dark"] .fpa-vp-ic svg,
		.fpapp[data-theme="dark"] .fpa-fresh-ic svg{stroke:#8FB3FF}
		.fpapp[data-theme="dark"] .fpa-refx-ic svg{stroke:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-installtip-ic{stroke:#F1F5FB}
		/* champs de saisie */
		.fpapp[data-theme="dark"] input[type=text],
		.fpapp[data-theme="dark"] input[type=email],
		.fpapp[data-theme="dark"] input[type=password],
		.fpapp[data-theme="dark"] textarea{background:#0f1c33;border-color:#2b3b57;color:#E6ECF5}
		.fpapp[data-theme="dark"] input::placeholder,
		.fpapp[data-theme="dark"] textarea::placeholder{color:#6b7a92}
		.fpapp[data-theme="dark"] .fpa-btn.ghost{background:#15233e;border-color:#31425f;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-btn.ghost.on{background:#152b1f;border-color:#2a5c40;color:#7fd3a8}
		.fpapp[data-theme="dark"] .fpa-switch{background:#3a4a66}
		/* fiche boutique (panneau plein écran) */
		.fpapp[data-theme="dark"] .fp-shop{background:#0E1830}
		.fpapp[data-theme="dark"] .fp-shop-close{background:rgba(21,35,62,.94)}
		.fpapp[data-theme="dark"] .fp-shop-close svg{stroke:#E6ECF5}
		.fpapp[data-theme="dark"] .fp-gift-panel{background:#0E1830}
		/* Correctifs thème sombre (v1.35.7) : la carte défi passait en fond nuit mais
		   gardait ses textes bleu nuit (invisibles) ; et 6 blocs restaient en clair,
		   éblouissants en pleine nuit. */
		.fpapp[data-theme="dark"] .fpa-chal-h,
		.fpapp[data-theme="dark"] .fpa-chal-n{color:#dbe4f5}
		.fpapp[data-theme="dark"] .fpa-chal.done .fpa-chal-n{color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-warn{background:#2e2716;border-color:#5c4d22;color:#e3c983}
		.fpapp[data-theme="dark"] .fpa-warn a{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fpa-suspend{background:#33201b;border-color:#66352c;color:#f0a496}
		.fpapp[data-theme="dark"] .fpa-suspend a{color:#f0a496}
		.fpapp[data-theme="dark"] .fpa-reassure{background:#152b1f;border-color:#2a5c40;color:#7fd3a8}
		.fpapp[data-theme="dark"] .fpa-subtrial{background:#2e2716;border-color:#5c4d22;color:#e3c983}
		.fpapp[data-theme="dark"] .fpa-cancelnote{background:#2e2716;border-color:#5c4d22;color:#e3c983}
		.fpapp[data-theme="dark"] .fpa-cancelnote a{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fpa-chip.on{background:#3a2f14;color:var(--fp-gold)}
		.fpapp[data-theme="dark"] .fpa-chip.off{background:#2e2716;color:#e3c983}
		.fpapp[data-theme="dark"] .fpa-subtag{background:#123021;color:#67d093}
		.fpapp[data-theme="dark"] .fpa-gift-ic{background:#1c2c48;color:#9CC0FF}
		.fpapp[data-theme="dark"] .fps-grab-img{background-color:#1c2c48}
		.fpapp[data-theme="dark"] .fp-gift-h{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fp-gift-sub{color:#c2cdde}
		.fpapp[data-theme="dark"] .fp-gift-step div,
		.fpapp[data-theme="dark"] .fp-gift-step b{color:#dbe3ef}
		.fpapp[data-theme="dark"] .fp-gift-price{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-gift-price b{color:#8FB3FF}
		.fpapp[data-theme="dark"] .fp-gift-price span{color:#c2cdde}
		.fpapp[data-theme="dark"] .fp-gift-code{background:#12203a;border-color:#2b3b57;color:#E6ECF5}
		/* --- correctifs sombre : surfaces qui restaient claires/illisibles --- */
		.fpapp[data-theme="dark"] .fpa-subprice,
		.fpapp[data-theme="dark"] .fp-rev .ra,
		.fpapp[data-theme="dark"] .fpa-legal-b b{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fp-shop-info .row,
		.fpapp[data-theme="dark"] .fpa-subperks li,
		.fpapp[data-theme="dark"] .fpa-consent{color:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-chal,
		.fpapp[data-theme="dark"] .fpa-chal.done,
		.fpapp[data-theme="dark"] .fp-shop-act,
		.fpapp[data-theme="dark"] .fpa-btn.danger{background:#15233e;border-color:#28374f}
		.fpapp[data-theme="dark"] .fp-shop-act,
		.fpapp[data-theme="dark"] .fp-shop-act svg{color:#E6ECF5;stroke:#E6ECF5}
		.fpapp[data-theme="dark"] .fpa-btn.danger{color:#ff6a5e;border-color:#5a2a2a}
		.fpapp[data-theme="dark"] .fpa-quick .ic{stroke:#c2cdde}
		.fpapp[data-theme="dark"] .fpa-chal-bar,
		.fpapp[data-theme="dark"] .fp-rev-reply{background:#0f1c33}
		.fpapp[data-theme="dark"] .fp-rev-reply b{color:#e3c983}
		.fpapp[data-theme="dark"] .fp-rev-reply span{color:#c2cdde}
		.fpapp[data-theme="dark"] .fp-stars svg:not(.on),
		.fpapp[data-theme="dark"] .fp-revstars button:not(.on) svg{fill:#3a4a66}
		/* --- Social Pass en sombre --- */
		.fpapp[data-theme="dark"] .fps-compose,
		.fpapp[data-theme="dark"] .fps-post{background:#15233e;border-color:#28374f;box-shadow:none}
		.fpapp[data-theme="dark"] .fps-compose textarea,
		.fpapp[data-theme="dark"] .fps-post-name,
		.fpapp[data-theme="dark"] .fps-c-a{color:#F1F5FB}
		.fpapp[data-theme="dark"] .fps-post-body,
		.fpapp[data-theme="dark"] .fps-c-b{color:#c2cdde}
		.fpapp[data-theme="dark"] .fps-compose-bar,
		.fpapp[data-theme="dark"] .fps-post-actions,
		.fpapp[data-theme="dark"] .fps-comments{border-top-color:#26344f}
		.fpapp[data-theme="dark"] .fps-act{color:#9aa6bd}
		.fpapp[data-theme="dark"] .fps-act:active{background:#1c2b47}
		.fpapp[data-theme="dark"] .fps-like.on{color:#E0281E}
		.fpapp[data-theme="dark"] .fps-post-av,
		.fpapp[data-theme="dark"] .fps-empty{background:#1c2b47;color:#c2cdde}
		.fpapp[data-theme="dark"] .fps-demo{background:linear-gradient(135deg,#2a2415,#241f12);border-color:#4a3d1c;color:#e6d29a}
		.fpapp[data-theme="dark"] .fps-demo svg{stroke:#e0b64d}
		.fpapp[data-theme="dark"] .fps-tag,
		.fpapp[data-theme="dark"] .fps-c-form .fps-c-txt{background:#0f1c33;border-color:#2b3b57;color:#E6ECF5}
		.fpapp[data-theme="dark"] .fps-c-photo{background:#1c2b47;color:#a9b6c9}
		.fpapp[data-theme="dark"] .fps-c-phname{color:#a9b6c9}
		.fpapp[data-theme="dark"] .fps-tool{background:#1c2b47;color:#8ab0f0}
		.fpapp[data-theme="dark"] .fps-tagchip{background:#1c2c48;color:#a9b6c9}
		.fpapp[data-theme="dark"] .fps-end{color:#7E90AE}
		@media (prefers-reduced-motion:reduce){.fpapp *,.fpapp *::before,.fpapp *::after{animation:none!important;transition:none!important}}
		/* PLEIN ÉCRAN sur mobile : sur un téléphone, l app remplit l écran (vrai
		   ressenti PWA) au lieu de rester une carte figée de 760px flottant sur la page.
		   Sur ordinateur, on garde le joli « cadre téléphone » centré. À son meilleur
		   quand l app est la page d accueil (réglage « Ouvrir l app en page d accueil »). */
		@media (max-width:480px){
			.fpapp{max-width:none;width:100%;height:100dvh;border-radius:0;border:0;box-shadow:none}
		}
		
		/* ===== Styles DEMENAGES des blocs inline de l app (tranche 1 du decoupage)
		   - memes regles, servies une fois et mises en cache, au lieu de rester
		   re-imprimees a chaque affichage (un bloc conditionnel ne peut plus
		   oublier son CSS, cf. bug du halo dore trouve a l audit). ===== */
		.fpa-flash{background:linear-gradient(135deg,#eef4ff,#f4effd);border:1px solid #dbe4f5;border-radius:16px;padding:14px 16px;margin:14px 0 4px;font-size:13.5px;color:#1c2b4a;line-height:1.5}
		.fpapp[data-theme="dark"] .fpa-flash{background:#141c30;border-color:#2a3a5c;color:#dfe7f6}
		/* La regle dark ci-dessus (panneau chrono, homonyme .fpa-flash) a la meme
		   specificite que .fpa-perk .dist.fpa-flash et arrive apres : sans la
		   regle ci-dessous, la ligne « Vente flash » des cartes du catalogue
		   deviendrait gris-bleu sur fond sombre au lieu de rester rouge. */
		.fpapp[data-theme="dark"] .fpa-perk .dist.fpa-flash{background:none;border:0;color:#ff9d94}
		.fpa-flash-live{background:rgba(24,160,90,.12);border:1px solid rgba(24,160,90,.3);border-radius:12px;padding:9px 12px;margin-bottom:10px}
		.fpa-flash-row{display:flex;align-items:center;gap:10px}
		.fpa-flash-dots{display:flex;gap:5px}
		.fpa-flash-dots span{width:14px;height:14px;border-radius:50%;background:#d4dced;border:1px solid #b9c6de;transition:.2s}
		.fpa-flash-dots span.on{background:radial-gradient(circle at 35% 30%,#ffd873,#f5a623);border-color:#e09b1a;box-shadow:0 0 8px rgba(245,166,35,.5)}
		.fpapp[data-theme="dark"] .fpa-flash-dots span{background:#26314c;border-color:#3a4a6e}
		.fpa-flash-hint{margin-top:8px;font-size:12.5px;opacity:.8}
		.fpa-flash-empty,.fpa-flash-next{margin-top:8px;font-size:13px}
		/* HERO AVANTAGES premium : jetons or + gros compteur (remplace les pastilles plates). */
		.fpa-jet{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;margin:2px 0}
		.fpa-jet-toks{display:flex;gap:9px}
		.fpa-tok{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#e7ecf5;border:1px solid #d3dcec;transition:transform .2s,background .25s,box-shadow .25s}
		.fpapp[data-theme="dark"] .fpa-tok{background:#26314c;border-color:#3a4a6e}
		.fpa-tok svg{width:18px;height:18px;fill:none;stroke:#9fadc6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
		.fpa-tok.on{background:linear-gradient(140deg,#F8D98E,var(--fp-gold) 45%,var(--fp-gold-deep));border-color:var(--fp-gold-deep);box-shadow:0 7px 15px -6px rgba(233,169,62,.85)}
		.fpa-tok.on svg{stroke:#3a2c07}
		/* En sombre, .fpapp[data-theme] .fpa-tok (0,3,0) gagnerait sur .fpa-tok.on (0,2,0)
		   et eteindrait les jetons ACTIFS : on restaure le doré en specificite superieure. */
		.fpapp[data-theme="dark"] .fpa-tok.on{background:linear-gradient(140deg,#F8D98E,var(--fp-gold) 45%,var(--fp-gold-deep));border-color:var(--fp-gold-deep)}
		.fpapp[data-theme="dark"] .fpa-tok.on svg{stroke:#3a2c07}
		.fpa-jet-count{font-size:13px;color:#55617a}
		.fpapp[data-theme="dark"] .fpa-jet-count{color:#b9c6de}
		.fpa-jet-count b{font-family:"Bricolage Grotesque","Inter",sans-serif;font-size:27px;color:#1c2b4a;letter-spacing:-.02em;margin-right:3px;vertical-align:-3px}
		.fpapp[data-theme="dark"] .fpa-jet-count b{color:#fff}
		/* Explication repliée (« Comment ça marche ») pour désencombrer sous le héros. */
		.fpa-how-fold{margin-top:12px;border-top:1px solid rgba(140,160,190,.18)}
		.fpa-how-fold summary{list-style:none;cursor:pointer;min-height:44px;font-size:12px;font-weight:700;color:#4F6180;padding:8px 0 4px;display:flex;align-items:center;letter-spacing:.01em}
		.fpa-how-fold summary::-webkit-details-marker{display:none}
		.fpa-how-fold summary::after{content:"";width:7px;height:7px;border-right:2px solid #9fadc6;border-bottom:2px solid #9fadc6;transform:rotate(45deg);transition:transform .2s;margin-left:auto}
		.fpa-how-fold[open] summary::after{transform:rotate(-135deg)}
		.fpapp[data-theme="dark"] .fpa-how-fold summary{color:#9fb0cc}
		.fpa-how-fold .fpa-principe{margin-top:4px}
		.fpa-flash-card{margin-top:8px;font-size:12px;opacity:.75;line-height:1.5}
		.fpa-flash .fpa-btn.primary{display:block;text-align:center;margin-top:10px;text-decoration:none}
		.fpa-flash-bonus{color:#b06a00}.fpapp[data-theme="dark"] .fpa-flash-bonus{color:#ffca66}
		.fp-flash-cta{background:linear-gradient(135deg,#1B4FA3,#3b2f8f);color:#fff;font-weight:800}
		.fpa-flash-cardask{margin-top:12px;padding:13px 14px;background:#fafbfd;border:1px solid #ebeef3;border-radius:13px}
		.fpapp[data-theme="dark"] .fpa-flash-cardask{background:#0f1626;border-color:#2a3a5c}
		.fpa-flash-cardask-t{font-size:14px;margin-bottom:5px}
		.fpa-flash-cardask-b{font-size:12.5px;opacity:.85;line-height:1.5}
		.fpa-principe{margin-top:10px;display:flex;flex-direction:column;gap:7px}
		.fpa-pr{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;opacity:.92}
		.fpa-pr .fpic{margin-top:1px}
		.fpapp[data-theme="dark"] .fpa-pr-n{background:#9CC0FF;color:#0C1726}
		.fpa-bday{background:linear-gradient(135deg,#fbe7f0,#f3e8fb);border:1px solid #eccfe0;border-radius:14px;padding:12px 14px;margin:14px 0 4px;font-size:13.5px;color:#8a3d6b;line-height:1.5}.fpapp[data-theme="dark"] .fpa-bday{background:#2a1626;border-color:#4a2a40;color:#e8b6d4}
		.fpa-mystats{display:flex;gap:8px;margin:14px 0 4px}
		.fpa-ms{flex:1;background:#fff;border:1px solid #e4e9f2;border-radius:14px;padding:11px 8px;text-align:center}
		.fpapp[data-theme="dark"] .fpa-ms{background:#15233e;border-color:#26314c}
		.fpa-ms-n{font-size:19px;font-weight:800;color:#16263F}
		.fpapp[data-theme="dark"] .fpa-ms-n{color:#c9d6ee}
		.fpa-ms-fire .fpa-ms-n{color:var(--fp-gold-deep)}
		.fpapp[data-theme="dark"] .fpa-ms-fire .fpa-ms-n{color:var(--fp-gold)}
		.fpa-ms-l{font-size:11px;opacity:.7;margin-top:1px}
		.fpa-bask{margin:0 0 6px}
		
		.fpa-bask-c-main{flex:1;min-width:0}
		.fpa-bask-c{display:flex;gap:11px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #DCE0DB;border-radius:16px;padding:13px 14px;margin-bottom:10px;box-shadow:0 10px 24px -16px rgba(16,30,48,.5)}
		.fpapp[data-theme="dark"] .fpa-bask-c{background:#15233e;border-color:#26314c}
		.fpa-bask-c-t{font-weight:700}
		.fpa-bask-c-m{font-size:12.5px;opacity:.75}
		.fpa-bask-c-w{font-size:12px;opacity:.7;margin-top:2px}
		.fpa-bask-c-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
		.fpa-bask-price{font-family:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:800;color:#16263F;line-height:1}
		.fpapp[data-theme="dark"] .fpa-bask-price{color:#e7edf8}
		.fpa-bask-left{font-size:11px;font-weight:800;color:#8a6d1a;background:linear-gradient(150deg,#FDF3DC,#F8E6BC);border:1px solid #EBD59B;border-radius:8px;padding:3px 8px}
		.fpapp[data-theme="dark"] .fpa-bask-left{color:var(--fp-gold);background:#2a2411;border-color:#4d3f18}
		.fpa-btn.small{padding:10px 15px;font-size:13px;border-radius:10px;min-height:44px}
		.fpa-bask-mine{background:#f3f7fd;border-radius:12px;padding:9px 11px;margin-bottom:11px}
		.fpapp[data-theme="dark"] .fpa-bask-mine{background:#101828}
		.fpa-bask-mine-t{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;opacity:.7;margin-bottom:6px}
		.fpa-bask-r{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0}
		.fpa-bask-code{font-size:12.5px;margin-top:3px}
		.fpa-bask-cancel{background:none;border:1px solid #d9dfe8;border-radius:9px;padding:5px 10px;font-size:12px;cursor:pointer;color:inherit;flex-shrink:0}
		.fpa-disco{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
		.fpa-disco-t{font-weight:800;font-size:14.5px}
		.fpa-disco-b{font-size:12.5px;opacity:.85;margin:3px 0 9px}
		.fpa-disco-out{display:flex;gap:6px;margin-top:9px}
		.fpa-disco-out input{flex:1;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:inherit;font-size:12px}
		.fpa-disco-out button{padding:8px 12px;border-radius:8px;border:0;cursor:pointer;font-weight:700}
		/* Le meme conteneur .fpa-disco-out sert aussi le lien du defi explorateur, rendu dans .fp-explo (carte BLANCHE en clair) : sans cet override le champ serait blanc-sur-blanc. En sombre, le champ garde le style de champ sombre (input[type=text]). */
		.fp-explo .fpa-disco-out input{border-color:#DCE0DB;background:#fff;color:#16263F}
		.fpa-support{margin-top:4px}
		.fpa-support-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
		.fpa-support-empty{font-size:13.5px;opacity:.75;margin:2px 0 0}
		.fpa-msg{max-width:88%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45}
		.fpa-msg-b{white-space:pre-wrap;word-break:break-word}
		.fpa-msg-t{font-size:11px;opacity:.6;margin-top:4px}
		.fpa-msg.from-me{align-self:flex-end;background:#1B4FA3;color:#fff;border-bottom-right-radius:5px}
		.fpa-msg.from-me .fpa-msg-t{color:#dbe6f7}
		.fpa-msg.from-admin{align-self:flex-start;background:#eef2f8;color:#16263F;border-bottom-left-radius:5px}
		.fpapp[data-theme="dark"] .fpa-msg.from-admin{background:#1c2740;color:#e8eef7}
		.fpa-sup-badge{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:#e5484d;color:#fff;border-radius:9px;font-size:11px;font-weight:800;padding:0 5px;vertical-align:middle}
		.fpa-support-form{display:flex;flex-direction:column;gap:7px}
		.fpa-lbl{font-size:12.5px;font-weight:700;opacity:.8}
		.fps-stories{gap:12px;padding-top:6px}
		.fps-story{flex:0 0 auto;width:78px;text-align:center}
		.fps-story-ring{width:60px;height:60px;margin:0 auto 5px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#1B4FA3,#2f7ad1);box-shadow:0 0 0 3px #fff,0 0 0 5px #e0b64d}
		.fpapp[data-theme="dark"] .fps-story-ring{box-shadow:0 0 0 3px #0f1626,0 0 0 5px #e0b64d}
		.fps-story-nm{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
		.fps-story-tip{font-size:10.5px;opacity:.7;line-height:1.25;max-height:26px;overflow:hidden;margin-top:2px}
		.fps-trends{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
		.fps-trends-l{font-size:12px;font-weight:700;opacity:.65}
		.fps-trend{border:1px solid #d7e0ee;background:#f4f8fd;color:#1B4FA3;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700}
		.fpapp[data-theme="dark"] .fps-trend{background:#16233c;border-color:#28385a;color:#8fb4ef}
		/* Sélecteur de réactions riches */
		.fps-reactwrap{position:relative}
		.fps-react-emo{font-size:18px;line-height:1}
		/* [hidden] doit gagner sur les display:flex ci-dessous : sans ces regles, la
		   barre de reactions et la zone commentaires restaient VISIBLES en permanence
		   (une regle auteur bat toujours le [hidden] du navigateur). */
		.fps-reactbar[hidden],.fps-comments[hidden],.fps-preview[hidden],.fps-replywrap[hidden],.fpa-disco-out[hidden],.fpa-bell-n[hidden],.fpa-avbtn[hidden]{display:none}
		.fps-reactbar{position:absolute;bottom:calc(100% + 6px);left:0;display:flex;gap:2px;background:#fff;border:1px solid #e4e9f2;border-radius:999px;padding:4px 6px;box-shadow:0 10px 30px -10px rgba(16,30,48,.4);z-index:30}
		.fpapp[data-theme="dark"] .fps-reactbar{background:#1a2336;border-color:#2a3550}
		.fps-reactbar button{background:none;border:0;font-size:22px;line-height:1;padding:3px;cursor:pointer;transition:transform .12s}
		.fps-reactbar button:hover,.fps-reactbar button:focus-visible{transform:scale(1.3)}
		/* Carnet de tampons (fiche commerce) */
		/* LA SÉRIE chez ce commerce : une flamme et une phrase, rien de plus. Elle vit
		   sous le carnet de tampons, dans le meme or, parce qu elle raconte la meme
		   chose : la fidelite. Discrete par construction, elle n apparait qu a partir
		   de 2 semaines (le serveur envoie une chaine vide en dessous). */
		.fp-streak{display:flex;align-items:center;gap:7px;margin:8px 0 0;font-size:12.5px;font-weight:800;color:#8A6714}
		.fp-streak svg{width:16px;height:16px;flex:none;fill:var(--fp-gold);stroke:none}
		.fpapp[data-theme="dark"] .fp-streak{color:#E3C983}
		.fp-stampcard{background:#fbf6ea;border:1px solid #f0e2bf;border-radius:12px;padding:10px 13px;margin:10px 0}
		.fpapp[data-theme="dark"] .fp-stampcard{background:#241f12;border-color:#4a3f22}
		.fp-stamp-t{font-size:13px;color:#8a6d1f}.fpapp[data-theme="dark"] .fp-stamp-t{color:#d8b968}
		.fp-stamp-win{font-size:13.5px;font-weight:700;color:#b6892a}
		.fp-stamp-row{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
		.fp-stamp{width:16px;height:16px;border-radius:50%;border:2px solid var(--fp-gold);background:transparent}
		.fp-stamp.on{background:#e0b64d;border-color:#e0b64d}
		/* Squelettes de chargement (fil social, commentaires, carte) */
		.fp-map-skel{width:100%;height:100%}
		.fps-skel{background:#fff;border:1px solid #eef1f6;border-radius:16px;padding:14px;margin-bottom:12px}
		.fpapp[data-theme="dark"] .fps-skel{background:#15233e;border-color:#26314c}
		.fps-skel-head{display:flex;gap:10px;align-items:center}
		.fps-skel-av{width:40px;height:40px;border-radius:50%}
		.fps-skel-l{height:11px;border-radius:6px}
		.sk{background:linear-gradient(100deg,#e9edf3 30%,#f5f7fa 50%,#e9edf3 70%);background-size:200% 100%;animation:fps-shim 1.2s ease-in-out infinite}
		.fpapp[data-theme="dark"] .sk{background:linear-gradient(100deg,#1e2740 30%,#28324e 50%,#1e2740 70%);background-size:200% 100%}
		@keyframes fps-shim{0%{background-position:200% 0}100%{background-position:-200% 0}}
		@media (prefers-reduced-motion: reduce){.sk{animation:none}}
		.fp-gift-sched{margin:14px 0 4px;text-align:left;border:1px solid #e4e9f2;border-radius:12px;padding:4px 12px}
		.fp-gift-sched summary{cursor:pointer;font-weight:700;font-size:14px;padding:8px 0}
		.fp-gift-sched-b{padding:4px 0 12px;display:flex;flex-direction:column;gap:8px}
		.fp-gift-sched-b p{font-size:12.5px;opacity:.75;margin:0}
		.fp-gift-sched-b input,.fp-gift-sched-b textarea{padding:9px;border:1px solid #ccd3df;border-radius:9px;font:inherit;width:100%}
		.fp-gift-sched-msg{font-size:12.5px}

		