/*
Theme Name: Pura Vida CLub - 1.0
Description: Theme enfant pour Pura Vida Club, par ROUSSEL.STUDIO
Author: ROUSSEL.STUDIO
Author URI: https://roussel.studio/
Template: Divi
Version: 1.1
*/

/*

                                                                                                                
,------. ,--. ,--.,------.   ,---.      ,--.   ,--.,--.,------.    ,---.       ,-----.,--.   ,--. ,--.,-----.   
|  .--. '|  | |  ||  .--. ' /  O  \      \  `.'  / |  ||  .-.  \  /  O  \     '  .--./|  |   |  | |  ||  |) /_  
|  '--' ||  | |  ||  '--'.'|  .-.  |      \     /  |  ||  |  \  :|  .-.  |    |  |    |  |   |  | |  ||  .-.  \ 
|  | --' '  '-'  '|  |\  \ |  | |  |       \   /   |  ||  '--'  /|  | |  |    '  '--'\|  '--.'  '-'  '|  '--' / 
`--'      `-----' `--' '--'`--' `--'        `-'    `--'`-------' `--' `--'     `-----'`-----' `-----' `------'  
                                                                                                                


*/


.mobile-menu-socials {
    margin-top: auto;
    display: flex
;
    gap: 24px;
    align-items: center;
    justify-content: flex-start;
    padding-top: 32px;
    padding-bottom: 88px;
    border-top: 1px solid rgba(255, 243, 236, 0.15);
}
.mobile-menu-socials .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,243,236,0.1);
  transition: all 0.25s ease;
}

.mobile-menu-socials .social-link:hover {
  background: rgba(255,243,236,0.25);
}

.mobile-menu-socials img {
  width: 18px;
  height: 18px;
  display: block;

}

ul#mobile-cours-submenu {
    margin-bottom: 24px;
    margin-top: 8px;
}



/* COACHING et BIEN ETRE */ 

.before-text-coach {
    color: #917d71;
}

.postid-2215 .planning-section {
    display: none;
}
.postid-2223 .planning-section {
    display: none;
}
.et_pb_post_content a {
    font-weight: bold;
    color: #F07D1A;
    text-decoration: underline;
}








/* COURS */




.wp-block-button__link.wp-element-button {
    background: #E67E22 !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
}





/* FOOTER */

.footer_menu .et_pb_column_0_tb_footer {
    display: flex;
    gap: 24px;
    align-content: center;
    flex-wrap: wrap;
    align-items: flex-start !important;
}

.site-menu {
    color: #FFF3EC;


}

.site-menu,
.site-menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}


.site-menu ul {
    padding: 0px;
}



/* PLANNING + LES COURS */

/* Mobile ≤ 980px : 1.5 slides visibles */
@media (max-width: 980px) {
  .pvc-coachs__track{
    --gap: 24px;           /* réutilisable si tu changes le gap plus tard */
    gap: var(--gap);
  }
  .pvc-coachs__card{
    /* largeur carte = (viewport - 1 gap) / 1.5  => montre 1 carte + la moitié de la suivante */
    flex: 0 0 calc((100% - var(--gap)) / 1.5) !important;
  }
}




/* Style custom cross-browser */
.pvc-planning__tabs {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;                       /* Firefox */
  scrollbar-color: rgb(54 62 51) transparent;
}
.pvc-planning__tabs::-webkit-scrollbar { height: 6px; }
.pvc-planning__tabs::-webkit-scrollbar-track { background: transparent; }
.pvc-planning__tabs::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.25);
  border-radius: 999px;
}

/* idem pour la liste si besoin */
.pvc-planning__list {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgb(54 62 51) transparent;
}
.pvc-planning__list::-webkit-scrollbar { width: 6px; }
.pvc-planning__list::-webkit-scrollbar-track { background: transparent; }
.pvc-planning__list::-webkit-scrollbar-thumb {
  background: rgb(54 62 51);
  border-radius: 999px;
}



.col-left-coachs {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
}

/* ====== Base slider ====== */
.pvc-coachs{position:relative}
.pvc-coachs__viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;

  /* Cacher la scrollbar */
  -ms-overflow-style:none;  /* IE / Edge */
  scrollbar-width:none;     /* Firefox */
}
.pvc-coachs__viewport::-webkit-scrollbar{display:none}
.pvc-coachs__track{display:flex; gap:24px; padding:4px 2px;}

/* Card */
.pvc-coachs__card{
  position:relative;
  flex:0 0 calc((100% / 2.5)); /* 2.5 cartes visibles */
  height:440px;
  border-radius:8px; /* demandé */
  overflow:hidden;
  background-image:var(--bg);
  background-size:cover;
  background-position:center center;
  transition:transform .25s ease;
  will-change:transform;
}

/* Overlay noir pour lisibilité */
.pvc-coachs__overlay{
  position:absolute; inset:0;
  background:rgba(0,0,0,.45);
  pointer-events:none;
}

