/* ici — jetons de design (couleurs OKLCH, typo, rayons, courbes de mouvement).
   Chargé avant styles.css ; styles.css ne référence que ces jetons. */
/* polices auto-hébergées : Fraunces (titres, chiffres, axe SOFT) et Figtree (texte) */
@font-face { font-family: "Fraunces"; src: url("fonts/fraunces-latin-soft-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("fonts/fraunces-latin-soft-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("fonts/figtree-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("fonts/figtree-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("fonts/figtree-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
:root {
  color-scheme: only light; /* « only » : le téléphone n’assombrit pas lui-même le thème clair */
  /* mouvement : courbes communes à toute l'appli */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --bg: oklch(95.3% 0.016 74);
  --bg-glow: oklch(95.3% 0.016 74);
  --surface: oklch(99.0% 0.008 74);
  --surface-2: oklch(94.2% 0.018 70);
  --surface-3: oklch(91.9% 0.025 71);
  --border: oklch(88.7% 0.028 71);
  --grid: oklch(92.4% 0.021 72);
  --text: oklch(27.6% 0.027 49);
  --text-2: oklch(46.5% 0.038 53);
  --muted: oklch(50.6% 0.039 59);
  --accent: oklch(53.7% 0.126 40);
  --accent-ink: oklch(98.0% 0.014 68);
  --accent-2: oklch(75.1% 0.130 80);
  --accent-soft: oklch(92.3% 0.030 56);
  --good: oklch(53.4% 0.088 142); --good-bg: oklch(93.3% 0.029 129);
  --bad: oklch(52.1% 0.158 29); --bad-bg: oklch(92.1% 0.029 28);
  --warn: oklch(53.1% 0.106 75); --warn-bg: oklch(94.0% 0.043 87);
  --c-brut: oklch(73.7% 0.097 57); --c-net: oklch(53.7% 0.126 40);
  --p-airbnb: oklch(64.1% 0.153 34); --p-booking: oklch(52.5% 0.105 246); --p-autre: oklch(65.3% 0.128 80); --p-direct: oklch(58.8% 0.107 180); --p-abritel: oklch(54.1% 0.140 337); --p-bloque: oklch(76.1% 0.030 66);
  /* pas d'ombre sur ce qui est posé : les surfaces se distinguent par un pas de ton.
     --float est réservé à ce qui flotte vraiment (infobulle, toast, feuille). */
  --shadow: none;
  --shadow-sm: none;
  --float: 0 12px 32px oklch(25% 0.04 50 / .18);
  --scrim: oklch(20% 0.03 50 / .35);
  --knob: oklch(99% 0.005 75); --knob-shadow: 0 1px 3px oklch(25% 0.04 50 / .3);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
  /* champ de couleur pleine (bloc d'accueil de l'Aperçu) */
  --field: oklch(53.7% 0.126 40); --field-ink: oklch(98.0% 0.014 68);
  /* chiffres clés dans le bloc terracotta : marron foncé (texte en gras de grande taille, contraste ≥ 3:1) */
  --field-em: oklch(23.5% 0.03 48);
  --r-lg: 22px; --r: 16px; --r-sm: 11px;
  --serif: "Fraunces", "Iowan Old Style", Palatino, Georgia, serif;
  --sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --gap-section: 40px; --gap-section-lg: 56px;
  /* fenêtre de la petite maison : allumée (ocre) / éteinte (brun) */
  --win-on: oklch(84% 0.12 82); --win-off: oklch(36% 0.06 45);
  /* terracotta de l'ajout d'un logement : reste terracotta même dans le portail gestionnaire (cacao et ocre) */
  --terra: oklch(53.7% 0.126 40); --terra-ink: oklch(98.0% 0.014 68); --terra-vif: oklch(53.7% 0.126 40);
}
/* Hallmark · redesign: mode sombre « Veillée » · genre: editorial · tone: soft
 * theme: custom (vibe: "veillée au coin du feu, cacao, lueur de bougie")
 * paper oklch(17.7% 0.009 59) · accent oklch(75.6% 0.120 47) terracotta-ambre · display: Iowan/Palatino (roman) + body: system sans
 * axes: dark / classical-serif / warm · contrast: text 15.4:1, muted ≥ 4.8:1, accent ≥ 6.3:1 on every surface
 * pre-emit critique: P4 H4 E4 S4 R5 V4
 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: oklch(17.7% 0.009 59); --bg-glow: oklch(23.9% 0.029 52);
    --surface: oklch(22.1% 0.016 54); --surface-2: oklch(25.3% 0.019 53); --surface-3: oklch(28.9% 0.024 53);
    --border: oklch(32.2% 0.026 54); --grid: oklch(27.9% 0.021 54);
    --text: oklch(93.1% 0.026 73); --text-2: oklch(80.3% 0.037 69); --muted: oklch(67.3% 0.035 64);
    --accent: oklch(75.6% 0.120 47); --accent-ink: oklch(22.8% 0.037 50); --accent-2: oklch(83.2% 0.111 76); --accent-soft: oklch(28.7% 0.037 48);
    --good: oklch(79.3% 0.096 139); --good-bg: oklch(27.9% 0.036 140); --bad: oklch(75.2% 0.122 31); --bad-bg: oklch(26.9% 0.047 31);
    --warn: oklch(84.0% 0.116 83); --warn-bg: oklch(29.3% 0.039 81);
    --c-brut: oklch(55.9% 0.094 50); --c-net: oklch(75.6% 0.120 47);
    --p-airbnb: oklch(68.5% 0.140 36); --p-booking: oklch(65.8% 0.115 252); --p-autre: oklch(70.2% 0.131 81);
    --p-direct: oklch(68.1% 0.118 180); --p-abritel: oklch(66.4% 0.117 338); --p-bloque: oklch(44.2% 0.025 58);
    /* tokens propres à la veillée : filets, lueurs de bougie, voiles */
    --hairline: oklch(93.4% 0.047 68 / .07); --hairline-soft: oklch(93.4% 0.047 68 / .05);
    --candle: oklch(83.2% 0.111 76 / .10); --candle-strong: oklch(83.2% 0.111 76 / .14); --ember: oklch(75.6% 0.120 47 / .08);
    --scrim: oklch(0% 0 0 / .55); --shade: oklch(0% 0 0 / .35); --shade-deep: oklch(0% 0 0 / .5);
    --accent-halo: oklch(75.6% 0.120 47 / .18);
    --shadow: none; --shadow-sm: none; --float: 0 12px 34px var(--shade-deep); --knob: var(--text); --knob-shadow: 0 1px 3px var(--shade);
    --field: oklch(44% 0.105 41); --field-ink: oklch(95% 0.022 73); --field-em: oklch(83.2% 0.111 76);
    --terra: oklch(44% 0.105 41); --terra-ink: oklch(95% 0.022 73); --terra-vif: oklch(75.6% 0.120 47);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: oklch(17.7% 0.009 59); --bg-glow: oklch(23.9% 0.029 52);
  --surface: oklch(22.1% 0.016 54); --surface-2: oklch(25.3% 0.019 53); --surface-3: oklch(28.9% 0.024 53);
  --border: oklch(32.2% 0.026 54); --grid: oklch(27.9% 0.021 54);
  --text: oklch(93.1% 0.026 73); --text-2: oklch(80.3% 0.037 69); --muted: oklch(67.3% 0.035 64);
  --accent: oklch(75.6% 0.120 47); --accent-ink: oklch(22.8% 0.037 50); --accent-2: oklch(83.2% 0.111 76); --accent-soft: oklch(28.7% 0.037 48);
  --good: oklch(79.3% 0.096 139); --good-bg: oklch(27.9% 0.036 140); --bad: oklch(75.2% 0.122 31); --bad-bg: oklch(26.9% 0.047 31);
  --warn: oklch(84.0% 0.116 83); --warn-bg: oklch(29.3% 0.039 81);
  --c-brut: oklch(55.9% 0.094 50); --c-net: oklch(75.6% 0.120 47);
  --p-airbnb: oklch(68.5% 0.140 36); --p-booking: oklch(65.8% 0.115 252); --p-autre: oklch(70.2% 0.131 81);
  --p-direct: oklch(68.1% 0.118 180); --p-abritel: oklch(66.4% 0.117 338); --p-bloque: oklch(44.2% 0.025 58);
  /* tokens propres à la veillée : filets, lueurs de bougie, voiles */
  --hairline: oklch(93.4% 0.047 68 / .07); --hairline-soft: oklch(93.4% 0.047 68 / .05);
  --candle: oklch(83.2% 0.111 76 / .10); --candle-strong: oklch(83.2% 0.111 76 / .14); --ember: oklch(75.6% 0.120 47 / .08);
  --scrim: oklch(0% 0 0 / .55); --shade: oklch(0% 0 0 / .35); --shade-deep: oklch(0% 0 0 / .5);
  --accent-halo: oklch(75.6% 0.120 47 / .18);
  --shadow: none; --shadow-sm: none; --float: 0 12px 34px var(--shade-deep); --knob: var(--text); --knob-shadow: 0 1px 3px var(--shade);
  --field: oklch(44% 0.105 41); --field-ink: oklch(95% 0.022 73); --field-em: oklch(83.2% 0.111 76);
  --terra: oklch(44% 0.105 41); --terra-ink: oklch(95% 0.022 73); --terra-vif: oklch(75.6% 0.120 47);
}
/* Portail gestionnaire : même maison, en « cacao et ocre » (le portail propriétaire garde la terracotta).
   Seuls l'accent et le bloc plein changent ; les couleurs des plateformes et des graphiques restent communes. */
:root[data-portail="gestionnaire"] {
  --accent: oklch(36% 0.045 50); --accent-ink: oklch(90% 0.09 82); --accent-soft: oklch(91.5% 0.024 70);
  --field: oklch(30% 0.03 49); --field-ink: oklch(95% 0.02 73); --field-em: oklch(84% 0.12 82);
}
@media (prefers-color-scheme: dark) {
  :root[data-portail="gestionnaire"]:not([data-theme="light"]) {
    --accent: oklch(83.2% 0.111 76); --accent-ink: oklch(22.8% 0.037 50); --accent-soft: oklch(29.3% 0.039 81);
    --accent-halo: oklch(83.2% 0.111 76 / .18); --ember: oklch(83.2% 0.111 76 / .08);
    --field: oklch(31% 0.035 52); --field-ink: oklch(95% 0.022 73); --field-em: oklch(84% 0.12 82);
  }
}
:root[data-theme="dark"][data-portail="gestionnaire"] {
  --accent: oklch(83.2% 0.111 76); --accent-ink: oklch(22.8% 0.037 50); --accent-soft: oklch(29.3% 0.039 81);
  --accent-halo: oklch(83.2% 0.111 76 / .18); --ember: oklch(83.2% 0.111 76 / .08);
  --field: oklch(31% 0.035 52); --field-ink: oklch(95% 0.022 73); --field-em: oklch(84% 0.12 82);
}
/* Portail gestionnaire : bandeaux cacao en haut et en bas de l'écran (le fond crème du contenu ne change pas).
   Les jetons sont redéfinis dans les bandeaux : tout ce qu'ils contiennent suit sans autre règle. */
:root[data-portail="gestionnaire"] :is(.topbar, .bottom-nav) {
  --bg: oklch(30% 0.03 49); --surface-2: oklch(36% 0.035 50);
  --text: oklch(95% 0.02 73); --text-2: oklch(86% 0.03 70); --muted: oklch(78% 0.03 68);
  --accent: oklch(84% 0.12 82); --accent-2: oklch(72% 0.12 50); --accent-soft: oklch(38% 0.045 58); --accent-ink: oklch(25% 0.03 49);
}
@media (prefers-color-scheme: dark) {
  :root[data-portail="gestionnaire"]:not([data-theme="light"]) :is(.topbar, .bottom-nav) {
    --bg: oklch(29% 0.035 52); --surface-2: oklch(35% 0.04 53);
    --text-2: oklch(86% 0.03 70); --muted: oklch(78% 0.03 68); --accent-soft: oklch(40% 0.05 60);
  }
}
:root[data-theme="dark"][data-portail="gestionnaire"] :is(.topbar, .bottom-nav) {
  --bg: oklch(29% 0.035 52); --surface-2: oklch(35% 0.04 53);
  --text-2: oklch(86% 0.03 70); --muted: oklch(78% 0.03 68); --accent-soft: oklch(40% 0.05 60);
}
:root[data-portail="gestionnaire"] .bottom-nav { background: var(--bg); }
