/* =====================================================
   HEADER – STICKY PARTOUT
   - HOME : sticky + change on scroll (ta base conservée)
   - AUTRES PAGES : sticky mais pas de changement couleur
   ===================================================== */

/* Variable hauteur header (fallback) */
:root{
  --header-h: 128px; /* ajuste si besoin, ou via JS */
}

/* ============================
   GLOBAL — Sticky header (toutes pages)
   ============================ */

/* Header sticky partout */
body header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
}

/* Mega menu : rester accroché sous le header (toutes pages) */
body header .megaWrap {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-h, 128px);
  z-index: 9999;
}

/* Compensation du header UNIQUEMENT sur les pages internes
   (home = souvent hero en overlay, donc on ne pousse pas) */
body.nohome{
  padding-top: 160px;
}

@media (max-width: 768px){
  body.nohome{
  padding-top: 25px;
}
}



body.home{
  padding-top: 0;
}
@media (max-width: 768px){
  body.home{
  padding-top: 70px;
}
}



/* ============================
   NOHOME — Sticky sans changement au scroll
   (on force un état stable “blanc”)
   ============================ */
body.nohome header{
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.10);
}

body.nohome header #mainNavbar--wrapper,
body.nohome header .navbar{
  background: #fff;
  box-shadow: none;
}

body.nohome header .navbar-start > .navbar-item{
  color: #005894;
}

body.nohome header .navbar-start > .navbar-item:hover{
  opacity: 0.85;
}

/* Underline active/hover (garde ton jaune marque) */
body.nohome header .navbar-start > .navbar-item:hover::after,
body.nohome header .navbar-start > .navbar-item.is-active::after{
  background: #FFCE00;
}

/* Bouton contact (tu peux garder ton style actuel si tu préfères) */
body.nohome header .navbar-end .button.is-primary{
  background: #f6c400;
  color: #005894;

}

/* Burger en bleu sur pages internes */
body.nohome header .navbar-burger span{
  background: #005894;
}


/* ============================
   HOME ONLY — Sticky header + change on scroll
   (TA BASE, conservée)
   ============================ */

/* 1) Header toujours sticky */
body.home header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000; /* au-dessus du hero + mega */
  background: transparent;
}

@media (max-width: 768px){
  body.home header {

  background: white;
}
}


/* S'assure que la barre nav suit */
body.home header #mainNavbar--wrapper,
body.home header .navbar {
  background: transparent;
  box-shadow: none;
  transition: background-color 220ms ease, box-shadow 220ms ease;
}

/* Liens en mode "top hero" (blanc) */
body.home header .navbar-start > .navbar-item {
  color: #fff;
  transition: color 220ms ease, opacity 220ms ease;
}
body.home header .navbar-start > .navbar-item:hover {
  opacity: 0.85;
}

/* Bouton Contact en mode top hero */
body.home header .navbar-end .button.is-primary {
  background: #f6c400;
  color: #005894;
  border: none;
  transition: filter 220ms ease, background-color 220ms ease, color 220ms ease;
}
@media (max-width: 768px){
body.home header .navbar-end .button.is-primary {
  background: #f6c400;
  color: #005894;
  border: 1.5px solid #005aa7;
  transition: filter 220ms ease, background-color 220ms ease, color 220ms ease;
  margin-top: 30px;
}

}



/* 2) Mega menu : rester accroché sous le header */
body.home header .megaWrap {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-h, 128px); /* JS mettra la vraie hauteur */
  z-index: 9999;
}

/* 3) État "scrolled" (après le bas de .title-header) */
body.home header.is-scrolled {
  background: #fff;
}

/* Nav en mode scrolled */
body.home header.is-scrolled #mainNavbar--wrapper,
body.home header.is-scrolled .navbar {
  background: #fff;
}

/* Liens en mode scrolled (bleu) */
body.home header.is-scrolled .navbar-start > .navbar-item {
  color: #005894;
}
body.home header.is-scrolled .navbar-start > .navbar-item:hover {
  color: #005894;
  opacity: 0.9;
}

/* Underline active/hover en mode scrolled */
body.home header.is-scrolled .navbar-start > .navbar-item:hover::after,
body.home header.is-scrolled .navbar-start > .navbar-item.is-active::after {
  background: #FFCE00;
}

/* Bouton Contact en mode scrolled (style “outline” proche nohome) */
body.home header.is-scrolled .navbar-end .button.is-primary {
  background: #fff;
  color: #005aa7;
  border: 1.5px solid #005aa7;
}

/* Burger (si besoin) */
body.home header .navbar-burger span {
  background: #black;
  transition: background-color 220ms ease;
}
body.home header.is-scrolled .navbar-burger span {
  background: #005894;
}

/* Accessibilité : pas d’animation si l’utilisateur le demande */
@media (prefers-reduced-motion: reduce) {
  body.home header #mainNavbar--wrapper,
  body.home header .navbar,
  body.home header .navbar-start > .navbar-item,
  body.home header .navbar-end .button.is-primary {
    transition: none;
  }
}




/* ======================================================
   HERO FULL WIDTH – 2 COLONNES (FLUX NORMAL)
   ====================================================== */
main{
  padding-top: 1.5rem;
  margin-top: 0!important;

}

.title-header--full .title-header__left h1.title, .title-header--full .title-header__left .title.is-1{
  font-size: clamp(2.2rem,4.5vw,3rem)!important;
  line-height: 78px!important;
}

@media (max-width: 768px){

  .title-header--full .title-header__left h1.title, .title-header--full .title-header__left .title.is-1{
  line-height: 64px!important;
   margin-bottom: 0rem!important


  }

  .profile .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .mode .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .country .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .destinations .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .basic-page .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .product .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
  .city .title-header--full .title-header__left h1.title{
    margin-bottom: 2rem!important;
  }
}

.title-header--full{
  width: 100%;
  margin: 0;
}

/* ----- ZONE COVER ----- */
.title-header--full .title-header__cover{
  min-height: 65vh;
  display: flex;
  align-items: center;
  padding: 6rem 0 3rem;
  position: relative;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px){

  .profile.adulte .title-header--full .title-header__cover{
    background-position-x:-820px;
  }

}
/* overlay (OK en absolute) */
.title-header--full .title-header__cover::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

/* contenu AU-DESSUS overlay */
.title-header--full .title-header__inner,
.title-header--full .title-header__cover > .container{
  position: relative!important;
  z-index: 1;
}



/* =========================================================
   PRODUCT — Hero + card "product-infos" qui chevauche
   (sans masquer le contenu en dessous)
   ========================================================= */

