/* ON10 LEGAL NOTICE SIMPLE */

.legalNoticePage {
  min-height: 100dvh;
  background: #f6f7f5;
  color: #17202b;
  font-family:
    "Poppins",
    Arial,
    sans-serif;
}

.legalNoticeHeader {
  position: sticky;
  z-index: 40;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding:
    0
    clamp(14px, 4vw, 40px);
  border-bottom:
    1px
    solid
    rgba(23, 32, 43, .08);
  background:
    rgba(248, 249, 247, .94);
  backdrop-filter:
    blur(14px);
}

.legalNoticeBrand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #17202b;
  text-decoration: none;
}

.legalNoticeBrand img {
  width: 34px;
  height: 34px;
}

.legalNoticeBrand > span {
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.045em;
}

.legalNoticeBrand strong {
  color: #778493;
}

.legalNoticeHeaderActions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.legalNoticeBack {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 13px;
  border:
    1px
    solid
    rgba(23, 32, 43, .09);
  border-radius: 11px;
  background: #fff;
  color: #4f5c6b;
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
}

.legalNoticeMain {
  width:
    min(
      calc(100% - 26px),
      920px
    );
  margin: 0 auto;
  padding:
    clamp(44px, 7vw, 72px)
    0
    38px;
}

.legalNoticeMain > h1 {
  margin:
    0
    0
    29px;
  color: #17202b;
  font-size:
    clamp(
      30px,
      6vw,
      56px
    );
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.06em;
  white-space: nowrap;
}

.legalNoticePanel {
  overflow: hidden;
  border:
    1px
    solid
    rgba(23, 32, 43, .08);
  border-radius: 20px;
  background: #fff;
  box-shadow:
    0
    14px
    42px
    rgba(23, 32, 43, .04);
}

.legalNoticeSection {
  padding:
    clamp(
      22px,
      4vw,
      36px
    );
}

.legalNoticeSection
+ .legalNoticeSection {
  border-top:
    1px
    solid
    rgba(23, 32, 43, .08);
}

.legalNoticeSection h2 {
  margin:
    0
    0
    22px;
  color: #17202b;
  font-size:
    clamp(
      18px,
      2.8vw,
      23px
    );
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.legalNoticeDataGrid {
  display: grid;
  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );
  margin: 0;
  border-top:
    1px
    solid
    rgba(23, 32, 43, .07);
}

.legalNoticeDataRow {
  display: grid;
  grid-template-columns:
    minmax(112px, .82fr)
    1.18fr;
  gap: 14px;
  padding: 15px 0;
  border-bottom:
    1px
    solid
    rgba(23, 32, 43, .07);
}

.legalNoticeDataRow:nth-child(odd) {
  padding-right: 20px;
}

.legalNoticeDataRow:nth-child(even) {
  padding-left: 20px;
  border-left:
    1px
    solid
    rgba(23, 32, 43, .07);
}

.legalNoticeDataRow dt {
  color: #87919d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .025em;
}

.legalNoticeDataRow dd {
  margin: 0;
  color: #2c3947;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.legalNoticeDataRow a {
  color: #315f85;
  text-decoration: none;
}

.legalNoticeText {
  max-width: 760px;
  margin: 0;
  color: #657283;
  font-size: 13px;
  line-height: 1.8;
}

.legalNoticeIdentity {
  display: grid;
  gap: 3px;
  margin-top: 20px;
}

.legalNoticeIdentity strong {
  font-size: 14px;
}

.legalNoticeIdentity span {
  color: #7d8896;
  font-size: 11px;
}

.legalNoticeContact {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 19px;
  padding: 12px 14px;
  border-radius: 11px;
  background: #17202b;
  color: #fff;
  text-decoration: none;
  font-size: 11px;
  font-weight: 750;
}

.legalNoticeContact strong {
  font-weight: 900;
}

.legalNoticeContact
> span:last-child {
  margin-left: 4px;
}

.legalNoticeFooter {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  width:
    min(
      calc(100% - 26px),
      920px
    );
  margin: 0 auto;
  padding: 19px 0 30px;
  color: #8a95a1;
  font-size: 10px;
}

.legalNoticeFooter a {
  color: #586a7d;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 700px) {
  .legalNoticeHeader {
    min-height: 62px;
    padding: 0 12px;
  }

  .legalNoticeBack {
    display: none;
  }

  .legalNoticeMain {
    padding-top: 38px;
  }

  .legalNoticeMain > h1 {
    font-size:
      clamp(
        27px,
        8vw,
        36px
      );
    letter-spacing: -.055em;
  }

  .legalNoticeDataGrid {
    grid-template-columns: 1fr;
  }

  .legalNoticeDataRow,
  .legalNoticeDataRow:nth-child(odd),
  .legalNoticeDataRow:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 13px 0;
    border-left: 0;
  }

  .legalNoticeContact {
    width: 100%;
    box-sizing: border-box;
    flex-wrap: wrap;
  }

  .legalNoticeFooter {
    flex-direction: column;
  }
}

