/* 
Theme Name: Hello Eliophot Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team & Eliophot
Author: Eliophot
Author URI: https://www.eliophot.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready, Eliophot
*/

/* formulaires */
.formulaire .elementor-field-type-acceptance label {
  text-transform: none !important;
  font-size: 10px !important;
  line-height: 24px !important;
  letter-spacing: 0.1px !important;
}

.formulaire .elementor-field {
  padding: 20px 0px;
}

/* formulaire booking fenetre modale */
.form-booking .elementor-field-type-acceptance label {
  text-transform: none !important;
  font-size: 10px !important;
  line-height: 24px !important;
  letter-spacing: 0.1px !important;
}

.form-booking .elementor-field {
  padding: 12px 0px;
}

.form-booking .flatpickr-input:not(:placeholder-shown)::after {
  color: #000 !important;
  content: attr(placeholder) !important;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
  padding-top: 12px;
  padding-bottom: 12px;
  box-sizing: border-box;
  height: 49px !important;
}

.form-booking .flatpickr-input {
  position: relative;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  height: 49px !important;
}

.form-booking .flatpickr-input:focus::after,
.flatpickr-input:valid::after {
  display: none !important;
}

/* Fix carousel */
.elementor-carousel-image {
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}

.eliophot-room .eliophot-carousel-wrapper.elementor-main-swiper {
  position: static;
}

/* Fin fix  */

/* FENETRE MODALE */
@media screen and (max-width: 1024px) {
  .pop_up-menu a {
    justify-content: center;
    text-align: center;
  }
}
/* FIN FENETRE MODALE */
/* hero spa + domaine */
#hero-homepages .elementor-swiper-button.elementor-swiper-button-prev {
  top: 90vh;
  left: 50%;
  transform: translateX(-60px);
}

#hero-homepages .elementor-swiper-button.elementor-swiper-button-next {
  top: 90vh;
  right: 50%;
  transform: translateX(60px);
}

/* hero communs */
#hero .elementor-swiper-button.elementor-swiper-button-prev {
  top: 90vh;
  left: 50%;
  transform: translateX(-60px);
}
#hero .elementor-swiper-button.elementor-swiper-button-next {
  top: 90vh;
  right: 50%;
  transform: translateX(60px);
}

#hero .swiper:after {
  content: "";
  background: #00000073;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  pointer-events: none;
}

.home-image-carousel .elementor-swiper-button.elementor-swiper-button-prev {
  bottom: 0 !important;
  top: auto !important;
  transform: translate(0px) !important;
}

.home-image-carousel .elementor-swiper-button.elementor-swiper-button-next {
  bottom: 0 !important;
  top: auto !important;
  transform: translate(0) !important;
  left: 35px;
  right: auto !important;
}

/* #hero .fade-text-hero span {
  hyphens: auto;
  overflow-wrap: break-word;
} */

/* QUICKSEARCH */
#dra-qs .eliophot-qs {
  flex-wrap: wrap;
  flex-direction: row !important;
}

#dra-qs .eliophot-qs-field-container {
  width: 50%;
  background: #fff;
}

#dra-qs .eliophot-qs-field-container.eliophot-qs-begin {
  padding: 15px 0 15px 15px;
}

#dra-qs .eliophot-qs-field-container.eliophot-qs-begin .eliophot-qs-field {
  position: relative;
  padding: 35px 30px 35px 0;
}

#dra-qs
  .eliophot-qs-field-container.eliophot-qs-begin
  .eliophot-qs-field:after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(50%);
  width: 8px;
  background-image: url("/wp-content/uploads/2025/09/dra-qs_separator.svg");
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
}

#dra-qs .eliophot-qs-field-container.eliophot-qs-begin .eliophot-qs-field,
#dra-qs .eliophot-qs-field-container.eliophot-qs-begin {
  justify-content: flex-end;
}

#dra-qs .eliophot-qs-field-container .eliophot-qs-field input {
  width: 6ch;
}

#dra-qs
  .eliophot-qs-field-container.eliophot-qs-begin
  .eliophot-qs-field
  input {
  text-align: end !important;
}

#dra-qs .eliophot-qs-field-container.eliophot-qs-end {
  border-left: none;
  padding: 15px 15px 15px 0;
}

#dra-qs .eliophot-qs-field-container.eliophot-qs-end .eliophot-qs-field {
  padding-left: 30px;
}

#dra-qs button[type="submit"] {
  width: 100%;
  margin-top: 8px;
}

/* qs version mobile */
#dra-qs .eliophot-qs-mobile .grid {
  column-gap: 0;
}

#dra-qs .eliophot-qs-mobile div.col-span-3 {
  background: #fff;

  grid-column: span 3 / span 3;
}

