/*
.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;
  }
}
 */

/* ── Variables ───────────────────────────────────── */
:root {
  /* ── Palette officielle (charte INFOS-LOGO) ─────── */
  --color-primary: #E76F18;
  /* orange Visioptronic — fond/décoratif */
  --color-dark: #141B32;
  /* bleu nuit Visioptronic               */
  --color-bemob: #35972F;
  /* vert BeMob                           */
  --color-black: #000000;

  /* ── Accessibilité RGAA ─────────────────────────── */
  /* Navy (#141B32) sur orange (#E76F18) : ~5.63:1 ✓ (AA normal) */
  --color-primary-dark: #141B32;
  /* Orange foncé pour texte sur fond blanc : ~4.52:1 ✓ (AA normal) */
  --color-primary-text: #B35400;
  /* Vert foncé BeMob pour texte sur fond blanc : ~7.41:1 ✓✓ (AA & AAA) */
  --color-bemob-text: #1A6317;

  /* ── Neutres ─────────────────────────────────────── */
  --color-white: #FFFFFF;
  --color-light: #F5F7FA;
  --color-text: #141B32;
  /* corps de texte = bleu nuit officiel  */
  --color-muted: #4E5A7A;
  --color-border: #CDD4E8;

  /* Corps de texte : Inter (Google Fonts, weight 400/500) — RGAA : 16px mini, line-height 1.6 */
  --font-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Titres (h1–h4) : Nunito locale (variable font) — fallback arrondi cohérent */
  --font-heading: 'Nunito', 'Arial Rounded MT Bold', Arial, sans-serif;
  /* Usage ponctuel (ex. section manifeste) : Montserrat Bold locale */
  --font-montserrat: 'Montserrat', 'Arial Rounded MT Bold', Arial, sans-serif;
  --font-size-base: 1rem;
  /* 16px */
  --line-height-body: 1.6;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;

  --shadow-card: 0 2px 12px rgba(20, 27, 50, 0.08);
  --shadow-card-hover: 0 6px 24px rgba(20, 27, 50, 0.14);

  --transition-base: 200ms ease;

  --container-width: 1200px;
  --container-padding: clamp(1rem, 4vw, 2rem);
  --section-padding: clamp(3rem, 6vw, 5rem);

  /* font weights */
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;

  /* font size */
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-19: 19px;
  --fs-20: 20px;
  --fs-25: 25px;
  --fs-30: 30px;
  --fs-34: 34px;
  --fs-35: 35px;
  --fs-40: 40px;
  --fs-50: 50px;
  --fs-60: 60px;
  --fs-70: 70px;
  --fs-80: 80px;
  --fs-100: 100px;

  /* line height */
  --lh-85: 85%;
  --lh-90: 90%;
  --lh-100: 100%;
  --lh-120: 120%;
  --lh-140: 140%;


}

.vp__font-base {
  font-family: var(--font-base);
}

.vp__font-nunito {
  font-family: var(--font-heading);
}

.vp__font-montserrat {
  font-family: var(--font-montserrat);
}

.vp__color-primary {
  color: var(--color-primary);
}

.vp__color-black {
  color: var(--color-black);
}

.vp__color-primary-dark {
  color: var(--color-primary-dark);
}


.vp__color-primary-text {
  color: var(--color-primary-text);
}

.vp__color-mob-green {
  color: var(--color-bemob);
}

.vp__color-mob-green-text {
  color: var(--color-bemob-text);
}

.vp__color-white {
  color: var(--color-white);
}

.vp__color-light {
  color: var(--color-light);
}

.vp__color-muted {
  color: var(--color-muted);
}

/* Text Case */
.vp__uppercase {
  text-transform: uppercase;
}

.vp__lowercase {
  text-transform: lowercase;
}

/* Text weight */
.vp__fs-19 {
  font-size: var(--fs-19);
}

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

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

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

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

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

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

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

/* Text line height */

