/*
 Theme Name:   Planifier votre retraite
 Author:       La Petite Boite Web
 Version:      1.0
 Text Domain:  pvr
*/

/* ===========================
   GÉNÉRAL
=========================== */
#cmplz-document{max-width:100%;}
#cmplz-document p, #cmplz-document li, #cmplz-document td, .editor-styles-wrapper .cmplz-unlinked-mode p, .editor-styles-wrapper .cmplz-unlinked-mode li, .editor-styles-wrapper .cmplz-unlinked-mode td {
    font-size: initial;
}
body {
  font-size: clamp(0.95rem, 0.85vw + 0.45rem, 1.05rem);
  line-height: clamp(0.95rem, 0.85vw + 0.85rem, 1.75rem);
  line-height: 1.6;
  margin: 0;
  padding: 0;
  color: var(--color-dark);
}

/* Titres */
h1 {
    font-size: clamp(2.5rem, 3vw, 3.5rem);
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 10px;
    line-height: clamp(3rem, 3.5vw, 4.5rem);
	color: var(--color-gray);
}

h1 span{
    font-size: 20px;
    display: block;
    color: var(--color-accent);}

header.site-header .row {
    display: flex;
}
.entete {
    text-align: center;
    padding: 30px;
	background-color:var(--color-accent-light);
}

h2 {
  font-size: clamp(1.50rem, 3vw, 2.5rem); 
  font-weight: 500;
  margin-bottom: 0.5em;
  line-height: clamp(2rem, 3.5vw, 3rem);
}
h2:before {
    content: "";
    width: 70px;
    height: 6px;
    display: block;
    background-color: var(--color-accent);
    margin-bottom: 15px;
    border-radius: 25px;
}

h3 {
     font-size: clamp(1.25rem, 2vw + 0.5rem, 1.3rem);
    font-weight: bold;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: clamp(1.75rem, 2vw + 0.8rem, 1.7rem);
    color: var(--color-gray);
    letter-spacing: 1.5px;
}

h4 {
  font-size: clamp(1.125rem, 1.5vw + 0.5rem, 1.25rem);
  font-weight: bold;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

h5 {
  font-size: clamp(1rem, 1vw + 0.25rem, 1.125rem);
  font-weight: bold;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

h6 {
  font-size: clamp(0.875rem, 0.8vw + 0.3rem, 1rem); 
  font-weight: bold;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.subtitle {
    font-weight: bold;
    color: var(--color-gray);
	margin-top: -20px;
}
/* Paragraphes */
p {
  margin-bottom: 1em;
}

/* Texte fort et emphase */
strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

a {
    color: var(--color-accent);
}

.row{
  width: 80%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.row.large{
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.row.column-1 .col {
  width: 100%;
}

.row.column-2 .col {
  width: 50%;
}

.row.column-3 .col {
  width: 33.3333%;
}

.col {
  box-sizing: border-box;
  padding: 1rem;
  flex: 0 0 auto;
}


.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===========================
   HEADER
=========================== */
.site-header {
  display: flex;
  flex-direction: column;
  z-index:1;
  padding-top: 15px;
	background-color:var(--color-accent-light);
}

/*sticky*/
/* --- HEADER STICKY --- */
.site-header {
  position: sticky;          /* colle le header */
  top: 0;                    /* bord supérieur */
  z-index: 1000;             /* au-dessus du contenu */
  background: var(--color-accent-light);
  box-shadow: none;
  transition: box-shadow .2s ease, transform .2s ease, padding .2s ease;
}

/* structure interne */
.site-header .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 12px 20px; /* adapte si besoin */
}

/* logo image responsive */
.site-header .logo img {
  height: auto;
  max-width: 225px;
}

/* ombre quand on a commencé à scroller */
.site-header.is-scrolled {
	background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* effet “shrink” optionnel : réduit le padding et le logo au scroll */
.site-header.is-scrolled .row {
  padding: 0px;
}
.site-header.is-scrolled .logo img {
    max-width: 125px;
}

/* --- Barre d’admin WordPress : décale le header pour qu'il ne passe pas dessous --- */
body.admin-bar .site-header { top: 46px; }           /* < 783px */
@media (min-width: 783px) {
  body.admin-bar .site-header { top: 32px; }         /* >= 783px */
}

/* --- Navigation mobile plein écran déjà dans ton code --- */
.mobile-nav {
  position: fixed;
  inset: 0;
  background: var(--color-white);
  transform: translateX(100%);
  transition: transform .25s ease;
  z-index: 1100; /* au-dessus du header */
}
.mobile-nav.is-open { transform: translateX(0); }


/* ----------------------------
   LOGO
----------------------------- */
.logo {
  display: flex;
  align-items: center;
}


/* ----------------------------
   MENU PRINCIPAL (desktop)
----------------------------- */
.main-nav {
  /*background-color: var(--color-gray);*/
  flex: 1;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 30px;
  position: relative;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 40px;
  margin: 0;
  padding: 0;
}

.nav-links li {
  display: inline-block;
}

.nav-links a {
    color: var(--color-dark);
    text-decoration: none;
    font-weight: 500;
    position: relative;
    padding: 5px 0;
    text-transform: uppercase;
    font-family: 'bebas-neue';
    font-size: clamp(0.95rem, 0.85vw + 0.45rem, 1.5rem);
}

.cta a {
    background-color: var(--color-gray);
    color: #fff;
    padding: 10px 20px;
    border-radius: 30px;
    margin-bottom: 0;
    text-transform: none !important;
    font-family: 'be-vietnam-pro';
    font-size: 16px;
}


.nav-links .current-menu-item a::after,
.nav-links a:hover::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background-color: var(--color-accent);
}
.cta a:hover:after, .cta a:after {
   content:none !important;
}

/* ----------------------------
   BOUTON MENU BURGER (mobile)
----------------------------- */
.menu-icon {
  display: none;
  font-size: 32px;
  color: var(--color-dark);
  cursor: pointer;
  padding: 20px;
}

/* ----------------------------
   MENU MOBILE FULLSCREEN SLIDE
----------------------------- */
.mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background-color: var(--color-dark);
  z-index: 999;
  transition: right 0.4s ease;
  display: flex;
  flex-direction: column;
}

.mobile-nav.active {
  right: 0;
}

.mobile-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}

.mobile-header .logo img {
  height: 70px;
}

.close-menu {
  font-size: 30px;
  color: white;
  cursor: pointer;
}

.mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    font-size: 20px;
    text-align: center;
    line-height: 60px;
    text-transform: uppercase;
}

.mobile-menu ul {
    list-style: none;
    padding-left: 0;
}

.mobile-menu li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  position: relative;
}