body.product .title-header.title-header--full .title-header__cover{
  position: relative;
  /* On réserve de la place pour la carte qui déborde */
  padding-bottom: clamp(90px, 10vw, 140px);
}

/* Carte : on la fait chevaucher en bas à droite */
body.product .title-header.title-header--full .title-header__product-infos{
  position: absolute;
  right: 0;
  bottom: calc(-1 * clamp(70px, 8vw, 110px));
  width: min(420px, 100%);
  z-index: 5;
}

/* Pour que la grille reste correcte */
body.product .title-header.title-header--full .title-header__grid{
  position: relative;
  z-index: 2;
}



/* Optionnel : si ton container est trop “serré”, on aligne la carte */
body.product .title-header.title-header--full .title-header__inner{
  position: relative;
}

/* Mobile : on évite le chevauchement (sinon trop serré) */
@media (max-width: 768px){
  body.product .title-header.title-header--full .title-header__cover{
    padding-bottom: 24px; /* on retire la réserve */
  }

  body.product .title-header.title-header--full .title-header__product-infos{
    position: static;
    width: 100%;
    margin-top: 16px;
  }

  body.product .title-header.title-header--full{
    margin-bottom: 0;
  }
}


@media screen and (min-width: 1024px){
  .product-infos:first-child:last-child{
    margin-top: -6rem;
    z-index: 9;
  }
}

 /* ==================================================
   PRODUCT — section0 : grid 4 colonnes (image incluse)
   ================================================== */

body.product #section0 .columns.has4cols > .column:first-child{
  display: block;
}

body.product #section0 .columns.has4cols{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 30px;
  padding-right: 0;
}

body.product #section0 .columns.has4cols > .column{
  width: auto;
  padding: 0;
  margin: 0;
}

/* Nettoyage des placements/effets précédents */
body.product #section0 .columns.has4cols > .column:nth-child(2){
  border-right: none;
  padding-right: 0;
}

body.product #section0 .columns.has4cols > .column:nth-child(4){
  margin-top: 0;
}

/* Mobile */
@media (max-width: 768px){
  body.product #section0 .columns.has4cols{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}



/* ======================================================
   GRILLE 2 COLONNES
   ====================================================== */

.title-header--full .title-header__grid{
  display: flex;
  align-items: center;
}

/* ======================================================
   COLONNE GAUCHE – TITRE + CTA
   ====================================================== */



.title.is-2{
  text-transform: uppercase;
  padding-left: 0px!important;
  font-size: 2.2rem;
  line-height: 1.25;

}

@media (max-width: 768px) {
  .destinations .title.is-2{
    font-size: 1rem!important;
  }
  .title.is-2{
      font-size: 1.5rem!important;
  }

}
.title.is-3{
  text-transform: uppercase;
  font-weight: lighter;
  color: #005894!important;
}

.section_mtx_sections_pages .title.is-3{
  margin-bottom: 0.5rem;

}

.title.is-2:before{
content:none;
}
.title.is-2 .is-normal-weight{
  font-weight: 600!important;
  color: #FFCE00;
}
.title .is-normal-weight{
  font-weight: 600!important;
  color: #FFCE00;
  text-transform: uppercase;
  font-size: 2.2rem;
}

@media (max-width: 768px){
  .title .is-normal-weight{

  font-size: 1.5rem;
}
}

.title{text-transform: uppercase; font-size: 2.5rem;}

.title-header--full .title-header__left{
  display: flex;
  flex-direction: column;
}

.title-header--full .title-header__left h1.title,
.title-header--full .title-header__left .title.is-1{
  font-size: clamp(2.4rem, 4.5vw, 4.6rem);
  line-height: 90px;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  position: relative;
}

/* sur-mesure en jaune */
.title-header--full h1.title span,
.title-header--full h1.title .is-normal-weight{
  display: block;
  color: #FFCE00;
}

.title-header--full h1.title span::before{
  content: none;
}

/* CTA */
.title-header__cta{
  margin-top: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.title-header__cta::before{
  content: "→";
  color: #fff;
  font-size: 2rem;
  line-height: 1;
}

@media (max-width: 768px){

  .title-header__cta::before{
  content: "";
  gap:10px;

}
}

/* bouton */
.title-header__btn{
  background: #fff;
  color: #0a5ea8;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 999px;
  border: none;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);

}

/* ======================================================
   COLONNE DROITE – CHAPO (FLUX NORMAL)
   ====================================================== */

.title-header--full .title-header__right{
  display: flex;
  align-items: center;
}

.title-header--full .title-header__chapo,
.title-header--full .content.chapo{


  color: rgba(255,255,255,.95);
  font-size: 1rem;
  line-height: 1.55;
}
.title-header--full .content.chapo strong{
  color: white;
}

.title-header--full .content.chapo p + p{
  margin-top: 1.1rem;
}

/* ======================================================
   ESPACEMENTS DESKTOP
   ====================================================== */

@media (min-width: 1024px){
  .title-header--full .title-header__left{
    padding-right: 2.5rem;
  }

  .produi.title-header--full .title-header__right{
    padding-left: 2.5rem;
  }
}

/* ======================================================
   MOBILE
   ====================================================== */

@media (max-width: 768px){
  .title-header--full .title-header__cover{
    min-height: 45vh;
    padding: 4rem 0 2rem;
    align-items: flex-end;
  }

  .title-header--full .title-header__grid{
    flex-direction: column;
    align-items: flex-start;
  }

  .title-header--full .title-header__right{
    margin-top: 1.4rem;
  }
  .profile .title-header--full .title-header__right{
    margin-top: 0rem;
  }
  .product .title-header--full .title-header__right{
    margin-top: 0rem;
  }

  .title-header--full .title-header__chapo,
  .title-header--full .content.chapo{
    max-width: 100%;
    margin-left: 0;
  }

  .title-header__cta{
    margin-top: 0px;
    padding-left: 0px;
    gap: 0px;
    justify-content: center;

  }

  .title-header__cta::before{
    font-size: 1.6rem;
  }
}


.section_mtx_sections_collapsible body.home .title-header .is-1.accordion-header, body.home .is-home-nav-mobile .title-header .is-1.accordion-header, body.home .title-header .is-home-nav-mobile .is-1.accordion-header, body.home .title-header .section_mtx_sections_collapsible .is-1.accordion-header, body.home .title-header .title.is-1{

  position: relative!important;
  max-width: 100%!important;
}

@media (max-width: 768px){

.section_mtx_sections_collapsible body.home .title-header .is-1.accordion-header, body.home .is-home-nav-mobile .title-header .is-1.accordion-header, body.home .title-header .is-home-nav-mobile .is-1.accordion-header, body.home .title-header .section_mtx_sections_collapsible .is-1.accordion-header, body.home .title-header .title.is-1{
background-color:transparent!important ;
left: 0!important;
}


}

.section_mtx_sections_pages .card-summary.content p{

  margin-bottom: 1em;
}

#section1 .card-summary.content{
  display: none;
}

