/*

Theme Name: Divi Andegave

Description: Theme enfant de Divi

Author: Andégave Communication

Author URI: https://andegave-communication.com

Template: Divi

Version: 1.1

*/

/*

** CENTRER DU CONTENU VERTICALEMENT

*/

:root {
  --primary-color:  #1C342C; /* vert */
  --secondary-color: #142821; /* vert foncé */
	--txt-color: white;*/
  --font-size-base: 16px;
	--font-text: 'Montserrat', sans-serif;
  --font-title: 'Playfair Display', serif;
	--btn-background: var(--txt-color);
	--btn-text: var(--secondary-color);
	--btn-border:1px solid white;
  --shadow: 5px 6px 15px 0px rgba(0, 0, 0, 15%);

}


body, .et_pb_section{
	color: var(--txt-color);*/
	font-family: var(--font-text);
	background: var(--primary-color);
}


.forminator-field textarea, input.forminator-input  {
  font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 16px;
  color: white !important;
  background-color: rgba(255, 255, 255, 0.23);
  border-radius: 932px 932px 932px 932px!important;
  overflow: hidden;
  padding-top: 20px;
  padding-right: 100px;
  padding-bottom: 20px;
  padding-left: 100px;
  text-align: center;
  text-transform: uppercase !important;
  text-align: left;
}

.forminator-label {
  font-size: 16px!important;
}


.forminator-ui .forminator-design--flat .forminator-error-message {
  color: #ff7f7f!important;
  background: none!important;
}


.floating-button {

}


.csl-title--h1 h1, h1 {
	color: var(--txt-color);
	font-family: var(--font-title);
	font-size: 50px;
	font-weight: bold;
}

.csl-title--h42 h2, h2 {
	color: var(--txt-color);
	font-family: var(--font-title);
	font-size: 40px;
	font-weight: bold;
}

.csl-title--h3 h3, h3 {
	color: var(--txt-color);
	font-family: var(--font-title);
	font-size: 38px;
	font-weight: bold;
}

p, a, li, span {
/*	color: var(--txt-color);*/
	font-family: var(--font-txt);
	font-size: 15px;
	font-weight: 400;
}


.et_pb_button, .csl-btn.et_pb_button, .csl-btn {
	border-radius:50px;
	background:var(--btn-background);
	color:var(--btn-text);
	font-size: 16px;
	font-weight: 600;
	font-family: var(--font-txt);
	border: var(--btn-border);
  padding: 1em 2em;
}

.et_pb_button:hover, .csl-btn.et_pb_button:hover, .csl-btn:hover {
	background:var(--btn-background);
	border: var(--btn-border);
}

.et_pb_button::after, .csl-btn.et_pb_button::after {
	line-height: inherit;

}


.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;

}

/******* BOUTONS ******/



/*** Carousel ***/

.dcm-carousel-maker figure { border-radius:10px;}
.dcm-container .slick-arrow { cursor: pointer !important;}

/***** CARD ****/

.csl-box--lodges::before {
	content: "";
	top: -4px;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(28, 52, 44, 0.6) 78%, #1c342c 98%);
	position: absolute;
	z-index: -1;
}


.csl-box--lodges::after {
	content: "";
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(28, 52, 44, 0.6) 78%, #1c342c 98%);
	position: absolute;
	z-index: -1;
}


.csl-box--lodges .et_pb_column::after {
  content: "";
  position: absolute;
	border-radius: 10px;
	z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgb(0 0 0 / 0%) 0%, rgba(15, 31, 26, 0.07) 63%, rgb(0 0 0 / 73%) 79%, rgb(0 0 0 / 90%) 100%);
}

.csl-box--lodges .et_pb_image {
	position: absolute;
	width: 60px;
	height: 60px;
	z-index: 2;
	background: rgb(0, 0, 0, 42%);
	border-radius: 100%;
	bottom: auto;
	left: -30px;
}


/*************** PRES LODGE ******************/

/*** Intro ***/

.csl-lodge__intro .dsm_icon_list_layout_horizontal {
	display: inline-flex;
	gap: 20px;
}


.csl-lodge__intro .dsm_icon_list_layout_horizontal li {
	display: inline-flex;
	gap: 8px;
}

.csl-lodge__intro .dsm_icon_list_layout_horizontal li .dsm_icon_list_icon{
	color:#4e796b;
}

  .home-hero .ba_icon_box{ transform: translateY(58px);}


/*** Equipements ***/

.csl-lodge__equip .csl-card__list, .csl-card__list {
	padding: 30px 34px;
	box-shadow: 2px 6px 6px 4px #00000030;
	border-radius: 10px;
}

.csl-lodge__equip .csl-card__list .et_pb_column,
.csl-card__list .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	flex: 0;
	justify-content: space-between;
	align-items: flex-start;
	gap:32px;
}

.csl-lodge__equip .csl-card__list .et_pb_module,
.csl-card__list .et_pb_module {
	flex: 33%;
}
.csl-lodge__equip .csl-card__list .et_pb_text,
.csl-card__list .et_pb_text{
	max-width: 300px;
	margin: 0;
}
.csl-lodge__equip .csl-card__list li:not(:first-child),
.csl-card__list li{
	padding-top: 6px;
	line-height: 1.5;
}

.csl-lodge__equip .csl-card__list .csl-title__icone,
.csl-card__list .csl-title__icone {
	display: inline-flex;
	align-items: self-start;
	gap: 13px;
}


.csl-lodge__equip .csl-card__list .csl-title__icone::before,
.csl-card__list .csl-title__icone::before {
	font-family: 'Font Awesome 5 Free';
  content: "\f015"; /* fa-home */
  font-weight: 900;
  margin-right: 0.5em;
}

