/* --- Layout --- */
body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

.wp-site-blocks,
.editor-styles-wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.alignfull,
.alignwide {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.wp-block-group.alignwide>*:not(.wp-block-image),
.wp-block-cover.alignwide>*:not(.wp-block-image) {
  width: 1240px;
  max-width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 782px) {

  .wp-block-group.alignwide>*:not(.wp-block-image),
  .wp-block-cover.alignwide>*:not(.wp-block-image) {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.wp-block-cover.alignwide .wp-block-cover__inner-container,
.wp-block-cover.alignfull .wp-block-cover__inner-container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
  width: 100%;
  max-width: none;
}

[class*="wp-container-"]>.alignwide,
[class*="wp-container-"]>.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw;
}

.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

img {
  max-width: 100%;
  height: auto;
}

[class^="wp-block-"] p,
[class*=" wp-block-"] p,
.wp-block-list {
  margin-bottom: 16px;
}

[class^="wp-block-"] p:last-of-type:not(:only-of-type),
[class*=" wp-block-"] p:last-of-type:not(:only-of-type) {
  margin-bottom: 0;
}

p.has-chapo-font-size {
  font-family: var(--clash-grotesk);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 120%;
  margin-bottom: 8px;
}

/* --- Fonts --- */
.has-h-1-font-size,
.has-h-2-font-size,
.has-h-3-font-size {
  font-family: var(--clash-grotesk);
  line-height: 1;
}

.has-slogan-font-size {
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1;
}

/* --- Overflow --- */
.overflow-hidden {
  overflow: hidden;
}

/* --- Gaps --- */
.gap-0 {
  gap: 0;
}

.gap-16 {
  gap: 16px;
}

.gap-64 {
  column-gap: 64px;
  row-gap: 32px;
}

.gap-128 {
  column-gap: 128px;
}

.gap-232 {
  column-gap: 232px;
}

.content-md {
  max-width: 768px!important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* --- Margin --- */
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

/* --- Spacer --- */
@media (max-width: 781px) {
  .wp-block-spacer[style="height:52px"] {
    height: 24px !important;
  }

  .wp-block-spacer[style="height:80px"] {
    height: 24px !important;
  }
}

/* --- Bannières --- */
.wp-block-cover {
  padding: 0 20px;
}


/* --- Listes --- */
ul.wp-block-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

ul.wp-block-list li {
  position: relative;
  padding-left: 12px;
}

ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 4px;
  height: 4px;
  background-color: var(--orange-primary);
  display: inline-block;
  border-radius: 0;
}

ul.wp-block-list li li::before {
  content: "-";
  background-color: unset;
  top: unset;
  width: unset;
  height: unset;
}

.wp-block-list li:not(:last-child) {
  margin-bottom: 16px;
}

.wp-block-list li li:not(:last-child) {
  margin-bottom: 0;
}

ol {
  counter-reset: custom-counter;
  list-style: none;
}

ol li {
  counter-increment: custom-counter;
  position: relative;
  padding-left: 32px;
}

ol li::before {
  content: counter(custom-counter);
  font-family: var(--work-sans);
  font-weight: 500;
  font-size: 0.75rem;
  position: absolute;
  left: 0;
  top: -10%;
  width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  background-color: var(--blue-primary);
  text-align: center;
  color: var(--white);
}


/* --- Boutons --- */
.wp-block-button__link.has-blue-primary-color {
  border: 1px solid var(--blue-primary);
  transition: all 0.3s ease;
}

.wp-block-button__link.has-blue-primary-color:hover {
  color: var(--white) !important;
  background-color: var(--blue-primary) !important;
}

.wp-block-button__link.has-orange-primary-background-color,
.wp-block-button__link.has-blue-primary-background-color {
  transition: all 0.3s ease;
}

.wp-block-button__link.has-orange-primary-background-color:hover {
  background-color: var(--blue-secondary) !important;
}

.wp-block-button__link.has-blue-primary-background-color:hover {
  background-color: var(--orange-primary) !important;
}

/* --- Citation --- */
blockquote p {
  display: flex;
  flex-direction: row;
  gap: 24px;
  font-weight: 400;
}

blockquote p::before {
  content: "“";
  line-height: 0.75;
  font-family: var(--clash-grotesk);
  font-weight: 500;
}

@media (max-width: 781px) {
  blockquote p.has-background {
    padding: 32px;
  }

  blockquote p::before {
    font-size: 5rem;
  }
}

@media (min-width: 782px) {
  blockquote p.has-background {
    padding: 48px 32px;
  }

  blockquote p::before {
    font-size: 8rem;
  }
}