/* UNI-NET — bloc paiement : barre, toast, tiroir, caisse. Palette du design system. */
:root{--vert:#2E7D32;--vert-vif:#43A047;--vert-pale:#E8F5E9;--noir:#0D1117;--gris-fonce:#1C2128;--gris:#6B7280;--gris-clair:#F4F6F4;--bordure:#E3E7E3}
.unv-btn{display:inline-block;font:600 .96rem "DM Sans",sans-serif;border-radius:10px;padding:13px 22px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;text-align:center}
.unv-btn--p{background:var(--vert);color:#fff}
.unv-btn--l{background:#fff;color:var(--noir);border-color:var(--bordure)}
#unv-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,16px);background:var(--gris-fonce);color:#fff;border-radius:12px;padding:13px 20px;font:600 .93rem "DM Sans",sans-serif;box-shadow:0 14px 34px rgba(13,17,23,.25);opacity:0;pointer-events:none;transition:all .25s ease;z-index:960;max-width:92vw}
#unv-toast.est-visible{opacity:1;transform:translate(-50%,0)}
#unv-toast.est-erreur{background:#7c2d12}
#unv-barre{position:fixed;left:14px;right:14px;bottom:14px;z-index:940}
.unv-barre__in{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--noir);color:#fff;border-radius:14px;padding:13px 18px;box-shadow:0 18px 40px rgba(13,17,23,.3)}
#unv-barre small{display:block;color:#9aa4ae;font:400 .8rem "DM Sans",sans-serif}
.unv-barre__tot{font:700 1.15rem "DM Sans",sans-serif}
#unv-choix{position:fixed;inset:0;background:rgba(13,17,23,.5);z-index:970;display:grid;place-items:center;padding:20px}
.unv-choix__boite{background:#fff;border-radius:16px;padding:28px;max-width:460px;width:100%}
.unv-choix__boite p{font:600 1.05rem "DM Sans",sans-serif;margin:0 0 18px}
.unv-choix__btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.unv-choix__btns{grid-template-columns:1fr}}
#unv-tiroir{position:fixed;inset:0;z-index:950;pointer-events:none}
#unv-tiroir .unv-tiroir__fond{position:absolute;inset:0;background:rgba(13,17,23,.45);opacity:0;transition:opacity .25s}
#unv-tiroir .unv-tiroir__pan{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);background:#fff;padding:24px 22px 28px;transform:translateX(102%);transition:transform .3s cubic-bezier(.16,1,.3,1);overflow:auto;font-family:"DM Sans",sans-serif}
#unv-tiroir.est-ouvert{pointer-events:auto}
#unv-tiroir.est-ouvert .unv-tiroir__fond{opacity:1}
#unv-tiroir.est-ouvert .unv-tiroir__pan{transform:none}
.unv-tiroir__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.unv-tiroir__tete h3{font:400 1.5rem "DM Serif Display",serif;margin:0}
.unv-x{font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--gris)}
.unv-note{color:var(--gris);font-size:.88rem;line-height:1.5}
.unv-ligne{border:1px solid var(--bordure);border-radius:12px;padding:14px 16px;margin:12px 0}
.unv-ligne__h{display:flex;justify-content:space-between;gap:12px;font-size:.98rem}
.unv-ligne__s{color:var(--gris);font-size:.85rem;margin-top:3px}
.unv-ligne__p{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;align-items:center}
.unv-pille{font:600 .8rem "DM Sans",sans-serif;border:1.5px solid var(--bordure);background:#fff;border-radius:20px;padding:6px 11px;cursor:pointer}
.unv-pille.on{background:var(--vert);border-color:var(--vert);color:#fff}
.unv-suppr{margin-left:auto;color:var(--gris);font-size:.83rem;background:none;border:none;cursor:pointer;text-decoration:underline}
.unv-totaux{border-top:2px solid var(--noir);margin-top:16px;padding-top:12px}
.unv-totaux .r{display:flex;justify-content:space-between;padding:2px 0;font-size:.95rem}
.unv-totaux .verte{color:var(--vert);font-weight:600}
.unv-totaux .gd{font:700 1.25rem "DM Sans",sans-serif;padding-top:6px}
.unv-caisse{display:block;margin-top:16px}
/* ---- page caisse ---- */
.cx-grille{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
@media(max-width:820px){.cx-grille{grid-template-columns:1fr}}
.cx-champ{margin-bottom:13px}
.cx-champ span{display:block;font:600 .87rem "DM Sans",sans-serif;margin-bottom:5px}
.cx-champ input{width:100%;font:400 1rem "DM Sans",sans-serif;padding:12px 13px;border:1.5px solid var(--bordure);border-radius:9px}
.cx-enc{border:1px solid var(--bordure);border-radius:14px;padding:20px;background:var(--gris-clair);position:sticky;top:20px}
.cx-enc .r{display:flex;justify-content:space-between;padding:3px 0;font-size:.94rem;gap:10px}
.cx-enc .gd{font-weight:700;border-top:1px solid var(--bordure);margin-top:8px;padding-top:8px}
#cx-paiement{margin:16px 0}
.cx-fiducie{display:flex;flex-wrap:wrap;gap:14px;color:var(--gris);font-size:.82rem;margin-top:12px}
.cx-err{display:none;background:#fef2f2;color:#7c2d12;border-radius:10px;padding:12px 14px;font-size:.9rem;margin:12px 0}
.cx-err.est-visible{display:block}

.cx-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:6px}
.cx-date{font:600 .82rem "DM Sans",sans-serif;border:1.5px solid var(--bordure);background:#fff;border-radius:10px;padding:9px 6px;cursor:pointer;text-align:center}
.cx-date small{display:block;font-weight:500;color:var(--gris);font-size:.7rem;margin-top:3px}
.cx-date.on{border-color:var(--vert);background:var(--vert-pale)}
.cx-date.est-ferme{opacity:.45;cursor:not-allowed}

/* ---- rétroaction de sélection (fiches forfaits) ---- */
.tier{transition:box-shadow .25s ease,border-color .25s ease}
.tier.unv-choisi{border-color:var(--vert)!important;box-shadow:0 0 0 2px var(--vert) inset,0 10px 26px rgba(46,125,50,.14);position:relative}
.tier.unv-choisi::after{content:"✓ Dans votre visite";position:absolute;top:10px;right:10px;font:700 .72rem "DM Sans",sans-serif;letter-spacing:.04em;color:#fff;background:var(--vert);border-radius:20px;padding:4px 10px}
@keyframes unv-pulse{0%{transform:scale(1)}35%{transform:scale(1.015)}100%{transform:scale(1)}}
.unv-pulse{animation:unv-pulse .35s cubic-bezier(.16,1,.3,1)}
.unv-ajout{transition:transform .15s ease}
.unv-ajout:active{transform:scale(.97)}
#unv-extras{border:1.5px dashed var(--bordure);border-radius:14px;padding:18px;margin:18px 0}
.unv-extras__t{font:700 .85rem "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--vert);margin-bottom:12px}
.unv-extras__g{display:flex;flex-wrap:wrap;gap:10px}
.unv-extra{font:600 .9rem "DM Sans",sans-serif;border:1.5px solid var(--bordure);background:#fff;border-radius:10px;padding:11px 16px;cursor:pointer;transition:border-color .2s,transform .15s}
.unv-extra:hover{border-color:var(--vert)}
.unv-extra:active{transform:scale(.97)}
.unv-extra em{font-style:normal;color:var(--vert);font-weight:700}
@media (prefers-reduced-motion:reduce){.unv-pulse{animation:none}.unv-extra,.unv-ajout{transition:none}}
/* ---- bandeau de consentement (Loi 25) ---- */
#un-consent{position:fixed;left:14px;right:14px;bottom:14px;z-index:990;display:flex;justify-content:center}
.unc__boite{max-width:640px;width:100%;background:#0E2418;color:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 20px 50px rgba(13,17,23,.4);font-family:"DM Sans",sans-serif}
.unc__boite h3{font:400 1.25rem "DM Serif Display",serif;margin:0 0 8px}
.unc__boite p{font-size:.9rem;line-height:1.55;color:#cfd9d1;margin:0 0 16px}
.unc__boite a{color:#7ED087}
.unc__btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.unc__btn{font:700 .95rem "DM Sans",sans-serif;border-radius:10px;padding:13px;cursor:pointer;border:1.5px solid transparent}
.unc__btn--ok{background:#43A047;color:#fff}
.unc__btn--refus{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
@media(max-width:520px){.unc__btns{grid-template-columns:1fr}}
