/*
 * Talents Chrétiens — legal page styles
 * Extracted verbatim from the validated V3 package (privacy-policy.html).
 * Project-specific additions go in the *-wp.css files, not here.
 */

/* ==== block: base ==== */
/* ============================================================
   TALENTS CHRÉTIENS — CGU
   CSS minimal · zéro doublon · zéro mort code
   Sections : Variables · Reset · Links · Header · Breadcrumb
              Hero · Page layout · Cards · Legal content · Footer
              @media 1024px · @media 860px
   ============================================================ */

/* ── VARIABLES ── */
:root {
  --navy-100: #0B132B;
  --navy-80:  #1C2541;
  --navy-60:  #3A506B;
  --gold:     #C6A756;
  --gold-dk:  #A8893C;
  --gold-lt:  #F5EED0;
  --bg:       #F7F8FA;
  --txt:      #2D3748;
  --soft:     #718096;
  --border:   rgba(0,0,0,.07);
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { overflow-x: hidden; font-size: 16px; }
body {
  font-family: "Urbanist", sans-serif;
  background: var(--bg);
  color: var(--txt);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  padding-top: 148px; /* topbar 72px + search bar 76px */
  overflow-x: hidden;
}

/* ── LINKS ── */
a { color: var(--navy-60); text-decoration: none; }
a:hover { color: var(--navy-80); text-decoration: underline; }

/* ── HEADER ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  display: flex;
  flex-direction: column;
  background: var(--navy-80);
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}

/* Topbar */
.topbar {
  height: 72px;
  display: flex;
  align-items: center;
  padding: 0 28px;
  gap: 20px;
  background: var(--navy-80);
}
.tb-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.tb-logo img { height: 52px; width: auto; max-width: 300px; display: block; }
.tb-nav { display: flex; align-items: center; gap: 4px; margin-left: 16px; }
.tb-nl {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  padding: 0 10px;
  height: 72px;
  display: flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  transition: all .2s;
  text-decoration: none;
  font-weight: 500;
}
.tb-nl:hover  { color: rgba(255,255,255,.85); }
.tb-nl.active { color: var(--gold); border-bottom-color: var(--gold); }
.tb-r   { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.tb-lnk { font-size: 13px; color: rgba(255,255,255,.5); text-decoration: none; font-weight: 500; transition: color .2s; }
.tb-lnk:hover { color: #fff; }
.tb-add {
  background: var(--gold);
  color: #fff;
  border: none;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.tb-add:hover { background: var(--gold-dk); }

/* Search bar */
.header-search {
  background: var(--navy-100);
  padding: 10px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid rgba(255,255,255,.06);
}
.header-search-wrap { width: 100%; max-width: 640px; }
.hero-search {
  background: #fff;
  border: 2px solid var(--gold);
  border-radius: 10px;
  display: flex;
  overflow: hidden;
  height: 44px;
  max-width: 640px;
  margin: 0 auto;
}
.hs {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0 16px;
  border-right: 1px solid rgba(0,0,0,.08);
  min-width: 0;
}
.hs input {
  border: none;
  outline: none;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  color: var(--txt);
  width: 100%;
  min-width: 0;
  background: transparent;
}
.hs input::placeholder { color: #A0AEC0; }
.hero-s-btn {
  background: var(--gold);
  border: none;
  width: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy-100);
  transition: background .2s;
  flex-shrink: 0;
}
.hero-s-btn:hover { background: var(--gold-dk); }

/* ── BREADCRUMB ── */
.bc {
  background: #fff;
  border-bottom: 1px solid var(--border);
  padding: 8px 32px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--soft);
  font-family: "Urbanist", sans-serif;
}
.bc a        { color: var(--navy-60); text-decoration: none; font-weight: 500; font-size: 13px; }
.bc a:hover  { color: var(--navy-80); text-decoration: underline; }
.bc-sep      { color: rgba(0,0,0,.15); }
.bc-cur      { color: var(--txt); font-weight: 600; font-size: 13px; }

/* ── HERO ── */
.hero {
  background: var(--navy-80);
  padding: 44px 32px 40px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(198,167,86,.12) 0%, transparent 65%);
}
.hero::after {
  content: '';
  position: absolute;
  bottom: -40px; left: 5%;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(58,80,107,.25) 0%, transparent 70%);
}
.hero-inner { position: relative; z-index: 1; max-width: 1056px; margin: 0 auto; }
.hero-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.hero-title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.4px;
  padding-bottom: 12px;
  position: relative;
  display: inline-block;
}
.hero-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 40px; height: 2px;
  background: var(--gold);
}
.hero-sub {
  font-size: 14px;
  color: rgba(255,255,255,.48);
  margin-top: 12px;
  line-height: 1.75;
  max-width: 720px;
}