/* Nom en bas à gauche */
.pvc-coachs__name{
  position:absolute; left:20px; bottom:20px;
  font-family:'Puravida-Regular', Helvetica, Arial, Lucida, sans-serif !important;
  color:#FEFFFE !important;
  font-size:clamp(24px,2.2vw,28px);
  line-height:1.05;
  letter-spacing:.3px;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

/* Hover simplifié : juste un petit lift */
.pvc-coachs__card:hover{
  transform:translateY(-3px);
}

/* Arrows */
.pvc-coachs__nav{display:flex; gap:12px; align-items:center}
.pvc-coachs__arrow{
  appearance:none; border:0; cursor:pointer;
  width:48px; height:48px; border-radius:999px;
  display:grid; place-items:center;
  background:#F07D1A;
  color:#FEFFFE;
  transition:transform .22s ease, opacity .2s ease;
}
.pvc-coachs__arrow:hover{ transform:translateY(-2px) scale(1.03); }
.pvc-coachs__arrow:active{ transform:translateY(0) scale(.98); }
.pvc-coachs__arrow.is-disabled{ opacity:.4; pointer-events:none; }

/* Scroll snap optionnel */
.pvc-coachs__viewport{scroll-snap-type:x mandatory}
.pvc-coachs__card{scroll-snap-align:start}

/* Focus accessible */
.pvc-coachs__arrow:focus-visible{
  outline:2px solid #F07D1A;
  outline-offset:2px;
  background:#F38C3A;
}


/**
 * ================================
 *  MODULE PLANNING – CSS (v5)
 *  - Desktop : 3 colonnes (Horaires / Image / Meta)
 *  - Mobile : Image > (Horaires + Cat côte à côte) > Titre
 *  - Heures : format 08h00 (géré en PHP)
 *  - Onglet actif : fond #FFF3EC, texte #363E33
 *  - Images : width 100%, max-height 160px, radius 16px
 *  - Anim : fade + translateY
 * ================================
 */

/* ---- Tabs + flèches ---- */


.img-cours img {
	object-fit:cover;
}

.pvc-planning__tabswrap {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: .5rem;
  margin: 16px 0 24px;
  position: relative;
}
.pvc-planning__arrow {
  background: transparent;
  border: 1px solid #687763;
  width: 40px; height: 40px;
  border-radius: 50%;
  color: #FFF3EC;
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .3s ease;
}
.pvc-planning__arrow:hover { background: #FFF3EC; color: #363E33; }

/* Important: z-index pour éviter que le fade-right bloque les clics desktop */
.pvc-planning__tabs { 
  position: relative; 
  z-index: 2; 
  display: flex; gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  padding: 8px;
}
.pvc-planning__tab {
  flex: 0 0 auto;
  scroll-snap-align: start;
  border: 1px solid #687763;
  padding: 10px 16px;
  background: transparent;
  color: rgba(255,243,236,.9);
  font-size: 18px;
  border-radius: 4px;
  cursor: pointer;
  transition: all .25s ease;
}
.pvc-planning__tab:hover { background: rgba(255,243,236,.1); }
.pvc-planning__tab.is-active { background: #FFF3EC; color: #363E33; }

.pvc-planning__fade-right {
  position: absolute; right: 40px; top: 0; bottom: 0;
  width: 64px;
  background: linear-gradient(90deg, rgba(54,62,51,0) 0%, #363E33 100%);
  pointer-events: none;
  z-index: 1;
}

/* ---- Panels ---- */
.pvc-planning__panel {
  display:none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .35s ease, transform .35s ease;
}
.pvc-planning__panel.is-active {
  display:block;
  opacity: 1;
  transform: translateY(0);
}

/* ---- Rows ---- */
.pvc-row {
  display: grid;
  grid-template-columns: 220px 365px 1fr;
  align-items: center;
  gap: 32px;
  padding: 32px 24px;
  transition: all .25s ease;
  cursor: pointer;
  opacity: 0;
  transform: translateY(20px);
}
.pvc-row.is-visible { opacity: 1; transform: translateY(0); }
.pvc-row:hover { background: rgba(255,243,236,.05); transform: translateY(-2px); }

.pvc-sep {
  border: 0;
  height: 1px;
  width: 100%;
  background: #687763;
}

/* ---- Image ---- */
.pvc-col--image img {
  width: 100%;
  max-height: 160px;
  border-radius: 16px;
  object-fit: cover;
  display: block;
}

/* ---- Labels / heures ---- */
.pvc-label {
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,243,236,.6);
  margin-bottom: 6px;
}
.pvc-time span {
  display: block;
  font-size: 32px;
  line-height: 1.1;
  color: #FFF3EC;
}

/* ---- Meta ---- */
.pvc-cat {
  display:block;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,243,236,.6);
  margin-bottom: 6px;
}
.pvc-course {
  display:block;
  font-size: 32px;
  line-height: 1.1;
  color: #FFF3EC;
}


/* ---- Mobile layout ---- */
@media (max-width: 980px) {
  .pvc-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  /* Image en premier, puis barre info, puis titre (meta) */
  .pvc-col--image { order: 1; }
  .pvc-info-mobile { 
    order: 2; 
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: #FFF3EC;
  }
  .pvc-info-mobile__time { opacity: .9; }
  .pvc-info-mobile__cat { 
    text-transform: uppercase; 
    letter-spacing: .06em; 
    opacity: .6; 
    white-space: nowrap;
  }
  .pvc-col--meta { order: 3; }
  /* On masque la colonne horaires desktop + le label catégorie pour éviter doublon */
  .pvc-col--time { display: none; }
  .pvc-label--cat { display: none; }
}

/* Scroll liste (mobile) */
@media (max-width: 980px) {
  .pvc-planning__list {
    max-height: 70vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 981px) {
 
	.pvc-info-mobile {
		display:none !important;
	}
}




/* PAGE TOUTES LES NEWS */ 



section.pvc-latest-news {
    display: grid
;
    grid-gap: 24px;
}

/* ===== Archive grid des actualités ===== */

.pvc-news-archive{
  display:grid !important;
  gap:16px;
  grid-template-columns:1fr; /* Mobile : 1 */
grid-gap: 24px;
}

@media (min-width:600px) and (max-width:980px){
  .pvc-news-archive{
    grid-template-columns:repeat(2,1fr); /* Tablette : 2 */
  }
}
@media (min-width:981px){
  .pvc-news-archive{
    grid-template-columns:repeat(3,1fr); /* Desktop : 3 */
  }
}

/* Bouton Voir plus pour la grid */
.pvc-loadmore-wrap{ 
  display:flex; 
  justify-content:center; 
  margin-top:24px; 
}
.pvc-loadmore{
  appearance:none;
  border:0;
  cursor:pointer;
  padding:12px 20px;
  border-radius:999px;
  background:#F07D1A;
  color:#FFF3EC;
  font-weight:600;
  transition: transform .2s ease, opacity .2s ease;
}
.pvc-loadmore:hover{ transform: translateY(-1px); opacity:.95; }
.pvc-loadmore:active{ transform: translateY(0); }







/* ===== Featured news bloc ===== */
.pvc-featured-news{
  display:flex;
  flex-wrap:wrap;
  text-decoration:none !important;
  color:inherit;
  overflow:hidden;
  margin:0;
  border-radius:0;
  -webkit-tap-highlight-color:transparent;

}

/* Left side (orange) */
.pvc-featured-news__left{
  background:#F07D1A;
  color:#FFF3EC;
  padding:64px 64px; /* réduit (était 88px) */
  flex:1 1 50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.pvc-featured-news__meta{
  font-size:14px;
  margin-bottom:16px; /* spacing entre "nouveau" et titre */
}
.pvc-featured-news__meta .new{ color:#FFF3EC; font-weight:700; } /* bold demandé */
.pvc-featured-news__meta .sep{ margin:0 8px; color:#FFE0C5; }
.pvc-featured-news__meta .read{ color:#FFE0C5; }

.pvc-featured-news__title{
  font-size:32px;
  line-height:1 !important;
  color:#FFF3EC;
  margin:0 0 32px; /* spacing titre → date */
  font-family: 'Afacad Regular', Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 800; /* compatible si la fonte ExtraBold n’est pas chargée */
}

.pvc-featured-news__footer{
  display:flex;
  align-items:center;
  justify-content:space-between; /* date à gauche / flèche à droite */
  font-size:14px;
  color:#FFE0C5;
}

/* Flèche (anim au hover) */
.pvc-featured-news__arrow{
  width:22px; height:22px;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  flex-shrink:0;
  transform: translateX(0) scale(1);
  transition: transform .35s cubic-bezier(.22,.61,.36,1), opacity .35s ease;
  opacity:.95;
}
.pvc-featured-news:hover .pvc-featured-news__arrow,
.pvc-featured-news:focus-visible .pvc-featured-news__arrow{
  transform: translateX(6px) scale(1.08);
  opacity:1;
}


/* on peut garder un léger zoom image au hover si tu veux, sinon commente la ligne suivante */
.pvc-featured-news:hover .pvc-featured-news__right img{
  transform: scale(1.03);
}

/* Mobile: stack et photo pleine largeur sans padding */
@media (max-width: 980px){
  .pvc-featured-news{
    flex-direction:column;
  }
  .pvc-featured-news__left{
    padding:40px 24px; /* plus compact en mobile */
  }
  .pvc-featured-news__right{
    padding:0; /* aucune marge sur la photo */
  }
  .pvc-featured-news__title{
    font-size:26px;
  }
}


/* NEWS */




/* ===== Latest news cards – layout ===== */


/* ≥ 981px : grille de 3 */
@media (min-width: 981px){
  .pvc-latest-news{
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===== Card ===== */
.pvc-news-card{
  position: relative;
  display:block;
  height: 250px;             /* max height demandée */
  max-height: 250px;
  overflow:hidden;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  text-decoration:none !important;
  -webkit-tap-highlight-color: transparent;
  isolation:isolate;
}

/* Fond image pour animer le scale proprement */
.pvc-news-card__bg{ position:absolute; inset:0; }
.pvc-news-card__bg img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center center;
  transform: scale(1);
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

/* Filtre noir (overlay) */
.pvc-news-card__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.35);         /* normal */
  transition: background .45s ease;
  z-index:1;
}

/* Contenu */
.pvc-news-card__inner{
  position:relative;
  z-index:2;
  height:100%;
  padding: 24px;                        /* demandé */
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Titre */
.pvc-news-card__title{
  margin:0!important;
  font-family: 'Afacad Regular', Helvetica, Arial, Lucida, sans-serif !important;
  font-weight: 600 !important;
  font-size: 24px !important;                      /* demandé */
  line-height: 1.15 !important;
  color: #FFF3EC !important;

}

/* Meta/date + flèche */
.pvc-news-card__meta{
  display:inline-flex;
justify-content: space-between;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:#FFF3EC;
  opacity:.95;
}

/* Flèche */
.pvc-news-card__arrow{
  width:22px; height:22px;
  flex:0 0 22px;
  display:inline-block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transform: translateX(0);
  transition: transform .45s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
  opacity:.95;
}

/* Hover / Focus smooth & classe */
.pvc-news-card:hover .pvc-news-card__bg img,
.pvc-news-card:focus-visible .pvc-news-card__bg img{
  transform: scale(1.06);
}

.pvc-news-card:hover .pvc-news-card__overlay,
.pvc-news-card:focus-visible .pvc-news-card__overlay{
  background: rgba(0,0,0,.15);          /* overlay plus léger au hover */
}

.pvc-news-card:hover .pvc-news-card__arrow,
.pvc-news-card:focus-visible .pvc-news-card__arrow{
  transform: translateX(4px);
  opacity: 1;
}

/* Accessibilité focus */
.pvc-news-card:focus{ outline:none; }
.pvc-news-card:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,243,236,.7), 0 2px 12px rgba(0,0,0,.2);
}

/* Stabilise le rendu */
.pvc-news-card__title, .pvc-news-card__meta{ will-change: transform, opacity; }




























.et_social_count {
    display: none !important;
}

.et_social_networkname {
    display: none !important;
}

span.et_social_overlay {
    display: none !important;
}

a.et_social_share.et_social_display_count {
    height: 40px;
    width: 40px !important;
}

ul.et_social_icons_container {
    display: flex !important;
    gap: 8px !important;
}

li.et_social_facebook {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
}

li.et_social_linkedin {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
}

li.et_social_gmail {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
}

.et_monarch .et_social_icon_linkedin:before, .et_monarch .et_social_icon_linkedin:after {
    content: "\e631";
    color: #F07D1A;
    font-size:24px;
}

.et_monarch .et_social_icon_facebook:before, .et_monarch .et_social_icon_facebook:after {
    content: "\e63f";
    color: #F07D1A;
    font-size:24px;
}

.et_monarch .et_social_icon_gmail:before, .et_monarch .et_social_icon_gmail:after {
    content: "\e625";
    color: #F07D1A;
    font-size:24px;
}

.wp-block-image img {
    border-radius:16px;
}

.titre-right-articles {
    padding-top: 8px;
    font-size: 20px;
    color: #363E33;
    font-weight: 600;
}

.lwptoc_i {
    background: transparent !important;
    padding: 0px !important;
}

.lwptoc_i a {
    color: inherit !important;
}

.lwptoc_header {
    display: none;
}

/* Overlay noir sur un module */
.module-overlay {
  position: relative;
  z-index: 1; /* garder le contenu au-dessus */
}

.module-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3); /* opacité réglable */
  z-index: 1; /* passe derrière le contenu */
}


.time-read {
    color: #FFF3EC;
    font-weight: 400;
}

.infos-news .et_pb_text_inner {
    display: flex;
    color: #FFF3EC;

    justify-content: center;
    gap: 8px;
    font-weight: 900;
}

.points-bullet {
    color:#908269;
}


/* GENERAL */


/* -------------------------------------------
   HEADINGS – homogènes + letter-spacing
   ------------------------------------------- */

h1, h2, h3, h4 {
  font-family: 'PuraVidaFont2', Helvetica, Arial, Lucida, sans-serif !important;
  margin: 0 !important;
  text-wrap: balance !important;
  hyphens: auto !important;

  /* Anim par défaut (si .in-view est ajoutée en JS) */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease-out, transform .6s ease-out;
}
h1.in-view, h2.in-view, h3.in-view, h4.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* H1 */
h1 {
  font-size: clamp(32px, 6vw + 0.25rem, 88px) !important;
  line-height: 0.70 !important;
  letter-spacing: -3px !important;
}

/* H2 */
h2 {
  font-size: clamp(28px, 4.5vw + 0.25rem, 62px) !important;
  line-height: 0.72 !important;
  letter-spacing: -2px !important;
}

/* H3 */
h3 {
  font-size: clamp(22px, 3.2vw + 0.25rem, 40px) !important;
  line-height: 0.78 !important;
  letter-spacing: -1px !important;
}

/* H4 */
h4 {
  font-size: clamp(18px, 2.4vw + 0.25rem, 28px) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.5px !important;
}

/* Mobile : aération verticale */
@media (max-width: 480px){
  h1, h2 { line-height: 1.05 !important; }
  h3, h4 { line-height: 1.1 !important; }
}












@media (max-width: 980px) {

	.content_article {
    display: flex;
    flex-direction: column;
}

	.et_pb_column.et_pb_column_1_3.et_pb_column_2_tb_body.et_pb_sticky_module.et_pb_css_mix_blend_mode_passthrough.et-last-child {
		order: 1 !important;
	}

	.et_pb_column.et_pb_column_2_3.et_pb_column_1_tb_body.blog_post_container.et_pb_css_mix_blend_mode_passthrough {
		order: 2;
	}
	
	.form_wrapper {
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    padding: 0px  !important;
	}
	

	.col_1_block_1 {
		order:2;
	}
	.col_2_block_1 {
		order:1;
	}
}









/* 1. éléments masqués au départ */
.fade-after-load {
  opacity: 0;
  /* si tu veux un fallback CSS sans GSAP :
     transition: opacity 0.8s ease-out;
  */
}

.head-cta {
  position: fixed !important;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  display: block;
}

@media (max-width: 780px) {
  .head-cta {
    display: none !important;
  }
}

/* classe activée après le chargement */
.fade-after-load.loaded {
  opacity: 1;
}
.title_form {
    margin-bottom: 16px;
}

a {
	color:inherit;
	text-decoration:none;
}




















/* CONTACT */ 

@media (max-width:980px){
  
.img-head-contact .et_pb_image_0_tb_body .et_pb_image_wrap img {
        height: 100%;
        max-height: 400px;
        min-height: 400px !important;
        position: relative;
    }
}


.img-head-contact img {
	object-fit:cover !important;
	position: absolute;
}

.charleft.ginput_counter.gfield_description.warningTextareaInfo {
    display: none;
}

/* For a full width row */ .custom-fullwidth-row { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; } /* For the left column with standard padding */ .custom-fullwidth-row .left-col_custom { padding-left: calc((100vw - min(80vw, 1080px)) / 2) !important; } /* For the right column flush with the edge */ .custom-fullwidth-row .right-col_custom { padding-right: 0 !important; } /* For screens smaller than 1440px */ @media (max-width: 1080px) { .custom-fullwidth-row .left-col_custom { padding-left: 10vw !important; padding-right: 10vw !important; } } /* For a module in the left column that must respect Divi padding */ .custom-fullwidth-row .left-col_custom .module-padding-left { padding-left: calc((100vw - min(80vw, 1080px)) / 2) !important; } /* For a module in the right column that must respect Divi padding */ .custom-fullwidth-row .right-col_custom .module-padding-right { padding-right: calc((100vw - min(80vw, 1080px)) / 2) !important; }

@media (max-width: 980px) {
  
  #pvc-mobile {
    padding-right: 5vw !important;
  }
	.img-logo-footer {
    width: 100% !important;
    max-width: 100% !important;
}

.img-logo-footer img {
    max-width: 80px;
	}
}

@media (max-width: 980px) {
    .custom-fullwidth-row .right-col_custom  {
        padding-left: 10vw !important;
        padding-right: 10vw !important;
    }
	
	.custom-fullwidth-row .right-col_custom .module-padding-right {
    padding-right: 0px !important;
	}
}




#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul {
    list-style-type: disc;
    padding: 0 0 0px 0em;
    line-height: 26px;
}



/* ACCEES */
.row-acces {
    display: flex;
    height: 100%;
    gap: 16px;
    align-items: center;
}

.row-acces img {
    width: 32px;
    height: 32px;
    display: flex;
    min-width: 32px;
    min-height: 32px;
    justify-content: center;
}

.col_icon-acces {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF3EC;
    padding: 16px;
    border-radius: 8px;
}


.section-acces.et_section_regular {
    height: 100%;
}

/* =========================
   MODULE HORAIRES — PVC
   ========================= */

/* Palette claire locale au module */
.pvc-hours{
  --pvc-legend:  rgba(255,255,255,.72);
  --pvc-divider: rgba(255,255,255,.40);
  --pvc-time:    rgba(255,255,255,.90);
}

/* --- Onglets --- */
.pvc-hours__tabs{
  display:flex; gap:.5rem; flex-wrap:wrap;
  justify-content:center; /* jours centrés */
}
.pvc-hours__tab{
  position:relative;
  border:0; background:transparent; cursor:pointer;
  font-weight:600; padding:.6rem 1rem; border-radius:.6rem;
  transition: transform .18s ease, background-color .18s ease;
  text-align:center;
  color:#fff !important;                 /* JOURS EN BLANC */
}
.pvc-hours__tab:hover{ transform: translateY(-2px); }
/* Trait par défaut : rétracté */
.pvc-hours__tab::after{
  content:"";
  position:absolute; bottom:.2rem; height:2px; background: currentColor;
  left:50%; right:50%;
  transition: left .22s ease, right .22s ease;
}
/* Hover : petit étirement */
.pvc-hours__tab:hover::after{ left:10%; right:10%; }
/* Actif : trait complet + léger fond clair */
.pvc-hours__tab.is-active::after{ left:0; right:0; }
.pvc-hours__tab.is-active{ background: rgba(255,255,255,.10); }
/* Jour actuel = gras */
.pvc-hours__tab.is-today{ font-weight:800; }

/* --- Panneaux --- */
.pvc-hours__panels{ margin-top:1rem; position:relative; }
.pvc-hours__panel{ display:none; }
.pvc-hours__panel.is-active{ display:block; }

/* --- Animation d’entrée (fade + slide + micro-scale) --- */
.pvc-hours__grid,
.pvc-hours__note{
  opacity:0;
  transform: translateY(8px) scale(.98);
  transition: opacity .25s ease, transform .25s ease;
}
.pvc-hours__panel.is-active .pvc-hours__grid,
.pvc-hours__panel.is-active .pvc-hours__note{
  opacity:1; transform:none;
}

/* --- Grille / layout --- */
.pvc-hours__grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 32px minmax(0,1fr); /* gauche | divider | droite */
  gap:0rem 1.25rem;
  align-items:center;
  justify-items:stretch;
}

/* === Colonnes dédiées (NOUVELLES CLASSES) === */
.pvc-col-left{
  grid-column:1;
  justify-self:end;          /* colle au séparateur */
  text-align:right;
}
.pvc-col-right{
  grid-column:3;
  justify-self:start;        /* colle au séparateur */
  text-align:left;
}

/* Légendes (couleur claire) */
.pvc-hours__legend{
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--pvc-legend) !important;
}

