/* ═══════════════════════════════════════════════════════════════════════
   ManageYourGuide — thème « Ardoise & Indigo »
   Chargé APRÈS le <style> de chaque page : il redéfinit les couleurs
   existantes (--or, --brun…) et affine tous les composants.
   Pages : admin (paris-tours-manager), guide (guide-portal), login,
           superadmin (super-admin), response (tour-response).
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* Palette */
  --ui-bg: #F8FAFC; --ui-surface: #FFFFFF; --ui-subtle: #F1F5F9;
  --ui-text: #0F172A; --ui-text-2: #334155; --ui-muted: #64748B; --ui-faint: #94A3B8;
  --ui-border: #E2E8F0; --ui-border-2: #CBD5E1;
  --ui-indigo: #4F46E5; --ui-indigo-h: #4338CA; --ui-indigo-50: #EEF2FF; --ui-indigo-100: #E0E7FF;
  --ui-ring: 0 0 0 3px rgba(79,70,229,.18);
  --ui-ease: cubic-bezier(.2,.7,.2,1); --ui-ink: #0F172A; --ui-glass: rgba(255,255,255,.86);
  --ui-sh-sm: 0 1px 2px rgba(15,23,42,.05);
  --ui-sh: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --ui-sh-lg: 0 16px 40px -12px rgba(15,23,42,.22), 0 4px 10px -4px rgba(15,23,42,.08);

  /* Anciennes variables, redirigées vers la nouvelle palette */
  --noir: #0F172A; --brun: #0F172A; --navy: #0F172A;
  --or: #4F46E5; --gold: #4F46E5; --or-clair: #818CF8; --gold-l: #818CF8; --or-pale: #EEF2FF;
  --creme: #F8FAFC; --bg: #F8FAFC; --bg2: #E2E8F0;
  --beige: #E2E8F0; --beige-fonce: #CBD5E1; --border: #E2E8F0;
  --vert: #16A34A; --vert-clair: #DCFCE7;
  --rouge: #DC2626; --rouge-clair: #FEE2E2;
  --bleu: #2563EB; --bleu-clair: #DBEAFE;
  --orange: #D97706; --orange-clair: #FEF3C7;
  --gris: #64748B; --gris-clair: #F1F5F9; --blanc: #FFFFFF;
  --radius: 10px;
  --ombre: 0 1px 2px rgba(15,23,42,.05);
  --ombre-forte: 0 16px 40px -12px rgba(15,23,42,.22), 0 4px 10px -4px rgba(15,23,42,.08);
}

/* ── Base ─────────────────────────────────────────────────────────────── */
html { -webkit-text-size-adjust: 100%; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif !important; background: var(--ui-bg); color: var(--ui-text);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: 'cv11', 'ss01'; }
::selection { background: var(--ui-indigo-100); color: var(--ui-text); }
* { scrollbar-width: thin; scrollbar-color: #CBD5E1 transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px; border: 3px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background-color: #94A3B8; }
button, input, select, textarea { font-family: inherit; }

/* Boutons (communs) */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 14px !important; border-radius: 9px !important;
  font-size: 13px !important; font-weight: 600 !important; letter-spacing: -.005em; border: 1px solid transparent;
  transition: background .18s var(--ui-ease), border-color .18s var(--ui-ease), color .18s var(--ui-ease), box-shadow .18s var(--ui-ease), transform .12s var(--ui-ease) !important; }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: none; box-shadow: var(--ui-ring); }
