@charset "utf-8";

/*
   FEED EVIDENCE — CSS PERSONNALISÉ
   Charger après les styles du thème Veello.

   SOMMAIRE
   01. BASE — TITRES
   02. HERO — SIGNATURE
   03. CARTES — INNOVER / DÉVELOPPER / SÉCURISER
   04. ACCOMPAGNEMENT — CARTES ET REPÈRES
   05. BANDEAU PROJET — DÉCORS ET MOBILE
   06. FORMULAIRE DE CONTACT
   07. INTERACTIONS — CARTES, BOUTONS ET ACCORDÉONS
   08. PARCOURS — IDÉE → MARCHÉ
   09. HERO — FLOTTEMENT DU VISUEL
   10. MENU MOBILE — STRUCTURE, ÉTATS ET CORRECTIFS
   11. COOKIES — BANDEAU ET PRÉFÉRENCES
   12. FOOTER — LIEN DE GESTION DES COOKIES
   13. MODALES — FERMETURE DESKTOP ET MOBILE

   REPÈRES
   Bleu nuit : #052D5B | Turquoise : #05ADA9 | Jaune : #FDB52A
   Menu mobile : <= 1199.98 px | Petits écrans : <= 767 px / 575 px

   Conservation volontaire des sélecteurs, valeurs, !important et priorités.
   Les préférences de réduction des mouvements restent près de chaque zone.
   Les correctifs du menu sont conservés dans leur ordre d’application.
*/


/* ==========================================================================
   01. BASE — TITRES
   ========================================================================== */

/* Couleur des mots mis en valeur dans les titres */
h1 strong,
h2 strong,
h3 strong,
h4 strong {
  color: #FDB52A;
}

/* ==========================================================================
   02. HERO — SIGNATURE
   ========================================================================== */

/* Signature du hero */
.feed-signature {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin-top: 40px;
  color: #052D5B;
}

.feed-signature > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.feed-signature > span::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 15px;
  height: 6px;
  transform: skewX(-26deg);
  background: var(--signature-color);
}

.feed-signature__innover {
  --signature-color: #052D5B;
}

.feed-signature__developper {
  --signature-color: #05ADA9;
}

.feed-signature__securiser {
  --signature-color: #FDB52A;
}

/* ==========================================================================
   03. CARTES — INNOVER / DÉVELOPPER / SÉCURISER
   ========================================================================== */

/* Cartes Innover / Développer / Sécuriser */
.carte-innover .number,
.carte-developper .number,
.carte-securiser .number {
  position: relative;
}

.carte-innover .number .rte p,
.carte-developper .number .rte p,
.carte-securiser .number .rte p {
  margin: 0;
  padding-right: 70px;
  font-size: 1.3rem;
}

/* Formes à droite des numéros */
.carte-innover .number::after,
.carte-developper .number::after,
.carte-securiser .number::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 46px;
  height: 14px;
  border-radius: 3px;
  transform: translateY(-50%) skewX(-26deg);
  pointer-events: none;
}

.carte-innover .number::after {
  background: #FDB52A;
}

.carte-developper .number::after {
  background: #05ADA9;
}

.carte-securiser .number::after {
  background: #052D5B;
}

/* ==========================================================================
   04. ACCOMPAGNEMENT — CARTES ET REPÈRES
   ========================================================================== */

/* Bordure et ombre des cartes. */

.ce_vee_wrapper_start.bloc-accompagnement {
  border: 1px solid rgba(5, 45, 91, 0.08);
  border-radius: 20px;
  box-shadow: 0 24px 60px -36px rgba(5, 45, 91, 0.30);
}

/* Repères « IDÉE → ESSAIS », etc. */
.bloc-accompagnement .titre-accroche {
  margin-bottom: 22px;
}

.bloc-accompagnement .titre-accroche .rte p {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: #5A7391;
  line-height: 1.5;
}