@media (max-width: 340px) {
  .legalNoticeMain > h1 {
    font-size: 25px;
  }
}

/* ON10 LEGAL NOTICE SIMPLE END */


/* ON10 LEGAL PAGE TITLE ICONS START */

.legalNoticeMain > h1.legalNoticeTitle {
  display: flex;
  flex-direction: row;
  align-items: center;

  width: 100%;
  min-width: 0;

  gap: .24em;
}

.legalNoticeTitleIcon {
  display: grid;
  place-items: center;

  flex: 0 0 1.05em;

  width: 1em;
  height: 1em;

  min-width: 1em;

  margin: 0;
  padding: 0;

  color: currentColor;

  line-height: 0;
}

.legalNoticeTitleIcon svg {
  display: block;

  width: 100%;
  height: 100%;

  color: currentColor;

  overflow: visible;
}

.legalNoticeTitleText {
  display: block;

  min-width: 0;

  /*
   * Important pour les traductions longues :
   * le titre peut passer sur plusieurs lignes
   * sans que l'icône soit écrasée.
   */
  white-space: normal;
}

@media (max-width: 700px) {
  .legalNoticeMain > h1.legalNoticeTitle {
    gap: .22em;
  }

  .legalNoticeTitleIcon {
    flex-basis: .80em;

    width: .80em;
    height: .80em;

    min-width: .80em;
  }
}

/* ON10 LEGAL PAGE TITLE ICONS END */

/* ON10 LEGAL TITLE ICON SIZE V2 START */

/*
 * Icône volontairement presque aussi haute
 * que la typographie du titre.
 */
.legalNoticeMain
> h1.legalNoticeTitle {
  gap: .22em !important;
}

.legalNoticeMain
> h1.legalNoticeTitle
.legalNoticeTitleIcon {
  flex:
    0
    0
    1.12em !important;

  width:
    1.12em !important;

  min-width:
    1.12em !important;

  height:
    1.12em !important;
}

.legalNoticeMain
> h1.legalNoticeTitle
.legalNoticeTitleIcon svg {
  display: block !important;

  width:
    100% !important;

  height:
    100% !important;
}

@media (max-width: 700px) {
  .legalNoticeMain
  > h1.legalNoticeTitle {
    gap: .20em !important;
  }

  .legalNoticeMain
  > h1.legalNoticeTitle
  .legalNoticeTitleIcon {
    flex-basis:
      1.06em !important;

    width:
      1.06em !important;

    min-width:
      1.06em !important;

    height:
      1.06em !important;
  }
}

/* ON10 LEGAL TITLE ICON SIZE V2 END */

/* ON10 PRIVACY FR EN */

.privacyPage {
  font-family:
    "Poppins",
    Arial,
    sans-serif;
}

.privacyMain > h1 {
  max-width: 100%;
  margin-bottom: 28px;
  font-size: clamp(22px, 4.7vw, 46px);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -.05em;
  white-space: nowrap;
}

.privacySection h2 {
  margin-bottom: 18px;
}

.privacyParagraph {
  margin-top: 0;
}

.privacyParagraph + .privacyParagraph {
  margin-top: 15px;
}

.privacyListIntro {
  margin: 0 0 12px;
  color: #445263;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.7;
}