/* ── PAGE LAYOUT ── */
.page {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 32px 64px;
}

/* ── CARDS (toc / content / meta) ── */
.content-card,
.meta-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}


.card-head {
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--border);
}
.card-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--gold-dk);
  margin-bottom: 6px;
}
.card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--navy-80);
  letter-spacing: -.2px;
}

/* Meta card */
.meta-card   { margin-bottom: 16px; }
.meta-body   { padding: 16px 20px; }
.meta-line   { font-size: 13px; color: var(--soft); margin-bottom: 8px; }
.meta-line strong { color: var(--txt); }
.meta-note   { font-size: 12px; color: var(--soft); line-height: 1.7; background: var(--bg); border-radius: 8px; padding: 12px 14px; }

/* TOC card */
.toc-body    { padding: 10px 0; max-height: calc(100vh - 240px); overflow: auto; }
.toc-link {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  text-decoration: none;
  color: var(--soft);
  transition: all .2s;
  border-left: 2px solid transparent;
}
.toc-link:hover,
.toc-link.active {
  background: var(--gold-lt);
  color: var(--gold-dk);
  border-left-color: var(--gold);
}
.toc-link.active { font-weight: 600; }

/* Content card */
.content-card { padding: 28px 28px 20px; }
.intro-box {
  background: linear-gradient(180deg, #FBFCFE 0%, #F7F8FA 100%);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 24px;
}
.intro-box p { font-size: 14px; color: var(--soft); }

/* ── LEGAL CONTENT ── */
.legal-section {
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.legal-section:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.legal-h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--navy-80);
  letter-spacing: -.3px;
  margin-bottom: 14px;
  line-height: 1.3;
}
.legal-h3 { font-size: 16px; font-weight: 700; color: var(--navy-80); margin: 18px 0 8px; letter-spacing: -.2px; }
.legal-p  { font-size: 14px; color: #4A5568; line-height: 1.82; margin-bottom: 12px; }
.legal-list    { padding-left: 18px; margin: 8px 0 12px; }
.legal-list li { font-size: 14px; color: #4A5568; line-height: 1.78; margin-bottom: 6px; }
.placeholder {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--gold-lt);
  color: var(--gold-dk);
  font-size: 12px;
  font-weight: 700;
}
.alert-box {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 8px;
  background: #FFF8E8;
  border: 1px solid rgba(198,167,86,.22);
  font-size: 13px;
  color: #6B7280;
}

/* ── FOOTER ── */
.footer {
  background: var(--navy-100);
  padding: 22px 32px 8px;
}
.ft-top {
  display: flex;
  gap: 48px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 10px;
}
.ft-brand-name { font-size: 17px; font-weight: 700; color: #fff; letter-spacing: -.3px; }
.ft-brand-tag  { font-size: 12px; color: rgba(255,255,255,.25); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 3px; }
.ft-brand-desc { font-size: 15px; color: rgba(255,255,255,.3); margin-top: 10px; line-height: 1.5; max-width: 280px; font-weight: 400; }
.ft-cols  { display: flex; justify-content: space-between; gap: 24px; flex-wrap: nowrap; width: 100%; }
.ft-col   { flex: 1; min-width: 0; }
.ft-col-title { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.3); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 12px; }
.ft-col a         { display: block; font-size: 13px; color: rgba(255,255,255,.4); text-decoration: none; margin-bottom: 5px; transition: color .2s; }
.ft-col a:hover   { color: rgba(255,255,255,.8); }
.ft-col a:visited { color: rgba(255,255,255,.4); }
.ft-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ft-copy   { font-size: 13px; color: rgba(255,255,255,.18); }
.ft-legal  { display: flex; gap: 8px; }
.ft-legal a         { font-size: 12px; color: rgba(255,255,255,.2); text-decoration: none; transition: color .2s; }
.ft-legal a:hover   { color: rgba(255,255,255,.5); }
.ft-legal a:visited { color: rgba(255,255,255,.2); }

/* ── RESPONSIVE — 1024px ── */
@media (max-width: 1024px) {
  body          { padding-top: 134px; }
  .site-header  { position: fixed; top: 0; left: 0; right: 0; width: 100%; }
  .topbar       { height: 66px; padding: 0 14px; gap: 8px; }
  .tb-logo img  { height: 40px; max-width: 210px; }
  .tb-nav, .tb-lnk { display: none; }
  .tb-r         { gap: 10px; }
  .tb-add       { min-width: 150px; padding: 8px 10px; font-size: 11px; line-height: 1.15; text-align: center; }
  .header-search { height: 68px; padding: 10px 16px; }
  .hero-search  { height: 44px; border-radius: 9px; }
  .hs           { padding: 0 12px; }
  .hs input     { font-size: 14px; }
  .bc           { padding-left: 16px; padding-right: 16px; }
  .hero         { padding-left: 16px; padding-right: 16px; }
  .page         { padding: 24px 16px; }
}

/* ── RESPONSIVE — 860px ── */
@media (max-width: 860px) {
  .header-search { padding: 8px 16px; }
  .hero          { padding: 28px 16px 24px; }
  .hero-title    { font-size: 22px; }
  .hero-sub      { font-size: 13px; }
  .page          { padding: 16px; }
  .content-card  { padding: 20px 18px 14px; }
  .legal-h2      { font-size: 20px; }
  .footer        { padding: 16px 18px 6px; }
  .ft-top        { flex-wrap: wrap; gap: 14px; justify-content: center; padding-bottom: 10px; margin-bottom: 8px; }
  .ft-brand      { width: 100%; text-align: center; margin: 0 auto 6px; }
  .ft-brand-name,
  .ft-brand-tag,
  .ft-brand-desc { text-align: center; margin-left: auto; margin-right: auto; }
  .ft-cols       { flex-direction: row; justify-content: space-between; gap: 16px; }
  .ft-col a      { font-size: 12px; margin-bottom: 4px; }
  .ft-bottom     { flex-direction: column; gap: 12px; text-align: center; }
  .ft-copy       { font-size: 11px; }
}

/* ── MENTIONS LÉGALES — spécifique ── */

/* Bloc éditeur / hébergeur : infos clés dans un encadré */
.ml-block {
  background: var(--bg);
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
  padding: 16px 20px;
  margin: 8px 0 16px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--txt);
}
.ml-block strong { color: var(--navy-80); }