.basic-page #section1 .card-summary.content{
  display: block;
}


section.has-background-light{
  background-color: #F9F9F9!important;

}

.section_mtx_sections_pages .column.is-3 .card.is-profile{
  background-color: white;
  height: 100%;
    position: relative;
    border-radius: 20px;
    padding: 30px 15px 10px 15px;

}

.nohome .section_mtx_sections_pages .column.is-3 .card.is-profile{
  background-color: #F9F9F9;
  height: 100%;
    position: relative;
    border-radius: 20px;
    padding:0px;

}



.section_mtx_sections_pages .column.is-3 .card.is-profile::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 15%;
  transform: translateX(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #FFD200; /* jaune */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 28px;
  z-index: 2;
}

.section_mtx_sections_pages .column.is-3:nth-child(1) .card.is-profile::before {
  background-image: url("/site/templates/img/picto1.svg");
}

.section_mtx_sections_pages .column.is-3:nth-child(2) .card.is-profile::before {
  background-image: url("/site/templates/img/picto2.svg");
}

.section_mtx_sections_pages .column.is-3:nth-child(3) .card.is-profile::before {
  background-image: url("/site/templates/img/picto3.svg");
}

.section_mtx_sections_pages .column.is-3:nth-child(4) .card.is-profile::before {
  background-image: url("/site/templates/img/picto4.svg");
}


  .cards-list .card.is-country {
    position: relative;
    height: 240px;
    border-radius: 18px;
    overflow: hidden;

   .agence .card-image{
          position: relative;
    height: 240px;
    border-radius: 18px;
    overflow: hidden;
    }
  }

    .cards-list .card.is-country .card-image,
  .cards-list .card.is-country figure.image {
    height: 100%;
  }

  .cards-list .card.is-country figure.image {
    position: relative;
    overflow: hidden;
  }

  .cards-list .card.is-country figure.image img {
    width: 100%;
    height:240px;
  border-bottom-right-radius: 0px;
    display: block;
  }

  @media (max-width: 768px){
  .cards-list .card.is-country figure.image img {
height: 100%;
  }


  }

    .cards-list .card.is-country figure.image::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 140px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);
    z-index: 1;
  }
@media (max-width: 768px){
    .cards-list .card.is-country figure.image::after {
      bottom: 0px;
        height: 8vh;
    }    .destinations .cards-list .card.is-country figure.image::after {
      bottom: 0px;
        height: 0vh;
    }

}



  .cards-list .card.is-country .card-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 22px;
    z-index: 2;
    padding: 0 12px;
    background: transparent;
    text-align: center;
  }

  .cards-list .card.is-country .card-content .title {
    margin: 0;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .cards-list .card.is-country .card-content .title a {
    color: inherit;
    text-decoration: none;
  }


/* Section highlight – rendu comme la maquette */
#section3 .text-container {
  display: flex;
  justify-content: center;
  max-width: 100%!important;
}

.formules .text-container {
  display: flex;
  max-width: 100%!important;
}

.formules .content{
  width: 100%;
}

.formules .content ol li+li, .content ul li+li{

  margin-top: 0px;
}

.formules .content ul{
  margin-left: 0px;
  list-style: none;
}

.formules .content ul li{
 padding-bottom: 20px;
 padding-top: 20px;
 padding-left: 10px;
 border-bottom: 1px solid #FFCE00;
}

@media (max-width: 768px){
.formules .content ul li{

 padding-left: 0px;

}

}



.formules .content ul li:hover{

  background: white;

}


.formules .content a{

  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: lighter;
}

#section3 .text-container:before {

  content:none;
}

#section3 .text-container:after {

  content:none;
}

#section3 .highlighted-text {
  max-width: 100%;         /* ajuste si tu veux plus large/étroit */
  width: 100%;
  margin: 0 auto;
  padding: 48px 64px;
  background: #fff;
  border: 1px solid #f2c200; /* jaune */
  border-radius: 6px;
  text-align: center;

  /* typo */
  font-size: 1.25rem;
  line-height: 1.35;
  color: #3b3b3b;
  font-weight: normal;
}

.apprendre .columns:not(.is-desktop) {

  gap: 50px;
}

.apprendre .column{

  background: white;
}

.apprendre .column p {
  font-size: 16px;
}
.apprendre.eval .mtx_content_text{
  margin-top: 1rem;
}
.apprendre.eval .column{
  background: #F9F9F9!important;
}
.apprendre.eval figure{
  width: 130px;
}
.apprendre.eval figure:before{
  content:none!important;
}
.apprendre.eval .eval-ctt .mtx_content_text .content p:nth-child(3){
  margin-bottom: 10px!important;
}
.apprendre.eval h3{
  margin-bottom: 5px;
  margin-top: 0px;
}

h2:has(+ .satisfaction) {
  text-align: center;
}

.satisfactionBG{
 background-image: url("/site/templates/img/satisfactionBG.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  padding: 4rem!important;
}

@media (max-width: 768px){
.satisfactionBG{

  padding: 2rem 0rem 0rem 0rem!important;
}
.satisfaction .column:first-child{
  margin-bottom: 20px;
}

}



.footer>.section{
  padding-bottom: 4rem!important;
}
@media (max-width: 768px){

.footer>.section{
  padding-bottom: 2rem!important;
}

}


.satisfactionBG:before{
  content:none!important;
}
.satisfactionBG:after{
  content:none!important;
}
.satisfactionBG h2{

  padding-bottom: 8px;

  color: #005894!important;
  font-size: 2.5rem!important;
}
@media (max-width: 768px){
  .satisfactionBG h2{


  font-size: 1.5rem!important;
}
}



.satisfaction h2{
  margin-bottom: 0px!important;
  padding-bottom: 8px;
  border-bottom: 1px solid #f2c200 ;
  color: #005894!important;
  font-size: 2.5rem!important;
}

.satisfaction h2 span{
  color: #f2c200;
}
.satisfaction h3{
  margin-top: 15px!important;
  margin-bottom: 0px;
}

.satisfaction .column{

  background-color: white;
  border:1px solid #f2c200;
}

.satisfaction .columns{
  gap: 140px;
}


.accred .brands{
  display: inline-flex;
  gap:130px;
}
@media (max-width: 768px){
.accred .brands{

  gap:30px;
}

}
@media (max-width: 768px){

.footer .footermenu--legallinks .footer-menu{
padding-left:10px ;

}
}



.section_mtx_sections_cta .container, #section2_footer .container{

    padding: 50px 0px;
  border: 1px solid #f2c200;
  background-color: white;
}

