/** END FONCTIONS **/
/* .fl-rich-text p,
.fl-accordion-content p,
.fl-tabs p,
.fl-rich-text li,
.fl-accordion-content li,
.fl-tabs li,
.fl-rich-text h1,
.fl-accordion-content h1,
.fl-tabs h1,
.fl-rich-text h2,
.fl-accordion-content h2,
.fl-tabs h2,
.fl-rich-text h3,
.fl-accordion-content h3,
.fl-tabs h3,
.fl-rich-text h4,
.fl-accordion-content h4,
.fl-tabs h4,
.fl-rich-text h5,
.fl-accordion-content h5,
.fl-tabs h5,
.fl-rich-text h6,
.fl-accordion-content h6,
.fl-tabs h6 {
  font-size: 16px;
  font-weight: 300;
  color: #000;
  line-height: 1.5;
  margin-bottom: 20px;
}

.fl-rich-text p strong,
.fl-accordion-content p strong,
.fl-tabs p strong,
.fl-rich-text li strong,
.fl-accordion-content li strong,
.fl-tabs li strong,
.fl-rich-text h1 strong,
.fl-accordion-content h1 strong,
.fl-tabs h1 strong,
.fl-rich-text h2 strong,
.fl-accordion-content h2 strong,
.fl-tabs h2 strong,
.fl-rich-text h3 strong,
.fl-accordion-content h3 strong,
.fl-tabs h3 strong,
.fl-rich-text h4 strong,
.fl-accordion-content h4 strong,
.fl-tabs h4 strong,
.fl-rich-text h5 strong,
.fl-accordion-content h5 strong,
.fl-tabs h5 strong,
.fl-rich-text h6 strong,
.fl-accordion-content h6 strong,
.fl-tabs h6 strong {
  font-weight: bold;
}

.fl-rich-text p a,
.fl-accordion-content p a,
.fl-tabs p a,
.fl-rich-text li a,
.fl-accordion-content li a,
.fl-tabs li a,
.fl-rich-text h1 a,
.fl-accordion-content h1 a,
.fl-tabs h1 a,
.fl-rich-text h2 a,
.fl-accordion-content h2 a,
.fl-tabs h2 a,
.fl-rich-text h3 a,
.fl-accordion-content h3 a,
.fl-tabs h3 a,
.fl-rich-text h4 a,
.fl-accordion-content h4 a,
.fl-tabs h4 a,
.fl-rich-text h5 a,
.fl-accordion-content h5 a,
.fl-tabs h5 a,
.fl-rich-text h6 a,
.fl-accordion-content h6 a,
.fl-tabs h6 a {
  font-weight: 500;
  border-bottom: 1px solid;
  color: #000000;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
}

.fl-rich-text p a:hover,
.fl-accordion-content p a:hover,
.fl-tabs p a:hover,
.fl-rich-text li a:hover,
.fl-accordion-content li a:hover,
.fl-tabs li a:hover,
.fl-rich-text h1 a:hover,
.fl-accordion-content h1 a:hover,
.fl-tabs h1 a:hover,
.fl-rich-text h2 a:hover,
.fl-accordion-content h2 a:hover,
.fl-tabs h2 a:hover,
.fl-rich-text h3 a:hover,
.fl-accordion-content h3 a:hover,
.fl-tabs h3 a:hover,
.fl-rich-text h4 a:hover,
.fl-accordion-content h4 a:hover,
.fl-tabs h4 a:hover,
.fl-rich-text h5 a:hover,
.fl-accordion-content h5 a:hover,
.fl-tabs h5 a:hover,
.fl-rich-text h6 a:hover,
.fl-accordion-content h6 a:hover,
.fl-tabs h6 a:hover {
  color: #f9d569;
}

.fl-rich-text ul,
.fl-accordion-content ul,
.fl-tabs ul {
  margin-bottom: 20px;
}

.fl-rich-text ul li,
.fl-accordion-content ul li,
.fl-tabs ul li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
}

.fl-rich-text ul li:last-of-type,
.fl-accordion-content ul li:last-of-type,
.fl-tabs ul li:last-of-type {
  margin-bottom: 0;
}

.fl-rich-text ul li:before,
.fl-accordion-content ul li:before,
.fl-tabs ul li:before {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #000;
}

.fl-rich-text table,
.fl-accordion-content table,
.fl-tabs table {
  min-width: 100%;
}

.fl-rich-text table thead,
.fl-accordion-content table thead,
.fl-tabs table thead {
  border-bottom: 2px solid #000;
}

.fl-rich-text table thead td,
.fl-accordion-content table thead td,
.fl-tabs table thead td {
  font-weight: bold;
  padding: 30px 20px 30px 0;
}

.fl-rich-text table tbody tr,
.fl-accordion-content table tbody tr,
.fl-tabs table tbody tr {
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
}

.fl-rich-text table tbody tr:hover,
.fl-accordion-content table tbody tr:hover,
.fl-tabs table tbody tr:hover {
  background-color: #f5f5f5;
}

.fl-rich-text table tbody tr:not(:last-of-type),
.fl-accordion-content table tbody tr:not(:last-of-type),
.fl-tabs table tbody tr:not(:last-of-type) {
  border-bottom: 1px solid #ddd;
}

.fl-rich-text table tbody tr td,
.fl-accordion-content table tbody tr td,
.fl-tabs table tbody tr td {
  padding: 30px 20px 30px 0;
  font-size: 14px;
}

.fl-rich-text table p,
.fl-accordion-content table p,
.fl-tabs table p {
  margin-bottom: 0;
}

.fl-rich-text blockquote,
.fl-accordion-content blockquote,
.fl-tabs blockquote {
  background-color: rgba(249, 213, 105, 0.3);
  padding: 40px 20px 20px 20px;
  position: relative;
}

.fl-rich-text blockquote:after,
.fl-accordion-content blockquote:after,
.fl-tabs blockquote:after {
  content: '"';
  position: absolute;
  top: -10px;
  left: 20px;
  line-height: 1;
  display: block;
  font-size: 100px;
}

.fl-accordion .fl-accordion-item {
  border: none;
}

.fl-accordion .fl-accordion-item:not(:last-of-type) {
  border-bottom: 1px solid;
}

.fl-accordion .fl-accordion-item .fl-accordion-button {
  color: #000;
  font-weight: bold;
  padding: 15px 10px 15px 0;
}

.fl-accordion .fl-accordion-item .fl-accordion-button a {
  outline: none !important;
  color: #000;
}

.fl-accordion .fl-accordion-item.fl-accordion-item-active .fl-accordion-button a {
  color: #000;
}

.fl-accordion .fl-accordion-item .fl-accordion-content {
  padding: 30px 0;
}

.fl-accordion .fl-accordion-item .fl-accordion-button-icon-right {
  opacity: 1;
}

.fl-tabs-panels {
  background-color: #000;
  border: none;
}

.fl-tabs-panels .fl-tabs-label {
  color: #ffffff;
  font-weight: bold;
  padding: 15px;
  outline: none !important;
}

.fl-tabs-panels .fl-tabs-label.fl-tab-active {
  background-color: #000000;
  color: #fff;
  border: 0;
  padding: 15px;
  outline: none;
}

.fl-tabs-panels .fl-tabs-panel {
  border: none;
}

.fl-tabs-panels .fl-tabs-panel-content {
  background-color: #e6e6e6;
  padding: 30px 20px;
}

.fl-tabs-labels {
  background-color: #000;
}

.fl-tabs-labels .fl-tabs-label {
  color: #ffffff;
  padding: 30px;
  font-weight: bold;
  text-transform: uppercase;
  outline: none !important;
}

.fl-tabs-labels .fl-tabs-label.fl-tab-active {
  background-color: #000000;
  color: #fff;
  border: 0;
}

@media (min-width: 1024px) {
  .fl-tabs-panels .fl-tabs-panel-content {
    padding: 50px;
  }

  .fl-accordion .fl-accordion-item .fl-accordion-button {
    padding: 25px 15px 25px 0;
  }
} */
:root {
  /* font weights */
  --fw-200: 200;
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
}

