
.lg,
#overlayRoot.ov-page .lg[data-legal] {
  display: block;
  position: relative;
  background: #0A0A0D;
  color: #1D1F24;
  font-family: Literata, Georgia, 'Times New Roman', serif;
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}
.lg *, .lg *::before, .lg *::after { box-sizing: border-box; }

.lg {
  --h1: 30px;
  --h2: 18px;
  --h3: 16px;
  --corps: 17px;
  --meta: 14px;
  --pad-h: 22px;
  --pad-top: 92px;
  --pad-bot: 96px;
  --esp: 40px;              
  --marge: 0px;             
  --barre: 76px;
  --close-w: 250px;            
}
@media (max-width: 720px) {
  .lg { --close-w: 44px; }
}
@media (min-width: 900px) {
  .lg {
    --h1: 42px;
    --h2: 21px;
    --h3: 17px;
    --corps: 18px;
    --meta: 15px;
    --pad-top: 116px;
    --pad-bot: 120px;
    --esp: 52px;
    --marge: 84px;
  }
}

.lg .lg-feuille,
#overlayRoot.ov-page .lg[data-legal] .lg-feuille {
  position: relative;
  min-height: 100vh;
  background: #EDEBE6;
  padding: var(--pad-top) var(--pad-h) var(--pad-bot);
  animation: lg-feuille 500ms ease-out both;
  overflow-x: clip;
}
.lg .lg-feuille::after,
#overlayRoot.ov-page .lg[data-legal] .lg-feuille::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes lg-feuille { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .lg .lg-feuille,
  #overlayRoot.ov-page .lg[data-legal] .lg-feuille { animation: none; }
}

.lg .lg-main,
#overlayRoot.ov-page .lg[data-legal] .lg-main {
  max-width: 840px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.lg .lg-topbar,
#overlayRoot.ov-page .lg[data-legal] .lg-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 16px;
  height: var(--barre);
  padding: 0 calc(var(--close-w) + 32px) 0 var(--pad-h);
  background: #EDEBE6;
  border-bottom: 1px solid #D8D5CE;
}
.lg .lg-doc,
#overlayRoot.ov-page .lg[data-legal] .lg-doc {
  flex: 1 1 auto;
  min-width: 0;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #1D1F24;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lg .lg-doc small,
#overlayRoot.ov-page .lg[data-legal] .lg-doc small {
  font-weight: 400;
  font-size: 0.75rem;         
  letter-spacing: .04em;
  text-transform: none;
  color: #595C62;
  margin-left: 10px;
}
@media (max-width: 700px) {
  .lg .lg-doc small,
  #overlayRoot.ov-page .lg[data-legal] .lg-doc small { display: none; }
}

.lg .lg-haut,
#overlayRoot.ov-page .lg[data-legal] .lg-haut {
  flex: 0 0 auto;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #595C62;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
.lg .lg-haut:hover,
#overlayRoot.ov-page .lg[data-legal] .lg-haut:hover { color: #1D1F24; border-bottom-color: #31c7d2; }
@media (max-width: 560px) {
  .lg .lg-haut,
  #overlayRoot.ov-page .lg[data-legal] .lg-haut { display: none; }
}

.lg h1,
#overlayRoot.ov-page .lg[data-legal] h1 {
  margin: 0 0 18px;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: var(--h1);
  line-height: 1.06;
  letter-spacing: -.01em;
  color: #1D1F24;
  max-width: 18ch;
}

.lg .lg-chapeau,
#overlayRoot.ov-page .lg[data-legal] .lg-chapeau {
  margin: 0 0 8px;
  max-width: 62ch;
  font-size: calc(var(--corps) + 1px);
  line-height: 1.6;
}

.lg .lg-ref,
#overlayRoot.ov-page .lg[data-legal] .lg-ref {
  margin: 0 0 var(--esp);
  font-size: var(--meta);
  line-height: 1.5;
  color: #595C62;
  max-width: 68ch;
}

.lg .lg-avis,
#overlayRoot.ov-page .lg[data-legal] .lg-avis { display: none; }
.lg[data-faux] .lg-avis,
#overlayRoot.ov-page .lg[data-legal][data-faux] .lg-avis {
  display: block;
  margin: 0 0 var(--esp);
  padding: 14px 16px;
  border: 1px solid #B3402A;
  border-left-width: 4px;
  color: #B3402A;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: var(--meta);
  line-height: 1.5;
}

