/* ===== JGL V2 CUSTOM CSS ===== */
/* Last cleaned: September 2026 — Session 23 */

/* --- BLOCK 1: Listing card styling --- */
.atbd_single_listing {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: box-shadow 0.2s ease;
  overflow: hidden;
}
.atbd_single_listing:hover {
  box-shadow: 0 4px 16px rgba(0,63,0,0.12);
}

/* --- BLOCK 2: Brand colours on buttons --- */
.directorist-search-form .btn-primary,
.directorist-btn-primary,
.atbd_director_contact_btn {
  background-color: #003F00;
  border-color: #003F00;
}
.directorist-search-form .btn-primary:hover,
.directorist-btn-primary:hover,
.atbd_director_contact_btn:hover {
  background-color: #7E9C3C;
  border-color: #7E9C3C;
}

/* --- BLOCK 3: Font consistency --- */
.atbd_listing_title a,
.directorist-listing-title a,
.directorist-listing-category,
.directorist-price {
  font-family: 'Montserrat', sans-serif !important;
  color: #003F00;
}
.directorist-listing-card-text,
.atbd_listing_info,
.directorist-listing-data {
  font-family: 'Open Sans', sans-serif !important;
}

/* --- BLOCK 4: Hide WooCommerce cart --- */
.site-header-cart,
.header-cart-wrap {
  display: none !important;
}

/* --- BLOCK 5: Hide author and ratings --- */
[class*="directorist-col-"] [class*="author"],
[class*="directorist-col-"] [class*="avatar"] {
  display: none !important;
}
[class*="directorist-col-"] [class*="rating"],
[class*="directorist-col-"] [class*="review"],
[class*="directorist-col-"] [class*="star"] {
  display: none !important;
}

/* --- BLOCK 6: Desktop grid - 2 columns --- */
.directorist-col-lg-3 {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
}