/* Formes inclinées à gauche des repères */
.bloc-accompagnement .titre-accroche .rte p::before {
  content: "";
  display: block;
  flex: 0 0 22px;
  height: 8px;
  background: var(--repere-couleur, #05ADA9);
  transform: skewX(-26deg);
}

/* Couleurs propres aux blocs d’accompagnement */
.bloc-accompagnement.accompagnement-essais {
  --repere-couleur: #05ADA9;
}

.bloc-accompagnement.accompagnement-reglementation {
  --repere-couleur: #052D5B;
}

.bloc-accompagnement.accompagnement-preuves {
  --repere-couleur: #FDB52A;
}

/* ==========================================================================
   05. BANDEAU PROJET — DÉCORS ET MOBILE
   ========================================================================== */

/* Section turquoise */
.vee-section.bandeau-projet {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 28px;
}

/* Formes décoratives */
.vee-section.bandeau-projet::before,
.vee-section.bandeau-projet::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  transform: skewX(-26deg);
}

/* Forme jaune en haut à droite */
.vee-section.bandeau-projet::before {
  width: 340px;
  height: 120px;
  top: -40px;
  right: -60px;
  border-radius: 24px;
  background: #FDB52A;
  opacity: 0.9;
}

/* Forme bleue discrète en bas à droite */
.vee-section.bandeau-projet::after {
  width: 260px;
  height: 110px;
  bottom: -60px;
  right: 60px;
  border-radius: 22px;
  background: #052D5B;
  opacity: 0.12;
}

/* Contenu au-dessus des formes */
.vee-section.bandeau-projet > .vee-section__container {
  position: relative;
  z-index: 1;
}

/* Adaptation mobile */
@media (max-width: 767px) {
  .vee-section.bandeau-projet::before {
    width: 220px;
    right: -80px;
  }

  .vee-section.bandeau-projet::after {
    width: 180px;
    right: 10px;
  }
}

/* ==========================================================================
   06. FORMULAIRE DE CONTACT
   ========================================================================== */

/* Carte blanche */
#vee-body .formulaire-contact .ce_form {
  padding: 48px;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 30px 80px -40px rgba(5, 45, 91, 0.35);
  overflow: visible;
}

/* Grille et espacements */
#vee-body .formulaire-contact .ce_form .row {
  --bs-gutter-x: 18px;
}

#vee-body .formulaire-contact .ce_form .widget {
  margin-bottom: 18px;
}

/* Libellés */
#vee-body .formulaire-contact .ce_form .widget > label {
  display: block;
  margin: 0 0 8px;
  color: #052D5B;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

#vee-body .formulaire-contact .ce_form label .mandatory {
  color: inherit;
  margin-left: 3px;
}

/* Champs */
#vee-body .formulaire-contact .ce_form input.text,
#vee-body .formulaire-contact .ce_form textarea,
#vee-body .formulaire-contact .ce_form select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 12px 16px;
  border: 1px solid #C8D3DF;
  border-radius: 12px;
  background-color: #F7F8F6;
  color: #052D5B;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

#vee-body .formulaire-contact .ce_form input.text,
#vee-body .formulaire-contact .ce_form select {
  height: 50px;
}

#vee-body .formulaire-contact .ce_form textarea {
  height: 140px;
  min-height: 140px;
  resize: vertical;
}

/* Champs en erreur */
#vee-body .formulaire-contact .ce_form input.text.error,
#vee-body .formulaire-contact .ce_form textarea.error,
#vee-body .formulaire-contact .ce_form select.error {
  border-color: #B42318;
}

/* Focus */
#vee-body .formulaire-contact .ce_form input.text:focus,
#vee-body .formulaire-contact .ce_form textarea:focus,
#vee-body .formulaire-contact .ce_form select:focus {
  border-color: #05ADA9;
  background-color: #F7F8F6;
  color: #052D5B;
  outline: 2px solid rgba(5, 173, 169, 0.25);
  outline-offset: 2px;
}

/* Consentement */
#vee-body .formulaire-contact .ce_form .checkbox_container {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

