/* EXTRA
Theme Name: Upstays-theme
Theme URI: https://upstays.com
Template: hello-elementor
Author: upstays
Author URI: https://upstays.com
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 1.1765806662
Updated: 2025-12-15 13:51:02
/*GLOBAL*/
h3.elementor-icon-list-text {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.ti-header.ti-header-grid.source-Google {
  border-radius: 50px !important;
}
.elementor-counter-title {
  line-height: 16px;
  text-align: center;
}
/* Bouton Louer mon logement */
.btn-line  {
    position: relative;
}

.btn-line.jaune-stroke::after {
	border: 1px solid #FFC532;
  	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 35px;
	pointer-events: none;
}
.btn-line.lavande-stroke a::after {
	border: 1px solid #7E92BB;
  	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 35px;
	pointer-events: none;
}
.btn-line.olive-stroke::after {
	border: 1px solid #8C8E6E ;
  	content: "";
	position: absolute;
	inset: -4px;

	border-radius: 35px;
	pointer-events: none;
}
.btn-line.terra-stroke::after {
	border: 1px solid #A65D43 ;
  	content: "";
	position: absolute;
	inset: -4px;

	border-radius: 35px;
	pointer-events: none;
}
/*HEADER MENU*/
.elementor-element.elementor-element-e2ee4a6.header-sticky.e-flex.e-con-boxed.e-con.e-child.elementor-sticky.elementor-sticky--active.elementor-section--handles-inside.elementor-sticky--effects {
  z-index: 999999 !important;
}
.wpml-ls-legacy-list-horizontal {
  padding-bottom: 0px !important;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {
	padding: 0px !important;
  margin-right: 10px !important;
}
/* Reset focus pour éviter le double background */
#mega-menu-wrap-menu-1 .mega-menu-link:focus {
  background: transparent !important;
  box-shadow: none !important;
}

/* Style unique pour l'item actif */
#mega-menu-wrap-menu-1 .mega-current-menu-item > .mega-menu-link {
  background: rgba(255,255,255,0.15); /* adapte à ton style */
  border-radius: 999px;
}
/*connexion proprietaire*/
._mi._before.dashicons.dashicons-admin-users {
  border: 2px solid;
  border-radius: 50px;
  padding: 5px;
}
@media (min-width: 1025px){
.mega-connex-proprio span {
  display: none !important;
}
}

/*btn halo*/
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.cta-rdv{
  position: relative !important;
  border-radius: 50px !important;
  animation: upstaysPulseLI 2s infinite !important;
}

@keyframes upstaysPulseLI{
  0%{
    box-shadow: 0 0 0 0 rgba(255,255,255,.6);
  }
  70%{
    box-shadow: 0 0 0 10px rgba(255,255,255,0); /* ← réduit ici */
  }
  100%{
    box-shadow: 0 0 0 0 rgba(255,255,255,0);
  }
}
/* S'assure que le CTA est le conteneur */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-cta-rdv > a.mega-menu-link{
  position: relative !important;
  border-radius: 50px !important;
  overflow: hidden !important; /* garde la 2e ligne à l’intérieur */
}

/* 2e ligne intérieure */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-cta-rdv > a.mega-menu-link::before{
  content: "" !important;
  position: absolute !important;
  inset: 2px !important;            /* distance intérieure */
  border-radius: 50px !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  pointer-events: none !important;
  margin: 0px !important;
}
/*-LANGUES WPML*/
/* =========================================================
   WPML FR/EN — côte à côte
   ========================================================= */
   .wpml-ls-link span {
    color: #fff !important;
      font-weight: 500 !important;
font-size: 14px !important;
   }
   .wpml-ls-current-language span {
  font-weight: 900 !important;
}
.wpml-ls.wpml-ls-legacy-list-horizontal > ul{
  display: flex !important;
  align-items: center !important;
  gap: 10px;                 /* espace entre EN et FR */
  margin: 0;
  padding: 0;
  list-style: none;
  
}
.wpml-ls.wpml-ls-legacy-list-horizontal > ul > li:not(:last-child)::after{
  content: "|";
  margin-left: 8px;
  color: #ffffff;
  opacity: 0.6;
}
.wpml-ls.wpml-ls-legacy-list-horizontal li{
  float: none !important;
  clear: none !important;
  width: auto !important;
}

.wpml-ls.wpml-ls-legacy-list-horizontal > ul > li{
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* optionnel : style du lien */
.wpml-ls.wpml-ls-legacy-list-horizontal .wpml-ls-link{
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: .4px;
}
/*-LANGUES WPML*/
#mega-menu-menu-1 li a, .mega-sub-menu li a {
	font-size: 15px !important;
	font-weight: 600 !important;
  font-family: 'Roboto', sans-serif !important;
text-transform: none !important ;
}
a.mega-menu-link {
  padding: 0px 14px;
}
/* Avant scroll (header transparent) */
.cta-rdv .mega-menu-link{
  border: 1px solid #fff !important;
  border-radius: 50px !important;
  background-color: #4f4f4f24 !important;
  box-shadow: 0 0px 5px rgba(136, 92, 8, 0.28) !important;
  transition: background-color .25s ease !important;
}

/* Après scroll (header sticky actif) */
.elementor-sticky--active .cta-rdv .mega-menu-link{
  background-color: #da910654 !important;
}
.mega-menu-link:hover, .mega-menu-link:active, li.mega-menu-item:active {
  background: #ffffff36 !important;
  border-radius: 50px !important;
}
#mega-menu-menu-1 a[aria-current="page"]{
 background: #ffffff36 !important;
  border-radius: 50px !important; 
}
#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-box span, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-box span:before,#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-box span:after {
  background-color: #fff !important;
}
@media (min-width: 1024px){
.menu-top-nav #mega-menu-menu-1 li {
  padding-right: 9px !important;
}
}

  .menu-top-nav #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
        right: 0 !important;
        left: auto !important;
        padding: 40px;
        padding-left: 20px !important;
        width: 40vh !important;
    }
#mega-menu-menu-1 li a, .mega-sub-menu li a {
	font-size: 15px !important;
	font-weight: 600 !important;
  font-family: 'Roboto', sans-serif !important;
text-transform: none !important ;
}
    
     #mega-menu-menu-1 > li.upstays-wpml-flags{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    width: auto !important;
  }

  #mega-menu-menu-1 > li.upstays-wpml-flags > a.mega-menu-link{
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  #mega-menu-menu-1 > li.upstays-wpml-flags img.wpml-ls-flag{
    display: block;
    width: 18px; /* ajuste si besoin */
    height: auto;
  }
   #mega-menu-menu-1 > li.upstays-wpml-flags{
    margin-left: auto;
  }
      #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        visibility: visible;
        opacity: 1;
        left: calc(min(100vw - 40px, 16px)) !important;
        right: auto;
    }
        .menu-top-nav #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
      
        padding-top: 100px !important;
    }
    

/* Header transparent au chargement */
.header-sticky {
    background-color: transparent;
    transition: background-color 0.35s ease, box-shadow 0.35s ease;
}