#section8 .container, #section2_footer .container{
  padding: 50px 0px;
  border: 1px solid #f2c200;
  background-color: white;

}
.profile #section8 .container, .profile #section2_footer .container{
  padding: 0px 0px;
  border: 0px solid #f2c200;
  background-color: transparent;

}


#section8 .container .is-primary, #section2_footer .container .is-primary{
      border: 1.5px solid #005aa7;
    color: #005aa7;
    background: transparent;
    padding: 15px 50px;
    height: auto;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: unset!important;
    transition: none;
}

.section_mtx_sections_cta .container .is-primary, #section2_footer .container .is-primary, #section3_footer .container .accred a{
      border: 1.5px solid #005aa7!important;
    color: #005aa7;
    background: transparent;
    padding: 15px 50px;
    height: auto;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: unset!important;
    transition: none;

}

.avisCTA{margin-top: 70px}
@media (max-width: 768px){
  .avisCTA{margin-top: 40px}
}
.avisCTA .button.is-primary{
      border: 1.5px solid #005aa7!important;
    color: #005aa7;
    background: transparent;
    padding: 15px 50px;
    height: auto;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: unset!important;
    transition: none;


}
@media (max-width: 768px){
.section_mtx_sections_cta .container .is-primary, #section2_footer .container .is-primary, #section3_footer .container .accred a{
width:80%;

}

}




#section3_footer .container .accred .content p{
  margin-top: 40px;
}

/* Responsive */
@media (max-width: 768px) {
  #section3 .highlighted-text {
    padding: 28px 20px;
    font-size: 1.05rem;
  }
}

.section_mtx_sections_pages .card{
  position: relative;
}

.section_mtx_sections_pages .card-content{
  padding-bottom:32px;
}
.section_mtx_sections_pages .card-discover{
  position: absolute;
  bottom: 35px;
  left: 24px;

  display: inline-flex;
  align-items: center;
  gap: 12px;

  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  color: #0b4aa2;
  text-decoration: none;

  line-height: 1;
}

.content a{
  border-bottom: 0px!important;
}
.section_mtx_sections_pages .content a.card-discover:hover,
.section_mtx_sections_pages .content a.card-discover:focus,
.section_mtx_sections_pages .content a.card-discover:active,
.section_mtx_sections_pages .content a.card-discover:visited{
  color: #0b4aa2;
  text-decoration: none;
  border-bottom: 0px;
}
.section_mtx_sections_pages .card-discover__arrow{
  position: relative;
  width: 36px;
  height: 1px;
  background-color: currentColor;
}

.section_mtx_sections_pages .card-discover__arrow::after{
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;

  width: 7px;
  height: 7px;

  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;

  transform: translateY(-50%) rotate(-45deg);
}

.section-subtitle{
  margin-top: 0px;
  margin-bottom: 86px;
  max-width: 760px;
}

/* ================================
   Bouton "EN SAVOIR PLUS" – custom
   ================================ */

   .section-cta{

    margin-top: 40px;
   }

  @media (max-width: 768px){
   .section-cta{

    margin-top: 40px;
    text-align: center;
   }


  }

.section-cta .button.is-primary.is-outlined.is-rounded {
  border: 1.5px solid #005aa7; /* bleu contour */
  color: #005aa7;
  background: transparent;

  padding: 15px 50px;
  height: auto;

  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  border-radius: 999px;
  white-space: unset!important;

  transition: none;
}
.product-infos .button.is-primary {
  border: 1.5px solid #005aa7; /* bleu contour */
  color: #005aa7;
  background: transparent;

  padding: 15px 30px;
  height: auto;

  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  border-radius: 999px;
  white-space: unset!important;

  transition: none;
}

/* Hover volontairement neutre (comme ta capture) */
.section-cta .button.is-primary.is-outlined.is-rounded:hover,
.section-cta .button.is-primary.is-outlined.is-rounded:focus {
  background: transparent;
  color: #005aa7;
  border-color: #005aa7;
  box-shadow: none;
}



.agence .card{

  background: #F9F9F9!important;
 
  height: 100%!important;
}

.agence h3{
  color: #005894;
}
/* ===============================
   CARTES – STYLE PAYS (240px)
   =============================== */

/* Carte globale */
.cards-list .card.is-basic-page,
.cards-list .card.is-testimonials {
  height: 100%;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* ---------- IMAGE ---------- */
.cards-list .card.is-basic-page .card-image,
.cards-list .card.is-testimonials .card-image {
  height: 240px;
  overflow: hidden;
}

.cards-list .card.is-basic-page .card-image figure,
.cards-list .card.is-testimonials .card-image figure {
  height: 100%;
}

.cards-list .card.is-basic-page .card-image img,
.cards-list .card.is-testimonials .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---------- CONTENU ---------- */
.cards-list .card.is-basic-page .card-content,
.cards-list .card.is-testimonials .card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px 22px 56px; /* espace pour le bouton */
  position: relative;
}

/* Titre */
.cards-list .card.is-basic-page .card-header .title,
.cards-list .card.is-testimonials .card-header .title {
  margin-bottom: 12px;
  font-size: 1.25rem;
  line-height: 1.3;
}

/* Texte */
.cards-list .card.is-basic-page .card-summary,
.cards-list .card.is-testimonials .card-summary {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.85;
}

/* ---------- BOUTON DÉCOUVRIR ---------- */
.cards-list .card-discover {
  position: absolute;
  bottom: 30px;
  left: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;

  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  color: #0057a8; /* adapte à ta DA */
}

/* Pas de hover / soulignement */
.cards-list .card-discover:hover {
  text-decoration: none;
}

/* Flèche */
.cards-list .card-discover__arrow {
  width: 18px;
  height: 1px;
  background: currentColor;
  position: relative;
}

.cards-list .card-discover__arrow::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -3px;
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
}

/* Label */
.cards-list .card-discover__label {
  white-space: nowrap;
}



.title-header--full .title-header__cover {
      padding: 3rem 0 3rem;

}


.title-header.title-header--full .is-normal-weight{
  font-size: 3rem;
}
@media (max-width: 768px){
  .title-header.title-header--full .is-normal-weight{
  font-size: 2.5rem;
}

}


