/* =========================================================
   BOXBUDDY — PAGE ANNONCES / RECHERCHE
   Tabs + barre de recherche + outils résultats + modale filtre
========================================================= */


/* =========================================================
   1) TABS ANNONCES
========================================================= */

.bbListingsTabs{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin: 0 0 18px !important;
  padding: 6px !important;

  border: 1px solid rgba(95,77,246,.16) !important;
  border-radius: 18px !important;
  background: rgba(95,77,246,.06) !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.bbListingsTabs::-webkit-scrollbar{
  display: none !important;
}

.bbListingsTab{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  flex: 0 0 auto !important;

  min-height: 42px !important;
  padding: 0 18px !important;

  border-radius: 14px !important;

  color: #46528a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.bbListingsTab:hover{
  color: #5f4df6 !important;
  background: rgba(255,255,255,.75) !important;
}

.bbListingsTabActive{
  background: #ffffff !important;
  color: #5f4df6 !important;
  box-shadow: 0 8px 22px rgba(31,28,88,.08) !important;
}

.bbListingsTabIcon{
  font-size: 14px !important;
  line-height: 1 !important;
}


/* =========================================================
   2) HINT SOUS LES CHAMPS
========================================================= */

.bbSearchHint{
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  margin-top: 2px !important;

  color: #687199 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.bbSearchHintIcon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;

  background: rgba(95,77,246,.10) !important;
  color: #5f4df6 !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  flex: 0 0 18px !important;
}


/* =========================================================
   3) BOUTON RECHERCHER
========================================================= */

.hp-searchbar-actions{
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 10px !important;
}

.hp-searchbar-actions button[type="submit"],
.hp-searchbar-actions .hp-form__button,
.hp-searchbar-actions .hp-button:not(.hp-button--listing-filter){
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 48px !important;
  padding: 0 20px !important;

  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #6F5BFF 0%, #5A4FF0 100%) !important;

  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  box-shadow: 0 10px 22px rgba(95,77,246,.22) !important;
  cursor: pointer !important;
}


/* =========================================================
   4) OUTILS RÉSULTATS : FILTRE + TRI
========================================================= */

.bb-results-tools{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;

  width: 100% !important;
  margin: 26px 0 28px auto !important;
}

.bb-results-tools .hp-button--listing-filter{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  width: auto !important;
  min-width: 180px !important;
  max-width: 240px !important;
  min-height: 42px !important;
  padding: 0 18px !important;

  border: 1px solid #e3def7 !important;
  border-radius: 14px !important;
  background: #ffffff !important;

  color: #20245f !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  box-shadow: none !important;
  cursor: pointer !important;
}

.bb-results-tools .hp-button--listing-filter:hover{
  border-color: rgba(95,77,246,.32) !important;
  background: rgba(95,77,246,.04) !important;
  color: #5f4df6 !important;
}

.bb-results-tools .hp-button--listing-filter i,
.bb-results-tools .hp-button--listing-filter svg{
  color: #5f4df6 !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

.bb-results-tools .hp-form--listing-sort{
  margin: 0 !important;
}


/* =========================================================
   RESPONSIVE TABLETTE — PAGE ANNONCES
========================================================= */

/* =========================================================
   RESPONSIVE TABLETTE — PAGE ANNONCES
========================================================= */

@media only screen and (min-width: 681px) and (max-width: 1024px) {
  .hp-page__header form.hp-form--listing-search {
    max-width: 760px !important;
    margin: 0 auto 28px !important;
    padding: 28px 24px 24px !important;
  }

  .hp-page__header form.hp-form--listing-search .hp-form__fields {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .hp-page__header form.hp-form--listing-search .hp-form__field {
    min-width: 0 !important;
  }

  .hp-page__header form.hp-form--listing-search label,
  .hp-page__header form.hp-form--listing-search .hp-field__label,
  .hp-page__header form.hp-form--listing-search .hp-form__label {
    display: block !important;
    min-height: 32px !important;
    margin: 0 0 8px !important;

    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #4f5575 !important;
    white-space: normal !important;
  }

  .hp-page__header form.hp-form--listing-search input,
  .hp-page__header form.hp-form--listing-search select,
  .hp-page__header form.hp-form--listing-search .select2-selection {
    width: 100% !important;
    min-width: 0 !important;

    height: 46px !important;
    min-height: 46px !important;
    line-height: 46px !important;

    font-size: 13.5px !important;
    border-radius: 13px !important;
    padding: 0 12px 0 34px !important;
  }

  .bb-results-tools {
    width: 100% !important;
    max-width: 760px !important;

    display: grid !important;
    grid-template-columns: auto 260px auto !important;
    align-items: center !important;
    justify-content: start !important;
    column-gap: 24px !important;

    margin: 34px auto 30px !important;
  }

  .bb-results-tools .hp-button--listing-filter {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    min-height: 44px !important;
  }

  .bb-results-tools .hp-form--listing-sort {
    width: auto !important;
    margin: 0 !important;
  }
}


/* =========================================================
   RESPONSIVE MOBILE — PAGE ANNONCES
========================================================= */

@media only screen and (max-width: 680px) {
  body:is(.page-id-686, .tax-hp_listing_category, .post-type-archive-hp_listing) .bbListingsTabs {
    display: none !important;
  }

  .hp-page__header form.hp-form--listing-search .hp-form__fields {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .hp-page__header form.hp-form--listing-search label,
  .hp-page__header form.hp-form--listing-search .hp-field__label,
  .hp-page__header form.hp-form--listing-search .hp-form__label {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: normal !important;
  }

  .bb-results-tools {
    width: calc(100vw - 48px) !important;
    max-width: 340px !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;

    margin: 22px auto 24px !important;
    transform: translateX(-22px) !important;
  }

  .bb-results-tools .hp-button--listing-filter {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
  }

  .bb-results-tools .hp-form--listing-sort {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* =========================================================
   6) MODALE FILTRE NATIVE HIVEPRESS — STYLE PREMIUM
========================================================= */

#listing_filter_modal.hp-modal{
  width: min(540px, calc(100vw - 32px)) !important;
  max-width: 540px !important;
  max-height: min(84vh, 780px) !important;

  padding: 0 !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  overflow: hidden !important;

  box-shadow: 0 28px 90px rgba(17, 23, 71, .28) !important;
}

#listing_filter_modal .hp-form--listing-filter{
  position: relative !important;

  max-height: min(84vh, 780px) !important;
  overflow-y: auto !important;

  padding: 34px 36px 30px !important;
  background: #ffffff !important;
}

#listing_filter_modal .hp-form--listing-filter::before{
  content: "Filtres avancés" !important;

  display: block !important;
  margin: 0 0 24px !important;
  padding-left: 14px !important;

  border-left: 4px solid #5f4df6 !important;

  color: #111747 !important;
  font-size: 24px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

#listing_filter_modal .hp-modal__close,
#listing_filter_modal button[data-fancybox-close]{
  top: 22px !important;
  right: 22px !important;

  width: 34px !important;
  height: 34px !important;

  color: #687199 !important;
  opacity: 1 !important;
}

#listing_filter_modal .hp-form__fields{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

#listing_filter_modal .hp-form__field,
#listing_filter_modal [class*="hp-form__field--"]{
  display: block !important;
  width: 100% !important;
  margin: 0 0 22px !important;
}

#listing_filter_modal .hp-form__label,
#listing_filter_modal .hp-field__label{
  display: block !important;

  margin: 0 0 9px !important;

  color: #46528a !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#listing_filter_modal .hp-form__field--radio ul,
#listing_filter_modal .hp-form__field--radio ul li{
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

#listing_filter_modal .hp-form__field--radio label{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  margin: 0 0 12px !important;

  color: #46528a !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#listing_filter_modal input[type="radio"]{
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;

  margin: 0 !important;

  accent-color: #fb7185 !important;
}