#dra-qs .eliophot-qs-mobile div.col-span-3 .input-form {
  margin-top: 0;
}

#dra-qs .eliophot-qs-mobile div.col-span-3:nth-of-type(1) label {
  padding-right: 16px;
  padding-top: 16px;
}

#dra-qs .eliophot-qs-mobile div.col-span-3:nth-of-type(2) label {
  padding-left: 16px;
  padding-top: 16px;
}

#dra-qs .eliophot-qs-mobile div.col-span-3 .input-form input {
  width: 155px;
}

#dra-qs .eliophot-qs-mobile div.col-span-3:nth-of-type(1) {
  position: relative;
  display: flex;
  flex-direction: column !important;
  align-items: flex-end;
}

#dra-qs .eliophot-qs-mobile div.col-span-3:nth-of-type(1):after {
  content: "";
  height: calc(100% - 32px);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  width: 8px;
  background-image: url("/wp-content/uploads/2025/09/dra-qs_separator.svg");
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
}

#dra-qs .eliophot-qs-mobile div.col-span-3 .icon-wrapper {
  display: none;
}

#dra-qs .eliophot-qs-mobile div.col-span-3.item-price,
#dra-qs .eliophot-qs-mobile div.col-span-6 .api-waiting,
#dra-qs .eliophot-qs-mobile div.col-span-6 .no-avail,
#dra-qs .eliophot-qs-mobile div.col-span-3 + .col-span-6 {
  display: none;
}

@media (min-width: 1025px) and (max-width: 99999px) {
  .elementor .elementor-hidden-desktop {
    display: none !important;
  }
}
/* FIN QUICKSEARCH */

/* MENU RESERVER HOTEL  */
.menu-reserver .click-menu-item a {
  transition: all 0.25s;
}

.menu-reserver .click-menu-item.active a {
  color: var(--e-global-color-944847e) !important;
}

.click-menu-section {
  opacity: 0;
  transition: all 0.25s;
  visibility: hidden;
  pointer-events: none;
}

.click-menu-section.active {
  opacity: 1;
  z-index: 999;
  visibility: visible;
  pointer-events: auto;
}

@media screen and (min-width: 1025px) {
  .menu-reserver .click-menu-item.active a {
    transform: translateX(10px) !important;
  }
}

@media screen and (max-width: 1024px) {
  .menu-reserver a {
    justify-content: center !important;
  }
}

/* FIN MENU RESERVER HOTEL  */

/* footers */
#footer-hotels .spa-item,
#footer-spa .hotel-item {
  display: none;
}

/* -------- PARTIE SPA -------- */
/* Page accueil spa */
/* Tryptique */
@media screen and (min-width: 1201px) {
  .tryptique-item .tryptique-item_titre {
    transform: translateY(40px);
    transition: transform 0.4s;
  }

  .tryptique-item:hover .tryptique-item_titre {
    transform: translateY(-50px);
  }
}

@media screen and (min-width: 768px) {
  .tryptique-item.demi {
    aspect-ratio: 720/630;
  }
}

@media screen and (max-width: 767px) {
  .tryptique-item.demi {
    aspect-ratio: 1/1;
  }
}

/* coffrets cadeaux */
@media screen and (min-width: 1201px) {
  .spa-coffrets_cadeaux:hover:before {
    opacity: 0.7;
  }

  .spa-coffrets_cadeaux .item-1,
  .spa-coffrets_cadeaux .item-2 {
    transition: transform 0.4s;
  }

  .spa-coffrets_cadeaux:hover .item-1 {
    transform: translateY(-30px);
  }

  .spa-coffrets_cadeaux:hover .item-2 {
    transform: translateY(60px);
  }
}

/* PAGE day spa */
.btn-book-icon i {
  font-size: 22px;
}

/* Home */
/* Split Section */
@media screen and (min-width: 1025px) {
  .split-section .split-section-item {
    transition: all 1s;
  }
  .split-section .split-section-item.active {
    width: 100%;
  }

  .split-section .split-section-item .split-section-item-content {
    transition: all 1s;
    opacity: 0;
    transform: translateX(50%);
  }

  .split-section .split-section-item.active .split-section-item-content {
    opacity: 1;
    transform: translateX(0%);
  }
}

/* Hôtel Maillage */
.hotel-maillage {
  transition: all 1s;
}
.hotel-maillage:hover {
  gap: 40px;
}

.hotel-maillage:hover:before {
  opacity: 1;
}

/* Chambre Niv 2 */
.eliophot-room.eliophot-room-room-gallery-full.eliophot-carousel__slider
  .elementor-swiper-button {
  bottom: 20px;
  top: auto;
}

