/* ═══ Force & Douceur — design system partagé (identique à index.html) ═══ */
:root {
  --fond:    #F9E8EC;
  --accent:  #C4607A;
  --accent-d:#A94A64;
  --rose-m:  #E8A0B4;
  --rose-l:  #FDF0F4;
  --ink:     #3D1F28;
  --ink60:   #6E4C56;
  --ink30:   #A98A93;
  --white:   #FFFFFF;
  --border:  #F0D5DE;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--fond); color:var(--ink); overflow-x:hidden; line-height:1.5;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
.serif { font-family:'Cormorant Garamond',Georgia,serif; }
em { font-style:italic; }

/* ── RGPD ── */
#rgpd { position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(61,31,40,0.95);backdrop-filter:blur(8px);color:rgba(255,255,255,0.85);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;line-height:1.5; }
#rgpd a { color:var(--rose-m);text-decoration:underline; }
#rgpd button { background:var(--accent);color:#fff;border:none;border-radius:100px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0; }
#rgpd.hidden { display:none; }

/* ── TOGGLE STICKY ── */
.toggle-bar {
  position:sticky; top:0; z-index:1000;
  background:rgba(249,232,236,0.92); backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px; gap:12px;
}
.toggle-logo { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink);white-space:nowrap; }
.toggle-logo b { color:var(--accent);font-weight:600; }
.toggle-pill {
  display:inline-flex; background:var(--fond);
  border:1px solid var(--border); border-radius:100px; padding:3px;
}
.toggle-pill a {
  font-size:13px; font-weight:600; padding:7px 15px; border-radius:100px;
  color:var(--ink); transition:all 0.2s; white-space:nowrap;
}
.toggle-pill a.active { background:var(--accent); color:#fff; }
@media(max-width:400px){ .toggle-logo{ font-size:16px; } .toggle-pill a{ padding:7px 12px;font-size:12px; } }

/* ── HEADER NAV ── */
.sn { position:sticky; top:0; z-index:1000; background:rgba(249,232,236,0.92); backdrop-filter:blur(18px); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; padding:10px 16px; gap:12px; }
.sn-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:18px; color:var(--ink); white-space:nowrap; }
.sn-logo b { color:var(--accent); font-weight:600; }
.sn-links { display:flex; align-items:center; gap:20px; }
.sn-links a { font-size:14px; font-weight:600; color:var(--ink); white-space:nowrap; }
.sn-links a:hover { color:var(--accent); }
.sn-right { display:flex; align-items:center; gap:10px; }
.sn-cta { font-size:13px; padding:9px 16px; }
.sn-burger { display:none; background:none; border:none; font-size:22px; color:var(--ink); cursor:pointer; line-height:1; padding:4px; }
@media(max-width:860px){
  .sn-burger { display:block; }
  .sn-links { position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--fond); border-bottom:1px solid var(--border); padding:6px 0; display:none; box-shadow:0 8px 20px rgba(196,96,122,0.12); }
  .sn-links.open { display:flex; }
  .sn-links a { padding:12px 20px; }
}

/* ── LAYOUT ── */
section { max-width:900px; margin:0 auto; padding:64px 20px; }
.eyebrow { font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:14px; }
.sec-title { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,6vw,40px);line-height:1.15;color:var(--ink);margin-bottom:16px; }
.sec-title em { color:var(--accent); }
.lead { font-size:16px;color:var(--ink60);line-height:1.8;max-width:600px; }

/* ── Fleur séparateur ── */
.flower-div { text-align:center; padding:8px 0; }
.flower-div svg { display:inline-block; }