#vee-body .formulaire-contact .ce_form .checkbox_container > span {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* Case native */
#vee-body .formulaire-contact .ce_form input[type="checkbox"] {
  position: static;
  flex: 0 0 16px;
  width: 16px !important;
  height: 16px !important;
  margin: 3px 0 0;
  opacity: 1;
  appearance: auto;
  accent-color: #05ADA9;
  cursor: pointer;
}

#vee-body .formulaire-contact .ce_form .checkbox_container label {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #5A7391;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}

/* Supprime la case décorative de Veello */
#vee-body .formulaire-contact .ce_form .checkbox_container label::before,
#vee-body .formulaire-contact .ce_form .checkbox_container label::after {
  content: none;
  display: none;
}

#vee-body .formulaire-contact .ce_form .checkbox_container label a {
  color: #052D5B;
  text-decoration: underline;
}

/* Anti-spam */
#vee-body .formulaire-contact .ce_form .widget-altcha {
  margin-bottom: 18px;
}

/* Bouton */
#vee-body .formulaire-contact .ce_form .submit_container {
  margin-top: 28px;
}

#vee-body .formulaire-contact .ce_form .submit_container .vee-button {
  display: block;
  width: 100%;
  margin: 0;
}

#vee-body .formulaire-contact .ce_form .submit_container button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 60px;
  padding: 16px 24px;
  border: 0;
  border-radius: 999px;
  background: #052D5B;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  overflow: hidden;
}

#vee-body .formulaire-contact .ce_form .submit_container button:hover {
  background: #074373;
}

#vee-body .formulaire-contact .ce_form .submit_container button:focus-visible {
  outline: 2px solid #05ADA9;
  outline-offset: 4px;
}

/* Mobile */
@media (max-width: 767px) {
  #vee-body .formulaire-contact .ce_form {
    padding: 28px 22px;
    border-radius: 22px;
  }
}

/* ==========================================================================
   07. INTERACTIONS — CARTES, BOUTONS ET ACCORDÉONS
   ========================================================================== */

/* Transitions, survols et navigation au clavier. */
/* Interactions communes ; les exceptions sont conservées après les règles générales. */

/* Cartes : déplacement CSS indépendant des animations d’apparition. */
#vee-body .enjeux :is(.carte-innover, .carte-developper, .carte-securiser),
#vee-body .notre-accompagnement .bloc-accompagnement,
#vee-body .qui-sommes-nous .ce_rsce_vee_icon_box,
#vee-body .reassurance .ce_rsce_vee_icons_list {
  transition: translate 280ms cubic-bezier(.2,.7,.2,1),
              box-shadow 280ms ease, border-color 280ms ease;
}

/* Les formes conservent leur inclinaison actuelle. */
#vee-body .enjeux .number::after,
#vee-body .notre-accompagnement .bloc-accompagnement .titre-accroche .rte p::before,
#vee-body .notre-accompagnement .bloc-accompagnement .accompagnement-repere .rte p::before {
  transition: translate 280ms ease;
}

/* Boutons : on conserve l’animation Sweep de Veello. */
#vee-body :is(.banner, .enjeux, .notre-accompagnement, .contact) .vee-button > :is(a, button) {
  transition: translate 220ms ease, box-shadow 220ms ease,
              background-color 220ms ease, color 220ms ease;
}
#vee-body :is(.banner, .enjeux, .notre-accompagnement, .contact) .vee-button__icon {
  display: inline-flex;
  transition: translate 220ms ease;
}

/* Accordéons : ne pas modifier les icônes +/− gérées par Veello. */
#vee-body .nos-expertises .vee-accordion__toggler {
  transition: background-color 220ms ease, color 220ms ease;
}
#vee-body .nos-expertises .vee-accordion__toggler-headline {
  transition: translate 220ms ease;
}