.lg .lg-sommaire,
#overlayRoot.ov-page .lg[data-legal] .lg-sommaire {
  margin: 0 0 var(--esp);
  padding: 22px 0 24px;
  border-top: 1px solid #D8D5CE;
  border-bottom: 1px solid #D8D5CE;
}
.lg .lg-sommaire-t,
#overlayRoot.ov-page .lg[data-legal] .lg-sommaire-t {
  margin: 0 0 14px;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #595C62;
}
.lg .lg-sommaire ol,
#overlayRoot.ov-page .lg[data-legal] .lg-sommaire ol {
  margin: 0;
  padding: 0;
  list-style: none;
  columns: 1;
  column-gap: 40px;
}
@media (min-width: 700px) {
  .lg .lg-sommaire ol,
  #overlayRoot.ov-page .lg[data-legal] .lg-sommaire ol { columns: 2; }
}
.lg .lg-sommaire li,
#overlayRoot.ov-page .lg[data-legal] .lg-sommaire li {
  break-inside: avoid;
  margin: 0 0 7px;
  font-size: var(--meta);
  line-height: 1.4;
}
.lg .lg-som-n,
#overlayRoot.ov-page .lg[data-legal] .lg-som-n {
  display: inline-block;
  width: 2.2em;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  color: #595C62;
  font-variant-numeric: tabular-nums;
}

.lg section,
#overlayRoot.ov-page .lg[data-legal] section {
  position: relative;
  margin: 0 0 var(--esp);
  padding-top: 26px;
  padding-left: var(--marge);
  border-top: 1px solid #D8D5CE;
  scroll-margin-top: calc(var(--barre) + 24px);
}
.lg .lg-sommaire,
#overlayRoot.ov-page .lg[data-legal] .lg-sommaire { scroll-margin-top: calc(var(--barre) + 24px); }
.lg section:first-of-type,
#overlayRoot.ov-page .lg[data-legal] section:first-of-type { border-top: 0; padding-top: 0; }

.lg .lg-n,
#overlayRoot.ov-page .lg[data-legal] .lg-n {
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #595C62;
  font-variant-numeric: tabular-nums;
  display: block;
  margin-bottom: 4px;
}
@media (min-width: 900px) {
  .lg .lg-n,
  #overlayRoot.ov-page .lg[data-legal] .lg-n {
    position: absolute;
    left: 0;
    top: 26px;
    margin: 0;
    width: calc(var(--marge) - 20px);
    text-align: right;
  }
  .lg section:first-of-type .lg-n,
  #overlayRoot.ov-page .lg[data-legal] section:first-of-type .lg-n { top: 0; }
}

.lg h2,
#overlayRoot.ov-page .lg[data-legal] h2 {
  margin: 0 0 14px;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: var(--h2);
  line-height: 1.2;
  color: #1D1F24;
  max-width: 32ch;
}
.lg h3,
#overlayRoot.ov-page .lg[data-legal] h3 {
  margin: 26px 0 10px;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: var(--h3);
  line-height: 1.3;
  color: #1D1F24;
}

.lg p,
#overlayRoot.ov-page .lg[data-legal] p {
  margin: 0 0 14px;
  max-width: 68ch;
  font-size: var(--corps);
  line-height: 1.62;
  color: #1D1F24;
}
.lg p:last-child,
#overlayRoot.ov-page .lg[data-legal] p:last-child { margin-bottom: 0; }

.lg strong,
#overlayRoot.ov-page .lg[data-legal] strong { font-weight: 600; }
.lg em,
#overlayRoot.ov-page .lg[data-legal] em { font-style: italic; }

.lg section ul,
#overlayRoot.ov-page .lg[data-legal] section ul {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  max-width: 68ch;
}
.lg section ul li,
#overlayRoot.ov-page .lg[data-legal] section ul li {
  position: relative;
  margin: 0 0 9px;
  padding-left: 20px;
  font-size: var(--corps);
  line-height: 1.55;
}
.lg section ul li::before,
#overlayRoot.ov-page .lg[data-legal] section ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .62em;
  width: 6px;
  height: 6px;
  background: #595C62;
}

