/* ══ LE HABIT UI3 DES PAGES PUBLIQUES (15 oct. 2026) — ce que les CLIENTS des commerces ouvrent ═══════════════
   « il y a des sections qui n'ont pas eu cette refonte… toutes les pages que les clients des commerces ouvrent »
   (le propriétaire). Le modèle est l'écran de connexion déjà approuvé (dashboard.html, « Connexion et création de
   compte ») : noir zinc au lieu du bleu marine, plus de lueurs bleues, Geist, carte à bordure fine, accent doré,
   bouton DORÉ. UNE feuille pour toutes les pages publiques : on ne recopie pas ces jetons dans chaque fichier.
   RELATION AVEC vitrine.css. Les pages publiques portent déjà le socle « Noir joaillier » de septembre (vitrine.css : or
   profond, titres Fraunces) ; l'UI3 est la génération d'après (noir zinc, Geist) : cette feuille se charge donc APRÈS
   vitrine.css, qui n'est pas touché (la vitrine et ses pages gardent leur habit).
   MODE D'EMPLOI. La page ajoute `<link rel="stylesheet" href="ui3-public.css">` APRÈS son propre <style>, et
   `class="ui3p"` sur <html>. Tout est sous `html.ui3p` : une page qui ne la charge pas ne change pas d'un pixel.
   Les composants portent le préfixe `.u3-` ; une page peut aussi garder ses propres classes et ne reprendre que
   les jetons (`--u3-*`). Aucune lueur bleue, aucun dégradé doré sur les cartes, aucun flou d'arrière-plan. ── */