.mobile-menu .current-menu-item a::after,
.mobile-menu li a:hover::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 3px;
  background-color: var(--color-accent);
}

.site-wrapper {
    position: absolute;
    width: 100%;
    z-index:999;
}
/* ----------------------------
   BREAKPOINTS
   - Affiche le burger
   - Cache le menu desktop et les actions desktop
----------------------------- */
@media (max-width: 1024px){
  .menu-icon{ display:block; }
  .main-nav .nav-links,
  .main-nav .nav-actions{ display:none; }
}

/* Option : en desktop, cache le menu mobile (par sécurité) */
@media (min-width: 1025px){
  .mobile-nav{ display:none; }
}
/* ==============================
   BANNIÈRE
===============================*/

.entete.has-image {
    position: relative;
}

.entete.has-image .banniere__media:after {
    content: "";
    background: var(--color-accent-light);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    opacity: 0.8;
}

.banniere .contenu {
    text-align: center;
    
}

.entete-hero .contenu {
    text-align: left;
    max-width: 980px;
    font-size: 18px;
}
.banniere-btn.align-center {
    margin-top: 50px;
}
.banniere__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.banniere__media picture,
.banniere__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  object-position:center;
  position: relative;
}

.contenu-banniere.row{
  position:relative;
  z-index:2;
}





/* ===========================
   FOOTER
=========================== */
p.footer__ctaText {
    font-size: clamp(1.50rem, 2vw, 2rem);
    line-height: clamp(1.50rem, 2.5vw, 2.5rem);
}
.footer{
  background: var(--color-gray);
  color: #fff;
  line-height: 1.6;
}
.footer a{
  color: var(--color-lightgray);
  text-decoration: none;
}
.footer a:hover,
.footer a:focus-visible{
  color: var(--color-accent);
  outline: none;
}

/* ===== Rangée du haut ===== */
.footer__top{
  display: grid;
 grid-template-columns: 0.75fr .25fr;
  column-gap: 32px;
  row-gap: 0;
  align-items: center;
  padding: 32px 0 16px;
}

/* placement explicite: 1 = logo, 2 = zone desservie, 4 = réseaux */
.footer__brand{ grid-column: 1; }
.footer__zoneTop{ grid-column: 2 / span 2; }   /* ← prend colonnes 2 et 3 */
.footer__socialTop{ grid-column: 4; justify-self: end; }

