/* ═══════════════════════════════════════════════════════════════════
   ATOM Coaching & Consulting — pages/confidentialite.css
═══════════════════════════════════════════════════════════════════ */

    :root {
      --ivory:    #FAF6F0;
      --sand:     #F0E8D8;
      --terra:    #C4785A;
      --brown:    #8B6B55;
      --brown-lt: #B09080;
      --deep:     #3D2B1F;
      --rule:     #D4B898;
      --nav-h:    64px;
      --font-serif: 'Cormorant Garamond', Georgia, serif;
      --font-sans:  'Jost', sans-serif;
      --max-w: 680px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      background: var(--ivory);
      color: var(--deep);
      font-family: var(--font-sans);
      font-weight: 300;
      font-size: 15px;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

        /* ── NAV ── */
    nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      height: var(--nav-h);
      background: rgba(250, 246, 240, 0.96);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--rule);
      z-index: 200;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 clamp(20px, 5vw, 60px);
    }

    .nav-logo {
      display: flex;
      flex-direction: column;
      gap: 1px;
      text-decoration: none;
    }

    .nav-logo-main {
      font-family: var(--font-serif);
      font-size: 1.4rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--deep);
      line-height: 1;
    }

    .nav-logo-sub {
      font-family: var(--font-sans);
      font-size: 0.46rem;
      font-weight: 300;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--brown-lt);
      line-height: 1;
    }

    .nav-center {
      display: flex;
      align-items: center;
      gap: clamp(1.4rem, 2vw, 2.1rem);
      list-style: none;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
    }

    .nav-center a {
      font-family: var(--font-sans);
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--brown);
      text-decoration: none;
      transition: color 0.2s;
      white-space: nowrap;
    }

    .nav-center a:hover { color: var(--terra); }

    .nav-burger {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
      flex-shrink: 0;
    }

    .nav-burger span {
      display: block;
      width: 22px;
      height: 1px;
      background: var(--deep);
      transition: transform 0.3s, opacity 0.3s;
    }

    .nav-burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg) scaleX(0.72); }
    .nav-burger.open span:nth-child(2) { opacity: 0; }
    .nav-burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg) scaleX(0.72); }

    .mobile-menu {
      display: none;
      position: fixed;
      top: var(--nav-h);
      left: 0; right: 0;
      background: var(--ivory);
      border-bottom: 1px solid var(--rule);
      padding: 24px clamp(20px, 5vw, 60px) 28px;
      z-index: 190;
      flex-direction: column;
      max-height: calc(100vh - var(--nav-h));
      overflow-y: auto;
    }

    .mobile-menu.open { display: flex; }

    .mobile-nav-list {
      list-style: none;
      display: flex;
      flex-direction: column;
    }

    .mob-link {
      font-family: var(--font-sans);
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--brown);
      text-decoration: none;
      padding: 14px 0;
      border-bottom: 0.5px solid var(--rule);
      transition: color 0.2s;
      display: block;
    }
    .mobile-nav-list li:last-child .mob-link { border-bottom: none; }
    .mob-link:hover { color: var(--terra); }

    @media (max-width: 1150px) {
      .nav-center { display: none; }
      .nav-burger { display: flex; }
      .mobile-menu.open { display: flex; }
    }

    /* ── PAGE ── */
    .legal-page { padding-top: var(--nav-h); }

    .legal-hero {
      padding: clamp(48px, 7vw, 88px) clamp(24px, 5vw, 64px) clamp(32px, 4vw, 48px);
      max-width: var(--max-w);
      margin: 0 auto;
    }

    .legal-eyebrow {
      font-family: var(--font-sans);
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--terra);
      opacity: 0.65;
      margin-bottom: 14px;
    }

    .legal-hero h1 {
      font-family: var(--font-serif);
      font-size: clamp(1.75rem, 3.5vw, 2.5rem);
      font-weight: 400;
      line-height: 1.15;
      color: var(--deep);
      margin-bottom: 10px;
    }

    .legal-intro {
      font-family: var(--font-sans);
      font-size: 0.82rem;
      font-weight: 300;
      color: var(--brown-lt);
    }

    .legal-divider {
      max-width: var(--max-w);
      margin: 0 auto;
      height: 1px;
      background: var(--rule);
      opacity: 0.5;
    }

    .legal-content {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: clamp(36px, 5vw, 60px) clamp(24px, 5vw, 48px) clamp(60px, 9vw, 104px);
    }

    .legal-section {
      padding-bottom: clamp(28px, 4vw, 40px);
      margin-bottom: clamp(28px, 4vw, 40px);
      border-bottom: 1px solid rgba(212, 184, 152, 0.35);
    }

    .legal-section:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .legal-section h2 {
      font-family: var(--font-sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--brown-lt);
      margin-bottom: 12px;
    }

    .legal-section p {
      font-family: var(--font-sans);
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--brown);
      line-height: 1.85;
      margin-bottom: 8px;
    }

    .legal-section p:last-child { margin-bottom: 0; }

    .legal-section ul {
      list-style: none;
      margin: 4px 0 8px 0;
    }

    .legal-section ul li {
      font-family: var(--font-sans);
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--brown);
      line-height: 1.85;
      padding-left: 14px;
      position: relative;
      margin-bottom: 2px;
    }

    .legal-section ul li::before {
      content: '\2013';
      position: absolute;
      left: 0;
      color: var(--rule);
    }

    .legal-section a {
      color: var(--brown);
      text-decoration: underline;
      text-underline-offset: 3px;
      text-decoration-color: rgba(212, 184, 152, 0.7);
      transition: color 0.2s, text-decoration-color 0.2s;
    }

    .legal-section a:hover {
      color: var(--terra);
      text-decoration-color: var(--terra);
    }

    .admin-note {
      margin-top: 10px;
      font-family: var(--font-sans);
      font-size: 0.775rem;
      font-weight: 300;
      color: var(--brown-lt);
      line-height: 1.75;
      font-style: italic;
    }

    .legal-note {
      margin-top: 10px;
      font-family: var(--font-sans);
      font-size: 0.775rem;
      font-weight: 300;
      color: var(--brown-lt);
      line-height: 1.75;
    }

    /* ── FOOTER ── */
    


    


    

    

    

    
    

    @media (max-width: 600px) {
  
    }
  
  /* ── Focus visible (accessibilité clavier) ── */
  a:focus-visible,
  button:focus-visible {
    outline: 2px solid var(--terra);
    outline-offset: 3px;
    border-radius: 2px;
  }

