
:root{
  --bg:#faf6f2;
  --card:#ffffff;
  --ink:#2b2b2b;
  --muted:#6b7280;
  --rose:#f4dfdf;
  --gold:#d4af37;
  --insolite:#e8e0ff;
  --quartier:#e7f5e7;
  --ring: 0 0 0 3px rgba(212,140,140,.35);
  --radius:16px;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}
:root.dark{
  --bg:#121317;
  --card:#1a1c22;
  --ink:#eaeaea;
  --muted:#b4b7bf;
  --rose:#2a2224;
  --quartier:#1f2a1f;
  --insolite:#232033;
}
body{ margin:0; background:var(--bg); color:var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  line-height:1.5;
}
.site-header{ text-align:center; padding:28px 16px 12px }
.site-header h1{ margin:0; font-size:clamp(26px, 6vw, 40px) }
.tagline{ margin:6px 0 0; color:var(--muted) }
.container{ max-width:880px; margin:0 auto; padding:10px 16px 40px }

.controls{ position:sticky; top:0; z-index:10;
  background:linear-gradient(180deg, var(--bg), rgba(250,246,242,.6));
  backdrop-filter: blur(4px);
  border-bottom:1px solid rgba(0,0,0,.05);
  padding:10px 0 12px; margin:0 -16px 10px;
}
.filters{ padding:0 16px }
.filters h2{ font-size:18px; margin:6px 0 8px }
.chips{ display:flex; flex-wrap:wrap; gap:8px }
.chip{ display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px; border:1px solid #e9d9d9;
  background:#fff; box-shadow: var(--shadow); cursor:pointer; user-select:none }
.chip input{ accent-color:#d48c8c }
.chip span{ font-weight:600; font-size:14px }

.actions{ display:flex; align-items:center; gap:10px; padding:8px 16px 12px }
.actions .btn{ margin-left:auto }
.toggle{ display:inline-flex; align-items:center; gap:6px; font-weight:700 }
.toggle input{ width:22px; height:22px; accent-color:#d48c8c }

.cards{ display:grid; grid-template-columns:1fr; gap:10px }
.card{ background:var(--card); border-radius:16px; padding:14px;
  box-shadow: var(--shadow); border:1px solid rgba(0,0,0,.04) }
.card-top{ display:flex; gap:12px; align-items:flex-start }
.card .name{ margin:0; font-size:18px }
.card .desc{ margin:4px 0 6px; color:var(--muted) }
.card .meta{ margin:0; font-size:13px; color:#8b8b8b }
.badges{ display:flex; gap:8px; align-items:center; margin-top:8px }
.badge{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:var(--rose); font-weight:700; font-size:12px }
.badge.quartier{ background:var(--quartier) }
.badge.insolite{ background:var(--insolite) }
.link{ color:#3b82f6; text-decoration:none }
.link:hover{ text-decoration:underline }

.picked{ padding:6px 16px; font-size:14px; display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.picked .chip{ opacity:.9 }

.suggestions{ padding:10px 0 20px }
.suggestions h3{ font-size:16px; margin:10px 0 }
.suggestions .chips .chip{ background:#fff4 }

.btn{ appearance:none; border:0; background:#fff; padding:12px 16px; border-radius:12px; font-weight:700; box-shadow: var(--shadow); cursor:pointer }
.btn.primary{ background:linear-gradient(180deg, #f5dcdc, #f0caca); border:1px solid #e9bcbc }
.btn:focus{ outline:none; box-shadow: 0 0 0 3px rgba(212,140,140,.35) }

@media (min-width: 680px){ .cards{ grid-template-columns:1fr 1fr } }