/* Séparateur vertical (clair) */
.pvc-hours__divider{
  grid-column:2;
  width:2px; height:100%;
  justify-self:center;
  background: var(--pvc-divider) !important;
}

/* Heures (grosses) + couleurs */
.pvc-hours__time{
  font-size: clamp(28px, 4.5vw, 72px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:.02em;
  color: var(--pvc-time) !important;
}

/* Nettoyage des anciennes règles conflictuelles */
.pvc-hours .align-right{ text-align:inherit !important; } /* on ne s’en sert plus */

/* Fermé */
.pvc-hours__status.is-closed{
  font-weight:800; opacity:1;
	font-size:40px;
  color: var(--pvc-time) !important;
  text-align:center;
}

/* Note (plus claire) */
.pvc-hours__note{
  margin-top:.6rem; font-size:.95rem;
  color: var(--pvc-legend) !important;
  text-align:center;
}

/* --- Mobile : select en remplacement des onglets --- */
.pvc-hours__select-wrap{ display:none; margin-top:.5rem; }
.pvc-hours__select{
  width:100%;
  padding:.6rem .9rem;
  border-radius:.6rem;
  font-weight:600;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:#fff; /* lisible sur fond coloré */
}

/* Basculer onglets -> select sous 980px */
@media (max-width:980px){
  .pvc-hours__tabs{ display:none; }
  .pvc-hours__select-wrap{ display:block; }
}

/* Accessibilité : préfère moins d’animations */
@media (prefers-reduced-motion: reduce){
  .pvc-hours__grid, .pvc-hours__note{ transition:none; }
}
















































/* FAQ */


/* Titre au survol */
.accordion-header:hover .title-faq {
  color: #F07D1A !important;
  transition: color 0.3s ease;
}

/* Icône au survol */
.accordion-header:hover .icon {
  color: #F07D1A !important;
  transition: color 0.3s ease, transform 0.3s ease;
}

/* Déjà ouvert : titre et icône restent orange */
.accordion-item.active .accordion-header .title-faq,
.accordion-item.active .accordion-header .icon {
  color: #F07D1A !important;
}

.accordion-item.active .accordion-header .title-faq {
  color: #F07D1A !important;
}
/* Séparateur entre les FAQ */
.accordion-item {
  border-bottom: 1px solid rgba(205, 214, 218, 0.25);
}

/* Supprimer la bordure sous le dernier */
.accordion-item:last-child {
  border-bottom: none;
}

  .accordion {
      max-width: 800px;
      margin: 0 auto;
    }
    .accordion-item {
      background: #fff3ec;
      border-radius: 8px;
      margin-bottom: 1rem;
      overflow: hidden;
      transition: background 0.4s ease;
		
    }
    .accordion-item.active {
      background: #fefffe;
		padding-bottom: 32px;
	
    }
    .accordion-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 1.5rem;
      cursor: pointer;
    }
