/* =========================================================
   PARKLY — Design tokens
   Cobalt accent · Poppins · warm-neutral canvas · dark-ready
   Operational color is kept distinct from brand color.
   ========================================================= */

:root {
  /* ---- Brand ---- */
  --brand-50:  #EDF1FF;
  --brand-100: #DCE4FF;
  --brand-200: #B8C8FF;
  --brand-300: #8AA3FF;
  --brand-400: #5B7BFF;
  --brand-500: #2D5BFF;   /* primary cobalt */
  --brand-600: #1E45E0;   /* hover */
  --brand-700: #1736B0;   /* active */
  --brand-ink: #0F2A8C;

  /* ---- Warm neutral ramp (paper → ink) ---- */
  --paper:     #F7F6F3;   /* app canvas */
  --paper-2:   #F1EFEA;   /* sunken / striped row */
  --surface:   #FFFFFF;   /* cards */
  --line:      #E7E4DD;   /* hairline border */
  --line-2:    #D9D5CC;   /* stronger border */
  --ink-900:   #16141C;   /* primary text */
  --ink-700:   #3B3942;   /* secondary text */
  --ink-500:   #6B6873;   /* muted text */
  --ink-400:   #9A97A1;   /* placeholder / disabled */

  /* ---- Operational semantics (distinct from brand) ---- */
  --success:    #1F8A5B;
  --success-bg: #E3F3EA;
  --success-ink:#136B45;

  --warning:    #C7891A;
  --warning-bg: #FBF1DC;
  --warning-ink:#8A5B00;

  --danger:     #D8443C;
  --danger-bg:  #FBE7E6;
  --danger-ink: #A8302A;

  --info:       #3A4252;  /* neutral slate (Arrivée) */
  --info-bg:    #ECEEF2;
  --info-ink:   #3A4252;

  --teal:       #0F8A78;  /* Garée — distinct from Arrivée */
  --teal-bg:    #E0F3EF;
  --teal-ink:   #0B6E5F;

  /* ---- Occupancy heat scale (signature) ---- */
  --occ-low:   #2E9E6B;   /* <50%  Faible   */
  --occ-mid:   #E2B007;   /* 50–80 Modéré   */
  --occ-high:  #E8762B;   /* 80–95 Élevé    */
  --occ-full:  #DC4040;   /* 95%+  Critique */
  --occ-track: #ECEAE4;

  /* ---- Radius ---- */
  --r-xs: 6px;
  --r-sm: 9px;
  --r-md: 13px;
  --r-lg: 18px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* ---- Elevation ---- */
  --sh-1: 0 1px 2px rgba(22,20,28,.05), 0 1px 1px rgba(22,20,28,.04);
  --sh-2: 0 2px 4px rgba(22,20,28,.06), 0 4px 12px rgba(22,20,28,.05);
  --sh-3: 0 8px 24px rgba(22,20,28,.10), 0 2px 6px rgba(22,20,28,.06);
  --sh-pop: 0 18px 48px rgba(22,20,28,.18), 0 4px 12px rgba(22,20,28,.10);
  --ring: 0 0 0 3px rgba(45,91,255,.22);

  /* ---- Type ---- */
  --font-sans: "Poppins", system-ui, -apple-system, sans-serif;
  --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;

  /* ---- Spacing base (4px grid) ---- */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px;
}

/* ---- Dark theme (tokens flip; structure identical) ---- */
[data-theme="dark"] {
  --paper:     #131218;
  --paper-2:   #1A1922;
  --surface:   #1E1C26;
  --line:      #2C2A35;
  --line-2:    #393644;
  --ink-900:   #F3F1F6;
  --ink-700:   #C7C4CF;
  --ink-500:   #918EA0;
  --ink-400:   #6C6979;

  --brand-50:  #1A2350;
  --brand-500: #5B7BFF;
  --brand-600: #7A95FF;
  --brand-700: #A8BBFF;

  --success-bg:#103326; --success-ink:#7FD9AC;
  --warning-bg:#3A2D10; --warning-ink:#F0C766;
  --danger-bg: #3A1715; --danger-ink: #F4A19B;
  --info-bg:   #262934; --info-ink:   #C2C7D2;
  --teal-bg:   #0E2E2A; --teal-ink:   #6FD4C4;
  --occ-track: #2A2833;

  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 2px 8px rgba(0,0,0,.45);
  --sh-3: 0 10px 28px rgba(0,0,0,.55);
  --sh-pop: 0 20px 52px rgba(0,0,0,.6);
  --ring: 0 0 0 3px rgba(91,123,255,.35);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

/* Visually hidden but available to assistive tech. */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* Disable mobile double-tap zoom on every interactive surface (buttons,
   links, custom click targets) while keeping pinch-zoom and panning. */
button, a, label, summary, select,
input[type="button"], input[type="submit"], input[type="reset"],
input[type="checkbox"], input[type="radio"],
[role="button"], [role="tab"], [role="option"], [role="menuitem"], [role="switch"],
[data-svc], [data-supp], [data-d], [data-nav], [data-time], [data-day], [data-flight],
.fl-card, .svc-opt, .step-card, .feature-card, .cell {
  touch-action: manipulation;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--paper);
  color: var(--ink-900);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background .3s ease, color .3s ease;
}

::selection { background: var(--brand-200); color: var(--ink-900); }
