
  :root {

    --color-main : #311208; /* terra cota */
    --color-body: var(--color-main);
    --color-accent: #602912; /* marron foncé*/
    --color-bg-light: #9B4F3F; /* rose-terra*/
    --color-link: var(--color-bg-light);
    --btn-color : white;
    --btn-bg :var(--color-bg-light);
    --btn-border:none;
    --btn-radius:50px;
    --btn-padding: 0.75em 1.5em;

    --font-title: 'Brand', sans-serif;
    --font-body:'Folks', sans-serif;
    --text-shadow :  -1px 0px 8px var(--color-body);

    --radius :10px;

    --content-width:1520px;
    --content-width-calc: calc((100vw - var(--content-width)) / 2 + var(--content-width));

    --font-color: #ffffff;
    --font-size: 18px;
  }

  img{border-radius: var(--radius;)}

  body {
    background: var(--color-body);
    color: var(--font-color);
    font-size: 18px;
    font-family: var(--font-body);
    letter-spacing: 1px;
  }

  body::after {
    content: '';
    background: url('/wp-content/themes/Divi-Andegave/img/pattern-hero.svg') no-repeat;
    position: absolute;
    display: block;
    height: 131%;
    width: 100%;
    top: -114px;
    right: -520px;
    bottom: auto;
    z-index: 0;
    background-size: contain;
  }
  .page-container {z-index: 3;}

  h1, h2, h3, h4, h5, h6{
    color: var(--font-color);
    font-family: var(--font-body);
  }

  h1{ font-family: var(--font-title); font-weight: bold;}
  h2 {
  font-size: 42px!important;
  font-family: var(--font-title);
  text-transform:none;
  letter-spacing: 1px;
  font-weight: bold;
  line-height: 1.2;
}

  h3 {font-family: var(--font-body); font-size: 32px;}
  h4 {font-family: var(--font-body); font-size: 24px;}



  .bg--light{background: var(--color-bg-light);}
  .bg--dark{background: var(--color-accent);}

  .et_pb_section {
      padding: auto!important;
  }

  /**** BOUTONS ***/


  .et_pb_button, input[type="submit"], button {
    background: var(--btn-bg);
    color:var(--btn-color);
    border: var(--btn-border);
    border-radius: var(--btn-radius)!important;
    padding:var(--btn-padding);
    font-size: 18px!important;
    cursor: pointer;
    transition: 0.5s;
    text-decoration: none!important;
  }

  .et_pb_button:hover, input[type="submit"], button{
    padding:var(--btn-padding)!important;
    border: var(--btn-border)!important;
    cursor: pointer;
  }

  input[type="submit"]:hover, button:hover {
    background: var(--color-accent);
  }

  .et_pb_button.btn--dark {
   background: var(--color-accent);
  }

  /* ----- STRUCTURE GLOBALE ----- */
  /*section[class^="bloc-"] {
    padding: 100px 0;
    position: relative;
  }*/

  /* ----- CONTENT ----- */

  .section-content{
    width:100%;
    max-width:var(--content-width);
    margin: 0 auto;
  }

  .section-content


  /*** BLOC GLOBAL ****/

  .bloc .col-texte .et_pb_text  {border-radius: var(--radius); }


  /*** HERO HOME ***/

  .home-hero h1{
    font-size: 7rem;
    text-shadow: var(--text-shadow);
    text-transform: none;
    max-width: 800px;
  }

  .home-hero .hero-quicklinks .ba_icon_box { padding: 0 0; max-width: 226px;}
  .home-hero .hero-quicklinks .dtq-iconbox__icon {
      background: rgb(49 18 8 / 59%);
      border-radius: 100px;
      border: 1px solid white;
      padding: 1px;
    }
  .home-hero .hero-quicklinks  h4{text-shadow: var(--text-shadow);}


/*** FORMULAIRE ***/