.accordion-header .title-faq {
    font-family: 'Afacad Regular', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    gap: 8px;
    padding: 0px !important;
    color: #363e33 !important;
}
    .accordion-header .icon {
      font-size: 1.5rem;
      color: #bc5717;
      transition: transform 0.4s ease;
    }
    .accordion-item.active .accordion-header .icon {
      transform: rotate(45deg);
    }
    .accordion-content {
      max-height: 0;
      opacity: 0;
      transform: translateY(-10px);
      overflow: hidden;
      transition:
        max-height 0.5s ease,
        opacity 0.5s ease 0.1s,
        transform 0.5s ease 0.1s;
      padding: 0 1.5rem;
    }
    .accordion-item.active .accordion-content {
      max-height: 500px;
      opacity: 1;
      transform: translateY(0);
    }
    .accordion-content p {
      padding: 1rem 0;
      line-height: 1.6;
		color:#363e33 !important;
          font-family: 'Afacad Regular', Helvetica, Arial, Lucida, sans-serif !important;
      font-size: 17px;
    }
    @media (max-width: 600px) {
      .accordion-header h3 {
        font-size: 18px !important;
        line-height: 20px;
      }
      .accordion-header .icon {
        font-size: 1.3rem;
      }
      .accordion-content p {
        font-size: 15px;
      }
    }