/* Badge inline pour les champs à compléter */
.ml-field {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--gold-lt);
  color: var(--gold-dk);
  font-size: 12px;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px dashed var(--gold-dk);
}

/* Numéro de section */
.section-num {
  display: inline-block;
  background: var(--navy-80);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  text-align: center;
  line-height: 24px;
  margin-right: 8px;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Titre de section avec numéro */
.legal-h2 {
  display: flex;
  align-items: center;
}

/* Alerte LCEN / RGPD */
.ml-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #F0FFF4;
  border: 1px solid rgba(47,133,90,.2);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 8px 0 12px;
  font-size: 13px;
  color: #276749;
  line-height: 1.6;
}
.ml-alert svg { flex-shrink: 0; margin-top: 2px; color: #2F855A; }


/* ── POLITIQUE CONFIDENTIALITÉ — lisibilité ── */

/* H3 : plus d'espace au-dessus, séparateur subtil */
.legal-h3 {
  margin: 24px 0 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.04);
}
.legal-section > .legal-h3:first-of-type,
.legal-h2 + .legal-h3 {
  border-top: none;
  padding-top: 4px;
  margin-top: 12px;
}

/* Tableau de conservation */
.ml-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  margin: 4px 0 12px;
}
.ml-table th {
  background: var(--navy-80);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 9px 14px;
  text-align: left;
}
.ml-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  color: var(--txt);
  line-height: 1.55;
}
.ml-table tr:last-child td { border-bottom: none; }
.ml-table tr:nth-child(even) td { background: var(--bg); }
.ml-table td:first-child { font-weight: 600; color: var(--navy-80); width: 44%; }
.ml-table td strong { color: var(--gold-dk); }