/* Header avec fond au scroll */
.header-sticky.elementor-sticky--active {
    background-color: rgba(255, 197, 50, 1); /* adapte la couleur */
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    margin-top: 0.5em !important;
}
/*Tableau calendrier recherche*/
.input-group.booking-search-input-container {
  flex-direction: row !important;
  gap: 20px;
  align-items: center;
}
._col.col-start-date.col-dates {
  padding-right: 40px;
}
.datepicker__inner {
  padding: 20px;
  background-color: #FFFDFB;
}
.datepicker__inner td.datepicker__month-day--today {
  color: #8C8E6E !important;
  background-color: #FFC532 !important;
  border-radius: 50px;
}
.datepicker__month-day {
  color: #8C8E6E;
  font-weight: 700;
}
.datepicker__month-day--invalid {
  color: #8C8E6E61 !important;
  font-weight: 600;
}
.datepicker__inner td {
    background-color: transparent !important;
}
.datepicker__inner table thead:first-child tr:first-child th {
border-block-start : none;
}
.datepicker__inner table th {
    border: none;
    line-height: 0.5;
  padding: 10px 0px;
  vertical-align: middle;
}
.datepicker__inner .datepicker__month-day--first-day-selected, .datepicker__month-day--last-day-selected {
 background-color: #ffc532 !important;
  color: #fff !important;
  font-weight: 900 !important;
}
.datepicker__inner .datepicker__month-day--selected {
  background-color: rgba(255, 197, 50, 0.1) !important;
  color: #ffc532 !important;
  font-weight: 900 !important;
}
.datepicker__inner .datepicker__month-day--hovering {
  background-color: rgba(255, 197, 50, 0.1) !important;
  color: #afadad !important;
}
.hfy-search-form-row label {
  text-transform: uppercase;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  color: #ffc532 !important;
}
.home-search ._col.col-start-date.col-dates {
  padding-right: 25px;
}
.booking-search-input-container .icon-label {
  display: flex;
  justify-content: center;
  align-items: center;
    width: 10%;

}
body.upstays-options-open{
  overflow: hidden !important;
  touch-action: none !important;
}

body.upstays-options-open #formBooking .hfy-search-form-advanced{
  max-height: 70vh !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}
.icon-label i {
  display: none;
}
.ico-guest .icon-label {
  display: flex;
  justify-content: center;
  width: 42%;
  align-items: center;
}
.hfy-theme1 .number-input {
	height: 50px !important;
}
.form-control.hotel-datepicker {
overflow: hidden;
  font-style: normal;
  text-transform: uppercase;
  text-overflow: ellipsis;
  text-align: center !important;
  border: 1px solid #ffc532 !important;
  border-radius: 50px !important;
  margin-left: 0px !important;
  background-color: #FFF !important;
  padding: 6px !important;
}

.input-group.number-input.guests-input.guests-count-num-wrap {
height: 38px !important;
  overflow: hidden;
  font-style: normal;
  text-transform: uppercase;
  text-overflow: ellipsis;
  text-align: center !important;
  border: 1px solid #ffc532 !important;
  border-radius: 50px !important;
  margin-left: 0px !important;
  background: #fff !important;
}
#form-container span.guests-count-num {
  white-space: nowrap;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400 !important;
  color: #000 !important;
 font-family: 'Roboto', sans-serif !important;
  padding: 0px 20px;
}
#form-container span.guests-count-num::before {
  content: "-";
  padding-right: 10px;
}
#form-container span.guests-count-num::after {
  content: "+";
  padding-left: 10px;
}
.guests-input-label {
  width: 100%;
  padding: 6px !important;
}

.hfy-search-form-row button span {
    display: none !important;
}
.select-guests-wrap .select-guests-dropdown {
  background: #FFFDFB !important;
  box-shadow: rgba(0, 0, 0, 0.15) 0 2px 6px, rgba(0, 0, 0, 0.07) 0 0 0 1px;
  border: none !important;
}
.select-guests-dropdown .context {
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color:#3C3C3C;
}
.select-guests-wrap .context-box .subcontext {
  font-size: smaller;
  line-height: 100%;
  font-style: italic;
  color: #7E92BB;
    font-weight: 500 !important;

}
.hfy-search-form-row button {
padding: 5px 10px !important;
  background-color: #ffc532 !important;
  border-radius: 50px !important;
  color: #fff !important;
  text-transform: uppercase;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}
#form-container .hfy-search-form-row {
  padding-left: 0px !important;
  grid-column-gap: 20px !important;
 
}
.hfy-wrap .hfy-search-form-wrap {
  padding: 0.6rem 2rem !important;
  border-radius: 50px !important;
}
/*AVIS GOOGLE*/
.ti-widget.ti-goog > .ti-widget-container > .ti-header, .ti-widget.ti-goog > .ti-widget-container > .ti-footer {
  border-top-width: 1px !important;
  border-bottom-width: 1px !important;
  border-left-width: 1px !important;
  border-right-width: 1px !important;
  background-color: #ffffffab !important;
  backdrop-filter: blur(0px);
  border-radius: 50px;
}
/* ==========================================
   LINES BG FIXED — FINAL (desktop only)
   Objectif :
   - Lignes visibles au-dessus des backgrounds de sections
   - Contenu (textes/images) au-dessus des lignes
   - Pas de lignes sur tablette/mobile
   ========================================== */
@media (max-width: 900px){

.lines-bg-left img, .lines-bg-right img {
  width: 55% !important;
}
.lines-bg-left{
  left: 0 !important;
  text-align: left !important;
}

.lines-bg-right{
  right: 0 !important;
  text-align: right !important;
}

.lines-bg-left img{
  display: block;
  margin-left: 0 !important;
}

.lines-bg-right img{
  display: block;
  margin-left: auto !important;
  margin-right: 0 !important;
}
}
@media (max-width: 767px){

  .lines-bg-left img,
  .lines-bg-right img{
    width: 42% !important;
    height: auto !important;
  }

}
@media (max-width: 490px){

  .lines-bg-left img,
  .lines-bg-right img{
   display: none !important;
  }

}
/* Sécurité : si jamais lines-on reste actif en tablette/mobile */
@media (max-width: 1024px){
  body::before,
  body::after{
    opacity: 0 !important;
  }
}
/*TEXT ACCORDION*/
/* Bloc accordion */
#bloc-txt-home-accordion{
  position: relative;
  overflow: hidden;
  will-change: height;
  cursor: default;
}

/* Dégradé bottom #F2EFEA -> transparent (haut) */
#bloc-txt-home-accordion::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:140px;
  pointer-events:none;
  background: linear-gradient(
    to top,
    #F2EFEA 0%,
    rgba(242,239,234,0.85) 35%,
    rgba(242,239,234,0.35) 65%,
    rgba(242,239,234,0) 100%
  );
  opacity: 1;
  transition: opacity 400ms ease;
}

/* Quand ouvert: on masque le dégradé */
#bloc-txt-home-accordion.is-open::after{
  opacity: 0;
}
/*CARTES CAROUSEL*/

.listings-container .list-card {
  border: 1px solid #7E92BB !important;
  -moz-border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  -o-border-radius: 20px !important;
  border-radius: 20px !important;
  padding: 10px !important;
}

