.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-type-html{padding-bottom:0px;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-button[type="submit"]{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-3033 .elementor-element.elementor-element-12bf581{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS for html, class: .elementor-element-9bf0063 *//* =========================================================
   PRÉPARER MON SÉJOUR
   Les Granges de la Hulotte
   HTML + FORMULAIRE ELEMENTOR PRO
========================================================= */

.hulotte-preparer-simple,
.hulotte-preparer-simple * {
  box-sizing: border-box;
}

.hulotte-preparer-simple {
  --green: #31513e;
  --green-soft: #536551;
  --gold: #b49663;
  --cream: #fbfaf6;
  --beige: #f7f4ee;
  --line: #ddd8cf;
  --text: #5a605a;

  width: 100%;
  margin: 0;
  padding: 0;

  background: var(--cream);
  color: var(--text);
}


/* =========================================================
   01 — INTRO
========================================================= */

.hulotte-preparer-simple__hero {
  width: 100%;
  padding: 95px 30px 75px;

  background: var(--cream);
}

.hulotte-preparer-simple__hero-inner {
  max-width: 820px;
  margin: 0 auto;

  text-align: center;
}

.hulotte-preparer-simple__eyebrow {
  display: block;
  margin-bottom: 14px;

  font-family: Georgia, serif;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.15em;
  text-transform: uppercase;

  color: var(--gold);
}

.hulotte-preparer-simple__title {
  margin: 0 !important;

  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(52px, 5.8vw, 72px) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;

  color: var(--green) !important;
}

.hulotte-preparer-simple__intro {
  max-width: 650px;

  margin: 24px auto 0 !important;

  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  line-height: 1.42 !important;
  font-style: italic;

  color: var(--green-soft) !important;
}

.hulotte-preparer-simple__note {
  margin: 17px auto 0 !important;

  font-family: Georgia, serif;
  font-size: 12px;
  line-height: 1.6;

  color: #777d77;
}


/* =========================================================
   BOUTON INTRO
========================================================= */

.hulotte-preparer-simple__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-top: 27px;
  padding-bottom: 4px;

  border-bottom: 1px solid #9daa9f;

  font-family: Georgia, serif;
  font-size: 12px;
  line-height: 1.4;

  color: var(--green) !important;
  text-decoration: none !important;
}

.hulotte-preparer-simple__button span {
  transition: transform 0.25s ease;
}

.hulotte-preparer-simple__button:hover span {
  transform: translateX(4px);
}


/* =========================================================
   02 — CONTENEUR ELEMENTOR DU FORMULAIRE
   ID CSS dans Elementor : demande-sejour
========================================================= */

#demande-sejour {
  width: 100%;

  padding: 70px 30px 90px !important;

  background: var(--beige, #f7f4ee);
}

#demande-sejour > .e-con-inner {
  max-width: 860px;
  margin: 0 auto;
}


/* =========================================================
   FORMULAIRE ELEMENTOR PRO
   Tout est limité à #demande-sejour
   donc aucun impact sur le footer
========================================================= */

#demande-sejour .elementor-widget-form {
  width: 100%;
  max-width: 820px;

  margin: 0 auto;
  padding: 46px 50px;

  background: #ffffff;
  border: 1px solid #e3ddd3;
}

#demande-sejour .elementor-form {
  width: 100%;
}


/* =========================================================
   ESPACEMENT ENTRE LES CHAMPS
========================================================= */

#demande-sejour .elementor-form-fields-wrapper {
  row-gap: 17px;
}

#demande-sejour .elementor-field-group {
  margin-bottom: 0 !important;
}


/* =========================================================
   LIBELLÉS
========================================================= */

#demande-sejour .elementor-field-label {
  margin-bottom: 7px !important;

  font-family: Georgia, serif !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;

  color: #31513e !important;
}

#demande-sejour .elementor-mark-required .elementor-field-label::after {
  color: #b49663 !important;
}


/* =========================================================
   CHAMPS TEXTE / EMAIL / TEL / DATE / SELECT
========================================================= */

#demande-sejour input.elementor-field,
#demande-sejour select.elementor-field,
#demande-sejour textarea.elementor-field {
  width: 100% !important;

  min-height: 48px !important;

  padding: 11px 13px !important;

  background: #fbfaf7 !important;

  border: 1px solid #d8d3cb !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  outline: none !important;

  font-family: Georgia, serif !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;

  color: #5a605a !important;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