.csl-card__list .csl-title__icone.csl-title__icone--up::before {
 content: "\f3bf"; /* Unicode pour fa-home */
}


/*

** INVERSER LE SENS 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%;

}

/**** INPUT ****/
.form-field {
  display: inline-flex;
  flex-direction: column;
  flex:1;
}

.form-field label {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

.form-field input {
  border-radius: 20px;
  padding: 9px 19px;
  box-shadow: var(--shadow);
  border:none;
}



/**** BARRE RESERVATION FIXE ******/

/**** BARRE RESERVATION FIXE – STYLE GLOBAL ****/

.flatpickr-input {box-shadow: none;}
.resa-sidebar--button {
  z-index: 2;
  position: fixed;
  bottom: 0;
  right: 10px;
  display: none;
}

.resa-sidebar--button .resa-sidebar{
  background: white;
  height: 20;
  height: 90px;
  width: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  box-shadow: 5px 6px 15px 14px rgba(0, 0, 0, 15%);
  border-radius: 100%;
  opacity: 0.9;
}

.resa-sidebar--button .resa-sidebar a{font-size: 40px; color:var(--secondary-color);}


.resa-sidebar--fixe {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 17px;
  transition: all 0.4s ease;
  z-index: 1;
}

.resa-sidebar--fixe .sidebar-block{
  background: white;
  border-radius: 95px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  z-index: 99;
  opacity:0.9;
}

.resa-sidebar--fixe:hover{
  opacity: 1;
  bottom:28px;
}

.resa-sidebar--fixe:hover {
  bottom: 28px;
}

/* Contenu interne */
.resa-sidebar--fixe .resa-content {
  display: inline-flex;
  background: white;
  border-radius: 95px;
}

.resa-sidebar--fixe .res-form-dates {
  display: inline-flex;
  align-items: center;
  padding: 1em 1.5em;
}

.resa-sidebar--fixe .res-form-dates .form-field {
  padding-left: 32px;
  border-right: 1px solid #cecece;
}

.resa-sidebar--fixe .res-form-dates .form-field:last-of-type {
  border-right: none;
}

.resa-sidebar--fixe .res-form-dates label {
  color: black;
}

.resa-sidebar--fixe .res-search {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  padding: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: var(--secondary-color);
  cursor: pointer;
}

.resa-sidebar--fixe .res-form-dates i {
  font-size: 28px;
  color: white;
}

/* ---- VARIATIONS SELON LES PAGES ---- */

/* 🏠 Page d'accueil avant scroll : position haute */
body.home .resa-sidebar--fixe.top-fixed {
  position: absolute;
  top: 80%;
  bottom: auto;
  background: transparent;
  box-shadow: none;
  transition: all 0.4s ease;
  left: 340px;
}

/* 🏠 Page d'accueil après scroll : descend en bas (JS ajoute .fixed-bottom) */
body.home .resa-sidebar--fixe.fixed-bottom {
  position: fixed;
  top: auto;
  bottom: 17px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
  left: 50%;

}

/* 📄 Autres pages : directement en bas */
body:not(.home) .resa-sidebar--fixe {
  position: fixed;
  bottom: 17px;
  top: auto;
  transform: translateX(-50%);
}



/******************* RESPONSIVE *************/
@media (max-width: 1800px){
  .home-hero h1 {font-size: 76px!important;  }
}

@media (max-width:1700px){
  body.home .resa-sidebar--fixe.top-fixed {
    top: 64%;
  }
}

@media (max-width: 1600px) {
  #page-container{
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 2em;
  }

  body.home .resa-sidebar--fixe {

  }
}



@media (max-width: 1400px)  {
  h3 { font-size: 32px!important; }
  h2 {font-size: 28px!important; }
  .home-hero h1 {font-size: 50px!important;}
}


@media (max-width:1380px){
    body.home .dtq-iconbox-inner { padding: 60px 14px 60px 4px; }
    body.home .resa-sidebar--fixe.top-fixed {  top: 64%; }
}

@media (max-width:1280px){
    body.home .dtq-iconbox-inner { padding: 60px 14px 60px 4px; }
    .csl_row--card-lodge .et_pb_column  {width: 49%; margin-right: 0!important; margin-bottom:20px!important;}
    body.home .resa-sidebar--fixe.top-fixed {top: auto;}
}


@media (max-width: 1000px) {
    h2 { font-size: 22px !important; }
    h1 { font-size: 50px!important; }
    .home-hero .ba_icon_box { transform: translateY(87px); }
    .home-hero{ display: flex; flex-direction: column;}
    /*.home-hero .et_pb_row {position: absol!important;}*/
    .home-hero .et_pb_row_1 {order: 1; z-index: 999;}
    .home-hero .et_pb_row_2 {order: 3; z-index: 999;}
    .home-hero .et_pb_row_0 {order: 2; }
    .ba_icon_box_0 .dtq-iconbox__icon, .ba_icon_box_1 .dtq-iconbox__icon, .ba_icon_box_2 .dtq-iconbox__icon {
    width: 87px;
    height: 87px;
  }

}

@media(max-width:1000px){
  .resa-sidebar--fixe .sidebar-block {transform: scale(0.8);}
}

@media (max-width: 768px) {
    #page-container {
        padding: 0 1em;
    }


    @media(max-width:480px){
      .lodge--reservit.resa-sidebar--fixe {display: none;}
      .lodge--reservit.resa-sidebar--button {display: block;}
    }




}