/* =====================================================
   HEADER – COMPORTEMENT PAR DÉFAUT (AUTRES PAGES)
===================================================== */

body.nohome header {
  background: #ffffff;
  z-index: 50;
}

/* Navbar normale */
body.nohome #mainNavbar--wrapper,
body.nohome .navbar {
  background: #ffffff;
}
@media (max-width: 768px){
      #mainNavbar--wrapper {
        margin-bottom: 0rem;
    }

}



/* =====================================================
   HEADER – HOME (OVERLAY TRANSPARENT)
===================================================== */



/* Navbar transparente sur la home */
body.home #mainNavbar--wrapper,
body.home .navbar {
  background: transparent;
  box-shadow: none;
}


/* =====================================================
   NAVIGATION – COULEURS SUR LA HOME
===================================================== */

/* Liens du menu */


body.home .navbar-start .navbar-item {
  color: #ffffff;
}


@media (max-width: 768px){
  body.home .navbar-start .navbar-item {
  color: black!important;
}
}
/* Hover */
body.home .navbar-start .navbar-item:hover {
  color: #ffffff;
  opacity: 0.85;
}

/* Bouton Contact */
body.home .navbar-end .button.is-primary {
  background: #f6c400; /* ton jaune */
  color: #005894;      /* texte */
  border: none;
}

/* Hover bouton */
body.home .navbar-end .button.is-primary:hover {
  filter: brightness(0.95);
}


/* =====================================================
   ITEM ACTIF – SOULIGNEMENT JAUNE (HOME)
===================================================== */

body.home .navbar-start .navbar-item.is-active {
  position: relative;
}

body.home .navbar-start .navbar-item.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 3px;
  background: #f6c400;
  border-radius: 2px;
}


/* =====================================================
   CONTENU – FAIRE REMONTER LE HERO (HOME)
===================================================== */

body.home main,
body.home .page,
body.home .content,
body.home .container {
  margin-top: 0;
  padding-top: 0;
}

/* Ajuste si besoin pour éviter que le contenu passe sous la navbar */
body.home .hero,
body.home .hero-home {
  padding-top: 120px; /* adapte à la hauteur réelle du header */
}


/* =====================================================
   MEGA MENU – (MERGE) BASE + LAYOUT + CARD
===================================================== */

/* Base: pour ancrer le mega menu sous la navbar */
#mainNavbar {
  position: relative;
}

.megaWrap {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999;
  display: none;
}

.megaWrap.is-open {
  display: block;
}

/* Fond + largeur */
.megaInner {
  background: #fff;
  box-shadow: 0 20px 40px rgba(0,0,0,.18);
  border-radius: 6px; /* petit plus propre (optionnel) */
}

/* Layout */
.megaPanel {
  display: none;
  padding: 58px 94px;
}

.megaPanel.is-active {
  display: block;
}

.megaGrid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 24px;
  align-items: start;
}

.megaGrid.is-3col {
  grid-template-columns: 2fr 1fr; /* gauche / carte */
}

.megaGrid.is-3col .megaCols {
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}
.megaCols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.megaTitle {
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}

.megaList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.megaList li + li {
  margin-top: 10px;
}

.megaList a {
  text-decoration: none;
  font-weight: 500;
  color: inherit; /* garde ton thème */
}

/* Card image à droite */
.megaCardLink {
  display: block;
  text-decoration: none;
}

.megaCardMedia {
  border-radius: 18px;
  overflow: hidden;
  min-height: 220px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.megaCardOverlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px;
  background: rgba(0,0,0,.45);
}
.megaCardKicker {
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  line-height: 1.05;
}
.megaCardKicker.logo {
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  margin-top: 10px;
  line-height: 1.05;
}

.megaCardTitle {
  color: #ffd200; /* adapte à ton jaune */
  font-weight: 900;
  font-size: 32px;
  line-height: 1.05;
  margin-top: 2px;
  text-transform: uppercase;
}

.megaCardSub {
  color: #ffd200;
  font-weight: 800;
  font-size: 16px;
  margin-top: 6px;
  text-transform: uppercase;
}


/* =====================================================
   RESPONSIVE – MOBILE
===================================================== */

@media (max-width: 1024px) {



  body.home #mainNavbar--wrapper,
  body.home .navbar {
    background: #ffffff;
  }

  body.home .navbar-start .navbar-item {
    color: #000000;
  }

  body.home .navbar-start .navbar-item.is-active::after {
    display: none;
  }

  body.home main,
  body.home .page,
  body.home .content {
    padding-top: 0;
  }

  /* Mega menu responsive simple */
  .megaGrid {
    grid-template-columns: 1fr;
  }
  .megaCardMedia {
    min-height: 180px;
  }
}

@media (max-width: 640px) {
  .megaCols {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
body.home .title-header{
  margin-top: 0px!important;
}

body.home .title-header--full .title-header__cover{
  min-height: 75vh;
}

/* =====================================================
   NAVIGATION – HOVER & ACTIVE SELON PAGE
===================================================== */

/* Base : pas de background au hover */
.navbar-start .navbar-item:hover{
  background: transparent !important;
}

/* ======================
   HOME – texte blanc + filet jaune
====================== */

body.home .navbar-start .navbar-item{
  color: #fff;
  position: relative;
}

/* Hover = filet jaune */
body.home .navbar-start .navbar-item:hover{
  color: #fff;
  opacity: .85;
}

body.home .navbar-start .navbar-item:hover::after,
body.home .navbar-start .navbar-item.is-active::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 3px;
  background: #f6c400;
  border-radius: 2px;
}

/* Actif (texte) */
body.home .navbar-start .navbar-item.is-active{
  color: #fff;
  opacity: 1;
}

/* ======================
   AUTRES PAGES – texte bleu + filet bleu
====================== */

body.nohome .navbar-start .navbar-item{
  position: relative;
}

/* Hover = filet bleu */
body.nohome .navbar-start .navbar-item:hover{
  color: #005894;
}

body.nohome .navbar-start .navbar-item:hover::after,
body.nohome .navbar-start .navbar-item.is-active::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 3px;
  background: #005894;
  border-radius: 2px;
}

/* Actif (texte) */
body.nohome .navbar-start .navbar-item.is-active{
  color: #005894;
}
/* =====================================================
   NAVBAR – SUPPRESSION BACKGROUND BULMA (ACTIVE / FOCUS)
===================================================== */

/* Tous les états cliqués */
.navbar-start .navbar-item.is-active,
.navbar-start .navbar-item:focus,
.navbar-start .navbar-item:active,
.navbar-start .navbar-item:focus-within {
  background: transparent !important;
  box-shadow: none !important;
}