/* Survols réservés aux appareils avec souris. */
@media (hover: hover) and (pointer: fine) {
  #vee-body .enjeux :is(.carte-innover, .carte-developper, .carte-securiser):hover {
    translate: 0 -6px;
    box-shadow: 0 22px 40px -24px rgba(5,45,91,.42);
  }
  #vee-body .enjeux :is(.carte-innover, .carte-developper, .carte-securiser):hover .number::after {
    translate: -4px 0;
  }
  #vee-body .notre-accompagnement .bloc-accompagnement:hover {
    translate: 0 -5px;
    border-color: rgba(5,173,169,.45);
    box-shadow: 0 26px 50px -28px rgba(5,45,91,.32);
  }
  #vee-body .notre-accompagnement .bloc-accompagnement:hover :is(.titre-accroche, .accompagnement-repere) .rte p::before {
    translate: 3px 0;
  }
  #vee-body .qui-sommes-nous .ce_rsce_vee_icon_box:hover {
    translate: 0 -4px;
    box-shadow: 0 20px 40px -27px rgba(5,45,91,.28);
    border-color: #05ADA9;
  }
  #vee-body .reassurance .ce_rsce_vee_icons_list:hover {
    translate: 0 -3px;
    box-shadow: 0 12px 24px -16px rgba(5,45,91,.24);
  }
  #vee-body :is(.banner, .enjeux, .notre-accompagnement, .contact) .vee-button > :is(a, button):hover {
    translate: 0 -2px;
    box-shadow: 0 12px 22px -14px rgba(5,45,91,.48);
  }
  #vee-body :is(.banner, .enjeux, .notre-accompagnement, .contact) .vee-button > :is(a, button):hover .vee-button__icon {
    translate: 4px 0;
  }
  #vee-body .nos-expertises .vee-accordion__toggler:hover {
    background-color: rgba(5,173,169,.07);
  }
  #vee-body .nos-expertises .vee-accordion__toggler:hover .vee-accordion__toggler-headline {
    translate: 4px 0;
  }
}

/* Retour clavier, sans déplacer les champs du formulaire. */
#vee-body .enjeux :is(.carte-innover, .carte-developper, .carte-securiser):focus-within,
#vee-body .qui-sommes-nous .ce_rsce_vee_icon_box:focus-within {
  box-shadow: 0 18px 36px -24px rgba(5,45,91,.35);
}
#vee-body :is(.banner, .enjeux, .notre-accompagnement, .contact) .vee-button > :is(a, button):focus-visible {
  outline: 2px solid #05ADA9;
  outline-offset: 4px;
}
#vee-body .nos-expertises .vee-accordion__toggler:focus-visible {
  outline: 2px solid #05ADA9;
  outline-offset: 3px;
}

/* Déplacement des décors au survol du bandeau uniquement. */
#vee-body .vee-section.bandeau-projet::before,
#vee-body .vee-section.bandeau-projet::after {
  transition: translate 600ms cubic-bezier(.2,.7,.2,1);
}
@media (hover: hover) and (pointer: fine) {
  #vee-body .vee-section.bandeau-projet:hover::before {
    translate: -10px 0;
  }
  #vee-body .vee-section.bandeau-projet:hover::after {
    translate: 8px -4px;
  }
}

/* Respect des préférences de réduction des mouvements. */
@media (prefers-reduced-motion: reduce) {
  #vee-body :is(.banner, .enjeux, .notre-accompagnement, .nos-expertises, .qui-sommes-nous, .reassurance, .contact) *,
  #vee-body :is(.banner, .enjeux, .notre-accompagnement, .nos-expertises, .qui-sommes-nous, .reassurance, .contact) *::before,
  #vee-body :is(.banner, .enjeux, .notre-accompagnement, .nos-expertises, .qui-sommes-nous, .reassurance, .contact) *::after,
  #vee-body .vee-section.bandeau-projet::before,
  #vee-body .vee-section.bandeau-projet::after {
    transition: none !important;
    animation: none !important;
    translate: none !important;
  }
}

/* Boutons « Voir le détail » : aucune ombre */
#vee-body .enjeux .vee-button > a,
#vee-body .enjeux .vee-button > a:hover,
#vee-body .enjeux .vee-button > a:focus {
  box-shadow: none !important;
}

/* ==========================================================================
   08. PARCOURS — IDÉE → MARCHÉ
   ========================================================================== */

