:root {
  /* Fonts */
  --main-font: "Effra", sans-serif;

  /* Fonts weight */
  --verylight: 200;
  --light: 300;
  --regular: 400;
  --medium: 500;
  --semibold: 600;
  --bold: 700;

  /* Colors */
  --white: #fff;
  --white-light: #fffcf5;
  --dark: #000;
  --gray-dark: #707070;
  --text: #423f47;
  --blue: #50a0f0;
  --dark-blue: #141c2d;
  --red: #c90b1c;
  --light-red: #c90b1c29;
  --dark-red: #83000c;
  --gold: #b9a878;
  --light-gold: #fffcf554;

  /* Others */
  --border-radius: 8px;
  --transition: all 0.3s ease;

  /* Header */
  --header-height: 90px;
  --header-height-offset-top: 40px;
  --header-full-height: calc(
    var(--header-height) + var(--header-height-offset-top)
  );
}

body:has(#gravity_forms_theme_framework-css)
  .gform-theme--framework.gform-theme--orbital,
.gravity-theme.gform_wrapper {
  padding: 40px 48px;
  border-radius: 16px;
  background: var(--white);
  border: 8px solid #b9a87814;

  --gf-ctrl-border-color: #423f4754;
  --gf-ctrl-border-color-focus: var(--gold);
  --gf-ctrl-outline-color-focus: #f5eacb;
  --gf-form-gap-y: 24px;
  --gf-ctrl-checkbox-check-radius: 100%;
  --gf-ctrl-label-font-weight-primary: 400;

  .gfield_consent_label {
    --gf-ctrl-label-color-secondary: #423f4754;
  }

  [type="radio"]:checked,
  [type="checkbox"]:checked {
    background: var(--white);
    border: 4px solid var(--gold);
    outline: 1px solid #f5eacb;
    &::before {
      content: none;
    }
  }

  [type="submit"] {
    --gf-ctrl-btn-padding-x: 24px;
    --gf-ctrl-btn-padding-y: 17px;
    --gf-ctrl-btn-bg-color-primary: var(--red);
    --gf-ctrl-btn-bg-color-hover-primary: var(--dark-red);
    --gf-ctrl-btn-bg-color-focus-primary: var(--dark-red);
    --gf-ctrl-btn-border-color-focus-primary: var(--dark-red);
    --gf-ctrl-btn-font-weight: 400;
    --gf-ctrl-btn-radius: 8px;

    &:hover {
      box-shadow: 0 0 0 4px var(--light-red);
    }
  }

  .gform_footer {
    justify-content: flex-end;
  }

  .gform_required_legend {
    display: none;
  }

  .gfield textarea.large {
    min-block-size: 13rem;
  }
}

.padding--small {
  padding-top: 20px;
  padding-bottom: 20px;
}

.padding--medium {
  padding-top: 40px;
  padding-bottom: 40px;
}

.padding--large {
  padding-top: 60px;
  padding-bottom: 60px;
}

h1,
.h1_like,
h2,
h2_like,
h3,
.h3_like,
h4,
.h4_like {
  margin-bottom: 35px;
  font-weight: var(--bold);
}

h1:has(+ p),
.h1_like:has(+ .p),
h2:has(+ p),
.h2_like:has(+ .p),
h3:has(+ p),
.h3_like:has(+ .p),
h4:has(+ p),
.h4_like:has(+ p) {
  margin-bottom: 40px;
}

.section__title:has(h1 + p),
.section__title:has(.h1_like + p),
.section__title:has(h2 + p),
.section__title:has(.h2_like + p),
.section__title:has(h3 + p),
.section__title:has(.h3_like + p),
.section__title:has(h4 + p),
.section__title:has(.h4_like + p) {
  margin-bottom: 50px;
}

h1,
.h1_like {
  font-family: var(--main-font);
  font-size: 40px;
  line-height: 46px;
  font-weight: var(--bold);

  @media (width >= 992px) {
    font-size: 56px;
    line-height: 56px;
  }
}

h2,
.h2_like {
  font-family: var(--main-font);
  font-size: 30px;
  line-height: 34px;
  font-weight: var(--bold);

  @media (width >= 992px) {
    font-size: 40px;
    line-height: 48px;
  }
}

h3,
.h3_like {
  font-family: var(--main-font);
  font-size: 20px;
  line-height: 24px;
  font-weight: var(--semibold);

  @media (width >= 992px) {
    font-size: 28px;
    line-height: 32px;
  }
}

h4,
.h4_like {
  font-family: var(--main-font);
  font-size: 18px;
  line-height: 22px;
  font-weight: var(--semibold);

  @media (width >= 992px) {
    font-size: 20px;
    line-height: 24px;
  }
}

strong {
  font-weight: var(--bold);
}

.cta .bouton,
.bouton {
  font-size: 16px;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
  background-color: var(--red);
  border: 2px solid var(--light-red);
  border-radius: var(--border-radius);
  color: var(--white);
  font-weight: var(--light);
  transition: var(--transition);

  &:hover {
    background-color: var(--dark-red);
    border: 2px solid var(--dark-red);
    color: var(--white);
  }
}

.cta:has(.bouton + .bouton) {
  display: flex;
  width: fit-content;
  gap: 8px;
  flex-wrap: wrap;

  @media (width <= 991px) {
    .bouton {
      margin-right: auto;
      margin-left: auto;
    }
  }
}

.bouton + .bouton,
.bouton--alt {
  font-size: 16px;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
  background-color: transparent !important;
  border: 2px solid var(--red) !important;
  border-radius: var(--border-radius);
  color: var(--red) !important;
  font-weight: var(--light);
  transition: var(--transition);

  &:hover {
    border: 2px solid var(--dark-red) !important;
    color: var(--dark-red) !important;
  }
}

.bouton + .bouton,
.bouton--alt-white {
  font-size: 16px;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
  background-color: var(--white) !important;
  border: 2px solid var(--white) !important;
  border-radius: var(--border-radius);
  color: var(--red) !important;
  font-weight: var(--light);
  transition: var(--transition);

  &:hover {
    border: 2px solid var(--dark-red) !important;
    color: var(--dark-red) !important;
  }
}

@media (width >= 992px) {
  .hdp__intro {
    .cta:has(.bouton + .bouton) {
      .bouton {
        margin-right: auto;
        margin-left: auto;
      }
    }
  }
}

[data-color="#f5eacb"] {
  --bg-color: #f5eacb;
  background: #f5eacb;
}

[data-color="#f2f4fa"] {
  --bg-color: #f2f4fa;
  background: #f2f4fa;
}

[data-color="#ffffff"] {
  --bg-color: #ffffff;
  background: #ffffff;
}

[data-color="#fffcf5"] {
  --bg-color: #fffcf5;
  background: #fffcf5 !important;
}

.bg_white {
  background-color: var(--white);
}
.bg_beige-light {
  background-color: var(--white-light);
}
.bg_beige {
  background-image:
    url("/wp-content/themes/kn/img/team_pattern.webp"),
    linear-gradient(to right, #f5eacb, #b9a878);
}
.bg_gray-dark {
  background-image:
    url("/wp-content/themes/kn/img/footer_pattern.webp"),
    linear-gradient(to bottom, #211f23, #211f23);
}

/* Text contrast utilities */
.text_dark {
  color: var(--text);
}
.text_light {
  color: var(--white);
}

.c_dark h2,
.c_dark h3,
.c_dark h4,
.c_dark .soustitre,
.c_dark .surtitre,
.c_dark .top,
.c_dark .chiffre_label,
.c_dark span,
.c_dark p {
  color: var(--white);
}

.c_dark .bouton {
  background: transparent;
  border: 1px solid var(--white);
}

.c_dark .bouton::before {
  background: var(--white);
}

.c_dark .bouton:hover {
  color: var(--dark-blue);
}

.c_dark .bouton--alt {
  border-color: var(--white);
  color: var(--white);
}

.c_dark .bouton--alt:hover {
  border-color: var(--blue);
}

.bg_white + .bg_white,
.bg_beige + .bg_beige,
.bg_gray-dark + .bg_gray-dark {
  padding-top: 0;
}

.section__title {
  display: -webkit-box;
  display: flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  margin-bottom: 24px;
  text-align: center;
}

.section__title p {
  margin: 0 auto;
  max-width: 720px;
}