/* Sécurité si Bulma applique aussi sur .navbar-link */
.navbar-start .navbar-link.is-active,
.navbar-start .navbar-link:focus,
.navbar-start .navbar-link:active {
  background: transparent !important;
  box-shadow: none !important;
}

.navbar-item .button.is-primary{
   border: 1.5px solid #005aa7;
    color: #005aa7;
    background: #FFF!important;
    padding: 15px 50px;
    height: auto;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: unset!important;
    transition: none
}



   body.home .title-header--full .title-header__inner {
    margin-top: 130px;
   }

@media (max-width: 768px){


   body.home .title-header--full .title-header__inner {
    margin-top: 0px;
   }
}

body.home .two-col .content ul{
  margin-top: 0px;

}

body.home .two-col .content h5{
  margin-bottom: 0Px;
}



  /* =========================
     GRILLE BULMA – FIX HAUTEUR
     ========================= */

  /* Empêche Bulma d'étirer les colonnes */
  .page-destinations .cards-list .columns{
    align-items: flex-start;
  }

  /* Chaque colonne s’adapte à son contenu */
  .page-destinations .cards-list .column{
    display: flex;
    height: auto;
  }

  /* =========================
     CARTE
     ========================= */

  .page-destinations .cards-list .card.is-country{
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: visible;
    border-radius: 18px;
    background: #fff;
  }

  /* =========================
     NEUTRALISATION OVERLAY
     ========================= */

  .page-destinations .cards-list .card.is-country .card-content,
  .page-destinations .cards-list .card.is-country .card-header,
  .page-destinations .cards-list .card.is-country .card-summary{
    position: static !important;
    inset: auto !important;
    transform: none !important;
    opacity: 1 !important;
  }

  /* =========================
     IMAGE (HAUT)
     ========================= */

  .page-destinations .cards-list .card.is-country .card-image{
    height: 180px; /* image */
    flex: 0 0 180px;
    overflow: hidden;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
  }

  .page-destinations .cards-list .card.is-country .card-image figure,
  .page-destinations .cards-list .card.is-country .card-image .image{
    height: 100%;
  }

  .page-destinations .cards-list .card.is-country .card-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* =========================
     TITRE (BANDEAU GRIS)
     ========================= */

  .page-destinations .cards-list .card.is-country .card-content{
    padding: 0 !important;
    background: transparent !important;
    margin-top: -10px;
  }

  .page-destinations .cards-list .card.is-country .card-header{
    height: 60px; /* 180 + 60 = 240 */
    flex: 0 0 60px;
    background: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 12px;
  }

  .page-destinations .cards-list .card.is-country .card-header .title{
    margin: 0 !important;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgb(0, 88, 148) !important;
  }

  /* =========================
     TEXTE (DESSOUS – LIBRE)
     ========================= */

  .page-destinations .cards-list .card.is-country .card-summary{
    background: #fff;
    padding: 12px 14px 16px;
    font-size: 13px;
    line-height: 1.5;
    overflow: visible;
  }

  .page-destinations .cards-list .card.is-country .card-summary p{
    margin: 0;
  }

  /* Arrondi bas optionnel */
  .page-destinations .cards-list .card.is-country .card-summary{
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
  }



@media (min-width: 1200px) and (max-width: 1440px) {
  .title-header__inner:not(.is-max-desktop):not(.is-max-widescreen) {
    max-width: 1144px !important;
  }
}


.footer h3{
 font-size: 1.5rem!important;

}
@media (max-width: 768px){
  .footer h3{
 font-size: 1rem!important;

}
}





/* =====================================================
   SECTION MTX "Sections pages" — style commun (comme home .agence)
   À placer EN FIN de custom.css
===================================================== */