.list-card-content {
    color:#7E92BB !important;
}
.listing-location {
  font-family: Bricolage Grotesque !important;
}
.price-box {
	padding-left: 4px;
}
.hfy-theme1 .list-card .info .l-title {
  font-size: 13px !important;
  line-height: 15px !important;
  font-weight: 400 !important;
  font-family: 'Roboto', sans-serif !important;
  text-transform: uppercase !important;
}
.l-location {
  margin-bottom: 0px !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
font-weight: 700 !important;
letter-spacing: -0.2px;
}
.l-nickname {
  font-style: italic;
  text-transform: none;
  font-size: 12px;
  font-weight: 600;
  color: #9ca5ae;
}
.hfy-theme1 .list-card .info {
  gap: 3px !important;
  border-bottom: 1px solid;
  padding-bottom: 15px;
}
.bottom-details {
  padding-top: 5px;
  gap: 3px !important;
}
.bottom-details .price {
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
font-family: 'Roboto', sans-serif !important;
}
.btn-dicover {
   white-space: nowrap;
border: 1px solid #7E92BB;
  border-radius: 50px;
  text-align: center;
  font-family: 'Roboto', sans-serif !important;
  font-size: 10px;
  line-height: 15px;
  font-weight: 500;
  color: #7E92BB;
  padding: 10px ;
  text-transform: uppercase;
  margin-top: 10px;
}
.pricing-reviews-container {
  align-items: center;
}
.list-card {
  transition: background-color 0.6s ease, color 0.6s ease;
}
.list-card:hover {
  background-color:#FFC532;
}
.additional-details {
  border-bottom: 1px solid #7E92BB;
  padding-bottom: 5px !important;
  margin-bottom: 5px !important;
}
.list-card .additional-details {
  max-height: 0;
  overflow: hidden;

  opacity: 0;
  transform: translateY(8px);

  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    transform 0.6s ease;
}
.list-card:hover .additional-details {
  max-height: 120px; /* ajuste selon le contenu */
  opacity: 1;
  transform: translateY(0);
}
.hfy-listing-reviews-stars .stars-main > span > svg:first-child g,
.hfy-listing-reviews-stars .stars-main > span > svg:first-child path {
  fill: transparent !important;
}
/* transition smooth */
.hfy-listing-reviews-stars .stars-main svg g,
.hfy-listing-reviews-stars .stars-main svg path{
  transition: fill .6s ease;
}

/* 2) Au hover : couche rating (2e SVG dans le span width) jaune -> blanc */
.list-card:hover .hfy-listing-reviews-stars .stars-main > span > span svg g,
.list-card:hover .hfy-listing-reviews-stars .stars-main > span > span svg path{
  fill: #fff !important;
}
/* Ã©tat normal */
.list-card .btn-dicover{
  background-color: transparent;
  transition:
    background-color 0.45s cubic-bezier(.22,.61,.36,1),
    color 0.35s ease,
    transform 0.45s cubic-bezier(.22,.61,.36,1),
    opacity 0.35s ease;
}

/* hover carte */
.list-card:hover .btn-dicover{
  background-color: #ffffff69;
  color: #7E92BB; /* ou #000 / couleur de ta charte */
}
/* Hover = tout le SVG devient rouge */
.elementor-element-488dcf9 .elementor-swiper-button:hover svg path,
.elementor-element-488dcf9 .elementor-swiper-button:hover svg g,
.elementor-element-488dcf9 .elementor-swiper-button:hover svg rect,
.elementor-element-488dcf9 .elementor-swiper-button:hover svg circle,
.elementor-element-488dcf9 .elementor-swiper-button:hover svg polygon{
  fill: #FFC532 !important; /* ton rouge */
}

/* Smooth */
.elementor-element-488dcf9 .elementor-swiper-button svg path,
.elementor-element-488dcf9 .elementor-swiper-button svg g,
.elementor-element-488dcf9 .elementor-swiper-button svg rect,
.elementor-element-488dcf9 .elementor-swiper-button svg circle,
.elementor-element-488dcf9 .elementor-swiper-button svg polygon{
  transition: fill .25s ease;
}
.form-home .elementor-button {
  flex-basis: 30% !important;
  background-color: transparent !important;
  border: 1px solid #A6A49F;
}
.form-home .elementor-button span{
  color: #91908E !important;
}
.form-home .elementor-field-type-textarea.elementor-field-group.elementor-column.elementor-field-group-message.elementor-col-100 {
  border-bottom: #91908E 2px solid;
  padding: 0px 0px 3px 0px;
}
.elementor-field-group {
  padding-left: 0px !important;
}
.elementor-field-group input {
  padding-left: 14px !important;
}
.form-home .elementor-field-group {
  padding: 0px 0px 3px 0px;
}

/* Newsletter – centrer le bouton verticalement */
.form-news  .e-form__buttons {
    display: flex;
    align-items: center;
    justify-content: center; /* optionnel si tu veux aussi centré horizontalement */
}
@media (min-width: 768px) {
  .form-news .elementor-column.elementor-col-75{
    width: 72% !important;
  }
}
.form-news::after {
	border: 1px solid #A65D43;
  	content: "";
	position: absolute;
	inset: -4px;

	border-radius: 35px;
	pointer-events: none;
}
.form-news .elementor-field-group .elementor-field-textual:focus {
  box-shadow: none;
  outline: 0;
}
/*_____________________________PAGE UNIQUE LISTING__*/
/*header*/
#single-listing-gallery h1 {
  font-size: 51px;
  line-height: 50px;
  color: #fff;
}
.hfy-listing-title {
  font-size: 52px !important;
  line-height: 49px !important;
}
.hfy-listing-ref {
	font-size: 14px;
	font-style: italic;
	font-weight: 600;
	color: #8C8E6E;
}
.hfy-listing-title-block .hfy-listing-city {
	text-transform: uppercase;
	font-weight: 600;
font-family: 'Roboto', sans-serif !important;
	font-size: 12pt;
	color: #8C8E6E;
}
.hfy-wrap.hfy-theme1 .hfy-listing-hotel-facilities > div {
  border: none !important;
  background-color: #8C8E6E !important;
  color: #FAF8F6 !important;
  border-radius: 10px;
  display: flex;
  align-content: center;
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px;
  align-items: center;
  font-weight: 600;
  padding: 4px 10px 4px 8px;

}
.hfy-wrap.hfy-theme1 .hfy-listing-hotel-facilities > div i {
  border: none !important;
  background-color: #F2EFE9 !important;
}

.hfy-listing-hotel-facilities {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
}
/*cadre reservation*/
.price-block-item ._label small {
  display: none;
}
.card-frame{
position: relative;
  padding: 20px;
  border-radius: 28px;
  background: #f6f1ea;
  border: 5px solid #FFC532;
  outline: 1px solid #FFC532;
  outline-offset: 6px;
}
.card-frame .hotel-datepicker {
z-index: 1 !important;
}
.card-frame .form-control.hotel-datepicker {
  background-color: transparent !important;
    z-index: 2 !important;

}
.card-frame .select-guests-wrap {
    z-index: 999 !important;


}
.card-frame .hfy-listing-booking-form {
  z-index: 999 !important;
}
.card-frame .input-group.number-input.guests-input.guests-count-num-wrap {
    background-color: transparent !important;
    z-index: 2 !important;

}
/* 3e trait */ 
.card-frame {
  position: relative; /* important */
}