.fl-rich-text,
.fl-accordion-content,
.fl-tabs {

  .rs__fw__200 {
    font-weight: var(--fw-200);
  }

  .rs__fw__300 {
    font-weight: var(--fw-300);
  }

  .rs__fw__400 {
    font-weight: var(--fw-400);
  }

  .rs__fw__500 {
    font-weight: var(--fw-500);
  }

  .rs__fw__600 {
    font-weight: var(--fw-600);
  }

  .rs__fw__700 {
    font-weight: var(--fw-700);
  }

  .rs__fw__800 {
    font-weight: var(--fw-800);
  }

  .rs__fw__900 {
    font-weight: var(--fw-900);
  }

  .rs__base-clr {
    color: var(--c-texte-2);
  }

  .rs__primary-clr {
    color: var(--c-bleu);
  }

  .rs__orange-clr {
    color: var(--c-orange-fonce);
  }

  .rs__white-clr {
    color: var(--c-blanc);
  }

  .rs__blue_grey {
    color: var(--c-texte-2);
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    span {
      font-family: inherit;
      font-weight: inherit;
    }
  }

  h3 {
    margin-bottom: 20px;
  }

  .editor-titre2,
  .editor-titre2-mini {
    font-size: var(--fs-h2);
    color: var(--c-bleu);
    margin-bottom: 15px;
    font-weight: var(--fw-700);
  }

  .editor-titre2,
  .editor-titre2-mini {
    &.rs__base-clr {
      color: var(--c-texte-2);
    }

    &.rs__orange-clr {
      color: var(--c-orange-fonce);
    }

    &.rs__white-clr {
      color: var(--c-blanc);
    }

    &.rs__blue_grey {
      color: var(--c-texte-2);
    }
  }

  .editor-titre2-mini {
    font-size: var(--fs-h2-moyen);
  }

  .intro-soin__titre {
    font-weight: var(--fw-700);
    margin-bottom: 0;
  }

  .rs__f_ssmall {
    font-size: 0.86rem;
  }

  .rs__f_small {
    font-size: 0.95rem;
  }

  .rs__f_normal {
    font-size: var(--fs-base);
  }

  .rs__f_n_normal {
    font-size: var(--fs-lead);
  }

  .rs__f_md {
    font-size: var(--fs-h3-section);
  }

  .rs__f_md_2 {
    font-size: 1.02rem;
  }

  .rs__f_big {
    font-size: var(--fs-h2);
  }

  .rs__uppercase {
    text-transform: uppercase;
  }

  .rs__lowercase {
    text-transform: lowercase;
  }

  &.rs__text_has_strong_blue p strong,
  .rs__text_has_strong_blue p strong {
    color: var(--c-bleu);
  }

  .al__list-deg-orange {
    display: flex;
    flex-direction: column;
    gap: 16px;

    &>li {
      display: block;
      padding-inline-start: 36px;
      position: relative;
    }

    &>li::before {
      content: "";
      width: 20px;
      height: 20px;
      margin-top: 3px;
      border-radius: 50%;
      background: var(--degrade);
      box-shadow: inset -3px -3px 6px rgba(42, 47, 107, 0.35);
      flex: none;
      position: absolute;
      inset: 0 auto auto 0;
    }
  }

  p:has(.eyebrow) {
    margin-block-end: 10px;
  }
}

