.cbcc {
  width: min(94%, 1180px);
  max-width: 1180px;
  margin: 0 auto;
  box-sizing: border-box;
}
/* Keep submit + edit visually identical (Divi/theme can inflate spacing) */
.cbcc-fieldset { margin: 10px 0 !important; }
.cbcc-subtitle { margin-bottom: 10px !important; }
.cbcc-breadcrumbs { margin-bottom: 6px !important; }

.cbcc-form input[type="text"],
.cbcc-form input[type="email"],
.cbcc-form input[type="number"],
.cbcc-form select,
.cbcc-form textarea { width: 100%; padding: 10px; box-sizing: border-box; }

.cbcc-fieldset { border:1px solid #ddd; padding:12px; margin: 10px 0 !important; }
.cbcc-inline { display:inline-flex; gap:8px; align-items:center; margin-right:12px; }
.cbcc-checkbox { display:flex; gap:10px; align-items:flex-start; }

.cbcc-btn { display:inline-block; padding: 10px 14px; border:1px solid #111; background:#fff; cursor:pointer; text-decoration:none; }
.cbcc-note { opacity: 0.8; }
.cbcc-contact { margin:18px 0 28px; }

.cbcc-notice { padding:12px 14px; border:1px solid #ddd; margin: 12px 0; }
.cbcc-notice-success { border-color: #2d8a3b; }
.cbcc-notice-info { border-color: #2b6cb0; }
.cbcc-notice .cbcc-notice-link { text-decoration: underline; font-weight: 600; }

.cbcc-filters { display:flex; flex-wrap:wrap; gap:10px; margin: 14px 0 18px; }
.cbcc-filters input, .cbcc-filters select { padding:10px; }

.cbcc-grid { display:grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap:18px !important; align-items: stretch; }
@media (max-width: 900px){ .cbcc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px){ .cbcc-grid { grid-template-columns: 1fr; } }

.cbcc-card { border:1px solid #eee; overflow:hidden; background:#fff; }
.cbcc-listing-card{ position:relative; }
.cbcc-listing-card .cbcc-card-select{ position:static; margin:10px 10px 0 10px; display:inline-flex; }
.cbcc-listing-card .cbcc-card-link{ display:block; }

.cbcc-card-link { color: inherit; text-decoration:none; display:block; }
.cbcc-card-img { width:100%; height: 240px; object-fit: cover; display:block; background:#f4f4f4; }
.cbcc-card-img--empty { height:240px; }

.cbcc-card-body { padding:12px; }
.cbcc-card-title { margin: 10px 0 6px; font-size: 16px; }

.cbcc-card-meta {
  opacity: 0.8;
  font-size: 13px;
  margin: 4px 0;
}

.cbcc-card-meta-seller {
  white-space: nowrap;
}

.cbcc-card-meta-seller a {
  display: inline !important;
  white-space: nowrap;
}

.cbcc-card-meta-trusted {
  margin-top: -4px;
}

.cbcc-card-meta-delivery {
  margin-top: 1px;
  padding-left: 10px;
  font-size: 12px;
  opacity: 0.72;
}

.cbcc-card-price { margin-top:10px; font-weight:600; }

.cbcc-badge { display:inline-block; padding: 4px 8px; font-size: 12px; border:1px solid #111; }
.cbcc-badge-pending { opacity:0.8; }

.cbcc-trusted-badge {
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  background:#e8f7ec;
  color:#1f7a36;
  font-size:12px;
  font-weight:600;
  line-height:1.6;
  vertical-align:middle;
  white-space:nowrap;
}

.cbcc-card-actions { display:flex; gap:10px; padding: 10px 12px 12px; border-top:1px solid #eee; }
.cbcc-inline-form { display:inline; margin:0; }

/* My listings tabs */
.cbcc-tabs { display:flex; gap:8px; flex-wrap:wrap; margin: 10px 0 16px; }
.cbcc-tab { display:inline-block; padding:6px 10px; border-radius:8px; border:1px solid rgba(0,0,0,.12); text-decoration:none; }
.cbcc-tab-active { font-weight:600; }

/* --- CBCC submit form hero/card styling --- */
.cbcc-hero {
  position: relative;
  padding: 34px 0;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
}
.cbcc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--cbcc-hero-bg);
  background-size: cover;
  background-position: center;
  filter: blur(2px);
  transform: scale(1.04);
  opacity: .9;
}
.cbcc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.65));
}
.cbcc-hero > * {
  position: relative;
  z-index: 1;
}

/*
  IMPORTANT:

  We use .cbcc-card both for the big “panel” inside the hero AND for listing cards inside grids.
  The panel needs max-width + padding, but listing cards must stay grid-native.
  So: scope the panel styling to .cbcc-hero > .cbcc-card, and explicitly include .cbcc-single-card.
*/
.cbcc-hero > .cbcc-card,
.cbcc-single-card {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  background: rgba(255,255,255,.95);
  border-radius: 18px;
  padding: clamp(14px, 1.6vw, 22px);
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  box-sizing: border-box;
}

/* Listing cards: ensure they always behave consistently in a grid */
.cbcc-grid > .cbcc-listing-card {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

.cbcc-card h2 {
  margin-top: 0;
  margin-bottom: 6px;
}
.cbcc-subtitle {
  margin: 0 0 16px;
  opacity: .85;
}

.cbcc-form label {
  display:block;
  margin: 12px 0;
  font-weight: 600;
}
.cbcc-form input[type="text"],
.cbcc-form input[type="number"],
.cbcc-form select {
  width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
}
.cbcc-form input[type="text"]:focus,
.cbcc-form input[type="number"]:focus,
.cbcc-form select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

.cbcc-form input[type="file"] {
  margin-top: 8px;
}

.cbcc-help {
  margin: 6px 0 12px;
  opacity: .8;
}

.cbcc-photos h3 {
  margin: 18px 0 6px;
}

.cbcc-req {
  color: #b00020;
  font-weight: 700;
  margin-left: 6px;
}

.cbcc-btn {
  display:inline-block;
  padding: 12px 16px;
  border-radius: 14px;
  border: none;
  cursor: pointer;
  text-decoration:none;
  font-weight: 700;
}

.cbcc-btn-small { padding: 10px 14px; border-radius: 12px; font-size: 14px; }
.cbcc-btn-danger { background: rgba(180, 20, 20, .12); border: 1px solid rgba(180, 20, 20, .35); }

/* Photo manager */
.cbcc-photo-manager { margin-top: 12px; }
.cbcc-photo-manager h3 { margin: 14px 0 10px; }
.cbcc-photo-manager .cbcc-form label { margin: 8px 0; }
.cbcc-photo-manager .cbcc-form small { display:block; margin-top: 4px; }
.cbcc-photo-row { display:flex; gap: 16px; align-items:flex-start; flex-wrap:wrap; margin: 10px 0 18px; }
.cbcc-photo-thumb img { width: 220px; height: 220px; object-fit: cover; border-radius: 14px; box-shadow: 0 8px 18px rgba(0,0,0,.12); display:block; }
.cbcc-photo-missing { width: 220px; height: 220px; border-radius: 14px; display:flex; align-items:center; justify-content:center; background: rgba(0,0,0,.06); font-weight: 800; opacity: .7; }
.cbcc-photo-actions { display:flex; flex-direction:column; gap:10px; }
.cbcc-gallery-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 10px 0 18px; }
.cbcc-gallery-item { background: rgba(255,255,255,.7); border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 10px; display:flex; flex-direction:column; gap: 10px; }
.cbcc-gallery-item img { width: 100%; height: 130px; object-fit: cover; border-radius: 12px; display:block; }

.cbcc-gate-inner {
  text-align:center;
  padding: 10px 0;
}

/* --- CBCC single listing styling --- */
.cbcc-single-wrap { width: 100%; max-width: none; margin: 0 auto; }
.cbcc-single-card { background: rgba(255,255,255,.96); }
.cbcc-single-images { margin: 14px 0 16px; }
.cbcc-single-featured-wrap { border-radius: 18px; overflow: hidden; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.cbcc-single-featured { width: 100%; height: auto; display:block; }
.cbcc-single-gallery { margin-top: 12px; }
.cbcc-single-gallery-title { font-weight: 700; margin: 0 0 8px; }
.cbcc-single-thumbs { display:flex; gap:10px; flex-wrap:wrap; }
.cbcc-single-thumb-link { display:inline-block; border-radius: 12px; overflow:hidden; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.cbcc-single-thumb { width: 92px; height: 92px; object-fit: cover; display:block; }

.cbcc-single-meta { margin: 10px 0 16px; }
.cbcc-single-meta-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.cbcc-single-meta-row:last-child {
  border-bottom: none;
}

.cbcc-single-k {
  opacity: .75;
  font-weight: 700;
}

.cbcc-single-v {
  font-weight: 700;
  text-align: right;
  min-width: 0;
}

.cbcc-contact h3 { margin-top: 0; }

/* Featured image sizing on single */
.cbcc-single-featured-wrap { max-width: 860px; margin: 0 auto; }
.cbcc-single-featured { max-height: 520px; object-fit: cover; }

/* Lightweight lightbox */
.cbcc-lightbox { position: fixed; inset: 0; display: none; z-index: 99999; }
.cbcc-lightbox.is-open { display: block; }
.cbcc-lightbox-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.75); }
.cbcc-lightbox-inner { position: relative; max-width: min(1100px, 92vw); max-height: 86vh; margin: 7vh auto 0; background: rgba(255,255,255,.06); border-radius: 18px; overflow: hidden; box-shadow: 0 18px 44px rgba(0,0,0,.45); }
.cbcc-lightbox-img { width: 100%; height: auto; display:block; max-height: 86vh; object-fit: contain; background: #000; }
.cbcc-lightbox-close { position:absolute; top: 8px; right: 10px; width: 40px; height: 40px; border-radius: 999px; border: none; font-size: 26px; line-height: 40px; cursor: pointer; background: rgba(0,0,0,.45); color: #fff; }
.cbcc-single-thumb-link { cursor: zoom-in; }
.cbcc-single-featured-link { cursor: zoom-in; display:block; }

/* Shared page shell consistency: archive, single listing, seller pages */
.cbcc-single-cardwrap,
.cbcc-seller-shell-card,
.cbcc-archive-shell-card,
.cbcc-mylistings-shell-card,
.cbcc-submit-shell-card,
.cbcc-gate-shell-card {
  width: 100%;
  max-width: none;
}

.cbcc-single-hero,
.cbcc-seller-hero,
.cbcc-archive-hero,
.cbcc-mylistings-hero,
.cbcc-submit-hero,
.cbcc-gate {
  width: min(94%, 1180px);
  max-width: 1180px;
  margin: 0 auto;
}

.cbcc-seller-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,300px);
  gap: 28px;
  align-items: stretch;
  margin-bottom: 24px;
}

.cbcc-seller-box {
  border: 1px solid #e4ebf1;
  border-radius: 16px;
  background: #fff;
  padding: clamp(14px, 1.6vw, 22px);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
  box-sizing: border-box;
}

.cbcc-seller-name {
  margin: 0 0 6px;
  font-size: clamp(30px, 4vw, 34px);
  line-height: 1.2;
  color: #16344a;
}

.cbcc-seller-fullname {
  color: #607384;
  margin: 0 0 10px;
  font-size: 16px;
}

.cbcc-seller-location {
  margin: 0 0 12px;
  color: #243746;
}

.cbcc-seller-bio {
  margin: 0 0 16px;
  line-height: 1.7;
  color: #334a5c;
}

.cbcc-seller-vendorbox {
  border: 1px solid #d7e5f1;
  padding: 16px;
  border-radius: 12px;
  background: #f7fbfe;
  margin-top: 16px;
}

.cbcc-seller-vendorbox strong {
  display: block;
  margin-bottom: 6px;
  color: #16344a;
}

.cbcc-seller-vendorbox-copy {
  color: #3f5567;
  line-height: 1.6;
  margin-bottom: 12px;
}

.cbcc-seller-vendorbtn {
  display: inline-block;
  padding: 10px 16px;
  background: #0073aa;
  color: #fff !important;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
}

.cbcc-seller-logo {
  max-width: 190px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.cbcc-seller-section-title {
  margin: 0 0 16px;
  color: #16344a;
}

.single-coral_listing #main-content .container,
.cbcc-seller-page #main-content .container {
  width: 100%;
  max-width: none;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.single-coral_listing #left-area,
.cbcc-seller-page #left-area {
  width: 100%;
  float: none;
  padding-right: 0;
}

.single-coral_listing #sidebar,
.cbcc-seller-page #sidebar {
  display: none;
}

.single-coral_listing #main-content .container:before,
.cbcc-seller-page #main-content .container:before {
  display: none;
}

@media (max-width: 767px) {
  .cbcc {
    width: 94%;
  }

  .cbcc-hero {
    padding: 20px 0;
    border-radius: 16px;
  }

  .cbcc-hero > .cbcc-card,
  .cbcc-single-card {
    border-radius: 16px;
    padding: 14px;
  }

  .cbcc-seller-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cbcc-single-featured-wrap {
    border-radius: 14px;
  }

  .cbcc-single-thumb {
    width: 78px;
    height: 78px;
  }
}

/* Breadcrumbs */
.cbcc-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  margin: 0 0 18px;
  padding: 10px 14px;
  background: #f7f7f7;
  border: 1px solid #ececec;
  border-radius: 10px;
  color: #666;
  max-width: none;
  opacity: 1;
}
.cbcc-breadcrumbs a { color: #666; text-decoration: none; font-weight: 600; }
.cbcc-breadcrumbs span { opacity: .75; }
.cbcc-single-sellerline {
  margin: 0 0 16px;
  color: #243746;
  font-size: 15px;
  line-height: 1.5;
}

.cbcc-single-sellerline a {
  font-weight: 700;
  text-decoration: none;
}

.cbcc-single-sellerline-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cbcc-single-sellerline-date {
  display: block;
  margin-top: 4px;
}

.cbcc-single-sellerline-sep {
  display: none;
}

/* Photo bulk select */
.cbcc-photo-bulk { margin: 8px 0 0; }
.cbcc-bulkbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin: 10px 0 12px; }
.cbcc-gallery-item { position: relative; }
.cbcc-select { position:absolute; top:8px; left:8px; background: rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.08); border-radius: 999px; padding: 4px 8px; font-size: 12px; display:flex; align-items:center; gap:6px; cursor:pointer; }
.cbcc-select input { margin:0; }
.cbcc-main-pill { background: rgba(0,0,0,.55); color:#fff; padding: 2px 6px; border-radius: 999px; font-weight: 800; font-size: 11px; line-height: 1.2; }
.cbcc-gallery-item--main .cbcc-help { text-align:center; }

.cbcc-photo-count { margin-left: 10px; font-weight: 700; opacity: .8; }
.cbcc-photo-block { margin: 12px 0 14px; }
.cbcc-photo-title { font-weight: 800; margin: 0 0 8px; }
.cbcc-photo-grid { display:flex; align-items:center; gap: 10px; flex-wrap:wrap; }
.cbcc-photo-grid-many { align-items: flex-start; }
.cbcc-photo-item { display:flex; flex-direction:column; gap:8px; }
.cbcc-photo-thumb { width: 180px; height: 180px; object-fit: cover; border-radius: 14px; box-shadow: 0 8px 18px rgba(0,0,0,.12); }

/* Bulk actions */
.cbcc-bulk-bar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin: 10px 0 16px; }
.cbcc-bulk-bar select { padding: 10px 12px; border-radius: 12px; border:1px solid rgba(0,0,0,.18); background:#fff; }
.cbcc-bulk-hint { opacity:.75; font-weight: 600; }
.cbcc-card-select { position:absolute; top: 12px; right: 12px; display:flex; gap:6px; align-items:center; background: rgba(255,255,255,.9); border: 1px solid rgba(0,0,0,.12); padding: 6px 10px; border-radius: 999px; font-weight: 700; }
.cbcc-card-item { position: relative; }
.cbcc-card-select span { opacity:.75; font-size: 12px; }

/* Photo manager: highlight */
.cbcc-gallery-item--main{outline:2px solid rgba(0,0,0,.18);}
.cbcc-all-photos .cbcc-inline-form{width:100%;}
.cbcc-all-photos .cbcc-inline-form .cbcc-btn{width:100%;}

/* Photo manager spacing tidy (high specificity to beat page builder styles) */
.cbcc-photo-manager h3 { margin: 10px 0 4px !important; }
.cbcc-photo-manager .cbcc-form { margin: 0 !important; }
.cbcc-photo-manager .cbcc-form label { margin: 4px 0 !important; }
.cbcc-photo-manager .cbcc-form small { display:block; margin-top: 4px; }
.cbcc-photo-manager .cbcc-gallery-grid { margin: 8px 0 6px !important; }

.cbcc-empty-cta {
  font-weight: 600;
  text-decoration: underline;
}

/* --- CBCC: ensure button text stays visible on mobile/Divi overrides --- */
.cbcc button.cbcc-btn,
.cbcc a.cbcc-btn,
button.cbcc-btn,
a.cbcc-btn {
  color: #111 !important;
  -webkit-text-fill-color: #111;
  background: #fff !important;
  border: 1px solid #111 !important;
  font-size: 15px;
  line-height: 1.1;
}
@media (max-width: 782px){
  .cbcc button.cbcc-btn,
  .cbcc a.cbcc-btn,
  button.cbcc-btn,
  a.cbcc-btn {
    font-size: 15px;
  }
}

/* Nearby collection controls */
.cbcc-nearby-panel {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 6px;
}
.cbcc-nearby-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 140px;
  font-weight: 600;
}
.cbcc-nearby-label span {
  font-size: 13px;
  opacity: .85;
}
.cbcc-nearby-status {
  font-size: 13px;
  opacity: .8;
  width: 100%;
}
.cbcc-card-distance {
  font-weight: 700;
}