.forminator-field textarea, input.forminator-input,input.sib-email-area  {
  font-family: var(--font-body);
  font-size: 16px;
  color: white!important;
  background-color: rgba(255, 255, 255, 0.23);
  border-radius: 932px!important;
  overflow: hidden;
  padding: 20px 100px!important;
  text-align: center;
  text-transform: uppercase ;
  text-align: center;
}

.forminator-label {
  font-size: 16px!important;
}


.forminator-ui .forminator-design--flat .forminator-error-message {
  color: #ff7f7f!important;
  background: none!important;
}

/**** BLOC IMAGE TEXTE ****/

.bloc-texte-image {
  background: url('/wp-content/themes/Divi-Andegave/img/pattern-lion.svg') no-repeat;
  background-size: 700px;
  background-position: -371px center;
  }

.bloc-texte-image .section-content{
  max-width: var(--content-width-calc);
  margin-left: auto;
  margin-right: 0;
  display: flex;
  align-items: center;
}

.bloc-texte-image .col-image {
  min-height: 870px;
  background-size: cover;
  background-position: center;
  border-top-left-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}



/**** BLOC CARD ****/

.bloc-card {
  /*background: url('/wp-content/themes/Divi-Andegave/img/pattern-petit-cercle.svg') no-repeat;
  background-size: contain;
  background-position: left top;*/
  padding-top: 12em;
}

.bloc-card .section-content{
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  max-width: var(--content-width-calc);
  flex-wrap: wrap;
}

.bloc-card .col-img{
    max-height: 721px;
    height: 721px;
    width: 70%;
    border-radius: var(--radius);
}


.bloc-card .col-texte {
  z-index: 4;
  position: absolute;
  left: 60px;
  width: 35%;
}


.bloc-card .col-texte .et_pb_image{
    position: absolute;
    width: 114px;
    top: -53px;
    z-index: 5;
    right: 36px;
}
.bloc-card .col-texte  .et_pb_text {
 border-radius: var(--radius);
}

.bloc-card .col-texte .et_pb_text_inner{
  padding: 6em 4em;

}


/**** BLOC Galerie ****/
.bloc-card--galerie .et_pb_section{padding-top: 14em;}
.bloc-card--galerie .col-img {transform: scaleX(1.22) scaleY(1.22);}
.bloc-card--galerie .section-content{ padding-right: 8em; align-items: baseline;}
.bloc-card--galerie .wdcl_image_carousel .slick-prev,
.bloc-card--galerie .wdcl_image_carousel .slick-next {font-size: 0!important; cursor: pointer!important;}