.eliophot-room.eliophot-room-room-gallery-full.eliophot-carousel__slider
  .elementor-swiper-button.elementor-swiper-button-prev {
  left: 45%;
}

.eliophot-room.eliophot-room-room-gallery-full.eliophot-carousel__slider
  .elementor-swiper-button.elementor-swiper-button-next {
  left: auto;
  right: 45%;
}

@media screen and (max-width: 1024px) {
  .eliophot-room.eliophot-room-room-gallery-full.eliophot-carousel__slider
    .elementor-swiper-button.elementor-swiper-button-prev {
    left: 40%;
  }

  .eliophot-room.eliophot-room-room-gallery-full.eliophot-carousel__slider
    .elementor-swiper-button.elementor-swiper-button-next {
    left: auto;
    right: 40%;
  }
}

/* gallery chambre nv2 */
.room-gallery .elementor-swiper-button-prev {
  left: 44% !important;
}

.room-gallery .elementor-swiper-button-next {
  right: 44% !important;
}

/* bouton reserver chambre nv2 */
.room-book-btn a {
  padding: 12px 24px 12px 48px !important;
  position: relative;
}

.room-book-btn a:before {
  content: url("/wp-content/uploads/2025/09/room-calendar.svg");
  position: absolute;
  top: 50%;
  left: 24px;
  line-height: 1;
  transform: translateY(-50%);
}

/* Séminaire  */
@media screen and (min-width: 1024px) {
  .fade-shadow-container:hover::before {
    opacity: 0.7;
  }

  .fade-shadow-container .fade-shadow-text,
  .fade-shadow-container .fade-shadow-button {
    max-height: 0;
    opacity: 0;
    transition: all 0.3s ease-out;
  }

  .fade-shadow-container:hover .fade-shadow-text,
  .fade-shadow-container:hover .fade-shadow-button {
    max-height: 100vh;
    opacity: 1;
    transition: all 0.3s ease-out;
    transition: all 1s ease-in;
  }
}

.salle-image {
  opacity: 0;
  pointer-events: none;
  transition: all 1s;
}

.salle-image.active {
  opacity: 1;
  pointer-events: auto;
}

.salle-title span {
  transition: all 0.5s;
  cursor: pointer;
}

.salle-title:hover span {
  opacity: 0.4;
}

.salle-title.active span {
  color: var(--e-global-color-secondary) !important;
}

/* PAGE OFFRES SPECIALES - LISTING */
.listing-offres .eliophot-offer__container {
  position: relative;
}

.listing-offres .eliophot-offer__group {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}

.listing-offres .eliophot-carousel__slider:after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 1024px) {
  .listing-offres
    .eliophot-offer__container:hover
    .eliophot-carousel__slider:after {
    background: rgba(0, 0, 0, 0.7);
  }

  .listing-offres .eliophot-offer__summary,
  .listing-offres .eliophot-offer__cta_buttons {
    max-height: 0;
    opacity: 0;
    transition: all 1s ease-in-out;
  }

  .listing-offres .eliophot-offer__container:hover .eliophot-offer__summary,
  .listing-offres
    .eliophot-offer__container:hover
    .eliophot-offer__cta_buttons {
    max-height: 100vh;
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .listing-offres .eliophot-offer__summary {
    width: 70%;
    margin: auto;
  }
}

@media screen and (max-width: 1024px) {
  .listing-offres .eliophot-carousel__slider:after {
    background: rgba(0, 0, 0, 0.7);
  }
}

/* offres spéciales */
.detail-offre .offer-price_persons .eliophot-offer-description {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

/* spa - espaces bien etre -- listing espaces */
@media screen and (min-width: 1201px) {
  .espaces-listing .absolute-img {
    height: 100%;
  }

  .espaces-listing .absolute-img:after {
    content: "";
    width: 100%;
    height: 100%;
    background: #00000033;
    z-index: 4;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }

  .espaces-listing .espace_titre {
    transform: translateY(110px);
    transition: all 0.65s;
  }

  .espaces-listing .espace_content {
    opacity: 0;
    transform: translateX(-25%);
    transition: all 0.65s;
  }

  .espaces-listing .espace .absolute-img {
    transition: transform 0.8s, width 0.8s;
  }

  .espaces-listing .espace:hover .absolute-img {
    transform: translateX(-100%);
    width: 20%;
  }

  .espaces-listing .espace:hover .espace_titre {
    transform: translateY(0);
  }

  .espaces-listing .espace:hover .espace_content {
    opacity: 1;
    transform: translateX(0);
  }
}

/* bloc services avec pictos */
.services-pictos ul {
  row-gap: 20px;
}

@media screen and (max-width: 767px) {
  .services-pictos ul li {
    width: 50%;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .services-pictos ul li {
    width: 33%;
    padding-right: 20px;
  }
}