/* ── BOUTONS ── */
.btn { display:inline-block;border:none;cursor:pointer;font-family:inherit;font-weight:600;text-align:center;transition:all 0.2s;border-radius:100px;font-size:15px; }
.btn-primary { background:var(--accent);color:#fff;padding:15px 26px; }
.btn-primary:hover { background:var(--accent-d); }
.btn-outline { background:transparent;color:var(--accent);border:1.5px solid var(--accent);padding:14px 26px; }
.btn-outline:hover { background:var(--rose-l); }
.btn-white { background:#fff;color:var(--accent);padding:14px 26px; }
.btn-white:hover { background:var(--rose-l); }
.btn-full { display:block;width:100%; }

/* ── HERO ── */
.hero { text-align:center; padding-top:48px; }
.hero-photo { width:100%;max-width:300px;margin:0 auto 28px;aspect-ratio:4/3;border-radius:20px;overflow:hidden;border:2px solid var(--rose-m);box-shadow:0 12px 36px rgba(196,96,122,0.18); }
.hero-photo img { width:100%;height:100%;object-fit:cover; }
.hero h1 { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(38px,9vw,64px);line-height:1.05;color:var(--ink);margin-bottom:18px; }
.hero h1 em { color:var(--accent); }
.hero-text { font-size:16px;color:var(--ink60);line-height:1.85;max-width:520px;margin:0 auto 32px; }
.hero-text em { color:var(--accent);font-style:italic; }
.stats { display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:440px;margin:0 auto 32px; }
@media(min-width:560px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stat { background:var(--white);border:1px solid var(--border);border-radius:16px;padding:16px 10px;box-shadow:0 2px 12px rgba(196,96,122,0.06); }
.stat-num { font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--accent);font-weight:400;line-height:1; }
.stat-lbl { font-size:11px;color:var(--ink60);margin-top:6px;line-height:1.4; }
.hero-btns { display:flex;flex-direction:column;gap:12px;max-width:320px;margin:0 auto; }
@media(min-width:520px){ .hero-btns{ flex-direction:row;justify-content:center;max-width:none; } .hero-btns .btn{ flex:0 1 auto; } }

/* ── PORTES (accueil) ── */
.hero-doors { display:grid;grid-template-columns:1fr;gap:14px;max-width:560px;margin:36px auto 0; }
@media(min-width:560px){ .hero-doors{ grid-template-columns:1fr 1fr; } }
.door { background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px 20px;text-align:left;box-shadow:0 2px 12px rgba(196,96,122,0.07);transition:all 0.2s;display:block; }
.door:hover { border-color:var(--accent);box-shadow:0 6px 20px rgba(196,96,122,0.14); }
.door-ic { font-size:26px;margin-bottom:8px; }
.door-t { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--ink);margin-bottom:4px; }
.door-d { font-size:13px;color:var(--ink60);line-height:1.5; }
.door-arrow { color:var(--accent);font-weight:600;font-size:14px;margin-top:8px;display:inline-block; }

/* ── NOTRE HISTOIRE ── */
.histoire-grid { display:grid;grid-template-columns:1fr;gap:32px;align-items:center; }
@media(min-width:720px){ .histoire-grid{ grid-template-columns:1fr 1fr;gap:48px; } }
.histoire-text p { font-size:15px;color:var(--ink60);line-height:1.9;margin-bottom:16px; }
.histoire-photo { position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:360px;margin:0 auto;width:100%;border:2px solid var(--rose-m);box-shadow:0 12px 36px rgba(196,96,122,0.18); }
.histoire-photo img { width:100%;height:100%;object-fit:cover; }
.histoire-badge { position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,0.94);backdrop-filter:blur(6px);border-radius:14px;padding:12px 16px;text-align:center; }
.histoire-badge strong { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--ink);font-weight:600;display:block; }
.histoire-badge span { font-size:12px;color:var(--ink60); }
.link-arrow { display:inline-block;margin-top:8px;color:var(--accent);font-weight:600;font-size:15px; }
.link-arrow:hover { text-decoration:underline; }

/* ── SESSIONS ── */
.sessions-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px; }
@media(min-width:640px){ .sessions-grid{ grid-template-columns:1fr 1fr; } }
.session-card { border-radius:22px;padding:28px 24px;display:flex;flex-direction:column; }
.session-card.light { background:var(--white);border:1px solid var(--border);box-shadow:0 4px 20px rgba(196,96,122,0.08); }
.session-card.accent { background:var(--accent);color:#fff; }
.session-ic { font-size:32px;margin-bottom:14px; }
.session-card h3 { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px;font-weight:600;margin-bottom:10px; }
.session-card.light h3 { color:var(--ink); }
.session-card p { font-size:14px;line-height:1.75;margin-bottom:18px;flex:1; }
.session-card.light p { color:var(--ink60); }
.session-card.accent p { color:rgba(255,255,255,0.9); }
.session-price { font-size:14px;font-weight:600;margin-bottom:18px; }
.session-card.light .session-price { color:var(--accent); }

/* ── TÉMOIGNAGES ── */
.temo-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px; }
@media(min-width:720px){ .temo-grid{ grid-template-columns:repeat(3,1fr); } }
.temo-card { background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 2px 12px rgba(196,96,122,0.07);display:flex;flex-direction:column; }
.temo-stars { font-size:14px;margin-bottom:12px; }
.temo-verif { font-size:11px;color:var(--accent);font-weight:600;margin-bottom:10px; }
.temo-txt { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--ink);line-height:1.6;margin-bottom:14px;flex:1; }
.temo-auteur { font-size:12px;color:var(--ink60);font-weight:600; }
.temo-note { text-align:center;font-size:12px;color:var(--ink30);margin-top:18px;font-style:italic; }