/* Hide generic theme byline on community coral singles */
.single-coral_listing .post-meta,
.single-coral_listing .entry-meta,
.single-coral_listing .et_pb_title_meta_container { display:none !important; }

.cbcc-limit-summary{margin:0 0 10px;padding:10px 12px;background:#f7f7f7;border:1px solid #e5e5e5;border-radius:10px;}
.cbcc-limit-summary strong{font-weight:600;}

.cbcc-renew-request-status{display:inline-block;padding:8px 12px;border-radius:999px;background:#eef7ee;color:#216b2c;font-size:13px;font-weight:600;}

/* Center page titles */
.cbcc-archive-hero > .cbcc-card > h2,
.cbcc-single > .cbcc-card > h1 {
  text-align: center;
}

/* Center the native single post title on community coral single pages */
.single-coral_listing h1.entry-title,
.single-coral_listing .entry-title,
.single-coral_listing .et_pb_title_container h1 {
  text-align: center;
}

/* Seller row inside single meta card */
.cbcc-single-v-seller {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
}

/* Mobile tidy-up for meta rows */
@media (max-width: 767px) {
  .cbcc-single-meta-row {
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: flex-start;
  }

  .cbcc-single-k {
    width: auto;
    min-width: 0;
  }

  .cbcc-single-v {
    width: auto;
    word-break: break-word;
  }

  .cbcc-single-v-seller {
    justify-content: flex-end;
  }
}
/* Archive pagination + per-page controls */
.cbcc-archive-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 10px 0 18px;
}

.cbcc-results-summary {
  color: #5c6b77;
  font-size: 14px;
  font-weight: 600;
}

.cbcc-per-page-form {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #f6f8fb;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  padding: 8px 14px;
  color: #243746;
  font-weight: 600;
}

.cbcc-per-page-form label,
.cbcc-per-page-suffix {
  font-size: 14px;
  line-height: 1;
}

.cbcc-per-page-form select {
  appearance: none;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #243746;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
}

.cbcc-pagination {
  margin: 26px 0 6px;
}

.cbcc-pagination ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.cbcc-pagination li {
  margin: 0;
  padding: 0;
}

.cbcc-pagination a,
.cbcc-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #243746;
  font-weight: 700;
  text-decoration: none;
  box-sizing: border-box;
}