.lh__85 {
  line-height: var(--lh-85);
}

.lh__90 {
  line-height: var(--lh-90);
}

.lh__100 {
  line-height: var(--lh-100);
}

.lh__120 {
  line-height: var(--lh-120);
}

.lh__140 {
  line-height: var(--lh-140);
}

/* Text-size */
.vp__fs-15 {
  font-size: var(--fs-15);
}

.vp__fs-16 {
  font-size: var(--fs-16);
}

.vp__fs-18 {
  font-size: var(--fs-18);
}

.vp__fs-20 {
  font-size: var(--fs-20);
}

.vp__fs-25 {
  font-size: clamp(var(--fs-18), 1.8vw, var(--fs-25));
}

.vp__fs-30 {
  font-size: clamp(var(--fs-25), 2.5vw, var(--fs-30));
}

.vp__fs-34 {
  font-size: clamp(var(--fs-25), 2.5vw, var(--fs-34));
}

.vp__fs-70 {
  font-size: clamp(var(--fs-35), 5vw, var(--fs-70));
}

.vp__fs-80 {
  font-size: clamp(var(--fs-40), 5.5vw, var(--fs-80));
}

.vp__fs-100 {
  font-size: clamp(var(--fs-50), 7vw, var(--fs-100));
}

.vp__text-center {
  text-align: center;
}

.vp__text-left {
  text-align: left;
}

.vp__text-right {
  text-align: right;
}

/* Title styles */
.vp__has-orange-line,
.vp__has-orange-line-thin {
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: auto;
  text-decoration-color: var(--color-primary);
  text-decoration-thickness: 5px;
  text-underline-offset: 10px;

  &:is(strong) {
    font-weight: inherit !important;
  }
}

.vp__has-orange-line-thin {
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}

.av__btn-orange,
.av__btn-green,
.av__btn-orange-outlined,
.av__btn-green-outlined {
  /* padding: 15px 34px; */
  padding: clamp(13px, 1.5vw, 15px) clamp(20px, 2.5vw, 34px);
  background-color: var(--color-primary);
  width: max-content;
  max-width: 100%;
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-base);
  display: inline-flex;

  &:hover {
    background-color: #E55A3D;
  }
}

.av__btn-green {
  background-color: var(--color-bemob);


  &:hover {
    background-color: var(--color-bemob-text);
  }
}

.av__btn-orange-outlined {
  background-color: transparent;
  border: 2px solid var(--color-primary);

  &:hover {
    background-color: var(--color-primary);
    color: var(--color-dark);
  }
}

.av__btn-green-outlined {
  background-color: transparent;
  border: 2px solid var(--color-bemob);

  &:hover {
    background-color: var(--color-bemob);
    color: var(--color-dark);
  }
}

/* outlined button orange */
.av__button-outlined {
  display: inline-block;
  background-color: rgba(255, 106, 77, 0.12);
  /* color: var(--color-primary-text); */
  /* font-size: 0.8125rem; */
  /* font-weight: 700; */
  padding: 0.25rem 0.75rem;
  border-radius: 100px;
  width: fit-content;
}

