/* ================================================
   beLucid Coaching — style.css
   Fichier CSS partagé — à placer à la RACINE du site
   Les chemins de polices sont relatifs à ce fichier
   ================================================ */

/* ── POLICES LOCALES ──────────────────────────── */
@font-face {
  font-family: 'Astonpoliz';
  src: url('astonpoliz.woff2') format('woff2'),
       url('astonpoliz.ttf')  format('truetype');
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mistrully';
  src: url('mistrully.woff2') format('woff2'),
       url('mistrully.ttf')  format('truetype');
  font-weight: normal;
  font-display: swap;
}

/* ── GOOGLE FONTS ─────────────────────────────
   À ajouter dans le <head> de chaque page :
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link href="https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap" rel="stylesheet">
──────────────────────────────────────────────── */

/* ── TOKENS ───────────────────────────────────── */
:root {
  --navy:     #001A33;
  --teal:     #008080;
  --cyan:     #0696B0;
  --gold:     #CBA135;
  --orange:   #FF751F;
  --metallic: #D5B35D;
  --cornsilk: #E8E0D9;
  --beige:    #EFECE6;
  --floral:   #F7F5F2;
  --white:    #FFFFFF;
  --fond:     url('Fond_1.jpg');

  --font-title:  'Astonpoliz', 'Comfortaa', sans-serif;
  --font-sub:    'Comfortaa', sans-serif;
  --font-body:   'Cormorant Garamond', Georgia, serif;
  --font-script: 'Mistrully', cursive;
}

/* ── RESET ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { font-size: 16px; scroll-behavior: smooth; }
body  { font-family: var(--font-body); color: var(--navy); background: var(--floral); overflow-x: hidden; }
img   { max-width: 100%; display: block; }
a     { color: inherit; }
ul    { list-style: none; }

================================================
       LAYOUT — MOBILE FIRST
    ================================================ */
    .site-layout {
      display: flex;
      flex-direction: column;
    }

/* ── LAYOUT SPLIT ────────────────────────────── */
.site-layout { display: flex; flex-direction: column; }
.panel-right { flex: 1; }

/* ── PANNEAU GAUCHE BASE ─────────────────────── */
/* La couleur de fond varie par page :
   home       → var(--floral)  + texte navy
   souveraine → var(--teal)    + texte white
   elan       → var(--navy)    + texte white
   pro        → var(--navy)    + texte white
   Ces surcharges restent dans le <style> de chaque page */
.panel-left {
  padding: 2rem 1.75rem;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ── NAVIGATION ───────────────────────────────── */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
}

.logo img       { height: 32px; width: auto; object-fit: contain; }
.logo-fallback  { font-family: var(--font-title); font-size: 1.1rem; letter-spacing: .06em; text-transform: lowercase; text-decoration: none; }

.nav-links      { display: none; gap: 1.5rem; }
.nav-links a    { font-family: var(--font-sub); font-size: .7rem; text-decoration: none; letter-spacing: .14em; text-transform: uppercase; transition: color .3s; }
.nav-links a:hover { color: var(--gold); }

.nav-back       { font-family: var(--font-sub); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; transition: color .3s; }
.nav-back:hover { color: var(--gold); }

/* ── PANNEAU STATEMENT ────────────────────────── */
.panel-statement  { padding: 3.5rem 0 2rem; }
.panel-eyebrow    { font-family: var(--font-sub); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; margin-bottom: .75rem; }
.panel-title      { font-family: var(--font-title); font-size: clamp(3.5rem, 8vw, 6.5rem); line-height: 1.05; letter-spacing: -.03em; text-transform: uppercase; font-weight: normal; padding-top: .1em; }
.panel-tagline    { font-family: var(--font-script); font-size: clamp(1.4rem, 3vw, 2rem); color: var(--gold); margin-top: .75rem; display: block; }
.panel-sub        { font-family: var(--font-body); font-size: 1.1rem; font-style: italic; margin-top: 1rem; max-width: 30ch; line-height: 1.65; }

/* Statement home (variante) */
.statement-title   { font-family: var(--font-title); font-size: clamp(2.8rem, 7vw, 5.2rem); line-height: 1.02; letter-spacing: -.02em; text-transform: uppercase; font-weight: normal; }
.statement-title em { font-style: normal; color: var(--gold); display: block; }
.statement-slogan  { font-family: var(--font-script); font-size: clamp(1.6rem, 3.5vw, 2.4rem); margin-top: .75rem; display: block; }
.statement-sub     { font-family: var(--font-body); font-size: 1.3rem; font-style: italic; margin-top: 1rem; max-width: 35ch; line-height: 1.65; }

/* ── CTA COMMUNS ──────────────────────────────── */
.panel-cta { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }

.btn-primary { display: inline-block; background: var(--orange); color: var(--white); font-family: var(--font-sub); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 1rem 2rem; transition: background .3s, transform .25s; }
.btn-primary:hover { background: var(--teal); transform: translateX(5px); }

.btn-gold { display: inline-block; background: var(--gold); color: var(--navy); font-family: var(--font-sub); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 1rem 2rem; transition: background .3s, transform .25s; }
.btn-gold:hover { background: var(--white); transform: translateX(5px); }

.btn-orange { display: inline-block; background: var(--orange); color: var(--white); font-family: var(--font-sub); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 1rem 2rem; transition: background .3s, transform .25s; }
.btn-orange:hover { background: var(--teal); transform: translateX(5px); }

.btn-dark { display: inline-block; margin-top: 2rem; background: var(--navy); color: var(--white); font-family: var(--font-sub); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 1rem 2rem; transition: background .3s; }
.btn-dark:hover { background: var(--teal); }

