/* ================================
   GLOBAL WRAPPER / GUTTERS
   ================================ */

/* Wrap content ABOVE the map in .bd-container for side spacing */
.bd-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;   /* mobile gutters */
  padding-right: 16px;
}

@media (min-width: 1200px) {
  .bd-container {
    padding-left: 200px;   /* requested 200px gutters on wide screens */
    padding-right: 200px;
  }
}

.bd-single-header {        /* header block on single page above map */
  margin: 12px 0 16px;
}

/* ================================
   DIRECTORY LAYOUTS
   ================================ */

.business-directory {}

/* CARD VIEW: 3-column responsive grid */
.business-directory.view-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1100px) {
  .business-directory.view-card { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .business-directory.view-card { grid-template-columns: 1fr; }
}

/* Card box styling (border + subtle bg) */
.business-directory.view-card .bd-item,
.business-directory.view-list .bd-item,
.business-directory.view-full .bd-full {
  border: 1px solid #e5e5e5;
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

/* LIST VIEW */
.business-directory.view-list .bd-item {
  display: flex;
  align-items: flex-start;
  margin: 12px;
}

/* FULL VIEW */
.business-directory.view-full .bd-full {
  margin-bottom: 24px;
  border-bottom: 1px solid #eee;
  padding-bottom: 16px;
}

/* ================================
   ITEM CONTENT
   ================================ */

.bd-title {    margin: 25px 0 6px;
    vertical-align: middle;}
.bd-title a { text-decoration: none; color: inherit; }
.bd-title a:hover { text-decoration: underline; }

.bd-summary { margin: 0 0 8px; }

.bd-meta { margin: 0; padding: 0; list-style: none; }
.bd-meta li { margin: 4px 0; }

/* Grid for items with optional logo on the left */
.bd-item {

  gap: 12px;
  align-items: start;
}
.bd-item.no-logo {          /* when no logo, make content full width */
  grid-template-columns: 1fr;
}
.bd-item .bd-item-body { min-width: 0; }

/* Logo thumb (card/list) */
.bd-item .bd-logo-left img.bd-logo-thumb {
  width: 100px;
  height: 100px;
  object-fit: contain;
  display: block;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 4px;
}

/* ================================
   SINGLE: LOGO ABOVE MAP
   ================================ */

.bd-logo-single {
  display: block;
  margin: 0 0 12px 0;     /* spacing under logo */
  text-align: right;
}
.bd-logo-single img.bd-logo-img {
  width: 300px;
  height: 300px;
  object-fit: contain;
  display: inline-block;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 6px;
}
@media (max-width: 640px) {
  .bd-logo-single { text-align: left; }
  .bd-logo-single img.bd-logo-img { width: 100%; height: auto; }
}

/* ================================
   MAPS
   ================================ */

.bd-header-map {
  height: 380px;
  margin-bottom: 16px;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f5f5;
}

#bd-single-map {
  height: 360px;
  margin: 8px 0 16px;
}

.leaflet-container img { max-width: none !important; } /* keep tiles crisp */

/* ================================
   CONTROLS / SWITCHER / PAGINATION
   ================================ */

.bd-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.bd-filters select,
.bd-filters input[type="search"] { padding: 6px; }
.bd-filters button { padding: 6px 10px; }

.bd-view-switcher {
  display: flex;
  gap: .5rem;
  margin: .75rem 0 1rem;
}
.bd-switcher-btn,
.bd-view-switcher a {
  display: inline-block;
  padding: .4rem .65rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  background: #fff;
  line-height: 1;
}
.bd-switcher-btn.is-active,
.bd-view-switcher a.is-active {
  background: #f5f5f5;
  border-color: #bbb;
  font-weight: 600;
}

.bd-pagination { margin-top: 16px; }
.bd-pagination .page-numbers {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd;
  margin-right: 6px;
  text-decoration: none;
  border-radius: 4px;
  background: #fff;
}
.bd-pagination .page-numbers.current {
  background: #f5f5f5;
  font-weight: 600;
}

/* Meta + logo side by side above the map */
.bd-meta-logo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin: 20px 200px; /* gutters on desktop */
}
.business-listing {border: 1px solid #e5e5e5;
    background: #fafafa;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    margin:13px;
}
.business-directory view-full {gap:13px;}

.business-meta {
  flex: 2;
}

.bd-logo-single {
  flex: 1;
  max-width: 300px;
}

.bd-logo-single img.bd-logo-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 6px;
}

/* Responsive gutters */
@media (max-width: 1024px) {
  .bd-meta-logo { margin: 20px 40px; }
}
@media (max-width: 640px) {
  .bd-meta-logo {
    flex-direction: column;
    margin: 16px;
  }
  .bd-logo-single { max-width: 100%; text-align: left; }
}










