/* Theme Bistro — Rebel CMS Core V2. Couleurs = variables : change-les ici. */
:root {
  --bg: #231a15; --fg: #f5e9dc; --accent: #d4a373; --accent2: #a3423c;
  --card: #2e231c; --border: #453529; --danger: #dc2626; --radius: 8px;
  --font-title: 'Josefin Sans', sans-serif; --font-body: 'Lato', sans-serif;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--font-body); line-height:1.6; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
img { max-width:100%; }
.container { max-width:1100px; margin:0 auto; padding:0 1.2rem; }
h1,h2,h3 { font-family:var(--font-title); color:var(--fg); line-height:1.2; }
h1 { font-size:2.4rem; } h2 { font-size:1.6rem; }
.btn { display:inline-block; background:var(--accent); color:var(--bg); padding:.65rem 1.5rem;
  border:none; border-radius:var(--radius); font-weight:700; font-family:var(--font-body);
  cursor:pointer; font-size:1rem; }
.btn:hover { filter:brightness(1.12); text-decoration:none; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1.4rem; padding:1.5rem 0; }
.card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:1.4rem; }
.card h3 { margin-top:0; }
.price { color:var(--accent); font-weight:700; font-size:1.15rem; }
.hero { padding:4.5rem 0; text-align:center; }
.hero h1 { margin-bottom:1rem; }
.hero p { max-width:640px; margin:0 auto 1.5rem; opacity:.85; }
.prose { line-height:1.75; max-width:760px; }
.prose h1 { margin-top:0; }
input, select, textarea { background:var(--card); color:var(--fg); border:1px solid var(--border);
  border-radius:var(--radius); padding:.55rem .8rem; font-family:var(--font-body); }
header.site { border-bottom:2px solid var(--accent); padding:1.4rem 0 .8rem; text-align:center; background:var(--card); }
header.site .brand { font-family:var(--font-title); font-size:1.45rem; color:var(--accent);
  font-weight:800; letter-spacing:.5px; }
header.site nav a { margin:0 .7rem; color:var(--fg); font-weight:600; }
header.site nav a:hover { color:var(--accent); }
footer.site { border-top:1px solid var(--border); margin-top:3.5rem; padding:2rem 0;
  opacity:.75; font-size:.85rem; }
header.site nav { margin-top:.7rem; display:block; }
@media (max-width:700px) { h1 { font-size:1.8rem; } header.site .inner { flex-direction:column; gap:.6rem; } }
/* v1.1 */
.slider { position:relative; overflow:hidden; border-radius:var(--radius); margin:1.5rem 0; }
.slide { display:none; position:relative; }
.slide.active { display:block; }
.slide img { width:100%; display:block; }
.slide .caption { position:absolute; inset:0; display:flex; flex-direction:column;
  justify-content:center; align-items:center; text-align:center; padding:1rem;
  color:#ffffff; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.slide .caption h2 { color:#ffffff; font-size:2rem; margin:.2rem 0 .6rem; }
.slider .dots { position:absolute; bottom:14px; left:0; right:0; text-align:center; }
.slider .dots button { width:11px; height:11px; border-radius:50%; border:none; margin:0 4px;
  background:#ffffff; opacity:.45; cursor:pointer; padding:0; }
.slider .dots button.on { opacity:1; }
.features { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.2rem; margin:2.5rem 0; }
.feature { background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.4rem; text-align:center; }
.feature .ico { font-size:1.8rem; color:var(--accent); }
.card img.thumb { width:100%; border-radius:calc(var(--radius) - 2px); margin-bottom:.8rem; }
.cta { background:linear-gradient(120deg, var(--accent), var(--accent2));
  color:#ffffff; border-radius:var(--radius); padding:2.5rem 1.5rem;
  text-align:center; margin:3rem 0 1rem; }
.cta h2 { color:#ffffff; margin-top:0; }
.cta .btn { background:#ffffff; color:var(--accent); }