.footer__logo{
  display: block;
  height: auto;
  margin-bottom: 16px;
}
.footer__title--top{
  color: var(--color-accent);
  margin: 0 0 6px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.footer__zoneText{
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  color: #fff;
}

/* Réseaux */
.footer__socials{
  display: flex;
  gap: 12px;
	justify-content: center;
}
.footer__socials a{
  display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  border-radius: 7px;
  background: var(--color-accent);
  color: var(--color-dark);
  transition: transform .15s ease, background-color .15s ease;
}
.footer__socials a:hover{ background: var(--color-lightgray); }
.footer__socials img{ width: 20px; height: 20px; }

/* ===== Séparateur ===== */
.footer__divider{
  width: 100%;
  height: 1px;
  margin: 16px 0 60px;
  background: var(--color-lightgray);
}

.footer__grid{
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr .8fr; /* Contact | Compatible | Secteurs | Menu */
  gap: 48px 32px; /* row-gap 48px, column-gap 32px */
  padding: 0 0 40px;
}
.footer__col{ min-width: 0; }

/* Titres */
.footer__title{
  margin: 0 0 14px;
  font-size:20px;
  font-weight: 500;
  color: var(--color-accent);
  text-transform: uppercase;
}

/* Coordonnées */
.footer__adresse,
.footer__contact{
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: start;
  gap: 10px;
  margin: 0 0 10px;
}
.footer__adresse img,
.footer__contact img{ opacity: .9; }

/* WYSIWYG blocs ("Compatible avec", "Secteurs") */
.footer__block{ margin-bottom: 22px; }
.footer__richtext ul{ list-style: none; padding-left: 0; margin: 0; }
.footer__richtext li{ margin: 8px 0; }

/* Menu pied de page */
.footer__menu{ list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.footer__menu a {
    display: inline-block;
    transition: color .15s ease, transform .15s ease;
    font-size: 20px;
    color: #fff;
    text-transform: uppercase;
}
.footer__menu a:hover{ color: var(--color-accent); transform: translateX(2px); }

/* Partenaires */
.footer__partners{ margin-top: 35px; }
.footer__partner-logo{
  max-width: 140px;
  width: 100%;
  height: auto;
}

/* ===== Bas de page ===== */
.footer__bottom{
  background: var(--color-gray);
  color:#fff;
  font-size: 12px;
  padding: 14px 0;
}
.footer__bottom .row{
  display: block;  
  text-align: center;
}
.footer__bottom p {margin: 0 !important;}
.footer__bottom a{ color: var(--color-accent-light);border-bottom:1px solid var(--color-accent-light); }
.footer__bottom a:hover{ color: var(--color-accent); }

/* Accessibilité */
.footer a:focus-visible{
  box-shadow: 0 0 0 3px var(--color-accent-light), 0 0 0 5px var(--color-accent);
  border-radius: 6px;
}

/********************/
/*CAROUSSEL CONTENU*/
/********************/
.section-services {
  padding: 5rem 0;
}

.services-list {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 2rem;
  scroll-snap-type: x mandatory;
  padding-bottom: 2rem;
}

.service-card {
  flex: 0 0 280px;
  background-color: var(--color-dark);
  color: var(--color-white);
  padding: 1.5rem;
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.3s ease;
}

.service-card .thumbnail {
  display: block;
  border: 4px solid var(--color-accent);
  margin-bottom: 1rem;
}

.service-card .titleslide {
  font-size: 1.2rem;
  margin: 1rem 0 0.5rem;
  color: var(--color-accent);
  text-transform: uppercase;
  font-weight: 700;
}

.service-card .titleslide a {
  color: inherit;
  text-decoration: none;
}

.service-card p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.service-card .btn {
  align-self: flex-start;
  padding: 0.6rem 1.2rem;
  background-color: var(--color-accent);
  color: var(--color-dark);
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.service-card .btn:hover {
  background-color: var(--color-white);
}
 .service-card {
    flex: 0 0 calc((100% - 2rem * 2) / 3);
    scroll-snap-align: center;
    background: var(--color-dark);
    color: var(--color-white);
    padding: 1.5rem;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    border-radius: 10px;
  }

.service-card .thumbnail {
  display: block;
  border: 4px solid transparent; /* vraie bordure */
  margin-bottom: 1rem;
  overflow: hidden;
}

.service-card:hover .thumbnail{
  border: 4px solid var(--color-accent); /* vraie bordure */
}

.service-card .thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  border: none;
}

  .service-card h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: bold;
    color: var(--color-accent);
  }

  .service-card p {
    margin: 0;
    line-height: 1.5;
    font-size: 1rem;
    color: var(--color-white);
  }

  .service-card .btn {
    display: inline-block;
    margin-top: auto;
    background-color: var(--color-accent);
    color: var(--color-dark);
    padding: 0.6rem 1.2rem;
    border: none;
    font-weight: bold;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .service-card .btn:hover {
    background-color: var(--color-lightgray);
    color: var(--color-dark);
  }

/* ======================
   ACCORDÉON
=======================*/   

.accordion-item {
  border-bottom: 1px solid var(--color-gray);
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
}

/* État ouvert */
.accordion-item[open] {
  background-color: rgba(var(--color-accent-rgb), 0.2);
}

.accordion-item[open]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
}

/* Résout le débordement */
.accordion-item > summary {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 1.2rem 3rem 1.2rem 1.5rem;
  cursor: pointer;
  font-weight: 600;
  color: var(--color-dark);
  text-align: left;
  list-style: none;
  position: relative;
}

/* Supprime le triangle natif */
summary::-webkit-details-marker,
summary::marker {
  display: none;
}

/* Le bouton dans le <summary> */
.accordion-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

/* Icône personnalisée */
.accordion-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease, background-color 0.3s ease;
  flex-shrink: 0;
}

.accordion-item[open] .accordion-icon {
  background-color: var(--color-accent);
}

/* Flèche */
.accordion-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform 0.3s ease;
}

.accordion-item[open] .accordion-icon::before {
  transform: translate(-50%, -50%) rotate(-135deg);
}
.accordion-item[open] .accordion-icon::after {
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* Contenu */
.accordion-content {
  padding: 0 1.5rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
}

.accordion-item[open] .accordion-content {
  padding-top: 1rem;
  padding-bottom: 1rem;
  max-height: 500px;
}

.accordion-content p,
.accordion-content ul {
  margin: 0 0 1rem 0;
  font-size: 0.95rem;
  color: var(--color-dark);
  line-height: 1.6;
}

.accordion-content ul {
  list-style: none;
  padding-left: 1rem;
}

.accordion-content ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.7rem;
}

.accordion-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  background-color: var(--color-accent);
  border-radius: 50%;
}

/*----------------------
------RÉALISATION-------
----------------------*/

.real-list {
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 40px 0;
}

.real-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
}

.real-card .thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: relative;
}

.real-card img {
  object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}

.real-card:hover img {
  transform: scale(1.05);
}

/* Overlay au hover (desktop seulement) */
.real-card .overlay-text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-gray);
  color: var(--color-white);
  text-align: center;
  padding: 20px;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size:14px;
}

.real-card:hover .overlay-text {
  opacity: 1;
}

/* Icône loupe mobile uniquement */
.real-card .loupe-mobile {
  display: none;
}

/* Fancybox - caption personnalisé (optionnel) */
#fancybox-custom-caption {
  display: none;
}

/* ========================
   GALERIE
==========================*/

/* ===== Galerie Grille ===== */
.galerie-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.galerie-grille img {
  width: 100%;
  height: auto;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.galerie-grille img:hover {
  transform: scale(1.05);
}

/* ===== Lightbox ===== */
.basicLightbox--visible {
  z-index: 9999 !important;
}

.lightbox-content {
  position: relative;
  text-align: center;
  padding: 1rem;
  z-index: 10000;
}

.lightbox-content img {
  max-width: 90vw;
  max-height: 80vh;
  display: block;
  margin: 0 auto;
}

.caption {
  color: white;
  margin-top: 1rem;
  font-size: 1rem;
}

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.6);
  border: none;
  color: white;
  font-size: 2rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  z-index: 10001;
}

.lightbox-prev { left: 10px; }
lightbox-next { right: 10px; }