/* PARALLAX */


/* FORM */
@media (max-width: 639px) {
    .gform-theme--foundation .gform_fields {
        -moz-column-gap: var(--gf-form-gap-x);
        column-gap: 16px !important;
        row-gap: 8px !important;
    }
	h2.gform_submission_error.hide_summary {
    font-size: 16px !important;
	}
}


span.gfield_required {
    display: none;
}

div#validation_message_4_1 {
    background: white;
    padding: 4px;
}

div#validation_message_4_3 {
    background: white;
    padding: 4px;
}

div#validation_message_4_4  {
    background: white;
    padding: 4px;
}
div#validation_message_4_12
{
    background: white;
    padding: 4px;
}

.title_form-contact {
    font-size: 20px;
    line-height: 24px;
    color: #363E33;
    margin-bottom: 24px;
}
div#gform_confirmation_message_4 {
    color: white !important;
    font-size: 24px !important;
}

body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus,
body .gform_wrapper input[type="checkbox"]:focus,
body .gform_wrapper input[type="radio"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

div#gform_4_validation_container {
    background: white;
}


body .gform_wrapper .gform_button {
  cursor: pointer !important;
  font-size: 17px !important;
  font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif !important;
  min-height: 56px !important;
  display: flex !important;
  padding: 16px 24px !important;
  border: 1px solid #ffffff36 !important;
  border-radius: 8px !important;
  background-color: #BC5717 !important;
  color: #FFF3EC !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 99999 !important;
  transition: transform 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Halo de soleil */
body .gform_wrapper .gform_button::before {
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  left: -50% !important;
  width: 200% !important;
  height: 200% !important;
  background: radial-gradient(circle at center, rgba(255,255,255,0.1), transparent 20%) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease-out !important;
}

body .gform_wrapper .gform_button:hover {
  transform: translateY(-3px) !important;
  background-color: #D07F32 !important;
}

body .gform_wrapper .gform_button:hover::before {
  opacity: 1 !important;
}


label.gform-field-label.gform-field-label--type-sub {
    font-size: 17px !important;
    color: #363E33 !important;
    margin-bottom: 8px !important;
    font-weight: 400;
}

label.gfield_label.gform-field-label {
    font-size: 17px !important;
    color: #363E33 !important;
    margin-bottom: 8px !important;
    font-weight: 400;
}

.gchoice {
    color: #fff3ec !important;
}

.gform-field-label--type-inline {
    color: #fff3ec !important;
}

textarea#input_4_16 {
    background-color: #FFF3EC !important;
    border-radius: 8px !important;
    min-height: 32px !important;
    border: 1px solid #ADB8A9 !important;
}

