[data-elementor-type="wp-page"]{
  overflow-x: hidden;
}

.ehf-header #masthead {
  position: absolute !important;
}

:is(.la-maison-carousel, .elementor-element-e2203b4) img{
  aspect-ratio: 1/1.3;
  object-fit: cover;
}


.resa-wrapper {
  --black-color: #0a2a37;
  --white-color: #fff;
}

.resa-wrapper.--invert {
  --black-color: #fff;
  --white-color: #0a2a37;

  & #ConstellationWidget {
    & .co-widget-trip {
      #FieldDate {
        border-color: var(--black-color);
        background-color: var(--white-color);
      }
      #FieldDuration{
        background-color: var(--white-color);
      }
    }
    #divResumeCapa .co-widget-tb-resume-capa{
      background-color: var(--white-color);
      border-color: var(--black-color);
    }
    #divResumeCapa #btnResumeCapa{
      background-color: var(--black-color);
      color: var(--white-color);
    }
    #BtnLaunchBooking{
      background-color: var(--black-color);
      color: var(--white-color);
    }
  }
  

        
}

.pika-cnstell-single .pika-cnstell-button{
  background-color: #0a2a37 !important;
  color: white;
  border-radius: 99px !important;
  -webkit-border-radius: 99px !important;
  -moz-border-radius: 99px !important;
  -ms-border-radius: 99px !important;
  -o-border-radius: 99px !important;
}
.pika-cnstell-single .pika-cnstell-button:hover{
  background-color: #0a2a37af !important;
  color: white;
  border-radius: 99px !important;
  -webkit-border-radius: 99px !important;
  -moz-border-radius: 99px !important;
  -ms-border-radius: 99px !important;
  -o-border-radius: 99px !important;
}

.pika-cnstell-single .is-selected .pika-cnstell-button{
  background-color: #0a2a37af !important;
}


.resa-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;

  .elementor-widget-html {
    width: 100%;
    max-width: 1200px !important;
    margin: 0 auto;
  }

  #ConstellationWidget {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    background: transparent;
    gap: 20px;

    @media (max-width: 992px) {
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    &:is(.co-widget.co-widget-intermediate) .co-widget-trip label,
    &:is(.co-widget.co-widget-intermediate) .co-widget-occupancy > label,
    &:is(.co-widget.co-widget-intermediate) .co-widget-ddl-type label {
      display: none !important;
    }

    .co-widget-styled.co-widget-chevron-down:before{
      z-index: 10;
      position: absolute;
      top: -2px;
      right: 0;
    }

    .co-widget-search {
      @media (width <= 992px) {
        text-align: center;
      }
    }

    .co-widget-title {
      width: fit-content;
      padding: 0;
      margin: 0;

      div {
        font-family: "the-seasons", Sans-serif;
        font-size: 1.8em;
        font-weight: 400;
        color: var(--black-color);
        line-height: 1.2 !important;
        width: max-content;
        display: flex;
      }
    }
    
    .co-widget-trip {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 20px;

     

      :is(.co-widget-date, .co-widget-duration) {
        display: flex;
        flex: 1 1 40%;
      }

      @media (max-width: 992px) {
        flex-wrap: wrap;
        gap: 8px;
      }


      .co-widget-date {
        font-family: "FontAwesome" !important;
        color: var(--black-color);

        &:before {
          content: "\f078";
          color: inherit;
          margin-top: 8px !important;
          margin-right: 5px;
          font-size: 12px;
          position: absolute;
          right: 2px;
        }
      }

      label[for="FieldDuration"] + .co-widget-icon {
        background-color: transparent;
        color: var(--black-color);
        border-color: var(--black-color);
        border-radius: 99px;
        -webkit-border-radius: 99px;
        -moz-border-radius: 99px;
        -ms-border-radius: 99px;
        -o-border-radius: 99px;

        #FieldDuration {
          padding: 0 10px !important;
          color: var(--black-color);
          font-weight: 500;
          margin: 0;
        }
      }

      #FieldDate {
        padding: 0 10px;

        font-family: Circular, -apple-system, BlinkMacSystemFont, Roboto,
          Helvetica Neue, sans-serif;
        color: var(--black-color);
        font-weight: 500;
        margin: 0;

        &::-webkit-input-placeholder {
          color: var(--black-color);
        }
      }

      .co-widget-i-calendar {
        display: none;
      }
    }

    .co-widget-occupancy-define * {
      color: var(--black-color);
    }

    .co-widget-occupancy-add {
      .co-widget-btn-resume-capa {
        background-color: #0a2a37;
        color: var(--white-color);
      }
    }

    #divResumeCapa .co-widget-tb-resume-capa {
      padding: 0 10px;
      color: var(--black-color);
      font-weight: 500;
      &::-webkit-input-placeholder {
        color: var(--black-color);
      }
    }

    #divResumeCapa #btnResumeCapa {
      padding: 0 20px;
      background-color: #0a2a37;
      color: var(--white-color);
      border-radius: 99px !important;
      -webkit-border-radius: 99px;
      -moz-border-radius: 99px;
      -ms-border-radius: 99px;
      -o-border-radius: 99px;
    }

    #BtnLaunchBooking {
      border-radius: 99px;
      -webkit-border-radius: 99px;
      -moz-border-radius: 99px;
      -ms-border-radius: 99px;
      -o-border-radius: 99px;
      background-color: #0a2a37;
      color: var(--white-color);
      font-family: "the-seasons", Sans-serif;
      font-size: 1.2em;
      font-weight: 400;
      width: fit-content;
      padding: 4px 12px;
      letter-spacing: 1px;
      text-transform: lowercase;
    }
  }
  #ConstellationWidgetLinks {
    display: none !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    .co-widget-p-link-w {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex: 0 0 auto;
      gap: 20px;

      :is(.co-widget-p-link-clickandcollect, .co-widget-p-link-gift-voucher) {
        width: fit-content;
      }

      a {
        color: var(--white-color);
        background-color: #0a2a37;
        border-radius: 99px;
        -webkit-border-radius: 99px;
        -moz-border-radius: 99px;
        -ms-border-radius: 99px;
        -o-border-radius: 99px;
        width: fit-content;
        padding: 6px 24px;
        margin: 0;
        line-height: 1.2;
      }
    }
  }
}