#listing_filter_modal input[type="text"],
#listing_filter_modal input[type="number"],
#listing_filter_modal input[type="search"],
#listing_filter_modal input[type="date"],
#listing_filter_modal select,
#listing_filter_modal textarea,
#listing_filter_modal .select2-selection{
  width: 100% !important;
  max-width: 100% !important;
  min-height: 52px !important;

  border: 1px solid #e8e3fb !important;
  border-radius: 15px !important;
  background: #ffffff !important;

  color: #111747 !important;
  font-size: 15px !important;

  box-shadow: none !important;
  box-sizing: border-box !important;
}

#listing_filter_modal input[type="text"],
#listing_filter_modal input[type="number"],
#listing_filter_modal input[type="search"],
#listing_filter_modal input[type="date"],
#listing_filter_modal select{
  padding: 0 15px !important;
}

#listing_filter_modal textarea{
  padding: 13px 15px !important;
}

#listing_filter_modal input:focus,
#listing_filter_modal select:focus,
#listing_filter_modal textarea:focus,
#listing_filter_modal .select2-selection:focus{
  border-color: rgba(95,77,246,.45) !important;
  box-shadow: 0 0 0 4px rgba(95,77,246,.08) !important;
  outline: none !important;
}

#listing_filter_modal .ui-slider,
#listing_filter_modal .ui-slider-horizontal{
  margin: 16px 8px 8px !important;
}