/* Parcours : transitions des pictos et titres */
#vee-body .parcours-projet .vee-icons-list__icon img {
  display: block;
  border-radius: 50%;
  transition:
    transform 300ms cubic-bezier(.2, .7, .2, 1),
    box-shadow 300ms ease;
}

#vee-body .parcours-projet .vee-icons-list__headline {
  transition: color 250ms ease;
}

/* Survol sur les appareils avec souris */
@media (hover: hover) and (pointer: fine) {

  /* Les cinq premières étapes */
  #vee-body .parcours-projet
  .vee-icons-list__item:not(:last-child):hover
  .vee-icons-list__icon img {
    transform: translateY(-5px) scale(1.08);
    box-shadow: 0 0 0 6px rgba(5, 173, 169, .14);
  }

  #vee-body .parcours-projet
  .vee-icons-list__item:hover .vee-icons-list__headline {
    color: #05ADA9;
  }

  /* Marché : mise en valeur du résultat */
  #vee-body .parcours-projet
  .vee-icons-list__item:last-child:hover
  .vee-icons-list__icon img {
    transform: translateY(-6px) scale(1.15);
    box-shadow:
      0 0 0 7px rgba(5, 173, 169, .18),
      0 0 0 14px rgba(253, 181, 42, .28);
  }

  #vee-body .parcours-projet
  .vee-icons-list__item:last-child:hover
  .vee-icons-list__headline {
    color: #052D5B;
  }
}

/* Réduction des mouvements */
@media (prefers-reduced-motion: reduce) {
  #vee-body .parcours-projet .vee-icons-list__icon img,
  #vee-body .parcours-projet .vee-icons-list__headline {
    transition: none;
    transform: none;
  }
}

/* ==========================================================================
   09. HERO — FLOTTEMENT DU VISUEL
   ========================================================================== */

/* Flottement léger du visuel */
#vee-body .visuel-flottant img {
  animation: feed-flottement 6s ease-in-out infinite;
}

@keyframes feed-flottement {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}

/* Respect de la préférence de réduction des mouvements */
@media (prefers-reduced-motion: reduce) {
  #vee-body .visuel-flottant img {
    animation: none;
    translate: none;
  }
}

/* ==========================================================================
   10. MENU MOBILE — STRUCTURE, ÉTATS ET CORRECTIFS
   ========================================================================== */

/* Menu mobile Feed Evidence */
@media (max-width: 1199.98px) {

  /* Panneau : Veello conserve la gestion ouverture / fermeture */
  #vee-body #vee-header-mobile {
    background: #052D5B;
    border-radius: 24px;
  }

  #vee-body #vee-header-mobile.active {
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 20px;
    box-sizing: border-box;
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
  }

  #vee-body #vee-header-mobile > div {
    margin-bottom: 0;
  }

  /* Liste verticale */
  #vee-body #vee-header-mobile .vee-menu__navigation {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
  }

  #vee-body #vee-header-mobile .vee-menu__navigation > li {
    float: none;
    width: 100%;
    margin: 0;
  }

  /* Liens */
  #vee-body #vee-header-mobile .vee-menu__navigation > li > a {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 56px;
    padding: 14px 16px;
    box-sizing: border-box;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    text-decoration: none;
    transition: background-color 200ms ease, color 200ms ease;
  }

  #vee-body #vee-header-mobile .vee-menu__navigation > li > a > span {
    display: block;
    padding: 0;
  }

  /* Repère graphique */
  #vee-body #vee-header-mobile .vee-menu__navigation > li > a::before {
    content: "";
    flex: 0 0 14px;
    height: 5px;
    background: #05ADA9;
    transform: skewX(-26deg);
    transition: background-color 200ms ease;
  }

  /* Rubrique active et interaction */
  #vee-body #vee-header-mobile .vee-menu__navigation > li > a:is(
    :hover, .active, .trail, .highlighted, [aria-current]
  ) {
    background: rgba(5, 173, 169, .16);
    color: #fff;
  }

  #vee-body #vee-header-mobile .vee-menu__navigation > li > a:is(
    :hover, .active, .trail, .highlighted, [aria-current]
  )::before {
    background: #FDB52A;
  }

  #vee-body #vee-header-mobile .vee-menu__navigation > li > a:focus-visible {
    outline: 2px solid #FDB52A;
    outline-offset: 2px;
  }

  /* Séparation du bouton « Votre projet » */
  #vee-body #vee-header-mobile .vee-header__buttons {
    margin-top: 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .16);
  }

  /* Déclencheur du menu */
  #vee-body .vee-header__menu-trigger .vee-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(5, 45, 91, .12);
    border-radius: 14px;
    background: #052D5B;
  }

  #vee-body .vee-header__menu-trigger .vee-burger .vee-burger__icon i {
    background: #fff;
    height: 2px;
  }

  #vee-body .vee-header__menu-trigger .vee-burger:is(
    .active, [aria-expanded="true"]
  ) {
    background: #05ADA9;
    border-color: #05ADA9;
  }

  #vee-body .vee-header__menu-trigger .vee-burger:focus-visible {
    outline: 2px solid #05ADA9;
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #vee-body #vee-header-mobile,
  #vee-body #vee-header-mobile .vee-menu__navigation > li > a,
  #vee-body #vee-header-mobile .vee-menu__navigation > li > a::before {
    transition: none;
  }
}