/***** BLOC DE LIEN RAPIDE VERS LES CHAMBRES **/
.bloc-quick-link h2{text-shadow: var(--text-shadow);}
.bloc-quick-link.et_pb_section {padding-bottom: 10em; padding-top: 4em;}
.bloc-quick-link .et_pb_column::after {
  content: '';
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgb(255 255 255 / 0%) 47%, #602912ab 79%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.bloc-quick-link::after {
  content: '';
  background: linear-gradient(180deg, rgba(28, 52, 44, 0.6) 0%, var(--color-body) 100%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.bloc-quick-link::before {
  content: '';
  background: linear-gradient(0deg, rgb(49 18 8 / 0%) 0%, rgb(49 18 8 / 14%) 73%, rgb(49 18 8) 95%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}


.bloc-quick-link .quick-link-icone
 {
    position: absolute;
    width: 60px;
    height: 60px;
    z-index: 2;
    background: rgb(0, 0, 0, 42%);
    border-radius: 100%;
    top : 50%;
    transform: translatey(-50%);
    left: -30px;
}

.bloc-quick-link .quick-link-img {
  display: none;
}

/**** BAR DE RESERVATION ***/

/**** 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;
}

.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(--color-bg-light);}


.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: 1.5em!important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: var(--color-accent);
  cursor: pointer;
  transition: 0.5s;
}

.resa-sidebar--fixe .res-search:hover{
   background:var(--color-main);
}
.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%);
}



/**** FOOTER *****/

.footer-newsletter::after {
  content: '';
  background:   linear-gradient(180deg, rgb(49 18 8) 0%, #31120800 64%);

  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

.footer-newsletter::before {
  content: '';
  background: linear-gradient(90deg, rgba(28, 52, 44, 0.6) 0%, var(--color-body) 100%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

.footer-newsletter h2{font-size: 60px;}


/***** RESPONSIVE ****/
/* === Grand écran / Desktop === */
/* Très grand écran (Full HD et +) */


@media (max-width:1800px){
  .bloc-quick-link .quick-link-icone {
    top: 42%;
  }
}


@media (max-width: 1600px) {

  /* ROOT ***/
  :root { --content-width:1300px; }
}


@media(max-width:1450px){

  h2 { font-size: 38px !important;}
  .bloc-quick-link #rooms h2 {font-size: 28px !important; margin-top: 28px; }
}


/* Écrans laptop standard */
@media (max-width: 1366px) {
  /* Ajuster les paddings ou tailles de police */
  :root { --content-width:1100px; }
  .home-hero h1 { font-size: 6rem;   max-width: 640px; }
  .home-hero .hero-quicklinks .ba_icon_box {  padding: 0 0;  max-width: 144px;  }
  .home-hero .hero-quicklinks h3 { font-size: 16px;}
  .home-hero .hero-quicklinks .dtq-iconbox-inner {padding: 2em 1em;}
  .home-hero .hero-quicklinks img{width: 80px!important;}
  body.home .resa-sidebar--fixe.top-fixed { top: 68%;}

  .bloc-quick-link .quick-link-img {display: block;}
  .bloc-quick-link #rooms .et_pb_column{background: none; padding: 0;  box-shadow: none;}
  .bloc-quick-link #rooms .et_pb_column::after{background: none;}
  .bloc-quick-link .quick-link-icone { top: 50px;}
  .bloc-quick-link #rooms .quick-link-text {transform: none;}

}

@media (max-width: 1280px) {
  :root { --content-width:900px;}
  .bloc-card .col-texte .et_pb_text_inner {padding: 6em 3em;}
  .bloc-card .col-texte { left: -16px; width: 46%;}
  .et_pb_button {line-height: 1.5em!important;}
  .home-hero h1 {font-size: 5rem; max-width: 450px;}
  .home-hero .hero-quicklinks .et_pb_column {  gap: 1em;}
  .home-hero .hero-quicklinks .ba_icon_box {  max-width: 177px; }
}

@media (max-width: 1024px) {
  :root {font-size: 15px; }

}


/* Tablette paysage */
@media (max-width: 991px) {
  .resa-sidebar--fixe .sidebar-block { transform: scale(0.8);  }
  :root { --content-width: 740px; }
   h2 { font-size: 26px !important; margin-bottom: 1em;}
  .home-hero h1 {  font-size: 5rem; max-width: 90%; margin: 0 auto; }
  .home-hero .hero-quicklinks  {position: relative;}
  .home-hero .hero-quicklinks .et_pb_column {align-items: baseline;}
  .home-hero .hero-quicklinks .ba_icon_box { max-width: 100%;  flex: 1;}
  .bloc-quick-link.et_pb_section { padding-top: 0; padding-bottom: 0;}
  .home-hero {padding-top: 18px;}

  .section-content { padding: 0 22px;}
  .bloc .section-content{ margin: 0 auto; }

  .bloc-card--galerie .col-texte {width: 50%; }
  .bloc-card--galerie .col-img{width: 50%;  transform: scaleX(1.3) scaleY(1.3);}
  .bloc-card--galerie .section-content {  padding-right: 5em;}

  .bloc-card .col-texte{width: 70%;  margin: 0 auto; left: 34px;}
  .bloc-card .col-img { display: block!important;  left: 0;  }

  .bloc-texte-image { background-position: -224px center; background-size: 435px;}
  body::after {
    height: 100%;
    background-size: cover;
    width: 100%;
    top: 51px;
    opacity: 0.4;
  }

  .bloc-quick-link #rooms .quick-link-img {height: 300px; width: auto; overflow: hidden;}
    .bloc-quick-link #rooms .quick-link-img .et_pb_image_wrap {height: 100%; width: 100%;}
  .bloc-quick-link #rooms .quick-link-img img{ height: 100%; width: 100%; object-fit: cover;}



  /*.bloc-galerie .col-galerie {transform: none;}*/
}




@media (max-width: 767px) {
  .bloc-quick-link .et_pb_column::after { background: linear-gradient(180deg, rgb(104 56 34 / 74%) 47%, #602912ab 63%); }

  .bloc-quick-link .et_pb_image {
    left: auto;
    right: -19px;
    bottom: auto;
    top: 49px;
}

  :root { font-size: 14px; }


}

@media(max-width:680px){
  .bloc-card .col-texte {width: 100%; position: relative; left: 0;}
  .bloc-card .col-img {left: 0;}
  .bloc-card---galerie .col-img{transform:none;}
  .bloc .section-content {row-gap:4em;}
  .bloc-card .col-img {transform: none; width: 100%;}
  .bloc-card--galerie .section-content {padding: 0 20px;}
  body::after {  top: 4%;  right: 0;  opacity: 0.4; }

}

/* Mobile large (type iPhone Pro Max, Galaxy) */
@media (max-width: 575px) {
  h2 { font-size: 26px !important;}
  .bloc-card {padding-top: 5em;}
  :root { --content-width: 480px;}
  .home-hero h1 {font-size: 3rem;}
  .home-hero .hero-quicklinks .et_pb_column { flex-direction: column;  align-items: center;  }
  .home-hero .hero-quicklinks img { width: 122px !important; margin-bottom: 20px; }

  .bloc-card .col-texte .et_pb_text_inner {padding: 6em 2em; }
  .bloc-card .section-content {flex-wrap: wrap; justify-content: center; row-gap:5em;}
  .bloc-card .col-texte{position: relative; width: 100%;  margin: 0 auto; left: auto;}
  .bloc-card .col-img {
      width:100%; left: auto;
      height: 234px;
    }
  .bloc-card.bloc-card--galerie .col-img { max-height: auto;  height: auto; }
  .home-hero .hero-quicklinks img {margin: 0;}
  .bloc-quick-link.et_pb_section {padding-top: 0;}
}

/* Petit mobile (anciens smartphones) */
@media (max-width: 480px) {

  .home-hero {padding-top: 12px!important;}
  .lodge--reservit.resa-sidebar--fixe {display: none;}
  .lodge--reservit.resa-sidebar--button { display: block;}

  /* Forcer empilement complet, réduire marges */
}


/**** PROVISOIRE ****/

html, body {
  overflow-x: hidden;
}

.rc-anchor-center-item.rc-anchor-error-message {display: none;}


/************* MENU ********************/



#slide-in-open{
cursor: pointer;
}

.line{
display: block;
position: absolute;
height: 4px;
width: 100%;
background: white;
border-radius: 9px;
opacity: 1;
-webkit-transition: .1s ease-in-out;
-moz-transition: .1s ease-in-out;
-o-transition: .1s ease-in-out;
transition: .1s ease-in-out;
}

.line-2 {
top: 10px;
}

.line-3 {
top: 20px;
}

#slide-in-open.open .line-1 {
    display: none;
top: 10px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
  background-color: white;
}

#slide-in-open.open .line-2 {
display: none;
}

#slide-in-open.open .line-3 {
top: 10px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
    background-color: white;
}

.slide-in-menu {
  display: none;
  right: 0 !important;
  opacity: 1 !important;
}

.slide-in-menu-container {
  display: none;
-webkit-transition: all 0.5s ease !important;
-moz-transition: all 0.5s ease !important;
-o-transition: all 0.5s ease !important;
-ms-transition: all 0.5s ease !important;
transition: all 0.5s ease !important;
}
