/* --- ID 191: hivepress - annonce display --- */
/*
 * HOMERENTAI — SINGLE LISTING (OPTIMISÉ / CLEAN)
 * Remplacez l’ensemble de votre CSS actuel par ce fichier.
 * Objectif : conserver le design + corriger les conflits (notamment Vendor Card)
 * + corriger l’encodage et supprimer les doublons contradictoires.
 */

/*=====================================================================
  VARIABLES GLOBALES
=====================================================================*/
:root{
  --hr-blue:#4C6FFF;
  --hr-text:#1f2a44;
  --hr-muted:#6b778c;
  --hr-border:rgba(148,163,184,.35);
  --hr-card:#ffffff;
  --hr-shadow:0 18px 40px rgba(15,23,42,.06);

  --hr-radius:24px;

  --hr-gap:28px;
  --hr-sidebar:340px;
  --hr-top-offset:140px; /* hauteur du header WP (ajuster si besoin) */

  --hr-light-bg:#f3f6fb;
  --hr-light-bg-alt:#f4f7fb;
  --hr-border-color:rgba(148,163,184,.35);

  --hr-favorite-default:#b7c0cf;
  --hr-favorite-active:#ff4d6d;
}

/*=====================================================================
  RÉINITIALISATION & SCOPE
=====================================================================*/
body.single-hp_listing *,
body.single-hp_listing *::before,
body.single-hp_listing *::after{ box-sizing:border-box; }

body.single-hp_listing{
  overflow-x:hidden;
  color:var(--hr-text);
}

