/* Custom CSS */

/* Example: Override main section background color. */
/* body .jupiterx-main {
    background-color: gray;
} */

/*/DEBUT CONTACT FORM 7*/

#formulaire-responsive {
	max-width:100% /*-- à modifier en fonction de la largeur désirée --*/;
	margin:0 auto;
        width:100%;
}

.rang-form {
	width: 100%;
}

.demi-colonne, .colonne {
	float: left;
	position: relative;
	padding: 0.65rem;
	width:100%;
	-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box
}
.tiers-colonne, .colonne {
	float: left;
	position: relative;
	padding: 0.65rem;
	width:100%;
	-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

/**---------------- Media query ----------------**/

@media only screen and (min-width: 48em) { 
.demi-colonne {width: 50%;}
}
@media only screen and (min-width: 48em) { 
.tiers-colonne {width: 33.33%;}
}
/* --- Harmonisation champs formulaire REC --- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  padding: 14px 12px;
  border: 1px solid #C4B5A3; /* Beige foncé REC */
  border-radius: 4px;
  background-color: #fbfbfb;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 15px;
  color: #1D1D1B; /* Noir REC */
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* --- Select spécifique : hauteur + chevron custom --- */
.wpcf7 select {
  height: 50px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 36px;
  cursor: pointer;
}

/* --- Focus : bordure bordeaux + halo --- */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: #6B3231; /* Bordeaux REC */
  box-shadow: 0 0 0 3px rgba(107, 50, 49, 0.15);
  outline: none;
}

/* --- Bouton Envoyer : Bordeaux REC --- */
input.wpcf7-submit {
  border: 0;
  padding: 14px 32px;
  background-color: #6B3231; /* Bordeaux REC */
  color: #D4C5B2;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s;
}
input.wpcf7-submit:hover {
  background-color: #8A4A49; /* Bordeaux clair REC */
}

input[type=submit]{cursor:pointer;}

/* --- Font formulaire : Inter (REC) --- */
.wpcf7 { font-family: "Inter", sans-serif; font-weight: 300; }

.wpcf7 input[type="checkbox"] { height: 20px; width: 20px; vertical-align: bottom;}

.wpcf7 p { margin:0;}
.wpcf7 .case-cocher {   margin:0; font-size:18px!important; color:#ffffff;}
.wpcf7 .cocher-rappel{   margin:10px 0 20px 0;}
.wpcf7 .case-cocher2 {   margin:0; font-size:18px!important; color:#000000;}
.wpcf7 .cocher-contact{   margin:10px 0 20px 0;}
.wpcf7 .case-rgpd {   margin:-10px 0 0; color:#ffffff;font-size:12px; line-height:11px; }
.wpcf7-list-item-label{   margin:0 15px 0 15px ; }
.wpcf7-form .wpcf7-radio input[type=radio] {
    position: relative;
    visibility: hidden;
}
.wpcf7-form .wpcf7-radio label {
  position: relative;
  cursor: pointer;
}

.wpcf7-form .wpcf7-radio input[type=radio] {
	position: relative;
  visibility: hidden;
}

.wpcf7-form .wpcf7-radio input[type=radio] + span {
/*   border: 3px solid red;  */
}

.wpcf7-form .wpcf7-radio input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 20px;
  width: 20px;
  top: 5px;
  border: 2px solid #ffffff;
}

.wpcf7-form .wpcf7-radio input[type=radio] + span:after {
    display: block;
    position: absolute;
    content: '';
    border-radius: 100%;
    height: 10px;
    width: 10px;
    top: 10px;
    left: 5px;
    visibility: hidden;
}

#form-contact .wpcf7-form .wpcf7-radio input[type=radio] + span:before {
  border: 2px solid #000000!important;
}
#form-contact .wpcf7 form .wpcf7-response-output{border:0!important;color:#46b450;}

#form-contact .wpcf7-form .wpcf7-radio input[type=radio] + span:after {
	border: 2px solid #000000!important;
}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:before {    background: transparent;/*     border-color: red; */}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:after {   background: #FDBA35;   visibility: visible;}

.acceptance {font-size: 13px; color: black;line-height: 15px;}
.infos-rgpd {font-size: 11px; color: black;line-height: 12px;}
/* Spinner CF7 : positionnement absolu pour ne pas décaler le bouton */
.wpcf7-form .wpcf7-spinner {
    position: absolute;
    margin-left: 10px;
}
/**---------------- FIN CONTACT FORM 7 ----------------**/

strong, b {
    /* color: #6B3231;*/
    font-weight: 600!important;
}
#rfbwp_fullscreen .fa-compress:before {    content: "\f066";!important;}
#rfbwp_fullscreen {    top: 80px!important;}
#rfbwp_fullscreen .flipbook-container {    margin-top: 80px!important;}
._df_thumb{ width:417px!important;  height:611px!important;}

@media( max-width: 767px ){	
._df_thumb{    width:300px!important;    height:440px!important;}
}
._df_thumb ._df_book-title {  opacity: 0;    bottom: 0;}

/* --- DEBUT Timeline --- */
.timeline-item__card p{  margin:0;}
.timeline-item__card .alignnone {    margin: 5px 20px 0px 0;}
/* --- FIN Timeline --- */
/* --- polygon --- */
.arrow-step { clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);}
/* --- ICON LIST --- */

.icn-valide li::marker { font-family: "Font Awesome 5 Free";font-weight: 900;content: "\f00c";	color:var(--e-global-color-primary);list-style-type:none;width:1.25em;}
.icn-valide li { padding-left:10px;;margin-bottom: 15px;}

