/*
Theme Name:  Listeo ChildTheme
Theme URI: http://listeo.pro
Author: Purethemes
Author URI: http://themeforest.net/user/purethemes
Description: Directory WordPress Theme by Purethemes
Version: 1.0
License: ThemeForest
License URI: http://themeforest.net/licenses
Text Domain: listeo
Domain Path: /languages/
Tags: light, responsive-layout, post-formats, theme-options, translation-ready, two-columns
Template:  listeo
*/

/* BigBashMart: tighter titlebar spacing for listing type and listing category pages. */
body.bbm-listing-type-page #titlebar,
body.bbm-listing-category-archive #titlebar {
  padding: 44px 0 34px;
  margin-bottom: 32px;
}

body.bbm-listing-type-page #titlebar.gradient,
body.bbm-listing-category-archive #titlebar.gradient {
  padding-bottom: 34px;
}

body.bbm-listing-type-page #titlebar h1,
body.bbm-listing-type-page #titlebar h2,
body.bbm-listing-category-archive #titlebar h1,
body.bbm-listing-category-archive #titlebar h2 {
  margin-bottom: 0;
}

body.bbm-listing-category-archive .listings-column-content > h1.page-title {
  display: none;
}

body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 {
  display: flex;
  flex-wrap: wrap;
}

body.bbm-listing-category-archive .bbm-archive-carousel-col {
  order: 1;
  width: 100%;
}

body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-3,
body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-xs-6 {
  order: 2;
}

body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-9,
body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-12:not(.bbm-archive-carousel-col) {
  order: 3;
}

/* BigBashMart: sibling category carousel on Listeo listing category archive pages. */
.bbm-category-carousel {
  margin: 0 0 30px;
  padding: 18px 0 4px;
  border-top: 1px solid #eceef2;
}

.bbm-category-carousel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.bbm-category-carousel__header h2 {
  margin: 0;
  color: #15171c;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
}

.bbm-category-carousel__controls {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.bbm-category-carousel__nav {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e3e6ec;
  border-radius: 50%;
  background: #fff;
  color: #20232a;
  box-shadow: 0 4px 14px rgba(20, 24, 32, 0.08);
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.bbm-category-carousel__nav:hover {
  color: #f91952;
  border-color: #f91952;
  transform: translateY(-1px);
}

.bbm-category-carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 176px;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  padding: 6px 2px 18px;
}

.bbm-category-carousel__track::-webkit-scrollbar {
  display: none;
}

.bbm-category-carousel__item {
  min-height: 172px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  background: #f8f8f8;
  color: #777;
  scroll-snap-align: start;
  box-shadow: none;
  text-decoration: none;
  transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, color 0.3s ease;
}

.bbm-category-carousel__item:hover,
.bbm-category-carousel__item.is-active {
  background: #f91952;
  box-shadow: 0 3px 12px rgba(249, 25, 82, 0.22);
  transform: translateY(-6px);
  color: #fff;
}

.bbm-category-carousel__image {
  width: auto;
  min-height: 46px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 14px;
  background: transparent;
}

.bbm-category-carousel__image--empty {
  background: transparent;
  color: #f91952;
  font-size: 38px;
  transition: color 0.3s ease;
}

.bbm-category-carousel__item:hover .bbm-category-carousel__image--empty,
.bbm-category-carousel__item.is-active .bbm-category-carousel__image--empty {
  color: #fff;
}

.bbm-category-carousel__image--empty svg {
  width: 42px;
  height: 42px;
}

.bbm-category-carousel__image--empty svg path,
.bbm-category-carousel__image--empty svg circle,
.bbm-category-carousel__image--empty svg rect,
.bbm-category-carousel__image--empty svg g {
  fill: currentColor;
  stroke: currentColor;
}

.bbm-category-carousel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.bbm-category-carousel__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 0 14px;
  text-align: center;
}

.bbm-category-carousel__name {
  display: block;
  color: #777;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  transition: color 0.3s ease;
}

