/* Jumbo Tourisme — thème clair « verre » posé sur les tokens Nocturne.
   Chargé après ds/styles.css : les variables ci-dessous réécrivent le thème sombre d'origine.
   Tout le reste du formulaire lit ces variables — changez-les ici, la page entière suit. */

/* Thème clair « verre » : les tokens Nocturne sont réécrits ici, tout le reste suit. */
:root {
  --color-bg: #eef1f7;
  --color-surface: rgba(255, 255, 255, 0.72);
  --color-text: #14161c;
  --color-accent: #5b53c9;
  --color-divider: rgba(20, 22, 28, 0.10);
  --color-neutral-100: #2c313c; --color-neutral-200: #3a4150; --color-neutral-300: #4a5162;
  --color-neutral-400: #5a6273; --color-neutral-500: #6b7385; --color-neutral-600: #8a91a1;
  --color-neutral-700: #c9cfda; --color-neutral-800: #dfe4ec; --color-neutral-900: #eef1f6;
  --color-accent-100: #2f2a7a; --color-accent-200: #3c3597; --color-accent-300: #4a43ad;
  --color-accent-400: #5b53c9; --color-accent-500: #6f66d8; --color-accent-600: #8a82e4;
  --color-accent-700: #b9b4f0; --color-accent-800: #e7e5fb; --color-accent-900: #f3f2fe;
  --shadow-sm: 0 1px 2px rgba(16,24,40,.06), 0 0 0 1px rgba(16,24,40,.05);
  --shadow-md: 0 8px 28px rgba(16,24,40,.10), 0 0 0 1px rgba(16,24,40,.05);
  --shadow-lg: 0 24px 60px rgba(16,24,40,.16), 0 0 0 1px rgba(16,24,40,.05);
  --radius-sm: 8px; --radius-md: 14px; --radius-lg: 22px;
  --font-heading: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;
}
body {
  margin: 0; color: var(--color-text); font-family: var(--font-body);
  background:
    radial-gradient(1100px 700px at 12% -10%, #dfe6ff 0%, transparent 60%),
    radial-gradient(900px 620px at 92% 0%, #e7dcff 0%, transparent 55%),
    linear-gradient(180deg, #f7f9fc 0%, #eaeef6 100%);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-300); }
input::placeholder, textarea::placeholder { color: var(--color-neutral-600); }
[data-glass] { backdrop-filter: blur(26px) saturate(180%); -webkit-backdrop-filter: blur(26px) saturate(180%); }
.btn { border-radius: 999px; padding: 10px 18px; font-weight: 500; white-space: nowrap; transition: transform .12s ease, box-shadow .2s ease, background .2s ease; }
.btn-primary { background: var(--color-accent); border-color: transparent; color: #fff; box-shadow: 0 6px 18px rgba(91,83,201,.28); }
.btn-primary:hover { background: #4f47bd; color: #fff; transform: translateY(-1px); }
.btn-primary:active { background: #443ca9; color: #fff; transform: none; }
.btn-primary:disabled { box-shadow: none; }
.btn-secondary { background: rgba(255,255,255,.7); border-color: rgba(20,22,28,.12); }
.btn-icon { border-radius: 999px; }
.input { background: rgba(255,255,255,.85); border-color: rgba(20,22,28,.14); border-radius: 12px; min-height: 42px; font-size: 15px; }
.input:focus-visible { border-color: var(--color-accent); box-shadow: 0 0 0 4px rgba(91,83,201,.16); outline: none; }
.field > label { font-size: 12.5px; color: var(--color-neutral-500); }
.seg { background: rgba(255,255,255,.7); border-radius: 999px; padding: 3px; border-color: rgba(20,22,28,.10); }
.seg-opt { border-radius: 999px; padding: 8px 14px; white-space: nowrap; }
.seg-opt + .seg-opt { border-left: 0; }
.seg-opt:has(input:checked) { background: var(--color-accent); color: #fff; box-shadow: none; }
.table tbody tr:hover { background: rgba(255,255,255,.6); }
@keyframes noct-pulse { 0%, 100% { opacity: .3 } 50% { opacity: .85 } }
i[class^="ph "], i[class*=" ph-"] { font-style: normal; }
@media (max-width: 1180px) {
  [data-shell="app"] { grid-template-columns: 228px minmax(0, 1fr) !important; gap: 28px !important; }
  [data-rail="summary"] { grid-column: 1 / -1; position: static !important; max-width: 760px; }
  [data-grid="ops"] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 880px) {
  [data-shell="app"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-rail="steps"] { display: none !important; }
  [data-grid="two"], [data-grid="ops"] { grid-template-columns: minmax(0, 1fr) !important; }
}
