:root{
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
  --font-display: "Syne", var(--font-body);
  --lh: 1.6;
  --lh-tight: 1.2;
  --scale: clamp(28px, 2.2vw + 16px, 44px); /* H1 fluide */
}

html { font-size: 100%; }
body {
  font-family: var(--font-body);
  line-height: var(--lh);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "tnum" 1, "liga" 1; /* chiffres tabulaires + ligatures */
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-display);
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
  margin: 0 0 .5em;
}

h1 { font-size: var(--scale); font-weight: 700; }
h2 { font-size: clamp(24px, 1.4vw + 16px, 34px); font-weight: 700; }
h3 { font-size: clamp(20px, 1vw + 14px, 28px); font-weight: 600; }

p, li { font-size: 1rem; }
.lead { font-size: clamp(18px, 0.6vw + 14px, 22px); }

.btn, .nav-link, .card-title { font-weight: 600; }

.price, .depth, .rating {
  font-variant-numeric: tabular-nums; /* tarifs/profondeurs alignés */
}


a {color: #139BD7; text-decoration: none; transition: color .2s ease, border-color .2s ease;}
a:visited {color: #139BD7;}
a:hover {color: #139BD7;; text-decoration: none;}
a:active {color: #000;}

.btn-primary{background-color:#139BD7; border-color: #139BD7; color: #fff!important; transition: background-color .2s ease, border-color .2s ease;}
.btn-primary:hover{background-color: #0F7FB1; border-color: #0F7FB1;}

.btn-outline-light {color: #fff!important; border: 1px solid #fff; background: transparent; transition: all .2s ease;}
.btn-outline-light:hover {color: #fff; background-color: #139BD7; border-color: #139BD7;}



/* Bouton outline primary personnalisé */
.btn-outline-primary {
  color: #139BD7;
  border-color: #139BD7;
  font-weight: 500;
  transition: all 0.25s ease-in-out;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #0F7FB1;
  color: #fff;
  border-color: #0F7FB1;
  transform: translateY(-2px); /* petit effet lift */
  box-shadow: 0 4px 10px rgba(0, 119, 182, 0.3);
}

.btn-outline-primary:active {
  background-color: #139BD7; /* variante plus sombre */
  border-color: #139BD7;
}






.cBlue{color:#139BD7;}


.bgGrey{background-color:#f2f2f2;}
.bg-primary{background-color: #139BD7!important;}

.breadcrumb {white-space: nowrap; -webkit-overflow-scrolling: touch;}
.breadcrumb-item{font-size: .9em;}
.breadcrumb-item a{color:#57595c;}
.breadcrumb-item a:hover{color:#139BD7;}

/* Hero plein écran : on coupe tout dépassement de l'iframe */
.hero-video{
  position: relative;
  height: 100vh;
  overflow: hidden;               /* <-- clé anti-débordement */
}
@supports (height: 100dvh){
  .hero-video{ height: 100dvh; }
}

/* L'iframe occupe toujours plus grand que le container, sans scroll */
.hero-video__media{
  position: absolute; inset: 0;
  pointer-events: none;
}
.hero-video__media iframe{
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw; height: 56.25vw;      /* 16:9 */
  min-width: 177.78vh;                /* 100vh * 16/9 */
  min-height: 100vh;
  border: 0;
}

/* Overlay + contenu */
.hero-video__overlay{ position:absolute; inset:0; z-index:1;
  background: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 30%,rgba(0,0,0,.45));
  pointer-events:none;
}
.hero-video__content{ position:absolute; inset:0; z-index:2;
  display:grid; place-content:center; padding:6rem 1rem 3rem;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}





/* .header--overlay{ position:fixed; top:0; left:0; right:0; z-index:30; background:transparent; transition: background-color 0.3s ease, box-shadow 0.3s ease;}


.header--overlay.scrolled {
  background-color: #212529;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15); 
}

.site-header.header--blog {
  background-color: #212529; 
}

.site-header.header--blog .navbar-nav .nav-link {
  color: #fff; 
}

.site-header.header--blog .navbar-toggler {
  border-color: rgba(255,255,255,.25);
} */

/* ===== Headers fixés + menu centré ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Variante overlay (accueil) = transparent */
.header--overlay {
  background: transparent;
}

/* Variante blog (et toutes les autres) = fond foncé direct */
.header--blog {
  background-color: #212529;
}

/* Effet scroll commun à tous */
.site-header.scrolled {
  background-color: #212529;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}


.mt-blog {
  margin-top: 90px;
}



.admin-bar .header--overlay{ top:32px; } @media (max-width:782px){ .admin-bar .header--overlay{ top:46px; } }
.header--overlay .navbar{ background:transparent; position:relative; } /* ancre du mega */

.header--overlay .main-navigation{ margin:0 auto; }

@media (max-width: 991.98px) {
  .header--overlay .main-navigation {
    margin: 0 !important;
  }
}

.navbar .navbar-collapse{ justify-content:center; }
.navbar .navbar-nav.ms-auto{ margin-left:0 !important; }
.navbar .navbar-nav{ gap:1.25rem; }

/* .header--overlay .navbar .nav-link,
.header--overlay .dropdown-item,
.header--overlay .dropdown-header{ color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.35); } */

.header--overlay .navbar .nav-link,
.header--overlay .dropdown-item,
.header--overlay .dropdown-header,
.header--blog .navbar .nav-link,
.header--blog .dropdown-item,
.header--blog .dropdown-header {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}




/* Offcanvas mobile fullscreen + couleurs */
.mdp-offcanvas {
  background: #212529;
  color: #fff;
  width: 100vw;           /* plein écran en largeur */
  max-width: none;
  border-right: 0;
  transition: transform .35s ease-in-out; /* slide smooth */
}

/* Header/close */
.mdp-offcanvas .offcanvas-header {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Liens du menu mobile */
.mdp-mobile-nav .nav-link {
  font-size: 1.125rem;
  padding: .75rem 0;
  color: #fff;
}
.mdp-mobile-nav .nav-link:hover,
.mdp-mobile-nav .nav-link:focus {
  color: #e9ecef;
}

/* Dropdowns dans le panneau */
.mdp-mobile-nav .dropdown-menu {
  position: static;           /* évite les positionnements bizarres */
  float: none;
  background: transparent;
  border: 0;
  padding-left: .75rem;
  margin-top: .25rem;
}
.mdp-mobile-nav .dropdown-item {
  color: #dee2e6;
  padding: .5rem 0;
}
.mdp-mobile-nav .dropdown-item:hover {
  color: #fff;
}

/* Masquer le menu desktop en mobile; affiché via d-lg-flex déjà dans le HTML */


@media (max-width: 991.98px) {

  /* Cacher la version desktop du menu */
  #primaryNavbarDesktop {
    display: none !important;
  }

  /* Offcanvas fullscreen */
  .offcanvas.mdp-offcanvas {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh;        /* sécurité : occupe tout l’écran */
    border: none;
  }

  /* Masquer les items marqués "hide-mobile" */
  .mdp-mobile-nav li.hide-mobile,
  .mdp-mobile-nav li.hide-mobile .dropdown-menu,
  .mdp-mobile-nav li.hide-mobile * {
    display: none !important;
  }

   /* le panneau */
  .mdp-offcanvas { width:100vw !important; max-width:100vw !important; }

    /* Mega-menu : FERMÉ par défaut en offcanvas */
  .mdp-offcanvas .dropdown-mega {
    position: static;
    display: none;           /* <- fermé par défaut */
    padding: 0 !important;
    margin: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  /* OUVERT quand le parent .dropdown a .show (on gère en JS) */
  .mdp-offcanvas .dropdown.show > .dropdown-mega {
    display: block;
  }

  /* Flatten de la grille */
  .mdp-offcanvas .dropdown-mega .container { max-width: none; padding: 0; margin: 0; }
  .mdp-offcanvas .dropdown-mega .row { --bs-gutter-x: 0; --bs-gutter-y: 0; margin: 0; }
  .mdp-offcanvas .dropdown-mega [class^="col-"],
  .mdp-offcanvas .dropdown-mega [class*=" col-"] { padding: 0 !important; }
  .mdp-offcanvas .dropdown-mega .mega-col { margin: 0; padding: 0; }

  /* Headers = même style que les items */
  .mdp-offcanvas .dropdown-header {
    display: block;
    font-size: 1.125rem;
    font-weight: 400;
    color: #fff;
    padding: .75rem 0;
    text-decoration: none;
  }
  .mdp-offcanvas .dropdown-mega .list-unstyled { margin: 0; padding-left: 0; }
  .mdp-offcanvas .dropdown-mega .dropdown-item { padding: .5rem 0; }

   /* Dropdowns "classiques" fermés par défaut en offcanvas */
  .mdp-offcanvas .dropdown-menu { display: none; }

  /* Ouvrir quand le parent <li> est .show */
  .mdp-offcanvas .dropdown.show > .dropdown-menu { display: block; }
  
  

}





.offcanvas.mdp-offcanvas {
  height: 100vh; /* sécurité */
}

/* Si header overlay : assure la lisibilité sous le offcanvas */
.header--overlay .navbar {
  --bs-navbar-toggler-border-color: transparent;
}












/* =======================
   MÉGA "FORMATIONS" — CONTAINER
   ======================= */
.navbar .dropdown-mega-parent{ position:static; }
.navbar .dropdown-mega{
  display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  width:min(1200px,calc(100vw - 2rem));
  padding:1rem 1.25rem; border-radius:1rem; z-index:1100;
  background:rgba(0,0,0,.72); backdrop-filter:blur(6px);
  box-shadow:0 20px 40px rgba(0,0,0,.35);
  overflow:visible;
}
@media (min-width:992px){
  .navbar .dropdown:hover > .dropdown-mega,
  .navbar .dropdown-mega.show{ display:block; }
}
@media (max-width:991.98px){
  .navbar .dropdown-mega{
    position:static; left:auto; transform:none; width:100%;
    border-radius:0; padding:.5rem 0; box-shadow:none; backdrop-filter:none;
  }
}

/* =======================
   GRILLE INTERNE : 1 colonne LEAF + 2 colonnes contenu
   ======================= */
@media (min-width:992px){
  .main-navigation .dropdown-mega .row{
    display:grid !important;
    grid-template-columns: minmax(22rem,1.25fr) repeat(2, minmax(18rem,1fr));
    column-gap: 2rem;
    row-gap: .5rem;
    align-items:start;
  }
  .main-navigation .dropdown-mega .row > [class*="col-"]{
    width:auto !important; max-width:none !important; flex:0 0 auto !important;
  }
  .main-navigation .dropdown-mega .leaf-stack-col{ grid-column:1 !important; }
}

/* =======================
   RYTHME COMMUN (aligné sur les dropdowns classiques)
   ======================= */
:root{
  --dd-pad-y: .5rem;          /* idem .dropdown-item */
  --dd-pad-x: .75rem;
  --dd-radius: .5rem;
}

/* =======================
   COLONNE GAUCHE (LEAF empilés)
   ======================= */
.main-navigation .dropdown-mega .leaf-stack{
  display:flex; flex-direction:column; gap:.125rem;
}
.main-navigation .dropdown-mega .leaf-stack > .dropdown-header{
  display:block;
  padding:var(--dd-pad-y) var(--dd-pad-x);
  margin:0;
  color:#fff; line-height:1.35; text-decoration:none;
  background:transparent !important; box-shadow:none !important;
  border-radius:var(--dd-radius);
}
.main-navigation .dropdown-mega .leaf-stack > .dropdown-header:hover{
  background:rgba(255,255,255,.08);
}

/* =======================
   COLONNES AVEC N3 (Diplômes / PADI)
   ======================= */
.main-navigation .dropdown-mega .dropdown-header{
  display:block;
  font-weight:600;
  font-size:1rem;
  line-height:1.35;
  margin:0;
  padding:var(--dd-pad-y) var(--dd-pad-x);
  color:#fff; text-decoration:none;
  border-radius:var(--dd-radius);
  background:transparent !important; box-shadow:none !important;
}
.main-navigation .dropdown-mega .dropdown-header:hover{
  background:rgba(255,255,255,.08);
}

/* Listes N3 visibles et sans “plaque” */
.main-navigation .dropdown-mega .mega-col{ background:transparent !important; }
.main-navigation .dropdown-mega .mega-col > ul{
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:static !important; float:none !important; list-style:none;
  margin:.25rem 0 0 !important; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
.main-navigation .dropdown-mega .mega-col > ul > li{ margin:0 !important; }
.main-navigation .dropdown-mega .mega-col > ul > li > a,
.main-navigation .dropdown-mega .mega-col .dropdown-item{
  display:block !important;
  padding:var(--dd-pad-y) var(--dd-pad-x) !important;  /* fixe normal + hover */
  margin:0 !important;                                  /* pas de décalage */
  line-height:1.35 !important;
  color:#fff !important; text-decoration:none !important;
  border-radius:var(--dd-radius);
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
.main-navigation .dropdown-mega .mega-col > ul > li > a:hover,
.main-navigation .dropdown-mega .mega-col .dropdown-item:hover{
  background:rgba(255,255,255,.08) !important;
}

/* =======================
   DROPDOWNS CLASSIQUES (inchangés)
   ======================= */
.navbar .dropdown-menu:not(.dropdown-mega){
  background:rgba(0,0,0,.62);
  border:0; border-radius:1rem; backdrop-filter:blur(4px);
  box-shadow:0 16px 32px rgba(0,0,0,.3);
  top:100%; left:0; margin-top:0 !important; z-index:1000;
  min-width:16.5rem; padding:.5rem;
}
.navbar .dropdown-item{ color:#fff; line-height:1.35; white-space:normal; padding:.5rem .75rem; }
.navbar .dropdown-item:hover{ color:#fff; background:rgba(255,255,255,.08); }
@media (min-width:992px){
  .navbar .dropdown > .dropdown-menu:not(.dropdown-mega){ display:none; position:absolute; }
  .navbar .dropdown:hover > .dropdown-menu:not(.dropdown-mega),
  .navbar .dropdown .dropdown-menu:not(.dropdown-mega).show{ display:block; }
}


/* Espacement vertical des éléments déplacés dans la pile */
.leaf-stack > .mega-col { margin-bottom: .5rem; }
.leaf-stack > .mega-col:last-child { margin-bottom: 0; }






/* Hero wrapper */
/* La section définit la hauteur globale */
.hero--with-image{
  position: relative;
  color: #fff;
  min-height: clamp(360px, 42vw, 600px); /* "un cran plus haut", responsive */
  overflow: hidden; /* coupe l'image qui déborde */
}

/* L’image remplit 100% de la section */
.hero--with-image .hero-img{
  position: absolute; 
  inset: 0;           /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;     /* évite l’espace de ligne des <img> */
}

/* Calque d’assombrissement */
.hero--with-image .hero-overlay{
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35));
}

/* Contenu centré */
.hero--with-image .hero-content{
  position: relative; z-index: 2;
  min-height: inherit;                 /* hérite de la hauteur du hero */
  display: flex; align-items: center;  /* centre vertical */
  justify-content: center; 
  flex-direction: column; 
  padding: clamp(24px, 4vw, 40px) 0;   /* respiration sans gonfler la hauteur */
}



/* ========================
   BADGES CONTEXTUELS
   ======================== */

/* Base : toutes les badges custom héritent du style Bootstrap */
.badge-pilier{ background:#1fb6c5; color:#052a30; }      /* Formations pro */
.badge-etat{ background:#0e2a38; color:#fff; }           /* Diplômes d’État */
.badge-padi{ background:#ffc861; color:#3b2a00; }        /* PADI */
.badge-cursus{ background:#0b1f2a; color:#fff; }         /* Cursus complet */
.badge-planning{ background:#1fbf8f; color:#fff; }       /* Planning */
.badge-club{ background:#6b7b86; color:#fff; }           /* Le club */
.badge-blog{ background:#f4f7f9; color:#111; }           /* Blog */
.badge-glossaire{ background:#e9ecef; color:#111; }      /* Glossaire */


/* Aligne l’ancre sous un header sticky */
[id]{ scroll-margin-top: calc(var(--header-offset, 64px) + 56px); }
/* 56px ≈ hauteur subnav; ajuste au réel */

/* Option: réduire H2 sous subnav pour densifier */
section h2{ scroll-margin-top: calc(var(--header-offset, 64px) + 80px); }



/* ===== Swiper "Devenir moniteur" ===== */
#swiper-devenir {
  --mp-blue: #139BD7;
  --mp-blue-hover: #0F7FB1;
  --mp-blue-active: #0C688F;
}

/* Slide : carte + visuel */
#swiper-devenir .swiper-slide {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e9eef2;
  border-radius: 12px;
  overflow: hidden;
}

/* Media avec aspect-ratio responsive */
#swiper-devenir .slide-media {
  aspect-ratio: 4 / 3;        /* ratio mobile */
  width: 100%;
  overflow: hidden;
  background: #eef6fb;
}
@media (min-width: 640px) {
  #swiper-devenir .slide-media { aspect-ratio: 7 / 5; }
}

#swiper-devenir picture,
#swiper-devenir img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Légende */
#swiper-devenir figcaption {
  padding: .65rem .8rem;
  font-size: .95rem;
  color: #2a2a2a;
  background: #f8fbfd;
}

/* Pagination sous le visuel */
#swiper-devenir .swiper-pagination {
  position: static;
  margin-top: 10px;
  text-align: center;
}
#swiper-devenir .swiper-pagination-bullet {
  background: #cfeaf7;
  opacity: 1;
}
#swiper-devenir .swiper-pagination-bullet-active {
  background: var(--mp-blue);
}

/* Flèches brandées */
#swiper-devenir .swiper-button-prev,
#swiper-devenir .swiper-button-next {
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--mp-blue);
  box-shadow: 0 4px 14px rgba(19,155,215,.25);
}
#swiper-devenir .swiper-button-prev:hover,
#swiper-devenir .swiper-button-next:hover {
  background: var(--mp-blue-hover);
}
#swiper-devenir .swiper-button-prev:active,
#swiper-devenir .swiper-button-next:active {
  background: var(--mp-blue-active);
}
#swiper-devenir .swiper-button-prev:after,
#swiper-devenir .swiper-button-next:after {
  font-size: 18px;
}

/* Supprimer les flèches */
#swiper-devenir .swiper-button-prev,
#swiper-devenir .swiper-button-next {
  display: none !important;
}

/* Responsive : slides visibles */
@media (min-width: 640px) { #swiper-devenir { --slides: 2; } }
@media (min-width: 960px) { #swiper-devenir { --slides: 3; } }



#menu-footer_formation_fr, #menu-footer_a_propos_fr{margin: 0;}
#menu-footer_formation_fr li a, #menu-footer_a_propos_fr li a {color:#fff;}



/* Toolbar */
.toolbar .btn-chip { border:1px solid var(--bs-border-color); background:#fff; border-radius:999px; padding:.35rem .8rem; }
.toolbar .btn-chip.active { background: var(--bs-primary); color:#fff; border-color: var(--bs-primary); }

/* TOC sticky */
.position-lg-sticky { position: static; }
@media (min-width: 992px){ .position-lg-sticky { position: sticky; } }
.toc .card-body { padding: 1rem 1rem; }
.toc .toc-link { text-decoration:none; color: var(--bs-body-color); }
.toc .toc-link .bullet { display:inline-block; width:.5rem; height:.5rem; border-radius:50%; background: var(--bs-border-color); transition:.2s; }
.toc .toc-link.active .bullet { background: var(--bs-primary); transform: scale(1.2); }
.toc .toc-link:hover { color: var(--bs-primary); }
.toc .toc-list li { line-height:1.25; }
.toc .toc-list a { padding:.25rem 0; display:inline-flex; gap:.5rem; }

/* Cards */
.sp-card { transition: transform .2s ease, box-shadow .2s ease; border-radius: 14px; background-color: #f2f2f2; }
.sp-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(16,24,40,.08); }
.sp-card .meta { color: #5f6c7b; }
.sp-card .meta .meta-key { color:#0b3b53; font-weight:600; margin-right:.25rem; }
.sp-badge { background: #eef7fb; color:#0a6c8f; border:1px solid #d5ecf6; }

/* State vide */
#sp-empty { border-style: dashed; }

/* Harmonisation cartes logos certifications */
.cert-card {
  display: flex;
  flex-direction: column;
  justify-content: center;   
  align-items: center;       
  height: 100%;             
  text-align: center;
  padding: 1rem;
}

.cert-card img {
  max-height: 110px;          
  width: auto;
  object-fit: contain;
}

/* Uniformiser uniquement les cards logements */
.cards-logements{
  height: 250px;          
  object-fit: cover;      
  object-position: center;
}

.cards-logements-body {
  display: flex;
  flex-direction: column;
}

.cards-logements-body .btn {
  margin-top: auto; 
}








.blogContent h2 {
  font-size: 1.5em;
}

.blogContent h3 {
  font-size: 1.3em;
}



.wpcf7 form label { display:block; font-weight:600; margin-bottom:.25rem; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
.wpcf7 textarea, .wpcf7 select { width:100%; }

.wpcf7-select {
  display: block;
  width: 100%;
  padding: .375rem 2.25rem .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .375rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.wpcf7-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}




/* === GRID + RESET =============================================== */
.mp-choice{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  align-items:stretch;               /* étire toutes les cartes à la même hauteur */
}
.mp-choice .wpcf7-list-item{ margin:0; }

/* === CARD ======================================================== */
.mp-choice .wpcf7-list-item label{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  width:100%;
  height:100%;                       /* occupe toute la cellule */
  min-height:120px;                  /* homogénéise les lignes */
  padding:1rem 1rem 1rem 2.6rem;     /* place pour la case custom à gauche */
  border:1px solid #e5e7eb;
  border-radius:.75rem;
  background:#fff;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s, background .15s, color .15s;
}

/* === CHECKBOX NATIVE MASQUÉE (accessibilité OK) ================== */
.mp-choice input[type="checkbox"]{
  position:absolute; left:.9rem; top:1.05rem;
  width:1.1rem; height:1.1rem;
  opacity:0; pointer-events:none;
}

/* Case custom */
.mp-choice .wpcf7-list-item label::before{
  content:""; position:absolute; left:.9rem; top:1.05rem;
  width:1.1rem; height:1.1rem;
  border:2px solid #9aa3ae; border-radius:.35rem; background:#fff;
  transition:all .15s ease;
}
/* Icône check */
.mp-choice .wpcf7-list-item label::after{
  content:""; position:absolute; left:1.05rem; top:1.2rem;
  width:.8rem; height:.8rem;
  transform:scale(0);
  background:#0d6efd;
  clip-path:polygon(14% 54%,0 68%,40% 100%,100% 24%,86% 10%,40% 68%);
  transition:transform .15s ease;
  border-radius:.2rem;
}

/* Hover */
.mp-choice .wpcf7-list-item label:hover{
  border-color:#b9d3ff; background:#f8faff;
  box-shadow:0 2px 10px rgba(13,110,253,.08);
}

/* === ÉTAT SÉLECTIONNÉ ============================================ */
/* Fallback (texte seulement) si :has() non supporté */
.mp-choice input[type="checkbox"]:checked ~ .wpcf7-list-item-label{ color:#0d6efd; }

/* Plein effet (couleur carte + case) avec :has() */
.mp-choice .wpcf7-list-item label:has(input[type="checkbox"]:checked){
  border-color:#0d6efd; background:#e9f2ff;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
  color:#0a58ca;
}
.mp-choice .wpcf7-list-item label:has(input[type="checkbox"]:checked)::before{
  border-color:#0d6efd; background:#e9f2ff;
}
.mp-choice .wpcf7-list-item label:has(input[type="checkbox"]:checked)::after{
  transform:scale(1);
}

/* Focus clavier accessible */
.mp-choice .wpcf7-list-item label:has(input[type="checkbox"]:focus-visible){
  outline:3px solid rgba(13,110,253,.4);
  outline-offset:2px;
}

.wpcf7-list-item{margin: 0;}

.wpcf7 form fieldset legend {
  font-size: 1rem;
  font-weight: 600;
}


.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  border: 1px solid #ced4da;
  border-radius: .375rem;
  padding: .5rem .75rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #139BD7;                     /* contour bleu personnalisé */
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(19,155,215,.25); /* halo léger */
}




.wpcf7 input[type="submit"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
  background-color: #139BD7;
  color: #fff !important;
  border-radius: 0;
  border-color: #139BD7;
  text-transform: uppercase;
  font-weight: 600;
}

.wpcf7 input[type="submit"]:hover {
 background-color: #0F7FB1; border-color: #0F7FB1;
}

.mp-consent{font-size:.8em;}

/* Style général des cercles */
.social-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #f2f2f2; /* couleur fond */
  color: #333;              /* couleur icône */
  font-size: 1.25rem;       /* taille icône */
  text-decoration: none;
  transition: all .2s ease-in-out;
}

/* Hover : éclaircir ou foncer légèrement */
.social-circle:hover {
  background-color: #139BD7; /* variante hover */
  color: #fff;
}


.mp-map {
  width: 100%;
  height: 350px;       /* fixe la hauteur */
  border-radius: 12px; /* optionnel */
  overflow: hidden;
}

.mp-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}




/* Swiper Home uniquement */
.swiper-home .card { min-height: 160px; }
.swiper-home .swiper-button-prev,
.swiper-home .swiper-button-next { color: var(--bs-primary); }
.swiper-home .swiper-pagination-bullet-active { background: var(--bs-primary); }


/* Swiper Home : pagination sous les slides, sans chevauchement */
.swiper-home .swiper-pagination{
  position: static;          /* sort du positionnement absolu */
  margin-top: 12px;          /* espace avec les cards */
}

.swiper-home {               /* un peu d’air autour */
  padding-bottom: 0;
}

/* Optionnel : homogénéiser la hauteur visuelle des cards */
.swiper-home .card{
  min-height: 180px;
}

/* Pagination Swiper Home */
.swiper-home .swiper-pagination-bullet {
  background-color: #ccc;         /* couleur par défaut */
  opacity: 1;                     /* pour désactiver la transparence par défaut */
}

.swiper-home .swiper-pagination-bullet-active {
  background-color: #139BD7;      /* remplace par ta couleur custom */
}









/* Swiper Formations : pagination sous les cards */
.swiper-formations .swiper-pagination { position: static; margin-top: 12px; }
.swiper-formations .swiper-pagination-bullet { background: #c8cdd2; opacity: 1; }
.swiper-formations .swiper-pagination-bullet-active { background: var(--cBlue, #0077b6); }

/* Cards: image ratio + bouton collé en bas */
.swiper-formations .card-img-top { object-fit: cover; }
.swiper-formations .card { transition: transform .2s ease, box-shadow .2s ease; }
.swiper-formations .card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.08); }

/* Option visuelle cohérente avec ton thème */
.swiper-formations .btn-primary {
  /* si tu utilises déjà une couleur custom, tu peux lier à --cBlue */
  background-color: var(--cBlue, #0077b6);
  border-color: var(--cBlue, #0077b6);
}
.swiper-formations .btn-primary:hover {
  filter: brightness(0.9);
}


/* Swiper Formations : uniformiser les cards */
.swiper-formations .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 530px; /* ajuste selon rendu (400–460px) */
}

.swiper-formations .card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.swiper-formations .card-body .btn {
  margin-top: auto; /* pousse le CTA en bas */
}



:root{
  --cBlue: #0077b6; /* ta couleur de marque */
}

/* Wrapper image + overlay */
.adn-hero{
  min-height: clamp(380px, 46vw, 560px); /* hauteur responsive */
}

/* Image en background (à ajuster avec ton chemin) */
.adn-hero__bg{
  position: absolute; inset: 0;
  background-image: url('/wp-content/themes/mdp/assets/img/home/adn-aqualonde.jpg');
  background-size: cover;
  background-position: center right;
  will-change: transform;
  transform: translateZ(0);
}

/* Overlay dégradé gauche → transparent */
.adn-hero__overlay{
  position: absolute; inset: 0;
  background-color: transparent;
  background-image: linear-gradient(110deg, var(--cBlue) 35%, rgba(0,0,0,0.6) 48%, rgba(255,255,255,0) 62%);
  opacity: .9;
}

/* Contenu posé sur l'image, aligné à gauche */
.adn-hero__content{
  position: relative;
  z-index: 2;
  max-width: 750px;              
  padding: clamp(1.25rem, 2.2vw, 2rem) clamp(1.25rem, 2.6vw, 2.5rem);
  /* Un peu d’air à droite pour ne pas mordre sur l’image claire */
  padding-right: clamp(1.25rem, 6vw, 5rem);
}

/* Titres/paragraphes plus lisibles sur overlay */
.adn-hero .display-6{ line-height: 1.1; }
.adn-hero p.lead{ color: rgba(255,255,255,.92); }

/* KPIs */
.adn-hero .kpi__value{
  font-size: clamp(1.25rem, 1rem + 1.5vw, 1.8rem);
  font-weight: 700;
  color: #fff;
}
.adn-hero .kpi__label{
  font-size: .95rem;
  color: rgba(255,255,255,.8);
}

/* Mobile: dégradé vertical et contenu plus centré */
@media (max-width: 991.98px){
  .adn-hero__bg{ background-position: center; }
  .adn-hero__overlay{
    background-image: linear-gradient(180deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,0) 75%);
    opacity: 1;
  }
  .adn-hero__content{ max-width: 100%; padding-right: 1.25rem; }
}



/* .mdp-latest-posts { margin-block: clamp(1.5rem, 2vw, 2.5rem); } */
.mdp-lps-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.mdp-lps-title { font-size:clamp(1.25rem,1.8vw,1.75rem); margin:0; }

.mdp-lps-ctr { display:flex; gap:.5rem; }
.mdp-lps-prev, .mdp-lps-next {
  width:2.25rem; height:2.25rem; border-radius:999px; border:1px solid #e5e7eb;
  background:#fff; cursor:pointer; position:relative;
}
.mdp-lps-prev::before, .mdp-lps-next::before {
  content:""; position:absolute; inset:0; margin:auto; width:.6rem; height:.6rem;
  border-top:2px solid #374151; border-right:2px solid #374151; transform:rotate(45deg);
}
.mdp-lps-prev::before { transform: rotate(-135deg); }
.mdp-lps-next::before { transform: rotate(45deg); }

.mdp-card { background:#fff; border:1px solid #eee; border-radius:16px; overflow:hidden; height:auto; }
.mdp-card-link { display:block; color:inherit; text-decoration:none; }
.mdp-card-media { position:relative; aspect-ratio: 3 / 2; overflow:hidden; }
.mdp-card-img { width:100%; height:100%; object-fit:cover; display:block; }
.mdp-card-img--placeholder { background:linear-gradient(180deg,#f3f4f6,#e5e7eb); width:100%; height:100%; }
.mdp-card-badge {
  position:absolute; left:.75rem; top:.75rem; z-index:2;
  background:#0ea5e9; color:#fff; font-size:.75rem; padding:.25rem .5rem; border-radius:999px;
}
.mdp-card-body { padding:1rem; display:grid; gap:.5rem; }
.mdp-card-title { font-size:1rem; line-height:1.3; margin:0; }
.mdp-card-date { font-size:.8rem; color:#6b7280; }
.mdp-card-excerpt { font-size:.9rem; line-height:1.4; color:#374151; margin:0; }

/* Fallback si Swiper/JS absent : affiche les slides en grille */
.mdp-lps-swiper:not(.swiper-initialized) .swiper-wrapper {
  display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap:1rem;
}
.mdp-lps-pagination { margin-top:.5rem; }


.mp-404-box {
  background: linear-gradient(135deg, #0a2540, #031726);
  border: 1px solid rgba(255,255,255,.1);
}
.mp-404-box h2 {
  color: #fff;
}
.mp-404-box i {
  font-size: 1.2rem;
}

/* Numérotation auto des sources */
#refs { counter-reset: ref; }
#refs > li { position: relative; padding-left: 2.4rem; margin-bottom: .75rem; }
#refs > li::before {
    counter-increment: ref;
    content: "[" counter(ref) "]";
    position: absolute; left: 0; top: .15rem;
    color: #139BD7;; font-weight: 600;
}
#refs a.back-ref { margin-left: .5rem; text-decoration: none; color: #139BD7;; }