.bbm-category-carousel__item:hover .bbm-category-carousel__name,
.bbm-category-carousel__item.is-active .bbm-category-carousel__name {
  color: #fff;
}

.bbm-category-carousel__count {
  display: inline-flex;
  min-width: 40px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 2px 12px;
  border-radius: 50px;
  background: rgba(0, 0, 0, 0.04);
  color: #909090;
  font-size: 13px;
  font-weight: 400;
  line-height: 22px;
  transition: background 0.3s ease, color 0.3s ease;
}

.bbm-category-carousel__item:hover .bbm-category-carousel__count,
.bbm-category-carousel__item.is-active .bbm-category-carousel__count {
  background: rgba(0, 0, 0, 0.15);
  color: #fff;
}

@media (max-width: 767px) {
  body.bbm-listing-type-page #titlebar,
  body.bbm-listing-category-archive #titlebar {
    padding: 30px 0 26px;
    margin-bottom: 28px;
  }

  body.bbm-listing-type-page #breadcrumbs,
  body.bbm-listing-category-archive #breadcrumbs {
    top: 0;
    margin-top: 12px;
  }

  body.bbm-listing-type-page #breadcrumbs ul li,
  body.bbm-listing-category-archive #breadcrumbs ul li {
    line-height: 18px;
  }

  body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 {
    margin-bottom: 8px;
  }

  body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-3,
  body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-xs-6,
  body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-9,
  body.bbm-listing-category-archive .listings-column-content > .row.margin-bottom-15 > .col-md-12 {
    width: 100%;
  }

  body.bbm-listing-category-archive .layout-switcher {
    margin-bottom: 10px;
  }

  body.bbm-listing-category-archive .fullwidth-filters,
  body.bbm-listing-type-page .fullwidth-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    width: calc(100% + 30px);
    margin: 0 -15px;
    padding: 0 15px 8px;
    top: 0;
    scrollbar-width: none;
  }

  body.bbm-listing-category-archive .fullwidth-filters::-webkit-scrollbar,
  body.bbm-listing-type-page .fullwidth-filters::-webkit-scrollbar {
    display: none;
  }

  body.bbm-listing-category-archive .fullwidth-filters .panel-dropdown,
  body.bbm-listing-category-archive .fullwidth-filters .sort-by,
  body.bbm-listing-type-page .fullwidth-filters .panel-dropdown,
  body.bbm-listing-type-page .fullwidth-filters .sort-by {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
    float: none;
  }

  body.bbm-listing-category-archive .fullwidth-filters .sort-by label,
  body.bbm-listing-category-archive .fullwidth-filters .sort-by .sort-by-select,
  body.bbm-listing-type-page .fullwidth-filters .sort-by label,
  body.bbm-listing-type-page .fullwidth-filters .sort-by .sort-by-select {
    float: none;
    margin-top: 0;
  }

  body.bbm-listing-category-archive .panel-dropdown a,
  body.bbm-listing-category-archive .sort-by-select .select2-container--default .select2-selection--single .select2-selection__rendered,
  body.bbm-listing-type-page .panel-dropdown a,
  body.bbm-listing-type-page .sort-by-select .select2-container--default .select2-selection--single .select2-selection__rendered {
    min-height: 38px;
    white-space: nowrap;
  }

  .bbm-category-carousel {
    margin-bottom: 22px;
    padding-top: 14px;
  }

  .bbm-category-carousel__header h2 {
    font-size: 18px;
  }

  .bbm-category-carousel__controls {
    display: flex;
    gap: 6px;
  }

  .bbm-category-carousel__nav {
    width: 34px;
    height: 34px;
    box-shadow: 0 3px 10px rgba(20, 24, 32, 0.08);
  }

  .bbm-category-carousel__track {
    grid-auto-columns: 150px;
    gap: 12px;
    margin-right: -15px;
    padding-bottom: 12px;
  }

  .bbm-category-carousel__item {
    min-height: 154px;
  }

  .bbm-category-carousel__image {
    min-height: 40px;
    margin-bottom: 12px;
  }

  .bbm-category-carousel__image--empty {
    font-size: 32px;
  }

  .bbm-category-carousel__image--empty svg {
    width: 36px;
    height: 36px;
  }

  .bbm-category-carousel__name {
    font-size: 15px;
  }
}

