.privacy-main{
  padding:30px 52px 76px;
}

.privacy-hero{
  max-width:820px;
  margin:18px auto 28px;
  text-align:center;
}

.privacy-eyebrow,
.privacy-section-kicker{
  margin:0 0 9px;
  color:var(--green-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.privacy-hero h1{
  margin-bottom:18px;
  font-size:clamp(46px,6vw,70px);
}

.privacy-intro{
  max-width:750px;
  margin:0 auto 14px;
  color:#345351;
  font-size:17px;
  line-height:1.75;
}

.privacy-updated{
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.privacy-choice{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin:0 auto 34px;
  padding:28px 30px;
  border:1px solid rgba(15,93,53,.12);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(41,184,223,.13),transparent 34%),
    linear-gradient(145deg,#f8fcf9,#eef8f1);
  box-shadow:var(--shadow-soft);
}

.privacy-choice h2,
.privacy-card h2{
  margin:0 0 12px;
  color:var(--teal);
  font-family:var(--serif);
  font-size:34px;
  line-height:1.05;
}

.privacy-choice p{
  max-width:690px;
  margin:0 0 8px;
  color:#385451;
  font-size:14px;
  line-height:1.65;
}

.privacy-choice-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:230px;
}

.privacy-choice-actions .btn{
  width:100%;
  min-height:44px;
  padding:0 18px;
  font-size:13px;
}

.privacy-choice-actions button:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.privacy-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:7px!important;
  padding:7px 11px;
  border-radius:999px;
  font-size:11px!important;
  font-weight:700;
}

.privacy-status:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
}

.privacy-status.is-enabled{
  color:#2f7d5c;
  background:#e1f4e8;
}

.privacy-status.is-disabled{
  color:#7a5940;
  background:#f6ecdf;
}

.privacy-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  align-items:start;
  gap:25px;
}

.privacy-summary{
  position:sticky;
  top:20px;
  padding:22px 20px;
  border:1px solid rgba(15,93,53,.1);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-soft);
}

.privacy-summary nav{
  display:grid;
  gap:5px;
}

.privacy-summary a{
  padding:8px 10px;
  border-radius:10px;
  color:#46625e;
  font-size:12px;
  line-height:1.35;
  transition:.2s ease;
}

.privacy-summary a:hover{
  color:var(--green-dark);
  background:var(--green-soft);
}

.privacy-content{
  display:grid;
  gap:19px;
}

.privacy-card{
  scroll-margin-top:22px;
  padding:28px 30px;
  border:1px solid rgba(15,93,53,.09);
  border-radius:23px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px rgba(20,78,61,.07);
}

.privacy-card p,
.privacy-card li{
  color:#38514f;
  font-size:14px;
  line-height:1.75;
}

.privacy-card p:last-child{
  margin-bottom:0;
}

.privacy-card a{
  color:var(--green-dark);
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(95,157,40,.38);
  text-underline-offset:3px;
}

.privacy-grid,
.privacy-providers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.privacy-grid article,
.privacy-providers article{
  padding:19px;
  border:1px solid rgba(15,93,53,.08);
  border-radius:16px;
  background:#f8fbf9;
}

.privacy-grid h3,
.privacy-providers h3{
  margin:0 0 8px;
  color:var(--green-dark);
  font-size:16px;
}

.privacy-grid p,
.privacy-providers p{
  margin:0;
  font-size:13px;
  line-height:1.65;
}

.privacy-providers article a{
  display:inline-block;
  margin-top:10px;
  font-size:12px;
}

.privacy-provider-card{
  background:
    radial-gradient(circle at 100% 0,rgba(41,184,223,.09),transparent 30%),
    #fff;
}

.privacy-list{
  display:grid;
  gap:9px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}

.privacy-list li{
  position:relative;
  padding-left:25px;
}

.privacy-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--green);
  font-weight:900;
}

.privacy-note{
  padding:13px 15px;
  border-left:3px solid var(--green);
  border-radius:0 12px 12px 0;
  background:var(--green-soft);
  color:#36564e!important;
  font-size:12px!important;
}

.privacy-external{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
}

.privacy-table-wrap{
  overflow-x:auto;
  border:1px solid rgba(15,93,53,.09);
  border-radius:16px;
}

.privacy-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
}

.privacy-table th,
.privacy-table td{
  padding:14px 15px;
  border-bottom:1px solid rgba(15,93,53,.08);
  text-align:left;
  vertical-align:top;
  font-size:12px;
  line-height:1.55;
}

