/*
 * Correctifs globaux GENSIDE chargés avec la page.
 * Ils évitent le flash sombre avant l’exécution des extensions JavaScript.
 */

.site-header__inner {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(18px, 2.5vw, 46px) !important;
  padding-right: clamp(18px, 2.5vw, 46px) !important;
}

.site-header .header-search,
.site-header .header-account {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.site-header .header-search {
  width: auto !important;
  min-width: 148px !important;
  padding: 0 9px !important;
}

.site-header .header-account {
  width: auto !important;
  padding: 0 12px !important;
}

.site-header .header-search kbd {
  font-size: 9px !important;
  line-height: 1 !important;
  padding: 3px 6px !important;
}

html.genside-overlay-header .site-header {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 60 !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    90deg,
    rgba(8, 6, 9, .62),
    rgba(8, 6, 9, .28),
    rgba(8, 6, 9, .54)
  ) !important;
  backdrop-filter: none !important;
}

html.genside-overlay-header .branch-page .branch-hero > .relative,
html.genside-overlay-header .document-page .document-hero__inner,
html.genside-overlay-header .editorial-public .hub-hero__inner {
  padding-top: calc(76px + clamp(28px, 3vw, 54px)) !important;
}

.branch-page .branch-hero > .relative,
.document-page .document-hero__inner,
.editorial-public .hub-hero__inner,
.regulation-page .regulation-page__inner {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(24px, 5vw, 88px) !important;
  padding-right: clamp(24px, 5vw, 88px) !important;
}

.document-page .document-hero__content,
.editorial-public .hub-hero__copy {
  width: 100% !important;
  max-width: none !important;
}

/* Guides : deux colonnes utiles seulement. */
.document-layout.document-layout--dynamic {
  grid-template-columns: 320px minmax(0, 1fr) !important;
}

.document-layout .document-aside {
  display: none !important;
}

/* Règlement : navigation calme, compacte et hiérarchisée. */
.regulation-major-nav.regulation-v16__branches {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 14px !important;
  background: rgba(10, 8, 11, .76) !important;
  backdrop-filter: blur(12px);
}

.regulation-major-nav.regulation-v16__branches > a {
  min-height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: rgba(245, 238, 241, .68) !important;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease,
    color .18s ease !important;
}

.regulation-major-nav.regulation-v16__branches > a::before,
.regulation-major-nav.regulation-v16__branches > a::after {
  display: none !important;
  content: none !important;
}

.regulation-major-nav.regulation-v16__branches > a:hover {
  background: rgba(255, 255, 255, .045) !important;
  color: #fff8f5 !important;
}

.regulation-major-nav.regulation-v16__branches > a.is-active {
  border-color: rgba(255, 122, 94, .34) !important;
  background: rgba(255, 122, 94, .11) !important;
  color: #ff9a82 !important;
  box-shadow: inset 3px 0 0 #ff765c !important;
}

.guide-page--regulation .editorial-guide-rail--left {
  background: #0d0a0d !important;
  border-right-color: rgba(255, 255, 255, .08) !important;
  padding: 16px !important;
}

.branch-reader-nav__branches {
  display: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 6px !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .025) !important;
}