@font-face{font-family:'Geist UI3';font-weight:100 900;font-style:normal;font-display:swap;src:url('media/polices/geist-variable.woff2') format('woff2')}
html.ui3p{
  --u3-bg:#09090b;--u3-carte:#141416;--u3-carte2:#0f0f11;--u3-champ:#09090b;--u3-filet:rgba(255,255,255,.08);--u3-filet2:rgba(255,255,255,.14);
  --u3-texte:#fafafa;--u3-doux:#d4d4d8;--u3-muet:#8b8b94;--u3-sourd:#52525b;
  --u3-or:#d9a94c;--u3-or2:#e0b763;--u3-vert:#4ade80;--u3-rouge:#f87171;--u3-orange:#fb923c;
  --u3-police:'Geist UI3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color-scheme:dark}
html.ui3p body{background:radial-gradient(70% 45% at 50% -8%,rgba(217,169,76,.07),transparent 70%),var(--u3-bg);color:var(--u3-texte);font-family:var(--u3-police);-webkit-font-smoothing:antialiased}
html.ui3p .u3-carte{background:linear-gradient(180deg,var(--u3-carte),var(--u3-carte2));border:1px solid var(--u3-filet);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 40px 90px -30px rgba(0,0,0,.95);position:relative}
html.ui3p .u3-carte::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(217,169,76,.45),transparent)}
html.ui3p .u3-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--u3-or)}
html.ui3p .u3-titre{font:650 22px/1.2 var(--u3-police);letter-spacing:-.3px;color:var(--u3-texte);margin:0 0 6px}
html.ui3p .u3-sous{font-size:14px;line-height:1.55;color:var(--u3-muet)}
html.ui3p .u3-champ label,html.ui3p label.u3-l{display:block;font-size:13px;font-weight:550;letter-spacing:0;text-transform:none;color:#a1a1aa;margin-bottom:7px}
html.ui3p .u3-champ input,html.ui3p .u3-champ select,html.ui3p .u3-champ textarea,html.ui3p input.u3-in,html.ui3p select.u3-in,html.ui3p textarea.u3-in{width:100%;background:var(--u3-champ);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:0 14px;height:50px;color:var(--u3-texte);font:16px/1.2 var(--u3-police);box-shadow:none;transition:border-color .15s,box-shadow .15s}
html.ui3p .u3-champ textarea,html.ui3p textarea.u3-in{height:auto;min-height:110px;padding:13px 14px;line-height:1.5}
html.ui3p .u3-champ input::placeholder,html.ui3p .u3-champ textarea::placeholder{color:var(--u3-sourd)}
html.ui3p .u3-champ input:hover,html.ui3p .u3-champ select:hover,html.ui3p .u3-champ textarea:hover{border-color:var(--u3-filet2)}
html.ui3p .u3-champ input:focus,html.ui3p .u3-champ select:focus,html.ui3p .u3-champ textarea:focus,html.ui3p .u3-in:focus{outline:none;border-color:rgba(224,183,99,.65);box-shadow:0 0 0 3px rgba(224,183,99,.14)}
html.ui3p .u3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;border:1px solid var(--u3-filet2);background:#18181b;color:var(--u3-texte);font:600 15px/1 var(--u3-police);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
html.ui3p .u3-btn:hover{background:#202024;border-color:rgba(255,255,255,.22)}
html.ui3p .u3-btn:active{transform:scale(.985)}
html.ui3p .u3-btn.or{background:linear-gradient(180deg,#e6bf70,#d9a94c);border-color:rgba(255,255,255,.18);color:#1a1405;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 24px -12px rgba(217,169,76,.6)}
html.ui3p .u3-btn.or:hover{background:linear-gradient(180deg,#ecc77d,#dfb257)}
html.ui3p .u3-btn.bloc{width:100%}
html.ui3p .u3-btn[disabled],html.ui3p .u3-btn.off{opacity:.5;cursor:not-allowed}
html.ui3p .u3-btn:focus-visible,html.ui3p .u3-in:focus-visible,html.ui3p .u3-lien:focus-visible{outline:2px solid rgba(224,183,99,.7);outline-offset:2px}
html.ui3p .u3-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:650;border:1px solid var(--u3-filet);background:rgba(255,255,255,.04);color:var(--u3-doux)}
html.ui3p .u3-badge.or{color:var(--u3-or2);border-color:rgba(217,169,76,.28);background:rgba(217,169,76,.08)}
html.ui3p .u3-badge.ok{color:var(--u3-vert);border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.07)}
html.ui3p .u3-badge.ko{color:var(--u3-rouge);border-color:rgba(248,113,113,.25);background:rgba(248,113,113,.07)}
html.ui3p .u3-ligne{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;border:1px solid var(--u3-filet);background:rgba(255,255,255,.02);color:var(--u3-doux);font-size:14px}
html.ui3p .u3-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--u3-filet);background:rgba(255,255,255,.04);color:var(--u3-or2);flex:none}
html.ui3p .u3-ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.ui3p .u3-note{padding:12px 14px;border-radius:12px;border:1px solid rgba(217,169,76,.22);background:rgba(217,169,76,.06);color:var(--u3-doux);font-size:13.5px;line-height:1.55}
html.ui3p .u3-erreur{padding:12px 14px;border-radius:12px;border:1px solid rgba(248,113,113,.28);background:rgba(248,113,113,.07);color:#fecaca;font-size:14px}
html.ui3p .u3-lien{color:var(--u3-or2);text-decoration:none}
html.ui3p .u3-lien:hover{text-decoration:underline}
html.ui3p .u3-langue{display:inline-flex;padding:3px;gap:3px;border-radius:11px;background:var(--u3-champ);border:1px solid var(--u3-filet)}
html.ui3p .u3-langue button{background:transparent;border:0;color:var(--u3-muet);font:600 13px/1 var(--u3-police);padding:8px 12px;border-radius:8px;cursor:pointer}
html.ui3p .u3-langue button.on,html.ui3p .u3-langue button.active{background:#1f1f23;color:var(--u3-texte);box-shadow:0 1px 0 rgba(255,255,255,.05) inset}
@media (prefers-reduced-motion:reduce){html.ui3p *{transition:none!important;animation:none!important}}