/* ===== Galerie Slide (Carrousel) ===== */
.tns-slide-active ~ .slide[aria-hidden="true"] a {
  pointer-events: none;
  visibility: hidden;
}

.galerie-slide-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: 2rem 0;
}

.galerie-slide-list .slide {
  padding: 10px;
  box-sizing: border-box;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio:3/4;
  border-radius: 10px;
}

/* Hauteur plus grande si wrapper a .large */
.large .slide img {
  height: 350px;
}

.column-3.large .slide img {
  height: 450px;
}
.btnWrap {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 15px;
    justify-content: end;
}
/* Flèches personnalisées */
.slide-arrow {
    background: #ed8204;
    color: #000;
    border: none;
    font-size: 1.7rem;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100% !important;
}

/*=======================
  IMAGE
========================*/

.imagebk img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: center;
    position: relative;
}

/*=======================
  BOUTON
========================*/

.btn {
  position: relative;
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    color: var(--color-dark) !important;
    background-color: var(--color-accent);
    border-radius: 50px;
	text-decoration:none;
}
.banniere-btn a {
    color: #fff;
}





/*-------FAQ-----------*/

section.faq-sec{
  --page-bg: #fff;
  --divider: url(/wp-content/themes/nalatech/img/divider-bottom.svg);
  --divider-w: min(35vw, 520px);
  --divider-h: clamp(48px, 5.8vw, 68px);
  --pad-top: clamp(80px, 10vh, 130px);
  --pad-bottom: clamp(28px, 6vh, 72px);
  position: relative; 
  background: var(--color-dark);
  color: #fff;
  padding: var(--pad-top) 0 calc(var(--pad-bottom) + var(--divider-h));
}

section.faq-sec::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: var(--divider-w);
    height: var(--divider-h);
    background-image: var(--divider);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
    pointer-events: none;
    display: block;
}

.faqWrap{
  display: flex;
  align-items: flex-start;    /* ou center selon besoin */
  gap: clamp(16px, 2vw, 32px);
  padding-top: 75px;
}

.faqLeft h2{color: var(--color-accent);    margin-top: 0;}
.faqRight .accordion summary, .faqRight .accordion-content p, .faqRight .accordion-content ul li {
    color: #fff;
}

.faqLeft{  flex: 1 1 0; min-width:0; }
.faqRight{ flex: 2 1 0; min-width:0; }

.faqRight .accordion-icon::before,
.faqRight .accordion-icon::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform: translate(-50%, -50%);
  background: var(--color-accent);
  transition: transform .2s ease, opacity .2s ease;
}

/* horizontale */
.faqRight .accordion-icon::before{
  width: 16px;
  height: 2px;
}

/* verticale (pour former le +) */
.faqRight .accordion-icon::after{
  width: 2px;
  height: 16px;
}

.accordion-item[open] .accordion-icon::before, .accordion-item[open] .accordion-icon::after {
    background-color: var(--color-dark);
}


