/* ===== Mentions légales ===== */
/* ==========================================================
   MENTIONS LÉGALES LUDORUM
   ========================================================== */

.lud-legal-page {
  --legal-nuit: #071a33;
  --legal-bleu: #0b4dbb;
  --legal-bleu-clair: #1967d2;
  --legal-jaune: #f2a900;
  --legal-rouge: #cf1f1f;
  --legal-ivoire: #fffaf0;
  --legal-texte: #2a394f;
  --legal-gris: #697386;
  --legal-bordure: rgba(7, 26, 51, 0.12);

  width: min(1160px, 92%);
  margin: 0 auto;
  padding: 55px 0 80px;

  color: var(--legal-texte);
}

.lud-legal-page,
.lud-legal-page * {
  box-sizing: border-box;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.lud-legal-intro {
  max-width: 820px;
  margin: 0 auto 43px;

  text-align: center;
}

.lud-legal-badge,
.lud-legal-sur-titre {
  display: inline-flex;
  align-items: center;

  color: var(--legal-bleu);

  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lud-legal-badge {
  padding: 8px 15px;

  background: rgba(11, 77, 187, 0.08);
  border: 1px solid rgba(11, 77, 187, 0.14);
  border-radius: 999px;
}

.lud-legal-intro h1 {
  margin: 18px 0 0;

  color: var(--legal-nuit);

  font-size: clamp(38px, 5vw, 58px);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.lud-legal-trait {
  display: flex;

  width: 90px;
  height: 5px;

  margin: 20px auto 23px;

  overflow: hidden;
  border-radius: 999px;
}

.lud-legal-trait span {
  width: 33.333%;
}

.lud-legal-trait span:nth-child(1) {
  background: var(--legal-bleu);
}

.lud-legal-trait span:nth-child(2) {
  background: var(--legal-jaune);
}

.lud-legal-trait span:nth-child(3) {
  background: var(--legal-rouge);
}

.lud-legal-intro > p {
  max-width: 700px;
  margin: 0 auto;

  color: var(--legal-gris);

  font-size: 16px;
  line-height: 1.75;
}

.lud-legal-intro .lud-legal-mise-a-jour {
  margin-top: 13px;

  color: #89919c;
  font-size: 12px;
}


/* ==========================================================
   RÉSUMÉ ET NAVIGATION
   ========================================================== */

.lud-legal-resume {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;

  gap: 24px;
  align-items: stretch;

  margin-bottom: 31px;
}

.lud-legal-resume-marque {
  display: flex;
  align-items: center;

  padding: 28px;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(242, 169, 0, 0.18),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      var(--legal-nuit),
      #0b376e
    );

  border-radius: 22px;

  box-shadow:
    0 16px 38px rgba(7, 26, 51, 0.16);

  gap: 18px;
}

.lud-legal-resume-initiale {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: 68px;
  height: 68px;

  color: var(--legal-nuit);

  font-size: 32px;
  font-weight: 900;

  background: linear-gradient(
    145deg,
    var(--legal-jaune),
    #ffc83d
  );

  border-radius: 19px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.lud-legal-resume-marque div > span {
  display: block;

  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.6);

  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lud-legal-resume-marque strong {
  display: block;

  color: #ffffff;

  font-size: 25px;
  font-weight: 850;
}

.lud-legal-resume-marque p {
  margin: 5px 0 0;

  color: rgba(255, 255, 255, 0.7);

  font-size: 13px;
  line-height: 1.5;
}

.lud-legal-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 10px;

  padding: 16px;

  background: #ffffff;

  border: 1px solid var(--legal-bordure);
  border-radius: 22px;

  box-shadow:
    0 14px 34px rgba(7, 26, 51, 0.07);
}

.lud-legal-navigation a {
  display: flex;
  align-items: center;

  min-height: 52px;

  padding: 11px 14px;

  color: var(--legal-texte);

  font-size: 13px;
  font-weight: 750;
  text-decoration: none;

  background: var(--legal-ivoire);

  border: 1px solid rgba(7, 26, 51, 0.07);
  border-radius: 12px;

  gap: 10px;

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.lud-legal-navigation a:hover {
  transform: translateY(-2px);

  border-color: rgba(11, 77, 187, 0.25);

  box-shadow:
    0 7px 16px rgba(7, 26, 51, 0.08);
}

.lud-legal-navigation a span {
  color: var(--legal-jaune);

  font-size: 11px;
  font-weight: 900;
}


/* ==========================================================
   CONTENU
   ========================================================== */

.lud-legal-contenu {
  display: flex;
  flex-direction: column;

  gap: 18px;
}

.lud-legal-carte {
  position: relative;

  display: grid;
  grid-template-columns: 75px minmax(0, 1fr);

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      var(--legal-ivoire)
    );

  border: 1px solid var(--legal-bordure);
  border-radius: 21px;

  box-shadow:
    0 13px 32px rgba(7, 26, 51, 0.07);

  scroll-margin-top: 120px;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.lud-legal-carte::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 4px;

  background: linear-gradient(
    90deg,
    var(--legal-bleu),
    var(--legal-jaune),
    var(--legal-rouge)
  );
}

.lud-legal-carte:hover {
  transform: translateY(-3px);

  box-shadow:
    0 18px 40px rgba(7, 26, 51, 0.1);
}

.lud-legal-numero {
  display: flex;
  align-items: flex-start;
  justify-content: center;

  padding-top: 39px;

  color: var(--legal-jaune);

  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;

  background: rgba(7, 26, 51, 0.035);

  border-right: 1px solid rgba(7, 26, 51, 0.08);
}

.lud-legal-texte {
  padding: 34px clamp(26px, 4vw, 48px) 38px;
}

.lud-legal-texte h2 {
  margin: 8px 0 17px;

  color: var(--legal-nuit);

  font-size: clamp(25px, 3vw, 34px);
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.lud-legal-texte p {
  margin: 0 0 14px;

  color: var(--legal-texte);

  font-size: 15px;
  line-height: 1.75;
}

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

.lud-legal-texte strong {
  color: var(--legal-nuit);
}


/* ==========================================================
   IDENTITÉ
   ========================================================== */

.lud-legal-identite {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 11px;

  margin: 23px 0 0;
}

.lud-legal-identite > div {
  padding: 15px 16px;

  background: #ffffff;

  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 12px;
}

.lud-legal-identite dt {
  margin-bottom: 6px;

  color: var(--legal-bleu);

  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lud-legal-identite dd {
  margin: 0;

  color: var(--legal-nuit);

  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;

  overflow-wrap: anywhere;
}


/* ==========================================================
   ENCADRÉS
   ========================================================== */

.lud-legal-information-importante {
  margin: 20px 0;
  padding: 17px 19px;

  color: var(--legal-nuit);

  font-size: 15px;
  font-weight: 800;

  background: rgba(242, 169, 0, 0.13);

  border-left: 4px solid var(--legal-jaune);
  border-radius: 0 11px 11px 0;
}

.lud-legal-note {
  margin-top: 20px;
  padding: 15px 17px;

  color: #655021;

  font-size: 12.5px;
  line-height: 1.6;

  background: rgba(242, 169, 0, 0.11);

  border: 1px solid rgba(242, 169, 0, 0.2);
  border-radius: 11px;
}


/* ==========================================================
   LIENS ET BOUTONS
   ========================================================== */

.lud-legal-liens {
  display: flex;
  flex-wrap: wrap;

  margin-top: 21px;

  gap: 10px;
}

.lud-legal-liens a,
.lud-legal-bouton-cookie {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 43px;

  padding: 10px 16px;

  color: var(--legal-bleu);

  font-family: inherit;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;

  background: rgba(11, 77, 187, 0.075);

  border: 1px solid rgba(11, 77, 187, 0.17);
  border-radius: 10px;

  cursor: pointer;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.lud-legal-liens a:hover,
.lud-legal-bouton-cookie:hover {
  color: #ffffff;

  background: var(--legal-bleu);

  transform: translateY(-2px);
}


/* ==========================================================
   BLOC FINAL
   ========================================================== */

.lud-legal-final {
  position: relative;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;

  gap: 28px;
  align-items: center;

  margin-top: 29px;
  padding: 34px clamp(25px, 5vw, 50px);

  overflow: hidden;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(242, 169, 0, 0.23),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      var(--legal-nuit),
      #0a3e82
    );

  border-radius: 22px;

  box-shadow:
    0 18px 42px rgba(7, 26, 51, 0.18);
}

.lud-legal-final-decoration {
  position: absolute;
  top: 0;
  left: 0;

  display: flex;

  width: 100%;
  height: 4px;
}

.lud-legal-final-decoration span {
  width: 33.333%;
}

.lud-legal-final-decoration span:nth-child(1) {
  background: var(--legal-bleu-clair);
}

.lud-legal-final-decoration span:nth-child(2) {
  background: var(--legal-jaune);
}

.lud-legal-final-decoration span:nth-child(3) {
  background: var(--legal-rouge);
}

.lud-legal-final .lud-legal-sur-titre {
  color: var(--legal-jaune);
}

.lud-legal-final h2 {
  margin: 8px 0 10px;

  color: #ffffff;

  font-size: clamp(25px, 3vw, 35px);
  font-weight: 850;
  line-height: 1.18;
}

.lud-legal-final p {
  max-width: 690px;
  margin: 0;

  color: rgba(255, 255, 255, 0.72);

  font-size: 14px;
  line-height: 1.7;
}

.lud-legal-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 160px;
  min-height: 52px;

  padding: 13px 20px;

  color: var(--legal-nuit);

  font-size: 14px;
  font-weight: 850;
  text-decoration: none;

  background: linear-gradient(
    145deg,
    var(--legal-jaune),
    #ffc83d
  );

  border-radius: 12px;

  box-shadow:
    0 10px 22px rgba(0, 0, 0, 0.16);

  gap: 10px;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.lud-legal-contact span {
  font-size: 20px;
  transition: transform 0.22s ease;
}

.lud-legal-contact:hover {
  color: var(--legal-nuit);

  transform: translateY(-2px);

  box-shadow:
    0 14px 27px rgba(0, 0, 0, 0.2);
}

.lud-legal-contact:hover span {
  transform: translateX(4px);
}


/* ==========================================================
   TABLETTE
   ========================================================== */

@media screen and (max-width: 900px) {

  .lud-legal-resume {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media screen and (max-width: 767px) {

  .lud-legal-page {
    width: 90%;
    padding: 36px 0 55px;
  }

  .lud-legal-intro {
    margin-bottom: 32px;
  }

  .lud-legal-intro h1 {
    font-size: 35px;
  }

  .lud-legal-intro > p {
    font-size: 15px;
    line-height: 1.7;
  }

  .lud-legal-resume {
    margin-bottom: 22px;
  }

  .lud-legal-resume-marque {
    padding: 22px 19px;
    border-radius: 17px;
  }

  .lud-legal-resume-initiale {
    width: 57px;
    height: 57px;

    font-size: 27px;
    border-radius: 15px;
  }

  .lud-legal-navigation {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 17px;
  }

  .lud-legal-carte {
    grid-template-columns: 1fr;
    border-radius: 17px;
  }

  .lud-legal-numero {
    justify-content: flex-start;

    padding: 17px 21px 0;

    background: transparent;

    border-right: 0;
  }

  .lud-legal-texte {
    padding: 8px 21px 28px;
  }

  .lud-legal-texte h2 {
    font-size: 27px;
  }

  .lud-legal-texte p {
    font-size: 14px;
    line-height: 1.72;
  }

  .lud-legal-identite {
    grid-template-columns: 1fr;
  }

  .lud-legal-liens {
    flex-direction: column;
  }

  .lud-legal-liens a,
  .lud-legal-bouton-cookie {
    width: 100%;
    text-align: center;
  }

  .lud-legal-final {
    grid-template-columns: 1fr;

    padding: 29px 21px;

    border-radius: 18px;
  }

  .lud-legal-contact {
    width: 100%;
  }
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .lud-legal-carte,
  .lud-legal-navigation a,
  .lud-legal-liens a,
  .lud-legal-bouton-cookie,
  .lud-legal-contact,
  .lud-legal-contact span {
    transition: none;
  }

  .lud-legal-carte:hover,
  .lud-legal-navigation a:hover,
  .lud-legal-liens a:hover,
  .lud-legal-bouton-cookie:hover,
  .lud-legal-contact:hover {
    transform: none;
  }
}

/* ===== Conditions générales de vente ===== */
/* ==========================================================
   CONDITIONS GÉNÉRALES DE VENTE — LUDORUM
   ========================================================== */

.lud-cgv-page {
  --cgv-nuit: #071a33;
  --cgv-bleu: #0b4dbb;
  --cgv-bleu-clair: #1967d2;
  --cgv-jaune: #f2a900;
  --cgv-rouge: #cf1f1f;
  --cgv-ivoire: #fffaf0;
  --cgv-texte: #2a394f;
  --cgv-gris: #697386;
  --cgv-bordure: rgba(7, 26, 51, 0.12);

  width: min(1160px, 92%);
  margin: 0 auto;
  padding: 55px 0 80px;

  color: var(--cgv-texte);
}

.lud-cgv-page,
.lud-cgv-page * {
  box-sizing: border-box;
}

.lud-cgv-page a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* INTRODUCTION */
.lud-cgv-intro {
  max-width: 860px;
  margin: 0 auto 31px;
  text-align: center;
}

.lud-cgv-badge,
.lud-cgv-sur-titre {
  display: inline-flex;
  align-items: center;
  color: var(--cgv-bleu);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lud-cgv-badge {
  padding: 8px 15px;
  background: rgba(11, 77, 187, 0.08);
  border: 1px solid rgba(11, 77, 187, 0.14);
  border-radius: 999px;
}

.lud-cgv-intro h1 {
  margin: 18px 0 0;
  color: var(--cgv-nuit);
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.lud-cgv-trait {
  display: flex;
  width: 90px;
  height: 5px;
  margin: 20px auto 23px;
  overflow: hidden;
  border-radius: 999px;
}

.lud-cgv-trait span { width: 33.333%; }
.lud-cgv-trait span:nth-child(1) { background: var(--cgv-bleu); }
.lud-cgv-trait span:nth-child(2) { background: var(--cgv-jaune); }
.lud-cgv-trait span:nth-child(3) { background: var(--cgv-rouge); }

.lud-cgv-intro > p {
  max-width: 730px;
  margin: 0 auto;
  color: var(--cgv-gris);
  font-size: 16px;
  line-height: 1.75;
}

.lud-cgv-intro .lud-cgv-date {
  margin-top: 13px;
  color: #89919c;
  font-size: 12px;
}

/* AVERTISSEMENT */
.lud-cgv-preparation {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  max-width: 860px;
  margin: 0 auto 34px;
  padding: 17px 20px;
  color: #5d4919;
  background: rgba(242, 169, 0, 0.12);
  border: 1px solid rgba(242, 169, 0, 0.25);
  border-radius: 15px;
}

.lud-cgv-preparation-icone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #ffffff;
  font-size: 19px;
  font-weight: 900;
  background: var(--cgv-jaune);
  border-radius: 12px;
}

.lud-cgv-preparation strong {
  display: block;
  margin-bottom: 3px;
  color: var(--cgv-nuit);
  font-size: 14px;
}

.lud-cgv-preparation p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
}

/* RÉSUMÉ ET NAVIGATION */
.lud-cgv-resume {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 24px;
  align-items: stretch;
  margin-bottom: 31px;
}

.lud-cgv-resume-marque {
  display: flex;
  align-items: center;
  padding: 28px;
  color: #ffffff;
  background:
    radial-gradient(circle at 100% 0, rgba(242, 169, 0, 0.18), transparent 36%),
    linear-gradient(135deg, var(--cgv-nuit), #0b376e);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(7, 26, 51, 0.16);
  gap: 18px;
}

.lud-cgv-resume-initiale {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 68px;
  height: 68px;
  color: var(--cgv-nuit);
  font-size: 32px;
  font-weight: 900;
  background: linear-gradient(145deg, var(--cgv-jaune), #ffc83d);
  border-radius: 19px;
}

.lud-cgv-resume-marque div > span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lud-cgv-resume-marque strong {
  display: block;
  color: #ffffff;
  font-size: 25px;
  font-weight: 850;
}

.lud-cgv-resume-marque p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.5;
}

.lud-cgv-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid var(--cgv-bordure);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(7, 26, 51, 0.07);
}

.lud-cgv-navigation a {
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 10px 14px;
  color: var(--cgv-texte);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  background: var(--cgv-ivoire);
  border: 1px solid rgba(7, 26, 51, 0.07);
  border-radius: 12px;
  gap: 10px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.lud-cgv-navigation a:hover {
  transform: translateY(-2px);
  border-color: rgba(11, 77, 187, 0.25);
  box-shadow: 0 7px 16px rgba(7, 26, 51, 0.08);
}

.lud-cgv-navigation a span {
  color: var(--cgv-jaune);
  font-size: 11px;
  font-weight: 900;
}

/* CARTES */
.lud-cgv-contenu {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.lud-cgv-carte {
  position: relative;
  display: grid;
  grid-template-columns: 75px minmax(0, 1fr);
  overflow: hidden;
  background: linear-gradient(145deg, #ffffff, var(--cgv-ivoire));
  border: 1px solid var(--cgv-bordure);
  border-radius: 21px;
  box-shadow: 0 13px 32px rgba(7, 26, 51, 0.07);
  scroll-margin-top: 120px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.lud-cgv-carte::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--cgv-bleu), var(--cgv-jaune), var(--cgv-rouge));
}

.lud-cgv-carte:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(7, 26, 51, 0.1);
}

.lud-cgv-numero {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 39px;
  color: var(--cgv-jaune);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  background: rgba(7, 26, 51, 0.035);
  border-right: 1px solid rgba(7, 26, 51, 0.08);
}

.lud-cgv-texte {
  padding: 34px clamp(26px, 4vw, 48px) 38px;
}

.lud-cgv-texte h2 {
  margin: 8px 0 17px;
  color: var(--cgv-nuit);
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.lud-cgv-texte h3 { color: var(--cgv-nuit); }

.lud-cgv-texte p {
  margin: 0 0 14px;
  color: var(--cgv-texte);
  font-size: 15px;
  line-height: 1.75;
}

.lud-cgv-texte p:last-child { margin-bottom: 0; }
.lud-cgv-texte strong { color: var(--cgv-nuit); }

/* IDENTITÉ */
.lud-cgv-identite {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin: 23px 0;
}

.lud-cgv-identite > div {
  padding: 15px 16px;
  background: #ffffff;
  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 12px;
}

.lud-cgv-identite dt {
  margin-bottom: 6px;
  color: var(--cgv-bleu);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lud-cgv-identite dd {
  margin: 0;
  color: var(--cgv-nuit);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.lud-cgv-note {
  color: var(--cgv-gris) !important;
  font-size: 12.5px !important;
}

/* ENCADRÉS */
.lud-cgv-encadre {
  margin-top: 20px;
  padding: 16px 18px;
  color: #244776;
  font-size: 13px;
  line-height: 1.65;
  background: rgba(11, 77, 187, 0.075);
  border-left: 4px solid var(--cgv-bleu);
  border-radius: 0 11px 11px 0;
}

.lud-cgv-encadre-jaune {
  color: #655021;
  background: rgba(242, 169, 0, 0.11);
  border-left-color: var(--cgv-jaune);
}

.lud-cgv-encadre-rouge {
  color: #6d2d2d;
  background: rgba(207, 31, 31, 0.075);
  border-left-color: var(--cgv-rouge);
}

/* POINTS */
.lud-cgv-points {
  display: grid;
  gap: 10px;
  margin-top: 21px;
}

.lud-cgv-points > div {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 13px 15px;
  background: #ffffff;
  border: 1px solid rgba(7, 26, 51, 0.08);
  border-radius: 11px;
}

.lud-cgv-points span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  background: var(--cgv-bleu);
  border-radius: 50%;
}

.lud-cgv-points p {
  margin: 1px 0 0;
  font-size: 13.5px;
}

/* ÉTAPES */
.lud-cgv-etapes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 23px 0;
}

.lud-cgv-etapes > div {
  position: relative;
  padding: 19px 16px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 13px;
}

.lud-cgv-etapes > div::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 43px;
  height: 3px;
  background: linear-gradient(90deg, var(--cgv-bleu), var(--cgv-jaune), var(--cgv-rouge));
}

.lud-cgv-etapes span {
  display: block;
  margin-bottom: 11px;
  color: var(--cgv-jaune);
  font-size: 12px;
  font-weight: 900;
}

.lud-cgv-etapes strong {
  display: block;
  margin-bottom: 6px;
  color: var(--cgv-nuit);
  font-size: 14px;
}

.lud-cgv-etapes p {
  margin: 0;
  color: var(--cgv-gris);
  font-size: 12px;
  line-height: 1.55;
}

/* RÉTRACTATION */
.lud-cgv-carte-retractation {
  border-color: rgba(11, 77, 187, 0.2);
  box-shadow: 0 16px 40px rgba(11, 77, 187, 0.1);
}

.lud-cgv-retractation-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin: 23px 0;
  padding: 23px;
  color: #ffffff;
  background:
    radial-gradient(circle at 100% 0, rgba(242, 169, 0, 0.22), transparent 34%),
    linear-gradient(135deg, var(--cgv-nuit), #0a3e82);
  border-radius: 16px;
}

.lud-cgv-retractation-action strong {
  display: block;
  margin-bottom: 5px;
  color: #ffffff;
  font-size: 16px;
}

.lud-cgv-retractation-action p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12.5px;
  line-height: 1.55;
}

.lud-cgv-bouton-retractation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 185px;
  min-height: 49px;
  padding: 12px 17px;
  color: var(--cgv-nuit);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  background: linear-gradient(145deg, var(--cgv-jaune), #ffc83d);
  border-radius: 11px;
  gap: 9px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lud-cgv-bouton-retractation:hover {
  color: var(--cgv-nuit);
  transform: translateY(-2px);
  box-shadow: 0 11px 23px rgba(0, 0, 0, 0.18);
}

.lud-cgv-adresse-retour {
  display: flex;
  flex-direction: column;
  margin: 18px 0;
  padding: 17px 19px;
  background: #ffffff;
  border: 1px solid rgba(7, 26, 51, 0.1);
  border-radius: 12px;
  gap: 3px;
}

.lud-cgv-adresse-retour strong {
  margin-bottom: 5px;
  color: var(--cgv-bleu);
  font-size: 12px;
  text-transform: uppercase;
}

/* FORMULAIRE RÉTRACTATION */
.lud-cgv-formulaire-retractation {
  margin-top: 22px;
  padding: clamp(20px, 4vw, 34px);
  background: #ffffff;
  border: 1px dashed rgba(7, 26, 51, 0.25);
  border-radius: 15px;
}

.lud-cgv-formulaire-retractation p { font-size: 13.5px; }

.lud-cgv-ligne-a-remplir {
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(7, 26, 51, 0.09);
}

/* GARANTIES */
.lud-cgv-garanties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 23px 0;
}

.lud-cgv-garanties section {
  padding: 22px;
  background: #ffffff;
  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 14px;
}

.lud-cgv-garanties section > span {
  display: block;
  margin-bottom: 9px;
  color: var(--cgv-jaune);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lud-cgv-garanties h3 {
  margin: 0 0 9px;
  font-size: 20px;
}

.lud-cgv-garanties p {
  margin: 0;
  color: var(--cgv-gris);
  font-size: 13px;
  line-height: 1.65;
}

/* MÉDIATEUR */
.lud-cgv-mediateur {
  margin: 22px 0;
  padding: 23px;
  background: linear-gradient(145deg, #ffffff, var(--cgv-ivoire));
  border: 1px solid rgba(7, 26, 51, 0.1);
  border-radius: 14px;
}

.lud-cgv-mediateur-badge {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 10px;
  color: #735200;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(242, 169, 0, 0.14);
  border-radius: 999px;
}

.lud-cgv-mediateur h3 {
  margin: 0 0 9px;
  font-size: 20px;
}

.lud-cgv-mediateur p {
  margin: 3px 0;
  font-size: 13px;
}

/* LIENS */
.lud-cgv-liens {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 10px;
}

.lud-cgv-liens a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 10px 16px;
  color: var(--cgv-bleu);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
  background: rgba(11, 77, 187, 0.075);
  border: 1px solid rgba(11, 77, 187, 0.17);
  border-radius: 10px;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.lud-cgv-liens a:hover {
  color: #ffffff;
  background: var(--cgv-bleu);
  transform: translateY(-2px);
}

/* BLOC FINAL */
.lud-cgv-final {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 29px;
  padding: 34px clamp(25px, 5vw, 50px);
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 92% 10%, rgba(242, 169, 0, 0.23), transparent 28%),
    linear-gradient(135deg, var(--cgv-nuit), #0a3e82);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(7, 26, 51, 0.18);
}

.lud-cgv-final-decoration {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 4px;
}

.lud-cgv-final-decoration span { width: 33.333%; }
.lud-cgv-final-decoration span:nth-child(1) { background: var(--cgv-bleu-clair); }
.lud-cgv-final-decoration span:nth-child(2) { background: var(--cgv-jaune); }
.lud-cgv-final-decoration span:nth-child(3) { background: var(--cgv-rouge); }

.lud-cgv-final .lud-cgv-sur-titre { color: var(--cgv-jaune); }

.lud-cgv-final h2 {
  margin: 8px 0 10px;
  color: #ffffff;
  font-size: clamp(25px, 3vw, 35px);
  font-weight: 850;
  line-height: 1.18;
}

.lud-cgv-final p {
  max-width: 690px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.7;
}

.lud-cgv-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  min-height: 52px;
  padding: 13px 20px;
  color: var(--cgv-nuit);
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  background: linear-gradient(145deg, var(--cgv-jaune), #ffc83d);
  border-radius: 12px;
  gap: 10px;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.lud-cgv-contact:hover {
  color: var(--cgv-nuit);
  transform: translateY(-2px);
  box-shadow: 0 14px 27px rgba(0, 0, 0, 0.2);
}

/* TABLETTE */
@media screen and (max-width: 950px) {
  .lud-cgv-resume { grid-template-columns: 1fr; }
  .lud-cgv-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* MOBILE */
@media screen and (max-width: 767px) {
  .lud-cgv-page {
    width: 90%;
    padding: 36px 0 55px;
  }

  .lud-cgv-intro { margin-bottom: 25px; }
  .lud-cgv-intro h1 { font-size: 34px; }

  .lud-cgv-intro > p {
    font-size: 15px;
    line-height: 1.7;
  }

  .lud-cgv-preparation {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 15px;
  }

  .lud-cgv-preparation-icone {
    width: 34px;
    height: 34px;
  }

  .lud-cgv-resume { margin-bottom: 22px; }

  .lud-cgv-resume-marque {
    padding: 22px 19px;
    border-radius: 17px;
  }

  .lud-cgv-resume-initiale {
    width: 57px;
    height: 57px;
    font-size: 27px;
    border-radius: 15px;
  }

  .lud-cgv-navigation {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 17px;
  }

  .lud-cgv-carte {
    grid-template-columns: 1fr;
    border-radius: 17px;
  }

  .lud-cgv-numero {
    justify-content: flex-start;
    padding: 17px 21px 0;
    background: transparent;
    border-right: 0;
  }

  .lud-cgv-texte { padding: 8px 21px 28px; }
  .lud-cgv-texte h2 { font-size: 27px; }

  .lud-cgv-texte p {
    font-size: 14px;
    line-height: 1.72;
  }

  .lud-cgv-identite,
  .lud-cgv-etapes,
  .lud-cgv-garanties {
    grid-template-columns: 1fr;
  }

  .lud-cgv-retractation-action {
    grid-template-columns: 1fr;
    padding: 19px;
  }

  .lud-cgv-bouton-retractation,
  .lud-cgv-liens a,
  .lud-cgv-contact {
    width: 100%;
  }

  .lud-cgv-liens { flex-direction: column; }

  .lud-cgv-final {
    grid-template-columns: 1fr;
    padding: 29px 21px;
    border-radius: 18px;
  }
}

/* ACCESSIBILITÉ */
@media (prefers-reduced-motion: reduce) {
  .lud-cgv-carte,
  .lud-cgv-navigation a,
  .lud-cgv-liens a,
  .lud-cgv-bouton-retractation,
  .lud-cgv-contact {
    transition: none;
  }

  .lud-cgv-carte:hover,
  .lud-cgv-navigation a:hover,
  .lud-cgv-liens a:hover,
  .lud-cgv-bouton-retractation:hover,
  .lud-cgv-contact:hover {
    transform: none;
  }
}

/* ===== Politique de confidentialité ===== */
/* ==========================================================
   POLITIQUE DE CONFIDENTIALITÉ — LUDORUM
   ========================================================== */

.lud-confidentialite-page {
  --conf-nuit: #071a33;
  --conf-bleu: #0b4dbb;
  --conf-bleu-clair: #1967d2;
  --conf-jaune: #f2a900;
  --conf-rouge: #cf1f1f;
  --conf-ivoire: #fffaf0;
  --conf-texte: #2a394f;
  --conf-gris: #697386;
  --conf-bordure: rgba(7, 26, 51, 0.12);

  width: min(1160px, 92%);
  margin: 0 auto;
  padding: 55px 0 80px;

  color: var(--conf-texte);
}

.lud-confidentialite-page,
.lud-confidentialite-page * {
  box-sizing: border-box;
}


/* INTRODUCTION */

.lud-confidentialite-intro {
  max-width: 860px;
  margin: 0 auto 31px;
  text-align: center;
}

.lud-confidentialite-badge,
.lud-confidentialite-sur-titre {
  display: inline-flex;
  align-items: center;

  color: var(--conf-bleu);

  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lud-confidentialite-badge {
  padding: 8px 15px;

  background: rgba(11, 77, 187, 0.08);
  border: 1px solid rgba(11, 77, 187, 0.14);
  border-radius: 999px;
}

.lud-confidentialite-intro h1 {
  margin: 18px 0 0;

  color: var(--conf-nuit);

  font-size: clamp(38px, 5vw, 58px);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.lud-confidentialite-trait {
  display: flex;

  width: 90px;
  height: 5px;

  margin: 20px auto 23px;

  overflow: hidden;
  border-radius: 999px;
}

.lud-confidentialite-trait span {
  width: 33.333%;
}

.lud-confidentialite-trait span:nth-child(1) {
  background: var(--conf-bleu);
}

.lud-confidentialite-trait span:nth-child(2) {
  background: var(--conf-jaune);
}

.lud-confidentialite-trait span:nth-child(3) {
  background: var(--conf-rouge);
}

.lud-confidentialite-intro > p {
  max-width: 730px;
  margin: 0 auto;

  color: var(--conf-gris);

  font-size: 16px;
  line-height: 1.75;
}

.lud-confidentialite-intro .lud-confidentialite-date {
  margin-top: 13px;

  color: #89919c;
  font-size: 12px;
}


/* AVERTISSEMENT */

.lud-confidentialite-preparation {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);

  gap: 15px;
  align-items: center;

  max-width: 860px;

  margin: 0 auto 34px;
  padding: 17px 20px;

  color: #5d4919;

  background: rgba(242, 169, 0, 0.12);

  border: 1px solid rgba(242, 169, 0, 0.25);
  border-radius: 15px;
}

.lud-confidentialite-preparation > span {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  color: #ffffff;
  font-size: 19px;
  font-weight: 900;

  background: var(--conf-jaune);
  border-radius: 12px;
}

.lud-confidentialite-preparation strong {
  display: block;
  margin-bottom: 3px;

  color: var(--conf-nuit);
  font-size: 14px;
}

.lud-confidentialite-preparation p {
  margin: 0;

  font-size: 12.5px;
  line-height: 1.55;
}


/* RÉSUMÉ ET NAVIGATION */

.lud-confidentialite-resume {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;

  gap: 24px;
  align-items: stretch;

  margin-bottom: 31px;
}

.lud-confidentialite-marque {
  display: flex;
  align-items: center;

  padding: 28px;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(242, 169, 0, 0.18),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      var(--conf-nuit),
      #0b376e
    );

  border-radius: 22px;

  box-shadow:
    0 16px 38px rgba(7, 26, 51, 0.16);

  gap: 18px;
}

.lud-confidentialite-initiale {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: 68px;
  height: 68px;

  color: var(--conf-nuit);

  font-size: 32px;
  font-weight: 900;

  background: linear-gradient(
    145deg,
    var(--conf-jaune),
    #ffc83d
  );

  border-radius: 19px;
}

.lud-confidentialite-marque div > span {
  display: block;
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.6);

  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lud-confidentialite-marque strong {
  display: block;

  color: #ffffff;

  font-size: 25px;
  font-weight: 850;
}

.lud-confidentialite-marque p {
  margin: 5px 0 0;

  color: rgba(255, 255, 255, 0.7);

  font-size: 13px;
  line-height: 1.5;
}

.lud-confidentialite-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 10px;

  padding: 16px;

  background: #ffffff;

  border: 1px solid var(--conf-bordure);
  border-radius: 22px;

  box-shadow:
    0 14px 34px rgba(7, 26, 51, 0.07);
}

.lud-confidentialite-navigation a {
  display: flex;
  align-items: center;

  min-height: 50px;

  padding: 10px 14px;

  color: var(--conf-texte);

  font-size: 13px;
  font-weight: 750;
  text-decoration: none;

  background: var(--conf-ivoire);

  border: 1px solid rgba(7, 26, 51, 0.07);
  border-radius: 12px;

  gap: 10px;

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.lud-confidentialite-navigation a:hover {
  transform: translateY(-2px);

  border-color: rgba(11, 77, 187, 0.25);

  box-shadow:
    0 7px 16px rgba(7, 26, 51, 0.08);
}

.lud-confidentialite-navigation a span {
  color: var(--conf-jaune);

  font-size: 11px;
  font-weight: 900;
}


/* CARTES */

.lud-confidentialite-contenu {
  display: flex;
  flex-direction: column;

  gap: 18px;
}

.lud-confidentialite-carte {
  position: relative;

  display: grid;
  grid-template-columns: 75px minmax(0, 1fr);

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      var(--conf-ivoire)
    );

  border: 1px solid var(--conf-bordure);
  border-radius: 21px;

  box-shadow:
    0 13px 32px rgba(7, 26, 51, 0.07);

  scroll-margin-top: 120px;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.lud-confidentialite-carte::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 4px;

  background: linear-gradient(
    90deg,
    var(--conf-bleu),
    var(--conf-jaune),
    var(--conf-rouge)
  );
}

.lud-confidentialite-carte:hover {
  transform: translateY(-3px);

  box-shadow:
    0 18px 40px rgba(7, 26, 51, 0.1);
}

.lud-confidentialite-numero {
  display: flex;
  align-items: flex-start;
  justify-content: center;

  padding-top: 39px;

  color: var(--conf-jaune);

  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;

  background: rgba(7, 26, 51, 0.035);

  border-right: 1px solid rgba(7, 26, 51, 0.08);
}

.lud-confidentialite-texte {
  padding: 34px clamp(26px, 4vw, 48px) 38px;
}

.lud-confidentialite-texte h2 {
  margin: 8px 0 17px;

  color: var(--conf-nuit);

  font-size: clamp(25px, 3vw, 34px);
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.lud-confidentialite-texte h3 {
  color: var(--conf-nuit);
}

.lud-confidentialite-texte p {
  margin: 0 0 14px;

  color: var(--conf-texte);

  font-size: 15px;
  line-height: 1.75;
}

.lud-confidentialite-texte p:last-child {
  margin-bottom: 0;
}

.lud-confidentialite-texte strong {
  color: var(--conf-nuit);
}


/* IDENTITÉ */

.lud-confidentialite-identite {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 11px;

  margin: 23px 0 0;
}

.lud-confidentialite-identite > div {
  padding: 15px 16px;

  background: #ffffff;

  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 12px;
}

.lud-confidentialite-identite dt {
  margin-bottom: 6px;

  color: var(--conf-bleu);

  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lud-confidentialite-identite dd {
  margin: 0;

  color: var(--conf-nuit);

  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;

  overflow-wrap: anywhere;
}


/* GRILLES */

.lud-confidentialite-grille,
.lud-confidentialite-prestataires,
.lud-confidentialite-bases,
.lud-confidentialite-droits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 12px;

  margin: 22px 0;
}

.lud-confidentialite-grille section,
.lud-confidentialite-prestataires section,
.lud-confidentialite-bases section,
.lud-confidentialite-droits section {
  position: relative;

  padding: 20px;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid rgba(7, 26, 51, 0.09);
  border-radius: 13px;
}

.lud-confidentialite-grille section::after,
.lud-confidentialite-prestataires section::after,
.lud-confidentialite-bases section::after,
.lud-confidentialite-droits section::after {
  content: "";

  position: absolute;
  right: 0;
  bottom: 0;

  width: 45px;
  height: 3px;

  background: linear-gradient(
    90deg,
    var(--conf-bleu),
    var(--conf-jaune),
    var(--conf-rouge)
  );
}

.lud-confidentialite-grille section > span,
.lud-confidentialite-bases section > span,
.lud-confidentialite-droits section > span {
  display: block;

  margin-bottom: 8px;

  color: var(--conf-jaune);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lud-confidentialite-grille p,
.lud-confidentialite-prestataires p,
.lud-confidentialite-bases p,
.lud-confidentialite-droits p {
  margin: 0;

  color: var(--conf-gris);

  font-size: 13px;
  line-height: 1.65;
}

.lud-confidentialite-prestataires h3,
.lud-confidentialite-bases h3,
.lud-confidentialite-droits h3 {
  margin: 0 0 8px;

  font-size: 18px;
}


/* POINTS */

.lud-confidentialite-points {
  display: grid;

  gap: 10px;

  margin: 20px 0;
}

.lud-confidentialite-points > div {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);

  gap: 11px;
  align-items: start;

  padding: 13px 15px;

  background: #ffffff;

  border: 1px solid rgba(7, 26, 51, 0.08);
  border-radius: 11px;
}

.lud-confidentialite-points span {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 25px;
  height: 25px;

  color: #ffffff;
  font-size: 12px;
  font-weight: 900;

  background: var(--conf-bleu);
  border-radius: 50%;
}

.lud-confidentialite-points p {
  margin: 1px 0 0;
  font-size: 13.5px;
}


/* TABLEAUX */

.lud-confidentialite-tableau-wrap {
  width: 100%;

  margin-top: 22px;

  overflow-x: auto;

  border: 1px solid rgba(7, 26, 51, 0.1);
  border-radius: 13px;
}

.lud-confidentialite-tableau {
  width: 100%;
  min-width: 620px;

  border-collapse: collapse;

  background: #ffffff;
}

.lud-confidentialite-tableau th,
.lud-confidentialite-tableau td {
  padding: 14px 16px;

  text-align: left;
  vertical-align: top;

  border-bottom: 1px solid rgba(7, 26, 51, 0.08);
}

.lud-confidentialite-tableau th {
  color: #ffffff;

  font-size: 12px;
  font-weight: 800;

  background: var(--conf-nuit);
}

.lud-confidentialite-tableau td {
  color: var(--conf-texte);

  font-size: 13px;
  line-height: 1.55;
}

.lud-confidentialite-tableau tr:last-child td {
  border-bottom: 0;
}

.lud-confidentialite-tableau td:first-child {
  width: 31%;

  color: var(--conf-nuit);
  font-weight: 750;
}


/* ENCADRÉS */

.lud-confidentialite-encadre {
  margin-top: 20px;
  padding: 16px 18px;

  color: #244776;

  font-size: 13px;
  line-height: 1.65;

  background: rgba(11, 77, 187, 0.075);

  border-left: 4px solid var(--conf-bleu);
  border-radius: 0 11px 11px 0;
}

.lud-confidentialite-encadre-jaune {
  color: #655021;

  background: rgba(242, 169, 0, 0.11);
  border-left-color: var(--conf-jaune);
}


/* LIENS ET COOKIES */

.lud-confidentialite-liens {
  display: flex;
  flex-wrap: wrap;

  margin-top: 20px;

  gap: 10px;
}

.lud-confidentialite-liens a,
.lud-confidentialite-bouton-cookie {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 43px;

  padding: 10px 16px;

  color: var(--conf-bleu);

  font-family: inherit;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;

  background: rgba(11, 77, 187, 0.075);

  border: 1px solid rgba(11, 77, 187, 0.17);
  border-radius: 10px;

  cursor: pointer;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.lud-confidentialite-liens a:hover,
.lud-confidentialite-bouton-cookie:hover {
  color: #ffffff;

  background: var(--conf-bleu);

  transform: translateY(-2px);
}


/* CNIL */

.lud-confidentialite-cnil {
  display: flex;
  flex-direction: column;

  margin-top: 21px;
  padding: 21px;

  background: #ffffff;

  border: 1px solid rgba(7, 26, 51, 0.1);
  border-radius: 13px;

  gap: 4px;
}

.lud-confidentialite-cnil strong {
  margin-bottom: 5px;
}

.lud-confidentialite-cnil span {
  color: var(--conf-gris);

  font-size: 13px;
}

.lud-confidentialite-cnil a {
  align-self: flex-start;

  margin-top: 11px;

  color: var(--conf-bleu);

  font-size: 13px;
  font-weight: 800;
}


/* BLOC FINAL */

.lud-confidentialite-final {
  position: relative;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;

  gap: 28px;
  align-items: center;

  margin-top: 29px;
  padding: 34px clamp(25px, 5vw, 50px);

  overflow: hidden;

  color: #ffffff;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(242, 169, 0, 0.23),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      var(--conf-nuit),
      #0a3e82
    );

  border-radius: 22px;

  box-shadow:
    0 18px 42px rgba(7, 26, 51, 0.18);
}

.lud-confidentialite-final-decoration {
  position: absolute;
  top: 0;
  left: 0;

  display: flex;

  width: 100%;
  height: 4px;
}

.lud-confidentialite-final-decoration span {
  width: 33.333%;
}

.lud-confidentialite-final-decoration span:nth-child(1) {
  background: var(--conf-bleu-clair);
}

.lud-confidentialite-final-decoration span:nth-child(2) {
  background: var(--conf-jaune);
}

.lud-confidentialite-final-decoration span:nth-child(3) {
  background: var(--conf-rouge);
}

.lud-confidentialite-final .lud-confidentialite-sur-titre {
  color: var(--conf-jaune);
}

.lud-confidentialite-final h2 {
  margin: 8px 0 10px;

  color: #ffffff;

  font-size: clamp(25px, 3vw, 35px);
  font-weight: 850;
  line-height: 1.18;
}

.lud-confidentialite-final p {
  max-width: 690px;
  margin: 0;

  color: rgba(255, 255, 255, 0.72);

  font-size: 14px;
  line-height: 1.7;
}

.lud-confidentialite-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 160px;
  min-height: 52px;

  padding: 13px 20px;

  color: var(--conf-nuit);

  font-size: 14px;
  font-weight: 850;
  text-decoration: none;

  background: linear-gradient(
    145deg,
    var(--conf-jaune),
    #ffc83d
  );

  border-radius: 12px;

  gap: 10px;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.lud-confidentialite-contact:hover {
  color: var(--conf-nuit);

  transform: translateY(-2px);

  box-shadow:
    0 14px 27px rgba(0, 0, 0, 0.2);
}


/* TABLETTE */

@media screen and (max-width: 950px) {

  .lud-confidentialite-resume {
    grid-template-columns: 1fr;
  }
}


/* MOBILE */

@media screen and (max-width: 767px) {

  .lud-confidentialite-page {
    width: 90%;
    padding: 36px 0 55px;
  }

  .lud-confidentialite-intro {
    margin-bottom: 25px;
  }

  .lud-confidentialite-intro h1 {
    font-size: 34px;
  }

  .lud-confidentialite-intro > p {
    font-size: 15px;
    line-height: 1.7;
  }

  .lud-confidentialite-preparation {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 15px;
  }

  .lud-confidentialite-preparation > span {
    width: 34px;
    height: 34px;
  }

  .lud-confidentialite-resume {
    margin-bottom: 22px;
  }

  .lud-confidentialite-marque {
    padding: 22px 19px;
    border-radius: 17px;
  }

  .lud-confidentialite-initiale {
    width: 57px;
    height: 57px;

    font-size: 27px;
    border-radius: 15px;
  }

  .lud-confidentialite-navigation {
    grid-template-columns: 1fr;

    padding: 12px;

    border-radius: 17px;
  }

  .lud-confidentialite-carte {
    grid-template-columns: 1fr;

    border-radius: 17px;
  }

  .lud-confidentialite-numero {
    justify-content: flex-start;

    padding: 17px 21px 0;

    background: transparent;

    border-right: 0;
  }

  .lud-confidentialite-texte {
    padding: 8px 21px 28px;
  }

  .lud-confidentialite-texte h2 {
    font-size: 27px;
  }

  .lud-confidentialite-texte p {
    font-size: 14px;
    line-height: 1.72;
  }

  .lud-confidentialite-identite,
  .lud-confidentialite-grille,
  .lud-confidentialite-prestataires,
  .lud-confidentialite-bases,
  .lud-confidentialite-droits {
    grid-template-columns: 1fr;
  }

  .lud-confidentialite-tableau-wrap {
    border-radius: 11px;
  }

  .lud-confidentialite-liens {
    flex-direction: column;
  }

  .lud-confidentialite-liens a,
  .lud-confidentialite-bouton-cookie {
    width: 100%;
    text-align: center;
  }

  .lud-confidentialite-final {
    grid-template-columns: 1fr;

    padding: 29px 21px;

    border-radius: 18px;
  }

  .lud-confidentialite-contact {
    width: 100%;
  }
}


/* ACCESSIBILITÉ */

@media (prefers-reduced-motion: reduce) {

  .lud-confidentialite-carte,
  .lud-confidentialite-navigation a,
  .lud-confidentialite-liens a,
  .lud-confidentialite-bouton-cookie,
  .lud-confidentialite-contact {
    transition: none;
  }

  .lud-confidentialite-carte:hover,
  .lud-confidentialite-navigation a:hover,
  .lud-confidentialite-liens a:hover,
  .lud-confidentialite-bouton-cookie:hover,
  .lud-confidentialite-contact:hover {
    transform: none;
  }
}