.icn-valide ul {margin: 15px 0 25px;}
/* --- Placeholders & Select : couleur harmonisée --- */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #8A7E72;
  opacity: 1;
  font-weight: 300;
}
.wpcf7 select {
  color: #8A7E72;
}
.wpcf7 select.wpcf7-validates-as-required:valid,
.wpcf7 select option[value='']:not(:checked) {
  color: #8A7E72;
}
.wpcf7 select option {
  color: #1D1D1B;
}

/**---------------- DEBUT BREVO NEWSLETTER ----------------**/

/* Champ + bouton sur la même ligne */
.sib_signup_form p.sib-email-area {
  display: flex !important;
  gap: 0;
  margin: 0;
}

/* Champ email : arrondi gauche seulement */
.sib_signup_form input[type="email"] {
  flex: 1 1 auto !important;
  min-width: 300px;
  padding: 14px 12px;
  border: 1px solid var(--e-global-color-rec_beige_dark);
  border-right: none;
  border-radius: 0;
  background: var(--e-global-color-rec_blanc);
  font: 300 15px "Inter", sans-serif;
  color: var(--e-global-color-text);
}
.sib_signup_form input[type="email"]::placeholder { color: #8A7E72; }
.sib_signup_form input[type="email"]:focus { border-color: var(--e-global-color-primary); outline: none; }

/* Bouton beige REC, arrondi droite seulement */
.sib_signup_form .sib-default-btn {
  padding: 14px 28px;
  background: var(--e-global-color-primary);
  color: var(--e-global-color-secondary);
  border: 1px solid var(--e-global-color-primary);
  border-radius: 0;
  font: 600 14px "Inter", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}
.sib_signup_form .sib-default-btn:hover { background: var(--e-global-color-secondary); color: var(--e-global-color-primary); }
/* --- Brevo newsletter mobile --- */
@media (max-width: 767px) {
  .sib_signup_form input[type=email] {
    min-width: 0;
    width: 100%;
  }
  .sib_signup_form p.sib-email-area {
    flex-wrap: nowrap;
  }
}
/**---------------- FIN BREVO NEWSLETTER ----------------**/

/* ============================================================
   Header : blanc plein + ombre au scroll (sticky)
   Classes custom : rec-header (container), rec-logo (logo widget)
   → Indépendant des IDs Elementor auto-générés
   ============================================================ */
.rec-header.elementor-sticky--effects {
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.10) !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
/* Logo réduit en mode sticky */
/* .elementor-widget-raven-site-logo = classe stable basée sur le type widget (jamais régénérée) */
.rec-header.elementor-sticky--effects .elementor-widget-raven-site-logo img {
    width: 120px !important;
    transition: width 0.2s ease;
}
/* Mobile : le logo sticky ne grossit pas (reste à 100px) */
@media (max-width: 767px) {
    .rec-header.elementor-sticky--effects .elementor-widget-raven-site-logo img {
        width: 100px !important;
    }
}
/* ============================================================
   Galerie raven-media-gallery (layout justified)
   - Supprime le pseudo-élément filler flex de la dernière ligne
   - Sans ça, un rectangle blanc apparaît en bas à droite
     quand la répartition des images ne remplit pas la ligne
   ============================================================ */
.elementor-widget-raven-media-gallery.gallery-layout-justified .content:after {
    display: none;
}


#sb_instagram #sbi_load .sbi_follow_btn a{padding:12px 20px;border-radius:0!important;font-family:var(--e-global-typography-7d3c9ae-font-family);font-size:var(--e-global-typography-7d3c9ae-font-size);font-weight:var(--e-global-typography-7d3c9ae-font-weight);text-transform:var(--e-global-typography-7d3c9ae-text-transform);text-decoration:none!important}
#sb_instagram #sbi_load .sbi_follow_btn a svg{width:18px;height:18px;margin:0}
.rec-linkedin-follow-btn{border-radius:0!important}

#sb_instagram #sbi_load .sbi_follow_btn a{color:#fff!important}
#sb_instagram #sbi_load .sbi_follow_btn a svg{display:inline-block;vertical-align:-.125em;margin-right:7px;fill:currentColor;stroke:currentColor}


/* CTA full-bg : l'image suit automatiquement la hauteur de la colonne d'a cote.
   Le min-height: 0 !important annule le 100vh inline genere par image_min_height. */
.cta-full-bg.elementor-widget-call-to-action {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    align-self: stretch;
    height: auto;
}
.cta-full-bg.elementor-widget-call-to-action > .elementor-widget-container {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
}
.cta-full-bg .elementor-cta {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.cta-full-bg .elementor-cta__bg-wrapper {
    flex: 1 1 auto;
}
@media (min-width: 1025px) {
    .cta-full-bg .elementor-cta__bg-wrapper { min-height: 0 !important; }
}


/* Fix ascenseur horizontal (toutes pages + mobile) : le widget icon-list inline
   du footer (data-id ca68396 : adresse / telephones / email) applique au <ul>
   des marges negatives margin-left/right -19.2px qui debordent du viewport de ~9px.
   On annule ces marges ; le filet overflow-x:hidden coupe tout debordement residuel. */
.elementor-icon-list--layout-inline .elementor-icon-list-items.elementor-inline-items {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Verrou flex + taille SVG : FOOTER UNIQUEMENT (widget reseaux sociaux) */
.elementor-location-footer .elementor-icon-list--layout-inline .elementor-icon-list-items.elementor-inline-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.elementor-location-footer .elementor-icon-list--layout-inline .elementor-icon-list-icon svg {
    width: 24px;
    height: 24px;
}
html, body {
    overflow-x: hidden;
}
/* LinkedIn Elfsight masonry : */
.linkedin-full {
    align-self: stretch;
    width: 100%;
}
.linkedin-full > .elementor-widget-container,
.linkedin-full .elfsight-app-e344631a-a7da-4ff0-92e2-cd88217b93de {
    width: 100%;
}