.av__button-full-white {
  padding: 14px 10px;
  display: flex;
  max-width: max-content;
  align-items: center;
  gap: 10px;
  background-color: var(--color-white);
  border-radius: var(--radius-sm);

  &::after {
    content: "";
    display: block;
    position: relative;
    mask-image: url("data:image/svg+xml,%3Csvg width='17' height='13' viewBox='0 0 17 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.7812 6.59375L10.5312 11.8438C10.25 12.125 9.78125 12.125 9.46875 11.8438C9.1875 11.5625 9.1875 11.0625 9.46875 10.7812L13.4375 6.8125H0.75C0.34375 6.8125 0 6.46875 0 6.0625C0 5.65625 0.34375 5.3125 0.75 5.3125H13.4375L9.46875 1.34375C9.1875 1.0625 9.1875 0.5625 9.46875 0.28125C9.75 0 10.25 0 10.5312 0.28125L15.7812 5.53125C16.0625 5.8125 16.0625 6.3125 15.7812 6.59375Z' fill='%23151F36'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;

    /* Firefox */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='17' height='13' viewBox='0 0 17 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.7812 6.59375L10.5312 11.8438C10.25 12.125 9.78125 12.125 9.46875 11.8438C9.1875 11.5625 9.1875 11.0625 9.46875 10.7812L13.4375 6.8125H0.75C0.34375 6.8125 0 6.46875 0 6.0625C0 5.65625 0.34375 5.3125 0.75 5.3125H13.4375L9.46875 1.34375C9.1875 1.0625 9.1875 0.5625 9.46875 0.28125C9.75 0 10.25 0 10.5312 0.28125L15.7812 5.53125C16.0625 5.8125 16.0625 6.3125 15.7812 6.59375Z' fill='%23151F36'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;

    background-color: currentColor;
    /* change color freely */
    width: 17px;
    height: 13px;
  }
}


.fl-accordion {
  --_s9-question-padd: 13px 10px;

  .fl-accordion-item {
    box-shadow: 0 15px 30px 0 hsl(from #000000 h s l / 0.1);
    transition: box-shadow .3s;

    .fl-accordion-content {
      background-color: var(--color-white);
    }

    .fl-accordion-button {
      padding: var(--_s9-question-padd);
      cursor: pointer;
      transition: background-color .3s;

      .fl-accordion-button-label {
        font-family: var(--font-heading);
        font-size: clamp(var(--fs-18), 1.8vw, var(--fs-25));
        color: var(--color-primary-dark);
        font-weight: var(--fw-500);
      }

      .fl-accordion-button-icon {
        &:has(i) {
          background-color: var(--color-primary);
          opacity: 1;
          width: 32px;
          height: 32px;
          display: flex;
          align-items: center;
          justify-content: center;
          border: 1px solid var(--color-primary);
          border-radius: 50%;
          flex-direction: column;
        }

        &>i {
          display: block;
          flex-grow: 0;
          flex-shrink: 0;
          color: var(--color-white);
        }
      }
    }

    &.fl-accordion-item-active {
      box-shadow: none;

      .fl-accordion-button {
        background-color: var(--color-primary);

        .fl-accordion-button-icon {
          &:has(i) {
            background-color: transparent;
            border: 1px solid var(--color-white);
          }
        }
      }

      .fl-accordion-button-label {
        color: var(--color-white);
      }
    }
  }
}

/* Listes */

ul.c__list-white,
ul.c__list-black,
ul.c__list-green,
ul.c__list-orange {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.5rem;

  &>li {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    font-size: 0.9375rem;
    color: var(--color-black);
    font-weight: 500;
    line-height: 1.5;

    &::before {
      content: '';
      display: block;
      position: relative;
      width: 15px;
      height: 15px;
      background-color: white;
      mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9 L7 13 L15 5' stroke='white' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      mask-repeat: no-repeat;
      mask-position: center;
      mask-size: contain;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9 L7 13 L15 5' stroke='white' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      -webkit-mask-size: contain;
    }
  }

}

ul {
  &:is(.c__list-orange) {
    &>li::before {
      background-color: var(--color-primary);
    }
  }

  &:is(.c__list-black) {
    &>li::before {
      background-color: var(--color-black);
    }
  }

  &:is(.c__list-green) {
    &>li::before {
      background-color: var(--color-bemob);
    }
  }

  &:is(.c__list-none) {
    list-style: none;
  }
}

.fl-module-rich-text {

  h2,
  h3 {
    margin-bottom: 0.85rem;
  }
  
  h4,
  h5,
  h6 {
    margin-bottom: 0.65rem;
  }
}

@media screen and (min-width: 1200px) {
  .vp__has-orange-line {
    text-decoration-thickness: 15px;
    text-underline-offset: 17px;
  }
}