#listing_filter_modal .ui-slider-range{
  background: #fb7185 !important;
}

#listing_filter_modal .ui-slider-handle{
  border-color: #e8e3fb !important;
  background: #ffffff !important;
}

#listing_filter_modal .hp-form__footer{
  position: sticky !important;
  bottom: -30px !important;

  margin: 26px -36px -30px !important;
  padding: 18px 36px 30px !important;

  border-top: 1px solid rgba(108,92,231,.12) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), #ffffff 35%) !important;
}

#listing_filter_modal button[type="submit"],
#listing_filter_modal .hp-form__button,
#listing_filter_modal input[type="submit"]{
  width: 100% !important;
  min-height: 54px !important;

  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #6F5BFF 0%, #5A4FF0 100%) !important;

  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 1 !important;

  box-shadow: 0 14px 30px rgba(95,77,246,.25) !important;
}

#listing_filter_modal a[data-url*="/search-alerts/"],
#listing_filter_modal a[href*="/search-alerts/"]{
  display: none !important;
}

.select2-container--open,
.select2-dropdown,
.ui-datepicker,
.flatpickr-calendar{
  z-index: 10000 !important;
}


/* =========================================================
   7) MODALE FILTRE — MOBILE
========================================================= */

@media only screen and (max-width: 680px){

  #listing_filter_modal.hp-modal{
    width: calc(100vw - 22px) !important;
    max-width: calc(100vw - 22px) !important;
    max-height: 86vh !important;

    border-radius: 24px !important;
  }

  #listing_filter_modal .hp-form--listing-filter{
    max-height: 86vh !important;
    padding: 28px 22px 26px !important;
  }

  #listing_filter_modal .hp-form--listing-filter::before{
    margin-bottom: 22px !important;
    font-size: 21px !important;
  }

  #listing_filter_modal .hp-form__field,
  #listing_filter_modal [class*="hp-form__field--"]{
    margin-bottom: 18px !important;
  }

  #listing_filter_modal .hp-form__field--radio label{
    font-size: 15px !important;
  }

  #listing_filter_modal .hp-form__footer{
    bottom: -26px !important;

    margin: 22px -22px -26px !important;
    padding: 16px 22px calc(24px + env(safe-area-inset-bottom)) !important;
  }

  #listing_filter_modal button[type="submit"],
  #listing_filter_modal .hp-form__button,
  #listing_filter_modal input[type="submit"]{
    min-height: 52px !important;
    font-size: 15px !important;
  }
}


/* =========================================================
   8) MODALE FILTRE — MASQUER PAYS DESTINATION
========================================================= */

#listing_filter_modal .hp-form__field:has([name="paysdestination"]),
#listing_filter_modal .hp-form__field:has([name="pays_destination"]),
#listing_filter_modal .hp-form__field:has([name="pays-destination"]),
#listing_filter_modal .hp-form__field:has(select[name="paysdestination"]),
#listing_filter_modal .hp-form__field:has(input[name="paysdestination"]){
  display: none !important;
}