/* Espacement section + titre */
.section.section_mtx_sections_pages{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.section.section_mtx_sections_pages > .container > .title.is-2{
  margin-bottom: 1.75rem;
  color: #005894; /* cohérent avec ton univers */
}

/* Grille : cartes à la même hauteur */
.section_mtx_sections_pages .cards-list{
  align-items: stretch;
}

.section_mtx_sections_pages .cards-list > .column{
  display: flex;
}

.section_mtx_sections_pages .cards-list > .column > .card{
  width: 100%;
}

/* Carte : look "agence" */
.section_mtx_sections_pages .cards-list .card.is-basic-page,
.section_mtx_sections_pages .cards-list .card.is-testimonials,
.section_mtx_sections_pages .cards-list .card.is-profile,
.section_mtx_sections_pages .cards-list .card.is-product,{
  background: #F9F9F9;
  border-radius: 18px;

  height: 100%;
  box-shadow: 0 10px 28px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
}

/* Image : hauteur fixe + cover (comme tes cards de home) */
.section_mtx_sections_pages .cards-list .card-image,
.section_mtx_sections_pages .cards-list figure.image{
  height: 240px;
}

.section_mtx_sections_pages .cards-list figure.image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Contenu : laisse de la place au bouton "Découvrir" en bas */
.section_mtx_sections_pages .card-content{
  position: relative;
  padding: 22px 22px 78px;
  flex: 1;
}

/* Titres de cartes */
.section_mtx_sections_pages .card-header .title.is-3,
.section_mtx_sections_pages .card-header .title.is-3 a{
  color: #005894;
}

/* Texte */
.section_mtx_sections_pages .card-summary{
  color: #1f2a37;
}

/* Bouton discover : on garde ton système existant, mais on le cale bien */
.section_mtx_sections_pages .card-discover{
  left: 22px;
  bottom: 26px;
}

/* Responsive */
@media (max-width: 768px){
  .section.section_mtx_sections_pages{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .section_mtx_sections_pages .cards-list .card-image,
  .section_mtx_sections_pages .cards-list figure.image{
    height: 200px;
  }

  .section_mtx_sections_pages .card-content{
    padding: 18px 18px 70px;
  }

  .section_mtx_sections_pages .card-discover{
    left: 18px;
    bottom: 22px;
  }
}
/* =====================================================
   SECTION MTX — PAS DE PICTO hors HOME
   (HOME conserve les pictos)
   À placer en FIN de fichier
===================================================== */

/* 1) Désactive badges/pictos ajoutés en pseudo-elements hors home */
body:not(.home) .section_mtx_sections_pages .card.is-profile::before,
body:not(.home) .section_mtx_sections_pages .card.is-profile::after,
body:not(.home) .section_mtx_sections_pages .card.is-testimonials::before,
body:not(.home) .section_mtx_sections_pages .card.is-testimonials::after{
  content: none;
  display: none;
}

/* 2) Si le picto est un vrai élément HTML, on le cache hors home */
body:not(.home) .section_mtx_sections_pages .card .picto,
body:not(.home) .section_mtx_sections_pages .card .pictogram,
body:not(.home) .section_mtx_sections_pages .card .badge,
body:not(.home) .section_mtx_sections_pages .card [class*="picto"],
body:not(.home) .section_mtx_sections_pages .card [class*="badge"]{
  display: none;
}

/* 3) Annule les découpes / masques spécifiques sur l’image hors home */
body:not(.home) .section_mtx_sections_pages .card.is-profile .card-image,
body:not(.home) .section_mtx_sections_pages .card.is-testimonials .card-image{
  border-radius 18px 18px 0 0;
  overflow: hidden;
  clip-path: none;
  mask: none;
  -webkit-mask: none;
}

/* 4) Harmonise le haut de l’image pour toutes les cards hors home */
body:not(.home) .section_mtx_sections_pages .card .card-image,
body:not(.home) .section_mtx_sections_pages .card figure.image{
  border-radius: 18px 18px 0 0;
  overflow: hidden;
}


.section_mtx_sections_list_children .card-content .card-summary.content, .section_mtx_sections_list_products .card-content .card-summary.content, .section_mtx_sections_pages .card-content .card-summary.content{
  font-size: 14px;
}


.basic-page .section_mtx_sections_cta .container{
  padding: 50px;
}
@media (max-width: 768px){

.basic-page .section_mtx_sections_cta .container{
  padding: 25px;
}
}




.basic-page .section_mtx_sections_cta .text-container{
  flex-direction: column;
}

.basic-page .section_mtx_sections_cta .text-container .button.is-primary{
  width:fit-content;
  margin:0 auto;
}
.country .section_mtx_sections_cta .container{
  padding: 50px;
}
@media (max-width: 768px){
.country .section_mtx_sections_cta .container{
  padding: 50px 0px;
}
}

.country .section_mtx_sections_cta .text-container{
  flex-direction: column;
}

.country .section_mtx_sections_cta .text-container .button.is-primary{
  width:fit-content;
  margin:0 auto;
}


.basic-page .section_mtx_sections_highlighted .highlighted-text, .product .section_mtx_sections_highlighted .highlighted-text{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 48px 64px;
    background: #fff;
    border: 1px solid #f2c200;
    border-radius: 6px;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.35;
    color: #3b3b3b;
    font-weight: normal;
}

@media (max-width: 768px){
.basic-page .section_mtx_sections_highlighted .highlighted-text, .product .section_mtx_sections_highlighted .highlighted-text{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border: 1px solid #f2c200;
    border-radius: 6px;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.35;
    color: #3b3b3b;
    font-weight: normal;
}


}

.basic-page .section_mtx_sections_highlighted .text-container:before,.basic-page .section_mtx_sections_highlighted .text-container:after, .product .section_mtx_sections_highlighted .text-container:before,.product .section_mtx_sections_highlighted .text-container:after{

  content:none;
}

.profile .section_mtx_sections_highlighted .highlighted-text{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 48px 64px;
    background: #fff;
    border: 1px solid #f2c200;
    border-radius: 6px;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.35;
    color: #3b3b3b;
    font-weight: normal;
}

@media (max-width: 768px){
.profile .section_mtx_sections_highlighted .highlighted-text{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 15px;
    background: #fff;
    border: 1px solid #f2c200;
    border-radius: 6px;
    text-align: center;
    font-size: 0.85rem;
    line-height: 1.35;
    color: #3b3b3b;
    font-weight: normal;
}

.basic-page .section_mtx_sections_highlighted .highlighted-text{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 15px;
    background: #fff;
    border: 1px solid #f2c200;
    border-radius: 6px;
    text-align: center;
    font-size: 0.85rem;
    line-height: 1.35;
    color: #3b3b3b;
    font-weight: normal;
}


}

.profile .section_mtx_sections_highlighted .text-container:before,.profile .section_mtx_sections_highlighted .text-container:after{

  content:none;
}



/* HOME — logo blanc par défaut */
body.home header a.brand-logo img{
  content: url('/site/templates/img/logo_complet_blanc_2024.svg');
}

@media (max-width: 768px){

/* HOME — logo blanc par défaut */
body.home header a.brand-logo img{
  content: url('/site/assets/files/1034/you-re-welcome-sejours-linguistique.svg?25zebj');
}
}

/* Dès que le header est scrolled → logo normal */
body.home header.is-scrolled a.brand-logo img{
  content: revert;
}

#angleweb a{
  padding-right: 0px!important;
  padding-left: 0px!important;
}


a.button.is-primary.is-outlined.is-rounded[href*="sejour-linguistique"] {
  display: none !important;
}


.section_mtx_sections_collapsible .accordion-header{

  background-color: transparent!important;
  border:1.5px solid #005aa7!important;
  border-radius: 999px;
  padding: 15px 50px;
  color: #005aa7;
  margin-bottom: 30px;
  width: 100%;
}
@media (max-width: 768px){
.section_mtx_sections_collapsible .accordion-header{
  font-size: 0.9rem;
}
}

.section_mtx_sections_collapsible .accordion-panel{
  background-color: transparent!important;
  width: 100%;
}

.section_mtx_sections_collapsible .accordion-panel::before{
  content:none!important;
}


.page-contact .title-header__cta{
  display: none;
}

.contact #section2_footer{
  display: none!important;
}

.product-infos{
  width: 100%!important;
  margin: 0 auto!important;
  margin-top: -4rem!important;
  padding: 0px!important;

}

@media (max-width: 768px){
.product-infos{

  margin-top: 0rem!important;


}

}


.product-infos-bar .product-infos{
  float: none!important;
}

.product-infos-bar{
    background-color: #F9F9F9!important;
}
.product-infos .is-contact{
  margin-top: 0px!important;
}

.product-infos dt + dd {
  margin-top: -10px!important;
}

.product-infos__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) minmax(220px, 320px);
  gap: 16px 24px;
  align-items: start;
}

@media (max-width: 768px){
  .product-infos__grid{
    padding-bottom: 40px;
  }
}


.product-infos__list{
  margin: 0;
  padding: 0;
  list-style: none;

  grid-column: 1 / 5;
  display: grid;
  grid-template-columns: 1.3fr repeat(3, 1fr);
  gap: 16px 24px;
  align-items: baseline;
  justify-items: center;
}