.elementor-element-aa31b70 {
  overflow: hidden;
}

.simple-header-click {
  min-height: 80vh;
  justify-content: flex-end !important;
  @media (width <= 768px) {
    height: calc(100dvh - 80px);
    min-height: unset;
    max-height: unset;
  }


  h1 {
    min-height: unset;
    display: flex;
    align-items: end;
    @media (width >= 768px) {
      min-height: 240px;
      width: 50%;
      text-wrap: balance;
    }
  }

  .simple-gallery-click {
    .gallery-size-full {
      display: flex;
      align-items: flex-end;
      position: relative;
      overflow: visible;
      max-height: 300px;
      padding-top: 300px;

      @media (width <= 998px) {
        padding-top: 0px;
        overflow: auto;
      }

      .gallery-item {
        height: 300px;
        transition: height 0.3s ease-in-out;
        position: relative;

        @media (width <= 998px) {
          flex: 1 0 40%;
          max-width: unset;
        }
        @media (width <= 768px) {
          flex: 1 0 48%;
        }
      }
      .gallery-item:hover {
        height: 380px;
        transition: height 0.3s ease-in-out;
        cursor: pointer;
      }

      .gallery-icon.landscape {
        overflow: visible;
        height: 100%;
        position: relative;

        &::before {
          content: "";
          height: 100%;
          width: 100%;
          background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0),
            rgba(0, 0, 0, 0.5)
          );
          position: absolute;
          bottom: 0;
          left: 0;
          pointer-events: none;
        }

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
      .gallery-caption {
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(calc(-50% - 10px));
        width: calc(100% - 20px);
        z-index: 10;
        font-family: "the-seasons", Sans-serif;
        border: none;
        font-size: 20px;
        -webkit-transform: translateX(calc(-50% - 10px));
        -moz-transform: translateX(calc(-50% - 10px));
        -ms-transform: translateX(calc(-50% - 10px));
        -o-transform: translateX(calc(-50% - 10px));
}
    }
  }
}

.bg-image {
  transition: unset;
  -webkit-transition: unset;
  -moz-transition: unset;
  -ms-transition: unset;
  -o-transition: unset;
}

.bg-image, .carousel-item{
  p{
    line-height: var(--ast-body-line-height,1.7em) !important;
  }
}


.carousel-home {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #356d85 transparent;

  &::-webkit-scrollbar {
    height: 8px;
    display: none;
  }

  &::-webkit-scrollbar-track {
    background: transparent;
  }

  &::-webkit-scrollbar-thumb {
    background-color: #356d85;
    border-radius: 4px;
  }

  .d-none {
    display: none;
  }

  > .e-child {
    flex: 1 0 30%;

    img {
      aspect-ratio: 3/4;
      object-fit: cover;
      -moz-user-select: none;
      -webkit-user-select: none;
      user-select: none;
      pointer-events: none;
    }
  }

  .carousel-item {
    position: relative;
    &:hover {
      cursor: pointer;
    }
    > :not(.description) p.elementor-heading-title{
      width: 80%;
      text-wrap: balance;
      margin-inline: auto;
      line-height: 1.2 !important;
    }


    .elementor-widget-image {
      position: relative;
      &::before {
        content: "";
        height: 100%;
        width: 100%;
        background: linear-gradient(
          to bottom,
          rgba(0, 0, 0, 0),
          rgba(0, 0, 0, 0.5)
        );
        position: absolute;
        bottom: 0;

        left: 0;
        pointer-events: none;
        z-index: 1;
      }
    }
    .elementor-widget-heading,
    .elementor-widget-button {
      z-index: 10;
    }
  }
  @media (width <= 1200px) {
    .d-none {
      display: block;
    }
    .carousel-item {
      padding-bottom: 20px;
    }
    .elementor-widget-heading {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: fit-content;
      .elementor-widget-container {
        width: 100%;
        transform: unset !important;
        padding-top: 20px;
        -webkit-transform: unset !important;
        -moz-transform: unset !important;
        -ms-transform: unset !important;
        -o-transform: unset !important;
}
    }
  }

  @media (width <= 1440px) {
    .e-child {
      flex: 1 0 40%;
    }
  }

 
  @media (width <= 567px) {
    .e-child {
      flex: 1 0 100%;
    }
  }
}

.maison-wrapper {
  @media (width <= 1100px) {
    background-color: var(--e-global-color-0ceac2b) !important;
    background-image: unset !important;
  }
}

.maison-container {
  @media (width <= 1100px) {
    flex-wrap: wrap;
    flex-direction: row !important;
    justify-content: center;
    gap: 40px;
    margin-top: 40px !important;
    padding: 0 20px;
  }
  .maison-item {
    flex: 0 0 100%;

    &:hover {
      cursor: pointer;
    }

    @media (width >= 1100px) {
      flex: unset;

      &::before {
        background-color: var(--e-global-color-0ceac2b);
        opacity: 0;
      }

      .elementor-widget-button {
        display: none;
      }
    }
    @media (width <= 1100px) {
      &::before {
        opacity: 1;
      }
    }



    > .elementor-element {
      padding: 60px 10px;
      gap: 12px;

      h4 {
        font-size: 24px !important;
      }
    }
  }
}