@media (max-width: 1199.98px) {
  #vee-body #vee-header-mobile,
  #vee-body #vee-header-mobile.active {
    overflow-x: hidden;
  }

  #vee-body #vee-header-mobile > div {
    min-width: 0;
    max-width: 100%;
  }

  #vee-body #vee-header-mobile {
    scrollbar-width: none;
  }

  #vee-body #vee-header-mobile::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  /* Panneau : seule la hauteur est animée */
  #vee-body #vee-header-mobile,
  #vee-body #vee-header-mobile.active {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    transition: max-height 400ms ease-in-out;
  }

  /* Espacements intérieurs permanents */
  #vee-body #vee-header-mobile
  > [data-juggler-target="vee-header__navigation"] {
    box-sizing: border-box;
    padding: 20px 20px 0;
  }

  #vee-body #vee-header-mobile
  > [data-juggler-target="vee-header__buttons"] {
    box-sizing: border-box;
    padding: 0 20px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #vee-body #vee-header-mobile,
  #vee-body #vee-header-mobile.active {
    transition: none;
  }
}

@media (max-width: 1199.98px) {
  #vee-body #vee-header-mobile > .vee-header__navigation {
    box-sizing: border-box;
    padding: 36px 20px 0;
  }

  #vee-body #vee-header-mobile > .vee-header__buttons {
    box-sizing: border-box;
    padding: 20px;
    margin-top: 18px;
  }
}

/* ==========================================================================
   11. COOKIES — BANDEAU ET PRÉFÉRENCES
   ========================================================================== */

/* Bandeau cookies compact — Feed Evidence */
#vee-body .contao-cookiebar {
  --ccb-max-width: 420px;
  --ccb-bg: #fff;
  --ccb-clr: #052D5B;
  --ccb-text: #506680;
  --ccb-focus-clr: #05ADA9;
  --ccb-checked-clr: #05ADA9;
  --ccb-checked-bg: #E5F6F4;
  padding: 18px;
}

#vee-body .contao-cookiebar .cc-inner {
  width: 420px;
  max-width: 100%;
  padding: 22px;
  border: 1px solid rgba(5, 45, 91, .10);
  border-top: 3px solid #05ADA9;
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(5, 45, 91, .14);
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
}

/* Titre et texte */
#vee-body .contao-cookiebar .cc-head h3 {
  margin: 0 0 10px;
  color: #052D5B;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

#vee-body .contao-cookiebar .cc-head p {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.6;
}

#vee-body .contao-cookiebar .cc-head a {
  color: #052D5B;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Accepter et refuser côte à côte */