#demande-sejour input.elementor-field:focus,
#demande-sejour select.elementor-field:focus,
#demande-sejour textarea.elementor-field:focus {
  background: #ffffff !important;
  border-color: #31513e !important;
}

#demande-sejour textarea.elementor-field {
  min-height: 125px !important;
  resize: vertical;
}

#demande-sejour input::placeholder,
#demande-sejour textarea::placeholder {
  color: #aaa59d !important;
  opacity: 1;
}


/* =========================================================
   CHAMPS RADIO / CASES À COCHER
========================================================= */

#demande-sejour .elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;

  gap: 10px;
}

#demande-sejour .elementor-field-option {
  margin: 0 !important;
}

#demande-sejour .elementor-field-option label {
  font-family: Georgia, serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;

  color: #536551 !important;

  cursor: pointer;
}

#demande-sejour input[type="radio"],
#demande-sejour input[type="checkbox"] {
  width: 15px;
  height: 15px;

  margin-right: 6px;

  accent-color: #31513e;
}


/* =========================================================
   TYPE DE SÉJOUR — RADIO PLUS ÉLÉGANT
========================================================= */

#demande-sejour
.elementor-field-group-type_sejour
.elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 10px;
}

#demande-sejour
.elementor-field-group-type_sejour
.elementor-field-option {
  position: relative;

  min-height: 56px;

  display: flex;
  align-items: center;

  padding: 13px 15px;

  background: #fbfaf7;

  border: 1px solid #ddd8cf;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

#demande-sejour
.elementor-field-group-type_sejour
.elementor-field-option:hover {
  background: #f7f6f1;

  border-color: #aeb9ae;
}

#demande-sejour
.elementor-field-group-type_sejour
.elementor-field-option:has(input:checked) {
  background: #f1f4ef;

  border-color: #31513e;
}

#demande-sejour
.elementor-field-group-type_sejour
.elementor-field-option label {
  font-size: 12.5px !important;

  color: #31513e !important;
}


/* =========================================================
   BOUTON ENVOYER
========================================================= */

#demande-sejour .elementor-field-type-submit {
  margin-top: 12px !important;
}

#demande-sejour .elementor-button {
  min-height: 48px !important;

  padding: 13px 24px !important;

  background: #31513e !important;

  border: 1px solid #31513e !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: Georgia, serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;

  color: #ffffff !important;

  transition:
    background-color 0.25s ease,
    color 0.25s ease !important;
}

#demande-sejour .elementor-button:hover {
  background: transparent !important;

  color: #31513e !important;
}


/* =========================================================
   MESSAGE APRÈS ENVOI
========================================================= */

#demande-sejour .elementor-message {
  margin-top: 18px !important;

  padding: 14px 16px;

  border: 1px solid #d7ddd5;

  font-family: Georgia, serif !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

#demande-sejour .elementor-message-success {
  background: #f2f5f0;

  color: #31513e !important;
}

#demande-sejour .elementor-message-danger {
  background: #faf5f3;

  color: #80594e !important;
}


/* =========================================================
   TABLETTE
========================================================= */

@media (max-width: 1024px) {

  .hulotte-preparer-simple__hero {
    padding: 78px 24px 60px;
  }

  #demande-sejour {
    padding: 58px 24px 76px !important;
  }

  #demande-sejour .elementor-widget-form {
    padding: 40px 36px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .hulotte-preparer-simple__hero {
    padding: 58px 18px 46px;
  }

  .hulotte-preparer-simple__hero-inner {
    text-align: left;
  }

  .hulotte-preparer-simple__title {
    font-size: 40px !important;
  }

  .hulotte-preparer-simple__intro {
    margin-left: 0 !important;
    margin-right: 0 !important;

    font-size: 19px !important;
  }

  .hulotte-preparer-simple__note {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  /* FORMULAIRE */

  #demande-sejour {
    padding: 38px 18px 58px !important;
  }

  #demande-sejour .elementor-widget-form {
    padding: 28px 20px;
  }

  #demande-sejour
  .elementor-field-group-type_sejour
  .elementor-field-subgroup {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   PETITS MOBILES
========================================================= */

@media (max-width: 480px) {

  .hulotte-preparer-simple__hero {
    padding-left: 16px;
    padding-right: 16px;
  }

  .hulotte-preparer-simple__title {
    font-size: 36px !important;
  }

  #demande-sejour {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #demande-sejour .elementor-widget-form {
    padding: 24px 15px;
  }

}/* End custom CSS */