/*
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  \     '  .--./|  |   |  | |  ||  |) /_  
|  '--' ||  | |  ||  '--'.'|  .-.  |      \     /  |  ||  |  \  :|  .-.  |    |  |    |  |   |  | |  ||  .-.  \ 
|  | --' '  '-'  '|  |\  \ |  | |  |       \   /   |  ||  '--'  /|  | |  |    '  '--'\|  '--.'  '-'  '|  '--' / 
`--'      `-----' `--' '--'`--' `--'        `-'    `--'`-------' `--' `--'     `-----'`-----' `-----' `------'  
                                                                                                                


*/

/* 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;
}
/* GENERAL */


@media (max-width: 980px) {
	 h2 
	{	
	font-size: 32px !important;

	}
	.form_wrapper {
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    padding: 0px  !important;
	}
	 h1
	{	
	font-size: 24px !important;

	}
	h3 {
		font-size:24px !important;
	}
	.col_1_block_1 {
		order:2;
	}
	.col_2_block_1 {
		order:1;
	}
}

h3 {
    font-size: 32px;
}

h3 {
    font-size: 32px;
    font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif !important;
    color: #FFF3EC !important;
}

/* 1) État initial : caché et décalé vers le bas */
h2, h3 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* 2) Quand on ajoute .in-view : apparition smooth */
h2.in-view, 
h3.in-view {
  opacity: 1;
  transform: translateY(0);
}


/* FAQ */

  .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 h3 {
     font-family: 'Afacad Semibold', Helvetica, Arial, Lucida, sans-serif !important;
      font-size: 24px;
    line-height: 30px;
		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;
}


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: #FFF3EC !important;
    margin-bottom: 8px !important;
    font-weight: 700;
}

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

.gchoice {
    color: #fff3ec !important;
}

.gform-field-label--type-inline {
    color: #fff3ec !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;
}


















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: #BC5717 !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 {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    padding: 16px;
}



.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: #BC5717;
    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: 17px;
    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: #BC5717 !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;
}

/* 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;
}