/* ═══════════════════════════════════════════════════
   FOOTER — Composant unifié ATOM v2.35
═══════════════════════════════════════════════════ */
footer {
  background: var(--deep);
  overflow: hidden;
}

.footer-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 5vw, 3.5rem);
}

.footer-inner {
  padding: 1.75rem 0 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid rgba(212, 184, 152, 0.12);
  flex-wrap: nowrap;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex-shrink: 0;
}

.footer-logo-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: var(--ivory);
  line-height: 1;
}

.footer-logo-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.48rem;
  font-weight: 300;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--terra);
  line-height: 1;
}

.footer-coords {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0 0.65rem;
  justify-content: flex-end;
  flex-shrink: 1;
  min-width: 0;
}

.footer-coord {
  font-family: 'Jost', sans-serif;
  font-size: 0.67rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  color: rgba(240, 232, 216, 0.62);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}

a.footer-coord:hover { color: var(--ivory); }

.footer-coord-sep {
  font-size: 0.5rem;
  color: rgba(212, 184, 152, 0.2);
  user-select: none;
  flex-shrink: 0;
}

.footer-bottom {
  padding: 0.8rem 0 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: nowrap;
}

.footer-copy {
  font-family: 'Jost', sans-serif;
  font-size: 0.58rem;
  font-weight: 300;
  letter-spacing: 0.09em;
  color: rgba(240, 232, 216, 0.62);
  white-space: nowrap;
}

.footer-legal {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  flex-shrink: 0;
}

.footer-legal a {
  font-family: 'Jost', sans-serif;
  font-size: 0.58rem;
  font-weight: 300;
  letter-spacing: 0.09em;
  color: rgba(240, 232, 216, 0.62);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}

.footer-legal a:hover { color: var(--ivory); }
.footer-legal a.current { color: rgba(240, 232, 216, 0.65); }

/* ── Tablette : coordonnées passent sous le logo ── */
@media (max-width: 920px) {
  .footer-inner {
    flex-wrap: wrap;
    padding: 1.5rem 0 1.1rem;
    gap: 0.75rem;
  }
  .footer-coords {
    width: 100%;
    justify-content: flex-start;
  }
  .footer-bottom {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

/* ── Mobile : colonne, séparateurs supprimés ── */
@media (max-width: 520px) {
  .footer-coords {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
  }
  .footer-coord-sep { display: none; }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    padding: 0.7rem 0 1rem;
  }
  .footer-copy,
  .footer-coord { font-size: 0.65rem; letter-spacing: 0.04em; }
  .footer-legal { gap: 0.9rem; }
  .footer-legal a { font-size: 0.65rem; }
}