.card-frame::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 21px;
  border: 1px double #FFC532;
  pointer-events: none; /* ðŸ‘ˆ clÃ© magique */
}
/*amenities*/
.hfy-theme1 .hfy-listing-amenities > span, .hfy-listing-amenities .am-icon { 
  border: none !important;
  background-color: transparent !important;
  color: #8C8E6E !important;
}
.hfy-listing-amenities .am-icon { 
  border: none !important;
  background-color: transparent !important;
 stroke: #8C8E6E !important;
}
.hfy-am{
  color: #7E92BB;
}

.hfy-am:hover{
  color: #ff0000;
}

/* SVG inline */
.hfy-am svg{
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* IMPORTANT : forcer la couleur */

.hfy-am svg g{
  fill: currentColor;
}
.hfy-am svg path {
    fill: transparent;

}
/*tv cable*/
.hfy-am-18 svg path {
  fill: #8C8E6E;
}


/* âœ… grille */
.hfy-wrap .hfy-listing-amenities{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px 30px;
}

/* âœ… chaque amenity (icon + texte) */
.hfy-wrap .hfy-listing-amenities .hfy-am{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0 !important;     /* au cas oÃ¹ le plugin met des marges */
  padding: 0;
}

/* âœ… icÃ´ne inline svg */
.hfy-wrap .hfy-listing-amenities .hfy-am svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  display: block;
}

/* âœ… texte */
.hfy-wrap .hfy-listing-amenities .hfy-am{
font-size: 13px;
  font-weight: 600;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Responsive */


/*PAGE LISTING---BLOCK RESERVATION */

#reserve-block .calendar-i {
  display: none;
}
#reserve-block input#hotel-datepicker {
  margin: 0px;
border-radius: 0px !important;
border-right: 0px !important;
border-left: 0px !important;
border-bottom: 0px !important;
border-color: #7A7A7A;
padding-top: 15px !important;
text-align: left !important;
}
#reserve-block .input-group.number-input.guests-input.guests-count-num-wrap {
  text-overflow: ellipsis;
  align-items: center;
  border: 1px solid #7A7A7A !important;
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: rgb(255, 197, 50);
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: rgb(255, 197, 50);
  border-radius: 0px !important;
  margin-left: 0px !important;
  border-left: 0px !important;
  border-right: 0px !important;
  padding-left: 0px !important;
}
#reserve-block .guests-input-label {
  font-size: 13px;
  font-weight: 700;
  text-align: center !important;
  color: #797F85 !important;
  text-align: left !important;
}
.hfy-theme1 .btn.btn-book-now {
  background-color: #FFC532;
  border-radius: 50px;
}
.btn-close-guests-box button {
padding: 5px 10px !important;
  background-color: #ffc532 !important;
  border-radius: 50px !important;
  color: #fff !important;
  text-transform: uppercase;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}
#reserve-block .discount-code-wrap {
  margin: 0px !important;
  padding: 5px 15px;
  border-bottom: 1px solid #7A7A7A !important;
}
#reserve-block .form-control {
  border: none;
  border-radius: 0px;
  background-color: transparent;
  font-size: 13px;
  text-transform: uppercase;
  font-weight: 600;
  padding-left: 6px !important;
}
#reserve-block .discount_code_check {
  background-color: transparent;
  font-size: 9px;
  border: 1px solid #6C757D !important;
  border-radius: 50px;
  color: #6C757D !important;
  padding: 5px 7px 3px 7px !important;
}
#reserve-block  .discount-code-wrap .input_wrap {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
 #reserve-block .col {
  padding-left: 0px;
  padding-right: 0px ;
 }
  #reserve-block .reset-date {
  padding: 5px 15px;
  text-transform: uppercase;
  border-radius: 50px;
  font-size: 10px;
  font-weight: 600;
background-color: #8C8E6E;
  color: #fff !important;
  border: none;
}
.hfy-listing-info-more, .hfy-listing-info-less {
  background-color: #FFC532;
  padding: 10px 0px 5px 20px !important;
}
.hfy-listing-info-more span, .hfy-listing-info-less span {
  color: #fff !important;
}
.hfy-listing-info-overlay::after {
  background-image: none;
}
  #reserve-block .sl-policy-container {
  font-size: 10px;
  font-weight: 500;
  color: #6C757D;
  font-family: 'Roboto', sans-serif !important;
  margin-top: 23px;
}
.hfy-listing-location img {
  border-radius: 20px !important;
}
#reserve-block .sl-policy-container h5{
  font-size: 12px;
  font-weight: 600;
  color: #6C757D;
  font-family: 'Roboto', sans-serif !important;
  line-height: 0.4 !important;
}
#reserve-block hr {
  margin: 6px 0px;
}
#reserve-block  form.listing-price {
  margin: 10px 0 0 0px;
}
.reset-date-wrap {
  height: auto !important;
  margin: 0;
}
.hfy-listing-info-summary {
  font-size: 17px;
  line-height: 22px;
  font-weight: 600;
  color: #8C8E6E;
  font-family: var(--e-global-typography-text-font-family);
  text-transform: uppercase;
}
/*PAGE LISTING---BLOCK DATES */
#dispo-unique-listing .datepicker__inner {
  background-color: #FAF8F6;
}
#dispo-unique-listing #datepicker-hotel-datepicker-v3 {
  box-shadow: none;
  border: 1px solid #8C8E6E;
  background-color: transparent;
  border-radius: 15px;
}
.datepicker__month-name {
  text-transform: uppercase;
  color: #8C8E6E;
  font-size: 16px;
   font-family: 'Bricolage Grotesque', sans-serif !important;
}
.datepicker__week-name {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
font-family: 'Roboto', sans-serif !important;
  color: #8C8E6E;
}
.datepicker__month-caption {
  border-bottom: 1px solid #8C8E6E !important;

}
.datepicker__month-button--next::after {
  background-image: url(/wp-content/uploads/2026/01/arrow-kaki_right.svg) !important;
}
.datepicker__month-button::after {
  width: 16px !important;
  height: 10px !important;
}
.datepicker__month-button--prev::after {
  background-image: url(/wp-content/uploads/2026/01/arrow-kaki_left.svg) !important;
}

/*PAGE LISTING---BLOCK AVIS */

.main-rating {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-direction: column !important;
}
.hfy-reviews-summary-modern {
  background: transparent;
  border-radius: 12px;
  padding: 0px;
  box-shadow: none !important;
  margin: 0;
  border: 1px solid #f0f0f0;
  flex-direction: row !important;
  display: flex;
   font-family: 'Bricolage Grotesque', sans-serif !important;
}
.reviews-summary-header {
  width: 30%;
}
.main-rating {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-direction: column !important;
  justify-content: center !important;
}
.review-rating-inline .review-stars {
  transform: scale(0.8);
  transform-origin: center !important;
}
.rating-number {
  font-size: 60px;
  font-weight: 600;
  color: #8C8E6E;
  line-height: 1;
}

.review-rating-inline .review-stars > span svg polygon {
  fill: #FFC532 !important;     /* couleur de remplissage */
  stroke: #8C8E6E !important;   /* couleur du contour */
  stroke-width: 0.8;            /* Ã©paisseur du contour (ajuste si besoin) */
  stroke-linejoin: round;       /* angles plus doux */
}

/* Ã‰toiles vides (fond) */
.review-rating-inline .review-stars > svg polygon {
  fill: #E5E7EB !important;     /* fond Ã©toile vide */
  stroke: #8C8E6E !important;   /* mÃªme contour */
  stroke-width: 0.8;
  stroke-linejoin: round;
}