/*======================== APPEL À L'ACTION =========================*/ 
section.cta-sec { background-color: var(--color-dark); padding: 0 0 90px 0; } 
.cta-card { background-color: #fff; border-radius: 12px; box-shadow: 0 6px 24px rgba(0, 0, 0, .12); padding: 70px 50px 60px; } 
.ctaWrap { display: flex; max-width: 1200px; margin: 0 auto; } 
.cta-title h2 { margin-top: 0; font-weight:900; } 
.cta-title h2 strong{ color:var(--color-accent); } 
p.cta-actions { margin-top: 50px; }




/*============= ACCUEIL =================*/

/* Capsules vidéo (max 3 colonnes) */
section.capsules-videos {
    margin-block: clamp(24px, 5vw, 64px);
}

.videos-grid{
  display:grid;
  gap:20px;
  grid-template-columns: 1fr;                  /* mobile */
}

.video-card{display:block;text-decoration:none;color:inherit}

/* Vignette 16:9 */
.video-thumb{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  margin:0;
  aspect-ratio:16/9;
}
.video-thumb img{
  width:100%; height:100%;
  object-fit:cover; display:block;
}

/* Badge play centré */
.play-badge{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center;
  width:52px; height:40px; border-radius:7px;
  background:var(--color-accent); color:#fff; font-weight:700;
  z-index:2; pointer-events:none;
}

/* Titre */
.video-title{ margin:.6rem 0 0; font-size:1rem; line-height:1.3;font-weight: bold; }

/* Breakpoints : 2 colonnes puis 3 colonnes */
@media (min-width: 640px){
  .videos-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){
  .videos-grid{ grid-template-columns: repeat(3, 1fr); }
}



/*============Accueil==================*/

/* Section & blob arrondi */
.bloc-formateur{
  position: relative;
  isolation: isolate; /* pour superposer le blob sans affecter le reste */
  margin-block: clamp(24px, 5vw, 64px);
}

/* grand fond arrondi côté droit */
.bloc-formateur::before{
  content:"";
  position: absolute;
  inset: 0 0 0 25%;            /* laisse 25% à gauche (photo dépasse) */
  background: var(--color-accent-light);
  border-top-left-radius: 160px;
  z-index: -1;
}
picture {
   width: 100%;
    align-items: end;
    display: flex;
    height: 100%;
}
img.fm-photo {
    object-fit: contain;
    width: 100%;
    height: 100%;
    max-height: 450px;
}
/* layout : image à gauche, contenu à droite */
.formateur-row {
    display: grid;
    grid-template-columns: 1fr 1.75fr;
    gap: 30px;
    align-items: flex-end;
    padding-top: clamp(16px, 4vw, 48px);
}
/* Media */
.fm-media{
  display: flex;
    justify-content: center;
    width: 100%;
    align-items: end;
}

/* Contenu */
.fm-content{
      padding-bottom: 50px;
}

/* Texte & liste */
.fm-text{
  color: var(--fm-text);
  margin-bottom: 14px;
}
.fm-text p{ margin: 0 0 10px 0; }
.fm-list-title{
  color: var(--fm-muted);
  font-weight: 800;
  margin: 12px 0 8px;
}
.fm-list{
  margin: 0 0 16px 1.1em;
  padding: 0;
}
.fm-list li{
  margin-bottom: 6px;
}

/* Bouton pastille */
.fm-actions{ margin-top: 18px; }

/* Responsive */
@media (max-width: 980px){
  .formateur-row{
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .bloc-formateur::before{
    inset: 10% 0 0 0;              /* fond plus uniforme sur mobile */
    border-top-left-radius: 96px;
  }
  .fm-media{ order: -1; }          /* photo au-dessus sur mobile */
  .fm-content{ max-width: none; }
}


/* ====== ABOUT SECTION ====== */
.about-grid {
  display: grid;
  gap: 56px 64px;
  margin-block: 40px 20px;
}
@media (min-width: 992px) {
  .about-grid { grid-template-columns: 1fr 1fr; align-items: start; }
}


.about-img {
 display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
    margin-top: 24px;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    object-position: center;
}

.about-col.about-col--left img {
    border-top-left-radius: 90px;
    border-bottom-left-radius: 90px;
}

.about-col.about-col--right img {
    border-top-right-radius: 90px;
    border-bottom-right-radius: 90px;
}

.about-cta { margin-top: 20px; }

/*----------Entete------------*/
/* ===== HERO – OPTION 2 (mask wrapper) ===== */
.hero-video iframe {
  pointer-events: none;
}
.hero-picture,
.hero-video .ratio {
  overflow: hidden;
}
.hero-accueil{
  position: relative;
  isolation: isolate;
  background: var(--color-accent-light);
  padding-block: clamp(16px,3vw,28px);
  overflow: hidden;
}

/* IMAGE : ABSOLUTE + masque arrondi à droite */
.hero-media{
  position: absolute;
  top: clamp(12px, 2vw, 20px);
  left: 0;
  width: 80%; /* largeur de la zone image */
  height: clamp(280px, 46vw, 560px);
  border-top-right-radius: 300px;
  border-bottom-right-radius: 300px;
  overflow: hidden;
  z-index: 0;
}

/* <picture> et <img> remplissent la zone image */
.hero-picture,
.hero-picture > img.hero-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-img{ object-fit: cover; object-position: center; }

/* OVERLAY : donne la hauteur à la section */
.hero-overlay{
  position: relative; /* par-dessus l'image */
  z-index: 1;
  min-height: clamp(280px, 46vw, 560px);
  display: grid;
  align-items: center;
}

/* MASK : même boîte que .hero-media, coupe le contenu */
.hero-mask{
  position: absolute;
  top: clamp(12px, 2vw, 20px);
  left: 0;
  width: 70%;
  height: clamp(280px, 46vw, 560px);
  border-top-right-radius: 300px;
  border-bottom-right-radius: 300px;
  overflow: hidden;               /* <-- coupe tout dépassement */
  z-index: 1;                     /* au-dessus de l'image */
  display: flex;
  align-items: center;
  justify-content: flex-end;      /* texte à droite */
  padding: 0 clamp(16px, 6vw, 72px);
  pointer-events: none;           /* le mask ne bloque pas les clics */
}

.hero-content{
  margin: 0;                    
  width: 560px;
  text-align: left;
  pointer-events: auto;         
}

/* TITRE/TEXTE (garde tes styles) */
/*.hero-title{
  color: var(--hero-title);
  font-size: clamp(28px, 5vw, 64px);
  line-height: 1.05;
  margin: 0 0 14px 0;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
}*/
.hero-text{ margin: 0 0 16px 0; }

/* ===== Mobile ===== */
@media (max-width: 980px){
  .hero-media{
    width: 100%;
    border-top-right-radius: 120px;
    border-bottom-right-radius: 120px;
    height: clamp(260px, 52vw, 420px);
  }

  .hero-overlay{
    align-items: end;
    min-height: clamp(260px, 52vw, 420px);
  }

  /* Le mask copie la nouvelle boîte mobile */
  .hero-mask{
    width: 100%;
    height: clamp(260px, 52vw, 420px);
    border-top-right-radius: 120px;
    border-bottom-right-radius: 120px;
    justify-content: center;                    /* centre le texte */
    padding: 0 clamp(16px,4vw,28px);
  }

  .hero-content{
    width: auto;
    text-align: center;
  }
}



/*=================*/
/*    PRODUITS      */
/*==================*/
nav.woocommerce-breadcrumb {display: none;}
.single-product .entete {
    padding-bottom: 120px;
}


/* grille & couleurs */
.prd-ret-hero{display:grid; gap:2rem; grid-template-columns: 1.15fr 0.85fr; align-items:start; margin:40px 0; grid-template-areas: "intro card"; }
.prd-ret-intro { grid-area: intro; }
.prd-ret-card  { grid-area: card; }
@media (max-width: 900px) {
  .prd-ret-hero {
    grid-template-columns: 1fr; /* une seule colonne */
    grid-template-areas:
      "card"
      "intro"; /* inversion de l’ordre */
  }
}
.intro-text ul{margin:0 0 10px 20px;padding: 10px;}

/* carte droite */
.prd-ret-card {
    background: var(--card);
    border-top-left-radius: 20px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
    overflow: hidden;
    margin-top: -120px;
    border-bottom-left-radius: 20px;
}
.card-media {
    height: 250px;
    overflow: hidden;
}
.prd-ret-card .card-media img {
   display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 6 / 3;
    object-position: center;
}
.prd-ret-card .card-body{padding:18px 20px 22px}
.kv{display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-bottom:16px}
.kv dt{font-size:12px; color:var(--muted)}
.kv dd{margin:0; font-weight:600}
.price-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 40px;
}
.price-cta .price{font-size:22px; font-weight:800}

/* bouton add-to-cart skinné */
.wc-add-to-cart form.cart .quantity{display:none} /* si tu vends à l’unité */
.wc-add-to-cart button, .btn-primary{
  display:inline-block; padding:10px 16px; border-radius:999px; background:#e8a26f;
  color:#fff; text-decoration:none; font-weight:700; white-space:nowrap; border:none; cursor:pointer
}
.wc-add-to-cart button:hover{opacity:.92}

/* bloc formateur */
.prd-ret-trainer{position:relative; background:var(--bg); border-radius:36px; margin:60px 0 20px; padding:36px 22px}
.prd-ret-trainer .blob{position:absolute; inset:auto 0 0 0; height:48%; background:rgba(0,0,0,.03); border-bottom-left-radius:36px; border-bottom-right-radius:36px; filter:blur(30px)}
.trainer-inner{position:relative}
.trainer-name{font-weight:800; margin:.25rem 0 .5rem}
.trainer-bio{color:var(--muted)}
.xp h3{margin:16px 0 6px}
.xp ul{margin:0; padding-left:22px}
.btn-ghost{display:inline-block; margin-top:14px; padding:10px 16px; border-radius:999px; border:2px solid #e8a26f; color:#e08a56; text-decoration:none; font-weight:700}
.btn-ghost:hover{background:#fff}
.single-product .bloc-formateur::before {
    border-radius: 24px;
    border-top-left-radius: 160px;
}
.wrapInfo {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
article.lv-session {
    display: flex;
    justify-content: space-between;
	    align-items: center;
}

.lv-agenda__mois {
    font-weight: bold;
    margin-bottom: 30px;
	    margin-top: 60px;
}
.lv-session__day {
    font-size: 35px;
    line-height: 35px;
}

span.lv-session__badge {
    background-color: var(--color-dark);
    padding: 10px 25px;
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
}

.lv-session__lieu.lv-session__lieu--inline, .lv-session__time{font-size:12px;}

/* Rendre chaque rangée cliquable visuellement */
.lv-row{ cursor: pointer; }
.lv-row:hover{ background:#fafafa; }
.lv-row:focus-within{ outline: 2px solid #e6c8ef; outline-offset: 2px; }

section#reserver {
    margin-block: clamp(24px, 5vw, 64px);
}

.lv-row__badge {
    background: var(--color-gray);
    color: #fff;
    border-radius: .4rem;
    padding: .3rem .6rem;
    font-size: 10px;
    text-transform: uppercase;
}
.lv-row__place, .lv-row__time {
    font-size: 14px;
}
.lv-row__side {
    flex-direction: column;
}

/*PANIER*/
td.product-remove a {
    font-size: 30px !important;
    font-weight: 500 !important;
}
p.return-to-shop {
    display: none;
}
a.checkout-button.button.alt.wc-forward {
    background-color: var(--color-gray);
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
}
.woocommerce-message {
    border-top-color: var(--color-gray);
	font-size: 14px;
}

.woocommerce-message::before {
    color: var(--color-gray);
}

/*CHECKOUT*/

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: var(--color-accent-light);
}

.woocommerce-terms-and-conditions-wrapper {
    font-size: 12px;
}
button#place_order {
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    background-color: var(--color-dark);
}
.woocommerce-form-coupon-toggle {
    display: none;
}

/* =========================
  CONTACT
========================= */
p.gform_required_legend {
    font-size: 12px;
}

.coordonneWrap {
    margin-top: 50px;
}

.pageContact article {
    display: grid;
    grid-template-columns: 0.25fr 1fr;
    max-width: 1400px;
    margin: 0 auto;
}

.coordonneWrap .footer__contact{
    background-color: var(--color-accent-light);
    padding: 20px;
    border-radius: 10px;
    display:block;
}

.titreCol {
    font-weight: 900;
    text-align: center;
    font-size: 20px;
}


.coordonneWrap .footer__courriel {
    background-color: var(--color-lightgray);
    padding: 20px;
    border-radius: 10px;
}


.coordonneWrap img {
    display: block;
    text-align: center;
    width: 30px;
    background-color: var(--color-dark);
    padding: 8px;
    border-radius: 10px;
    margin: 0 auto;
    height: 30px;
    margin-bottom: 10px;
}

.coordonneWrap a {
    width: fit-content;
    display: block;
    margin: 0 auto;
    color: var(--color-gray);
    font-weight: 700;
    text-decoration: none;
}
p.titreReseau {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 20px;
    margin-top: 30px;
}
.gform-footer.gform_footer.top_label {
    margin-bottom: 50px;
}
.gform_button_select_files {
    background-color: var(--color-dark) !important;
}
.gform_drop_area::before{color: var(--color-dark) !important;}
.gform_button {
    background-color: var(--color-accent) !important;
    color: var(--color-dark) !important;
    font-weight: 900 !important;
}

/* =========================
  RESPONSIVE
========================= */

/* ≥1025px */
@media (min-width: 1025px) {
  p.titlereal {
    font-size: 18px !important;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
  }
  p.photo-count {
    margin: 0 !important;
    font-size: 12px;
  }
}

/* ≥980px */
@media (min-width: 1025px) {
  article.service.is-left { padding-right: 35px; }
  article.service.is-right { padding-left: 35px; }
}

/* ≥769px */
@media (min-width: 769px) {
  .real-list { display: grid !important; }
}

/* ≤1100px */
@media (max-width: 1100px) {
  /* Footer */
  .footer__grid { grid-template-columns: 1fr 1fr; }

  /* Secteurs */
  .secteur-grid { grid-template-columns: repeat(3, 1fr); }
  .secteur-card--image { grid-column: auto; grid-row: auto; }
  .secteur-card--cta { grid-column: 2 / span 2; grid-row: auto; }
}

/* ≤1024px */
@media (max-width: 1024px) {
  .with-fancybox #fancybox-custom-caption {
    display: block !important;
    position: fixed;
    bottom: 0px;
    left: 0px;
    color: white;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.6);
    padding: 10px 15px;
    border-radius: 8px;
    max-width: 100%;
    font-size: 14px;
    width: 100%;
  }
  .with-fancybox #fancybox-custom-caption h3 { margin: 0 0 5px; font-size: 16px; }
  .with-fancybox #fancybox-custom-caption p { margin: 0; }
}

/* ≤980px */
@media (max-width: 980px) {
  .intro-head { grid-template-columns: 1fr; }
  .intro-card {
    position: static;
    transform: none;
    max-width: 100%;
    margin-top: clamp(12px, 2vw, 18px);
  }
  .intro-media { display: grid; gap: clamp(12px, 2vw, 18px); }
}

/* ≤800px */
@media (max-width: 800px) {
  .secteur-grid { grid-template-columns: repeat(2, 1fr); }
  .secteur-card--cta { grid-column: 1 / span 2; }
}

/* ≤768px */
@media (max-width: 768px) {
  /* Réalisations – mode carrousel mobile */
  .real-list {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 20px 0;
  }
  .real-card { flex: 0 0 80%; scroll-snap-align: start; }
  .real-card .overlay-text { display: block !important; opacity: 1; background: none; }
  .loupe-hover {
    width: 35px;
    background: var(--color--white);
    padding: 10px;
    border-radius: 100%;
    right: 20px;
    position: absolute;
  }
  .overlay-text p { display: none; }
  .real-card .loupe-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 36px; height: 36px;
    background: white;
    border-radius: 50%;
    padding: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 2;
  }
  .real-card .loupe-mobile img { width: 18px; height: 18px; }

  /* Galerie – flèches plus petites */
  .slide-arrow {
    font-size: 1.5rem;
    padding: 0.25rem 0.75rem;
    width: 36px;
    height: 60px;
  }

  /* Modale galerie */
  .modal-realisation { max-width: 600px; padding: 20px; }
  .modal-realisation h3 { margin-top: 0; }
  .modal-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
  }
  .modal-gallery img { width: 100px; height: 100px; object-fit: cover; }

  /* FAQ */
  .faqWrap { flex-direction: column; }
  .faqLeft, .faqRight { flex: 0 0 100%; max-width: 100%; }
}