/* BigBashMart: quote request button and Forminator modal for Listeo listing cards. */
.listing-card-nl {
  position: relative;
}

.bbm-quote-trigger {
  position: absolute;
  right: 24px;
  bottom: 22px;
  z-index: 8;
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 8px;
  background: #f91952;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 44px;
  box-shadow: 0 10px 24px rgba(249, 25, 82, 0.22);
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bbm-quote-trigger:hover,
.bbm-quote-trigger:focus {
  background: #e71348;
  color: #fff;
  box-shadow: 0 12px 28px rgba(249, 25, 82, 0.3);
  transform: translateY(-1px);
}

.new-grid-layout-nl .bbm-quote-trigger {
  right: 18px;
  bottom: 18px;
}

.bbm-quote-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.bbm-quote-modal.is-open {
  display: flex;
}

.bbm-quote-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(14, 16, 22, 0.58);
  backdrop-filter: blur(3px);
}

.bbm-quote-modal__dialog {
  position: relative;
  width: min(760px, 100%);
  max-height: min(88vh, 900px);
  overflow-y: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(14, 16, 22, 0.28);
}

.bbm-quote-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #5d626d;
  font-size: 34px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}

.bbm-quote-modal__close:hover,
.bbm-quote-modal__close:focus {
  background: #f4f5f7;
  color: #15171c;
}

.bbm-quote-modal__header {
  padding: 30px 34px 14px;
  border-bottom: 1px solid #eceef2;
}

.bbm-quote-modal__header h2 {
  margin: 0 48px 6px 0;
  color: #15171c;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
}

.bbm-quote-modal__header p {
  margin: 0;
  color: #6f7480;
  font-size: 15px;
  line-height: 1.5;
}

.bbm-quote-modal__listing {
  margin-top: 10px;
  color: #f91952;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.bbm-quote-modal__form {
  padding: 24px 34px 34px;
}

.bbm-quote-modal .forminator-ui {
  margin: 0 !important;
}

.bbm-quote-modal form[id^="forminator-module-"],
.bbm-quote-modal .forminator-custom-form {
  display: block !important;
}