.rating-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 12px;
  background: transparent;
  border-radius: 6px;
  transition: all 0.2s ease;
  width: 100%;
    border: solid 1px #F2EFE9;

}
.rating-category:hover {
  background: transparent;
  transform: translateY(-1px);
  border: solid 1px #8C8E6E;
  border-radius: 6px;
}
.category-label {
  font-size: 13px;
  font-weight: 500;
  color: #8C8E6E;
  margin-right: 8px;
  white-space: nowrap;
  text-transform: uppercase;
}
.review-rating-inline .review-rating-number {
  display: none;
}
/*PAGE LISTING---BLOCK COMMENTAIRES */

.reviews-comments-item {
  margin: 0 10px 10px 0;
  padding: 16px;
  border-radius: 0px !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #8C8E6E;
}
.comment-author-fallback {
  display: none;
}
.reviews-comments-item img {
  display: none;
}
.review-header-left {
  text-transform: uppercase;
 font-family: 'Bricolage Grotesque', sans-serif !important;
   color: #8C8E6E;
}
.review-source {
  background-color: transparent;
  border-radius: 10px;
  border: 1px solid #8C8E6E;
}
.review-source span { 
  color : #8C8E6E !important;
}
.hfy-theme1 .view-more-reviews-btn {
  border-radius: 50px;
  background-color: #FFC532 !important;
  color: #fff;
  text-transform: none;
  border: none !important;
  font-family: 'Roboto', sans-serif !important;

}
/* =========================================================
   LISTING HEADER: background + overlay + gallery thumbs
   ========================================================= */

/* Header container */
#single-listing-gallery{
  position: relative;
  overflow: hidden;
}

/* Background image (set in JS via --listing-hero-bg) */
#single-listing-gallery::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--listing-hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
}

/* Dark overlay */
#single-listing-gallery::after{
  content:"";
  position:absolute;
  inset:0;
  /*background: linear-gradient(
    rgba(255, 197, 50, 0.4),
    rgba(140, 142, 110, 0.7),
    rgba(90, 92, 67, 1)
  );*/
  background: #f2efea1f;
  z-index: 0;
  pointer-events: none;
}


/* Content above bg/overlay */
#single-listing-gallery > .e-con-inner{
  position: relative;
  z-index: 2;
}

/* =========================================================
   Listing header gallery layout: 1 big left + thumbs right
   ========================================================= */

#single-listing-gallery .hfy-listing-gallery{
  display: grid !important;
  grid-template-columns: 1fr 120px;
  gap: 14px;
  align-items: stretch;
  height: 400px !important;
  padding: 40px 0 25px 30px;
}

/* Common img-wrap base (main + thumbs) */
#single-listing-gallery .hfy-listing-gallery .img-wrap{
  position: relative;
  overflow: hidden;
}

/* Big image (left) */
#single-listing-gallery .hfy-listing-gallery > .main.img-wrap{
  display: block !important;
  height: 100%;
  width: 100% !important;
  border-radius: 18px;
  cursor: pointer;
  box-shadow: 0 0px 14px rgba(62, 57, 37, 0.68);
  border: 2px solid #F8F2E2C7;
}

/* Thumbs column (right) */
#single-listing-gallery .hfy-listing-gallery > .list{
  display: flex !important;
  flex-direction: column !important;
  gap: 14px;
  height: 100%;
  overflow: hidden;
  justify-content: space-between;
  width: 100% !important;
}

/* Each thumb = 1/4 height */
#single-listing-gallery .hfy-listing-gallery > .list .img-wrap {
	flex: 1 1 0;
	min-height: 0;
	border-radius: 12px;
	cursor: pointer;
	box-shadow: 0 0px 6px rgba(63, 63, 12, 0.3);
	width: 100%;
	background: rgba(62, 59, 27, 0);
	border: 2px solid #FFC532;
}

/* Images cover */
#single-listing-gallery .hfy-listing-gallery img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hide thumbnails beyond quota (JS adds .hfy-thumb-hidden) */
#single-listing-gallery .hfy-thumb-hidden{
  display: none !important;
}
/* 1) On supprime la grosse image (colonne gauche) */
#single-listing-gallery .hfy-listing-gallery > .main.img-wrap{
  display: none !important;
}

/* 2) La grille devient une seule colonne (juste la liste) */
#single-listing-gallery .hfy-listing-gallery{
  grid-template-columns: 120px !important; /* largeur de la colonne thumbs */
  justify-content: end;                    /* colle Ã  droite du container */
  gap: 0 !important;
  padding: 40px 0 25px 0 !important;       /* enlÃ¨ve le padding gauche 30px */
}

/* 3) La liste doit prendre toute la hauteur et Ãªtre collÃ©e Ã  droite */
#single-listing-gallery .hfy-listing-gallery > .list{
  width: 120px !important;
  justify-content: space-between;
}

/* 4) Cacher les vignettes au-delÃ  de 4 (pilotÃ© par JS) */
#single-listing-gallery .hfy-listing-gallery .list .img-wrap.hfy-thumb-hidden{
  display: none !important;
}
 .hfy-theme1 .hfy-listing-gallery.hfy-listing-gallery-abnb .list > div:nth-child(3), .hfy-theme1 .hfy-listing-gallery.hfy-listing-gallery-abnb .list > div:nth-child(4) {
    display: inline;
  }


  /* âœ… MOBILE : carrousel horizontal (4 vignettes) â€” version blindÃ©e */


/* =========================================================
   Badge +X on the last visible thumb (overlay stays, text above)
   ========================================================= */

#single-listing-gallery .img-wrap.hfy-thumb-last-visible img{
  position: relative;
  z-index: 1; /* image under overlay */
}

/* Overlay (uses ::before as you said) */
#single-listing-gallery .img-wrap.hfy-thumb-last-visible::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 2;
}

/* Text +60 above overlay (uses ::after) */
#single-listing-gallery .img-wrap.hfy-thumb-last-visible::after{
  content: attr(data-more);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 26px;
  letter-spacing: 0.02em;
  z-index: 3;
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Hover: a bit darker + micro punch */
#single-listing-gallery .img-wrap.hfy-thumb-last-visible:hover::before{
  background: rgba(0,0,0,0.60);
}
#single-listing-gallery .img-wrap.hfy-thumb-last-visible:hover::after{
  transform: scale(1.02);
}

/* Optional: hide old button if unused */
#show-gallery-btn{
  display: none;
}

/* =========================================================
   Mobile: big image then horizontal thumbs
   ========================================================= */
/* =========================================================
   Smooth hover IN & OUT on listing gallery images
   ========================================================= */

/* Base image state */
#single-listing-gallery .hfy-listing-gallery .img-wrap img{
  transform: scale(1) !important;
  transition:
    transform 650ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 650ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  will-change: transform;
}

/* Hover on wrapper (smooth IN + OUT) */
#single-listing-gallery .hfy-listing-gallery .img-wrap:hover img{
  transform: scale(1.04) !important;
  filter: brightness(0.96) !important;
}
/*------------------------------------
------------------------------------
PAGE LISTINGS------------------------*/
.upstays-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	font-size: 14px;
	line-height: 14px;
	margin: 16px 0 24px;
	color: #ffffff;
	max-width: 100%;
	justify-content: center;
	font-weight: 600;
}