.btn-primary { background: var(--ui-indigo) !important; color: #fff !important; border-color: var(--ui-indigo) !important; box-shadow: 0 1px 2px rgba(79,70,229,.25), inset 0 1px 0 rgba(255,255,255,.12); }
.btn-primary:hover { background: var(--ui-indigo-h) !important; border-color: var(--ui-indigo-h) !important; }
.btn-secondary { background: var(--ui-surface) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-border) !important; box-shadow: var(--ui-sh-sm); }
.btn-secondary:hover { background: var(--ui-bg) !important; border-color: var(--ui-border-2) !important; }
.btn-ghost { background: transparent !important; color: var(--ui-text-2) !important; border: 1px solid var(--ui-border) !important; }
.btn-ghost:hover { background: var(--ui-subtle) !important; color: var(--ui-text) !important; }
.btn-danger { background: #DC2626 !important; color: #fff !important; }
.btn-danger:hover { background: #B91C1C !important; }
.btn-vert { background: #16A34A !important; color: #fff !important; }
.btn-vert:hover { background: #15803D !important; }
.btn-sm { min-height: 30px; padding: 0 11px !important; font-size: 12px !important; border-radius: 8px !important; }
.btn-xs { min-height: 24px; padding: 0 8px !important; font-size: 11px !important; border-radius: 6px !important; }
.btn:disabled { opacity: .55; cursor: not-allowed; }

/* Champs de formulaire */
input:not([type]), input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel], input[type=date], input[type=time], input[type=month], input[type=search], select, textarea {
  border: 1px solid var(--ui-border) !important; border-radius: 9px !important; background: var(--ui-surface) !important; color: var(--ui-text) !important;
  font-size: 13.5px; transition: border-color .18s var(--ui-ease), box-shadow .18s var(--ui-ease) !important; }
input:hover:not(:focus), select:hover:not(:focus), textarea:hover:not(:focus) { border-color: var(--ui-border-2) !important; }
input:focus, select:focus, textarea:focus { outline: none !important; border-color: var(--ui-indigo) !important; box-shadow: var(--ui-ring) !important; }
input::placeholder, textarea::placeholder { color: var(--ui-faint); }
label { color: var(--ui-text-2); font-weight: 600; letter-spacing: -.005em; }
input[type=checkbox], input[type=radio] { accent-color: var(--ui-indigo); }

/* Cartes */
.card { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: 12px !important; box-shadow: var(--ui-sh-sm) !important; }
.card-header { padding: 14px 20px !important; border-bottom: 1px solid var(--ui-border) !important; }
.card-title { font-size: 14.5px !important; font-weight: 650 !important; letter-spacing: -.015em; color: var(--ui-text) !important; }

/* Statistiques */
.stat-card { background: var(--ui-surface) !important; border: 1px solid var(--ui-border) !important; border-top: 1px solid var(--ui-border) !important;
  border-left: 1px solid var(--ui-border) !important; border-radius: 12px !important; box-shadow: var(--ui-sh-sm) !important;
  transition: border-color .2s var(--ui-ease), box-shadow .2s var(--ui-ease); }
.stat-card:hover { border-color: var(--ui-border-2) !important; box-shadow: var(--ui-sh) !important; }
.stat-label, .stat-lbl { font-size: 12.5px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ui-muted) !important; }
.stat-value, .stat-num { font-size: 28px !important; font-weight: 700 !important; letter-spacing: -.035em !important; }
.stat-sub { color: var(--ui-faint) !important; font-size: 12px !important; }

/* Éléments cliquables (cartes-raccourcis, lignes) */
.stat-link { cursor: pointer; position: relative; transition: transform .18s var(--ui-ease), box-shadow .18s var(--ui-ease), border-color .18s var(--ui-ease) !important; }
.stat-link:hover { transform: translateY(-2px); box-shadow: var(--ui-sh) !important; }
.stat-link:active { transform: translateY(0); }
.stat-card.stat-link::after { content: ''; position: absolute; top: 18px; right: 16px; width: 16px; height: 16px; opacity: 0; transform: translateX(-4px);
  transition: opacity .18s var(--ui-ease), transform .18s var(--ui-ease);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366F1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat; }
.stat-card.stat-link:hover::after { opacity: 1; transform: none; }
.stat-card.stat-link:hover { border-color: var(--ui-indigo-100) !important; }
tr.row-link { cursor: pointer; }
.flow-info[onclick]:hover .flow-title { color: var(--ui-indigo); }

/* Tableaux */
table { border-collapse: separate; border-spacing: 0; }
th { background: var(--ui-bg) !important; color: var(--ui-muted) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .04em !important;
  border-bottom: 1px solid var(--ui-border) !important; }
td { border-bottom: 1px solid var(--ui-subtle) !important; color: var(--ui-text-2); }
tr:hover td { background: #FAFBFD !important; }

/* Étiquettes de statut */
.tag { border-radius: 6px !important; font-size: 11.5px !important; font-weight: 600 !important; padding: 2px 8px !important; }
.tag-or { background: var(--ui-indigo-50) !important; color: var(--ui-indigo) !important; }
.tag-vert { background: #F0FDF4 !important; color: #15803D !important; }
.tag-bleu { background: #EFF6FF !important; color: #1D4ED8 !important; }
.tag-rouge { background: #FEF2F2 !important; color: #B91C1C !important; }
.tag-gris { background: var(--ui-subtle) !important; color: var(--ui-muted) !important; }

/* Modales */
.modal-bg { background: rgba(15,23,42,.42) !important; backdrop-filter: blur(4px) !important; }
.modal-bg.open { animation: uiFade .18s var(--ui-ease); }
.modal { border-radius: 16px !important; border: 1px solid var(--ui-border); box-shadow: var(--ui-sh-lg) !important; }
.modal-bg.open .modal { animation: uiPop .22s var(--ui-ease); }
.modal-header { padding: 20px 24px 14px !important; }
.modal-title { font-size: 17px !important; font-weight: 700 !important; letter-spacing: -.02em; }
.modal-close { width: 32px; height: 32px; border-radius: 8px !important; font-size: 18px !important; color: var(--ui-muted) !important; transition: background .15s; }
.modal-close:hover { background: var(--ui-subtle) !important; color: var(--ui-text) !important; }
.modal-footer { background: var(--ui-bg); border-radius: 0 0 16px 16px; }

/* Notification (toast) */
.notif { background: var(--ui-text) !important; color: #fff !important; border-radius: 12px !important; font-weight: 500;
  box-shadow: 0 12px 32px -8px rgba(15,23,42,.35) !important; transition: opacity .25s var(--ui-ease), transform .25s var(--ui-ease) !important; }

/* États vides */
.empty-title { font-size: 16px !important; font-weight: 650 !important; letter-spacing: -.015em; }
.empty-icon { filter: grayscale(.2); opacity: .8; }

/* Vues : apparition douce */
.view.active { animation: uiFadeUp .28s var(--ui-ease); }
@keyframes uiFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes uiPop { from { opacity: 0; transform: translateY(6px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes uiFadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .view.active, .modal-bg.open, .modal-bg.open .modal { animation: none !important; } }

/* Marque (logo) */
.ui-mark { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--ui-indigo); flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.ui-mark svg { width: 17px; height: 17px; }

/* ═══ ADMIN ═══════════════════════════════════════════════════════════ */
body[data-page=admin] { font-size: 14px; }
[data-page=admin] .sidebar { background: var(--ui-surface) !important; border-right: 1px solid var(--ui-border); box-shadow: none !important; }
[data-page=admin] .sidebar-logo { display: flex; align-items: center; gap: 10px; padding: 18px 18px 14px !important; border-bottom: 0 !important; }
[data-page=admin] .sidebar-logo > div:not(.ui-mark) { min-width: 0; }
[data-page=admin] .logo-main { color: var(--ui-text) !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.02em; }
[data-page=admin] .logo-sub { color: var(--ui-muted) !important; font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important; margin-top: 1px !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-page=admin] .nav { padding: 6px 0 12px !important; }
[data-page=admin] .nav-section { color: var(--ui-faint) !important; font-size: 11px !important; font-weight: 600; letter-spacing: .06em !important; padding: 16px 22px 6px !important; }
[data-page=admin] .nav-item { margin: 1px 10px; padding: 7px 10px !important; border-radius: 8px; border-left: 0 !important; color: var(--ui-text-2) !important;
  font-size: 13.5px !important; font-weight: 500 !important; gap: 10px !important; transition: background .15s var(--ui-ease), color .15s var(--ui-ease) !important; }
[data-page=admin] .nav-item:hover { background: var(--ui-subtle) !important; color: var(--ui-text) !important; }
[data-page=admin] .nav-item.active { background: var(--ui-indigo-50) !important; color: var(--ui-indigo) !important; font-weight: 600 !important; }
[data-page=admin] .nav-item .icon { width: 18px !important; display: inline-flex; align-items: center; justify-content: center; opacity: 1 !important; color: var(--ui-muted); }
[data-page=admin] .nav-item.active .icon, [data-page=admin] .nav-item:hover .icon { color: inherit; }
[data-page=admin] .nav-item .icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
[data-page=admin] .badge { background: var(--ui-indigo-50) !important; color: var(--ui-indigo) !important; border: 0 !important; border-radius: 6px !important; font-size: 11px !important; padding: 1px 7px !important; }
[data-page=admin] .badge[style*="rouge"] { background: #FEF2F2 !important; color: #DC2626 !important; }
[data-page=admin] .sidebar > div:last-child { border-top: 1px solid var(--ui-border) !important; }
[data-page=admin] #sidebar-user { color: var(--ui-muted) !important; opacity: 1 !important; font-size: 12px !important; }
[data-page=admin] .sidebar > div:last-child .nav-item { margin: 0 !important; padding: 7px 10px !important; color: var(--ui-muted) !important; }
[data-page=admin] .sidebar > div:last-child .nav-item:hover { color: #DC2626 !important; background: #FEF2F2 !important; }

[data-page=admin] .topbar { height: 64px; padding: 0 32px !important; background: var(--ui-glass) !important; backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid var(--ui-border) !important; }
[data-page=admin] .topbar-title { font-size: 17px !important; font-weight: 700 !important; letter-spacing: -.025em; color: var(--ui-text) !important; }
[data-page=admin] .topbar-sub { color: var(--ui-muted) !important; font-size: 12.5px !important; }
[data-page=admin] .topbar-actions { gap: 8px !important; }
[data-page=admin] #sync-indicator { height: 30px; padding: 0 10px; border-radius: 999px; background: #F0FDF4; color: #15803D !important; font-weight: 500; }
[data-page=admin] .content { padding: 28px 32px 48px !important; max-width: 1480px; }
[data-page=admin] .stats-grid { gap: 14px !important; }
[data-page=admin] .stat-card { padding: 18px 20px !important; }
[data-page=admin] .stat-value.val-or { color: var(--ui-indigo) !important; }
[data-page=admin] .two-col, [data-page=admin] .three-col { gap: 16px !important; }

/* Cartes de tours, fiches, avis */
[data-page=admin] .tour-card, [data-page=admin] .fiche-stat, [data-page=admin] .review-score-card, [data-page=admin] .review-card,
[data-page=admin] .review-tour-group, [data-page=admin] .cal-wrap {
  border: 1px solid var(--ui-border) !important; border-radius: 12px !important; box-shadow: var(--ui-sh-sm) !important; }
[data-page=admin] .tour-card { border-top: 3px solid var(--ui-indigo) !important; }
[data-page=admin] .tour-card-footer { background: var(--ui-bg) !important; }
[data-page=admin] .fiche-stat-val, [data-page=admin] .review-big-score { letter-spacing: -.035em; }
[data-page=admin] .fiche-name { font-size: 22px !important; letter-spacing: -.03em; }
[data-page=admin] .period-tab { border-radius: 8px !important; border: 1px solid var(--ui-border) !important; height: 32px; }
[data-page=admin] .period-tab.active { background: var(--ui-text) !important; border-color: var(--ui-text) !important; color: #fff !important; }
[data-page=admin] .priority-item { background: var(--ui-surface) !important; border: 1px solid var(--ui-border) !important; }
[data-page=admin] .priority-item:hover { border-color: var(--ui-indigo) !important; }
[data-page=admin] .flow-step { border-radius: 10px !important; }
[data-page=admin] .email-body { border-left-color: var(--ui-indigo) !important; }
[data-page=admin] .timeline-dot { background: var(--ui-indigo); }

/* Planning */
[data-page=admin] .cal-header { padding: 14px 20px !important; }
[data-page=admin] .cal-month-label { font-size: 16px !important; font-weight: 650 !important; letter-spacing: -.02em; }
[data-page=admin] .cal-btn-nav { border-radius: 8px !important; width: 32px; height: 32px; }
[data-page=admin] .cal-view-tabs { background: var(--ui-subtle) !important; border-radius: 9px !important; padding: 3px !important; }
[data-page=admin] .cal-view-tab { border-radius: 7px !important; font-weight: 600 !important; }
[data-page=admin] .cal-view-tab.active { box-shadow: var(--ui-sh) !important; }
[data-page=admin] .cal-day-header, [data-page=admin] .cal-month-dayhead { background: var(--ui-bg); color: var(--ui-muted) !important; }
[data-page=admin] .cal-day-col, [data-page=admin] .cal-cell, [data-page=admin] .cal-time-slot, [data-page=admin] .cal-month-cell,
[data-page=admin] .cal-day-header, [data-page=admin] .cal-time-col { border-color: #EEF2F6 !important; }
[data-page=admin] .cal-time-slot { font-weight: 500 !important; color: var(--ui-faint) !important; font-size: 11px !important; }
[data-page=admin] .cal-event { border-radius: 6px !important; box-shadow: none !important; }
[data-page=admin] .cal-event:hover { box-shadow: var(--ui-sh) !important; }
[data-page=admin] .cal-month-cell.today-cell { background: #F5F7FF !important; }
[data-page=admin] .cal-popup { border-top: 0 !important; border: 1px solid var(--ui-border); border-radius: 12px !important; box-shadow: var(--ui-sh-lg) !important; }
[data-page=admin] .cal-filter-chip { border-radius: 8px !important; }

/* Modale d'édition */
[data-page=admin] #edit-modal { background: rgba(15,23,42,.42) !important; backdrop-filter: blur(4px); }
[data-page=admin] .edit-modal-box { border-radius: 16px !important; border: 1px solid var(--ui-border); box-shadow: var(--ui-sh-lg) !important; }
[data-page=admin] .edit-modal-title { font-size: 19px !important; letter-spacing: -.025em; }
[data-page=admin] .edit-field label { color: var(--ui-muted) !important; letter-spacing: .03em !important; }

@media (max-width: 700px) {
  [data-page=admin] .topbar { padding: 0 14px !important; }
  [data-page=admin] .content { padding: 16px 12px 40px !important; }
  [data-page=admin] .sidebar { box-shadow: var(--ui-sh-lg) !important; }
  [data-page=admin] .sidebar-overlay { background: rgba(15,23,42,.4) !important; backdrop-filter: blur(2px); }
  [data-page=admin] .hamburger { color: var(--ui-text) !important; }
}

/* ═══ ESPACE GUIDE ════════════════════════════════════════════════════ */
[data-page=guide] .header { background: var(--ui-glass) !important; backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--ui-border); box-shadow: none !important; }
[data-page=guide] .header-logo { color: var(--ui-text) !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.02em; gap: 10px !important; }
[data-page=guide] .header-logo span { color: var(--ui-muted) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 12.5px !important;
  padding-left: 10px; border-left: 1px solid var(--ui-border); }
[data-page=guide] .guide-name { color: var(--ui-text) !important; font-weight: 600 !important; }
[data-page=guide] .guide-avatar { background: var(--ui-indigo) !important; color: #fff !important; font-size: 13px !important; width: 34px !important; height: 34px !important; }
[data-page=guide] .status-label { color: var(--ui-muted) !important; }
[data-page=guide] #lang-fr-btn, [data-page=guide] #lang-en-btn { color: var(--ui-muted) !important; }
[data-page=guide] .header-guide > button[onclick="handleLogout()"] { color: var(--ui-muted) !important; }
[data-page=guide] .header-guide > button[onclick="handleLogout()"]:hover { color: #DC2626 !important; background: #FEF2F2 !important; }
[data-page=guide] .nav-tabs { position: sticky; top: 64px; z-index: 90; background: var(--ui-glass) !important; backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ui-border) !important; padding: 0 24px !important; gap: 4px !important; }
[data-page=guide] .nav-tab { padding: 14px 12px !important; font-size: 13.5px !important; color: var(--ui-muted) !important; border-bottom-width: 2px !important;
  transition: color .15s var(--ui-ease), border-color .15s var(--ui-ease) !important; }
[data-page=guide] .nav-tab:hover { color: var(--ui-text) !important; }
[data-page=guide] .nav-tab.active { color: var(--ui-indigo) !important; border-bottom-color: var(--ui-indigo) !important; }
[data-page=guide] .main { padding: 28px 24px 56px !important; }
[data-page=guide] .alert { border-radius: 12px !important; border: 1px solid var(--ui-border); border-left-width: 1px !important; }
[data-page=guide] .alert-or { background: var(--ui-indigo-50) !important; border-color: var(--ui-indigo-100) !important; color: var(--ui-text) !important; }
[data-page=guide] .alert-vert { background: #F0FDF4 !important; border-color: #BBF7D0 !important; color: #15803D !important; }
[data-page=guide] .alert-rouge { background: #FEF2F2 !important; border-color: #FECACA !important; color: #B91C1C !important; }
[data-page=guide] .tour-date-badge { background: var(--ui-indigo-50) !important; border: 0 !important; border-radius: 10px !important; }
[data-page=guide] .tour-date-day { color: var(--ui-indigo) !important; }
[data-page=guide] .reminder-badge { background: var(--ui-indigo) !important; border-radius: 6px !important; }
[data-page=guide] .cal-wrap { border: 1px solid var(--ui-border); border-radius: 12px !important; box-shadow: var(--ui-sh-sm) !important; }
[data-page=guide] .cal-label { font-size: 16px !important; font-weight: 650 !important; letter-spacing: -.02em; }
[data-page=guide] .cal-btn { border-radius: 8px !important; }
[data-page=guide] .cal-day-head, [data-page=guide] .cal-cell, [data-page=guide] .cal-time-col, [data-page=guide] .cal-time-slot { border-color: #EEF2F6 !important; }
[data-page=guide] .cal-day-head { background: var(--ui-bg) !important; }
[data-page=guide] .cal-time-slot { color: var(--ui-faint) !important; }
[data-page=guide] .cal-event { border-radius: 6px !important; }
[data-page=guide] .avail-day-card { border-color: var(--ui-border) !important; border-radius: 12px !important; background: var(--ui-surface); }
[data-page=guide] .avail-day-head { background: var(--ui-bg) !important; color: var(--ui-text-2) !important; }
[data-page=guide] .avail-day-head.active-day { background: #F0FDF4 !important; color: #15803D !important; border-bottom: 1px solid #BBF7D0 !important; }
[data-page=guide] .avail-slot { border-radius: 7px !important; border-color: var(--ui-border) !important; }
[data-page=guide] .avail-slot.active { background: var(--ui-indigo) !important; border-color: var(--ui-indigo) !important; color: #fff !important; }
[data-page=guide] .avail-slot:hover:not(.active) { background: var(--ui-indigo-50) !important; border-color: var(--ui-indigo-100) !important; color: var(--ui-indigo) !important; }
[data-page=guide] .btn-tout { background: var(--ui-indigo) !important; border-radius: 5px !important; }
[data-page=guide] .btn-indispo { border-radius: 5px !important; }
[data-page=guide] .countdown-ring { background: conic-gradient(var(--ui-indigo) var(--pct, 0%), var(--ui-subtle) 0%) !important; }
@media (max-width: 640px) {
  [data-page=guide] .nav-tabs { top: 56px; padding: 0 8px !important; }
  [data-page=guide] .main { padding: 16px 12px 40px !important; }
}

/* ═══ CONNEXION ═══════════════════════════════════════════════════════ */
body[data-page=login] { background-color: var(--ui-bg) !important;
  background-image: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(79,70,229,.10), transparent 70%),
    linear-gradient(rgba(226,232,240,.55) 1px, transparent 1px), linear-gradient(90deg, rgba(226,232,240,.55) 1px, transparent 1px) !important;
  background-size: auto, 48px 48px, 48px 48px !important; background-position: center top; }
[data-page=login] .card { border-radius: 18px !important; box-shadow: var(--ui-sh-lg) !important; padding: 36px 32px !important; animation: uiPop .35s var(--ui-ease); }
[data-page=login] .logo { display: flex; flex-direction: column; align-items: center; }
[data-page=login] .logo::before { content: ''; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 12px; background: var(--ui-indigo)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18V7l7 6 7-6v11'/%3E%3C/svg%3E") center/26px no-repeat;
  box-shadow: 0 6px 16px -4px rgba(79,70,229,.45); }
[data-page=login] .logo-title { font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.03em; }
[data-page=login] .logo-sub { color: var(--ui-muted) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13.5px !important; font-weight: 500 !important; margin-top: 4px !important; }
[data-page=login] input { height: 44px; padding: 0 14px !important; }
[data-page=login] .pwd-wrap input { padding-right: 42px !important; }
[data-page=login] .btn { width: 100%; height: 44px; padding: 0 !important; border-radius: 10px !important; font-size: 14px !important; background: var(--ui-indigo) !important;
  color: #fff !important; box-shadow: 0 1px 2px rgba(79,70,229,.3), inset 0 1px 0 rgba(255,255,255,.12); }
[data-page=login] .btn:hover { background: var(--ui-indigo-h) !important; }
[data-page=login] .msg { border-radius: 10px !important; }
[data-page=login] .footer-note a:hover { color: var(--ui-text) !important; }

/* ═══ SUPER-ADMIN ═════════════════════════════════════════════════════ */
[data-page=superadmin] header { background: var(--ui-glass) !important; color: var(--ui-text) !important; border-bottom: 1px solid var(--ui-border);
  box-shadow: none !important; backdrop-filter: blur(12px); height: 64px !important; }
[data-page=superadmin] header > div:first-child { display: flex; align-items: center; gap: 10px; }
[data-page=superadmin] .header-logo { color: var(--ui-text) !important; font-size: 15px !important; letter-spacing: -.02em; }
[data-page=superadmin] .header-sub { color: var(--ui-muted) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 12px !important; }
[data-page=superadmin] .header-email { color: var(--ui-muted) !important; }
[data-page=superadmin] .btn-logout { background: var(--ui-surface) !important; color: var(--ui-text-2) !important; border: 1px solid var(--ui-border) !important;
  height: 32px; border-radius: 8px !important; font-weight: 600; }
[data-page=superadmin] .btn-logout:hover { border-color: #FECACA !important; color: #DC2626 !important; background: #FEF2F2 !important; }
[data-page=superadmin] main { max-width: 1040px !important; }
[data-page=superadmin] h1 { font-size: 20px !important; font-weight: 700 !important; letter-spacing: -.025em; }
[data-page=superadmin] .company-card { box-shadow: var(--ui-sh-sm) !important; transition: box-shadow .2s var(--ui-ease), border-color .2s var(--ui-ease); }
[data-page=superadmin] .company-card:hover { border-color: var(--ui-border-2) !important; }
[data-page=superadmin] .company-header:hover { background: var(--ui-bg) !important; }
[data-page=superadmin] .pill { border-radius: 6px !important; letter-spacing: .03em !important; }
[data-page=superadmin] .pill-plan { background: var(--ui-indigo-50) !important; color: var(--ui-indigo) !important; }
[data-page=superadmin] .tabs { background: var(--ui-bg) !important; }
[data-page=superadmin] .tab-btn.active { color: var(--ui-indigo) !important; border-bottom-color: var(--ui-indigo) !important; }
[data-page=superadmin] .btn-save { background: var(--ui-indigo) !important; border-radius: 9px !important; }
[data-page=superadmin] .btn-save:hover { background: var(--ui-indigo-h) !important; }
[data-page=superadmin] .btn-ghost:hover { border-color: var(--ui-indigo) !important; color: var(--ui-indigo) !important; }
[data-page=superadmin] .toggle input:checked + .toggle-slider { background: var(--ui-indigo) !important; }
[data-page=superadmin] .resa-stat { background: var(--ui-bg) !important; border: 1px solid var(--ui-border); }

/* ═══ THÈME SOMBRE ════════════════════════════════════════════════════ */
html[data-theme=dark] {
  color-scheme: dark;
  --ui-bg: #0B1120; --ui-surface: #111827; --ui-subtle: #1E293B;
  --ui-text: #F1F5F9; --ui-text-2: #CBD5E1; --ui-muted: #94A3B8; --ui-faint: #64748B;
  --ui-border: #1F2A3C; --ui-border-2: #334155;
  --ui-indigo: #6366F1; --ui-indigo-h: #818CF8; --ui-indigo-50: rgba(99,102,241,.14); --ui-indigo-100: rgba(99,102,241,.3);
  --ui-ring: 0 0 0 3px rgba(99,102,241,.35); --ui-ink: #1E293B; --ui-glass: rgba(17,24,39,.85);
  --ui-sh-sm: 0 1px 2px rgba(0,0,0,.35); --ui-sh: 0 1px 3px rgba(0,0,0,.4);
  --ui-sh-lg: 0 20px 44px -12px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.04);
  --noir: #F1F5F9; --brun: #F1F5F9; --navy: #F1F5F9;
  --or: #6366F1; --gold: #6366F1; --or-clair: #A5B4FC; --gold-l: #A5B4FC; --or-pale: rgba(99,102,241,.14);
  --creme: #0B1120; --bg: #0B1120; --bg2: #1F2A3C;
  --beige: #1F2A3C; --beige-fonce: #334155; --border: #1F2A3C;
  --vert: #22C55E; --vert-clair: rgba(34,197,94,.14);
  --rouge: #F87171; --rouge-clair: rgba(248,113,113,.14);
  --bleu: #60A5FA; --bleu-clair: rgba(96,165,250,.16);
  --orange: #F59E0B; --orange-clair: rgba(245,158,11,.16);
  --gris: #94A3B8; --gris-clair: #1E293B;
  --ombre: 0 1px 2px rgba(0,0,0,.35); --ombre-forte: 0 20px 44px -12px rgba(0,0,0,.65);
}
/* Bandeaux d'alerte (urgences, crédits) — lisibles en clair comme en sombre */
.myg-alert { --a-bg: #FEF2F2; --a-bd: #FECACA; --a-fg: #991B1B; --a-line: #FDE2E2; --a-text: #0F172A;
  background: var(--a-bg); border: 1px solid var(--a-bd); color: var(--a-text); border-radius: 14px; }
.myg-alert.warn { --a-bg: #FFFBEB; --a-bd: #FDE68A; --a-fg: #92400E; --a-line: #FEF3C7; }
.myg-alert .a-title { color: var(--a-fg); font-weight: 700; }
.myg-alert .a-row { border-top: 1px solid var(--a-line); }
.myg-alert .a-sub { color: var(--a-fg); font-size: 12px; }
.myg-alert .a-note { color: var(--ui-muted, #64748B); font-size: 11.5px; }
.myg-alert .btn-alert { background: transparent; color: var(--a-fg); border: 1px solid var(--a-bd); }
.myg-alert .btn-alert:hover { background: var(--a-line); }
html[data-theme=dark] .myg-alert { --a-bg: rgba(248,113,113,.08); --a-bd: rgba(248,113,113,.32); --a-fg: #FCA5A5; --a-line: rgba(248,113,113,.16); --a-text: #F1F5F9; }
html[data-theme=dark] .myg-alert.warn { --a-bg: rgba(245,158,11,.08); --a-bd: rgba(245,158,11,.32); --a-fg: #FCD34D; --a-line: rgba(245,158,11,.16); }
html[data-theme=dark] .myg-alert .btn-ghost { color: var(--ui-text-2); border-color: var(--ui-border-2); }
html.theme-anim, html.theme-anim *, html.theme-anim *::before, html.theme-anim *::after {
  transition: background-color .3s ease, border-color .3s ease, color .3s ease, fill .3s ease !important; }
[data-theme=dark] *::-webkit-scrollbar-thumb { background-color: #334155; }
[data-theme=dark] * { scrollbar-color: #334155 transparent; }
[data-theme=dark] tr:hover td { background: rgba(255,255,255,.025) !important; }
[data-theme=dark] .tag-vert { background: rgba(34,197,94,.14) !important; color: #4ADE80 !important; }
[data-theme=dark] .tag-bleu { background: rgba(96,165,250,.15) !important; color: #93C5FD !important; }
[data-theme=dark] .tag-rouge { background: rgba(248,113,113,.14) !important; color: #FCA5A5 !important; }
[data-theme=dark] .tag-or { color: #A5B4FC !important; }
[data-theme=dark] .notif { background: #1E293B !important; border: 1px solid #334155; }
[data-theme=dark] .modal-bg, [data-theme=dark] #edit-modal { background: rgba(2,6,23,.65) !important; }
[data-theme=dark] .btn-primary { box-shadow: 0 1px 2px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.14); }
[data-theme=dark] [data-page=admin] #sync-indicator { background: rgba(34,197,94,.12); color: #4ADE80 !important; }
[data-theme=dark] [data-page=admin] .badge[style*="rouge"] { background: rgba(248,113,113,.14) !important; color: #FCA5A5 !important; }
[data-theme=dark] [data-page=admin] .sidebar > div:last-child .nav-item:hover { background: rgba(248,113,113,.12) !important; color: #FCA5A5 !important; }
[data-theme=dark] [data-page=admin] .period-tab.active { background: var(--ui-indigo) !important; border-color: var(--ui-indigo) !important; }
[data-theme=dark] [data-page=admin] .cal-day-col, [data-theme=dark] [data-page=admin] .cal-cell, [data-theme=dark] [data-page=admin] .cal-time-slot,
[data-theme=dark] [data-page=admin] .cal-month-cell, [data-theme=dark] [data-page=admin] .cal-day-header, [data-theme=dark] [data-page=admin] .cal-time-col,
[data-theme=dark] [data-page=guide] .cal-day-head, [data-theme=dark] [data-page=guide] .cal-cell, [data-theme=dark] [data-page=guide] .cal-time-col,
[data-theme=dark] [data-page=guide] .cal-time-slot { border-color: var(--ui-border) !important; }
[data-theme=dark] [data-page=admin] .cal-month-cell.today-cell { background: rgba(99,102,241,.08) !important; }
[data-theme=dark] [data-page=guide] .alert-vert { background: rgba(34,197,94,.1) !important; border-color: rgba(34,197,94,.25) !important; color: #4ADE80 !important; }
[data-theme=dark] [data-page=guide] .alert-rouge { background: rgba(248,113,113,.1) !important; border-color: rgba(248,113,113,.25) !important; color: #FCA5A5 !important; }
[data-theme=dark] [data-page=guide] .avail-day-head.active-day { background: rgba(34,197,94,.12) !important; color: #4ADE80 !important; border-bottom-color: rgba(34,197,94,.25) !important; }
[data-theme=dark] [data-page=guide] .header-guide > button[onclick="handleLogout()"]:hover { background: rgba(248,113,113,.12) !important; color: #FCA5A5 !important; }
[data-theme=dark] body[data-page=login] { background-image: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(99,102,241,.18), transparent 70%),
  linear-gradient(rgba(51,65,85,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(51,65,85,.35) 1px, transparent 1px) !important; }
[data-theme=dark] [data-page=superadmin] .btn-logout:hover { background: rgba(248,113,113,.12) !important; border-color: rgba(248,113,113,.3) !important; color: #FCA5A5 !important; }
[data-theme=dark] [data-page=superadmin] .company-card { background: var(--ui-surface) !important; }
[data-theme=dark] [data-page=superadmin] .guide-id, [data-theme=dark] [data-page=superadmin] .resa-info code { background: var(--ui-subtle) !important; }
[data-theme=dark] [data-page=superadmin] .pill-inactive { background: var(--ui-subtle) !important; }
[data-theme=dark] [data-page=superadmin] .role-guide { background: rgba(147,51,234,.16) !important; color: #C4B5FD !important; }
[data-theme=dark] img[src$=".svg"] { filter: none; }

/* Bouton soleil / lune */
.ui-theme-btn { width: 34px; height: 34px; border-radius: 9px; border: 1px solid var(--ui-border); background: var(--ui-surface); color: var(--ui-text-2);
  display: inline-grid; place-items: center; cursor: pointer; flex-shrink: 0; transition: border-color .18s, color .18s, background .18s; }
.ui-theme-btn:hover { border-color: var(--ui-border-2); color: var(--ui-text); }
.ui-theme-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ui-theme-btn .ui-sun { display: none; } [data-theme=dark] .ui-theme-btn .ui-sun { display: block; } [data-theme=dark] .ui-theme-btn .ui-moon { display: none; }
.ui-theme-float { position: absolute; top: 16px; right: 16px; }
[data-page=login] .card { position: relative; }
/* ═══ MOBILE & iPHONE ══════════════════════════════════════════════════
   Harmonisation petits écrans : rien ne dépasse, pas de zoom intempestif,
   gestes fluides. Chargé après les styles de chaque page. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, a, [onclick], label, select { -webkit-tap-highlight-color: rgba(79,70,229,.12); touch-action: manipulation; }
img, svg, video, canvas { max-width: 100%; }

@media (max-width: 700px) {
  /* Filet de sécurité : jamais de défilement horizontal de la page (sans casser position:sticky) */
  html, body { max-width: 100%; overflow-x: clip; }
  /* iOS zoome sur tout champ < 16 px : on passe les champs à 16 px sur mobile */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
  select, textarea { font-size: 16px !important; }
  /* Défilement fluide des zones horizontales (tableaux, onglets, agendas) */
  .table-wrap, [style*="overflow-x:auto"], [style*="overflow-x: auto"], [style*="overflow:auto"], .nav-tabs { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; }
  .table-wrap::-webkit-scrollbar, .nav-tabs::-webkit-scrollbar { display: none; }
  /* Les longs mots / emails ne poussent plus les blocs hors de l'écran */
  .card, .modal, .modal-body, .flow-info, .stat-card, td { overflow-wrap: anywhere; }

  /* ── Admin : barre du haut ── */
  [data-page=admin] .topbar { gap: 8px !important; min-height: 56px; }
  [data-page=admin] .topbar-title { font-size: 16px !important; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  [data-page=admin] .topbar-actions { gap: 6px !important; flex-shrink: 0; }
  [data-page=admin] .topbar-actions > div:has(#lang-fr-btn) { display: none !important; }
  [data-page=admin] .cr-badge { padding: 6px 9px !important; margin-right: 0 !important; }

  /* ── Admin : compteurs des réservations en 2 × 2 ── */
  [data-page=admin] .res-stats-bar { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }

  /* ── Admin : lignes de réservation « Par date » en cartes lisibles ── */
  [data-page=admin] .res-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "client status" "tour tour" "time pax" "guide guide" "actions actions";
    gap: 8px 12px !important; padding: 14px 14px !important; align-items: center !important; }
  [data-page=admin] .res-row > div { flex: none !important; min-width: 0; }
  [data-page=admin] .rr-client { grid-area: client; }
  [data-page=admin] .rr-status { grid-area: status; justify-self: end; }
  [data-page=admin] .rr-tour { grid-area: tour; }
  [data-page=admin] .rr-tour span { white-space: normal !important; display: inline-block; }
  [data-page=admin] .rr-time { grid-area: time; }
  [data-page=admin] .rr-pax { grid-area: pax; text-align: right !important; display: flex; gap: 6px; align-items: baseline; justify-content: flex-end; }
  [data-page=admin] .rr-guide { grid-area: guide; }
  [data-page=admin] .rr-actions { grid-area: actions; justify-content: flex-end; flex-wrap: wrap; gap: 6px !important; padding-top: 8px; border-top: 1px dashed var(--ui-border); }
  [data-page=admin] .rr-actions .btn { min-width: 40px; min-height: 36px; justify-content: center; }

  /* ── Admin : cartes d'attribution (le bouton passe sous le texte) ── */
  [data-page=admin] .attr-card { flex-wrap: wrap !important; align-items: flex-start !important; gap: 10px !important; }
  [data-page=admin] .attr-card .flow-info { flex: 1 1 calc(100% - 50px) !important; min-width: 0; }
  [data-page=admin] .attr-card > .btn { flex: 1 1 100%; justify-content: center; min-height: 40px; }
  [data-page=admin] .attr-card .flow-title span { display: inline-block; margin: 4px 0 0 !important; }

  /* ── Admin : tours en pleine largeur ── */
  [data-page=admin] #tours-grid { gap: 12px !important; }
  [data-page=admin] #tours-grid > * { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  [data-page=admin] #view-tours > div > .btn, [data-page=admin] #view-tours .btn[onclick="openTourTemplates()"] { margin: 8px 0 0 !important; }

  /* ── Admin : barres d'outils et en-têtes de cartes qui s'enroulent ── */
  [data-page=admin] .card-header { flex-wrap: wrap; gap: 8px; }
  [data-page=admin] .card-header > div:last-child:not(:first-child) { flex-wrap: wrap; }
  [data-page=admin] .filters, [data-page=admin] .filter-bar, [data-page=admin] .toolbar { flex-wrap: wrap !important; }

  /* ── Fenêtres : pleine hauteur utile, pied compact en 2 colonnes ── */
  .modal-bg { align-items: flex-end !important; padding: 0 !important; }
  .modal { width: 100vw !important; max-width: 100vw !important; max-height: 92dvh !important; border-radius: 18px 18px 0 0 !important; margin: 0 !important;
    display: flex; flex-direction: column; animation: uiSheet .28s var(--ui-ease, ease) !important; }
  .modal-body { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; flex: 1 1 auto; }
  .modal-footer { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; }
  .modal-footer .btn { width: 100% !important; margin: 0 !important; justify-content: center; min-height: 42px; }
  .modal-footer > .btn:only-child, .modal-footer > .btn:last-child:nth-child(odd) { grid-column: 1 / -1; }
  #res-detail-footer > .btn:first-child { order: 99; grid-column: 1 / -1; }

  /* ── Éléments flottants : au-dessus de la barre d'accueil de l'iPhone ── */
  .as-fab { bottom: calc(16px + env(safe-area-inset-bottom)) !important; right: 16px !important; }
  .as-panel { height: 100dvh; }
  .as-foot { padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
  .notif { bottom: calc(16px + env(safe-area-inset-bottom)) !important; }
  .cr-bg { align-items: flex-end !important; padding: 0 !important; }
  .cr-box { width: 100% !important; max-height: 92dvh !important; border-radius: 18px 18px 0 0 !important; padding-bottom: env(safe-area-inset-bottom); }

  /* ── Espace guide : en-tête compact, onglets défilants ── */
  [data-page=guide] .header { padding: 0 12px !important; gap: 8px; }
  [data-page=guide] .header-logo span, [data-page=guide] .guide-name, [data-page=guide] .status-label { display: none !important; }
  [data-page=guide] .header-guide { gap: 6px !important; }
  [data-page=guide] .nav-tabs { overflow-x: auto; flex-wrap: nowrap !important; scroll-snap-type: x proximity; }
  [data-page=guide] .nav-tab { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }

  /* ── Super admin ── */
  [data-page=superadmin] header { padding: 0 12px !important; flex-wrap: wrap; gap: 8px; }
  [data-page=superadmin] .header-email { display: none; }
  [data-page=superadmin] main { padding: 16px 12px 40px !important; }
  [data-page=superadmin] .stats-bar { grid-template-columns: 1fr 1fr !important; }
}
@keyframes uiSheet { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 380px) {
  [data-page=admin] .res-stats-bar .stat-value, [data-page=admin] .stat-value { font-size: 20px !important; }
  [data-page=admin] .topbar-actions .btn:last-child { padding: 6px 10px !important; }
}
@media (max-width: 700px) {
  [data-page=admin] #res-quick-period { max-width: none !important; min-width: 140px; }
  .cr-sms-btn { white-space: nowrap; }
  #res-detail-footer { display: flex !important; flex-wrap: wrap; }
  #res-detail-footer > .btn { flex: 1 1 calc(50% - 4px); }
  #res-detail-footer > .btn:first-child { order: 99; flex: 1 1 auto; grid-column: auto; }
  #res-detail-footer > .btn:last-child { order: 98; flex: 0 0 52px; }
}
@media (max-width: 700px) {
  #res-detail-footer > .btn { width: auto !important; }
  .modal .form-group input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), .modal .form-group select, .modal .form-group textarea { width: 100% !important; box-sizing: border-box; }
}
[data-page=admin] .modal input[type=number], [data-page=admin] .modal input[type=tel], [data-page=admin] .modal input[type=date], [data-page=admin] .modal input[type=month] { width: 100%; padding: 9px 12px; font-family: inherit; box-sizing: border-box; }
@media (max-width: 700px) {
  #res-detail-footer { flex-direction: row !important; }
}
/* Détail d'une réservation : les actions passent à la ligne au lieu d'être coupées */
@media (min-width: 701px) {
  #res-detail-footer { display: flex !important; flex-wrap: wrap; gap: 8px; justify-content: flex-end; align-items: center; overflow: visible; }
  #res-detail-footer > .btn { white-space: nowrap; flex: 0 0 auto; margin: 0 !important; }
}

/* ── Adultes / enfants écrits en toutes lettres ── */
.kids-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;background:#FEF3C7;color:#92400E;font-size:11px;font-weight:700;white-space:nowrap;line-height:1.5}
html[data-theme=dark] .kids-badge{background:rgba(245,158,11,.18);color:#FCD34D}
.pax-split{font-size:10.5px;color:var(--gris,#64748B);line-height:1.5;margin-top:2px;white-space:nowrap}
