/* 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

*/
/*HEADER MENU*/

/* 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*/
.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;
}
@media only screen and (max-width: 1440px) {
  .home #form-container #formBooking input {
    width: auto !important;
  }
}
.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: 17px !important;
  color: #ffc532 !important;
}
hfy-theme1 .number-input {
}

#form-container .input-group {

  align-items: center;
height: 30px !important;
}
input#hotel-datepicker {

   white-space: nowrap;
  font-size: 13px;
  line-height: 24px;
  font-weight: 700 !important;
  color: #000 !important;
  font-family: Roboto !important;
  overflow: hidden;
  font-style: normal;
  text-transform: uppercase;
  text-overflow: ellipsis;
  text-align: center;
  border: 1px solid #ffc532;
  border-radius: 50px;
  margin-left: 30px;
  height: 30px;
}
.input-group.number-input.guests-input.guests-count-num-wrap {

  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: 30px !important;
}
#form-container span.guests-count-num {
  white-space: nowrap;
  font-size: 13px;
  line-height: 24px;
  font-weight: 700 !important;
  color: #000 !important;
 font-family: 'Roboto', sans-serif !important;
  padding: 0px 20px;
}
.guests-input-label {
  width: 100%;
}

.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 !important;
}

/*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;
}
.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;
}
.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;
}
.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 */
}
@media (hover: none){
  .list-card{ transform:none !important; box-shadow:none !important; }
  .list-card .additional-details{ max-height: none; opacity:1; transform:none; }
}
/* 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;
}

/*_____________________________PAGE UNIQUE LISTING__*/
/*header*/
#single-listing-gallery h1 {
  font-size: 51px;
  line-height: 50px;
  color: #fff;
}
.hfy-listing-title-block .hfy-listing-city {
  text-transform: uppercase;
  font-weight: 800;
  font-family: Roboto;
  font-size: 17pt;
  color: #FFC532;
}
.hfy-wrap.hfy-theme1 .hfy-listing-hotel-facilities > div {
  border: none !important;
  background-color: #8C8E6E !important;
  color: #FAF8F6 !important;
  border-radius: 50px;
  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*/
.card-frame{
position: relative;
  padding: 20px;
  border-radius: 28px;
  background: #f6f1ea;
  border: 5px solid #FFC532;
  outline: 1px solid #FFC532;
  outline-offset: 6px;
}



/* 3e trait */
.card-frame::after {
content: "";
  position: absolute;
  inset: 6px;
  border-radius: 21px;
  border: 1px double #FFC532;
  poRoboto-events: none;
}
/*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 */
@media (max-width: 1100px){
  .hfy-wrap .hfy-listing-amenities{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px){
  .hfy-wrap .hfy-listing-amenities{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px){
  .hfy-wrap .hfy-listing-amenities{ grid-template-columns: 1fr; }
}

@media (max-width: 600px){
  .hfy-wrap .hfy-listing-amenities{
    grid-template-columns: 1fr 1fr; /* ou 1fr */
    gap: 16px 18px;
  }
}

/*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;
  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;
}
#reserve-block .guests-input-label {
  font-size: 13px;
  font-weight: 700;
  text-align: center !important;
  color: #6C757D !important;
  text-align: left !important;
}

.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;
}
#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: #FFC532;
  color: #fff !important;
  border: none;
}
.hfy-listing-info-more, .hfy-listing-info-less {
  background-color: #FFC532;
}
  #reserve-block .sl-policy-container {
  font-size: 10px;
  font-weight: 500;
  color: #6C757D;
  font-family: 'Roboto', sans-serif !important;
  margin-top: 23px;
}
#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;
}

//* =========================================================
   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;
  poRoboto-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)
  );
  z-index: 1;
  poRoboto-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: poRoboto;
  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: poRoboto;
  box-shadow: 0 0px 2px rgba(63, 63, 12, 0.54);
  width: 100%;
  background: rgba(62, 59, 27, 0.72);
  border: 2px solid #F8F2E2C7;
}

/* 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;
}

/* =========================================================
   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;
  poRoboto-events: none;
  transition: background 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* 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;
  poRoboto-events: none;
  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
   ========================================================= */
@media (max-width: 768px){
  #single-listing-gallery .hfy-listing-gallery{
    grid-template-columns: 1fr;
  }

  #single-listing-gallery .hfy-listing-gallery > .main.img-wrap{
    height: 320px;
  }

  #single-listing-gallery .hfy-listing-gallery > .list{
    height: auto;
    flex-direction: row !important;
    overflow-x: auto;
    overflow-y: hidden;
    justify-content: flex-start;
  }

  #single-listing-gallery .hfy-listing-gallery > .list .img-wrap{
    flex: 0 0 140px;
    height: 100px;
  }
}
/* =========================================================
   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----*/
.hfy-search * {
  pointer-events: auto;
}
/* 1) Cache la map */
body.hfy-map-hidden #map-column{
  display: none !important;
}

/* 2) Force la colonne listings à 100% (Elementor containers) */
body.hfy-map-hidden #col-properties{
  width: 100% !important;
  max-width: 100% !important;

  /* Elementor container sizing */
  --e-con-width: 100% !important;
  --container-widget-width: 100% !important;

  flex: 1 1 100% !important;
  flex-basis: 100% !important;
}

/* 3) Au cas où Elementor applique les contraintes sur .e-con / .e-child */
body.hfy-map-hidden #col-properties.e-con,
body.hfy-map-hidden #col-properties.e-child{
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  max-width: 100% !important;
}

/* 4) Bonus: si le parent a un layout “grid” (rare mais possible) */
body.hfy-map-hidden #map-column,
body.hfy-map-hidden #col-properties{
  min-width: 0 !important;
}
/* Etat “map cachée” = on force la colonne gauche à prendre 100% */
.elementor-element-6fad468.is-map-hidden #map-column{
  display: none !important;
}

.elementor-element-6fad468.is-map-hidden #col-properties{
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Si le parent est en grid chez toi, on force aussi la grille */
.elementor-element-6fad468.is-map-hidden{
  grid-template-columns: 1fr !important;
}