.upstays-breadcrumb a,
.upstays-breadcrumb .current{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upstays-breadcrumb .sep{
  opacity: .6;
}

.upstays-breadcrumb a{
  color: inherit;
  text-decoration: none;
}
.upstays-breadcrumb a:hover{
  text-decoration: underline;
}

.upstays-breadcrumb .current {
	color: #fff;
  font-weight: 800;
  background: #FFFFFF36;
  padding: 0 8px 2px !important;
  border-radius: 10px;
}


.bg-header-page {
  overflow: initial !important;
}
.priceMap{
  background: white;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  line-height: 1;
}

.add-to-wish {
  display: none !important;
}
/* research bloc */
.search-lists-page .col-guests, .search-lists-page .col-dates {
  background-color: transparent !important;
  border: none !important;
}
/* ðŸ”’ Cache le bloc advanced par dÃ©faut (anti flash) */
.hfy-search-form-row-advanced {
  display: none;
}
.hfy-search-form-row-advanced[style*="display: block"]{
  display: block !important;
}
/* Anti-flash : cache advanced dÃ¨s que le CSS est chargÃ© */
#search-properties-map .hfy-search-form-row-advanced{
  display: none !important;
}



/*map responsive*/
/* TABLETTE: popup map centrÃ©e, 70vh x 80vw */

/* Show Hide Map */

.listings-map-hidden .col-listings-display {
  --column-width: 100%;
  display: grid;
  justify-content: center;
  transition: all 0.5s;
}

.listings-map-visible .col-listings-display {
  --column-width: 50%;
  transition: all 0.5s;
}

.listings-map-hidden #map-column {
  --column-width: 0%;
}


#search-properties .map-contain {
  padding-bottom: 0px;
  padding-top: 0px;
}
#search-properties .map-contain {
  --bde-section-width: 100%;
}
#search-properties .map-contain {
  display: flex;
  flex-direction: column;
}
/*PB ouberture nb guests*/
/* Zone voyageurs = rÃ©fÃ©rence */
.col-guests .booking-search-input-container {
  position: relative !important;
  z-index: 9999 !important;
  overflow: visible !important;
}

/* Le wrapper doit laisser sortir le dropdown */
.col-guests .select-guests-wrap {
  position: absolute!important;
  overflow: visible !important;
  top: 30px;
}

/* Le dropdown doit Ãªtre un "vrai" dropdown */
.col-guests .select-guests-dropdown {
  display: none;                 /* Ã©tat fermÃ© par dÃ©faut */
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
}

/* Quand on ouvre */
.col-guests .select-guests-wrap.is-open .select-guests-dropdown {
  display: block !important;
}

/* Evite que des Ã©lÃ©ments au-dessus bloquent le clic */
.col-guests .hfy-guests-label {
  pointer-events: none !important;
}

/**/
.listings-map-hidden #search-properties .listings .row.listing-block > .listings-grid-item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
.listings-map-hidden #search-properties .listings .row.listing-block {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}


#search-properties .map-contain {
  max-width: var(--bde-section-width);
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin: 0 auto;
  padding: var(--bde-section-vertical-padding) var(--bde-section-horizontal-padding);
}
/* BTN Hide SHOW*/
 .hfy-lmt-hide {
  background-color: red !important;
}
.brn-show-hide-map .hfy-lmt-hide::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 21px;
  border: 1px double #FFC532;
}
.hfy-lmt-hide, .hfy-lmt-show {
  background-color: #FFC532 !important;
  border-radius: 50px !important;
  font-family: 'Roboto', sans-serif !important;

  font-weight: 600 !important;
}
.hfy-listings-map-toggle-mobile {
  display: none;
  position: fixed;
  bottom: 50px !important;
  right: 10px;
  z-index: 9999999;
}
/* FIX CENTRAGE BOUTON CARTE â€“ TABLETTE */
/* Tablette : bouton carte FIXE en bas + centrÃ© */
#search-properties-map .hfy-listings-map-toggle-mobile .hfy-lmt-show::after, #search-properties .hfy-listings-map-toggle .hfy-lmt-show::after, #search-properties .hfy-listings-map-toggle .hfy-lmt-hide::after {
	content: none !important;
	
}