.product-infos__item{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.product-infos__item > span:first-child{ font-weight: 600; }

.product-infos__group{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

@media (max-width: 768px){
.product-infos__group{
  padding-left: 20px;
  width: 100%;
}

}

.product-infos__cta{
  grid-column: 5 / 6;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content:center;
  height: 100%;
}

@media (max-width: 768px){
  .product-infos__cta{
 width: 80%!important;
 text-align: center;
 margin: 0 auto;
}
}

@media (max-width: 1024px){
  .product-infos__grid{ grid-template-columns: 1fr; }
  .product-infos__list{ grid-column: auto; grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .product-infos__cta{ grid-column: auto; width: 100%; align-items: stretch; }
}



@media (max-width: 640px){
  .product-infos__list{ grid-template-columns: 1fr; }
}

/* garder le sprite SVG présent sans impacter la grille */
.product-infos .product-infos__grid + svg{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
.product-infos{ position: relative; }

@media (max-width: 768px){
  .product-infos{ position: relative;z-index:1 }
}

  

/* styles visuels optionnels */
.has-price,
.has-period,
.has-activity,
.testimonial__infos {
  font-size: 0.85rem;
  color: #666;
}

/* Premier bloc (prix) */
.product-infos__list > li:first-child{
  background: #f4f5f7;
  padding: 20px 22px;

}


@media (max-width: 768px){
/* Premier bloc (prix) */
.product-infos__list > li:first-child{
  background: #f4f5f7;
  padding: 20px 22px;
  width: 100%;

}

}

/* Rendre le prix plus fort visuellement */
.product-infos__list > li:first-child .is-price{
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

/* Sous-texte prix un peu plus discret */
.product-infos__list > li:first-child .is-price-infos{
  font-size: 0.85rem;
  opacity: 0.8;
}

.is-price {
  font-size: 2rem;
  font-weight: 700;
  text-align: left;
}

.is-price-infos {
  font-size: 0.9rem;
  color: #666;
}

.testimonial__score {
  display: flex;
  gap: 4px;
  align-items: center;
}

.icon--star {
  width: 16px;
  height: 16px;
}


.product-infos .has-price, .product-infos .is-price, .product-infos .is-price-infos{
  text-align: left!important;
}


.product .is-multiline.has5cols .column .mtx_content_text{

border-right: 1px solid #f8f8f8;
padding-right: 10px;

  
}
.product .is-multiline.has5cols .column:last-child .mtx_content_text{

border-right:0px;
padding-right: 10px;

  
}

.page-profile #section2 div.card-image > a > figure > img{
  top: 0%;
}


@media (max-width: 768px){
  .page-profile #section2 div.card-image > a > figure > img{
  top: 0%;
}
}

.profile #section1 .card-summary.content, .mode #section1 .card-summary.content{
  display: block;
}


/* Accordéon mobile : chevron sur les titres */
@media (max-width: 768px){

  /* on s’assure que le lien peut accueillir une icône à droite */
  #mainNavbar .navbar-item.has-dropdown.is-accordion > a.nav--toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  /* chevron (fermé) */
  #mainNavbar .navbar-item.has-dropdown.is-accordion > a.nav--toggle::after{
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;

    opacity: .85;
  }

  /* chevron (ouvert) */
  #mainNavbar .navbar-item.has-dropdown.is-accordion.is-active > a.nav--toggle::after{
    transform: rotate(135deg); /* ▲ */
  }
}

@media (max-width: 768px){
.container.mini, .text-container{

  padding-left: 10px!important;
  padding-right: 10px!important;
}

}

@media (max-width: 768px){

  .social-links li{
    height: 1.6rem;
  }
}

.section_mtx_sections_collapsible .title-header .accordion-header, .title-header .breadcrumb, .title-header .chapo, .title-header .section_mtx_sections_collapsible .accordion-header, .title-header .title, .title-header body.home .is-home-nav-mobile .accordion-header, body.home .is-home-nav-mobile .title-header .accordion-header{

  padding: 0 0.7rem;
}


.contact .title-header__chapo a{
  color: white;
}
@media (max-width: 768px){
 #BtnTop{
  bottom: 80px;
 } 
}

.content.chapo ol li::marker, .content.chapo ul li::marker{
  color:white;
}

@media (max-width: 768px){

.image.is-1by1, .image.is-square, .section_mtx_sections_testimonials .testimonial picture.is-1by1, .section_mtx_sections_testimonials .testimonial picture.is-square, .testimonials>div picture.is-1by1, .testimonials>div picture.is-square{

  padding-top: 0px;
}

}
/* =====================================================
   PRODUCT INFOS – Split Activités / Avis
   → Uniquement si JS ajoute .has-long-activities
   → Desktop uniquement
===================================================== */
@media (min-width: 1024px){

  .product-infos.has-long-activities .product-infos__list{
    grid-template-columns: 1.35fr 1fr 1.6fr 1fr !important;
    justify-items: start !important;
    align-items: start !important;
  }

  /* On "déballe" le group-45 */
  .product-infos.has-long-activities
  .product-infos__list
  > li.product-infos__group.is-group-45{
    display: contents !important;
  }

  /* Activités -> colonne 3 */
  .product-infos.has-long-activities
  .product-infos__group.is-group-45
  > .product-infos__item:first-child{
    grid-column: 3 !important;
    align-self: start !important;
  }

  /* Avis -> colonne 4 */
  .product-infos.has-long-activities
  .product-infos__group.is-group-45
  > .product-infos__item:last-child{
    grid-column: 4 !important;

    /* alignement sur "À partir de" = même logique que le bloc prix (padding-top:20px) */
    align-self: start !important;
    padding-top: 20px !important;

    white-space: nowrap !important;
    padding-left: 24px !important;
  }

  .product-infos.has-long-activities .testimonial__score{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  /* Supprime le <li> vide */
  .product-infos.has-long-activities
  .product-infos__list
  > li.product-infos__item:empty{
    display: none !important;
  }
}
@media (min-width: 1024px){

  /* Activités */
  .product-infos.has-long-activities
  .product-infos__group.is-group-45
  > .product-infos__item:first-child{
    padding-top: 20px !important;
  }

  /* Avis */
  .product-infos.has-long-activities
  .product-infos__group.is-group-45
  > .product-infos__item:last-child{
    padding-top: 20px !important;
  }
  /* Avis */
  .product-infos.has-long-activities
  .product-infos__group.is-group-23{
    padding-top: 20px !important;
  }

}
body.nohome .avisCTA{
  margin-top: 0px!important;
}

/* Masquer avisFooter partout sauf home */
body.nohome .avisFooter .columns.is-multiline.has4cols {
  display: none !important;
}


.destinations #section3 .text-container{

  display: block;
}