/* ≤767px */
@media (max-width: 767px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__zoneTop,
  .footer__brand,
  .footer__socialTop { grid-column: auto; justify-self: start; }
  .footer__grid { grid-template-columns: 1fr 1fr; }

  /* 2e enfant = "Compatible avec" sur 2 colonnes */
  .footer__grid > .footer__col:nth-child(2) { grid-column: 1 / -1; }
  .footer__grid > .footer__col:nth-child(2) .footer__richtext ul {
    column-count: 2;
    column-gap: 24px;
  }
}

/* ≤640px */
@media (max-width: 640px) {
  .footer__grid { grid-template-columns: 1fr; }
  .footer__grid > .footer__col:nth-child(2) { grid-column: auto; }
  .footer__grid > .footer__col:nth-child(2) .footer__richtext ul { column-count: 1; }
}

/* ≤600px */
@media (max-width: 600px) {
  .loupe-hover { width: 25px; padding: 8px; }
}

/* ≤520px */
@media (max-width: 520px) {
  .secteur-grid { grid-template-columns: 1fr; }
  .secteur-card--cta { grid-column: 1; }
}




  /* ===========================
     AJOUT : Styles bouton panier
     =========================== */
  .main-nav {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .nav-actions {
    display: flex;
    align-items: center;
	  position: relative;
    top: -3px;
  }
  .cart-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 9999px;
    background: var(--color-accent);
    color: var(--color-dark);
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
  }
  .cart-button:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.18); }
  .cart-icon { display:block; }

  .cart-count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 9999px;
    background: var(--color-dark);
    color: var(--color-white);
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    font-weight: 700;
  }

  /* Mobile header actions */
  .mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
  }
  .mobile-header .mobile-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
  }
  .mobile-header .close-menu {
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
  }