/* IcÃ´ne map dans le bouton "Masquer la carte" */
/* Aligne icÃ´ne + texte */
.hfy-lmt-hide, .hfy-lmt-show{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* IcÃ´ne SVG avant le texte */
.hfy-lmt-hide::before, .hfy-lmt-show::before{
  content:"";
  width: 18px;
  height: 18px;
  display: inline-block;

  /* la couleur = couleur du texte */
  background-color: currentColor;

  /* SVG utilisÃ© comme "masque" */
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20640'%3E%3Cpath%20d='M576%20112C576%20103.7%20571.7%2096%20564.7%2091.6C557.7%2087.2%20548.8%2086.8%20541.4%2090.5L416.5%20152.1L244%2093.4C230.3%2088.7%20215.3%2089.6%20202.1%2095.7L77.8%20154.3C69.4%20158.2%2064%20166.7%2064%20176L64%20528C64%20536.2%2068.2%20543.9%2075.1%20548.3C82%20552.7%2090.7%20553.2%2098.2%20549.7L225.5%20489.8L396.2%20546.7C409.9%20551.3%20424.7%20550.4%20437.8%20544.2L562.2%20485.7C570.6%20481.7%20576%20473.3%20576%20464L576%20112zM208%20146.1L208%20445.1L112%20490.3L112%20191.3L208%20146.1zM256%20449.4L256%20148.3L384%20191.8L384%20492.1L256%20449.4zM432%20198L528%20150.6L528%20448.8L432%20494L432%20198z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20640'%3E%3Cpath%20d='M576%20112C576%20103.7%20571.7%2096%20564.7%2091.6C557.7%2087.2%20548.8%2086.8%20541.4%2090.5L416.5%20152.1L244%2093.4C230.3%2088.7%20215.3%2089.6%20202.1%2095.7L77.8%20154.3C69.4%20158.2%2064%20166.7%2064%20176L64%20528C64%20536.2%2068.2%20543.9%2075.1%20548.3C82%20552.7%2090.7%20553.2%2098.2%20549.7L225.5%20489.8L396.2%20546.7C409.9%20551.3%20424.7%20550.4%20437.8%20544.2L562.2%20485.7C570.6%20481.7%20576%20473.3%20576%20464L576%20112zM208%20146.1L208%20445.1L112%20490.3L112%20191.3L208%20146.1zM256%20449.4L256%20148.3L384%20191.8L384%20492.1L256%20449.4zM432%20198L528%20150.6L528%20448.8L432%20494L432%20198z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/*Bloc recherche*/
.booking-search-wrap {
  background-color: #FAF8F6 !important;
}
.hfy-listing-map {
  Border-radius : 20px !important;

}
/* MOBILE uniquement */
/*DATE PICKER CALENDRIER MOBILE-TABLET*/
/* âœ… TABLETTE (touch devices) : forcer 2 mois visibles + swipe horizontal
   Le JS du plugin passe en "mobile" sur tablette (touch + <1024px) et injecte la dropdown.
   On neutralise la dropdown et on crÃ©e un carrousel CSS sur les tables des mois.
*/
/* =========================================================
   HOTEL DATEPICKER â€“ MOBILE: dropdown + 1 mois en carrousel
   (Ã  coller dans extra.css)
   ========================================================= */


/*CARTE*/


.gm-style-iw-d .info .description {
  text-transform: none;
  border-top: 1px solid #FFC532;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.gm-style-iw-d .info .description .btn-dicover {
  margin-top: 0px;}
.gm-style .gm-style-iw-tc::after {
  background: #FAF8F6;
}
.gm-style-iw-d .l-location, .gm-style-iw-d .title {
padding-bottom: 5px;
}
.gm-style-iw.gm-style-iw-c {
 border: 1px solid #7E92BB !important;
  -moz-border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  -o-border-radius: 20px !important;
  border-radius: 20px !important;
  padding: 0px !important;
  background-color: #FAF8F6 !important;
}
.gm-style-iw-d {
max-width: 250px !important;
    border-radius: 10px !important;
    padding: 0px !important;
}
  .gm-style .gm-style-iw-d {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: auto;
    padding: 0px !important;
    overflow: hidden !important;
}
.gm-style-iw-d .info {
font-size: 13px !important;
  line-height: 15px !important;
  font-weight: 400 !important;
  font-family: 'Roboto', sans-serif !important;
  text-transform: uppercase !important;
  color:#7E92BB !important;
  margin-top:15px;
  padding: 10px;
    padding-top: 10px;
  padding-top: 0px !important;
}
.gm-style-iw-d .info .description {
  font-weight: 800 !important;
}
.gm-style-iw-chr {
  position: absolute;
  right: 15px;
  top: 15px;
}
.gm-ui-hover-effect {
  background-color: #FFFFFF47 !important;
  width: 20px !important;
  height: 20px !important;
  opacity: 1;
}
.gm-ui-hover-effect span{
width: 16px !important;
  height: 16px !important;
  margin: 2px !important;

}
.hfy-listing-map .info-window-content .img img {
  height: 150px;
  max-height: 150px;

}
.gm-style-mtc-bbw .gm-style-mtc:first-of-type > button, .gm-style-mtc-bbw .gm-style-mtc:last-of-type > button {
  border-radius: 12px !important;
  margin-right: 10px !important;

}
#search-advanced-container .hfy-search-form-row-advanced {
	gap: 18px !important;
}
#search-advanced-container .clear-section {
  margin-top: 10px;
  padding: 4px 10px !important;
  background-color: #fafafa;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  width: 100%;
  font-size: 10px !important;
  color: var(--Default-Text-Primary, #222);
  font-family: var(--bde-body-font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  background-color: #FFC532 !important;
  color: #fff;
  font-weight: 700;
  height: 26px !important;
}
#search-advanced-container .wrap-form-field.has-selection .dropdown-header {
  background: rgba(255, 255, 255, 0.15);
}
#search-advanced-container .wrap-form-field.has-selection {
  background: rgba(255, 197, 50, 0.15) !important;
}
.hfy-search-form-row-advanced .wrap-form-field.dropdown,.hfy-search-form-row-advanced .wrap-form-field.active {
  border-radius: 50px !important;
  border: 1px solid #ffc532 !important;
}
.dropdown-header {
  border-radius: 50px !important;
}
#search-properties .listings .row.listing-block {
  display: grid;
  grid-template-rows: auto;
  grid-auto-rows: auto;
  grid-template-columns: repeat(auto-fill, minmax(390px, 1fr));
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
/*pagination page listings*/
#search-properties .pagination-section .container {
  border-radius: 12px;
  border: none;
  background: transparent !important;
}
.page-link.page-link-next, .page-link.page-link-previous {
  background-color: #FFC532 !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-family: 'Roboto', sans-serif !important;

}
/*=======PAGE CONCIERGERIE==*/
/* Ligne horizontale forcée */
#tabs .e-n-tabs-heading {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: stretch; /* même hauteur */
}

/* Chaque tab = 1/3 */
#tabs .e-n-tab-title {
  flex: 1 1 33.333% !important;
  max-width: 33.333% !important;

  display: flex;
  align-items: flex-start;     /* haut */
  justify-content: flex-start; /* gauche */

  text-align: left;
  white-space: normal !important;
  padding: 22px 24px;
}

/* Texte */
#tabs .e-n-tab-title-text {
  white-space: normal;
  line-height: 1.35;
}

/*compteur*/
.up-gauge{
  --track:#e9e2d8;   /* gris */
  --main:#f2b11a;    /* jaune */
  --cap:#7c7a2a;     /* olive */
  --stroke:10;

}
.up-gauge__cap {
  display: none;
}
.up-gauge__track{ stroke: 10 !important; }
.up-gauge__progress{ stroke: 10 !important; }
.up-gauge__cap{ stroke:10 !important; }

.up-gauge__ring{
  position:relative;
  width:var(--size);
  max-width:100%;
  margin:0 auto;
}

.up-gauge__svg {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.up-gauge__track,
.up-gauge__progress,
.up-gauge__cap{
  fill:none;
  stroke-width:var(--stroke);
  stroke-linecap:round;
}
.up-gauge__track{ stroke:#8C8E6E !important; }
.up-gauge__progress{ stroke:var(--main); }
.up-gauge__cap{ stroke:var(--cap); }
.up-gauge__progress{ position: relative; }
.up-gauge__cap{ opacity: 1; }
.up-gauge__value {
  position: absolute;
  inset: auto 0 -8px 0;
  text-align: center;
  font-weight: 800;
  font-size: 55px;
  line-height: 1;
  color: #A65D43;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  margin-bottom: 28px;
}

.up-gauge__content{
  max-width:420px;
  margin:0 auto;
  text-align:left; /* change si tu veux centré */
  padding: 0px 15px;
}

.up-gauge__title {
  color: var(--text);
  font-weight: 700;
  margin-top: 6px;
  border-top: #FFC532 1px solid;
  padding-top: 10px;
  font-size: 16px;
  line-height: 1.3;
  color: #A65D43;
}

.up-gauge__text{
  margin-top:8px;
  opacity:.9;
  font-size:14px;
}
.up-gauge_surtitle {
  text-transform: uppercase;
  text-align: center;
  color: #A65D43;
}

/*FOOTER*/
/* Bouton Scroll Up */
#upstays-scroll-top{
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #111; /* adapte à ta charte */
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .25s ease;
  z-index: 9999;
}

#upstays-scroll-top svg{
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* visible */
#upstays-scroll-top.show{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* hover */
#upstays-scroll-top:hover{
  background: #f5b400; /* ton jaune Riviera si tu veux 😉 */
  color: #000;
}
/* ===============================
   UPSTAYS – REVIEWS SLIDER CLEAN
   =============================== */

/* Hide Trustindex footer */
.reviews-slider .ti-footer,
.reviews-slider .ti-footer-filter-text{
  display: none !important;
}

/* ===============================
   LAYOUT GLOBAL
   =============================== */

.reviews-slider 
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-review-item .ti-inner{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 18px !important;
}

/* Order */
.reviews-slider .ti-review-item .ti-stars{
  order: 1 !important;
}

.reviews-slider .ti-review-item .ti-review-text-container{
  order: 2 !important;
  margin: 0 !important;
  max-width: 760px;
}