/*=====================================================================
  LAYOUT DESKTOP / TABLETTE
=====================================================================*/
@media (min-width:769px){
  body.single-hp_listing .hp-row.hp-listing.hp-listing--view-page{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) var(--hr-sidebar);
    gap:calc(var(--hr-gap) + 18px);
    align-items:start;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-top:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.single-hp_listing .hp-page__content.hp-col-sm-8,
  body.single-hp_listing .hp-page__sidebar.hp-col-sm-4,
  body.single-hp_listing .hp-row.hp-listing.hp-listing--view-page > .hp-page__content,
  body.single-hp_listing .hp-row.hp-listing.hp-listing--view-page > .hp-page__sidebar{
    float:none !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Colonne gauche : scroll naturel de la page */
  body.single-hp_listing .hp-page__content{
    min-width:0 !important;
    height:auto !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom:20px !important;
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* Colonne droite */
  body.single-hp_listing .hp-page__sidebar{
    min-width:0 !important;
    overflow:visible !important;
    position: relative !important;
    align-self: start !important;
  }
  /* Sticky réel sur le wrapper (HivePress) */
  body.single-hp_listing .hp-page__sidebar .inner-wrapper-sticky{
    position: sticky !important;
    top: var(--hr-sticky-top, 110px) !important;
    align-self: start !important;
    transform: none !important;
  }

  /* Assure le flux normal de la page (aucune hauteur figée) */
  body.single-hp_listing .site-content,
  body.single-hp_listing .site-content .hp-page,
  body.single-hp_listing .site-content .hp-page .hp-row.hp-listing.hp-listing--view-page{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.single-hp_listing .site-content .container,
  body.single-hp_listing .site-content .row,
  body.single-hp_listing .content-area,
  body.single-hp_listing main{
    overflow:visible !important;
  }
  body.single-hp_listing .hp-page__sidebar[data-component="sticky"]{ margin-top:0 !important; }
  body.single-hp_listing .hp-page__sidebar .inner-wrapper-sticky{
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:stretch;
  }
}

/* Ajustements sidebar écran moyen */
@media (min-width:769px) and (max-width:1200px){
  :root{
    --hr-sidebar:320px;
    --hr-gap:22px;
  }
}

/*=====================================================================
  EN-TÊTES ET ACCENTS
=====================================================================*/
body.single-hp_listing .hp-listing__categories a{
  display:inline-block;
  padding:4px 14px;
  border-radius:999px;
  font-size:.69rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  background:var(--hr-light-bg) !important;
  color:#7a889a !important;
  pointer-events:none;
  cursor:default;
  text-decoration:none;
}

body.single-hp_listing .hp-listing__title{
  font-size:2rem;
  margin:10px 0 6px;
}

body.single-hp_listing .hp-listing__details--primary{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:.81rem;
  color:#7a889a;
  margin-bottom:10px;
}

body.single-hp_listing .hp-listing__location{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
body.single-hp_listing .hp-listing__location i,
body.single-hp_listing .hp-listing__location .hp-icon,
body.single-hp_listing .hp-listing__verified-badge,
body.single-hp_listing .hp-listing__verified{
  color:var(--hr-blue) !important;
}

/* Tabs */
body.single-hp_listing .hp-page__topbar--separate{
  margin-top:10px !important;
  padding-top:0 !important;
}
body.single-hp_listing .hp-menu--tabbed{
  border-bottom:1px solid var(--hr-border) !important;
  padding-bottom:10px !important;
}
body.single-hp_listing .hp-menu--tabbed .hp-menu__item a{
  display:inline-flex !important;
  align-items:center !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid var(--hr-border) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.08) !important;
  color:var(--hr-text) !important;
  font-weight:750 !important;
  text-decoration:none !important;
}
body.single-hp_listing .hp-menu--tabbed .hp-menu__item--current a,
body.single-hp_listing .hp-menu--tabbed .current-menu-item a{
  border-color:rgba(76,111,255,.55) !important;
  box-shadow:0 14px 34px rgba(76,111,255,.18) !important;
  color:var(--hr-blue) !important;
}
body.single-hp_listing .hp-menu--tabbed .hp-menu__item a:after{ display:none !important; }

/*=====================================================================
  MÉDIAS, TAGS, DESCRIPTION, CARTE
=====================================================================*/
body.single-hp_listing .hp-listing__images,
body.single-hp_listing .hp-listing__description,
body.single-hp_listing .hp-listing__map,
body.single-hp_listing .hp-listing__tags{ max-width:100% !important; }

/* Hero image */
body.single-hp_listing .hp-listing__images{
  width:calc(100% - 16px) !important;
  max-width:100% !important;
  margin:26px 8px 0 8px;
  border-radius:28px;
  overflow:hidden !important;
  background:#0b1020;
  box-shadow:0 10px 24px rgba(17,24,39,.10) !important; /* ombre “propre” */
  position:relative;
  aspect-ratio:16 / 10;
}

/* Gallery fill fix:
   - le slider principal doit occuper tout le frame
   - le rail de miniatures devient un overlay (hors flux)
   => supprime les bandes noires en bas quand plusieurs images */
body.single-hp_listing .hp-listing__images .hp-listing__images-slider,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel){
  width:100% !important;
  height:100% !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-slider .slick-list,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .slick-list,
body.single-hp_listing .hp-listing__images .hp-listing__images-slider .slick-track,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .slick-track{
  height:100% !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-slider .slick-track,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .slick-track{
  display:flex !important;
  align-items:stretch !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-slider .slick-slide,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .slick-slide{
  height:auto !important;
  background:transparent !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-slider .slick-slide > div,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .slick-slide > div{
  height:100% !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-slider .hp-listing__image,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) .hp-listing__image,
body.single-hp_listing .hp-listing__images .hp-listing__images-slider a,
body.single-hp_listing .hp-listing__images > .slick-slider:not(.hp-listing__images-carousel) a{
  display:block !important;
  height:100% !important;
}

body.single-hp_listing .hp-listing__images img,
body.single-hp_listing .hp-listing__images video{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-carousel{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:10px !important;
  width:100% !important;
  z-index:6 !important;
  background:transparent !important;
}

body.single-hp_listing .hp-listing__images .hp-listing__images-carousel .slick-list,
body.single-hp_listing .hp-listing__images .hp-listing__images-carousel .slick-track{
  background:transparent !important;
}

/* Mobile ratio */
@media (max-width:768px){
  body.single-hp_listing .hp-listing__images{
    aspect-ratio:4 / 3;
    border-radius:22px;
  }
}

/* Tags */
body.single-hp_listing .hp-listing__tags{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.single-hp_listing .hp-listing__tags .tag-cloud-link{
  font-size:.75rem;
  padding:7px 14px;
  border-radius:999px;
  background:var(--hr-light-bg-alt) !important;
  color:#657188 !important;
  text-decoration:none;
  border:1px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.single-hp_listing .hp-listing__tags .tag-cloud-link:hover{
  background:#fff;
  border-color:rgba(76,111,255,.35);
  color:#2f3b52;
  box-shadow:0 10px 24px rgba(76,111,255,.18);
  transform:translateY(-1px);
}

/* Désactive les liens tags + liens dans description */
body.single-hp_listing .hp-listing__tags .tag-cloud-link,
body.single-hp_listing .hp-listing__description a{
  pointer-events:none;
  cursor:default;
  color:inherit;
  text-decoration:none;
}

/* Description */
body.single-hp_listing .hp-listing__description{
  margin-top:24px;
  background:#fff;
  border-radius:var(--hr-radius);
  padding:24px 28px;
  box-shadow:var(--hr-shadow);
  font-size:.94rem;
  line-height:1.7;
  color:#404959;
}
@media (max-width:767px){
  body.single-hp_listing .hp-listing__description{ padding:18px; }
}

/* Map */
body.single-hp_listing .hp-listing__map.hp-map{
  margin-top:24px;
  margin-bottom:24px;
  border-radius:var(--hr-radius) !important;
  overflow:hidden !important;
  box-shadow:0 10px 24px rgba(17,24,39,.10) !important;
  border:1px solid #eef2f8;
  height:320px !important;
  background:#0b1020;
  width:calc(100% - 16px) !important;
  margin-left:8px;
  margin-right:8px;
}
@media (max-width:768px){
  body.single-hp_listing .hp-listing__map.hp-map{ margin-bottom:26px; }
}
body.single-hp_listing .hp-listing__map .mapboxgl-canvas-container,
body.single-hp_listing .hp-listing__map .mapboxgl-canvas,
body.single-hp_listing .hp-listing__map canvas{
  border-radius:inherit !important;
  overflow:hidden !important;
}
body.single-hp_listing .hp-listing__map .mapboxgl-marker svg path[fill="#3FB1CE"]{
  fill:var(--hr-blue) !important;
}

/* Single listing: marker is informational only (disable popup click on own listing) */
body.single-hp_listing .hp-listing__map .mapboxgl-marker{
  pointer-events:none !important;
  cursor:default !important;
}
body.single-hp_listing .hp-listing__map .mapboxgl-popup{
  display:none !important;
}

/*=====================================================================
  SIDEBAR (CARDS) — BASE
=====================================================================*/
body.single-hp_listing .hp-sidebar-booking,
body.single-hp_listing .hp-listing__actions--primary{
  background:var(--hr-card);
  border-radius:var(--hr-radius);
  box-shadow:var(--hr-shadow);
  border:1px solid #f0f3f8;
}

/*=====================================================================
  VENDOR CARD (PROFIL HÔTE) — FIX DÉFINITIF (CENTERED)
  => Supprime les doublons : UNE SEULE version propre.
=====================================================================*/
body.single-hp_listing .hp-vendor.hp-vendor--view-block{
  background:var(--hr-card);
  border:1px solid #f0f3f8;
  border-radius:20px;
  box-shadow:var(--hr-shadow);
  padding:14px 16px;

  display:grid !important;
  grid-template-columns:48px 1fr 40px; /* avatar / centre / bouton */
  align-items:center !important;
  column-gap:12px;

  overflow:hidden;
}

/* Colonne gauche : avatar */
body.single-hp_listing .hp-vendor__header{
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
}
body.single-hp_listing .hp-vendor__image{
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}
body.single-hp_listing .hp-vendor__image img{
  width:48px !important;
  height:48px !important;
  object-fit:cover !important;
  border-radius:999px !important;
  border:2px solid #eef4ff !important;
  display:block !important;
}

/* Colonne centrale : nom centré optiquement entre avatar & bouton */
body.single-hp_listing .hp-vendor__content{
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  text-align:center !important;
  min-width:0;
}
body.single-hp_listing .hp-vendor__name{
  margin:0 !important;
  line-height:1.15;
}
body.single-hp_listing .hp-vendor__name a{
  display:inline-block;
  font-size:.95rem !important;
  font-weight:650 !important;
  color:#2f3b52 !important;
  text-decoration:none !important;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Date : masquée comme dans ton état actuel (tu peux activer si besoin) */
body.single-hp_listing .hp-vendor__details--primary{ display:none !important; }

/* Colonne droite : bouton message */
body.single-hp_listing .hp-vendor__footer{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  display:grid !important;
  place-items:center !important;
}
body.single-hp_listing .hp-vendor__actions--primary{
  position:static !important;
  border:none !important;
  display:grid !important;
  place-items:center !important;
}
body.single-hp_listing .hp-vendor__actions--primary .hp-modal{ display:none !important; }

body.single-hp_listing .hp-vendor__action--message{
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:var(--hr-blue) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(76,111,255,.28) !important;
  text-decoration:none !important;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  transition:transform .16s ease, box-shadow .16s ease;
}
body.single-hp_listing .hp-vendor__action--message .hp-icon{
  color:#fff !important;
  font-size:1rem !important;
  margin:0 !important;
}
body.single-hp_listing .hp-vendor__action--message:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(76,111,255,.40);
}

/* Booking card */
body.single-hp_listing .hp-sidebar-booking{ padding:16px 18px 18px; }

body.single-hp_listing .hp-sidebar-booking .hp-listing__attribute--booking-deposit{
  font-size:.75rem;
  color:var(--hr-muted);
  text-align:center;
}

body.single-hp_listing .hp-sidebar-booking .hp-listing__attributes--primary{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:6px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 0 10px !important;
  opacity:1 !important;
  filter:none !important;
}
body.single-hp_listing .hp-sidebar-booking .hp-listing__attribute--price{
  font-size:.875rem;
  font-weight:600;
  color:#111827;
  padding:8px 22px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.14);
  border:1px solid rgba(148,163,184,.25);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  margin:0 auto !important;
}
body.single-hp_listing .hp-sidebar-booking .hp-listing__attribute--price,
body.single-hp_listing .hp-sidebar-booking .hp-listing__attribute--price *{
  opacity:1 !important;
  filter:none !important;
  color:#111827 !important;
}

/* Date fields */
body.single-hp_listing .hp-field--date-range,
body.single-hp_listing .hp-field--date-range .hp-field--date,
body.single-hp_listing .hp-field--date-range .hp-field--date-range{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  position:relative !important;
}
body.single-hp_listing .hp-field--date .flatpickr-input[type="hidden"]{ display:none !important; }
body.single-hp_listing .hp-sidebar-booking .hp-field--date-range .hp-field--text{
  width:100% !important;
  border:1px solid #e3e9f3 !important;
  border-radius:14px !important;
  box-shadow:none !important;
  padding:12px 40px 12px 14px !important;
  background:#fff !important;
}

/* Clear button in date field */
body.single-hp_listing .hp-field--date-range .hr-date-clear{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  border:1px solid rgba(148,163,184,.35) !important;
  background:#fff !important;
  color:#64748b !important;
  font-size:18px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .15s ease, transform .15s ease !important;
}
body.single-hp_listing .hp-field--date-range .hr-date-clear.is-visible{
  opacity:1 !important;
  pointer-events:auto !important;
}
body.single-hp_listing .hp-field--date-range .hr-date-clear:hover{
  transform:translateY(-50%) scale(1.05) !important;
  color:#111827 !important;
}

/* Flatpickr calendar (modern) */
body.single-hp_listing .flatpickr-calendar{
  border-radius:18px !important;
  border:1px solid rgba(148,163,184,.28) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.18) !important;
  overflow:hidden !important;
  font-family:inherit !important;
  z-index:9999 !important;
}
body.single-hp_listing .flatpickr-months{
  padding:12px 14px !important;
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%) !important;
  border-bottom:1px solid rgba(148,163,184,.25) !important;
}
body.single-hp_listing .flatpickr-current-month,
body.single-hp_listing .flatpickr-monthDropdown-months,
body.single-hp_listing .flatpickr-monthDropdown-month{
  font-weight:700 !important;
  color:#0f172a !important;
}
body.single-hp_listing .flatpickr-weekdays{
  background:#f7f9fd !important;
  border-bottom:1px solid rgba(148,163,184,.25) !important;
}
body.single-hp_listing .flatpickr-weekday{
  color:#64748b !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
}
body.single-hp_listing .flatpickr-day{
  border-radius:12px !important;
  height:40px !important;
  line-height:40px !important;
  margin:2px 0 !important;
  color:#0f172a !important;
  border:1px solid transparent !important;
}
body.single-hp_listing .flatpickr-day:hover{
  background:rgba(76,111,255,.12) !important;
  border-color:transparent !important;
}
body.single-hp_listing .flatpickr-day.inRange{
  background:rgba(76,111,255,.14) !important;
  color:#1e2a4a !important;
  box-shadow:none !important;
}
body.single-hp_listing .flatpickr-day.selected,
body.single-hp_listing .flatpickr-day.startRange,
body.single-hp_listing .flatpickr-day.endRange{
  background:var(--hr-blue) !important;
  color:#fff !important;
  border-color:var(--hr-blue) !important;
  box-shadow:0 10px 20px rgba(76,111,255,.35) !important;
}
body.single-hp_listing .flatpickr-day.today{
  border-color:var(--hr-blue) !important;
  color:var(--hr-blue) !important;
}
body.single-hp_listing .flatpickr-day.today:hover{
  color:#0f172a !important;
}
body.single-hp_listing .flatpickr-day.flatpickr-disabled,
body.single-hp_listing .flatpickr-day.prevMonthDay,
body.single-hp_listing .flatpickr-day.nextMonthDay{
  color:#cbd5e1 !important;
}
body.single-hp_listing .flatpickr-prev-month,
body.single-hp_listing .flatpickr-next-month{
  top:10px !important;
  border-radius:10px !important;
}
body.single-hp_listing .flatpickr-prev-month:hover,
body.single-hp_listing .flatpickr-next-month:hover{
  background:rgba(15,23,42,.06) !important;
}
@media (max-width:768px){
  body.single-hp_listing .flatpickr-calendar.open{
    width:calc(100vw - 16px) !important;
    max-width:420px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
  }
  body.single-hp_listing .flatpickr-innerContainer,
  body.single-hp_listing .flatpickr-rContainer,
  body.single-hp_listing .flatpickr-days,
  body.single-hp_listing .dayContainer{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
  }
  body.single-hp_listing .flatpickr-weekdays,
  body.single-hp_listing .flatpickr-days{
    padding:0 6px !important;
    box-sizing:border-box !important;
  }
  body.single-hp_listing .flatpickr-day{
    height:36px !important;
    line-height:36px !important;
    font-size:.92rem !important;
  }
  body.single-hp_listing .flatpickr-day.selected,
  body.single-hp_listing .flatpickr-day.startRange,
  body.single-hp_listing .flatpickr-day.endRange{
    box-shadow:none !important;
  }
  body.single-hp_listing .flatpickr-calendar *{
    transition:none !important;
  }
}

/* CTA réserver */
body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button,
body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button-primary{
  display:block;
  width:100%;
  border-radius:999px;
  background:var(--hr-blue) !important;
  border:0 !important;
  color:#fff !important;
  font-weight:700;
  font-size:1rem;
  padding:14px 20px;
  min-height:58px;
  box-shadow:0 18px 44px rgba(76,111,255,.28);
  transition:transform .18s ease, box-shadow .18s ease;
  text-align:center;
}
body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button:hover,
body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 22px 58px rgba(76,111,255,.38);
}

/* Actions card */
body.single-hp_listing .hp-listing__actions--primary{
  padding:14px 18px;
  text-align:center;
  width:100% !important;
}
body.single-hp_listing .hp-listing__actions--primary .hp-listing__action--message.button{
  margin-top:6px;
  width:100% !important;
  border-radius:999px;
  background:#fff !important;
  border:1.5px solid var(--hr-blue) !important;
  color:var(--hr-blue) !important;
  font-weight:700;
  font-size:.92rem !important;
  padding:10px 16px !important;
  min-height:48px;
  box-shadow:none !important;
  transition:background .2s ease, box-shadow .2s ease, transform .15s ease;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body.single-hp_listing .hp-listing__actions--primary .hp-listing__action--message.button:hover{
  background:rgba(76,111,255,.06) !important;
  box-shadow:0 14px 36px rgba(76,111,255,.22) !important;
  transform:translateY(-1px);
}

/* Remove tap highlight */
body.single-hp_listing .hp-listing__actions--primary,
body.single-hp_listing .hp-listing__actions--primary *{
  -webkit-tap-highlight-color:transparent !important;
  -webkit-touch-callout:none !important;
  user-select:none !important;
}
body.single-hp_listing .hp-listing__actions--primary a,
body.single-hp_listing .hp-listing__actions--primary button{
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:none !important;
}
body.single-hp_listing .hp-listing__actions--primary a::before,
body.single-hp_listing .hp-listing__actions--primary a::after,
body.single-hp_listing .hp-listing__actions--primary button::before,
body.single-hp_listing .hp-listing__actions--primary button::after{
  content:none !important;
  display:none !important;
}
body.single-hp_listing .hp-listing__actions--primary a:focus-visible,
body.single-hp_listing .hp-listing__actions--primary button:focus-visible{
  box-shadow:0 0 0 3px rgba(76,111,255,.22) !important;
  border-radius:12px;
}

/* Favoris */
body.single-hp_listing .hp-page__topbar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body.single-hp_listing .hp-page__topbar .hr-topbar-actions,
body.single-hp_listing .hp-page__topbar .hr-filter-actions-wrap,
body.single-hp_listing .hp-page__topbar .hr-filter-btn,
body.single-hp_listing .hp-page__topbar .hr-filter-count,
body.single-hp_listing .hp-page__topbar .hr-clear-filters,
body.single-hp_listing .hp-page__topbar [data-url="#listing_filter_modal"]{
  display:none !important;
}

body.single-hp_listing .hp-listing__action--favorite{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid var(--hr-border-color) !important;
  box-shadow:0 10px 24px rgba(17,24,39,.12) !important;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
body.single-hp_listing .hp-listing__action--favorite .hp-icon{
  font-size:1.25rem;
  color:var(--hr-favorite-default) !important;
  margin:0 !important;
}
body.single-hp_listing .hp-listing__action--favorite[data-state="active"] .hp-icon{
  color:var(--hr-favorite-active) !important;
}
body.single-hp_listing .hp-listing__action--favorite span{ display:none !important; }
body.single-hp_listing .hp-listing__action--favorite:focus-visible{
  box-shadow:0 0 0 3px rgba(76,111,255,.3);
  border-radius:14px;
}

/*=====================================================================
  MOBILE (≤ 768px)
=====================================================================*/
@media (max-width:768px){
  body.single-hp_listing .hp-row.hp-listing.hp-listing--view-page{ display:block !important; }

  body.single-hp_listing .hp-page__content,
  body.single-hp_listing .hp-page__sidebar{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.single-hp_listing .hp-page__sidebar{ margin-top:24px !important; }
  body.single-hp_listing .hp-page__sidebar .inner-wrapper-sticky{
    position: static !important;
    top: auto !important;
  }

  body.single-hp_listing .hp-listing__images,
  body.single-hp_listing .hp-listing__tags,
  body.single-hp_listing .hp-listing__description,
  body.single-hp_listing .hp-listing__map,
  body.single-hp_listing .hp-vendor.hp-vendor--view-block,
  body.single-hp_listing .hp-sidebar-booking,
  body.single-hp_listing .hp-listing__actions--primary{
    width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Vendor card mobile : ajustements sans casser le centrage */
  body.single-hp_listing .hp-vendor.hp-vendor--view-block{
    padding:12px 16px;
    border-radius:18px;
    grid-template-columns:42px 1fr 36px !important;
    column-gap:10px;
  }
  body.single-hp_listing .hp-vendor__image,
  body.single-hp_listing .hp-vendor__image img{
    width:42px !important;
    height:42px !important;
  }
  body.single-hp_listing .hp-vendor__action--message{
    width:36px !important;
    height:36px !important;
  }
}

/* Colonne gauche : pas de scroll interne */
body.single-hp_listing .hp-page__content{
  overflow: visible !important;
}

/*=====================================================================
  ANNONCES SIMILAIRES — CARTES RÉDUITES
=====================================================================*/
body.single-hp_listing .hp-section{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid rgba(0,0,0,.05);
}
body.single-hp_listing .hp-section__title{
  margin-bottom:24px;
  position:relative;
}
body.single-hp_listing .hp-section__title::before{
  content:'';
  position:absolute;
  bottom:-8px;
  left:0;
  width:48px;
  height:3px;
  background:var(--hr-blue);
  border-radius:2px;
}

body.single-hp_listing .hp-section .hp-listing.hp-listing--view-block{
  font-size:.875rem;
  border-radius:16px !important;
  box-shadow:0 12px 24px rgba(15,23,42,.08) !important;
}
body.single-hp_listing .hp-section .hp-listing__header{ margin-bottom:8px; }
body.single-hp_listing .hp-section .hp-listing__title{
  font-size:1rem !important;
  margin:4px 0 2px;
}
body.single-hp_listing .hp-section .hp-listing__categories a{
  font-size:.625rem !important;
  padding:3px 10px !important;
  border-radius:999px !important;
  background:var(--hr-light-bg) !important;
  color:#7a889a !important;
  pointer-events:none;
  cursor:default;
  text-decoration:none;
}
body.single-hp_listing .hp-section .hp-listing__details--primary{
  font-size:.75rem !important;
  gap:2px !important;
}
body.single-hp_listing .hp-section .hp-listing__attribute--price{
  font-size:.78rem !important;
  padding:6px 20px !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
  border:1px solid rgba(148,163,184,.25) !important;
}
body.single-hp_listing .hp-section .hp-listing__actions--primary{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-left:8px;
}
body.single-hp_listing .hp-section .hp-listing__actions--primary a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(15,23,42,.10) !important;
  border:1px solid rgba(148,163,184,.25) !important;
  color:var(--hr-favorite-default);
  transition:background .15s ease, color .15s ease;
}
body.single-hp_listing .hp-section .hp-listing__actions--primary a:hover{
  background:rgba(76,111,255,.08) !important;
  color:var(--hr-blue) !important;
}
body.single-hp_listing .hp-section .hp-listing__actions--primary a .hp-icon{
  font-size:.875rem !important;
  margin:0 !important;
}
body.single-hp_listing .hp-section .hp-listing__actions--primary a[data-state="active"] .hp-icon{
  color:var(--hr-favorite-active) !important;
}
body.single-hp_listing .hp-section .hp-listing__footer{
  padding-top:8px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* Cartes propriétaire dans "annonces similaires" */
body.single-hp_listing .hp-page__footer .hp-section .hp-vendor.hp-vendor--view-block{
  border-radius:14px !important;
  padding:10px 12px !important;
  grid-template-columns:36px 1fr 32px !important;
  column-gap:8px !important;
}
body.single-hp_listing .hp-page__footer .hp-section .hp-vendor__image,
body.single-hp_listing .hp-page__footer .hp-section .hp-vendor__image img{
  width:36px !important;
  height:36px !important;
}
body.single-hp_listing .hp-page__footer .hp-section .hp-vendor__name a{
  font-size:.84rem !important;
}
body.single-hp_listing .hp-page__footer .hp-section .hp-vendor__action--message{
  width:32px !important;
  height:32px !important;
}

/*=====================================================================
  NAVIGATION SLIDER (SLICK) — FLÈCHES + DOTS
=====================================================================*/
body.single-hp_listing .hp-listing__images .slick-prev,
body.single-hp_listing .hp-listing__images .slick-next,
body.single-hp_listing .hp-listing__images-slider .slick-prev,
body.single-hp_listing .hp-listing__images-slider .slick-next{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%);
  z-index:3;
  width:36px;
  height:36px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:var(--hr-blue);
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  border:none;
  display:flex !important;
  align-items:center;
  justify-content:center;
  opacity:1;
  transition:background .2s ease, opacity .2s ease;
}
body.single-hp_listing .hp-listing__images .slick-arrow,
body.single-hp_listing .hp-listing__images-slider .slick-arrow{
  display:flex !important;
  pointer-events:auto;
}
/* Force arrows visible even when not hovering (theme hides by default) */
body.single-hp_listing .hp-listing__images-slider:not(:hover) .slick-arrow{
  display:flex !important;
  opacity:1 !important;
}

/* Custom overlay arrows (fallback for slick arrows not rendered) */
body.single-hp_listing .hp-listing__images .hr-gallery-prev,
body.single-hp_listing .hp-listing__images .hr-gallery-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:38px;
  height:38px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.90);
  color:var(--hr-blue);
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
body.single-hp_listing .hp-listing__images .hr-gallery-prev{ left:12px; }
body.single-hp_listing .hp-listing__images .hr-gallery-next{ right:12px; }

body.single-hp_listing .hp-listing__images .slick-prev,
body.single-hp_listing .hp-listing__images-slider .slick-prev{ left:12px; }
body.single-hp_listing .hp-listing__images .slick-next,
body.single-hp_listing .hp-listing__images-slider .slick-next{ right:12px; }

/* Hide default "Previous/Next" text inside slick buttons */
body.single-hp_listing .hp-listing__images .slick-prev,
body.single-hp_listing .hp-listing__images .slick-next,
body.single-hp_listing .hp-listing__images-slider .slick-prev,
body.single-hp_listing .hp-listing__images-slider .slick-next{
  font-size:0 !important;
  color:transparent !important;
}

/* Center arrows perfectly and restore chevron icons */
body.single-hp_listing .hp-listing__images .slick-prev,
body.single-hp_listing .hp-listing__images .slick-next,
body.single-hp_listing .hp-listing__images-slider .slick-prev,
body.single-hp_listing .hp-listing__images-slider .slick-next{
  top:50% !important;
  transform:translateY(-50%) !important;
  line-height:1 !important;
}
body.single-hp_listing .hp-listing__images .slick-prev::before,
body.single-hp_listing .hp-listing__images .slick-next::before,
body.single-hp_listing .hp-listing__images-slider .slick-prev::before,
body.single-hp_listing .hp-listing__images-slider .slick-next::before{
  font-family:"Font Awesome 5 Free" !important;
  font-weight:900 !important;
  font-size:16px !important;
  line-height:1 !important;
  display:block !important;
  color:var(--hr-blue) !important;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
}
body.single-hp_listing .hp-listing__images .slick-prev::before,
body.single-hp_listing .hp-listing__images-slider .slick-prev::before{ content:"\f053" !important; }
body.single-hp_listing .hp-listing__images .slick-next::before,
body.single-hp_listing .hp-listing__images-slider .slick-next::before{ content:"\f054" !important; }

/* Fix hover jitter on listing sidebar buttons */
body.single-hp_listing .hp-page__sidebar .hp-form__button,
body.single-hp_listing .hp-page__sidebar .hp-listing__action,
body.single-hp_listing .hp-page__sidebar .hp-field--submit,
body.single-hp_listing .hp-page__sidebar .button,
body.single-hp_listing .hp-page__sidebar .hp-field,
body.single-hp_listing .hp-page__sidebar .hp-form__field--checkboxes label{
  transform: none !important;
  transition: none !important;
  position: relative;
  top: 0 !important;
  margin-top: 0 !important;
  will-change: auto;
}
body.single-hp_listing .hp-page__sidebar .hp-form__button:hover,
body.single-hp_listing .hp-page__sidebar .hp-listing__action:hover,
body.single-hp_listing .hp-page__sidebar .hp-field--submit:hover,
body.single-hp_listing .hp-page__sidebar .button:hover,
body.single-hp_listing .hp-page__sidebar .hp-field:hover{
  transform: none !important;
  top: 0 !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}

/* Extra safety: buttons in booking + actions blocks */
body.single-hp_listing .hp-sidebar-booking .button,
body.single-hp_listing .hp-sidebar-booking .hp-form__button,
body.single-hp_listing .hp-listing__actions--primary .hp-listing__action,
body.single-hp_listing .hp-vendor__action--message,
body.single-hp_listing .hp-listing__action--review,
body.single-hp_listing .hp-listing__action--report{
  transform: none !important;
  transition: none !important;
  position: relative;
  top: 0 !important;
  margin-top: 0 !important;
}
body.single-hp_listing .hp-sidebar-booking .button:hover,
body.single-hp_listing .hp-sidebar-booking .hp-form__button:hover,
body.single-hp_listing .hp-listing__actions--primary .hp-listing__action:hover,
body.single-hp_listing .hp-vendor__action--message:hover,
body.single-hp_listing .hp-listing__action--review:hover,
body.single-hp_listing .hp-listing__action--report:hover{
  transform: none !important;
  top: 0 !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}

/* Kill any hover motion from icon/inner elements */
body.single-hp_listing .hp-sidebar-booking .button *,
body.single-hp_listing .hp-sidebar-booking .hp-form__button *,
body.single-hp_listing .hp-listing__actions--primary .hp-listing__action *,
body.single-hp_listing .hp-listing__action--review *,
body.single-hp_listing .hp-listing__action--report *{
  transform: none !important;
  transition: none !important;
}

body.single-hp_listing .hp-listing__images .slick-prev:hover,
body.single-hp_listing .hp-listing__images .slick-next:hover,
body.single-hp_listing .hp-listing__images-slider .slick-prev:hover,
body.single-hp_listing .hp-listing__images-slider .slick-next:hover{
  background:rgba(255,255,255,1);
  opacity:1;
}

body.single-hp_listing .hp-listing__images .slick-prev:before,
body.single-hp_listing .hp-listing__images .slick-next:before,
body.single-hp_listing .hp-listing__images-slider .slick-prev:before,
body.single-hp_listing .hp-listing__images-slider .slick-next:before{
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:16px;
  line-height:1;
}
body.single-hp_listing .hp-listing__images .slick-prev:before,
body.single-hp_listing .hp-listing__images-slider .slick-prev:before{ content:"\f053"; }
body.single-hp_listing .hp-listing__images .slick-next:before,
body.single-hp_listing .hp-listing__images-slider .slick-next:before{ content:"\f054"; }

body.single-hp_listing .hp-listing__images .slick-dots,
body.single-hp_listing .hp-listing__images-slider .slick-dots{
  position:absolute;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  display:flex !important;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
body.single-hp_listing .hp-listing__images .slick-dots li button,
body.single-hp_listing .hp-listing__images-slider .slick-dots li button{
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.60);
  border:none;
  padding:0;
  cursor:pointer;
  transition:background .3s ease;
}
body.single-hp_listing .hp-listing__images .slick-dots li.slick-active button,
body.single-hp_listing .hp-listing__images-slider .slick-dots li.slick-active button{
  background:var(--hr-blue);
}

/*=====================================================================
  ACCESSIBILITÉ — PREFERS REDUCED MOTION
=====================================================================*/
@media (prefers-reduced-motion: reduce){
  body.single-hp_listing .hp-vendor__action--message:hover,
  body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button:hover,
  body.single-hp_listing .hp-sidebar-booking .hp-form__footer .button-primary:hover,
  body.single-hp_listing .hp-listing__actions--primary .hp-listing__action--message.button:hover{
    transform:none !important;
  }
}




/* Sidebar: réduire légèrement l'espace sous le profil hôte (vendor)
   sans toucher au gap global entre les autres cartes */
@media (min-width: 769px) {
  body.single-hp_listing .hp-page__sidebar .hp-vendor.hp-vendor--view-block{
    margin-bottom: -1px !important; /* ajuste à -2 / -6 si tu veux */
  }
}












/* =========================================================
   TABS (Détails / Bookings / Modifier) — style "simple"
   => aligne la page Détails sur le rendu des 2 autres vues
   ========================================================= */
body.single-hp_listing .hp-menu--tabbed{
  border-bottom: 1px solid var(--hr-border) !important;
  padding-bottom: 0 !important;
}

body.single-hp_listing .hp-menu--tabbed .hp-menu__item a{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 12px 6px !important;   /* spacing clean */
  margin-right: 26px !important;  /* espace entre onglets */
  font-weight: 600 !important;
  color: #7a889a !important;
}

body.single-hp_listing .hp-menu--tabbed .hp-menu__item a:hover{
  color: var(--hr-text) !important;
}

/* onglet actif : texte bleu sans underline */
body.single-hp_listing .hp-menu--tabbed .hp-menu__item--current a,
body.single-hp_listing .hp-menu--tabbed .current-menu-item a{
  color: var(--hr-blue) !important;
  position: relative;
}

body.single-hp_listing .hp-menu--tabbed .hp-menu__item--current a::after,
body.single-hp_listing .hp-menu--tabbed .current-menu-item a::after{
  content: none !important;
  display: none !important;
}
body.single-hp_listing .hp-menu--tabbed .hp-menu__item--current::before,
body.single-hp_listing .hp-menu--tabbed .current-menu-item::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
}






/* =========================================================
   DESKTOP — Colonne gauche : afficher tout (pas de crop)
   => on désactive le scroll interne "app-like"
   ========================================================= */
@media (min-width:769px){
  body.single-hp_listing .hp-page__content{
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;   /* plus de scroll interne */
    overflow-x: visible !important;
    scrollbar-gutter: auto !important;
    padding-bottom: 0 !important;
  }

  /* optionnel : s'assurer que la page peut scroller normalement */
  body.single-hp_listing{
    overflow-y: auto !important;
  }
}











/* =========================================================
   ANNONCES SIMILAIRES — pastille prix auto (pas de texte qui sort)
   ========================================================= */
@media (min-width: 992px){
  body.single-hp_listing .hp-section .hp-listings.hp-grid > .hp-row{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:24px !important;
    margin:0 !important;
    justify-content:flex-start !important;
  }
  body.single-hp_listing .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
    flex:0 0 calc(33.333% - 16px) !important;
    max-width:calc(33.333% - 16px) !important;
  }
}
@media (min-width: 992px) and (max-width: 1200px){
  body.single-hp_listing .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
    flex:0 0 calc(50% - 12px) !important;
    max-width:calc(50% - 12px) !important;
  }
}
body.single-hp_listing .hp-section .hp-listing.hp-listing--view-block
  .hp-listing__attribute--price{
  width: auto !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 6px 16px !important;  /* un poil plus large */
  white-space: nowrap !important; /* reste sur 1 ligne */
  overflow: visible !important;
  text-overflow: clip !important;
  min-width: max-content !important; /* s’adapte au texte */
}

/* Le footer des cards : autoriser la pastille à garder sa largeur */
body.single-hp_listing .hp-section .hp-listing.hp-listing--view-block
  .hp-listing__footer{
  flex-wrap: nowrap !important;
}

body.single-hp_listing .hp-section .hp-listing.hp-listing--view-block
  .hp-listing__attributes--primary{
  flex: 0 0 auto !important;  /* ne se fait pas écraser */
  min-width: 0 !important;
}


body.single-hp_listing .hp-sidebar-booking .hr-nightly-hint{
  margin-top:4px;
  text-align:center;
  font-size:.75rem;
  color:var(--hr-muted);
}













/* =========================================================
   SIDEBAR — EXTRAS (checkbox) modern (FIX shadow/hover/coche)
   ========================================================= */

/* IMPORTANT: évite le "cadre invisible" qui coupe hover/shadow */
body.single-hp_listing .hp-sidebar-booking,
body.single-hp_listing .hp-sidebar-booking .hp-form,
body.single-hp_listing .hp-sidebar-booking .hp-form__fields,
body.single-hp_listing .hp-sidebar-booking .hp-form__field--checkboxes,
body.single-hp_listing .hp-sidebar-booking .hp-field--checkboxes{
  overflow: visible !important;
}

/* Un peu d'air */
body.single-hp_listing .hp-sidebar-booking .hp-form__field--checkboxes{
  margin-top: 14px !important;
}

/* Liste clean */
body.single-hp_listing .hp-sidebar-booking .hp-field--checkboxes ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

/* Card selectable */
body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  padding: 11px 12px !important;
  border-radius: 16px !important;

  background: #fff !important;
  border: 1px solid rgba(148,163,184,.26) !important;

  /* shadow plus soft (et surtout pas trop “large” pour éviter la coupe) */
  box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;

  cursor: pointer !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
  -webkit-tap-highlight-color: transparent;
}

/* Hover: léger bleu, shadow propre (sans “crop”) */
body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox:hover{
  background: rgba(76,111,255,.03) !important;
  border-color: rgba(76,111,255,.30) !important;
  box-shadow: 0 12px 26px rgba(76,111,255,.10) !important;
  transform: translateY(-1px) !important;
}























/* =========================================================
   MOBILE — TOPBAR sous Vendor + Favoris overlay sur image
   ========================================================= */
@media (max-width:768px){

  /* La topbar "Détails + favoris" devient plus compacte */
  body.single-hp_listing #hr-mobile-topbar-wrap .hp-page__topbar--separate{
    width: calc(100% - 32px) !important;
    margin: 10px auto 8px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid rgba(148,163,184,.22) !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
  }

}












@media (min-width:769px){
  body.single-hp_listing .hp-sidebar-booking{
    background: var(--hr-card) !important;
    border-radius: var(--hr-radius) !important;
    box-shadow: var(--hr-shadow) !important;
    border: 1px solid #f0f3f8 !important;
    padding: 16px 18px 18px !important;
  }
}















/* =========================================================
   MOBILE polish: enlever "card" tabs + espacement
   ========================================================= */

/* Mobile: enlever le cadre autour de la barre tabs */
@media (max-width:768px){
  body.single-hp_listing .hp-page__topbar--separate{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:14px auto 0 !important;
    width:calc(100% - 32px) !important;
  }

  /* si un thème a mis un "card" via un wrapper interne */
  body.single-hp_listing .hp-page__topbar--separate nav,
  body.single-hp_listing .hp-page__topbar--separate .hp-menu--tabbed{
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }

  /* Espacements entre tags / booking / actions */
  #hr-mobile-media-wrap{ margin-top:14px !important; }
  #hr-mobile-media-wrap .hp-listing__tags{ margin-top:14px !important; }

  /* Bonus: un peu d'air entre tags et la pastille prix si besoin */
  body.single-hp_listing .hp-sidebar-booking{ margin-top:0 !important; }
}







/* Slot map dans colonne gauche */
body.single-hp_listing .hr-map-slot{
  margin-top: 22px;
}

/* Desktop: map en paysage, full largeur colonne gauche */
@media (min-width: 769px){
  body.single-hp_listing .hp-page__content .hp-listing__map.hp-map{
    width: 100% !important;
    height: 360px !important;        /* paysage */
    border-radius: 24px;
    overflow: hidden;
  }
  body.single-hp_listing .hp-page__content .hp-listing__map canvas{
    width: 100% !important;
    height: 100% !important;
  }
}

/* Booking card: empêcher qu’elle “casse” / perde son style */
body.single-hp_listing .hp-sidebar-booking{
  background: var(--hr-card, #fff);
  border: 1px solid rgba(148,163,184,.35);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 18px 40px rgba(15,23,42,.06);
}
body.single-hp_listing .hp-sidebar-booking .hp-listing__attribute--price{
  text-align: center;
  font-weight: 700;
}










/* EXTRAS : compacte + moderne (nom + prix) */
body.single-hp_listing .hp-sidebar-booking .hp-field--checkboxes ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap:9px !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox{
  position:relative !important;
  display:block !important;
  width:100% !important;
  padding:11px 12px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
  border:1px solid rgba(166,182,214,.42) !important;
  box-shadow:0 8px 16px rgba(15,23,42,.06) !important;
  cursor:pointer !important;
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    transform .16s ease !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox:hover{
  border-color:rgba(76,111,255,.34) !important;
  box-shadow:0 11px 22px rgba(76,111,255,.14) !important;
  transform:translateY(-1px) !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox > span{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  gap:10px !important;
  line-height:1.2 !important;
  text-align:left !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox > span::before{
  content:"" !important;
  width:15px !important;
  height:15px !important;
  border-radius:999px !important;
  border:2px solid rgba(153,170,201,.64) !important;
  background:transparent !important;
  flex:0 0 15px !important;
  transition:border-color .14s ease, background-color .14s ease, box-shadow .14s ease !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox > span.hr-extra-line{
  gap:12px !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox > span.hr-extra-line::before{
  margin-top:3px !important;
}

body.single-hp_listing .hp-sidebar-booking .hr-extra-body{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:7px !important;
}

body.single-hp_listing .hp-sidebar-booking .hr-extra-name{
  flex:0 0 auto !important;
  min-width:0 !important;
  font-size:1rem !important;
  font-weight:600 !important;
  color:#1f2a44 !important;
  white-space:normal !important;
  line-height:1.2 !important;
}

body.single-hp_listing .hp-sidebar-booking .hr-extra-info{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(123,145,196,.34) !important;
  background:rgba(238,244,255,.90) !important;
  color:#3b507e !important;
  font-size:.74rem !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
  word-break:break-word !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox.is-selected{
  border-color:rgba(76,111,255,.52) !important;
  background:linear-gradient(180deg, rgba(246,250,255,.98) 0%, rgba(238,245,255,.96) 100%) !important;
  box-shadow:0 12px 24px rgba(76,111,255,.18) !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox.is-selected > span::before,
body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox input[type="checkbox"]:checked + span::before{
  border-color:var(--hr-blue) !important;
  background:var(--hr-blue) !important;
  box-shadow:0 0 0 3px rgba(76,111,255,.18) !important;
}

body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox.is-selected .hr-extra-info,
body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox input[type="checkbox"]:checked + span .hr-extra-info{
  border-color:rgba(76,111,255,.44) !important;
  background:rgba(76,111,255,.17) !important;
  color:#1f3572 !important;
}

/* Mobile: garde un rendu compact et lisible */
@media (max-width:768px){
  /* Extras mobile: supprimer le wrapper intermédiaire pour éviter le double cadre */
  body.single-hp_listing .hp-sidebar-booking .hp-form__field.hp-form__field--checkboxes,
  body.single-hp_listing .hp-sidebar-booking .hp-form__field--checkboxes,
  body.single-hp_listing .hp-sidebar-booking .hp-field--checkboxes{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:12px 0 0 !important;
  }

  body.single-hp_listing .hp-sidebar-booking .hp-form__field.hp-form__field--checkboxes::before,
  body.single-hp_listing .hp-sidebar-booking .hp-form__field.hp-form__field--checkboxes::after,
  body.single-hp_listing .hp-sidebar-booking .hp-form__field--checkboxes::before,
  body.single-hp_listing .hp-sidebar-booking .hp-form__field--checkboxes::after{
    display:none !important;
    content:none !important;
  }

  body.single-hp_listing .hp-sidebar-booking .hp-field--checkboxes ul{
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.single-hp_listing .hp-sidebar-booking label.hp-field--checkbox{
    padding:10px 11px !important;
    margin:0 !important;
    width:100% !important;
  }

  body.single-hp_listing .hp-sidebar-booking .hr-extra-body{
    gap:6px !important;
  }

  body.single-hp_listing .hp-sidebar-booking .hr-extra-name{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:.97rem !important;
    line-height:1.25 !important;
  }

  body.single-hp_listing .hp-sidebar-booking .hr-extra-info{
    font-size:.72rem !important;
    padding:5px 9px !important;
    max-width:100% !important;
  }
}










@media (max-width:768px){
  /* espace entre booking card et actions */
  body.single-hp_listing .hp-sidebar-booking{
    margin-bottom: 14px !important;
  }
}


@media (max-width:768px){
  /* réduire l'écart tabs -> image */
  body.single-hp_listing .hp-page__topbar--separate{
    margin-bottom: 8px !important;
  }
  body.single-hp_listing .hp-listing__images{
    margin-top: 10px !important; /* au lieu du gros espace */
  }
}


@media (max-width:768px){
  body.single-hp_listing .hp-listing__tags{ margin-top: 12px !important; }
}