.btn-white { display: inline-block; margin-top: 2rem; background: var(--white); color: var(--teal); font-family: var(--font-sub); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 1rem 2rem; transition: background .3s, color .3s; }
.btn-white:hover { background: var(--gold); color: var(--navy); }

.btn-ghost { font-family: var(--font-sub); font-size: .78rem; text-decoration: none; letter-spacing: .1em; display: inline-flex; align-items: center; gap: .4rem; transition: color .3s; }
.btn-ghost:hover { color: var(--gold); }

/* ── SECTION UTILITAIRES ──────────────────────── */
.section-eyebrow { font-family: var(--font-sub); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; margin-bottom: .75rem; }

/* ── INCLUS (commun souveraine + élan) ────────── */
.inclus-section { padding: 5rem 2rem; }
.inclus-section__title { font-family: var(--font-title); font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; font-weight: normal; color: var(--navy); margin-bottom: 2.5rem; }
.inclus-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.inclus-item { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.5rem; border: 1.5px solid rgba(0,26,51,.1); background: rgba(255,255,255,.5); align-items: start; }
.inclus-item__icon { width: 10px; height: 10px; border-radius: 50%; margin-top: .5rem; flex-shrink: 0; }
.inclus-item__text { font-family: var(--font-body); font-size: 1.1rem; line-height: 1.6; color: var(--navy); }
.inclus-item__text strong { font-weight: 600; font-style: italic; }

/* ── ZONES GRISES ─────────────────────────────── */
.zg-section       { background: var(--floral); padding: 4rem 2rem; border-top: 4px solid var(--orange); }
.zg-section__inner { display: flex; flex-direction: column; gap: 1.25rem; }
.zg-section__title { font-family: var(--font-title); font-size: clamp(1.8rem, 3.5vw, 2.8rem); text-transform: uppercase; font-weight: normal; color: var(--navy); max-width: 22ch; }
.zg-section__desc  { font-family: var(--font-body); font-size: 1.1rem; font-style: italic; line-height: 1.7; color: rgba(0,26,51,.65); max-width: 50ch; }
.zg-logo  { height: 52px; width: auto; max-width: 180px; object-fit: contain; display: block; opacity: .8; }
.zg-badge { display: inline-flex; align-items: center; gap: .6rem; padding: .6rem 1.2rem; border: 1.5px solid var(--teal); font-family: var(--font-sub); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); width: fit-content; }
.zg-badge::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--teal); flex-shrink: 0; }

/* ── FOOTER ───────────────────────────────────── */
.site-footer { background: var(--navy); padding: 2rem 1.75rem; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid rgba(255,255,255,.08); }
.footer__logo img        { height: 28px; width: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: .7; }
.footer__logo-fallback   { font-family: var(--font-title); font-size: 1rem; color: var(--white); text-transform: lowercase; letter-spacing: .06em; text-decoration: none; }
.footer__logo-fallback span { color: var(--teal); }
.footer__links   { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.footer__links a { font-family: var(--font-sub); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); text-decoration: none; transition: color .3s; }
.footer__links a:hover { color: var(--gold); }
.footer__copy    { width: 100%; font-family: var(--font-body); font-size: .85rem; font-style: italic; color: rgba(255,255,255,.3); }

/* ── DESKTOP ──────────────────────────────────── */
@media (min-width: 1024px) {
  .site-layout { flex-direction: row; align-items: flex-start; }
  .panel-left  { width: 40%; flex-shrink: 0; position: sticky; top: 0; height: 100svh; padding: 2.5rem 3rem; overflow: hidden; }
  .nav-links   { display: flex; }
  .inclus-grid { grid-template-columns: 1fr 1fr; }
}

/* ── ANIMATIONS ───────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .panel-title   { animation: slideUp .9s cubic-bezier(.16, 1, .3, 1) both; }
  .panel-tagline { animation: slideUp .9s .15s cubic-bezier(.16, 1, .3, 1) both; }
  .panel-sub, .panel-cta, .statement-sub, .panel-cta { animation: fadeIn 1s .35s both; }

  @keyframes slideUp {
    from { transform: translateY(32px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
  }
  @keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
}

/* ================================================
   CE QUI RESTE DANS LE <style> DE CHAQUE PAGE
   ================================================
   index.html (home) :
     .panel-left { background: var(--floral); color: var(--navy); }
     .logo img { filter: none; }  /* logo couleurs sur fond clair */
     .nav-links a { color: var(--navy); }
     .btn-ghost { color: rgba(0,26,51,.5); }
     .panel-sub { color: var(--navy); }
     + tous les styles spécifiques home (dual-card, méthode, etc.)

   souveraine/index.html :
     .panel-left { background: var(--teal); color: var(--white); }
     .panel-eyebrow { color: rgba(255,255,255,.55); }
     .btn-ghost { color: rgba(255,255,255,.5); }
     + styles spécifiques (signal-list, audit-steps, timeline, etc.)

   elan/index.html :
     .panel-left { background: var(--navy); color: var(--white); }
     .panel-eyebrow { color: var(--orange); }
     .btn-ghost { color: rgba(255,255,255,.4); }
     + styles spécifiques (transitions-grid, formules, etc.)

   professionnels/index.html :
     .panel-left { background: var(--navy); color: var(--white); }
     .panel-eyebrow { color: var(--orange); }
     + styles spécifiques (maillon, vigilance, protocole, etc.)

   contact/index.html :
     .panel-left { background: var(--cornsilk); color: var(--navy); }
     + styles spécifiques (formulaire, réservation)
================================================ */