#vee-body .contao-cookiebar .cc-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#vee-body .contao-cookiebar .cc-btn {
  flex: 1 1 calc(50% - 8px);
  width: auto;
  min-height: 42px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #052D5B;
  border-radius: 10px;
  background: #052D5B;
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  transition: background-color 180ms ease;
}

#vee-body .contao-cookiebar .cc-btn:hover {
  background: #074373;
}

/* Paramètres : lien discret sur sa propre ligne */
#vee-body .contao-cookiebar .cc-btn.info {
  flex-basis: 100%;
  min-height: 36px;
  padding: 6px;
  border-color: transparent;
  background: transparent;
  color: #052D5B;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#vee-body .contao-cookiebar .cc-btn.info:hover {
  background: #E5F6F4;
}

/* Panneau de réglages : conserver son fonctionnement */
#vee-body .contao-cookiebar .cc-groups {
  flex: 0 0 100%;
  min-width: 0;
  padding-top: 12px;
}

#vee-body .contao-cookiebar .cc-cookie {
  padding: 12px;
}

#vee-body .contao-cookiebar .cc-cookie p {
  font-size: 12px;
}

#vee-body .contao-cookiebar .cc-info {
  margin-top: 0;
}

/* Mobile */
@media (max-width: 575px) {
  #vee-body .contao-cookiebar {
    padding: 12px;
  }

  #vee-body .contao-cookiebar .cc-inner {
    padding: 18px;
    border-radius: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #vee-body .contao-cookiebar {
    --ccb-anim-duration: 0.01s;
  }

  #vee-body .contao-cookiebar .cc-btn {
    transition: none;
  }
}

/* Tout accepter : bleu nuit */
#vee-body .contao-cookiebar .cc-btn.success {
  background: #052D5B;
  border-color: #052D5B;
  color: #fff;
}

#vee-body .contao-cookiebar .cc-btn.success:hover {
  background: #074373;
}

/* Tout refuser : turquoise avec texte bleu nuit */
#vee-body .contao-cookiebar .cc-btn.deny {
  background: #05ADA9;
  border-color: #05ADA9;
  color: #052D5B;
}

#vee-body .contao-cookiebar .cc-btn.deny:hover {
  background: #19BDB5;
}

/* Supprimer le cadre au clic sur « En savoir plus » */
#vee-body .contao-cookiebar .cc-head a:focus {
  outline: none;
  box-shadow: none;
}

/* Repère discret pour la navigation au clavier */
#vee-body .contao-cookiebar .cc-head a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* ==========================================================================
   12. FOOTER — LIEN DE GESTION DES COOKIES
   ========================================================================== */

/* Gestion des cookies : harmonisation avec le footer */
#vee-body .lien-cookies-footer,
#vee-body .lien-cookies-footer a,
#vee-body .lien-cookies-footer button {
  color: #fff !important;
  font-family: "Montserrat", sans-serif;
  font-size: 14px !important;
  line-height: 1.5;
}

/* ==========================================================================
   13. MODALES — FERMETURE DESKTOP ET MOBILE
   ========================================================================== */

/* Croix de fermeture à l’intérieur des modales */
#vee-body .vee-modal > .fancybox-close-small {
  top: 12px;
  right: 12px;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 14px;
  background: #052D5B;
  color: #fff;
  opacity: 1;
  z-index: 10;
  transition: background-color 200ms ease, color 200ms ease;
}

#vee-body .vee-modal > .fancybox-close-small svg {
  width: 100%;
  height: 100%;
}

#vee-body .vee-modal > .fancybox-close-small svg path {
  fill: currentColor;
}

#vee-body .vee-modal > .fancybox-close-small:hover {
  background: #05ADA9;
  color: #052D5B;
}

#vee-body .vee-modal > .fancybox-close-small:focus-visible {
  outline: 3px solid #FDB52A;
  outline-offset: 3px;
}

/* Réserver de la place au bouton */
#vee-body .vee-modal.fancybox-content {
  padding-top: 76px;
}