/* --- BLOCK 7: Mobile grid - 2 columns --- */
@media (max-width: 768px) {
  .directorist-col-lg-3,
  .directorist-col-md-4,
  .directorist-col-md-6,
  .directorist-col-sm-12,
  .directorist-col-sm-6,
  .directorist-col-xs-12,
  [class*="directorist-col-"] {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

/* --- BLOCK 8: Mobile card sizing (actual class names) --- */
@media (max-width: 768px) {
  /* All text inside listing columns */
  [class*="directorist-col-"] * {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  /* Titles slightly larger */
  [class*="directorist-col-"] [class*="title"] * {
    font-size: 11px !important;
    font-weight: 600 !important;
  }

  /* Image container - fixed height */
  .directorist-listing-single__thumb {
    height: 110px !important;
    max-height: 110px !important;
    overflow: hidden !important;
  }

  /* Actual image */
  .directorist-thumbnail-card-front-img {
    height: 110px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* Swiper container and slides */
  [class*="directorist-col-"] .swiper,
  [class*="directorist-col-"] .swiper-wrapper,
  [class*="directorist-col-"] .swiper-slide {
    height: 110px !important;
    max-height: 110px !important;
  }

  /* Hide swiper navigation arrows */
  [class*="directorist-col-"] .swiper-button-next,
  [class*="directorist-col-"] .swiper-button-prev {
    display: none !important;
  }

  /* Hide swiper pagination dots */
  [class*="directorist-col-"] .swiper-pagination {
    display: none !important;
  }

  /* Column spacing */
  [class*="directorist-col-"] {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
 /* Remove padding from content area above category */
  .directorist-content-active .directorist-listing-single__info {
    padding: 4px 6px !important;
    gap: 2px !important;
  }
} 
	
/* --- BLOCK 9: Homepage pillar cards mobile --- */
@media (max-width: 768px) {
  .kt-blocks-info-box-title {
    font-size: 11px !important;
  }
}

/* --- BLOCK 10: Single listing page — mobile layout fix --- */
@media (max-width: 768px) {
  /* Full-width columns on single listing */
  body.single-at_biz_dir [class*="directorist-col-"] {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* Body text — readable mobile size */
  body.single-at_biz_dir [class*="directorist-col-"] * {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  /* Listing title */
  body.single-at_biz_dir .directorist-listing-single__title,
  body.single-at_biz_dir .directorist-listing-single__title * {
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
  }
  /* Section headings within the listing */
  body.single-at_biz_dir .directorist-single-info__label,
  body.single-at_biz_dir h3,
  body.single-at_biz_dir h4 {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  /* Category, price, tags */
  body.single-at_biz_dir .directorist-listing-category,
  body.single-at_biz_dir .directorist-price,
  body.single-at_biz_dir .directorist-badge {
    font-size: 13px !important;
  }
 /* Location & contact — horizontal layout like desktop */
  body.single-at_biz_dir .directorist-single-info-address,
  body.single-at_biz_dir .directorist-single-info-website,
  body.single-at_biz_dir .directorist-single-info-phone,
  body.single-at_biz_dir .directorist-single-info-email {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  /* Label — inline, not full width */
  body.single-at_biz_dir .directorist-single-info__label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: auto !important;
    flex-shrink: 0 !important;
  }

  /* Value — inline next to label */
  body.single-at_biz_dir .directorist-single-info__value {
    width: auto !important;
    flex: 1 !important;
  }

  /* All text in contact section — compact */
  body.single-at_biz_dir .directorist-details-info-wrap,
  body.single-at_biz_dir .directorist-details-info-wrap * {
    font-size: 12px !important;
  }
}

/* --- BLOCK 11: Single listing — mobile image gallery fix --- */
@media (max-width: 768px) {
  /* Hide navigation arrows on mobile — users can swipe */
  body.single-at_biz_dir .directorist-swiper__nav {
    display: none !important;
  }

  /* Hide pagination dots/nav wrapper */
  body.single-at_biz_dir .directorist-swiper__navigation,
  body.single-at_biz_dir .directorist-swiper__pagination {
    display: none !important;
  }

  /* Main slider container — collapse to content height */
  body.single-at_biz_dir .directorist-single-listing-slider {
    height: auto !important;
    margin-bottom: 4px !important;
  }

  body.single-at_biz_dir .directorist-single-listing-slider .swiper,
  body.single-at_biz_dir .directorist-single-listing-slider .swiper-wrapper,
  body.single-at_biz_dir .directorist-single-listing-slider .swiper-slide {
    height: auto !important;
  }

  /* Image — full width, natural proportions, no cropping */
  body.single-at_biz_dir .directorist-single-listing-slider img {
    height: auto !important;
    max-height: 450px !important;
    width: 100% !important;
    object-fit: contain !important;
  }
}
	/* --- BLOCK 12: Single listing — mobile description text and bullets fix --- */
@media (max-width: 768px) {
  /* Force bullet items to single column */
  body.single-at_biz_dir .directorist-listing-details__text li {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Tighten bullet indentation */
  body.single-at_biz_dir .directorist-listing-details__text ul {
    padding-left: 18px !important;
    margin-left: 0 !important;
  }

  /* Description text — comfortable mobile reading size */
  body.single-at_biz_dir .directorist-listing-details__text {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* Description headings */
  body.single-at_biz_dir .directorist-listing-details__text h3,
  body.single-at_biz_dir .directorist-listing-details__text h4,
  body.single-at_biz_dir .directorist-listing-details__text strong {
    font-size: 14px !important;
  }
}

/* --- BLOCK 13: Single listing — related listings / footer separation --- */
@media (max-width: 768px) {
  /* Related listings section spacing */
  body.single-at_biz_dir .directorist-related-listing {
    margin-bottom: 40px !important;
    padding-bottom: 80px !important;
  }

  /* Override the base .directorist-swiper overflow clip */
  body.single-at_biz_dir section.directorist-related-listing .directorist-swiper {
    overflow: visible !important;
    height: auto !important;
  }
  body.single-at_biz_dir section.directorist-related-listing .swiper-wrapper {
    height: auto !important;
  }
  body.single-at_biz_dir section.directorist-related-listing .swiper-slide {
    height: auto !important;
    overflow: visible !important;
  }

  /* The card inside the slide — make sure it's fully visible */
  body.single-at_biz_dir section.directorist-related-listing .directorist-listing-single {
    overflow: visible !important;
  }

  /* Related listings text */
  body.single-at_biz_dir .directorist-related-listing * {
    font-size: 11px !important;
  }

  /* Clear space above footer */
  body.single-at_biz_dir .site-footer-row {
    margin-top: 20px !important;
  }
}