/* Legal pages (informations-legales, politique-cookies). Extracted from the
   Trello prototype and SCOPED under .legal-doc so its generic selectors
   (body, h1, p, footer…) never leak onto the shared site chrome. */

@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;900&family=Amiri:wght@400;700&display=swap');

  :root{
    --ink:#0f2438;
    --paper:#f4f7fb;
    --card:#ffffff;
    --olive:#0f5aa8;
    --olive-deep:#094a8c;
    --gold:#a68b00;
    --accent:#f7ec11;
    --line:#d7e1ee;
    --muted:#5c6a78;
  }
.legal-doc .lang-switch {
    position:sticky;
    top:0;
    z-index:10;
    display:flex;
    justify-content:center;
    gap:8px;
    padding:14px 0;
    background:rgba(244,247,251,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
    margin-bottom:8px;
  }
.legal-doc .lang-btn {
    font-family:'Tajawal', sans-serif;
    font-size:14px;
    font-weight:700;
    padding:8px 20px;
    border-radius:999px;
    border:1.5px solid var(--olive-deep);
    background:transparent;
    color:var(--olive-deep);
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
.legal-doc .lang-btn.active {
    background:var(--olive-deep);
    color:var(--accent);
  }
.legal-doc .lang-btn:not(.active):hover {
    background:rgba(9,74,140,0.08);
  }
.legal-doc [hidden] {display:none !important;}
.legal-doc * {box-sizing:border-box;}
.legal-doc {margin:0;padding:0;overflow-x:hidden;}
.legal-doc {
    max-width:100vw;
    word-wrap:break-word;
    overflow-wrap:break-word;
    background:var(--paper);
    background-image:
      radial-gradient(circle at 15% 8%, rgba(9,74,140,0.06), transparent 40%),
      radial-gradient(circle at 90% 85%, rgba(247,236,17,0.10), transparent 45%);
    color:var(--ink);
    font-family:'Tajawal', sans-serif;
    line-height:1.9;
    padding:0;
  }
.legal-doc .wrap {
    max-width:880px;
    margin:0 auto;
    padding:56px 24px 90px;
  }
.legal-doc .masthead {
    text-align:center;
    margin-bottom:44px;
    padding-bottom:32px;
    border-bottom:1px solid var(--line);
    position:relative;
  }
.legal-doc .logo {
    width:96px;
    height:96px;
    margin:0 auto 18px;
    display:block;
    border-radius:50%;
    box-shadow:0 2px 8px rgba(9,74,140,0.18);
  }
.legal-doc .eyebrow {
    font-family:'Amiri', serif;
    letter-spacing:.08em;
    color:var(--gold);
    font-size:14px;
    margin-bottom:10px;
  }
.legal-doc h1 {
    font-family:'Amiri', serif;
    font-weight:700;
    font-size:44px;
    margin:0 0 8px;
    color:var(--olive-deep);
  }
.legal-doc .sub {
    color:var(--muted);
    font-size:16px;
  }
.legal-doc .divider-mark {
    width:64px;height:3px;background:var(--accent);
    margin:20px auto 0;
  }
.legal-doc .card {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:4px;
    padding:36px 40px;
    margin-bottom:28px;
    box-shadow:0 1px 3px rgba(9,74,140,0.06);
  }
.legal-doc h2 {
    font-size:22px;
    font-family:'Amiri', serif;
    color:var(--olive-deep);
    margin:0 0 20px;
    display:flex;
    align-items:center;
    gap:12px;
  }
.legal-doc h2::before {
    content:"";
    width:8px;height:8px;
    background:var(--accent);
    border-radius:50%;
    flex-shrink:0;
    box-shadow:0 0 0 3px rgba(9,74,140,0.08);
  }
.legal-doc h3 {
    font-size:17px;
    color:var(--olive);
    margin:24px 0 10px;
    font-weight:700;
  }
.legal-doc p {
    margin:0 0 14px;
    font-size:16px;
    color:#1c2e40;
  }
.legal-doc .info-table {
    width:100%;
    border-collapse:collapse;
    margin-top:8px;
  }
.legal-doc .info-table tr {
    border-bottom:1px solid var(--line);
  }
.legal-doc .info-table tr:last-child {border-bottom:none;}
.legal-doc .info-table td {
    padding:12px 0;
    font-size:15.5px;
    vertical-align:top;
  }
.legal-doc .info-table td.label {
    color:var(--muted);
    width:180px;
    font-weight:500;
    padding-inline-end:16px;
  }
.legal-doc .info-table td.value {
    color:var(--ink);
    font-weight:500;
  }
.legal-doc .pending {
    color:var(--gold);
    font-style:italic;
    font-size:14px;
  }
.legal-doc .notice-box {
    background:rgba(9,74,140,0.06);
    border-inline-start:3px solid var(--olive);
    border-radius:0 4px 4px 0;
    padding:18px 22px;
    margin:20px 0 0;
    font-size:15px;
    color:var(--olive-deep);
  }
.legal-doc ul.prohibitions {
    margin:14px 0;
    padding-inline-start:20px;
  }
.legal-doc ul.prohibitions li {
    margin-bottom:8px;
    font-size:16px;
  }
.legal-doc footer {
    text-align:center;
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:13px;
  }
.legal-doc .footer-links {
    margin-bottom:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }
.legal-doc .footer-links a {
    color:var(--olive-deep);
    text-decoration:none;
    font-weight:700;
    font-size:13px;
    border-bottom:1px solid transparent;
    transition:border-color .15s ease;
  }
.legal-doc .footer-links a:hover {
    border-color:var(--olive-deep);
  }
.legal-doc .footer-links .sep {
    color:var(--line);
  }
@media (max-width:600px){
.legal-doc .wrap {padding:28px 14px 50px;}
.legal-doc .logo {width:76px;height:76px;margin-bottom:14px;}
.legal-doc .eyebrow {font-size:12px;}
.legal-doc h1 {font-size:28px;}
.legal-doc .sub {font-size:14px;padding:0 8px;}
.legal-doc .masthead {margin-bottom:32px;padding-bottom:24px;}
.legal-doc .card {padding:20px 16px;margin-bottom:18px;border-radius:8px;}
.legal-doc h2 {font-size:19px;gap:10px;}
.legal-doc h3 {font-size:15.5px;margin:18px 0 8px;}
.legal-doc p {font-size:14.5px;margin:0 0 12px;}
.legal-doc ul.prohibitions li {font-size:14.5px;}
.legal-doc .notice-box {padding:14px 16px;font-size:14px;}
.legal-doc .info-table, .legal-doc .info-table tbody, .legal-doc .info-table tr, .legal-doc .info-table td {
      display:block;
      width:100%;
    }
.legal-doc .info-table tr {
      padding:12px 0;
    }
.legal-doc .info-table td {padding:0;}
.legal-doc .info-table td.label {
      width:100%;
      font-size:12.5px;
      color:var(--gold);
      font-weight:700;
      padding-inline-end:0;
      margin-bottom:4px;
      text-transform:uppercase;
      letter-spacing:.02em;
    }
.legal-doc .info-table td.value {
      font-size:15px;
      padding-bottom:2px;
    }
.legal-doc footer {font-size:12px;margin-top:28px;padding-top:18px;}}
@media (max-width:360px){
.legal-doc h1 {font-size:24px;}
.legal-doc .card {padding:16px 14px;}}