select#input_4_14 {
    background-color: #FFF3EC !important;
    border-radius: 8px !important;
    min-height: 32px !important;
    font-size: 17px;
    border: 1px solid #ADB8A9 !important;
}

label#label_4_7_1 {
    color: #363E33 !important;
}

label#label_4_7_2 {color: #363E33 !important;}

.gform-theme--framework .gfield--type-choice .gchoice {
    display: flex;
    align-items: center;
}

@media (min-width: 640px) {
    .gform-theme--foundation .gform_fields {
        -moz-column-gap: var(--gf-form-gap-x);
        column-gap: 16px !important;
        row-gap: 16px !important;
    }
}

.gfield-choice-input {
    min-width:20px !important;
    min-height:20px !important;
    width:20px !important;
    height:20px !important;
    border-radius:999px !important;
    border-color: #84907f !important;
    background-color: #fff3ec !important;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
 
    color: #535f4f !important;
}



.iti__flag.iti__fr {
    margin-left: 4px;
    height: 14px !important;
    background-position: -1731px 0 !important;
}














p.sib-SMS-area {
    padding: 0;
}

.rgpd_text {
    font-size: 12px;
    line-height: 14px;
	margin-top:8px;
    color: #b0b0b0;
}

.rgpd_text a {
	font-weight:bold;
	text-decoration:underline;
}
@media (max-width: 785px) {
  .forminator-row {
    width: 100%;
    display: flex;
    gap: 16px !important;
    flex-wrap: nowrap;
    flex-direction: column;
    margin-bottom: 16px !important;
  }
	div#checkbox-1 {
    margin-top: 24px;
}
	.forminator-ui.forminator-custom-form[data-grid=open] .forminator-col:not(:last-child) {
    margin-bottom: 0px !important;
}
	
	form#forminator-module-86 {
    display: flex;
    gap: 16px;
    flex-direction: column;
}
	
}