.privacyList {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacyList li {
  position: relative;
  padding-left: 18px;
  color: #657283;
  font-size: 12px;
  line-height: 1.75;
}

.privacyList li::before {
  content: "";
  position: absolute;
  top: .78em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #315f85;
}

.privacyAfter {
  margin-top: 20px;
  padding: 13px 14px;
  border-left: 3px solid #315f85;
  border-radius: 0 9px 9px 0;
  background: #f5f8fa;
}

.privacyAfter .privacyParagraph {
  color: #526174;
  font-weight: 650;
}

.privacyContact {
  margin-top: 20px;
}

@media (max-width: 700px) {
  .privacyMain > h1 {
    font-size: clamp(19px, 5.6vw, 31px);
    letter-spacing: -.045em;
  }
}

@media (max-width: 360px) {
  .privacyMain > h1 {
    font-size: 18px;
  }
}

/* ON10 PRIVACY FR EN END */


.on10LearnPage { min-height:100vh; background:#f5f8fa; color:#182333; font-family:Poppins,Arial,sans-serif; }
.on10LearnPage * { box-sizing:border-box; }
.on10LearnPage a { color:#315f85; text-underline-offset:3px; }

.on10LearnHeader { background:#fff; border-bottom:1px solid #e6eaf0; }
.on10LearnHeader .wrap {
  max-width:1040px; margin:auto; padding:15px 22px;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.on10LearnBrand {
  display:flex; align-items:center; gap:10px;
  font-weight:850; text-decoration:none; font-size:19px;
}
.on10LearnBrand img {
  display:block; width:38px; height:38px; object-fit:contain;
}
.on10LearnNav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.on10LearnNav a { text-decoration:none; font-size:13px; font-weight:750; }
.on10LearnNav a:hover,.on10LearnFooter a:hover { text-decoration:underline; }

.on10LearnMain {
  width:min(100%,840px); max-width:840px;
  margin:0 auto; padding:45px 22px 65px;
}
.on10LearnPage .on10LearnMain > h1.legalNoticeTitle {
  display:flex; align-items:center; gap:15px;
  margin:0 0 22px; white-space:normal; font-weight:900;
  font-size:clamp(27px,4.4vw,45px);
  line-height:1.15; letter-spacing:-.045em;
}
.on10LearnPage .legalNoticeTitleIcon {
  display:flex; align-items:center; justify-content:center;
  flex:0 0 46px; height:46px;
}
.on10LearnPage .legalNoticeTitleIcon img {
  width:30px; height:30px; display:block; object-fit:contain;
}
.on10LearnLead {
  color:#445263; font-size:16px;
  line-height:1.8; margin:0 0 28px;
}

.on10LearnArticle {
  background:#fff; border:1px solid #e5eaf0;
  border-radius:16px; padding:30px 34px;
}
.on10LearnSection { margin:0; padding:0 0 25px; }
.on10LearnSection + .on10LearnSection {
  padding-top:28px; border-top:1px solid #edf0f4;
}
.on10LearnSection:last-child { padding-bottom:0; }
.on10LearnSection h2 {
  color:#192b3b; font-size:clamp(18px,2.5vw,23px);
  font-weight:850; line-height:1.35; margin:0 0 13px;
}
.on10LearnSection p {
  color:#526174; font-size:14px;
  line-height:1.85; margin:0 0 15px;
}
.on10LearnSection p:last-child { margin-bottom:0; }

.on10LearnCallout {
  margin-top:28px; padding:19px 22px;
  border-left:3px solid #315f85;
  border-radius:0 9px 9px 0; background:#fff;
}
.on10LearnCallout p { color:#526174; line-height:1.7; }

.on10LearnFooter { background:#fff; border-top:1px solid #e6eaf0; }
.on10LearnFooter .wrap {
  max-width:1040px; margin:auto; padding:22px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px; font-size:12px; color:#657283;
}
.on10LearnFooter nav { display:flex; flex-wrap:wrap; gap:10px 18px; }
.on10LearnFooter nav a { font-size:12px; text-decoration:none; }


.on10LearnBreadcrumb {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 26px;
  color:#657283;
  font-size:12px;
  line-height:1.7;
}
.on10LearnBreadcrumb a {
  font-weight:700;
  text-decoration:none;
}
.on10LearnBreadcrumb [aria-current="page"] {
  color:#526174;
}

.on10LearnRelated {
  margin-top:28px;
  padding:26px 28px;
  border:1px solid #e5eaf0;
  border-radius:16px;
  background:#fff;
}
.on10LearnRelated h2 {
  margin:0 0 12px;
  color:#192b3b;
  font-size:21px;
  line-height:1.3;
  font-weight:850;
}
.on10LearnRelated > p {
  color:#526174;
  font-size:13px;
  line-height:1.8;
}
.on10LearnRelated ul {
  display:grid;
  gap:0;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.on10LearnRelated li {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:13px 0;
  border-top:1px solid #edf0f4;
}
.on10LearnRelated li a {
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}
.on10LearnRelated li a:hover {
  text-decoration:underline;
}
.on10LearnRelated li span {
  color:#657283;
  font-size:12px;
  line-height:1.6;
}
@media(max-width:600px) {
  .on10LearnRelated {
    padding:22px 18px;
  }
  .on10LearnRelated h2 {
    font-size:19px;
  }
}

@media(max-width:600px) {
  .on10LearnHeader .wrap { padding:13px 16px; }
  .on10LearnMain { padding:28px 16px 48px; }
  .on10LearnPage .on10LearnMain > h1.legalNoticeTitle {
    gap:10px; font-size:clamp(23px,6vw,32px);
  }
  .on10LearnPage .legalNoticeTitleIcon {
    flex-basis:38px; height:38px;
  }
  .on10LearnArticle { padding:22px 18px; }
  .on10LearnFooter .wrap { padding:20px 16px; }
}
