:root {
  /* Font Weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  /* Line Heights */
  --lh-h1: 1.1;
  --lh-h2: 1.1;
  --lh-h3: 1.2;
  --lh-h4: 1.11;
  --lh-chapo: 1.2;

  /* Font Sizes */
  --fs-h1: clamp(2.5rem, 5vw, 4.125rem);
  --fs-h2: clamp(1.5rem, 3.5vw, 2rem);
  --fs-h3: clamp(1.3125rem, 3vw, 1.5rem);
  --fs-h4: 1.125rem;
  --fs-headline: clamp(0.875rem, 3.5vw, 1.125rem);
  --fs-chapo: clamp(1.3125rem, 3.5vw, 1.5rem);
  --fs-mini: clamp(0.8125rem, 2vw, 0.625rem);
}

:root {
  --green-dark-color: #008585;
  --green-light-color: #d3ecef;
  --blue-dark-color: #0b5680;
  --blue-mid-color: #bed9e8;
  --blue-light-color: #ecf4f7;
  --fushia-color: #834379;
  --pink-light-color: #e5cad9;
  --grey-color: #41667a;
  --brown-color: #635445;
  --white-color: #ffffff;
  --btn-color: #172344;
  --info-color: #0f62a8;
  --info-bg-color: #e3f5ff;
  --error-color: #ae1616;
  --error-bg-color: #fed7d7;
  --warning-color: #c07e1a;
  --warning-bg-color: #fefcbf;
  --success-color: #067503;
  --success-bg-color: #c9f3da;
  --crimson-font: "Crimson Text", sans-serif;
  --epilogue-font: "Epilogue", sans-serif;
}

/* TEXTE */
.has-green-dark-color {
  color: var(--green-dark-color);
}
.has-green-light-color {
  color: var(--green-light-color);
}
.has-blue-dark-color {
  color: var(--blue-dark-color);
}
.has-blue-mid-color {
  color: var(--blue-mid-color);
}
.has-blue-light-color {
  color: var(--blue-light-color);
}
.has-fushia-color {
  color: var(--fushia-color);
}
.has-pink-light-color {
  color: var(--pink-light-color);
}
.has-grey-color {
  color: var(--grey-color);
}
.has-brown-color {
  color: var(--brown-color);
}
.has-white-color {
  color: var(--white-color);
}
.has-btn-color {
  color: var(--btn-color);
}

/* FOND */
.has-green-dark-background-color {
  background-color: var(--green-dark-color);
}
.has-green-light-background-color {
  background-color: var(--green-light-color);
}
.has-blue-dark-background-color {
  background-color: var(--blue-dark-color);
}
.has-blue-mid-background-color {
  background-color: var(--blue-mid-color);
}
.has-blue-light-background-color {
  background-color: var(--blue-light-color);
}
.has-fushia-background-color {
  background-color: var(--fushia-color);
}
.has-pink-light-background-color {
  background-color: var(--pink-light-color);
}
.has-grey-background-color {
  background-color: var(--grey-color);
}
.has-brown-background-color {
  background-color: var(--brown-color);
}
.has-white-background-color {
  background-color: var(--white-color);
}
.has-btn-background-color {
  background-color: var(--btn-color);
}


/* CSS RESET */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  scroll-behavior: smooth;
}

.overflow-container {
  width: 100vw;
  overflow-x: hidden;
}

/* LAYOUT */
.site-content {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.wp-block-group.alignwide > .wp-block-group__inner-container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.wp-block-cover.alignwide > .wp-block-cover__inner-container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
.wp-block-cover.alignwide.has-custom-content-position.has-custom-content-position.is-position-bottom-left
  .wp-block-cover__inner-container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
.alignfull:not(.wp-block-image),
.alignwide:not(.wp-block-image) {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.wp-block-image.alignfull,
.wp-block-image.alignwide {
  width: 100%;
}

/* Classes générées */
h1,
.has-h-1-font-size {
  font-size: var(--fs-h1);
  font-weight: var(--fw-regular);
  line-height: var(--lh-h1);
}

h2,
.has-h-2-font-size {
  font-size: var(--fs-h2);
  font-weight: var(--fw-medium);
  line-height: var(--lh-h2);
}

h3,
.has-h-3-font-size {
  font-size: var(--fs-h3);
  font-weight: var(--fw-regular);
  line-height: var(--lh-h3);
}

h4,
.has-h-4-font-size {
  font-size: var(--fs-h4);
  font-weight: var(--fw-regular);
  line-height: var(--lh-h4);
}

.has-headline-font-size {
  font-size: var(--fs-headline);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.has-chapo-font-size {
  font-size: var(--fs-chapo);
  font-weight: var(--fw-regular);
  line-height: var(--lh-chapo);
}

.has-mini-font-size {
  font-size: var(--fs-mini);
  font-weight: var(--fw-semibold);
  line-height: 1.4;
}