/*===========CALENDRIER===============*/
/* ===== Calendrier formations (shortcode) ===== */
.lv-cal3{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;margin:3rem auto;}
@media(max-width:900px){ .lv-cal3{grid-template-columns:1fr} }

.lv-cal3__header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}
.lv-cal3__title{font-weight:600}
.lv-cal3__nav{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:.5rem;background:#fff;cursor:pointer}
.lv-cal3__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;background:#fff;margin:.5rem 0}
.lv-cal3__dow{font-size:.85rem;color:#666;text-align:center;padding:.35rem 0}
.lv-cal3__cell{background:#f6f6f7;border:1px solid #eee;border-radius:.5rem;min-height:58px;position:relative;cursor:default}
.lv-cal3__cell--empty{background:transparent;border:none}
.lv-cal3__cell--has{cursor:pointer;border:2px solid var(--color-accent,#b347cc)}
.lv-cal3__cell--active{box-shadow:0 0 0 2px var(--color-accent,#b347cc) inset}
.lv-cal3__date{position:absolute;top:.35rem;left:.5rem;font-weight:600;font-size:.95rem}
.lv-cal3__dot{position:absolute;bottom:.35rem;right:.5rem;background:var(--color-accent,#b347cc);color:#fff;font-size:.8rem;padding:.1rem .4rem;border-radius:.5rem}

.lv-cal3__legend{font-weight:700;margin-bottom:.5rem}
.lv-cal3__reset{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #ddd;background:#fff;border-radius:.5rem;padding:.35rem .6rem;margin-bottom:.75rem;cursor:pointer}
.lv-month{margin:.9rem 0 .4rem;font-weight:700}

/* Carte session */
.lv-row{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;border:1px solid #eee;border-radius:.75rem;padding:.8rem 1rem;margin:.6rem 0;background:#fff}
.lv-row__date{text-align:left}
.lv-row__daynum{font-size:2rem;line-height:1;font-weight:800}
.lv-row__weekday{color:#666;margin-top:.15rem}
.lv-row__title{font-weight:700;color:var(--color-dark);text-transform:uppercase;margin-bottom:.2rem}
.lv-row__place{color:#333;white-space:pre-line}
.lv-row__time{margin-top:.15rem;color:#333}
.lv-row__side{display:flex;align-items:center;gap:.5rem}
.lv-row__price{font-weight:700;margin-right:.25rem}
.lv-row__btn{display:inline-flex;align-items:center;justify-content:center}
.lv-row__badge{background:#0b2233;color:#fff;border-radius:.4rem;padding:.3rem .6rem}
.lv-row__quota{grid-column:1/-1;color:#666;margin-top:.35rem}

/* Panneau dropdown pleine largeur */
.lv-row .lv-collapse{grid-column:1 / -1; width:100%;}
.lv-collapse .lv-booking{width:100%;}
.lv-booking .lv-attendees-wrap{width:100%;}

/* Quantité */
.lv-booking .lv-qty{margin-bottom:.6rem}
.lv-booking .lv-qty input{width:130px}

/* Accordéons participants */
.lv-acc{border:1px solid #eee;border-radius:.65rem;margin:.5rem 0;background:#fff; width:100%;}
.lv-acc__summary{    
	list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .9rem;
    font-weight: 500;
    font-size: 13px;}
.lv-acc__summary::-webkit-details-marker{display:none}
.lv-acc[open] .lv-acc__chev{transform:rotate(180deg)}
.lv-acc__chev{transition:transform .2s ease}
.lv-acc__panel{padding:.2rem .9rem .9rem;border-top:1px dashed #eee}

/* Grille du formulaire */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.grid-2 .full{grid-column:1/-1}
.lv-booking .grid-2 input, .lv-booking .grid-2 select, .lv-booking .grid-2 textarea {
    width: -webkit-fill-available;
    padding: 5px;
}
.req{color:#d00}

@media (max-width:760px){
  .lv-row{grid-template-columns:64px 1fr}
  .lv-row__side{grid-column:1/-1;justify-content:flex-start}
  .lv-row__quota{grid-column:1/-1}
  .grid-2{grid-template-columns:1fr}
}




/*-------PANIER--------*/
.woocommerce-cart .woocommerce a {
    font-size: 14px;
    font-weight: 900;
}
dl.variation {
    font-size: 12px;
    line-height: 18px;
}
.variation dt {
    font-weight: bold;
    display: block;
    width: 100%;
}

/*-------PRODUIT-------*/
.product .fm-media picture img {
    object-fit: cover;
}
.product img.fm-photo {
    border-radius: 24px;
    border-top-left-radius: 90px;
    border-bottom-left-radius: 90px;
}
.product .row.formateur-row {
    grid-template-columns: 1fr 1fr;
    align-items: flex-start;
    gap: 60px;
}
.lv-actions button {
    border-radius: 50px !important;
    font-weight: 500 !important;
    background-color: var(--color-accent) !important;
    color: var(--color-dark) !important;
}

.lv-qty label {
    font-size: 14px;
    margin-right: 20px;
    font-weight: bold;
}

.lv-acc__panel label {
    font-size: 11px;
    text-transform: uppercase;
}

.lv-over3-note {
    padding: 10px;
    font-size: 14px;
    font-style: italic;
    margin-bottom: 20px;
}

.lv-acc__panel p {
    margin: 0;
}
button.button.alt.lv-incomplete {
    cursor: initial;
    background-color: var(--color-accent-light) !important;
    text-decoration: line-through;
}



/*=============================*/
         /*RESPONSIVE*/
/*=============================*/
@media (max-width: 1100px){
footer .footer__socials {justify-content: start;}
	.bloc-formateur::before {
    inset: 10% 0 0 0% !important;
    border-top-left-radius: 24px !important;
}
	.product .row.formateur-row {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 0px;
}
		.site-header .row {width: 95%;}
	nav.main-nav {
    justify-content: end;
    padding: 0;
}
}
@media (max-width: 992px){
.about-img {height: 100%;aspect-ratio: 6 / 4;}
	.about-grid picture {height: auto;}
	
.about-grid {
    display: flex;
    gap: 0;
    flex-direction: column;
}
	.about-col.about-col--left {
    display: flex;
    flex-direction: column;
}
	.about-col.about-col--left picture {
    order: -1;
}
}	
@media (max-width: 980px){
	.pageContact article {
		display: flex;
		flex-direction: column-reverse;
		max-width: 1400px;
		margin: 0 auto;
	}
	.pageContact .footer__socials {text-align: center;margin-bottom: 50px;border-top: 1px solid;}
	.site-header .logo img {height: auto;max-width: 150px;}

}	
@media (max-width: 760px){
.lv-row__side {
    flex-direction: row;
    justify-content: end !important;
}
	}

@media (max-width: 570px){
	.card-body .price-cta {flex-direction: column-reverse;	}
	.kv{display: grid;grid-template-columns: 1fr 1fr; gap: 10px 18px;}
    .kv > div:nth-child(1),.kv > div:nth-child(2){grid-column: auto;}
	.kv > div:nth-child(3),.kv > div:nth-child(4){  grid-column: 1 / -1;}
	.wrapInfo { display: grid; grid-template-columns: 1fr;}

}	