/* CCAPP Directory Theme v3 */

.wpbdp-page .wpbdp-search-form,
.wpbdp-page .wpbdp-bar,
.wpbdp-page .wpbdp-main-box {
  background: #ffffff;
  border: 1px solid rgba(0, 140, 149, 0.14);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
}

.wpbdp-page .wpbdp-search-form { margin-bottom: 24px; }

.wpbdp-page .wpbdp-listing,
.wpbdp-page .wpbdp-listing-excerpt {
  background:#fff;
  border-radius:18px;
  padding:22px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  margin-bottom:20px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.wpbdp-page .wpbdp-listing:hover,
.wpbdp-page .wpbdp-listing-excerpt:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 35px rgba(0,0,0,.08);
  border-color: rgba(0,140,149,.24);
}

.wpbdp-page .listing-title h3,
.wpbdp-page .wpbdp-listing-title,
.wpbdp-page h1 {
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
  color:#16363a;
  margin-bottom: 12px;
}

.wpbdp-page .wpbdp-field-listing_category,
.wpbdp-page .wpbdp-field-listing_category .value,
.wpbdp-page .wpbdp-field-listing_category .wpbdp-field-display {
  display:inline-block;
}
.wpbdp-page .wpbdp-field-listing_category {
  background:#eaf7f8;
  color:#008C95;
  border:1px solid rgba(0,140,149,.18);
  padding:6px 12px;
  border-radius:999px;
  margin-bottom: 12px;
}

.wpbdp-page .wpbdp-field {
  padding: 9px 0;
  border-bottom:1px solid rgba(0,0,0,.05);
}
.wpbdp-page .wpbdp-field:last-child { border-bottom:0; }

.wpbdp-page .wpbdp-field-label,
.wpbdp-page label {
  font-weight:700;
  color:#21474c;
}
.wpbdp-page .wpbdp-field-value,
.wpbdp-page .wpbdp-field-display,
.wpbdp-page .value {
  color:#33484b;
}