@media (prefers-reduced-motion: reduce) {
  #vee-body .vee-modal > .fancybox-close-small {
    transition: none;
  }
}

@media (max-width: 767px) {

  /* Masquer la croix intérieure sur mobile */
  #vee-body .vee-modal > .fancybox-close-small {
    display: none;
  }

  /* Garder la barre de fermeture visible */
  #vee-body .fancybox-container:has(.vee-modal)
  .fancybox-toolbar {
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    right: env(safe-area-inset-right, 0px);
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
  }

  /* Même style que la croix intérieure */
  #vee-body .fancybox-container:has(.vee-modal)
  .fancybox-button--close {
    width: 48px;
    height: 48px;
    margin: 12px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 14px;
    background: #052D5B;
    color: #fff;
    opacity: 1;
  }

  #vee-body .fancybox-container:has(.vee-modal)
  .fancybox-button--close:hover {
    background: #05ADA9;
    color: #052D5B;
  }

  #vee-body .fancybox-container:has(.vee-modal)
  .fancybox-button--close:focus-visible {
    outline: 3px solid #FDB52A;
    outline-offset: 3px;
  }

  #vee-body .fancybox-container.fancybox-is-closing:has(.vee-modal)
  .fancybox-toolbar {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none;
    transition: none !important;
  }
}


/* ==========================================================
   SERVICES — cartes de même hauteur sur grand écran
   ========================================================== */

@media (min-width: 1200px) {

  /* Les colonnes s’étirent sur la hauteur de la plus grande */
  .row > .ce_vee_grid_column_start:has(> .carte-innover),
  .row > .ce_vee_grid_column_start:has(> .carte-developper),
  .row > .ce_vee_grid_column_start:has(> .carte-securiser) {
    display: flex;
  }

  /* Les cartes occupent toute la hauteur disponible */
  .row > .ce_vee_grid_column_start > .carte-innover,
  .row > .ce_vee_grid_column_start > .carte-developper,
  .row > .ce_vee_grid_column_start > .carte-securiser {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  /* Aligne les boutons en bas des cartes */
  .row > .ce_vee_grid_column_start > .carte-innover > .ce_vee_modal,
  .row > .ce_vee_grid_column_start > .carte-developper > .ce_vee_modal,
  .row > .ce_vee_grid_column_start > .carte-securiser > .ce_vee_modal {
    margin-top: auto;
  }
}

/* ==========================================================
   ACCOMPAGNEMENT — 3 blocs de même hauteur
   ========================================================== */

@media (min-width: 1200px) {

  .row > .ce_vee_grid_column_start:has(> .bloc-accompagnement) {
    display: flex;
  }

  .row > .ce_vee_grid_column_start > .bloc-accompagnement {
    width: 100%;
  }
}


/* ==========================================================
   POURQUOI FEED EVIDENCE — 4 blocs de même hauteur
   ========================================================== */

@media (min-width: 992px) {

  .row > .ce_vee_grid_column_start:has(
    > :is(.vee-246-0c15e61e, .vee-247-52c07d30, .vee-248-043bc36a, .vee-249-34d54697)
  ) {
    display: flex;
  }

  .row > .ce_vee_grid_column_start
  > :is(.vee-246-0c15e61e, .vee-247-52c07d30, .vee-248-043bc36a, .vee-249-34d54697) {
    width: 100%;
  }
}

/* ==========================================================
   WHY FEED EVIDENCE — 4 blocs de même hauteur
   ========================================================== */

@media (min-width: 992px) {

  .row > .ce_vee_grid_column_start:has(
    > :is(.vee-213-958d5e63, .vee-214-3725298e, .vee-215-d3dc1fd8, .vee-216-7a0a254c)
  ) {
    display: flex;
  }

  .row > .ce_vee_grid_column_start
  > :is(.vee-213-958d5e63, .vee-214-3725298e, .vee-215-d3dc1fd8, .vee-216-7a0a254c) {
    width: 100%;
  }
}link[href^="assets/css/veello-theme/bundle-62fa0720.css"]{z-index:0}