.lg dl,
#overlayRoot.ov-page .lg[data-legal] dl {
  margin: 0 0 14px;
  max-width: 68ch;
}
.lg dl > div,
#overlayRoot.ov-page .lg[data-legal] dl > div {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px 20px;
  padding: 9px 0;
  border-bottom: 1px solid #D8D5CE;
}
@media (min-width: 700px) {
  .lg dl > div,
  #overlayRoot.ov-page .lg[data-legal] dl > div { grid-template-columns: 200px 1fr; gap: 0 20px; }
}
.lg dt,
#overlayRoot.ov-page .lg[data-legal] dt {
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #595C62;
  padding-top: 3px;
}
.lg dd,
#overlayRoot.ov-page .lg[data-legal] dd {
  margin: 0;
  font-size: var(--corps);
  line-height: 1.5;
}

.lg .lg-a,
#overlayRoot.ov-page .lg[data-legal].overlay-article .lg-a {
  color: #1D1F24;
  text-decoration: underline;
  text-decoration-color: #D8D5CE;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.lg .lg-a:hover,
#overlayRoot.ov-page .lg[data-legal].overlay-article .lg-a:hover { text-decoration-color: #31c7d2; }

.lg a:focus-visible,
#overlayRoot.ov-page .lg[data-legal] a:focus-visible {
  outline: 2px solid #31c7d2;
  outline-offset: 2px;
}

.lg .lg-pied,
#overlayRoot.ov-page .lg[data-legal] .lg-pied {
  margin-top: var(--esp);
  padding-top: 22px;
  border-top: 1px solid #D8D5CE;
  padding-left: var(--marge);
}
.lg .lg-version,
#overlayRoot.ov-page .lg[data-legal] .lg-version {
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #595C62;
  margin-bottom: 14px;
}
.lg .lg-voir,
#overlayRoot.ov-page .lg[data-legal] .lg-voir {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  align-items: center;
  font-size: var(--meta);
}

.lg .lg-x,
#overlayRoot.ov-page .lg[data-legal] .lg-x { font-style: normal; }
.lg[data-faux] .lg-x,
#overlayRoot.ov-page .lg[data-legal][data-faux] .lg-x {
  color: #B3402A;
  border-bottom: 1px dashed #B3402A;
  font-family: 'Chakra Petch', system-ui, sans-serif;
  font-weight: 700;
  font-size: .92em;
  white-space: nowrap;
}

#overlayRoot.ov-page:has(.lg[data-legal]) #overlayScrim { background: #0A0A0D; }
#overlayRoot.ov-page:has(.lg[data-legal]) #overlayPanel { background: transparent; }

body:has(.page-main .lg[data-legal]) #scrollTopBtn,
#overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 45;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #EDEBE6;
  border: 1px solid #1D1F24;
  border-radius: 0;
  box-shadow: none;
  color: #1D1F24;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
body:has(.page-main .lg[data-legal]) #scrollTopBtn.is-visible,
#overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s ease;
}
body:has(.page-main .lg[data-legal]) #scrollTopBtn:hover,
body:has(.page-main .lg[data-legal]) #scrollTopBtn:focus-visible,
#overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn:hover,
#overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn:focus-visible {
  border-color: #31c7d2;
  color: #31c7d2;
}
@media (max-width: 640px) {
  body:has(.page-main .lg[data-legal]) #scrollTopBtn,
  #overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn { right: 14px; bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.page-main .lg[data-legal]) #scrollTopBtn,
  #overlayRoot.ov-page:has(.lg[data-legal]) ~ #scrollTopBtn { transition: opacity .01s linear, visibility 0s; }
}

@media print {
  .lg { background: #fff; }
  .lg .lg-feuille { background: #fff; padding: 0; animation: none; min-height: 0; }
  .lg .lg-feuille::after,
  .lg .lg-topbar,
  .lg .lg-avis { display: none; }
  .lg .lg-main { max-width: none; }
  .lg section { break-inside: auto; page-break-inside: auto; }
  .lg h1, .lg h2, .lg h3 { break-after: avoid; page-break-after: avoid; }
  .lg .lg-a { text-decoration: none; }
  .lg .lg-a::after { content: " (" attr(href) ")"; font-size: 0.75rem; color: #595C62; }
}