/* ── APPLICATION / FEATURES ── */
.app-wrap { display:grid;grid-template-columns:1fr;gap:36px;align-items:center; }
@media(min-width:760px){ .app-wrap{ grid-template-columns:1.1fr 0.9fr; } }
.app-features { display:grid;grid-template-columns:1fr;gap:14px;margin:24px 0 28px; }
@media(min-width:480px){ .app-features{ grid-template-columns:1fr 1fr; } }
.app-feat { background:var(--white);border:1px solid var(--border);border-radius:14px;padding:16px; }
.app-feat-ic { font-size:24px;margin-bottom:8px; }
.app-feat-t { font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px; }
.app-feat-d { font-size:12px;color:var(--ink60);line-height:1.5; }

/* ── CTA FINAL ── */
.cta-final { background:var(--accent);color:#fff;max-width:none; }
.cta-inner { max-width:560px;margin:0 auto;text-align:center; }
.cta-final .eyebrow { color:rgba(255,255,255,0.75); }
.cta-final h2 { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,6vw,42px);line-height:1.15;margin-bottom:14px; }
.cta-final h2 em { font-style:italic; }
.cta-final p { font-size:16px;color:rgba(255,255,255,0.9);line-height:1.7;margin-bottom:28px; }
.cta-form { display:flex;flex-direction:column;gap:12px;max-width:400px;margin:0 auto; }
.cta-form input { width:100%;border:none;border-radius:100px;padding:15px 20px;font-family:inherit;font-size:15px;color:var(--ink);outline:none; }
.cta-form .btn-white { font-size:15px; }
.cta-rgpd { display:flex;align-items:flex-start;gap:8px;text-align:left;font-size:11px;color:rgba(255,255,255,0.8);line-height:1.5; }
.cta-rgpd input { width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:#fff; }
.cta-error { font-size:13px;color:#fff;background:rgba(0,0,0,0.15);border-radius:10px;padding:10px;display:none; }
.cta-success { display:none;font-size:16px;line-height:1.7; }

/* ── OFFRES PRO ── */
.offer-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px; }
@media(min-width:640px){ .offer-grid{ grid-template-columns:1fr 1fr; } }
.offer-card { background:var(--white);border:1px solid var(--border);border-radius:22px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(196,96,122,0.08); }
.offer-card h3 { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px;font-weight:600;color:var(--ink);margin-bottom:6px; }
.offer-price { font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--accent);font-weight:400;margin-bottom:14px; }
.offer-price span { font-size:13px;color:var(--ink30);font-family:inherit; }
.offer-card ul { list-style:none;margin-bottom:20px;flex:1; }
.offer-card li { font-size:14px;color:var(--ink60);line-height:1.6;padding-left:22px;position:relative;margin-bottom:8px; }
.offer-card li::before { content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700; }

/* ── FOOTER ── */
.footer { background:var(--ink);color:rgba(255,255,255,0.6);padding:44px 20px;text-align:center; }
.footer-logo { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:rgba(255,255,255,0.9);margin-bottom:8px; }
.footer-tag { font-size:13px;color:rgba(255,255,255,0.55);margin-bottom:20px; }
.footer-links { display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;font-size:13px;margin-bottom:18px; }
.footer-links a { color:rgba(255,255,255,0.6); }
.footer-links a:hover { color:var(--rose-m); }
.footer-note { font-size:11px;color:rgba(255,255,255,0.35);line-height:1.7; }
.footer-note strong { color:var(--rose-m); }

/* ── Reveal ── */
.reveal { opacity:0;transform:translateY(20px); }
.revealed { animation:fadeUp 0.6s ease both; }
@keyframes fadeUp { to{opacity:1;transform:translateY(0)} }