.reviews-slider .ti-review-item .ti-review-header{
  order: 3 !important;
  position: static !important;
  transform: none !important;
  margin-top: 10px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* ===============================
   TYPOGRAPHY
   =============================== */

.reviews-slider .ti-review-text-container.ti-review-content{
  font-family: 'Bricolage Grotesque', sans-serif !important;
  padding: 1em 7em !important;
  font-size: 18px !important;
  color: #7E92BB !important;
  opacity: 1 !important;
}

.reviews-slider .ti-name a{
  text-transform: uppercase;
  color: #7E92BB !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
}

/* ===============================
   AVATAR + NAME
   =============================== */

.reviews-slider .ti-profile-img{
  flex: 0 0 auto !important;
}

.reviews-slider .ti-profile-img img{
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

.reviews-slider .ti-profile-details{
  display: flex !important;
  align-items: center !important;
}

/* ===============================
   STARS – LAVENDER OUTLINE + YELLOW FILL
   =============================== */

.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"].ti-custom-stars
.ti-star:not(.h){
  position: relative;
  background: transparent !important;
}

/* Outline */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"].ti-custom-stars
.ti-star:not(.h)::before{
  content: "";
  position: absolute;
  inset: 0;
  background: #7E92BB; /* lavande */
  transform: scale(1.12);
  -webkit-mask-image: url(https://cdn.trustindex.io/assets/platform/Trustindex/star/s.svg);
  mask-image: url(https://cdn.trustindex.io/assets/platform/Trustindex/star/s.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* Fill */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"].ti-custom-stars
.ti-star:not(.e):not(.h)::after{
  content: "";
  position: absolute;
  inset: 0;
  background: #f6bb06;
  transform: scale(0.85);
  -webkit-mask-image: url(https://cdn.trustindex.io/assets/platform/Trustindex/star/s.svg);
  mask-image: url(https://cdn.trustindex.io/assets/platform/Trustindex/star/s.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* ===============================
   HIDE READ MORE
   =============================== */

.ti-read-more{
  display: none !important;
}

/* ===============================
   ARROWS – CUSTOM SVG
   =============================== */

/* Remove default arrow */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-next::before,
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-prev::before{
  content: none !important;
  display: none !important;
}

/* Buttons */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-next,
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-prev{
  width: 48px !important;
  height: 48px !important;
  background-color: transparent !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Left */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-prev{
  background-image: url("https://upstays.com/wp-content/uploads/2025/12/carousel-left.svg") !important;
}

/* Right */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-next{
  background-image: url("https://upstays.com/wp-content/uploads/2025/12/carousel-right.svg") !important;
}

/* Keep SVG on hover/focus */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-next:hover,
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-next:focus{
  background: transparent url("https://upstays.com/wp-content/uploads/2025/12/carousel-right.svg") center / contain no-repeat !important;
}

.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-prev:hover,
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-controls .ti-prev:focus{
  background: transparent url("https://upstays.com/wp-content/uploads/2025/12/carousel-left.svg") center / contain no-repeat !important;
}
/* Sécurise complètement le header auteur */
.reviews-slider .ti-review-item .ti-review-header{
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  margin-top: 24px !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}

/* Empêche tout positionnement parasite */
.reviews-slider .ti-review-item .ti-profile-img,
.reviews-slider .ti-review-item .ti-profile-details{
  position: relative !important;
}

/* Avatar taille propre */
.reviews-slider .ti-profile-img img{
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Nom aligné verticalement */
.reviews-slider .ti-profile-details{
  display: flex !important;
  align-items: center !important;
}

/* IMPORTANT : on enlève tout float éventuel */
.reviews-slider .ti-review-item *{
  float: none !important;
}
/* Header auteur en flex horizontal centré */
.reviews-slider .ti-review-item .ti-review-header{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

/* Avatar bloc */
.reviews-slider .ti-profile-img{
  display: flex !important;
  align-items: center !important;
}

/* Image avatar */
.reviews-slider .ti-profile-img img{
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Bloc nom */
.reviews-slider .ti-profile-details{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Supprime marges parasites */
.reviews-slider .ti-name,
.reviews-slider .ti-name a{
  margin: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}
/* Alignement vertical parfait avatar + nom */
.reviews-slider .ti-review-item .ti-review-header{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;      /* <-- le point clé */
  justify-content: center !important;
  gap: 12px !important;
}

/* Avatar */
.reviews-slider .ti-review-item .ti-profile-img{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.reviews-slider .ti-review-item .ti-profile-img img{
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* Bloc texte */
.reviews-slider .ti-review-item .ti-profile-details{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Supprime le décalage baseline/marges */
.reviews-slider .ti-review-item .ti-name{
  margin: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.reviews-slider .ti-review-item .ti-name a{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
/* ===========================
   FIX CLEAN : auteur sous la quote, avatar+nom sur 1 ligne
   (sans casser le slider)
   =========================== */

.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-review-item .ti-inner{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* IMPORTANT : Trustindex met parfois le header en absolute/transform → on neutralise */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-review-item .ti-review-header{
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 18px 0 0 !important;

  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;     /* align vertical */
  justify-content: center !important;
  gap: 12px !important;
}

/* Avatar + nom restent bien dans le flux */
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-review-item .ti-profile-img,
.reviews-slider
.ti-widget[data-layout-id="37"][data-set-id="light-minimal"]
.ti-review-item .ti-profile-details{
  position: static !important;
  transform: none !important;
  margin: 0 !important;
}

/* Le décalage vient souvent du line-height/baseline du lien */
.reviews-slider .ti-review-item .ti-name,
.reviews-slider .ti-review-item .ti-name a{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* TEAM: la position a toujours la hauteur de 2 lignes */
.bloc-team .team-position .elementor-heading-title{
  line-height: 1.2 !important;
}

.bloc-team .team-position{
  /* 2 lignes * line-height */
  min-height: calc(2 * 1.2em) !important;
  display: flex !important;
 align-items: flex-start !important;
}
/* =========================
   TEAM – Toggle sur team-position
   ========================= */

/* le + après le poste */
.bloc-team .team-single .team-position{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
}

.bloc-team .team-single .team-position::after{
  content: "+" !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: transform .25s ease;
}

.bloc-team .team-single.is-open .team-position::after{
  content: "–" !important;
}

/* état fermé par défaut (JS gère la hauteur) */
.bloc-team .team-single .elementor-widget-divider,
.bloc-team .team-single .team-bio{
  overflow: hidden !important;
  height: 0;
  opacity: 0;
  transition: height .35s ease, opacity .25s ease;
}

/* état ouvert (opacity uniquement; height est animée en JS) */
.bloc-team .team-single.is-open .elementor-widget-divider,
.bloc-team .team-single.is-open .team-bio{
  opacity: 1;
}
.bloc-team .team-single .team-position::after{
  content: "+";
  font-size: 14px;
  font-weight: 600;
  color: #8C8E6E !important; /* ta couleur */
  transition: transform .25s ease, color .25s ease;
}

.bloc-team .team-single.is-open .team-position::after{
  content: "–";
  color: #8C8E6E !important;
}

.number-header .elementor-counter-number-suffix {
  font-size: 16px;
  padding-top: 20px;
  padding-left: 3px;
}