/* Badge base juridique */
.legal-base {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 8px;
  background: #fff;
}
.legal-base:hover { border-color: rgba(198,167,86,.35); background: var(--bg); }
.base-tag {
  flex-shrink: 0;
  background: var(--navy-80);
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 4px;
  white-space: nowrap;
  margin-top: 1px;
  font-family: "Courier New", monospace;
}
.base-desc { font-size: 13.5px; color: var(--txt); line-height: 1.55; }
.base-desc strong { color: var(--navy-80); }

/* Droits : cartes légères */
.rights-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 8px 0 12px;
}
.right-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
}
.right-card:hover { border-color: rgba(198,167,86,.35); }
.right-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy-80);
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.right-name svg { color: var(--gold); flex-shrink: 0; }
.right-desc { font-size: 12px; color: var(--soft); line-height: 1.5; }

/* Cookies : type pills */
.cookie-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.04);
}
.cookie-row:last-child { border-bottom: none; }
.cookie-pill {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
.cookie-pill.required { background: #EBF8EE; color: #276749; border: 1px solid rgba(47,133,90,.2); }
.cookie-pill.analytics { background: #EBF0FF; color: #3451B2; border: 1px solid rgba(52,81,178,.2); }
.cookie-pill.none      { background: #F0F0F0; color: #718096; border: 1px solid rgba(0,0,0,.1); }
.cookie-desc { font-size: 13.5px; color: var(--txt); line-height: 1.55; }

@media (max-width: 860px) {
  .rights-grid { grid-template-columns: 1fr; }
  .ml-table { font-size: 12.5px; }
  .ml-table td:first-child { width: auto; }
}


/* ── POLITIQUE CONFIDENTIALITÉ — lisibilité ── */

/* H3 : espace et séparateur subtil */
.legal-h3 {
  margin: 22px 0 8px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.04);
}
.legal-h2 + .legal-h3 { border-top: none; padding-top: 4px; margin-top: 10px; }

/* Tableau de conservation */
.ml-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  margin: 6px 0 12px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.ml-table th {
  background: var(--navy-80);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 10px 16px;
  text-align: left;
}
.ml-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  color: var(--txt);
  line-height: 1.55;
}
.ml-table tr:last-child td { border-bottom: none; }
.ml-table tr:nth-child(even) td { background: var(--bg); }
.ml-table td:first-child { font-weight: 600; color: var(--navy-80); width: 46%; }
.ml-table td strong { color: var(--gold-dk); }

/* Bases juridiques */
.legal-base {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 11px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 8px;
  background: #fff;
  transition: border-color .2s;
}
.legal-base:hover { border-color: rgba(198,167,86,.35); background: var(--bg); }
.base-tag {
  flex-shrink: 0;
  background: var(--navy-80);
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  white-space: nowrap;
  margin-top: 1px;
  font-family: "Courier New", monospace;
  letter-spacing: .3px;
}
.base-desc { font-size: 13.5px; color: var(--txt); line-height: 1.6; }
.base-desc strong { color: var(--navy-80); }

/* Grille des droits */
.rights-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 10px 0 14px;
}
.right-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
  transition: border-color .2s;
}
.right-card:hover { border-color: rgba(198,167,86,.35); }
.right-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy-80);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.right-name svg { color: var(--gold); flex-shrink: 0; }
.right-desc { font-size: 12px; color: var(--soft); line-height: 1.55; }