.forminator-ui.forminator-custom-form[data-design=default] {
    margin: 0px !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button:active, .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:focus, .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:hover {
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0) !important;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0) !important;
}

.forminator-row.forminator-row-last {
    width: 100%;
}

.forminator-row-last .forminator-col {
    width: 100%;
    margin-top: 16px;
}

button.forminator-button.forminator-button-submit.button--pura-vida.full-width {
    width: 100%!important;
}

button.forminator-button.forminator-button-submit.button--pura-vida.full-width {
    min-height: 32px !important;
    font-size: 17px !important;
    display: flex!important
;
    align-items: center !important;
    font-size: 17px !important;
    /* font-weight: 600 !important; */
    font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif !important;
    min-height: 56px !important;
    display: flex!important
;
    padding: 16px 24px !important;
    border: 1px solid #ffffff36 !important;
    border-radius: 8px!important;
    background-color: #F07D1A !important;
    color: #FFF3EC !important;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    align-content: center !important;
}

.forminator-row {
    width: 100%;
    display: flex;
    gap: 16px !important;
    flex-wrap: nowrap;
    flex-direction: row;
}

.forminator-field {
    width: 100% !important;
}

.forminator-field-name {
    width: 100% !important;
}

div#name-1 {
    width: 100%;
}

div#name-2 {
    width: 100%;
}