.privacy-table th{
  color:var(--green-dark);
  background:#f2f8f4;
  font-size:10px;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.privacy-table tr:last-child td{
  border-bottom:0;
}

.privacy-table code{
  color:#255c49;
  font-size:11px;
  white-space:nowrap;
}

@media(max-width:900px){
  .privacy-main{
    padding-right:30px;
    padding-left:30px;
  }

  .privacy-choice{
    grid-template-columns:1fr;
  }

  .privacy-choice-actions{
    flex-direction:row;
    min-width:0;
  }

  .privacy-layout{
    grid-template-columns:1fr;
  }

  .privacy-summary{
    position:relative;
    top:auto;
  }

  .privacy-summary nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .privacy-main{
    padding:24px 16px 55px;
  }

  .privacy-choice,
  .privacy-card{
    padding:22px 20px;
    border-radius:19px;
  }

  .privacy-choice-actions{
    flex-direction:column;
  }

  .privacy-grid,
  .privacy-providers,
  .privacy-summary nav{
    grid-template-columns:1fr;
  }

  .privacy-card h2,
  .privacy-choice h2{
    font-size:30px;
  }

  .privacy-hero h1{
    font-size:45px;
  }
}

/* =========================================================
   V74 — CORRECTION SMARTPHONE DE LA PAGE DE CONFIDENTIALITÉ
   Le contenu et le graphisme d'origine sont conservés.
========================================================= */

body.privacy-page {
  max-width: 100%;
  overflow-x: hidden;
}

.privacy-page .page-shell,
.privacy-main,
.privacy-hero,
.privacy-choice,
.privacy-layout,
.privacy-summary,
.privacy-content,
.privacy-card,
.privacy-grid,
.privacy-providers,
.privacy-table-wrap {
  min-width: 0;
  max-width: 100%;
}

.privacy-main,
.privacy-layout,
.privacy-content {
  width: 100%;
}

.privacy-card,
.privacy-grid article,
.privacy-providers article {
  overflow: hidden;
}

.privacy-card p,
.privacy-card li,
.privacy-card a,
.privacy-card code,
.privacy-grid article,
.privacy-providers article,
.privacy-summary a,
.privacy-choice p {
  overflow-wrap: anywhere;
  word-break: normal;
}

.privacy-external {
  max-width: 100%;
  flex-wrap: wrap;
}

.privacy-table-wrap {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 650px) {
  .privacy-page .page-shell {
    width: calc(100% - 12px);
    max-width: calc(100vw - 12px);
    margin: 6px auto;
  }

  .privacy-main {
    width: 100%;
    padding: 22px 12px 52px;
    overflow: hidden;
  }

  .privacy-hero {
    width: 100%;
    margin: 12px auto 24px;
  }

  .privacy-hero h1 {
    max-width: 100%;
    font-size: clamp(36px, 11vw, 45px);
    line-height: 1.02;
    overflow-wrap: anywhere;
  }

  .privacy-intro {
    font-size: 15px;
    line-height: 1.65;
  }

  .privacy-choice,
  .privacy-summary,
  .privacy-card {
    width: 100%;
    max-width: 100%;
    padding: 20px 16px;
  }

  .privacy-choice-actions,
  .privacy-choice-actions .btn {
    width: 100%;
    max-width: 100%;
  }

  .privacy-choice-actions .btn {
    min-height: 48px;
    height: auto;
    padding: 12px 14px;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
  }

  .privacy-summary nav,
  .privacy-grid,
  .privacy-providers {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-summary a {
    width: 100%;
  }

  /*
   * Le tableau est transformé en fiches verticales sur smartphone.
   * Cela évite qu'une largeur minimale de 720 px décale ou masque
   * la partie gauche de la page.
   */
  .privacy-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }

  .privacy-table,
  .privacy-table tbody,
  .privacy-table tr,
  .privacy-table td {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .privacy-table {
    border-collapse: separate;
  }

  .privacy-table thead {
    display: none;
  }

  .privacy-table tr {
    margin-bottom: 13px;
    padding: 14px;
    border: 1px solid rgba(15, 93, 53, .10);
    border-radius: 14px;
    background: #f8fbf9;
  }

  .privacy-table tr:last-child {
    margin-bottom: 0;
  }

  .privacy-table td {
    padding: 7px 0;
    border: 0;
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .privacy-table td::before {
    display: block;
    margin-bottom: 3px;
    color: var(--green-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .privacy-table td:nth-child(1)::before {
    content: "Nom ou catégorie";
  }

  .privacy-table td:nth-child(2)::before {
    content: "Utilité";
  }

  .privacy-table td:nth-child(3)::before {
    content: "Durée indicative";
  }

  .privacy-table code {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 380px) {
  .privacy-main {
    padding-right: 9px;
    padding-left: 9px;
  }

  .privacy-choice,
  .privacy-summary,
  .privacy-card {
    padding: 18px 13px;
    border-radius: 17px;
  }

  .privacy-card h2,
  .privacy-choice h2 {
    font-size: 27px;
  }

  .privacy-hero h1 {
    font-size: 36px;
  }

  .privacy-status {
    display: flex;
    width: 100%;
    border-radius: 13px;
  }
}