.cbcc-pagination a:hover {
  transform: translateY(-1px);
}

.cbcc-pagination .current {
  background: #243746;
  color: #fff;
  border-color: #243746;
}

.cbcc-page-prev,
.cbcc-page-next {
  padding-left: 16px;
  padding-right: 16px;
}

.cbcc-page-dots {
  background: transparent;
}

@media (max-width: 767px) {
  .cbcc-archive-toolbar {
    justify-content: center;
    margin: 8px 0 16px;
  }

  .cbcc-results-summary {
    width: 100%;
    text-align: center;
  }

  .cbcc-per-page-form {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    border-radius: 20px;
    padding: 10px 12px;
  }

  .cbcc-per-page-form select {
    min-width: 90px;
  }

  .cbcc-pagination a,
  .cbcc-pagination span {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
  }
}

/* Inner cards on single page: meta + contact */
.cbcc-single-panel {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  background: rgba(255,255,255,.96);
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  box-sizing: border-box;
}

/* Keep main single sections visually aligned */
.cbcc-single-images,
.cbcc-single-sellerline,
.cbcc-single-meta,
.cbcc-contact {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Single community coral page: proper mobile width after PHP cleanup --- */
@media (max-width: 767px) {
  .single-coral_listing .cbcc-single-images,
  .single-coral_listing .cbcc-single-sellerline,
  .single-coral_listing .cbcc-single-meta,
  .single-coral_listing .cbcc-contact,
  .single-coral_listing .cbcc-single-gallery {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .single-coral_listing .cbcc-single-card,
  .single-coral_listing .cbcc-single-panel {
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 12px;
  }

  .single-coral_listing .cbcc-hero {
    padding: 12px 0;
    border-radius: 0;
  }

  .single-coral_listing .cbcc-single-featured-wrap {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    border-radius: 12px;
  }

  .single-coral_listing .cbcc-single-thumb {
    width: 72px;
    height: 72px;
  }

  .single-coral_listing .cbcc-single-meta-row {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 0;
  }
}


.cbcc-single-maplink-wrap {
  margin-top: 10px;
}

.cbcc-single-maplink {
  width: auto;
  max-width: 100%;
}

@media (max-width: 767px) {
  .cbcc-single-maplink {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}


.cbcc-seller-collection-notice {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fbff;
  border: 1px solid #d6e8ff;
  font-size: 13px;
  line-height: 1.4;
}

.cbcc-seller-collection-notice strong {
  display: block;
  margin-bottom: 2px;
  color: #23425f;
}

.cbcc-seller-collection-notice span {
  display: block;
  color: #555;
}


.cbcc-card-meta-seller-type,
.cbcc-single-seller-type {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}

.cbcc-single-seller-type a,
.cbcc-card-meta-seller-type a {
  font-weight: 600;
}


/* Keep all main single-page sections in one content lane */
.cbcc-single-badges,
.cbcc-single-meta,
.cbcc-single-content,
.cbcc-contact {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WYSIWYG badge sits tight with meta */
.cbcc-single-badges {
  margin-top: 0 !important;
  margin-bottom: -4px !important;
  padding-bottom: 4px;
  position: relative;
  z-index: 2;
}

/* Meta tile spacing */
.cbcc-single-meta {
  margin-top: 0 !important;
}

/* Description spacing */
.cbcc-single-content {
  margin-top: 8px !important;
  margin-bottom: 18px !important;
}

.cbcc-single-content p {
  margin: 0 0 14px;
  line-height: 1.5;
}

.cbcc-single-content p:last-child {
  margin-bottom: 0;
}

/* Mobile: let sections use full width */
@media (max-width: 767px) {
  .single-coral_listing .cbcc-single-badges,
  .single-coral_listing .cbcc-single-meta,
  .single-coral_listing .cbcc-single-content,
  .single-coral_listing .cbcc-contact {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================
   DESCRIPTION TEXT TIGHTENING
========================= */

.cbcc-single-content {
  line-height: 1.4; /* tighter but still readable */
}

/* Reduce paragraph spacing */
.cbcc-single-content p {
  margin: 0 0 0px;
}

/* Remove gap after last paragraph */
.cbcc-single-content p:last-child {
  margin-bottom: 0;
}

/* Remove empty paragraph gaps (very important) */
.cbcc-single-content p:empty {
  display: none;
}
.cbcc-single-content::before {
  content: "Description";
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: #5c6b77;
  margin-bottom: 6px;
}