div#email-1 {
    width: 100%;
}

div#phone-1 {
    width: 100%;
}

.forminator-row {
    margin-bottom: 0px !important;
}



span.forminator-checkbox-box {
    border-radius: 999px !important;
}

input {
    background-color: #FFF3EC !important;
    border-radius: 8px !important;
    min-height: 32px !important;
    border: 1px solid #ADB8A9 !important;
}

.forminator-ui#forminator-module-86.forminator-design--default .forminator-checkbox .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-86.forminator-dropdown--default .forminator-checkbox .forminator-checkbox-box {
    border-color: #84907f !important;
    background-color: #fff3ec !important;
    color: #363E33 !important;
}

.forminator-ui#forminator-module-86.forminator-design--default .forminator-checkbox input:checked + .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-86.forminator-dropdown--default .forminator-checkbox input:checked + .forminator-checkbox-box {
    border-color: #363E33 !important;
    background-color: #fff3ec !important;
}


.forminator-ui.forminator-custom-form[data-design="default"] .forminator-checkbox .forminator-checkbox-box::before  {
    border-color: #84907f !important;
    background-color: #fff3ec !important;
    color: #363E33 !important;
}






/* PAGE HOME MISC */





.title_infos {
    font-family: 'Afacad ExtraBold', Helvetica, Arial, Lucida, sans-serif;
    color: #363e33;
}

.row_infos {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.row_infos p {
    padding: 0;
}

.col_infos {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.full-width {
    width: 100%;
}

.form_block {
    display: flex
;
    align-items: stretch;
    align-content: center;
    flex-wrap: wrap;
}

.form_wrapper-contact {
    background: white;
    padding: 24px;
    border-radius: 16px;
    border: 1px solid #363e334f;
}


.button--pura-vida_fixed {
   cursor:pointer;
    font-size: 17px;
    font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif;
    min-height: 56px;
    display: flex;
    padding: 16px 24px;
  	border: 1px solid #ffffff36;
    border-radius: 8px;
    background-color: #F07D1A;
    color: #FFF3EC;
    position: relative;
    overflow: hidden;
	z-index:99999;
    cursor: pointer;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out;
    align-items: center;
    justify-content: center;
}


/* Halo de soleil */
.button--pura-vida_fixed::before {
  content: "";
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at center,
    rgba(255,255,255,0.1),
    transparent 20%);
  opacity: 0;
  transition: opacity 0.4s ease-out;
}

.button--pura-vida_fixed:hover {
   transform: translateY(-3px);
  background-color: #D07F32;
}

.button--pura-vida_fixed:hover::before {
  opacity: 1;
}














.button--pura-vida {
  cursor:pointer;
    font-size: 16px;
    font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif;
    min-height: 56px;
    display: flex;
    padding: 16px 24px;
  	border: 1px solid #ffffff36 !important;
    border-radius: 8px !important;
    background-color: #F07D1A !important;
    color: #FFF3EC !important;
    position: relative;
    overflow: hidden;
	z-index:99999;
    cursor: pointer;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out;
    align-items: center;
    justify-content: center;
}


/* Halo de soleil */
.button--pura-vida::before {
  content: "";
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at center,
    rgba(255,255,255,0.1),
    transparent 20%);
  opacity: 0;
  transition: opacity 0.4s ease-out;
}

.button--pura-vida:hover {
  transform: translateY(-3px);
  background-color: #D07F32;
}

.button--pura-vida:hover::before {
  opacity: 1;
}


.button--pura-vida-white {
  cursor:pointer;
    font-size: 16px;
    font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif;
    min-height: 56px;
    display: flex;
    padding: 16px 24px;
  	border: 1px solid #ffffff36 !important;
    border-radius: 8px;
    background-color:#FFF3EC !important;
    color: #F07D1A !important;
    position: relative;
    overflow: hidden;
	z-index:99999;
    cursor: pointer;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out, box-shadow 0.2s ease-out;
    align-items: center;
    justify-content: center;
}


/* Halo de soleil */
.button--pura-vida-white::before {
  content: "";
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at center,
    rgba(255,255,255,0.1),
    transparent 20%);
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.button--pura-vida-white:hover {
  transform: translateY(-3px);
  background-color: #FFF3EC;
}
.button--pura-vida-white:hover::before {
  opacity: 1;
}

/* Texte qui glisse */
.text-wrapper {
  display: inline-block;
  position: relative;
  height: 1.5em;       /* équivaut à la hauteur d’une ligne de texte */
  overflow: hidden;
  vertical-align: middle;
  line-height: 1.5em;
}

.text-default,
.text-hover {
  display: block;
  transition: transform 0.3s ease;
  will-change: transform;
}

/* état initial */
.text-default { transform: translateY(0); }
.text-hover {
  position: absolute;
  left: 0; top: 0;
  transform: translateY(100%);
}

/* on fait glisser à hover */
.button--pura-vida:hover .text-default {
  transform: translateY(-100%);
}
.button--pura-vida:hover .text-hover {
  transform: translateY(0);
}







/* 
** CENTRER DU CONTENU VERTICALEMENT 
** Voir tuto : https://www.divi-community.fr/snippets-divi/centrer-du-contenu-verticalement
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}



.row_image-right .et_pb_row {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}