/* Cookies */
.cookie-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.04);
}
.cookie-row:last-child { border-bottom: none; }
.cookie-pill {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
  margin-top: 2px;
}
.cookie-pill.required  { background: #EBF8EE; color: #276749; border: 1px solid rgba(47,133,90,.2); }
.cookie-pill.analytics { background: #EBF0FF; color: #3451B2; border: 1px solid rgba(52,81,178,.2); }
.cookie-pill.none      { background: #F5F5F5; color: #718096; border: 1px solid rgba(0,0,0,.08); }
.cookie-desc { font-size: 13.5px; color: var(--txt); line-height: 1.6; }
.cookie-desc strong { color: var(--navy-80); }

/* ==== block: id="tc-privacy-v2-harmonisation" ==== */
:root{
  --navy:#0B132B;
  --navy-100:#0B132B;
  --navy-80:#1C2541;
  --navy-60:#3A506B;
  --gold:#C6A756;
  --gold-dk:#A8893C;
  --gold-lt:#F5EED0;
  --gold-xlt:#FDFBF3;
  --surface:#E8EDF2;
  --white:#FFFFFF;
  --bg:#F7F8FA;
  --txt:#0F1A2E;
  --soft:#526174;
  --border:rgba(11,19,43,.08);
  --green:#2F855A;
  --font:'Inter',sans-serif;
}

html,body{
  font-family:var(--font)!important;
  background:var(--bg)!important;
  color:var(--txt)!important;
}
body{
  padding-top:68px!important;
  font-size:16px!important;
  line-height:1.6!important;
}

/* HEADER = homepage */
.site-header{
  position:fixed!important;
  top:0!important; left:0!important; right:0!important;
  z-index:900!important;
  background:var(--surface)!important;
  box-shadow:0 2px 12px rgba(11,19,43,.08)!important;
}
.topbar{
  height:68px!important;
  min-height:68px!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:0 40px!important;
  background:transparent!important;
}
.tb-logo{
  display:flex!important;
  align-items:center!important;
  flex-shrink:0!important;
}
.tb-logo-img,.tb-logo img{
  height:65px!important;
  width:auto!important;
  max-width:none!important;
  display:block!important;
}
.tb-r{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-left:auto!important;
}
.tb-icon-btn{
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  border:1px solid rgba(11,19,43,.15)!important;
  background:#fff!important;
  color:var(--navy)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 1px 6px rgba(11,19,43,.08)!important;
}
.tb-menu-btn{
  width:38px!important;
  height:38px!important;
  border-radius:8px!important;
  border:1px solid rgba(11,19,43,.20)!important;
  background:transparent!important;
  color:var(--navy-60)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.tb-add{
  background:var(--gold)!important;
  color:#fff!important;
  border:none!important;
  min-height:38px!important;
  padding:8px 16px!important;
  border-radius:9px!important;
  font-family:var(--font)!important;
  font-size:13px!important;
  font-weight:600!important;
}
.header-search,.header-search-wrap,.hero-search{display:none!important;}

/* HERO aligné sur les pages secondaires harmonisées */
.hero{
  background:
    linear-gradient(135deg, rgba(232,237,242,.98) 0%, rgba(247,248,250,.96) 55%, rgba(245,238,208,.48) 100%)!important;
  padding:64px 32px 58px!important;
  position:relative!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(11,19,43,.06)!important;
}
.hero::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:
    repeating-linear-gradient(135deg, rgba(58,80,107,.028) 0 1px, transparent 1px 26px)!important;
  pointer-events:none!important;
}
.hero::after{display:none!important;}
.hero-inner{
  position:relative!important;
  z-index:1!important;
  max-width:1056px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.hero-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:0 auto 16px!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.7)!important;
  border:1px solid rgba(198,167,86,.35)!important;
  color:var(--gold-dk)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:1.4px!important;
  text-transform:uppercase!important;
}
.hero-title{
  display:block!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding:0!important;
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:42px!important;
  line-height:1.08!important;
  letter-spacing:-1.1px!important;
  font-weight:700!important;
}
.hero-title::after{display:none!important;}
.hero-sub{
  max-width:760px!important;
  margin:20px auto 0!important;
  color:var(--navy-60)!important;
  font-size:17px!important;
  line-height:1.65!important;
}

/* PAGE */
.page{
  width:100%!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:48px 32px 72px!important;
}
.content-card,.meta-card{
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  box-shadow:0 6px 24px rgba(11,19,43,.035)!important;
}
.content-card{
  padding:34px 34px 26px!important;
}
.meta-card{
  margin-bottom:18px!important;
}
.card-head{
  padding:18px 22px 15px!important;
  border-bottom:1px solid var(--border)!important;
}
.card-label{
  color:var(--gold-dk)!important;
  font-family:var(--font)!important;
}
.card-title{
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:17px!important;
}
.meta-body{padding:18px 22px!important;}
.meta-line{font-size:13px!important;color:var(--soft)!important;}
.meta-note{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  color:var(--soft)!important;
}

/* CONTENU JURIDIQUE */
.intro-box{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  padding:20px 22px!important;
  margin-bottom:30px!important;
}
.intro-box p{
  font-size:14px!important;
  color:var(--soft)!important;
  line-height:1.75!important;
}
.legal-section{
  margin-bottom:34px!important;
  padding-bottom:30px!important;
  border-bottom:1px solid var(--border)!important;
}
.legal-h2{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  font-family:var(--font)!important;
  font-size:24px!important;
  line-height:1.25!important;
  color:var(--navy)!important;
  letter-spacing:-.45px!important;
  margin-bottom:16px!important;
}
.section-num{
  background:var(--gold)!important;
  color:var(--navy)!important;
  width:28px!important;
  height:28px!important;
  line-height:28px!important;
  font-size:11px!important;
  margin-right:10px!important;
}
.legal-h3{
  font-family:var(--font)!important;
  font-size:17px!important;
  line-height:1.35!important;
  color:var(--navy)!important;
  margin:26px 0 10px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(11,19,43,.05)!important;
}
.legal-h2 + .legal-h3,
.legal-section > .legal-h3:first-of-type{
  border-top:none!important;
  padding-top:4px!important;
  margin-top:12px!important;
}
.legal-p,.legal-list li{
  font-size:15px!important;
  line-height:1.8!important;
  color:#4A596A!important;
}
.legal-list{padding-left:22px!important;}
.legal-list li{margin-bottom:7px!important;}

.ml-block{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  border-left:3px solid var(--gold)!important;
  border-radius:10px!important;
}
.ml-field,.placeholder{
  background:var(--gold-lt)!important;
  color:var(--gold-dk)!important;
}
.ml-alert{
  background:#F1F8F3!important;
  border:1px solid rgba(47,133,90,.18)!important;
  border-radius:10px!important;
}

/* TABLEAU */
.ml-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  font-size:13px!important;
  margin:10px 0 16px!important;
}
.ml-table th{
  background:var(--navy)!important;
  color:#fff!important;
  padding:11px 14px!important;
  font-size:11px!important;
  letter-spacing:.7px!important;
}
.ml-table td{
  padding:11px 14px!important;
  border-bottom:1px solid var(--border)!important;
  color:#4A596A!important;
  line-height:1.55!important;
}
.ml-table tr:nth-child(even) td{background:#FAFBFC!important;}
.ml-table tr:last-child td{border-bottom:none!important;}
.ml-table td:first-child{
  color:var(--navy)!important;
  font-weight:600!important;
}

/* Bases juridiques */
.legal-base{
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  padding:12px 14px!important;
  background:#fff!important;
}
.legal-base:hover{
  background:var(--gold-xlt)!important;
  border-color:rgba(198,167,86,.35)!important;
}
.base-tag{
  background:var(--navy)!important;
  color:var(--gold)!important;
  border-radius:6px!important;
}
.base-desc{color:#4A596A!important;}

/* Droits */
.rights-grid{
  gap:10px!important;
  margin:12px 0 16px!important;
}
.right-card{
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  padding:14px 15px!important;
  background:#fff!important;
}
.right-card:hover{
  background:var(--gold-xlt)!important;
  border-color:rgba(198,167,86,.35)!important;
}
.right-name{
  color:var(--navy)!important;
  font-family:var(--font)!important;
}
.right-desc{color:var(--soft)!important;}

/* Cookies */
.cookie-row{
  padding:12px 0!important;
  border-bottom:1px solid var(--border)!important;
}
.cookie-desc{color:#4A596A!important;}
.cookie-pill{font-family:var(--font)!important;}

/* Liens */
a{
  color:var(--gold-dk)!important;
  text-decoration:none!important;
}
a:hover{text-decoration:underline!important;}

/* FOOTER = homepage */
footer{
  background:var(--surface)!important;
  padding:52px 40px 28px!important;
  border-top:1px solid rgba(198,167,86,.2)!important;
}
.footer-inner{
  max-width:1140px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr 1fr!important;
  gap:48px!important;
  padding-bottom:36px!important;
  border-bottom:1px solid rgba(11,19,43,.1)!important;
}
.ft-logo{
  display:flex!important;
  align-items:center!important;
  margin-bottom:16px!important;
}
.ft-logo-img{
  height:28px!important;
  width:auto!important;
  display:block!important;
  filter:brightness(0) invert(.15)!important;
}
.ft-brand-tag{
  font-size:11px!important;
  color:var(--soft)!important;
  text-transform:uppercase!important;
  letter-spacing:1.2px!important;
  margin-top:14px!important;
}
.ft-brand-desc{
  font-size:14px!important;
  color:var(--soft)!important;
  line-height:1.6!important;
  max-width:240px!important;
  margin-top:10px!important;
}
.footer-links-grid{display:contents!important;}
.ft-col{display:flex!important;flex-direction:column!important;}
.ft-col-title{
  font-size:12px!important;
  font-weight:600!important;
  color:var(--navy-60)!important;
  text-transform:uppercase!important;
  letter-spacing:1.2px!important;
  margin-bottom:14px!important;
}
.ft-col a{
  font-size:14px!important;
  color:var(--soft)!important;
  padding:5px 0!important;
  margin:0!important;
  text-decoration:none!important;
}
.footer-bottom{
  max-width:1140px!important;
  margin:0 auto!important;
  padding-top:24px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.ft-copy,.ft-legal a{
  font-size:13px!important;
  color:var(--soft)!important;
}
.ft-legal{display:flex!important;gap:16px!important;}

/* TABLETTE */
@media(max-width:1024px){
  .topbar{padding:0 16px!important;}
  .tb-logo-img,.tb-logo img{height:36px!important;}
  .tb-add{display:none!important;}

  .hero{padding:52px 24px 46px!important;}
  .hero-title{font-size:36px!important;}
  .hero-sub{font-size:16px!important;}

  .page{max-width:860px!important;padding:34px 24px 60px!important;}

  footer{padding:42px 22px 24px!important;}
  .footer-inner{
    grid-template-columns:1fr 1fr!important;
    gap:30px 36px!important;
  }
  .footer-inner>div:first-child{grid-column:1/-1!important;}
  .footer-links-grid{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:28px 36px!important;
  }
}

/* MOBILE */
@media(max-width:600px){
  body{padding-top:68px!important;}
  .hero{
    padding:38px 20px 34px!important;
  }
  .hero-label{
    margin-bottom:14px!important;
    padding:7px 13px!important;
    font-size:10px!important;
  }
  .hero-title{
    font-size:30px!important;
    line-height:1.12!important;
    letter-spacing:-.7px!important;
  }
  .hero-sub{
    font-size:15px!important;
    line-height:1.6!important;
    margin-top:16px!important;
  }

  .page{padding:24px 16px 48px!important;}
  .content-card{
    border-radius:12px!important;
    padding:22px 18px 18px!important;
  }
  .meta-card{border-radius:12px!important;}
  .legal-h2{
    font-size:21px!important;
    align-items:flex-start!important;
  }
  .section-num{
    width:26px!important;
    height:26px!important;
    line-height:26px!important;
    margin-top:1px!important;
  }
  .legal-h3{font-size:16px!important;}
  .legal-p,.legal-list li{
    font-size:14px!important;
    line-height:1.78!important;
  }
  .rights-grid{grid-template-columns:1fr!important;}
  .legal-base{flex-direction:column!important;gap:8px!important;}

  .ml-table{
    display:block!important;
    overflow-x:auto!important;
    white-space:normal!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .ml-table th,.ml-table td{
    min-width:150px!important;
    padding:10px 12px!important;
  }

  .cookie-row{
    flex-direction:column!important;
    gap:8px!important;
  }

  footer{padding:36px 20px 22px!important;}
  .footer-inner{
    display:block!important;
    padding-bottom:28px!important;
  }
  .footer-inner>div:first-child{
    padding-bottom:28px!important;
    margin-bottom:24px!important;
    border-bottom:1px solid rgba(11,19,43,.08)!important;
  }
  .ft-brand-desc{max-width:100%!important;}
  .footer-links-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:26px 18px!important;
  }
  .footer-links-grid .ft-col:last-child{grid-column:1/-1!important;}
  .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .ft-legal{
    flex-wrap:wrap!important;
    gap:8px 14px!important;
  }
}

/* ==== block: id="tc-final-legal-content-fix" ==== */
.legal-bullet{padding-left:18px!important;text-indent:-12px!important;margin-bottom:6px!important;}
.legal-numbered{padding-left:4px!important;}
.content-card .legal-section:first-child{margin-top:0!important;}