.wpbdp-page a { color:#008C95; }
.wpbdp-page a:hover { color:#0aa7b0; }

.wpbdp-page .button,
.wpbdp-page .wpbdp-button,
.wpbdp-page input[type="submit"],
.wpbdp-page button {
  background:#008C95;
  color:#fff;
  border-radius:999px;
  padding:11px 18px;
  border:none;
  font-weight:700;
  box-shadow:0 8px 20px rgba(0,140,149,.18);
}
.wpbdp-page .button:hover,
.wpbdp-page .wpbdp-button:hover,
.wpbdp-page input[type="submit"]:hover,
.wpbdp-page button:hover { background:#0aa7b0; color:#fff; }

.wpbdp-page .delete,
.wpbdp-page a.delete {
  background:#f2f4f5;
  color:#516165;
  box-shadow:none;
}
.wpbdp-page .delete:hover,
.wpbdp-page a.delete:hover {
  background:#e5eaec;
  color:#33484b;
}

.wpbdp-page input[type="text"],
.wpbdp-page input[type="search"],
.wpbdp-page input[type="email"],
.wpbdp-page select,
.wpbdp-page textarea {
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  padding:11px 12px;
  background:#fff;
}

.wpbdp-page .wpbdp-map,
.wpbdp-page .wpbdp-googlemaps,
.wpbdp-page #wpbdp-map {
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  margin-bottom:25px;
}

.wpbdp-page .wpbdp-contact-form,
.wpbdp-page .contact-form,
.wpbdp-page .send-message {
  background:#f9fbfb;
  padding:20px;
  border-radius:16px;
  border:1px solid rgba(0,140,149,.15);
  margin-top:25px;
}

.wpbdp-page .wpbdp-pagination,
.wpbdp-page .pagination { margin-top:22px; }
.wpbdp-page .wpbdp-pagination a,
.wpbdp-page .pagination a,
.wpbdp-page .wpbdp-pagination span,
.wpbdp-page .pagination span {
  display:inline-block;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(0,140,149,.16);
  background:#ffffff;
  margin-right:6px;
}

.wpbdp-page .wpbdp-categories,
.wpbdp-page .categories {
  margin-bottom: 28px;
}
.wpbdp-page .wpbdp-categories .category,
.wpbdp-page .categories .category,
.wpbdp-page .wpbdp-category {
  background:#ffffff;
  border:1px solid rgba(0,140,149,.16);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
  padding:14px 16px;
}

.wpbdp-autoload-wrap {
  margin-top: 26px;
}

.wpbdp-autoload-heading {
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #16363a;
}

.wpbdp-autoload-note {
  margin: 0 0 18px;
  color: #5a6a6d;
}

.wpbdp-autoload-grid {
  display: grid;
  gap: 18px;
}

.wpbdp-autoload-loading {
  padding: 18px 20px;
  background: #f9fbfb;
  border: 1px solid rgba(0,140,149,.12);
  border-radius: 16px;
  color: #3d5559;
}

@media (min-width: 900px) {
  .wpbdp-autoload-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



/* v4: force two-column autoload grid on desktop */
.wpbdp-autoload-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  align-items: start !important;
}

.wpbdp-autoload-grid > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

@media (min-width: 980px) {
  .wpbdp-autoload-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* keep native listing blocks from forcing full width */
.wpbdp-autoload-grid .wpbdp-listing,
.wpbdp-autoload-grid .wpbdp-listing-excerpt,
.wpbdp-autoload-grid .listing {
  width: auto !important;
  max-width: none !important;
  margin-bottom: 0 !important;
}



/* v5: hard wrap cards into explicit grid cells */
.wpbdp-autoload-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.wpbdp-autoload-grid .wpbdp-autoload-cell {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

.wpbdp-autoload-grid .wpbdp-autoload-cell > .wpbdp-listing,
.wpbdp-autoload-grid .wpbdp-autoload-cell > .wpbdp-listing-excerpt,
.wpbdp-autoload-grid .wpbdp-autoload-cell > .listing {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;
}

@media (min-width: 980px) {
  .wpbdp-autoload-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}



/* v6: simpler teaser cards for autoload grid */
.wpbdp-autoload-grid .wpbdp-listing,
.wpbdp-autoload-grid .wpbdp-listing-excerpt,
.wpbdp-autoload-grid .listing {
  padding: 18px !important;
}

.wpbdp-autoload-grid .listing-title h3,
.wpbdp-autoload-grid .wpbdp-listing-title,
.wpbdp-autoload-grid h3 {
  font-size: 22px !important;
  margin-bottom: 10px !important;
}

.wpbdp-autoload-grid .wpbdp-field {
  padding: 6px 0 !important;
}

.wpbdp-autoload-grid .wpbdp-field-label {
  font-size: 13px !important;
}

.wpbdp-autoload-grid .wpbdp-field-value,
.wpbdp-autoload-grid .wpbdp-field-display,
.wpbdp-autoload-grid .value {
  font-size: 15px !important;
}

.wpbdp-autoload-grid .wpbdp-field-listing_category {
  margin-bottom: 8px !important;
}

/* hide actions/forms/media on teaser cards */
.wpbdp-autoload-grid .wpbdp-contact-form,
.wpbdp-autoload-grid form,
.wpbdp-autoload-grid .send-message,
.wpbdp-autoload-grid .wpbdp-images,
.wpbdp-autoload-grid .wpbdp-thumb,
.wpbdp-autoload-grid .listing-actions,
.wpbdp-autoload-grid .wpbdp-listing-actions,
.wpbdp-autoload-grid .social-fields,
.wpbdp-autoload-grid .wpbdp-field-social,
.wpbdp-autoload-grid .wpbdp-submit-listing,
.wpbdp-autoload-grid .wpbdp-admin-actions {
  display: none !important;
}

/* v7 remove category pill on teaser cards */
.wpbdp-autoload-grid .wpbdp-field-listing_category{
background: transparent !important;
border: none !important;
padding:0 !important;
margin:6px 0 !important;
border-radius:0 !important;
display:block !important;
font-weight:600;
}

.wpbdp-autoload-grid .wpbdp-field-listing_category .wpbdp-field-display{
background:none !important;
border:none !important;
}


/* v8: remove rounded category pill everywhere */
.wpbdp-page .wpbdp-field-listing_category {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 8px 0 12px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

.wpbdp-page .wpbdp-field-listing_category .wpbdp-field-display,
.wpbdp-page .wpbdp-field-listing_category .value {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  display: inline !important;
  color: #008C95 !important;
  font-weight: 600 !important;
}

.wpbdp-page .wpbdp-field-listing_category .wpbdp-field-label {
  display: inline-block !important;
  margin-right: 8px !important;
}


/* v9: more space between top search/actions box and categories */
.wpbdp-page .wpbdp-search-form,
.wpbdp-page .wpbdp-bar,
.wpbdp-page .wpbdp-main-box {
  margin-bottom: 40px !important;
}

.wpbdp-page .wpbdp-categories,
.wpbdp-page .categories,
.wpbdp-page .wpbdp-category-list {
  margin-top: 10px !important;
}

@media (max-width: 767px) {
  .wpbdp-page .wpbdp-search-form,
  .wpbdp-page .wpbdp-bar,
  .wpbdp-page .wpbdp-main-box {
    margin-bottom: 28px !important;
  }
}


/* v10: map styling and placement */
.wpbdp-page .wpbdp-map,
.wpbdp-page .wpbdp-googlemaps,
.wpbdp-page #wpbdp-map,
.wpbdp-page .googlemaps,
.wpbdp-page .wpbdp-map-container {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;
  margin: 0 0 24px !important;
  border: 1px solid rgba(0, 140, 149, 0.18) !important;
  background: #fff !important;
}

.wpbdp-page .wpbdp-map iframe,
.wpbdp-page .wpbdp-googlemaps iframe,
.wpbdp-page #wpbdp-map iframe,
.wpbdp-page .googlemaps iframe,
.wpbdp-page .wpbdp-map-container iframe {
  width: 100% !important;
  min-height: 360px !important;
  border: 0 !important;
  display: block !important;
}

.ccapp-single-shell {
  display: block;
}

.ccapp-single-map-wrap {
  margin: 0 0 26px;
}

.ccapp-single-image-wrap {
  margin-bottom: 22px;
}

@media (min-width: 980px) {
  .ccapp-single-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}


/* v11: search/list pages with sticky map on the right */
.ccapp-results-shell {
  display: block;
}

.ccapp-results-main {
  min-width: 0;
}

.ccapp-results-map {
  margin-top: 0;
}

@media (min-width: 1100px) {
  .ccapp-results-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
  }

  .ccapp-results-shell .ccapp-results-main {
    min-width: 0;
  }

  .ccapp-results-shell .ccapp-results-map {
    position: sticky;
    top: 24px;
    align-self: start;
  }

  .ccapp-results-shell .ccapp-results-map .wpbdp-map,
  .ccapp-results-shell .ccapp-results-map .wpbdp-googlemaps,
  .ccapp-results-shell .ccapp-results-map #wpbdp-map,
  .ccapp-results-shell .ccapp-results-map .googlemaps,
  .ccapp-results-shell .ccapp-results-map .wpbdp-map-container {
    margin: 0 !important;
  }

  .ccapp-results-shell .ccapp-results-map iframe {
    min-height: 720px !important;
  }
}

/* single listing page: details left, map right */
.ccapp-single-shell {
  display: block;
}

.ccapp-single-main {
  min-width: 0;
}

.ccapp-single-map-wrap {
  min-width: 0;
}

@media (min-width: 1100px) {
  .ccapp-single-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 28px;
    align-items: start;
  }

  .ccapp-single-main {
    min-width: 0;
  }

  .ccapp-single-map-wrap {
    order: 2;
    position: sticky;
    top: 24px;
    align-self: start;
  }

  .ccapp-single-main {
    order: 1;
  }

  .ccapp-single-map-wrap iframe {
    min-height: 420px !important;
  }
}


/* v12: ensure search/results map rail starts below categories and aligns to cards */
.ccapp-results-shell {
  margin-top: 26px;
}

.ccapp-results-map {
  min-width: 0;
}

.ccapp-results-map > * {
  width: 100% !important;
}
