/* ----------------------------------------------------------------------------
   Familli — feuille de style de base : variables, reset, typographie, couleurs
---------------------------------------------------------------------------- */
:root {
  --c-bg: #FBF7F2;
  --c-surface: #FFFFFF;
  --c-surface-soft: #F3ECE3;
  --c-border: #ECE3D7;
  --c-text: #2E2A28;
  --c-text-soft: #6B6058;
  --c-muted: #9C9CA8;
  --c-primary: #E07A5F;
  --c-primary-dark: #C8634B;
  --c-secondary: #81B29A;
  --c-accent: #F2CC8F;
  --c-danger: #C0392B;
  --c-info: #5B8E7D;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --shadow-sm: 0 2px 4px rgba(46, 42, 40, 0.05);
  --shadow: 0 6px 18px rgba(46, 42, 40, 0.08);
  --shadow-lg: 0 14px 30px rgba(46, 42, 40, 0.12);
  --header-h: 56px;
  --nav-h: 68px;
  --transition: 200ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--c-bg);
  color: var(--c-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  /* safe area iPhone */
  padding-bottom: env(safe-area-inset-bottom);
}

h1, h2, h3, h4 { margin: 0 0 0.4em; font-weight: 700; letter-spacing: -0.01em; }
h1 { font-size: 1.6rem; }
h2 { font-size: 1.2rem; }
h3 { font-size: 1.05rem; }
p { margin: 0 0 0.8em; }

a { color: var(--c-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--c-primary-dark); }

img, video { max-width: 100%; display: block; }

.muted { color: var(--c-muted); }
.small { font-size: 0.85rem; }
.link { color: var(--c-primary); font-weight: 600; font-size: 0.9rem; }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.spacer-bottom { height: 90px; }

button { font: inherit; cursor: pointer; }
input, textarea, select { font: inherit; color: inherit; }
