  :root {
    --g-blue:#1A73E8; --g-red:#EA4335; --g-yellow:#FBBC04; --g-green:#34A853;
    --text:#16181D; --text3:#5A616E; --text4:#878E98;
    --bg:#F2EFE9; --paper:#FEFDFB; --white:#FFFFFF; --border:#DAD7D1;
    --shadow-sm:0 1px 2px rgba(22,24,29,.04), 0 4px 14px rgba(22,24,29,.05);
    --shadow-md:0 6px 20px rgba(22,24,29,.07), 0 2px 6px rgba(22,24,29,.03);
    --grad-google:linear-gradient(90deg,#4285F4 0%,#EA4335 34%,#FBBC04 67%,#34A853 100%);
    --grad-bar:var(--grad-google);
  }
  *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; }

  body {
    font-family:'DM Sans', system-ui, sans-serif;
    font-size:15px; color:var(--text); background:var(--bg);
    line-height:1.75;
  }

  /* ── HEADER ── */
  .site-header {
    background:var(--paper);
    border-bottom:1px solid var(--border);
    padding:16px 0;
    position:sticky; top:0; z-index:100;
    box-shadow:var(--shadow-sm);
  }
  .header-inner {
    max-width:900px; margin:0 auto; padding:0 24px;
    display:flex; align-items:center; gap:14px;
  }
  .nav-logo-icon { width:32px; height:32px; flex-shrink:0; }
  .nav-logo-text { display:flex; flex-direction:column; }
  .nav-logo-name {
    font-family:'Sora', sans-serif; font-size:17px; font-weight:900;
    letter-spacing:-.5px; color:var(--text); line-height:1;
  }
  .nav-logo-bar {
    height:2.5px; border-radius:2px;
    background:var(--grad-bar);
    margin-top:3px;
  }
  .nav-logo-sub {
    font-size:8px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; color:var(--text4); margin-top:3px;
  }

  /* ── NAV TABS ── */
  .tabs {
    max-width:900px; margin:32px auto 0; padding:0 24px;
    display:flex; gap:8px; flex-wrap:wrap;
  }
  .tab-btn {
    padding:9px 20px; border-radius:100px; border:1.5px solid var(--border);
    background:var(--white); color:var(--text3); font-size:13px; font-weight:700;
    cursor:pointer; font-family:'DM Sans', sans-serif;
    transition:all .15s;
  }
  .tab-btn:hover { border-color:var(--g-blue); color:var(--g-blue); }
  .tab-btn.active {
    background:var(--g-blue); color:white; border-color:var(--g-blue);
  }

  /* ── SECTIONS ── */
  .doc-section { display:none; }
  .doc-section.active { display:block; }

  .doc-wrap {
    max-width:900px; margin:32px auto 80px; padding:0 24px;
  }

  /* ── DOCUMENT CARD ── */
  .doc-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:20px; padding:clamp(28px,5vw,56px);
    box-shadow:var(--shadow-md);
  }

  /* ── TYPOGRAPHY ── */
  .doc-title {
    font-family:'Sora', sans-serif; font-size:clamp(24px,4vw,34px);
    font-weight:900; letter-spacing:-1px; color:var(--text);
    margin-bottom:6px;
  }
  .doc-subtitle {
    font-size:14px; color:var(--text4); margin-bottom:4px;
  }
  .doc-version {
    font-size:12px; color:var(--text4); font-style:italic; margin-bottom:32px;
  }
  .doc-divider {
    height:4px; border-radius:3px;
    background:var(--grad-bar);
    width:56px; margin-bottom:36px;
  }

  h2 {
    font-family:'Sora', sans-serif; font-size:16px; font-weight:700;
    color:var(--g-blue); margin:36px 0 10px; letter-spacing:-.2px;
  }
  h2:first-of-type { margin-top:0; }

  p { margin-bottom:14px; color:var(--text3); }

  ul.legal-list {
    list-style:none; margin:0 0 16px; padding:0;
  }
  ul.legal-list li {
    display:flex; align-items:flex-start; gap:10px;
    color:var(--text3); font-size:14px; margin-bottom:9px; line-height:1.6;
  }
  ul.legal-list li::before {
    content:"–"; color:var(--g-blue); font-weight:700; flex-shrink:0; margin-top:2px;
  }

  strong { color:var(--text); font-weight:700; }

  /* ── TABLE ── */
  .legal-table {
    width:100%; border-collapse:collapse; margin:16px 0 24px;
    font-size:13.5px;
  }
  .legal-table th {
    background:var(--g-blue); color:white; font-weight:700;
    padding:10px 14px; text-align:left; font-size:12px;
    letter-spacing:.5px; text-transform:uppercase;
  }
  .legal-table th:first-child { border-radius:8px 0 0 0; }
  .legal-table th:last-child  { border-radius:0 8px 0 0; }
  .legal-table td {
    padding:10px 14px; border-bottom:1px solid var(--border);
    color:var(--text3); vertical-align:top;
  }
  .legal-table tr:last-child td { border-bottom:none; }
  .legal-table tr:nth-child(even) td { background:var(--bg); }
  .legal-table td strong { color:var(--text); }

  /* ── INFO TABLE (2 cols) ── */
  .info-table {
    width:100%; border-collapse:collapse; margin:16px 0 24px; font-size:14px;
  }
  .info-table td {
    padding:9px 14px; border:1px solid var(--border); vertical-align:top;
  }
  .info-table td:first-child {
    font-weight:700; color:var(--text); background:var(--bg);
    width:40%; white-space:nowrap;
  }
  .info-table td:last-child { color:var(--text3); }
  .placeholder { color:var(--g-red); font-weight:700; }

  /* ── ALERT BOX ── */
  .alert-box {
    background:rgba(26,115,232,.06); border:1px solid rgba(26,115,232,.2);
    border-radius:12px; padding:16px 20px; margin:20px 0;
    font-size:13.5px; color:var(--text3);
  }
  .alert-box strong { color:var(--g-blue); }

  /* ── RIGHTS TABLE ── */
  .rights-table {
    width:100%; border-collapse:collapse; margin:16px 0 24px; font-size:13.5px;
  }
  .rights-table td {
    padding:10px 14px; border:1px solid var(--border); vertical-align:top;
  }
  .rights-table td:first-child {
    font-weight:700; color:var(--text); background:var(--bg); width:35%;
  }

  /* ── FOOTER ── */
  .doc-footer {
    max-width:900px; margin:0 auto 48px; padding:0 24px;
    text-align:center; font-size:12px; color:var(--text4);
  }
  .doc-footer a { color:var(--g-blue); text-decoration:none; }

  /* ══════════════════════════════
     RESPONSIVE
  ══════════════════════════════ */

  /* Empêche tout débordement horizontal */
  html, body { overflow-x:hidden; max-width:100%; }

  @media(max-width:600px) {
    /* Tabs en colonne pleine largeur */
    .tabs {
      flex-direction:column; gap:6px;
      margin:16px auto 0; padding:0 16px;
    }
    .tab-btn {
      width:100%; text-align:center;
      padding:11px 16px; font-size:12px;
      border-radius:12px;
    }

    /* Card padding réduit */
    .doc-card { padding:20px 16px; border-radius:14px; }
    .doc-wrap { padding:0 16px; margin:20px auto 48px; }

    /* Titres */
    .doc-title { font-size:22px; letter-spacing:-.5px; }
    h2 { font-size:14px; margin:24px 0 8px; }
    p { font-size:14px; }

    /* Tables info (2 colonnes) : empilées sur mobile */
    .info-table,
    .info-table tbody,
    .info-table tr,
    .info-table td { display:block; width:100%; }
    .info-table td:first-child {
      white-space:normal;
      width:100%;
      border-bottom:none;
      padding-bottom:2px;
      font-size:11px; letter-spacing:.4px;
      text-transform:uppercase; color:var(--text4);
      background:transparent; border:none;
      padding:12px 0 2px;
    }
    .info-table td:last-child {
      border:none; border-bottom:1px solid var(--border);
      padding:0 0 12px; font-size:14px;
    }
    .info-table tr:last-child td:last-child { border-bottom:none; }

    /* Table tarifs (2 cols) : reste en tableau normal */
    .price-table { width:100%; min-width:0; font-size:13px; }
    .price-table th, .price-table td { padding:10px 12px; }

    /* Tables légales multi-colonnes : scroll horizontal */
    .legal-table-wrap {
      overflow-x:auto; -webkit-overflow-scrolling:touch;
      margin:16px 0 24px; border-radius:8px;
      border:1px solid var(--border);
    }
    .legal-table-wrap .legal-table { margin:0; font-size:12px; min-width:480px; }

    /* Rights table : empilée */
    .rights-table,
    .rights-table tbody,
    .rights-table tr,
    .rights-table td { display:block; width:100%; }
    .rights-table td:first-child {
      width:100%; font-size:11px; text-transform:uppercase;
      letter-spacing:.4px; color:var(--text4); background:transparent;
      border:none; padding:12px 0 2px;
    }
    .rights-table td:last-child {
      border:none; border-bottom:1px solid var(--border);
      padding:0 0 12px; font-size:14px;
    }
    .rights-table tr:last-child td:last-child { border-bottom:none; }

    /* Alert box */
    .alert-box { padding:12px 14px; font-size:13px; }

    /* Listes */
    ul.legal-list li { font-size:13px; }
  }