.branch-reader-nav__branches > a {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: rgba(245, 238, 241, .64) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.branch-reader-nav__branches > a svg {
  display: none !important;
}

.branch-reader-nav__branches > a.is-active {
  border-color: rgba(255, 122, 94, .26) !important;
  background: rgba(255, 122, 94, .10) !important;
  color: #ff9a82 !important;
}

.branch-reader-nav__sections {
  margin-top: 0 !important;
}

.branch-reader-nav__heading {
  margin: 0 4px 8px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
}

.branch-reader-nav__heading > span {
  display: none !important;
}

.branch-reader-nav__heading > strong {
  color: rgba(245, 238, 241, .54) !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.branch-reader-nav__section {
  border-bottom: 1px solid rgba(255, 255, 255, .055) !important;
}

.branch-reader-nav__section > button {
  min-height: 44px !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  color: rgba(250, 244, 246, .82) !important;
  font-size: 13px !important;
}

.branch-reader-nav__section > button:hover,
.branch-reader-nav__section > button[aria-expanded="true"] {
  background: rgba(255, 255, 255, .04) !important;
  color: #fff8f5 !important;
}

.branch-reader-nav__section > button > svg:first-child {
  color: #c99183 !important;
  opacity: .82 !important;
}

.branch-reader-nav__section > button small {
  color: rgba(245, 238, 241, .38) !important;
}

.branch-reader-nav__articles {
  margin: 0 0 8px 22px !important;
  padding-left: 8px !important;
  border-left: 1px solid rgba(255, 255, 255, .08) !important;
}

.branch-reader-nav__articles > a {
  min-height: 34px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: rgba(245, 238, 241, .64) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

.branch-reader-nav__articles > a:hover {
  background: rgba(255, 255, 255, .035) !important;
  color: #fff8f5 !important;
}

.branch-reader-nav__articles > a.is-active {
  background: rgba(255, 122, 94, .10) !important;
  color: #ff9a82 !important;
  box-shadow: inset 2px 0 0 #ff765c !important;
}

.branch-page .branch-hero > .absolute.inset-0 > img {
  opacity: 0 !important;
  filter: none !important;
}

.branch-page .branch-hero > .absolute.inset-0 > .absolute.inset-0,
.branch-page .branch-hero::after {
  background: transparent !important;
  content: none !important;
  pointer-events: none !important;
}

.branch-page .branch-hero > .grain {
  opacity: .12 !important;
  pointer-events: none !important;
}

.branch-page,
.document-page,
.editorial-public {
  background-color: #0b080c !important;
}

.branch-page main,
.branch-page [class*="branch-content"],
.branch-page [class*="branch-sections"],
.guide-page,
.guide-page .editorial-guide-content,
.document-page .document-layout,
.editorial-public main {
  background-color: #0b080c !important;
}

.branch-page .branch-hero h1,
.document-page .document-hero h1,
.editorial-public .hub-hero h1 {
  color: var(--hero-accent, #ffcf9a) !important;
  -webkit-text-stroke: .25px rgba(0, 0, 0, .35);
  text-shadow:
    0 2px 2px rgba(0, 0, 0, .82),
    0 6px 24px rgba(0, 0, 0, .72),
    0 0 30px var(--hero-glow, rgba(255, 207, 154, .18));
}

.branch-page .branch-hero p,
.branch-page .branch-hero nav,
.document-page .document-hero p,
.document-page .document-hero nav,
.editorial-public .hub-hero p,
.editorial-public .hub-hero nav {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, .92),
    0 3px 14px rgba(0, 0, 0, .78);
}

.branch-page .branch-hero [class*="eyebrow"],
.branch-page .branch-hero nav span:last-child,
.document-page .document-hero__eyebrow,
.editorial-public .hub-hero__eyebrow {
  color: var(--hero-accent, #ffcf9a) !important;
}

.branch-page .branch-hero button {
  background: var(--hero-accent, #ffcf9a) !important;
  color: var(--hero-button-text, #241014) !important;
  box-shadow: 0 12px 32px var(--hero-glow, rgba(255, 207, 154, .18));
}

.guide-page .editorial-city-banner,
.guide-page .editorial-city-banner--article {
  filter: none !important;
  opacity: 1 !important;
}

.guide-page .editorial-city-banner--article {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

.guide-page .editorial-city-banner::before,
.guide-page .editorial-city-banner::after {
  display: none !important;
  content: none !important;
}

.guide-page .guide-layout.editorial-guide-layout {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

.guide-page .editorial-guide-rail--left {
  width: 320px !important;
  min-width: 320px !important;
  border-right: 1px solid rgba(255, 255, 255, .10) !important;
  background: rgba(15, 11, 16, .74) !important;
}

.guide-page .editorial-guide-rail--left button,
.guide-page .editorial-guide-rail--left a,
.guide-page .editorial-guide-rail--left button *,
.guide-page .editorial-guide-rail--left a * {
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.guide-page .editorial-guide-rail--right {
  display: none !important;
}

.guide-page .editorial-guide-content {
  width: 100% !important;
  max-width: none !important;
}

.guide-page .editorial-rule-article {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.guide-page .editorial-guide-content {
  box-sizing: border-box !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(36px, 4vw, 76px) !important;
  padding-right: clamp(36px, 4vw, 76px) !important;
  background:
    radial-gradient(
      circle at 82% 8%,
      color-mix(in srgb, var(--hero-accent, #ff9a82) 7%, transparent),
      transparent 34%
    ),
    #0b080c !important;
}

.guide-page .editorial-rule-pagination {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 14px !important;
}

.guide-page .editorial-rule-pagination__link {
  box-sizing: border-box !important;
  width: fit-content !important;
  min-width: min(100%, 290px) !important;
  max-width: min(100%, 460px) !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
}

.guide-page .editorial-rule-pagination__link:last-child {
  margin-left: 0 !important;
}

.guide-page .editorial-rule-pagination__link > div {
  width: auto !important;
  max-width: 390px !important;
}

/* Une seule famille typographique lisible pour toutes les branches éditoriales. */
.guide-page,
.guide-page button,
.guide-page input,
.guide-page select,
.guide-page textarea,
.regulation-page,
.regulation-page button,
.document-page,
.document-page button,
.ep-tools-shell,
.ep-tools-shell button,
.ep-tools-shell input,
.ep-tools-shell select,
.ep-tools-shell textarea {
  font-family: "Source Sans 3", Inter, system-ui, sans-serif !important;
  font-synthesis: none !important;
}

.branch-page .branch-hero h1,
.document-page .document-hero h1,
.editorial-public .hub-hero h1,
.ep-page-heading h1 {
  max-width: min(1100px, 100%) !important;
  font-family: Sora, Manrope, system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(48px, 5.2vw, 86px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere !important;
}

/* Palette des quatre règlements : identifiable sans saturation agressive. */
.regulation-major-nav.regulation-v16__branches > a:nth-child(1),
.branch-reader-nav__branches > a:nth-child(1) { color: #ff9a82 !important; }
.regulation-major-nav.regulation-v16__branches > a:nth-child(2),
.branch-reader-nav__branches > a:nth-child(2) { color: #72cfff !important; }
.regulation-major-nav.regulation-v16__branches > a:nth-child(3),
.branch-reader-nav__branches > a:nth-child(3) { color: #ef83c5 !important; }
.regulation-major-nav.regulation-v16__branches > a:nth-child(4),
.branch-reader-nav__branches > a:nth-child(4) { color: #72dbb4 !important; }

.genside-regulation-page .editorial-rule-context__category,
.genside-regulation-page .regulation-page h1,
.genside-regulation-page .guide-page--regulation h1,
.genside-regulation-page main h1,
.genside-regulation-page .editorial-rule-article h1,
.genside-regulation-page .editorial-rule-article h2,
.genside-regulation-page .editorial-rule-article h3 {
  color: var(--regulation-accent, #ff9a82) !important;
}

.genside-regulation-page .editorial-rule-article h2,
.genside-regulation-page .editorial-rule-article h3 {
  border-color: color-mix(in srgb, var(--regulation-accent, #ff9a82) 28%, transparent) !important;
}

/* Accueil d'un règlement : sommaire par catégories, sans doubler les articles. */
.genside-regulation-overview .regulation-branch__layout {
  display: block !important;
}

.genside-regulation-overview .regulation-summary {
  display: none !important;
}

.genside-regulation-overview .regulation-sections {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 18px !important;
}

.genside-regulation-overview .regulation-section {
  box-sizing: border-box !important;
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .025) !important;
  overflow: hidden !important;
  transition: border-color .18s ease, background-color .18s ease !important;
}

.genside-regulation-overview .regulation-section:hover {
  border-color: color-mix(in srgb, var(--regulation-accent, #ff9a82) 48%, transparent) !important;
  background: color-mix(in srgb, var(--regulation-accent, #ff9a82) 7%, transparent) !important;
}

.genside-regulation-overview .regulation-section > header {
  margin: 0 !important;
  padding: 20px 22px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}

.genside-regulation-overview .regulation-section h3 {
  margin: 0 !important;
  color: #fff5f1 !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
}

.genside-regulation-overview .regulation-article-list {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.genside-regulation-overview .regulation-article-list li {
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
}

.genside-regulation-overview .regulation-article-list li:last-child {
  border-bottom: 0 !important;
}

.genside-regulation-overview .regulation-article-list a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 50px !important;
  padding: 12px 18px 12px 22px !important;
  color: rgba(255, 248, 245, .82) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease,
    padding-left .18s ease !important;
}

.genside-regulation-overview .regulation-article-list a:hover {
  padding-left: 26px !important;
  background: color-mix(in srgb, var(--regulation-accent, #ff9a82) 10%, transparent) !important;
  color: var(--regulation-accent, #ff9a82) !important;
}

.genside-regulation-overview .regulation-article-list a:focus-visible {
  outline: 2px solid var(--regulation-accent, #ff9a82) !important;
  outline-offset: -3px !important;
}

.regulation-category-card__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.regulation-category-card__count {
  color: rgba(245, 238, 241, .50) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.regulation-category-card__open {
  color: var(--regulation-accent, #ff9a82) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.genside-reader-hero {
  box-sizing: border-box !important;
  position: relative !important;
  min-height: 430px !important;
  padding: 130px clamp(28px, 5vw, 88px) 54px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  background-position: center 48% !important;
  background-size: cover !important;
  overflow: hidden !important;
}

.genside-reader-hero__breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 28px !important;
  color: rgba(255, 248, 244, .68) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.genside-reader-hero__breadcrumb a {
  color: rgba(255, 248, 244, .92) !important;
  text-decoration: none !important;
}

.genside-reader-hero__breadcrumb a:hover {
  color: var(--hero-accent, #ffcf9a) !important;
}

html.genside-reader-page.genside-overlay-header .site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 60 !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
  background: linear-gradient(
    90deg,
    rgba(8, 6, 9, .72),
    rgba(8, 6, 9, .24),
    rgba(8, 6, 9, .58)
  ) !important;
}

.genside-inline-rule-frame-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  scroll-margin-top: 18px !important;
  background: #0b080c !important;
}

.genside-inline-rule-frame-toolbar {
  display: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 64px !important;
  padding: 10px clamp(18px, 3vw, 42px) !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 12px 12px 0 0 !important;
  background: rgba(13, 10, 14, .96) !important;
  backdrop-filter: blur(14px) !important;
}

html.genside-direct-regulation-reader .regulation-branch {
  display: none !important;
}

html.genside-direct-regulation-reader .regulation-page__body {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.genside-direct-regulation-reader .genside-inline-rule-frame-shell {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0b080c !important;
}

.editorial-reading-progress {
  display: none !important;
}

.genside-inline-rule-frame-back {
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .035) !important;
  color: var(--regulation-accent, #ff9a82) !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.genside-inline-rule-frame-back:hover {
  border-color: var(--regulation-accent, #ff9a82) !important;
  background: color-mix(
    in srgb,
    var(--regulation-accent, #ff9a82) 10%,
    transparent
  ) !important;
}

.genside-inline-rule-frame-title {
  min-width: 0 !important;
  color: rgba(255, 248, 245, .78) !important;
  font-size: 13px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.genside-inline-rule-frame {
  display: block !important;
  width: 100% !important;
  min-height: 760px !important;
  border: 0 !important;
  background: #0b080c !important;
}

@media (max-width: 720px) {
  .genside-inline-rule-frame-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .genside-inline-rule-frame-title {
    padding: 0 4px 4px !important;
  }
}

.genside-reader-hero__inner {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 1100px !important;
}

.genside-reader-hero__eyebrow {
  display: block !important;
  margin-bottom: 10px !important;
  color: var(--hero-accent, #ffcf9a) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.genside-reader-hero h1 {
  margin: 0 !important;
  color: var(--hero-accent, #ffcf9a) !important;
  font-family: Sora, Manrope, system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(48px, 5.2vw, 86px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .86) !important;
}

.genside-reader-hero p {
  max-width: 760px !important;
  margin: 16px 0 0 !important;
  color: rgba(255, 248, 244, .88) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .88) !important;
}

/* Outils RP : navigation + éditeur, sans aperçu redondant ni raccourcis à droite. */
.genside-tools-page .ep-tools-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.genside-tools-page.genside-overlay-header .site-header {
  display: block !important;
  position: absolute !important;
  border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
}

.genside-tools-page .ep-tools-heading {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.genside-tools-header {
  box-sizing: border-box !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 1000 !important;
  display: none !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 76px !important;
  padding: 0 clamp(24px, 3vw, 56px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
  background: linear-gradient(
    90deg,
    rgba(8, 6, 9, .78),
    rgba(8, 6, 9, .30),
    rgba(8, 6, 9, .66)
  ) !important;
}

.genside-tools-header__logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin-right: clamp(34px, 5vw, 82px) !important;
}

.genside-tools-header__logo img {
  display: block !important;
  width: 110px !important;
  height: 38px !important;
  object-fit: contain !important;
}

.genside-tools-header nav {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
  min-height: 76px !important;
  gap: clamp(18px, 2vw, 34px) !important;
}

.genside-tools-header nav a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  color: rgba(255, 248, 244, .82) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.genside-tools-header nav a:hover,
.genside-tools-header nav a.is-active {
  color: #ffffff !important;
}

.genside-tools-header nav a.is-active::after {
  position: absolute !important;
  right: 0 !important;
  bottom: 10px !important;
  left: 0 !important;
  height: 2px !important;
  background: #e5a3f5 !important;
  content: "" !important;
}

.genside-tools-header nav a[data-color="illegal"] {
  color: #d67cff !important;
}

.genside-tools-header nav a[data-color="legal"] {
  color: #5ee2b6 !important;
}

@media (max-width: 1120px) {
  .genside-tools-header {
    overflow-x: auto !important;
  }

  .genside-tools-header__logo {
    margin-right: 28px !important;
  }

  .genside-tools-header nav {
    gap: 20px !important;
  }
}

.genside-tools-page .ep-tools-priorities,
.genside-tools-page .ep-tool-preview {
  display: none !important;
}

.genside-tools-page .ep-tools-layout {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

.genside-tools-page .ep-tool-editor,
.genside-tools-page .ep-tool-form {
  width: 100% !important;
  max-width: none !important;
}

.genside-tools-page .ep-page-heading {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: 430px !important;
  margin-top: 0 !important;
  padding-top: 130px !important;
  padding-left: clamp(32px, 4vw, 72px) !important;
  padding-right: clamp(32px, 4vw, 72px) !important;
}

.genside-tools-page .ep-page-heading__grid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

.genside-tools-page .ep-page-heading h1 {
  color: #e6a5f7 !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .82) !important;
}

.genside-tools-page .ep-tools-heading {
  max-width: 760px !important;
}

.document-page .document-hero__inner,
.document-page .document-layout,
.document-page .document-layout--dynamic {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.document-page .document-layout,
.document-page .document-layout--dynamic {
  grid-template-columns: 320px minmax(0, 1fr) 280px !important;
}

.document-page .document-content {
  width: 100% !important;
  max-width: none !important;
}

.genside-system-page,
.genside-system-page body,
.genside-system-page .branch-page,
.genside-system-page .guide-page,
.genside-system-page .branch-page h1,
.genside-system-page .branch-page h2,
.genside-system-page .branch-page h3,
.genside-system-page .guide-page h1,
.genside-system-page .guide-page h2,
.genside-system-page .guide-page h3,
.genside-system-page .editorial-guide-rail button {
  font-family: "Source Sans 3", system-ui, sans-serif !important;
}

.penal-disclaimer,
.document-version,
.version-card,
[data-testid="version"],
[data-testid="document-version"],
.document-hero__metric,
.branch-page main small,
.reading-time,
.read-time,
[data-reading-time],
[data-testid="reading-time"] {
  display: none !important;
}

@media (max-width: 1440px) {
  .guide-page .guide-layout.editorial-guide-layout {
    grid-template-columns: 320px minmax(0, 1fr) !important;
  }

  .guide-page .editorial-guide-rail--left {
    width: 320px !important;
    min-width: 320px !important;
  }

  .guide-page .editorial-guide-rail--right {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .site-header__inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .branch-page .branch-hero > .relative,
  .document-page .document-hero__inner,
  .editorial-public .hub-hero__inner,
  .regulation-page .regulation-page__inner {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .guide-page .guide-layout.editorial-guide-layout {
    display: block !important;
  }

  .guide-page .editorial-guide-rail--left {
    display: none !important;
  }

  .document-page .document-layout,
  .document-page .document-layout--dynamic {
    display: block !important;
  }

  .regulation-major-nav.regulation-v16__branches {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .genside-tools-page .ep-tools-layout {
    grid-template-columns: 240px minmax(0, 1fr) !important;
  }

  .genside-regulation-overview .regulation-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Doit rester en fin de feuille pour neutraliser la grille d'origine à 3 colonnes. */
@media (max-width: 1100px) {
  .site-header__nav {
    display: none !important;
  }

  .header-menu-button {
    display: flex !important;
  }

  .site-header__actions {
    margin-left: auto !important;
  }
}

.document-page .document-layout.document-layout--dynamic {
  grid-template-columns: 320px minmax(0, 1fr) !important;
}

@media (max-width: 1023px) {
  .document-page .document-layout.document-layout--dynamic {
    display: block !important;
  }

  .genside-tools-page .ep-tools-layout {
    display: block !important;
  }

  .genside-regulation-overview .regulation-sections {
    grid-template-columns: 1fr !important;
  }

  html.genside-tools-page .ep-page-heading.ep-tools-heading {
    width: calc(100% + 40px) !important;
    margin-right: -20px !important;
    margin-left: -20px !important;
  }
}

html.genside-tools-page .ep-page-heading.ep-tools-heading {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.genside-mobile-system-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 19px !important;
  min-width: 19px !important;
  height: 19px !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
