/* --- ID 403: mobile header/dropdown stabilization --- */
@media (max-width: 768px){
  :root{
    --hr-mobile-header-offset: calc(env(safe-area-inset-top, 0px) + 72px);
  }

  html,
  body{
    overflow-x: hidden;
  }

  .site-container,
  .site-content,
  .site-content .container,
  .header-navbar,
  .header-navbar__end,
  .header-navbar__menu,
  .header-navbar__actions{
    min-width: 0 !important;
  }

  .header-navbar{
    padding: 10px 12px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .header-navbar__start{
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 76px !important;
    margin-right: 8px !important;
  }

  .header-logo,
  .header-logo .custom-logo-link{
    display: block !important;
    line-height: 0 !important;
  }

  .header-logo img,
  .header-logo img.custom-logo{
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-height: 30px !important;
    max-width: min(36vw, 138px) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header-navbar__end{
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-left: auto !important;
  }

  .header-navbar__menu,
  .header-navbar__actions{
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header-navbar__actions{
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }

  .header-navbar__menu .menu.wrap,
  .header-navbar__menu > ul.wrap{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header-navbar__menu .menu.wrap > li,
  .header-navbar__menu > ul.wrap > li{
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }

  .header-navbar__menu .menu.wrap li.menu-item--user-account,
  .header-navbar__menu .menu.wrap .hr-cart-wrap,
  .header-navbar__actions .hr-cart-wrap,
  .hr-cart-wrap{
    margin: 0 !important;
  }

  .header-navbar__menu .menu.wrap > li.menu-item-home > a,
  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .header-navbar__actions .hp-menu__item.button--secondary,
  .hr-cart-link{
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    flex: 0 0 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header .header-navbar__actions .hp-menu__item--listing-submit span{
    display: none !important;
  }

  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item span{
    display: none !important;
  }

  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item i.hp-icon,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit i,
  .header-navbar__actions .hp-menu__item.button--secondary i,
  .hr-cart-link i{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .hr-cart-wrap{
    position: static !important;
    flex: 0 0 auto !important;
  }

  .hr-cart-link .hr-cart-count{
    top: -4px !important;
    right: -4px !important;
  }

  .header-navbar__menu .menu-item--user-account.menu-item-has-children > ul.sub-menu.hp-menu.hp-menu--user-account,
  .hr-cart-wrap .hr-cart-dropdown{
    position: fixed !important;
    top: var(--hr-mobile-header-offset) !important;
    right: 12px !important;
    left: auto !important;
    width: min(92vw, 360px) !important;
    max-height: calc(100dvh - var(--hr-mobile-header-offset) - 12px - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 2147483647 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22) !important;
  }

  .hr-cart-wrap .hr-cart-dropdown{
    display: none !important;
  }

  .hr-cart-wrap.is-open .hr-cart-dropdown{
    display: block !important;
  }

  .site-footer,
  footer,
  .wp-block-template-part.footer,
  .wp-site-blocks > footer{
    position: relative !important;
    z-index: 1 !important;
  }
}

@media (max-width: 420px){
  .header-navbar{
    padding: 8px 10px !important;
    gap: 8px !important;
  }

  .header-logo img,
  .header-logo img.custom-logo{
    max-height: 26px !important;
    max-width: min(34vw, 116px) !important;
  }

  .header-navbar__menu .menu.wrap > li.menu-item-home > a,
  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit,
  .header-navbar__actions .hp-menu__item.button--secondary,
  .hr-cart-link{
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    flex-basis: 36px !important;
  }

  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item i.hp-icon,
  .site-header .header-navbar__actions .hp-menu__item--listing-submit i,
  .header-navbar__actions .hp-menu__item.button--secondary i,
  .hr-cart-link i{
    font-size: 16px !important;
  }
}


/* =========================================
   HEADER — UNIFIED ICONS + REORDER
   Ordre : Home > Ajout > Profil > Panier
   ========================================= */

/* 1) Aplatir le layout : tous les items deviennent enfants flex de .header-navbar__end */
.header-navbar__menu,
.header-navbar__actions,
.header-navbar__menu .menu.wrap,
.header-navbar__menu > ul.wrap,
.header-navbar__actions .hp-menu--site-header,
.header-navbar__actions .hp-menu.hp-menu--main {
  display: contents !important;
}

/* 2) Conteneur flex principal */
.header-navbar__end {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* 3) Ordre des icônes */
.header-navbar__menu .menu.wrap > li.menu-item-home { order: 1 !important; }
.hp-menu__item--listing-submit { order: 2 !important; }
.header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account { order: 3 !important; }
.hr-cart-wrap { order: 4 !important; }

/* 4) Home desktop : cercle translucide 40px */
.site-header .header-navbar__menu .menu > li.menu-item-home > a {
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* 5) Ajout annonce : cercle compact sur tous les écrans
      Sélecteurs haute spécificité pour battre les règles globales
      (.header-navbar__actions .hp-menu__item.button--secondary) */
.site-header .header-navbar__actions .hp-menu__item.button--secondary.hp-menu__item--listing-submit,
.site-header .hp-menu__item.button--secondary.hp-menu__item--listing-submit,
.site-header .hp-menu__item--listing-submit {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  background-image: none !important;
  background-color: rgba(255,255,255,.12) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-header .header-navbar__actions .hp-menu__item.button--secondary.hp-menu__item--listing-submit span,
.site-header .hp-menu__item--listing-submit span {
  display: none !important;
}

.site-header .header-navbar__actions .hp-menu__item.button--secondary.hp-menu__item--listing-submit i,
.site-header .hp-menu__item--listing-submit i {
  color: #ffffff !important;
  font-size: 17px !important;
  margin: 0 !important;
  display: inline-flex !important;
}

.site-header .header-navbar__actions .hp-menu__item.button--secondary.hp-menu__item--listing-submit:hover,
.site-header .hp-menu__item--listing-submit:hover {
  background: rgba(255,255,255,.18) !important;
  background-image: none !important;
  background-color: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.32) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* 6) Panier : masquer quand vide */
.hr-cart-wrap.hr-cart-empty {
  display: none !important;
}

/* 7) Mobile */
@media (max-width: 768px) {
  .header-navbar__end {
    gap: 8px !important;
  }

  /* Forcer la couleur blanche sur l'icône user */
  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item,
  .header-navbar__menu .menu.wrap > li.menu-item--last.menu-item--user-account > a.hp-menu__item i.hp-icon {
    color: #ffffff !important;
  }
}

@media (max-width: 420px) {
  .header-navbar__end {
    gap: 6px !important;
  }
}

/* --- MOBILE FIXES (2026-02-10) --- */
@media (max-width: 768px) {
  /* Désactive l'ouverture par :focus-within (on pilote via .is-open) */
  .header-navbar__menu .menu-item--user-account.menu-item-has-children > .sub-menu {
    display: none !important;
  }

  /* Header: l'icône user ouvre le menu sans sauter de page */
  .header-navbar__menu .menu-item--user-account.menu-item-has-children.is-open > .sub-menu {
    display: block !important;
    position: fixed !important;
    top: calc(var(--hr-header-h, 64px) + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    max-width: 420px !important;
    margin-left: auto !important;
    max-height: calc(100vh - var(--hr-header-h, 64px) - 24px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 9999 !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  html.hr-lock-scroll,
  body.hr-lock-scroll {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* Pages Compte (Annonces, Favoris, Calendrier, Bookings, Messages, Commandes, Réglages) */
  .hp-page:has(.hp-page__sidebar) .hp-page__content,
  .hp-page__content:has(.hp-menu--user-account),
  body.woocommerce-account .hp-page__content {
    padding-top: 1rem !important;
  }

  .hp-page:has(.hp-page__sidebar) .hp-page__content .page__title,
  .hp-page:has(.hp-page__sidebar) .hp-page__content h1.entry-title,
  body.woocommerce-account .hp-page__content .page__title,
  body.woocommerce-account .hp-page__content h1.entry-title {
    margin-top: 0 !important;
    margin-bottom: 1.2rem !important;
  }

  /* Fallback sans :has() */
  .hp-page__sidebar + .hp-page__content,
  .hp-page__sidebar ~ .hp-page__content {
    padding-top: 1rem !important;
  }
  .hp-page__sidebar + .hp-page__content .page__title,
  .hp-page__sidebar + .hp-page__content h1.entry-title,
  .hp-page__sidebar ~ .hp-page__content .page__title,
  .hp-page__sidebar ~ .hp-page__content h1.entry-title {
    margin-top: 0 !important;
    margin-bottom: 1.2rem !important;
  }

  /* WooCommerce Commandes + Détails : marges latérales mobile */
  body.woocommerce-account .container,
  body.woocommerce-account .site-content .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* IA Search (mobile): no reserved empty area under the form. */
  .hp-form--listing-search {
    padding-bottom: 0 !important;
  }

  .hp-form--listing-search .hr-ai-bar__inner {
    padding-bottom: 0 !important;
  }

  /* Messages: optimisation mobile (listes + conversations) */
  body.post-type-archive-hp_message .hp-page__content,
  body.single-hp_message .hp-page__content,
  .hp-page__content:has(.hp-messages.hp-grid) {
    padding-top: 1rem !important;
  }

  body.post-type-archive-hp_message .hp-page__content .hp-messages,
  body.single-hp_message .hp-page__content .hp-messages,
  .hp-page__content:has(.hp-messages.hp-grid) .hp-messages {
    padding: 1.2rem 1.1rem !important;
    border-radius: 20px !important;
  }

  .hp-page__content:has(.hp-messages.hp-grid) .hp-message__text {
    max-width: 100% !important;
    font-size: 0.95rem !important;
  }

  .hp-page__content:has(.hp-messages.hp-grid) a.hp-message__listing,
  .hp-page__content:has(.hp-messages.hp-grid) a.hp-message__listing span {
    max-width: 100% !important;
  }

  .hp-page__content:has(.hp-messages.hp-grid) form.hp-form--message-send {
    padding: 14px 14px 16px !important;
  }

  .hp-page__content:has(.hp-messages.hp-grid) form.hp-form--message-send textarea,
  .hp-page__content:has(.hp-messages.hp-grid) form.hp-form--message-send .hp-field__textarea,
  .hp-page__content:has(.hp-messages.hp-grid) form.hp-form--message-send .hp-field__input {
    min-height: 120px !important;
  }

  .hp-page__content:has(.hp-messages.hp-grid) form.hp-form--message-send .hp-form__button {
    width: 100% !important;
  }

  body.post-type-archive-hp_message .hp-messages.hp-table tr.hp-message > td {
    padding: 12px 16px !important;
  }

  body.post-type-archive-hp_message .hp-messages.hp-table td.hp-message__listing a.hp-link span {
    white-space: normal !important;
  }

  /* EDIT LISTING — mobile */
  body .hp-form--listing-update .hp-form__field--attachment-upload {
    margin-bottom: 18px !important;
  }

  /* Repeater (Extras) : compact + lisible */
  body .hp-form--listing-update [data-component="repeater"] .hp-table {
    display: block !important;
    width: 100% !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table tbody,
  body .hp-form--listing-update [data-component="repeater"] .hp-table tr,
  body .hp-form--listing-update [data-component="repeater"] .hp-table td {
    display: block !important;
    width: 100% !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table tr {
    background: #ffffff !important;
    border: 1px solid rgba(148,163,184,.25) !important;
    border-radius: 16px !important;
    padding: 12px 52px 12px 12px !important; /* place pour le bouton supprimer */
    margin-bottom: 12px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
    position: relative !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table td {
    padding: 6px 0 !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table td:first-child {
    display: none !important; /* poignée de tri */
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table td:last-child {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table td:last-child a {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: grid !important;
    place-items: center !important;
    background: rgba(239,68,68,.12) !important;
    color: #ef4444 !important;
  }
  body .hp-form--listing-update [data-component="repeater"] .hp-table input,
  body .hp-form--listing-update [data-component="repeater"] .hp-table select {
    width: 100% !important;
  }

  /* Checkbox "Required" : espacement + alignement */
  body .hp-form--listing-update [data-component="repeater"] .hp-table .hp-field--checkbox{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(148,163,184,.25) !important;
    background: #fff !important;
    margin-top: 6px !important;
  }

  body .hp-form--listing-update [data-component="repeater"] .hp-table .hp-field--checkbox input{
    margin: 0 !important;
  }
}

/* ===== AI SEARCH UX (status + loading) ===== */
body.home .page__text > h1.wp-block-heading,
body.home .page__text .hr-ai-search-heading{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.hr-ai-status-host.hr-ai-status-host--outside{
  display: none;
  width: 100%;
  margin: 0 0 12px 0;
  position: relative;
  isolation: isolate;
}

.hr-ai-status-host.hr-ai-status-host--outside.is-visible{
  display: block;
}

.hr-ai-status-host.hr-ai-status-host--outside .hr-ai-status{
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: #1d2850;
  min-height: 0;
  text-align: left;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(76, 111, 255, .22);
  background: linear-gradient(135deg, rgba(76, 111, 255, .12), rgba(90, 154, 255, .08));
  box-shadow: 0 14px 34px rgba(29, 40, 80, .10);
  animation: hrAiFadeInUp .24s ease-out both;
}

.hr-ai-status-host.hr-ai-status-host--outside .hr-ai-status.is-loading{
  color: rgba(45, 86, 255, 1);
  border-color: rgba(76, 111, 255, .32);
  background: linear-gradient(135deg, rgba(76, 111, 255, .16), rgba(76, 111, 255, .08));
}

.hr-ai-status-host.hr-ai-status-host--outside .hr-ai-status.is-error{
  color: #d14444;
  border-color: rgba(209, 68, 68, .34);
  background: linear-gradient(135deg, rgba(255, 92, 92, .12), rgba(255, 92, 92, .04));
}

.hp-form--listing-search.hr-ai-loading .hr-ai-input{
  opacity: .86;
}

.hp-form--listing-search.hr-ai-loading .hr-ai-submit{
  cursor: wait !important;
  opacity: .9;
}

.hr-ai-suggestions.hr-ai-suggestions--outside{
  display: none;
  margin-top: 14px;
  width: 100%;
  gap: 12px;
  flex-direction: column;
  position: relative;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(76, 111, 255, .12);
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(76, 111, 255, .10), rgba(76, 111, 255, 0) 45%),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(247, 249, 255, .88));
  box-shadow: 0 22px 48px rgba(29, 40, 80, .12);
  overflow: hidden;
}

.hr-ai-suggestions.hr-ai-suggestions--outside.is-visible{
  display: flex;
  animation: hrAiFadeInUp .3s ease-out both;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-suggestions__title{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: rgba(29, 40, 80, .74);
  margin-bottom: 2px;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination{
  width: 100%;
  border: 1px solid rgba(76, 111, 255, .15);
  background: #ffffff;
  border-radius: 14px;
  padding: 12px 14px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
  margin: 0;
  transform: translateY(0);
  box-shadow: 0 8px 20px rgba(29, 40, 80, .06);
  animation: hrAiFadeInUp .24s ease-out both;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination:hover{
  border-color: rgba(76, 111, 255, .45);
  background: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(246, 249, 255, 1));
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(29, 40, 80, .16);
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination:nth-child(2){
  animation-delay: .02s;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination:nth-child(3){
  animation-delay: .04s;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination:nth-child(4){
  animation-delay: .06s;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__pulse{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #4c6fff, #5aa6ff);
  box-shadow: 0 0 0 0 rgba(76, 111, 255, .45);
  animation: hrAiPulse 1.8s ease-in-out infinite;
  flex: 0 0 auto;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__main{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__name{
  font-size: 14px;
  font-weight: 700;
  color: #1d2850;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__hint{
  font-size: 11px;
  font-weight: 600;
  color: rgba(77, 91, 120, .85);
  letter-spacing: .01em;
}

.hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__meta{
  font-size: 12px;
  color: #55698d;
  font-weight: 600;
  white-space: nowrap;
  flex: 0 0 auto;
}

@keyframes hrAiFadeInUp{
  from{
    opacity: 0;
    transform: translateY(6px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hrAiPulse{
  0%{
    box-shadow: 0 0 0 0 rgba(76, 111, 255, .42);
  }
  70%{
    box-shadow: 0 0 0 8px rgba(76, 111, 255, 0);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(76, 111, 255, 0);
  }
}

@media (max-width: 768px){
  .hr-ai-suggestions.hr-ai-suggestions--outside{
    padding: 12px;
    gap: 10px;
  }

  .hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination{
    padding: 10px 11px;
    gap: 10px;
  }

  .hr-ai-suggestions.hr-ai-suggestions--outside .hr-ai-destination__meta{
    font-size: 11px;
  }
}

/* ===== FINAL FIXES (listing links/messages/header dropdown) ===== */

/* 1) Listing links: add clear breathing room between icon and title */
body .hp-page__content .hr-link-icon{
  margin-right: 8px !important;
}
body .hp-page__content .hp-booking__listing a,
body .hp-page__content .hp-message__listing a,
body .hp-page__content .hp-message__subject a{
  gap: 12px !important;
}

/* 2) Messages list: hide middle listing link column */
body.post-type-archive-hp_message .hp-messages.hp-table td.hp-message__listing,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table td.hp-message__listing{
  display: none !important;
}
body.post-type-archive-hp_message .hp-messages.hp-table tr.hp-message,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table tr.hp-message{
  display: flex !important;
  align-items: center !important;
}
body.post-type-archive-hp_message .hp-messages.hp-table td.hp-message__sender,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table td.hp-message__sender{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
body.post-type-archive-hp_message .hp-messages.hp-table td.hp-message__sent-date,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table td.hp-message__sent-date{
  flex: 0 0 auto !important;
  margin-left: auto !important;
  text-align: right !important;
  white-space: nowrap !important;
}
@media (max-width: 768px){
  body.post-type-archive-hp_message .hp-messages.hp-table td.hp-message__listing,
  body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table td.hp-message__listing{
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* 3) Header dropdown always above footer (desktop + mobile) */
body .site-header{
  position: relative !important;
  z-index: 2147483200 !important;
  isolation: isolate;
}
body .site-header,
body .site-header .header-navbar,
body .site-header .header-navbar__end,
body .site-header .header-navbar__menu{
  overflow: visible !important;
}
body .site-header .menu-item--user-account.menu-item-has-children > .sub-menu,
body .site-header ul.sub-menu.hp-menu.hp-menu--user-account,
body .site-header .hr-cart-wrap .hr-cart-dropdown{
  z-index: 2147483647 !important;
}
body footer,
body .site-footer,
body .wp-block-template-part.footer,
body .wp-site-blocks > footer{
  position: relative !important;
  z-index: 1 !important;
}

/* 4) Account lists: remove listings wrapper panel + tighten title/list spacing */
body .hp-page__content .hp-listings.hp-table{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body .hp-page__content .hp-listings.hp-table,
body .hp-page__content .hp-messages.hp-table{
  margin-top: 0.55rem !important;
}

body .hp-page__content:has(.hp-listings.hp-table) .page__title,
body .hp-page__content:has(.hp-listings.hp-table) h1.entry-title,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .page__title,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) h1.entry-title{
  margin-bottom: 0.9rem !important;
}

/* 5) Tight title->rows spacing on Listings + Messages */
body .hp-page__content:has(.hp-listings.hp-table) .page__title,
body .hp-page__content:has(.hp-listings.hp-table) h1.entry-title,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .page__title,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) h1.entry-title{
  margin-bottom: 0.4rem !important;
}

body .hp-page__content:has(.hp-listings.hp-table) .hp-listings.hp-table,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table{
  margin-top: 0 !important;
}

body .hp-page__content:has(.hp-listings.hp-table) .hp-listings.hp-table thead,
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid)) .hp-messages.hp-table thead{
  display: none !important;
}

body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table::before{
  inset: -10px -26px -24px -26px !important;
}

/* 6) Hard fix: remove remaining gap under Messages/Annonces titles */
body.post-type-archive-hp_message .hp-page__content h1,
body.post-type-archive-hp_message .hp-page__content .page__title,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content h1,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content .page__title{
  margin-bottom: 0 !important;
}

body.post-type-archive-hp_message .hp-page__content .hp-messages.hp-table,
body .hp-page__content .hp-listings.hp-table{
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-spacing: 0 12px !important;
}

body.post-type-archive-hp_message .hp-page__content .hp-messages.hp-table::before{
  inset: -2px -26px -22px -26px !important;
}

/* 7) Kill wrapper top spacing before first row (Messages + Annonces) */
body.post-type-archive-hp_message .hp-page__content > .hp-row,
body.post-type-archive-hp_message .hp-page__content > .hp-container,
body.post-type-archive-hp_message .hp-page__content > .hp-block,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content > .hp-row,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content > .hp-container,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content > .hp-block{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.post-type-archive-hp_message .hp-page__content .hp-table,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content .hp-table{
  margin-top: 0 !important;
}

body.post-type-archive-hp_message .hp-page__content h1,
body:has(.hp-page__content .hp-listings.hp-table) .hp-page__content h1{
  margin-bottom: 0.2rem !important;
}

/* 8) Fallback without :has (direct targeting) */
body.post-type-archive-hp_message .hp-page__content .page__title,
body.post-type-archive-hp_message .hp-page__content h1,
body.post-type-archive-hp_listing .hp-page__content .page__title,
body.post-type-archive-hp_listing .hp-page__content h1{
  margin-bottom: 0.2rem !important;
}

body.post-type-archive-hp_message .hp-page__content .hp-messages.hp-table,
body.post-type-archive-hp_listing .hp-page__content .hp-listings.hp-table{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .hp-page__content .page__title + .hp-listings.hp-table,
body .hp-page__content .page__title + .hp-messages.hp-table,
body .hp-page__content h1 + .hp-listings.hp-table,
body .hp-page__content h1 + .hp-messages.hp-table{
  margin-top: 0 !important;
}

/* 9) DOM-exact fix: <h1 class="hp-page__title"> + <table class="hp-messages|hp-listings hp-table"> */
.hp-page__content.hp-col-sm-8.hp-col-xs-12 > h1.hp-page__title{
  margin: 0 0 0.25rem !important;
}

.hp-page__content.hp-col-sm-8.hp-col-xs-12 > h1.hp-page__title + table.hp-messages.hp-table,
.hp-page__content.hp-col-sm-8.hp-col-xs-12 > h1.hp-page__title + table.hp-listings.hp-table{
  margin-top: 0 !important;
  padding: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

.hp-page__content.hp-col-sm-8.hp-col-xs-12 > h1.hp-page__title + table.hp-messages.hp-table::before{
  inset: 0 -26px -20px -26px !important;
}

/* 10) Messages list: same clean shadows as Listings (no clipped side panel) */
body.post-type-archive-hp_message .hp-page__content table.hp-messages.hp-table{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 14px !important;
}

body.post-type-archive-hp_message .hp-page__content table.hp-messages.hp-table::before{
  content: none !important;
  display: none !important;
}

body.post-type-archive-hp_message .hp-page__content table.hp-messages.hp-table tr.hp-message{
  overflow: visible !important;
  box-shadow: 0 18px 40px rgba(15, 35, 52, 0.06) !important;
}

body.post-type-archive-hp_message .hp-page__content table.hp-messages.hp-table tr.hp-message:hover{
  box-shadow: 0 22px 55px rgba(15, 35, 52, 0.12) !important;
}

/* 11) Messages shadow alignment with Listings: hard disable the background panel */
body.post-type-archive-hp_message .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table{
  position: static !important;
  isolation: auto !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.post-type-archive-hp_message .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.post-type-archive-hp_message .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table tr.hp-message{
  overflow: visible !important;
}

/* 11b) Runtime hard fix: remove invisible side panel clipping on Messages */
body.hr-msg-shadow-clean .hp-page__content.hp-col-sm-8.hp-col-xs-12 > table.hp-messages.hp-table{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
  isolation: auto !important;
}

body.hr-msg-shadow-clean .hp-page__content.hp-col-sm-8.hp-col-xs-12 > table.hp-messages.hp-table::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hr-msg-shadow-clean .hp-page__content.hp-col-sm-8.hp-col-xs-12 > table.hp-messages.hp-table tr.hp-message{
  overflow: visible !important;
  box-shadow: 0 18px 40px rgba(15, 35, 52, 0.06) !important;
}

/* 11c) Generic (no body class dependency): disable Messages panel globally on table view */
body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
  isolation: auto !important;
}

body .hp-page__content:has(.hp-messages.hp-table):not(:has(.hp-messages.hp-grid + form.hp-form--message-send)) .hp-messages.hp-table::before{
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* 12) Favoris: city list first, cards on demand */
.hr-favorites-city-view{
  margin-top: 4px;
}

.hr-favorites-city-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hr-favorites-city-row{
  width: 100%;
  border: 0;
  background: #ffffff;
  border-radius: 22px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  box-shadow: 0 18px 40px rgba(15, 35, 52, 0.06);
  color: #1f2937;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease;
}

.hr-favorites-city-row:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 55px rgba(15, 35, 52, 0.11);
}

.hr-favorites-city-name{
  font-size: 1.05rem;
  font-weight: 600;
}

.hr-favorites-city-meta{
  font-size: 0.92rem;
  color: #94a3b8;
  white-space: nowrap;
}

.hr-favorites-city-cards-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 6px 0 12px;
}

.hr-favorites-city-back{
  border: 0;
  border-radius: 999px;
  padding: 8px 14px;
  background: #eef2ff;
  color: #4c6fff;
  font-weight: 600;
  cursor: pointer;
  transition: background .14s ease, transform .14s ease;
}

.hr-favorites-city-back:hover{
  background: #e2e8ff;
  transform: translateY(-1px);
}

.hr-favorites-city-title{
  margin: 0;
  font-size: 1.02rem;
  font-weight: 600;
  color: #334155;
}

/* Favoris (cards): push the separator line slightly lower under meta/date */
.hr-favorites-city-cards .hp-listing.hp-listing--view-block .hp-listing__content{
  padding-bottom: 18px !important;
}

@media (max-width: 768px){
  .hr-favorites-city-row{
    padding: 14px 16px;
    border-radius: 18px;
  }
  .hr-favorites-city-name{
    font-size: 1rem;
  }
  .hr-favorites-city-meta{
    font-size: 0.84rem;
  }
  .hr-favorites-city-cards-header{
    margin: 4px 0 10px;
  }

  .hr-favorites-city-cards .hp-listing.hp-listing--view-block .hp-listing__content{
    padding-bottom: 16px !important;
  }
}

/* 15) Booking detail header: title + (status + listing) on left, meta lines below */
body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-top-row{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row{
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: -8px !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row .hp-listing__status.hp-status,
body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row .hp-booking__status.hp-status{
  margin: 0 !important;
}


/* 18) Featured listing badge: premium visible style */
body .hp-listing__header .hp-listing__featured-badge,
body .hp-listing__header .hp-listing__featured-badge.hp-listing__featured{
  top: 12px !important;
  left: 12px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #a86100 !important;
  background: linear-gradient(145deg, #fff9df 0%, #ffe99d 58%, #ffd25e 100%) !important;
  border: 1px solid rgba(201, 132, 0, 0.56) !important;
  box-shadow:
    0 14px 30px rgba(255, 188, 32, 0.35),
    0 0 0 2px rgba(255, 255, 255, 0.58) inset,
    0 1px 0 rgba(255, 255, 255, 0.7) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body .hp-listing__header .hp-listing__featured-badge i{
  font-size: 16px !important;
  line-height: 1 !important;
  color: currentColor !important;
  filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.6));
}

body .hp-listing__header .hp-listing__featured-badge:hover{
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow:
    0 18px 36px rgba(255, 188, 32, 0.42),
    0 0 0 2px rgba(255, 255, 255, 0.62) inset,
    0 2px 0 rgba(255, 255, 255, 0.78) !important;
}

@media (max-width: 767px){
  body .hp-listing__header .hp-listing__featured-badge,
  body .hp-listing__header .hp-listing__featured-badge.hp-listing__featured{
    top: 10px !important;
    left: 10px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }

  body .hp-listing__header .hp-listing__featured-badge i{
    font-size: 14px !important;
  }
}

/* 20) Single listing gallery arrows: sober modern nav */
body.single-hp_listing .hp-listing__images{
  --hr-gallery-nav-size: 44px;
}

/* Hide legacy slick arrows to avoid duplicates/conflicts */
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{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 14 !important;
  width: var(--hr-gallery-nav-size) !important;
  height: var(--hr-gallery-nav-size) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, .58) !important;
  background: linear-gradient(150deg, rgba(250, 252, 255, .86), rgba(241, 246, 255, .62)) !important;
  color: #1f3158 !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .18) !important;
  -webkit-backdrop-filter: blur(10px) saturate(145%);
  backdrop-filter: blur(10px) saturate(145%);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn--prev{
  left: 14px !important;
}
body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn--next{
  right: 14px !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn svg{
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  stroke-width: 2.3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
  display: block !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn:hover{
  transform: translateY(-50%) scale(1.03) !important;
  background: linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(238, 244, 255, .74)) !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .24) !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn:active{
  transform: translateY(-50%) scale(.98) !important;
}

body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn:disabled{
  opacity: .34 !important;
  cursor: default !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .10) !important;
}

@media (max-width: 768px){
  body.single-hp_listing .hp-listing__images{
    --hr-gallery-nav-size: 40px;
  }
  body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn--prev{
    left: 10px !important;
  }
  body.single-hp_listing .hp-listing__images .hr-gallery-nav-btn--next{
    right: 10px !important;
  }
}

/* 18) Global dropdowns refresh: glass / blur / modern active states */
:root{
  --hr-glass-bg: rgba(242, 246, 255, .72);
  --hr-glass-bg-strong: rgba(242, 246, 255, .88);
  --hr-glass-border: rgba(255, 255, 255, .56);
  --hr-glass-shadow: 0 26px 60px rgba(15, 23, 42, .20);
  --hr-glass-text: #1a2746;
  --hr-glass-muted: #64769b;
  --hr-glass-hover: rgba(76, 111, 255, .14);
  --hr-glass-active-bg: linear-gradient(135deg, rgba(76, 111, 255, .95), rgba(50, 88, 245, .92));
}

/* Header account/cart dropdown panels */
body .site-header .menu-item--user-account.menu-item-has-children > ul.sub-menu.hp-menu.hp-menu--user-account,
body .site-header .menu-item--user-account.menu-item-has-children > .sub-menu.hp-menu.hp-menu--user-account,
body .site-header .header-navbar__burger .menu-item--user-account.menu-item-has-children > .sub-menu.hp-menu.hp-menu--user-account,
body .site-header .hr-cart-wrap .hr-cart-dropdown{
  background: var(--hr-glass-bg) !important;
  border: 1px solid var(--hr-glass-border) !important;
  box-shadow: var(--hr-glass-shadow) !important;
  -webkit-backdrop-filter: saturate(150%) blur(14px) !important;
  backdrop-filter: saturate(150%) blur(14px) !important;
}

/* Header dropdown links */
body .site-header .sub-menu.hp-menu--user-account li > a,
body .site-header .hr-cart-dropdown a{
  color: var(--hr-glass-text) !important;
}
body .site-header .sub-menu.hp-menu--user-account li > a span,
body .site-header .sub-menu.hp-menu--user-account li > a small{
  color: inherit !important;
}
body .site-header .sub-menu.hp-menu--user-account li:not(.hp-menu__item--current):not(.current-menu-item) > a:hover,
body .site-header .hr-cart-dropdown a:hover{
  background: var(--hr-glass-hover) !important;
  color: var(--hr-glass-text) !important;
}
body .site-header .sub-menu.hp-menu--user-account li.hp-menu__item--current > a,
body .site-header .sub-menu.hp-menu--user-account li.current-menu-item > a,
body .site-header .sub-menu.hp-menu--user-account li.hp-menu__item--current > a:hover,
body .site-header .sub-menu.hp-menu--user-account li.current-menu-item > a:hover{
  background: var(--hr-glass-active-bg) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(56, 94, 255, .36) !important;
}
body .site-header .sub-menu.hp-menu--user-account li.hp-menu__item--current > a span,
body .site-header .sub-menu.hp-menu--user-account li.current-menu-item > a span{
  color: #ffffff !important;
}

/* Select2 dropdowns: categories, sort, booking/status filters, etc. */
body .select2-container--open{ z-index: 2147483647 !important; }
body .select2-dropdown{
  background: var(--hr-glass-bg) !important;
  border: 1px solid var(--hr-glass-border) !important;
  box-shadow: var(--hr-glass-shadow) !important;
  -webkit-backdrop-filter: saturate(155%) blur(14px) !important;
  backdrop-filter: saturate(155%) blur(14px) !important;
}
body .select2-search--dropdown .select2-search__field{
  border: 1px solid rgba(76, 111, 255, .24) !important;
  background: rgba(255, 255, 255, .62) !important;
  color: var(--hr-glass-text) !important;
}
body .select2-search--dropdown .select2-search__field::placeholder{
  color: var(--hr-glass-muted) !important;
}
body .select2-results__option{
  color: var(--hr-glass-text) !important;
  background: transparent !important;
}
body .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: var(--hr-glass-hover) !important;
  color: var(--hr-glass-text) !important;
}
body .select2-container--default .select2-results__option--selected{
  background: rgba(76, 111, 255, .20) !important;
  color: #142247 !important;
}

/* Fallback when backdrop-filter is unsupported */
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){
  body .site-header .menu-item--user-account.menu-item-has-children > ul.sub-menu.hp-menu.hp-menu--user-account,
  body .site-header .menu-item--user-account.menu-item-has-children > .sub-menu.hp-menu.hp-menu--user-account,
  body .site-header .header-navbar__burger .menu-item--user-account.menu-item-has-children > .sub-menu.hp-menu.hp-menu--user-account,
  body .site-header .hr-cart-wrap .hr-cart-dropdown,
  body .select2-dropdown{
    background: var(--hr-glass-bg-strong) !important;
  }
}

/* 20) FINAL override - home recent listings fade anchored on visible right edge */
.home h2.home-recent-listings + .hp-listings.hp-block.hp-grid::after{
  display: none !important;
  content: none !important;
}

.home h2.home-recent-listings + .hp-listings.hp-block.hp-grid > .hp-row{
  position: relative !important;
  /* Laisse respirer l'ombre des cards côté gauche (desktop/tablette) */
  padding-left: 30px !important;
  scroll-padding-left: 30px !important;
}

.home h2.home-recent-listings + .hp-listings.hp-block.hp-grid > .hp-row::after{
  content: "" !important;
  position: sticky !important;
  top: 0 !important;
  right: 0 !important;
  align-self: stretch !important;
  width: 82px !important;
  min-width: 82px !important;
  margin-left: -82px !important;
  pointer-events: none !important;
  z-index: 999 !important;
  background: linear-gradient(
    to left,
    rgba(244, 246, 248, 1) 16%,
    rgba(244, 246, 248, 0.74) 46%,
    rgba(244, 246, 248, 0) 100%
  ) !important;
}

@media (max-width: 768px){
  .home h2.home-recent-listings + .hp-listings.hp-block.hp-grid > .hp-row{
    /* Même logique mobile: éviter la coupe d'ombre à gauche */
    padding-left: 24px !important;
    scroll-padding-left: 24px !important;
  }

  .home h2.home-recent-listings + .hp-listings.hp-block.hp-grid > .hp-row::after{
    width: 36px !important;
    min-width: 36px !important;
    margin-left: -36px !important;
  }
}

/* 18) Home recent listings: deprecated parent overlay (neutralized, keep row-sticky fade above) */
.home h2.home-recent-listings + .hp-listings.hp-block.hp-grid{
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
}


@media (max-width: 768px){
  .home h2.home-recent-listings + .hp-listings.hp-block.hp-grid::after{
    display: none !important;
    content: none !important;
  }
}


body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-top-row .hp-listing__title{
  margin-bottom: 0 !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row .hp-booking__listing{
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-meta-lines{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  width: 100% !important;
  margin-top: 12px !important;
}

/* Real booking page container in DOM is .hp-listing__details--primary */
body .hp-page__content .hp-booking.hp-booking--view-page .hp-listing__details--primary,
body .hp-page__content .hp-booking.hp-booking--view-page .hp-booking__details--primary{
  display: grid !important;
  grid-template-columns: minmax(300px, 1.7fr) minmax(260px, 1fr) !important;
  align-items: stretch !important;
  gap: 16px 28px !important;
}

@media (max-width: 992px){
  body .hp-page__content .hp-booking.hp-booking--view-page .hp-listing__details--primary,
  body .hp-page__content .hp-booking.hp-booking--view-page .hp-booking__details--primary{
    grid-template-columns: 1fr !important;
  }
}

/* Right column: keep dates + message button vertically centered */
body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-col--right{
  align-self: stretch !important;
  justify-content: center !important;
  align-items: flex-end !important;
  min-height: 100% !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-col--right .hp-booking__dates{
  margin: 0 !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-col--right .hp-listing__actions--primary,
body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-col--right .hp-booking__actions{
  margin-top: 10px !important;
}

@media (max-width: 992px){
  body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-col--right{
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
}

/* 16) Home: prevent global horizontal overflow while keeping cards scroller intact */
body.home,
body.home .site-container,
body.home .site-content{
  overflow-x: clip !important;
}

/* 17) Booking details exact visual order (match reference): title -> listing -> meta -> status */
body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-top-row{
  gap: 0 !important;
}


body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-listing-row{
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 8px !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-listing-row .hp-booking__listing{
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-meta-lines{
  margin-top: 34px !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-meta-lines .hp-listing__created-date + .hp-listing__created-date{
  margin-top: 12px !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row{
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 38px !important;
}

body .hp-page__content .hp-booking.hp-booking--view-page .hr-booking-status-row .hp-listing__status.hp-status,


/* 204) MAP POPUP TITLE CLAMP (chars in JS) + SMOOTH FADE */
.hp-map.homerentai-home-map .hr-mapcard__title,
.hp-map.hr-map-popup-skin .hr-mapcard__title,
.hr-mobile-sheet .hr-mapcard__title{
  position: relative !important;
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
}

.hp-map.homerentai-home-map .hr-mapcard__title,
.hp-map.hr-map-popup-skin .hr-mapcard__title{
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 34px), transparent 100%) !important;
  mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 34px), transparent 100%) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

.hr-mobile-sheet .hr-mapcard__title{
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 24px), transparent 100%) !important;
  mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 24px), transparent 100%) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

.hp-map.homerentai-home-map .hr-mapcard__cta::after,
.hp-map.hr-map-popup-skin .hr-mapcard__cta::after,
.hr-mobile-sheet .hr-mapcard__cta::after{
  content: none !important;
  display: none !important;
}

/* 206) SINGLE LISTING - similar cards actions without icon capsules */
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary{
  gap: 12px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary a.hp-listing__action,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary button.hp-listing__action,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__action--message,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__action--favorite{
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #b8c0d1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary a.hp-listing__action:hover,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary button.hp-listing__action:hover{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #7f8ba3 !important;
  transform: none !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary .hp-listing__action .hp-icon{
  font-size: 1.35rem !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* 208) SINGLE LISTING - similar cards parity with home cards */
body.single-hp_listing .hp-page__footer .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-page__footer .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

@media (min-width: 992px){
  body.single-hp_listing .hp-page__footer .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
  }
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block{
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10) !important;
  font-size: inherit !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__header{
  margin: 0 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image{
  height: 220px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__content{
  flex: 1 1 auto !important;
  padding: 18px 20px 10px !important;
  display: flex !important;
  flex-direction: column !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__categories a{
  font-size: 11px !important;
  padding: 4px 10px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__title{
  margin: 10px 0 8px !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__details--primary{
  margin-top: 4px !important;
  font-size: 13px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__footer{
  padding: 12px 18px 14px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__attribute--price{
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 6px 20px !important;
  border-radius: 999px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary{
  margin-left: 0 !important;
  gap: 10px !important;
}

@media (max-width: 768px){
  body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block{
    border-radius: 24px !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14) !important;
  }

  body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image{
    height: 200px !important;
  }
}

/* 209) SETTINGS ACTIONS - exact parity with listing edit topbar pills */
body .hp-form--user-update,
body .hp-form--vendor-update{
  --hr-navy:#1D2850;
  --hr-blue:#4C6FFF;
  --hr-radius:999px;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:10px 14px !important;
  border-radius:var(--hr-radius) !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  border:1px solid transparent !important;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--vendor-view,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--vendor-view{
  background:#fff !important;
  color:var(--hr-navy) !important;
  border-color:rgba(29,40,80,.18) !important;
  box-shadow:0 10px 26px rgba(29,40,80,.08) !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--vendor-view i,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--vendor-view i{
  color:rgba(29,40,80,.70) !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--vendor-view:hover,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--vendor-view:hover{
  background:rgba(29,40,80,.06) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 14px 34px rgba(29,40,80,.12) !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--user-delete,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--user-delete{
  background:#fff !important;
  color:#ef4444 !important;
  border-color:#ef4444 !important;
  box-shadow:0 10px 26px rgba(239,68,68,.18) !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--user-delete i,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--user-delete i{
  color:inherit !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--user-delete:hover,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--user-delete:hover{
  background:#ef4444 !important;
  color:#fff !important;
  border-color:#ef4444 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 18px 44px rgba(239,68,68,.28) !important;
}

body .hp-page__content .hp-form--user-update .hp-form__actions .hp-form__action--user-delete:hover i,
body .hp-page__content .hp-form--vendor-update .hp-form__actions .hp-form__action--user-delete:hover i{
  color:#fff !important;
}

/* 210) CRITICAL HOTFIX - disable global overlay loader (prevents blank lock screen) */
html .site-loader,
body .site-loader{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

html .site-container,
html .site-header,
body .site-container,
body .site-header{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* 212) SIMILAR LISTINGS - mirror home card internals exactly */
body.single-hp_listing .hp-page__footer .hp-section .hp-listings .hp-grid__item{
  display:block !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listings.hp-grid > .hp-row{
  align-items:flex-start !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block{
  border-radius:22px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid rgba(148,163,184,.18) !important;
  box-shadow:0 18px 40px rgba(15,23,42,.10) !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__header{
  margin:0 !important;
  padding:0 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image{
  height:220px !important;
  margin:0 !important;
  border-radius:0 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image > a,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image img{
  border-radius:0 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__content{
  flex:0 0 auto !important;
  min-height:0 !important;
  padding:18px 20px 10px !important;
  display:flex !important;
  flex-direction:column !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__categories a{
  font-size:11px !important;
  padding:4px 10px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__title{
  margin:10px 0 8px !important;
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__details--primary{
  margin-top:4px !important;
  font-size:13px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__footer{
  padding:12px 18px 14px !important;
  border-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__attribute--price{
  font-weight:700 !important;
  font-size:15px !important;
  padding:6px 20px !important;
  border-radius:999px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary{
  margin-left:auto !important;
  gap:14px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary a.hp-listing__action,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing__actions--primary button.hp-listing__action{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#b8c0d1 !important;
}

@media (max-width: 768px){
  body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block{
    border-radius:24px !important;
    box-shadow:0 14px 32px rgba(15,23,42,.14) !important;
  }

  body.single-hp_listing .hp-page__footer .hp-section .hp-listing__image{
    height:200px !important;
  }
}

/* 214) FINAL listing cards consistency (home + similar) */
body .hp-listing.hp-listing--view-block .hp-listing__footer{
  border-top:1px solid rgba(148,163,184,.18) !important;
}

body.single-hp_listing .hp-page__footer .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;
  align-items:stretch !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
  flex:0 0 100% !important;
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
}

@media (min-width: 768px){
  body.single-hp_listing .hp-page__footer .hp-section .hp-listings.hp-grid > .hp-row > .hp-grid__item{
    flex:0 0 calc(50% - 12px) !important;
    max-width:calc(50% - 12px) !important;
    width:calc(50% - 12px) !important;
  }
}

@media (min-width: 1200px){
  body.single-hp_listing .hp-page__footer .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;
    width:calc(33.333% - 16px) !important;
  }
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block .hp-listing__footer{
  padding:12px 18px 14px !important;
  border-top:1px solid rgba(148,163,184,.18) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block .hp-listing__attribute--price{
  margin-right:auto !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block .hp-listing__actions--primary{
  margin-left:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block .hp-listing__actions--primary a.hp-listing__action,
body.single-hp_listing .hp-page__footer .hp-section .hp-listing.hp-listing--view-block .hp-listing__actions--primary button.hp-listing__action{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#b8c0d1 !important;
}