.bbm-quote-modal .forminator-label {
  color: #15171c !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.bbm-quote-modal .forminator-input,
.bbm-quote-modal .forminator-textarea,
.bbm-quote-modal .forminator-select2 + .forminator-select .selection span[role="combobox"] {
  border-radius: 8px !important;
  border-color: #dfe3ea !important;
}

.bbm-quote-modal .forminator-input:focus,
.bbm-quote-modal .forminator-textarea:focus {
  border-color: #f91952 !important;
  box-shadow: 0 0 0 4px rgba(249, 25, 82, 0.12) !important;
}

.bbm-quote-modal .forminator-button-submit {
  min-height: 46px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  background: #f91952 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.bbm-quote-modal .forminator-button-submit:hover,
.bbm-quote-modal .forminator-button-submit:focus {
  background: #e71348 !important;
}

.bbm-quote-modal-open {
  overflow: hidden;
}

.bbm-quote-admin-notice {
  padding: 12px 14px;
  border: 1px solid #f7c8d5;
  border-radius: 8px;
  background: #fff4f7;
  color: #15171c;
  font-size: 14px;
}

@media (max-width: 767px) {
  .bbm-quote-trigger {
    right: 18px;
    bottom: 16px;
    min-height: 40px;
    padding: 0 16px;
    font-size: 14px;
    line-height: 40px;
  }

  .bbm-quote-modal {
    align-items: flex-end;
    padding: 0;
  }

  .bbm-quote-modal__dialog {
    width: 100%;
    max-height: 92vh;
    border-radius: 8px 8px 0 0;
  }

  .bbm-quote-modal__header {
    padding: 24px 22px 12px;
  }

  .bbm-quote-modal__header h2 {
    margin-right: 44px;
    font-size: 24px;
  }

  .bbm-quote-modal__form {
    padding: 20px 22px 28px;
  }
}

/* BigBashMart: keep Add Listing visible for guests and logged-out users in Listeo headers. */
.header-widget .bbm-header-add-listing {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 22px;
  border-color: #fff;
  border-radius: 50px;
  color: #fff;
  line-height: 24px;
  white-space: nowrap;
}

.header-widget .bbm-header-add-listing:hover,
.header-widget .bbm-header-add-listing:focus {
  border-color: #f91952;
  background: #f91952;
  color: #fff;
}

.header-widget .bbm-header-add-listing i {
  margin-left: 6px;
}

body.user_not_logged_in .header-widget .bbm-header-add-listing,
body.slim-mobile-menu .header-widget .bbm-header-add-listing {
  display: inline-flex !important;
}

.header-widget .bbm-header-add-listing--fallback {
  margin-left: 18px;
}

#header .bbm-header-add-listing--fallback,
header .bbm-header-add-listing--fallback,
.elementor-location-header .bbm-header-add-listing--fallback,
#header .bbm-header-add-listing--server,
header .bbm-header-add-listing--server,
.elementor-location-header .bbm-header-add-listing--server {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-right: 14px;
  padding: 9px 22px;
  border: 1px solid #fff;
  border-radius: 50px;
  color: #fff;
  font-weight: 600;
  line-height: 24px;
  text-decoration: none;
  white-space: nowrap;
}

#header .bbm-header-add-listing--fallback:hover,
header .bbm-header-add-listing--fallback:hover,
.elementor-location-header .bbm-header-add-listing--fallback:hover,
#header .bbm-header-add-listing--server:hover,
header .bbm-header-add-listing--server:hover,
.elementor-location-header .bbm-header-add-listing--server:hover {
  border-color: #f91952;
  background: #f91952;
  color: #fff;
}

#header .bbm-header-add-listing--fallback i,
header .bbm-header-add-listing--fallback i,
.elementor-location-header .bbm-header-add-listing--fallback i,
#header .bbm-header-add-listing--server i,
header .bbm-header-add-listing--server i,
.elementor-location-header .bbm-header-add-listing--server i {
  margin-left: 8px;
}

/* BigBashMart: the custom two-row dashboard header is taller than Listeo's default. */
@media (min-width: 992px) {
  body.page-template-template-dashboard #dashboard {
    padding-top: 108px;
  }
}

.bbm-owner-upgrade-notice__text {
  margin-top: 8px;
  margin-bottom: 14px;
}

.bbm-owner-upgrade-form {
  margin-top: 12px;
}

.bbm-owner-upgrade-form__button {
  border: 0;
  border-radius: 8px;
  background: #f91952;
  color: #fff;
  font-weight: 700;
}

.bbm-owner-upgrade-form__button:hover,
.bbm-owner-upgrade-form__button:focus {
  background: #e71348;
  color: #fff;
}

@media (max-width: 767px) {
  body:not(.logged-in) #header .header-widget {
    display: flex;
    position: relative;
    width: 100%;
    align-items: center;
    gap: 10px;
  }

  body:not(.logged-in) #header .header-widget .listeo-cart-container {
    order: 1;
    flex: 0 0 auto;
  }

  body:not(.logged-in) #header .header-widget .bbm-header-add-listing {
    order: 2;
    flex: 0 0 auto;
    margin: 0 auto;
    min-height: 40px;
    padding: 8px 18px;
    line-height: 22px;
  }

  body:not(.logged-in) #header .header-widget > a.sign-in {
    order: 3;
    flex: 0 0 auto;
    margin-left: 0;
  }
}

@media (max-width: 420px) {
  body:not(.logged-in) #header .header-widget {
    gap: 8px;
  }

  body:not(.logged-in) #header .header-widget .bbm-header-add-listing {
    padding-right: 14px;
    padding-left: 14px;
    font-size: 13px;
  }
}