.fl-accordion {
  .fl-accordion-heading {
    .fl-accordion-button {
      padding: 12px 0;
    }

    .fl-accordion-button-label {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      min-height: var(--cible-min);
      font-family: var(--police-titre);
      font-weight: 700;
      font-size: 0.98rem;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--c-bleu);
      cursor: pointer;
      list-style: none;
    }

    .fl-accordion-button-icon {
      opacity: 1;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;

      i {
        color: var(--c-orange);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1;
      }
    }
  }

  .fl-accordion-item {
    border: none;
    margin: 0;
  }

  .fl-accordion-item {
    border-bottom: 1px solid var(--c-filet);
  }

  .fl-accordion-content {
    padding: 2px 0 18px;

    * {
      color: var(--c-texte-2);
      font-size: 0.98rem;
    }
  }
}

.res__sp_map_n_text {
  .fl-row-content-wrap {
    .fl-col-group {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 46px;
      align-items: center;

      &::after,
      &::before {
        display: none;
      }

      &>div {
        width: 100% !important;
        float: none;
        clear: both;
      }
    }

    @media (max-width: 860px) {
      .fl-col-group {
        grid-template-columns: 1fr;
        gap: 26px;
      }
    }
  }
}

.res__sp_img_n_text {
  position: relative;

  .fl-row-content-wrap {

    .fl-col-group {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      align-items: center;

      &::after,
      &::before {
        display: none;
      }

      &>div {
        width: 100% !important;
        float: none;
        clear: both;
      }
    }

    div:has(figure) {
      div {
        float: none;

        &::before,
        &::after {
          display: none;
        }
      }
    }

    div:has(>img) {
      aspect-ratio: 1;
      overflow: hidden;
      position: relative;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .rs__sp_text_full {
      grid-column: 1/-1;
    }

    &:has(.rs__sp_text_full) {
      div:has(>img) {
        aspect-ratio: 16 / 10;
      }

      &>* {
        z-index: 1;
      }

      &::before {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        background-image: url("/wp-content/uploads/2026/10/pattern.svg");
        background-repeat: no-repeat;
        background-position: left top;
        background-size: 100% auto;
        opacity: 0.22;
      }
    }


    @media (max-width: 860px) {
      .fl-col-group {
        grid-template-columns: 1fr;
        gap: 26px;
      }
    }
  }
}

@media (max-width: 768px) {
  .fl-col-small:not(.fl-col-small-full-width) {
    max-width: 100%;
  }
}