@font-face {
  font-family: "Open Sans Local";
  src: url("../fonts/open-sans-regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Open Sans Local";
  src: url("../fonts/open-sans-300.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
}

:root {
  --bc-orange: #f9a326;
  --bc-orange-dark: #ee9210;
  --bc-blue: #2c84cc;
  --bc-green: #86b73b;
  --bc-charcoal: #2c2c2c;
  --bc-heading: #353535;
  --bc-copy: #848484;
  --bc-pale: #f4f4f4;
  --bc-border: #e4e4e4;
  --bc-danger: #a92121;
  --bc-success: #27733f;
  --bc-shell: 1200px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: #fff;
  color: var(--bc-copy);
  font-family: "Open Sans Local", "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.625;
  margin: 0;
  min-width: 320px;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--bc-orange-dark); }
img { display: block; height: auto; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, select, summary { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }

h1, h2, h3, h4, h5, h6 {
  color: var(--bc-heading);
  font: inherit;
  line-height: 1.25;
}

:focus-visible { outline: 3px solid rgb(44 132 204 / 42%); outline-offset: 3px; }

.bc-shell { margin-inline: auto; max-width: var(--bc-shell); padding-inline: 20px; width: 100%; }
.bc-sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.bc-icon { display: inline-block; flex: none; vertical-align: middle; }
.bc-skip-link { background: #fff; border: 2px solid var(--bc-orange); color: #111; left: 12px; padding: 8px 14px; position: fixed; top: -80px; z-index: 1000; }
.bc-skip-link:focus { top: 12px; }

.bc-button {
  align-items: center;
  border: 0;
  border-radius: 6px;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 46px;
  padding: 0 25px;
  transition: background-color .16s ease, color .16s ease;
}

.bc-button-orange { background: var(--bc-orange); color: #241a0f; }
.bc-button-orange:hover { background: #8cd816; color: #fff; }
.bc-button-dark { background: #272727; color: #fff; }
.bc-button-dark:hover { background: var(--bc-orange); color: #222; }

/* Header */
.bc-topbar { background: var(--bc-charcoal); color: #d6d6d6; font-size: 13px; height: 46px; }
.bc-topbar-inner, .bc-topbar-right, .bc-social-links, .bc-topbar-email { align-items: center; display: flex; }
.bc-topbar-inner { height: 46px; justify-content: space-between; }
.bc-topbar-email { gap: 8px; }
.bc-topbar-right { align-self: stretch; gap: 22px; }
.bc-social-links { gap: 15px; }
.bc-social-links a { align-items: center; color: #aaa; display: flex; height: 30px; justify-content: center; width: 22px; }
.bc-social-links a:hover { color: #fff; }
.bc-free-tab { align-items: center; align-self: stretch; background: var(--bc-orange); color: #20180f !important; display: flex; font-weight: 600; padding-inline: 30px; }

.bc-header { background: #fff; border-bottom: 1px solid #eee; position: relative; z-index: 100; }
.bc-header.is-fixed { box-shadow: 1px 1px 6px #999; left: 0; position: fixed; right: 0; top: 0; }
.bc-header-inner { align-items: center; display: flex; gap: 22px; min-height: 80px; }
.bc-brand { display: block; flex: 0 0 237px; height: 47px; }
.bc-brand img { height: 47px; object-fit: contain; width: 237px; }
.bc-desktop-nav { align-items: stretch; display: flex; gap: clamp(12px, 1.3vw, 23px); margin-left: auto; min-width: 0; }
.bc-desktop-nav > a, .bc-nav-group > a { align-items: center; color: var(--bc-heading); display: flex; font-size: 14px; min-height: 79px; white-space: nowrap; }
.bc-desktop-nav > a:hover, .bc-nav-group:hover > a, .bc-nav-group:focus-within > a { color: var(--bc-orange-dark); }
.bc-nav-group { position: relative; }
.bc-nav-group > a { gap: 3px; }
.bc-submenu { background: #fff; border-top: 3px solid var(--bc-orange); box-shadow: 0 10px 30px rgb(0 0 0 / 14%); opacity: 0; padding: 18px 24px; pointer-events: none; position: absolute; top: calc(100% - 1px); transform: translateY(8px); transition: opacity .14s ease, transform .14s ease; visibility: hidden; z-index: 110; }
.bc-nav-group:hover .bc-submenu, .bc-nav-group:focus-within .bc-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
.bc-submenu-small { display: grid; left: -24px; min-width: 220px; }
.bc-submenu a { border-bottom: 1px solid #eee; color: #686868; font-size: 12px; line-height: 1.45; padding: 9px 5px; }
.bc-submenu a:hover { color: var(--bc-orange-dark); }
.bc-mega-menu { display: grid; gap: 0 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); left: 50%; max-height: calc(100vh - 145px); overflow-y: auto; position: fixed; top: 126px; transform: translate(-50%, 8px); width: min(1200px, calc(100vw - 40px)); }
.bc-category-group:hover .bc-mega-menu, .bc-category-group:focus-within .bc-mega-menu { transform: translate(-50%, 0); }
.bc-header-actions { align-items: center; display: flex; flex: none; gap: 9px; }
.bc-add-listing { min-height: 44px; padding-inline: 20px; }
.bc-account-button { align-items: center; border: 1px solid #aaa; border-radius: 6px; color: #333; display: flex; gap: 7px; height: 44px; justify-content: center; padding-inline: 12px; }
.bc-account-button span { display: none; font-size: 13px; }
.bc-account-button:hover { border-color: var(--bc-orange); }
.bc-mobile-toggle, .bc-mobile-nav { display: none; }

.bc-flash { border-bottom: 1px solid; padding: 11px 0; }
.bc-flash-success { background: #edf8f0; border-color: #b9d8c2; color: var(--bc-success); }
.bc-flash-error { background: #fff2f2; border-color: #e4bcbc; color: var(--bc-danger); }
.bc-flash-info { background: #eef7fd; border-color: #b7d8ee; color: #225f87; }

/* Footer */
.bc-footer-main { background: #090909; color: #fff; padding: 66px 0 57px; }
.bc-footer-grid { display: grid; gap: 55px; grid-template-columns: 1.15fr .75fr .8fr; }
.bc-footer h2 { color: #fff; font-size: 22px; margin: 0 0 24px; }
.bc-footer-about p { font-size: 18px; margin: 0 0 25px; max-width: 330px; }
.bc-footer-social { display: flex; gap: 18px; margin-bottom: 25px; }
.bc-footer-social a, .bc-footer-email { align-items: center; color: #fff; display: inline-flex; gap: 10px; }
.bc-footer-support { display: grid; }
.bc-footer-support a { border-bottom: 1px solid #262626; font-size: 17px; padding: 12px 0; }
.bc-footer-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 23px; justify-content: flex-start; padding-top: 52px; }
.bc-footer-account { align-items: center; display: inline-flex; font-size: 18px; gap: 10px; }
.bc-footer-bottom { background: #f5f5f5; padding: 23px 0; }
.bc-footer-bottom-inner { align-items: center; display: grid; gap: 30px; grid-template-columns: 1fr auto 1fr; }
.bc-footer-bottom img { height: 47px; width: 237px; }
.bc-footer-bottom nav { display: flex; font-size: 12px; gap: 12px; }
.bc-site-credit { font-size: 11px; justify-self: end; }
.bc-back-to-top { align-items: center; background: var(--bc-orange); border: 0; bottom: 22px; color: #222; display: flex; height: 42px; justify-content: center; opacity: 0; pointer-events: none; position: fixed; right: 22px; transform: rotate(-90deg); transition: opacity .2s ease; width: 42px; z-index: 95; }
.bc-back-to-top.is-visible { opacity: 1; pointer-events: auto; }

/* Common headings */
.bc-breadcrumb { align-items: center; color: #aaa; display: flex; flex-wrap: wrap; font-size: 11px; gap: 8px; }
.bc-breadcrumb a { color: #737373; }
.bc-page-title, .bc-directory-titlebar { background: #fff; border-bottom: 1px solid #e5e5e5; padding: 31px 0 34px; }
.bc-page-title h1, .bc-directory-titlebar h1 { font-size: 34px; font-weight: 300; margin: 10px 0 0; }
.bc-page-title p, .bc-directory-titlebar p { font-size: 14px; margin: 7px 0 0; max-width: 760px; }
.bc-home-section { padding: 80px 0; }
.bc-centred-heading, .bc-section-heading { margin-bottom: 44px; text-align: center; }
.bc-centred-heading h2, .bc-section-heading h2 { font-size: clamp(30px, 3vw, 40px); font-weight: 400; margin: 0; }
.bc-centred-heading p { color: #353535; font-size: 17px; margin: 6px 0 0; }
.bc-section-heading > span, .bc-orange-rule { background: var(--bc-orange); display: block; height: 4px; margin: 16px auto 0; width: 40px; }
.bc-section-action { margin: 42px 0 0; text-align: center; }

/* Application-owned country and category indexes */
.bc-index-landing { background: var(--bc-pale); min-height: 620px; }
.bc-index-landing-section { padding: 62px 0 82px; }
.bc-index-intro { margin-bottom: 34px; max-width: 760px; }
.bc-index-intro h2 { font-size: clamp(27px, 3vw, 36px); font-weight: 400; margin: 0 0 10px; }
.bc-index-intro p { color: #666; margin: 0; }
.bc-guide-grid, .bc-category-index-grid { list-style: none; margin: 0; padding: 0; }
.bc-guide-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-guide-card { background: #171717; border-bottom: 5px solid var(--bc-orange); color: #d8d8d8; display: flex; flex-direction: column; min-height: 275px; padding: 32px; transition: box-shadow .18s ease, transform .18s ease; }
.bc-guide-card:hover { box-shadow: 0 16px 34px rgb(0 0 0 / 20%); color: #fff; transform: translateY(-4px); }
.bc-guide-card strong { color: #fff; font-size: clamp(34px, 4vw, 48px); font-weight: 300; letter-spacing: -.025em; line-height: 1.08; }
.bc-guide-card p { font-size: 13px; line-height: 1.7; margin: 24px 0; }
.bc-guide-card > span { align-items: center; color: var(--bc-orange); display: inline-flex; font-size: 12px; font-weight: 600; gap: 8px; margin-top: auto; }
.bc-category-index-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-category-index-grid a { align-items: center; background: #fff; border: 1px solid var(--bc-border); display: grid; gap: 15px; grid-template-columns: 44px minmax(0, 1fr) auto; min-height: 104px; padding: 19px 20px; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.bc-category-index-grid a:hover { border-color: var(--bc-orange); box-shadow: 0 9px 24px rgb(0 0 0 / 9%); color: inherit; transform: translateY(-2px); }
.bc-category-index-icon { align-items: center; background: #fff4e4; border-radius: 50%; color: var(--bc-orange-dark); display: flex; height: 44px; justify-content: center; width: 44px; }
.bc-category-index-copy { min-width: 0; }
.bc-category-index-copy strong, .bc-category-index-copy small { display: block; }
.bc-category-index-copy strong { color: #353535; font-size: 15px; line-height: 1.4; }
.bc-category-index-copy small { color: #8a8a8a; font-size: 11px; margin-top: 5px; }
.bc-category-index-arrow { color: var(--bc-blue); }
.bc-index-directory-action { margin: 42px 0 0; text-align: center; }

@media (max-width: 900px) {
  .bc-guide-grid, .bc-category-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .bc-index-landing-section { padding: 45px 0 62px; }
  .bc-guide-grid, .bc-category-index-grid { grid-template-columns: 1fr; }
  .bc-guide-card { min-height: 235px; padding: 28px; }
}

/* Home */
.bc-home-hero { background: linear-gradient(rgb(19 44 60 / 28%), rgb(19 44 60 / 37%)), url("../homepage-search-bg.png") center / cover no-repeat; min-height: 417px; }
.bc-home-hero-inner { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 417px; }
.bc-home-hero h1 { color: #fff; font-size: clamp(32px, 3.25vw, 44px); font-weight: 300; margin: 0 0 31px; text-align: center; }
.bc-main-search { background: #fff; border-radius: 6px; display: grid; grid-template-columns: 1.2fr .85fr .85fr .9fr; min-height: 74px; overflow: hidden; width: 100%; }
.bc-search-field { align-items: center; border-right: 1px solid #e9e9e9; display: flex; min-width: 0; padding: 0 22px; }
.bc-search-field .bc-icon { color: #aaa; margin-right: 12px; }
.bc-search-field input, .bc-search-field select { appearance: none; background: transparent; border: 0; color: #777; height: 72px; min-width: 0; outline: 0; width: 100%; }
.bc-search-field select { background-image: linear-gradient(45deg, transparent 50%, #999 50%), linear-gradient(135deg, #999 50%, transparent 50%); background-position: calc(100% - 11px) 50%, calc(100% - 6px) 50%; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 25px; }
.bc-search-field:focus-within { box-shadow: inset 0 0 0 2px rgb(44 132 204 / 32%); }
.bc-search-submit { background: var(--bc-orange); border: 5px solid #fff; border-radius: 9px; color: #241b11; font-size: 16px; }
.bc-search-submit:hover { background: var(--bc-orange-dark); color: #fff; }

.bc-advertiser-grid { display: grid; gap: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 58px; }
.bc-advertiser-card { align-items: center; border: 1px solid #e2e2e2; display: flex; flex-direction: column; justify-content: center; min-height: 230px; padding: 30px; text-align: center; }
.bc-advertiser-card img { max-height: 120px; object-fit: contain; width: auto; }
.bc-advertiser-card strong { color: #353535; font-size: 17px; }
.bc-advertiser-card p { font-size: 13px; line-height: 1.7; margin: 12px 0; }
.bc-advertiser-card a { color: var(--bc-blue); font-size: 13px; }
.bc-managed-banner { overflow: hidden; }
.bc-managed-banner-link { align-items: center; display: flex; height: 100%; justify-content: center; width: 100%; }
.bc-managed-banner .bc-managed-banner-link img, .bc-managed-banner > img { max-height: 180px; max-width: 100%; object-fit: contain; }
.bc-latest-listings { background: var(--bc-pale); }
.bc-home-listing-grid { display: grid; gap: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-listing-card { background: #fff; border: 1px solid #e7e7e7; min-width: 0; overflow: hidden; position: relative; }
.bc-listing-image { align-items: center; background: #ebebeb center / cover no-repeat; display: flex; height: 210px; justify-content: center; position: relative; }
.bc-listing-image > img { height: 100%; object-fit: cover; width: 100%; }
.bc-listing-initials { align-items: center; background: rgb(255 255 255 / 92%); border-radius: 50%; color: #353535; display: flex; font-size: 23px; font-weight: 600; height: 74px; justify-content: center; width: 74px; }
.bc-category-pill { background: var(--bc-green); color: #fff; font-size: 10px; max-width: calc(100% - 24px); overflow: hidden; padding: 6px 11px; position: absolute; right: 12px; text-overflow: ellipsis; top: 12px; white-space: nowrap; z-index: 2; }
.bc-category-pill:hover { color: #fff; filter: brightness(.9); }
.bc-listing-card-body { padding: 21px 23px 16px; }
.bc-listing-card h3 { font-size: 18px; margin: 0 0 10px; }
.bc-listing-card-body > p { display: -webkit-box; font-size: 12px; line-height: 1.65; margin: 0 0 16px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bc-listing-card-footer { align-items: center; border-top: 1px solid #ededed; display: flex; gap: 12px; justify-content: space-between; margin-top: 13px; padding-top: 13px; }
.bc-listing-card-footer span, .bc-listing-card-footer a { align-items: center; color: #989898; display: inline-flex; font-size: 11px; gap: 5px; min-width: 0; }
.bc-listing-card-footer span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-listing-card-footer a { color: var(--bc-blue); flex: none; }
.bc-listing-card-home, .bc-listing-card-related { display: grid; grid-template-columns: 150px minmax(0, 1fr); min-height: 150px; }
.bc-listing-card-home .bc-listing-image, .bc-listing-card-related .bc-listing-image { height: 150px; }
.bc-listing-card-home .bc-category-pill, .bc-listing-card-related .bc-category-pill { display: none; }
.bc-listing-card-home .bc-listing-card-body, .bc-listing-card-related .bc-listing-card-body { align-content: center; display: grid; padding: 17px 19px; }
.bc-listing-card-home h3, .bc-listing-card-related h3 { font-size: 15px; }

.bc-export-cta { background: linear-gradient(rgb(24 24 24 / 88%), rgb(24 24 24 / 92%)), url("../international-trade-opportunities.webp") center / cover fixed; color: #d3d3d3; padding-top: 82px; text-align: center; }
.bc-export-cta h2 { color: #fff; font-size: clamp(31px, 4vw, 48px); margin: 0; }
.bc-export-cta > .bc-shell > p { margin: 15px auto 26px; max-width: 760px; }
.bc-cta-panels { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 64px; }
.bc-cta-panel { align-items: center; display: flex; gap: 22px; min-height: 172px; padding: 32px max(25px, 5vw); text-align: left; }
.bc-cta-panel .bc-icon { color: #fff; }
.bc-cta-panel strong, .bc-cta-panel small { display: block; }
.bc-cta-panel strong { color: #fff; font-size: 18px; }
.bc-cta-panel small { color: rgb(255 255 255 / 77%); font-size: 11px; margin-top: 5px; }
.bc-cta-orange { background: var(--bc-orange); }
.bc-cta-blue { background: var(--bc-blue); }
.bc-cta-light { background: #fff; }
.bc-cta-light .bc-icon, .bc-cta-light strong { color: #353535; }
.bc-cta-light small { color: #888; }

.bc-editorial-section { padding: 24px 0 76px; }
.bc-editorial-row { align-items: center; border-bottom: 1px solid #ececec; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); padding: 68px 0; }
.bc-editorial-row.is-reversed .bc-editorial-image { order: 2; }
.bc-editorial-image img { margin: auto; max-height: 390px; object-fit: contain; width: 100%; }
.bc-editorial-copy h2 { font-size: clamp(27px, 2.6vw, 36px); font-weight: 600; margin: 0; }
.bc-editorial-copy .bc-orange-rule { margin-left: 0; }
.bc-editorial-copy p { font-size: 15px; line-height: 1.8; margin: 22px 0; }
.bc-editorial-copy a { align-items: center; color: var(--bc-blue); display: inline-flex; font-size: 13px; font-weight: 600; gap: 7px; }
.bc-ad-band { background: var(--bc-pale); padding: 34px 0; }
.bc-ad-band .bc-shell { align-items: center; display: grid; gap: 35px; grid-template-columns: 1fr auto auto; }
.bc-ad-band strong, .bc-ad-band span { display: block; }
.bc-ad-band strong { color: #353535; font-size: 18px; }
.bc-ad-band span { font-size: 13px; margin-top: 4px; }
.bc-ad-band img { height: 82px; object-fit: contain; width: 82px; }

.bc-article-grid { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); }
.bc-article-grid article { border: 1px solid #e8e8e8; }
.bc-article-image { background: #eee; display: block; height: 220px; overflow: hidden; }
.bc-article-image img { height: 100%; object-fit: cover; width: 100%; }
.bc-article-grid article > div { padding: 22px; }
.bc-article-grid small { color: var(--bc-green); font-weight: 600; }
.bc-article-grid h3 { font-size: 18px; line-height: 1.45; margin: 8px 0 14px; }
.bc-article-grid time { color: #aaa; font-size: 11px; }
.bc-newsletter { background: #222; color: #bdbdbd; padding: 65px 0 72px; text-align: center; }
.bc-newsletter h2 { color: #fff; font-size: 30px; margin: 0; }
.bc-newsletter p { font-size: 13px; margin: 8px 0 27px; }
.bc-newsletter form { background: #fff; border-radius: 7px; display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: auto; max-width: 720px; padding: 5px; }
.bc-newsletter input { border: 0; min-height: 52px; outline: 0; padding: 0 18px; width: 100%; }
.bc-newsletter button { background: var(--bc-orange); border: 0; border-radius: 5px; min-width: 155px; }
.bc-testimonial-grid { display: grid; gap: 30px; grid-template-columns: repeat(2, 1fr); }
.bc-testimonial-grid blockquote { background: var(--bc-pale); border: 1px solid #e9e9e9; margin: 0; padding: 31px 34px; }
.bc-testimonial-grid blockquote p { color: #666; font-size: 15px; font-style: italic; line-height: 1.8; margin: 0 0 20px; }
.bc-testimonial-grid footer strong, .bc-testimonial-grid footer span { display: block; }
.bc-testimonial-grid footer strong { color: #353535; font-size: 13px; }
.bc-testimonial-grid footer span { font-size: 11px; }

/* Directory archive: preserve Lister's 60/40 desktop split */
.bc-directory-main { background: var(--bc-pale); }
.bc-directory-split { align-items: start; display: grid; grid-template-columns: minmax(0, 60%) minmax(0, 40%); min-height: 840px; }
.bc-directory-panel { padding: 47px clamp(25px, 4.4vw, 70px) 70px; }
.bc-directory-filters { display: grid; gap: 15px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 41px; }
.bc-directory-filters label > span { color: #5d5d5d; display: block; font-size: 11px; font-weight: 600; margin: 0 0 6px; text-transform: uppercase; }
.bc-directory-filters label > div { align-items: center; background: #fff; border: 1px solid #ddd; display: flex; min-height: 50px; padding: 0 15px; }
.bc-directory-filters label > div .bc-icon { color: #aaa; margin-right: 10px; }
.bc-directory-filters input, .bc-directory-filters select { background: #fff; border: 1px solid #ddd; border-radius: 0; color: #777; font-size: 12px; height: 50px; padding: 0 14px; width: 100%; }
.bc-directory-filters label > div input { border: 0; min-width: 0; padding: 0; }
.bc-directory-filters input[type="range"] { accent-color: var(--bc-orange); padding: 0; }
.bc-directory-filters output { color: #777; display: block; font-size: 11px; margin-top: -8px; text-align: right; }
.bc-directory-filters > button { background: var(--bc-orange); border: 0; color: #271d12; font-size: 13px; font-weight: 600; grid-column: 1 / -1; min-height: 50px; }
.bc-directory-filters > button:hover { background: #8cd816; color: #fff; }
.bc-clear-filters { color: var(--bc-blue); font-size: 11px; grid-column: 1 / -1; justify-self: end; }
.bc-results-heading { align-items: flex-end; border-bottom: 1px solid #d9d9d9; display: flex; justify-content: space-between; margin-bottom: 25px; padding-bottom: 14px; }
.bc-results-heading h2 { font-size: 27px; margin: 0; }
.bc-results-heading span { font-size: 10px; }
.bc-results-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-listing-card-archive .bc-listing-image { height: 245px; }
.bc-listing-card-archive .bc-listing-card-body { padding: 19px 20px 0; }
.bc-listing-card-archive .bc-listing-card-footer { margin-inline: -20px; padding: 13px 20px; }
.bc-directory-map { align-self: start; background: url("../directory-map.svg") center top / cover no-repeat; height: clamp(520px, calc(100vh - 24px), 840px); min-height: 0; overflow: hidden; position: sticky; top: 12px; width: 100%; }
.bc-map-message { align-items: center; background: rgb(255 255 255 / 94%); box-shadow: 0 10px 30px rgb(0 0 0 / 14%); display: flex; flex-direction: column; left: 50%; max-width: 285px; padding: 26px; position: absolute; text-align: center; top: 43%; transform: translate(-50%, -50%); width: calc(100% - 45px); }
.bc-map-message .bc-icon { color: var(--bc-orange); }
.bc-map-message strong { color: #353535; margin-top: 7px; }
.bc-map-message span { font-size: 11px; line-height: 1.5; margin-top: 5px; }
.bc-map-pin { background: var(--bc-orange); border: 4px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 4px 12px rgb(0 0 0 / 20%); height: 23px; position: absolute; transform: translate(-50%, -100%) rotate(-45deg); width: 23px; z-index: 2; }
.bc-pagination { align-items: center; display: grid; grid-template-columns: 1fr auto 1fr; margin-top: 38px; }
.bc-pagination a { align-items: center; color: var(--bc-blue); display: inline-flex; font-size: 12px; gap: 5px; }
.bc-pagination a:last-child { justify-self: end; }
.bc-pagination > span { font-size: 11px; }
.bc-pagination > span:nth-child(2) { justify-self: center; }
.bc-empty-state { align-items: center; background: #fff; border: 1px solid #e5e5e5; display: flex; flex-direction: column; padding: 45px 25px; text-align: center; }
.bc-empty-state h2 { font-size: 22px; margin: 13px 0 3px; }
.bc-empty-state p { font-size: 13px; margin: 0 0 20px; }

/* Single listing */
.bc-listing-main { background: #fff; }
.bc-listing-breadcrumb { min-height: 49px; }
.bc-listing-header { border-bottom: 1px solid #e1e1e1; border-top: 1px solid #eee; }
.bc-listing-header-inner { align-items: center; display: flex; justify-content: space-between; min-height: 116px; }
.bc-listing-identity { align-items: center; display: flex; gap: 25px; min-width: 0; }
.bc-company-logo { align-items: center; background: var(--bc-pale); border-radius: 50%; display: flex; flex: 0 0 66px; height: 66px; justify-content: center; overflow: hidden; }
.bc-company-logo img { height: 100%; object-fit: cover; width: 100%; }
.bc-company-logo span { color: #555; font-size: 18px; font-weight: 600; }
.bc-listing-identity h1 { font-size: clamp(24px, 2.5vw, 34px); margin: 0 0 4px; }
.bc-listing-identity p { color: #777; font-size: 13px; margin: 0; }
.bc-listing-identity p span + span, .bc-listing-identity p time + span { border-left: 1px solid #ddd; margin-left: 11px; padding-left: 11px; }
.bc-listing-gallery { background: #2a2a2a; overflow: hidden; padding: 30px 0 48px; }
.bc-gallery-track { display: grid; gap: 16px; grid-auto-columns: minmax(280px, 34vw); grid-auto-flow: column; overflow-x: auto; padding: 0 max(20px, calc((100vw - var(--bc-shell)) / 2)); scroll-snap-type: x mandatory; }
.bc-gallery-track button { background: transparent; border: 0; height: 310px; padding: 0; scroll-snap-align: center; }
.bc-gallery-track img { height: 100%; object-fit: cover; width: 100%; }
.bc-lightbox { background: transparent; border: 0; height: 100vh; max-height: none; max-width: none; padding: 55px; width: 100vw; }
.bc-lightbox::backdrop { background: rgb(0 0 0 / 88%); }
.bc-lightbox img { height: 100%; margin: auto; object-fit: contain; width: 100%; }
.bc-lightbox button { background: #fff; border: 0; border-radius: 50%; font-size: 26px; height: 40px; position: absolute; right: 20px; top: 15px; width: 40px; }
.bc-listing-layout { display: grid; grid-template-columns: minmax(0, 68.5%) minmax(0, 31.5%); padding-bottom: 75px; }
.bc-listing-content { border-right: 1px solid #e1e1e1; padding-right: 48px; }
.bc-detail-section { border-bottom: 1px solid #e1e1e1; display: grid; gap: 35px; grid-template-columns: 190px minmax(0, 1fr); padding: 48px 0; }
.bc-detail-section > header { color: #c5c5c5; }
.bc-detail-section > header h2 { color: #353535; font-size: 18px; margin: 10px 0 0; }
.bc-detail-body { color: #666; font-size: 14px; line-height: 1.85; }
.bc-detail-body > :first-child { margin-top: 0; }
.bc-detail-body > :last-child { margin-bottom: 0; }
.bc-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-tag-list a { background: var(--bc-green); color: #fff; font-size: 11px; padding: 7px 11px; }
.bc-product-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-product-grid article { border: 1px solid #e6e6e6; }
.bc-product-grid img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.bc-product-grid article > div { padding: 17px; }
.bc-product-grid h3 { font-size: 16px; margin: 0 0 6px; }
.bc-product-grid strong { color: var(--bc-green); font-size: 13px; }
.bc-product-grid p { font-size: 12px; margin: 8px 0 0; }
.bc-listing-sidebar { padding: 48px 0 0 38px; }
.bc-single-map { border: 0; height: 240px; width: 100%; }
.bc-map-placeholder { align-items: center; background: url("../directory-map.svg") center / cover; color: #333; display: flex; flex-direction: column; justify-content: center; }
.bc-map-placeholder span { background: rgb(255 255 255 / 91%); margin-top: 7px; padding: 5px 10px; }
.bc-map-placeholder [data-map-address-link] { background: #fff; color: var(--bc-blue); font-size: 11px; margin-top: 8px; padding: 6px 10px; position: relative; z-index: 2; }
.bc-contact-details { border: 1px solid #e5e5e5; border-top: 0; }
.bc-contact-details > div { align-items: flex-start; border-bottom: 1px solid #eee; display: flex; font-size: 13px; gap: 11px; padding: 14px 16px; }
.bc-contact-details > div:last-child { border-bottom: 0; }
.bc-contact-details .bc-icon { color: var(--bc-orange); margin-top: 2px; }
.bc-contact-details a { color: var(--bc-blue); overflow-wrap: anywhere; }
.bc-listing-social { display: flex; flex-wrap: wrap; gap: 8px; padding: 20px 0; }
.bc-listing-social a { border: 1px solid #ddd; font-size: 11px; padding: 6px 10px; }
.bc-view-count { font-size: 11px; }
.bc-listing-engagement { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.bc-listing-engagement .bc-view-count { margin-right: auto; }
.bc-like-button { align-items: center; background: #fff; border: 1px solid #ddd; color: #666; display: inline-flex; font-size: 11px; gap: 6px; min-height: 34px; padding: 0 11px; }
.bc-like-button strong { color: #353535; font-size: 10px; }
.bc-like-button:hover, .bc-like-button[aria-pressed="true"] { border-color: var(--bc-orange); color: var(--bc-orange-dark); }
.bc-like-button[aria-pressed="true"] .bc-icon { fill: currentColor; }
.bc-like-button[disabled] { opacity: .6; }
.bc-like-status { color: var(--bc-danger); flex-basis: 100%; font-size: 10px; min-height: 1em; }
.bc-enquiry-form { background: var(--bc-pale); margin-top: 24px; padding: 24px; }
.bc-enquiry-form h2 { font-size: 20px; margin: 0 0 18px; }
.bc-enquiry-form label { color: #555; display: block; font-size: 11px; margin-bottom: 13px; }
.bc-enquiry-form input, .bc-enquiry-form textarea { background: #fff; border: 1px solid #ddd; display: block; margin-top: 5px; padding: 10px; resize: vertical; width: 100%; }
.bc-honeypot { height: 0 !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 0 !important; }
.bc-related-section { background: var(--bc-pale); padding: 70px 0; }
.bc-similar-section { background: #fff; }

/* Single product */
.bc-product-main { background: #fff; }
.bc-product-breadcrumb { min-height: 52px; }
.bc-product-detail { display: grid; gap: 58px; grid-template-columns: minmax(0, 55%) minmax(0, 45%); padding-bottom: 72px; padding-top: 45px; }
.bc-product-media { min-width: 0; }
.bc-product-primary-image { align-items: center; aspect-ratio: 4 / 3; background: var(--bc-pale); border: 0; display: flex; justify-content: center; overflow: hidden; padding: 0; width: 100%; }
.bc-product-primary-image img { height: 100%; object-fit: contain; width: 100%; }
.bc-product-primary-image > span { align-items: center; color: #aaa; display: flex; flex-direction: column; font-size: 13px; gap: 10px; }
.bc-product-thumbnails { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); margin-top: 12px; }
.bc-product-thumbnails button { aspect-ratio: 1; background: #fff; border: 1px solid var(--bc-border); overflow: hidden; padding: 0; }
.bc-product-thumbnails img { height: 100%; object-fit: cover; width: 100%; }
.bc-product-summary { align-self: start; padding: 12px 35px 0 0; }
.bc-product-eyebrow { color: var(--bc-orange-dark); font-size: 11px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.bc-product-summary h1 { font-size: clamp(31px, 4vw, 48px); font-weight: 300; margin: 10px 0 16px; }
.bc-product-price { color: var(--bc-green); font-size: 23px; font-weight: 600; margin: 0 0 22px; }
.bc-product-intro { color: #666; font-size: 14px; line-height: 1.8; margin-bottom: 25px; }
.bc-product-business { border-block: 1px solid var(--bc-border); display: grid; gap: 5px; margin: 28px 0 24px; padding: 18px 0; }
.bc-product-business > span, .bc-product-categories > span { color: #999; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.bc-product-business a { align-items: center; color: var(--bc-blue); display: inline-flex; gap: 8px; }
.bc-product-business small { align-items: center; display: inline-flex; font-size: 11px; gap: 5px; }
.bc-product-categories { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.bc-product-categories > span { flex-basis: 100%; }
.bc-product-categories a { background: var(--bc-green); color: #fff; font-size: 10px; padding: 6px 9px; }
.bc-product-description { background: var(--bc-pale); border-top: 1px solid var(--bc-border); padding: 65px 0 78px; }
.bc-product-description > .bc-shell { display: grid; gap: 45px; grid-template-columns: 200px minmax(0, 1fr); }
.bc-product-description header { color: #bbb; }
.bc-product-description h2 { color: var(--bc-heading); font-size: 20px; margin: 11px 0 0; }
.bc-archive-content { padding-bottom: 85px; padding-top: 48px; }
.bc-product-archive-grid { display: grid; gap: 25px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-product-archive-card { border: 1px solid var(--bc-border); }
.bc-product-archive-image { align-items: center; aspect-ratio: 4 / 3; background: var(--bc-pale); display: flex; justify-content: center; overflow: hidden; }
.bc-product-archive-image img { height: 100%; object-fit: cover; width: 100%; }
.bc-product-archive-image span { color: #bbb; }
.bc-product-archive-card > div { padding: 20px; }
.bc-product-archive-card h2 { font-size: 18px; margin: 0 0 7px; }
.bc-product-archive-card strong { color: var(--bc-green); font-size: 13px; }
.bc-product-archive-card p { font-size: 11px; margin: 11px 0 0; }
.bc-product-archive-card p a { color: var(--bc-blue); }
.bc-article-archive-page .bc-article-grid { margin-top: 8px; }

/* Content and articles */
.bc-prose-layout { align-items: start; display: grid; gap: 55px; grid-template-columns: minmax(0, 1fr) 310px; padding-bottom: 82px; padding-top: 60px; }
.bc-prose-layout > .bc-prose:only-child { grid-column: 1 / -1; }
.bc-prose { color: #666; font-size: 15px; line-height: 1.85; min-width: 0; }
.bc-prose h2 { font-size: 29px; margin: 40px 0 13px; }
.bc-prose h3 { font-size: 23px; margin: 32px 0 11px; }
.bc-prose h4 { font-size: 19px; }
.bc-prose a { color: var(--bc-blue); text-decoration: underline; }
.bc-prose img, .bc-prose iframe { max-width: 100%; }
.bc-prose table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; }
.bc-prose th, .bc-prose td { border: 1px solid #ddd; padding: 9px 12px; text-align: left; }
.bc-prose-aside { background: var(--bc-pale); border-top: 4px solid var(--bc-orange); padding: 28px; }
.bc-prose-aside .bc-icon { color: var(--bc-orange); }
.bc-prose-aside h2 { font-size: 21px; margin: 15px 0 7px; }
.bc-prose-aside p { font-size: 13px; }
.bc-prose-aside a { align-items: center; color: var(--bc-blue); display: inline-flex; font-size: 12px; gap: 6px; }
.bc-article-header { background: var(--bc-pale); padding: 46px 0 53px; }
.bc-article-header h1 { font-size: clamp(33px, 4.5vw, 54px); font-weight: 300; margin: 23px 0 15px; max-width: 980px; }
.bc-article-header p { font-size: 12px; }
.bc-article-header p a { color: var(--bc-green); }
.bc-article-featured { padding-top: 50px; }
.bc-article-featured img { max-height: 620px; object-fit: cover; width: 100%; }
.bc-article-layout { display: grid; gap: 60px; grid-template-columns: minmax(0, 1fr) 260px; padding-bottom: 85px; padding-top: 55px; }
.bc-related-articles { border-left: 1px solid #e5e5e5; display: grid; padding-left: 30px; }
.bc-related-articles h2 { font-size: 20px; }
.bc-related-articles a { border-bottom: 1px solid #eee; font-size: 12px; padding: 10px 0; }
.bc-contact-layout { align-items: start; display: grid; gap: 70px; grid-template-columns: .7fr 1.3fr; padding-bottom: 85px; padding-top: 60px; }
.bc-contact-layout > section h2 { font-size: 29px; margin-top: 0; }
.bc-contact-layout > section a { align-items: center; color: var(--bc-blue); display: inline-flex; gap: 8px; }
.bc-not-found { background: var(--bc-pale); min-height: 600px; padding: 100px 0; text-align: center; }
.bc-not-found strong { color: var(--bc-orange); font-size: 90px; font-weight: 300; line-height: 1; }
.bc-not-found h1 { font-size: 38px; margin: 12px 0; }
.bc-compact-search { display: flex; gap: 10px; justify-content: center; margin: 30px auto 18px; max-width: 650px; }
.bc-compact-search label { flex: 1; }
.bc-compact-search input { border: 1px solid #ddd; height: 46px; padding: 0 14px; width: 100%; }

/* Shared forms */
.bc-panel-form, .bc-editor-form { background: #fff; border: 1px solid #e1e1e1; padding: 32px; }
.bc-panel-form > label, .bc-editor-form label, .bc-auth-card form > label { color: #555; display: block; font-size: 12px; font-weight: 600; }
.bc-panel-form input, .bc-panel-form select, .bc-panel-form textarea, .bc-editor-form input, .bc-editor-form select, .bc-editor-form textarea, .bc-auth-card input, .bc-auth-card select, .bc-auth-card textarea { background: #fff; border: 1px solid #dcdcdc; border-radius: 0; color: #555; display: block; font-weight: 400; margin-top: 7px; min-height: 48px; padding: 10px 13px; resize: vertical; width: 100%; }
.bc-panel-form label + label, .bc-auth-card form > label + label { margin-top: 17px; }
.bc-panel-form .bc-button { margin-top: 22px; }
.bc-field-error { color: var(--bc-danger); display: block; font-size: 11px; font-weight: 400; margin-top: 4px; }
.bc-form-alert, .bc-form-success { border: 1px solid; font-size: 13px; margin-bottom: 20px; padding: 11px 13px; }
.bc-form-alert { background: #fff3f3; border-color: #e6bbbb; color: var(--bc-danger); }
.bc-form-success { background: #eff9f2; border-color: #b9dbbf; color: var(--bc-success); }
.bc-form-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Authentication */
.bc-auth-main { align-items: center; background: var(--bc-pale); display: flex; min-height: 700px; padding: 70px 20px; }
.bc-auth-card { background: #fff; border-top: 4px solid var(--bc-orange); box-shadow: 0 8px 35px rgb(0 0 0 / 8%); margin: auto; max-width: 520px; padding: 40px 44px; width: 100%; }
.bc-auth-card-wide { max-width: 720px; }
.bc-auth-card > header { margin-bottom: 29px; text-align: center; }
.bc-auth-card > header > span { align-items: center; background: var(--bc-pale); border-radius: 50%; color: var(--bc-orange-dark); display: inline-flex; height: 60px; justify-content: center; width: 60px; }
.bc-auth-card h1 { font-size: 32px; margin: 13px 0 7px; }
.bc-auth-card header p { font-size: 13px; margin: 0 auto; max-width: 430px; }
.bc-password-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 7px; }
.bc-password-field input { margin-top: 0; }
.bc-password-field button { background: #fff; border: 1px solid #dcdcdc; border-left: 0; color: var(--bc-blue); font-size: 11px; padding: 0 13px; }
.bc-check-row { align-items: flex-start; display: flex !important; gap: 9px; margin-top: 18px; }
.bc-check-row input { flex: none; height: 17px; margin: 3px 0 0; min-height: 0; width: 17px; }
.bc-check-row span { font-size: 11px; font-weight: 400; }
.bc-check-row a { color: var(--bc-blue); }
.bc-form-submit { margin-top: 23px; width: 100%; }
.bc-auth-card > nav { border-top: 1px solid #eee; display: grid; font-size: 12px; gap: 7px; margin-top: 26px; padding-top: 20px; text-align: center; }
.bc-auth-card > nav a { color: var(--bc-blue); }

/* Account */
.bc-account-main { background: var(--bc-pale); min-height: 760px; padding: 54px 0 80px; }
.bc-account-shell { align-items: start; display: grid; gap: 35px; grid-template-columns: 265px minmax(0, 1fr); }
.bc-account-nav { background: #fff; border: 1px solid #e1e1e1; position: sticky; top: 24px; }
.bc-account-person { align-items: center; border-bottom: 1px solid #e8e8e8; display: flex; gap: 13px; padding: 22px 19px; }
.bc-account-person > span { align-items: center; background: var(--bc-orange); border-radius: 50%; color: #222; display: flex; flex: 0 0 46px; font-weight: 600; height: 46px; justify-content: center; overflow: hidden; }
.bc-account-person img { height: 100%; object-fit: cover; width: 100%; }
.bc-account-person strong, .bc-account-person small { display: block; max-width: 155px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-account-person strong { color: #353535; font-size: 13px; }
.bc-account-person small { font-size: 10px; }
.bc-account-nav nav { display: grid; padding: 10px 0; }
.bc-account-nav nav a, .bc-account-nav form button { align-items: center; background: #fff; border: 0; color: #555; display: flex; font-size: 12px; gap: 11px; padding: 12px 19px; text-align: left; width: 100%; }
.bc-account-nav nav a.is-active { background: #262626; color: #fff; }
.bc-account-nav nav a:not(.is-active):hover { background: #faf3e8; color: var(--bc-orange-dark); }
.bc-account-nav form { border-top: 1px solid #e8e8e8; }
.bc-account-content { min-width: 0; }
.bc-account-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 28px; }
.bc-account-heading > div > span, .bc-dashboard-panel > header span, .bc-admin-heading span { color: var(--bc-orange-dark); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.bc-account-heading h1 { font-size: 33px; margin: 5px 0 0; }
.bc-account-heading p { font-size: 12px; margin: 7px 0 0; }
.bc-dashboard-metrics, .bc-admin-metrics { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin-bottom: 26px; }
.bc-dashboard-metrics article, .bc-admin-metrics article { background: #fff; border-top: 3px solid var(--bc-orange); padding: 20px; }
.bc-dashboard-metrics span, .bc-dashboard-metrics strong, .bc-dashboard-metrics small, .bc-admin-metrics span, .bc-admin-metrics strong { display: block; }
.bc-dashboard-metrics span, .bc-admin-metrics span { color: #555; font-size: 11px; }
.bc-dashboard-metrics strong, .bc-admin-metrics strong { color: #353535; font-size: 34px; font-weight: 300; line-height: 1.15; margin: 6px 0; }
.bc-dashboard-metrics small { font-size: 9px; }
.bc-dashboard-panel { background: #fff; border: 1px solid #e1e1e1; }
.bc-dashboard-panel > header { align-items: center; border-bottom: 1px solid #e8e8e8; display: flex; justify-content: space-between; padding: 21px 24px; }
.bc-dashboard-panel > header h2 { font-size: 21px; margin: 3px 0 0; }
.bc-dashboard-panel > header a { color: var(--bc-blue); font-size: 11px; }
.bc-dashboard-panel > .bc-pagination { margin: 0; padding: 20px 24px; }
.bc-managed-table article { align-items: center; border-bottom: 1px solid #eee; display: grid; gap: 14px; grid-template-columns: 50px minmax(160px, 1fr) auto auto auto; padding: 14px 20px; }
.bc-managed-table article:last-child { border-bottom: 0; }
.bc-managed-logo { align-items: center; background: var(--bc-pale); border-radius: 50%; color: #555; display: flex; height: 44px; justify-content: center; overflow: hidden; width: 44px; }
.bc-managed-logo img { height: 100%; object-fit: cover; width: 100%; }
.bc-managed-table strong, .bc-managed-table small { display: block; }
.bc-managed-table strong { color: #353535; font-size: 13px; }
.bc-managed-table small { font-size: 10px; }
.bc-managed-table a { color: var(--bc-blue); font-size: 11px; }
.bc-status { border-radius: 20px; display: inline-block; font-size: 9px; font-weight: 600; padding: 4px 9px; text-transform: uppercase; }
.bc-status-publish, .bc-status-published, .bc-status-approved { background: #e5f5e9; color: var(--bc-success); }
.bc-status-pending, .bc-status-pending_review { background: #fff1dc; color: #93600d; }
.bc-status-draft { background: #eee; color: #666; }
.bc-status-private { background: #e7eef7; color: #315d8a; }
.bc-status-rejected, .bc-status-trash, .bc-status-trashed { background: #fde8e8; color: var(--bc-danger); }

.bc-editor-form { padding: 0; }
.bc-editor-form fieldset { border: 0; border-bottom: 1px solid #e3e3e3; margin: 0; padding: 30px; }
.bc-editor-form legend { color: #353535; font-size: 21px; padding: 0; }
.bc-editor-form fieldset > label, .bc-editor-form fieldset > .bc-form-grid { margin-top: 20px; }
.bc-editor-form textarea { min-height: 145px; }
.bc-checkbox-grid { display: grid; gap: 8px 18px; grid-template-columns: repeat(3, 1fr); margin-top: 22px; max-height: 290px; overflow-y: auto; padding: 13px; }
.bc-checkbox-grid label { align-items: flex-start; display: flex; font-size: 10px; gap: 7px; }
.bc-checkbox-grid input { flex: none; height: 16px; margin: 1px 0 0; min-height: 0; width: 16px; }
.bc-upload-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr); margin-top: 20px; }
.bc-upload-control { align-items: center; border: 1px dashed #bcbcbc; display: flex !important; flex-direction: column; padding: 25px !important; text-align: center; }
.bc-upload-control .bc-icon { color: var(--bc-orange); }
.bc-upload-control strong, .bc-upload-control span { display: block; }
.bc-upload-control strong { color: #353535; margin-top: 8px; }
.bc-upload-control span { font-size: 10px; font-weight: 400; }
.bc-upload-control input { border: 0; font-size: 10px; margin-top: 12px; min-height: 0; padding: 0; }
.bc-editor-form > footer { align-items: center; display: flex; justify-content: flex-end; gap: 20px; padding: 23px 30px; }
.bc-editor-form > footer > a { color: #777; font-size: 12px; }

/* Administration */
.bc-admin-main { background: var(--bc-pale); min-height: 800px; padding: 48px 0 80px; }
.bc-admin-heading { align-items: center; display: flex; justify-content: space-between; }
.bc-admin-heading h1 { font-size: 34px; margin: 4px 0; }
.bc-admin-heading p { font-size: 12px; margin: 0; }
.bc-admin-tabs { border-bottom: 1px solid #d8d8d8; display: flex; gap: 26px; margin: 32px 0 25px; overflow-x: auto; }
.bc-admin-tabs a { border-bottom: 3px solid transparent; color: #555; flex: none; font-size: 12px; padding: 12px 2px; }
.bc-admin-tabs a.is-active { border-color: var(--bc-orange); color: #222; }
.bc-admin-metrics { grid-template-columns: repeat(4, 1fr); }
.bc-admin-row { align-items: center; border-bottom: 1px solid #eee; display: grid; font-size: 11px; gap: 18px; grid-template-columns: 1.5fr 1fr .8fr .7fr 1fr; padding: 14px 20px; }
.bc-moderation-row { grid-template-columns: minmax(180px, 1.7fr) minmax(130px, 1.1fr) minmax(110px, .9fr) minmax(110px, .8fr) minmax(90px, .7fr) minmax(150px, 1fr); }
.bc-admin-row > div:first-child strong, .bc-admin-row > div:first-child small { display: block; }
.bc-admin-row > div:first-child strong { color: #353535; font-size: 13px; }
.bc-moderation-source { color: #777; margin-top: 4px; }
.bc-moderation-category { color: #353535; font-weight: 600; }
.bc-moderation-mobile-category { display: none !important; }
.bc-admin-table-head { background: #fafafa; color: #555; font-weight: 600; text-transform: uppercase; }
.bc-admin-actions { align-items: center; display: flex; gap: 9px; }
.bc-admin-actions a, .bc-admin-actions button { background: none; border: 0; color: var(--bc-blue); font-size: 11px; padding: 0; }
.bc-admin-actions form { margin: 0; }
.bc-reject-control { position: relative; }
.bc-reject-control summary { color: var(--bc-danger); font-size: 11px; list-style: none; }
.bc-reject-control summary::-webkit-details-marker { display: none; }
.bc-reject-control > form { background: #fff; border: 1px solid #ddd; box-shadow: 0 10px 25px rgb(0 0 0 / 15%); padding: 14px; position: absolute; right: 0; top: 25px; width: 270px; z-index: 5; }
.bc-reject-control label span { color: #555; display: block; font-size: 10px; margin-bottom: 5px; }
.bc-reject-control textarea { border: 1px solid #ddd; font-size: 11px; padding: 8px; resize: vertical; width: 100%; }
.bc-reject-control > form button { background: var(--bc-danger); color: #fff; margin-top: 8px; padding: 7px 9px; width: 100%; }
.bc-review-card { background: #fff; border: 1px solid var(--bc-border); margin-bottom: 85px; padding: 36px; }
.bc-review-card > header { border-bottom: 1px solid var(--bc-border); padding-bottom: 24px; }
.bc-review-card > header h2 { font-size: 30px; margin: 12px 0 6px; }
.bc-review-card > header p { font-size: 12px; margin: 0; }
.bc-review-card > header a, .bc-review-facts a { color: var(--bc-blue); }
.bc-review-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.bc-review-facts > div { border-bottom: 1px solid var(--bc-border); padding: 18px 12px 18px 0; }
.bc-review-facts dt { color: #999; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.bc-review-facts dd { color: #444; font-size: 13px; margin: 4px 0 0; overflow-wrap: anywhere; }
.bc-review-copy { padding: 30px 0; }
.bc-review-copy h3 { font-size: 19px; margin: 0 0 12px; }
.bc-review-copy > p { white-space: pre-wrap; }
.bc-review-actions { align-items: start; border-top: 1px solid var(--bc-border); display: grid; gap: 28px; grid-template-columns: auto minmax(280px, 1fr); padding-top: 28px; }
.bc-review-actions form:last-child { justify-self: end; max-width: 500px; width: 100%; }
.bc-review-actions label { color: #555; display: block; font-size: 11px; }
.bc-review-actions textarea { border: 1px solid #ddd; display: block; margin: 6px 0 12px; padding: 10px; resize: vertical; width: 100%; }
.bc-review-approval-form { display: grid; gap: 14px; min-width: min(390px, 100%); }
.bc-review-approval-form label { font-weight: 600; }
.bc-review-approval-form select { background: #fff; border: 1px solid #ccc; color: #333; display: block; font: inherit; margin-top: 6px; min-height: 44px; padding: 10px 36px 10px 11px; width: 100%; }
.bc-review-approval-form small { color: #777; display: block; font-size: 10px; font-weight: 400; line-height: 1.5; margin-top: 6px; }
.bc-review-approval-form .bc-button { justify-self: start; }
.bc-admin-editor { margin-top: 28px; }
.bc-admin-editor label > small, .bc-form-note { color: #777; display: block; font-size: 11px; font-weight: 400; line-height: 1.55; margin: 8px 0 0; }
.bc-admin-danger-form { display: flex; justify-content: flex-end; margin-top: 18px; }
.bc-admin-danger-form button { background: none; border: 0; color: var(--bc-danger); cursor: pointer; font-size: 12px; padding: 8px 0; }
.bc-banner-slot-list { display: grid; gap: 20px; padding: 22px; }
.bc-banner-slot-admin { border: 1px solid #e2e2e2; }
.bc-banner-slot-admin > header { align-items: center; background: #fafafa; border-bottom: 1px solid #e8e8e8; display: flex; gap: 20px; justify-content: space-between; padding: 18px 20px; }
.bc-banner-slot-admin h3 { font-size: 19px; margin: 0; }
.bc-banner-slot-admin header p { font-size: 11px; margin: 5px 0 0; max-width: 680px; }
.bc-banner-slot-admin header form { flex: none; margin: 0; }
.bc-banner-slot-admin header .bc-button { border: 0; cursor: pointer; font-size: 10px; min-height: 36px; padding: 9px 13px; }
.bc-banner-slot-admin > .bc-empty-inline { margin: 0; padding: 24px 20px; }
.bc-banner-admin-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-banner-admin-grid > article { align-items: center; border-right: 1px solid #eee; display: grid; gap: 13px; grid-template-columns: 92px minmax(0, 1fr); min-width: 0; padding: 16px; }
.bc-banner-admin-grid img { background: #f4f4f4; height: 68px; object-fit: contain; width: 92px; }
.bc-banner-admin-grid strong, .bc-banner-admin-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-banner-admin-grid strong { color: #353535; font-size: 12px; }
.bc-banner-admin-grid small { font-size: 9px; margin: 4px 0 8px; }
.bc-banner-current-image { background: #fafafa; border: 1px solid #e2e2e2; margin: 20px 0; padding: 18px; }
.bc-banner-current-image img { display: block; max-height: 220px; max-width: 100%; object-fit: contain; }
.bc-banner-current-image figcaption { color: #777; font-size: 10px; margin-top: 8px; }

/* Visual page and news editor. Content is still allow-list sanitised on save. */
.bc-rich-editor-label { color: #555; font-size: 12px; font-weight: 600; margin: 20px 0 7px; }
.bc-rich-editor { border: 1px solid #d8d8d8; margin-top: 7px; }
.bc-rich-editor-toolbar { align-items: center; background: #f6f7f8; border-bottom: 1px solid #d8d8d8; display: flex; flex-wrap: wrap; gap: 8px 13px; padding: 10px 12px; }
.bc-rich-editor-button-group { display: inline-flex; gap: 4px; }
.bc-rich-editor-toolbar button, .bc-rich-editor-upload { align-items: center; background: #fff; border: 1px solid #cfd3d7; color: #444; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 600; justify-content: center; min-height: 34px; padding: 7px 10px; }
.bc-rich-editor-toolbar button:hover, .bc-rich-editor-toolbar button:focus-visible, .bc-rich-editor-upload:hover, .bc-rich-editor-upload:focus-within { border-color: var(--bc-orange); color: #222; }
.bc-editor-form .bc-rich-editor-format { align-items: center; display: inline-flex; font-size: 10px; gap: 7px; margin: 0; }
.bc-editor-form .bc-rich-editor-format select { background: #fff; border: 1px solid #cfd3d7; display: inline-block; margin: 0; min-height: 34px; padding: 5px 28px 5px 9px; width: auto; }
.bc-editor-form .bc-rich-editor-upload { color: #444; display: inline-flex; font-size: 11px; margin: 0; }
.bc-rich-editor-upload input { display: none !important; }
.bc-rich-editor-canvas { background: #fff; color: #555; min-height: 460px; outline: 0; overflow: auto; padding: 28px; }
.bc-rich-editor-canvas:focus { box-shadow: inset 0 0 0 2px rgb(249 139 31 / 35%); }
.bc-rich-editor-canvas[aria-invalid="true"] { box-shadow: inset 0 0 0 2px var(--bc-danger); }
.bc-rich-editor-canvas:empty::before { color: #999; content: attr(data-placeholder); pointer-events: none; }
.bc-rich-editor-canvas > :first-child { margin-top: 0; }
.bc-rich-editor-canvas > :last-child { margin-bottom: 0; }
.bc-rich-editor-canvas img { height: auto; max-width: 100%; }
.bc-rich-editor-canvas a { cursor: text; }
.bc-rich-editor-input { display: none !important; }
.bc-rich-editor-footer { align-items: center; background: #fafafa; border-top: 1px solid #e3e3e3; display: flex; gap: 18px; justify-content: space-between; min-height: 42px; padding: 8px 12px; }
.bc-rich-editor-footer small { color: #777; font-size: 10px; font-weight: 400; line-height: 1.45; }
.bc-rich-editor-footer [data-upload-status] { color: #555; flex: none; font-size: 10px; font-weight: 600; }

/* Imported WordPress content: inert, scoped replacements for the audited WPBakery/Mikado DOM. */
:is(.bc-prose, .bc-detail-body, .bc-term-description) :is(.vc_row, .mkd-iwt-slider-holder) { display: flex; flex-wrap: wrap; width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-row-grid-section { margin-inline: auto; max-width: 1200px; width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_column_container { box-sizing: border-box; min-width: 0; padding-inline: 15px; width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-2 { flex: 0 0 16.666%; max-width: 16.666%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-3 { flex: 0 0 25%; max-width: 25%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-4 { flex: 0 0 33.333%; max-width: 33.333%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-5 { flex: 0 0 41.666%; max-width: 41.666%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-6 { flex: 0 0 50%; max-width: 50%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-7 { flex: 0 0 58.333%; max-width: 58.333%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-8 { flex: 0 0 66.666%; max-width: 66.666%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-9 { flex: 0 0 75%; max-width: 75%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-10 { flex: 0 0 83.333%; max-width: 83.333%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_col-sm-12 { flex: 0 0 100%; max-width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_column-inner { height: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-content-aligment-center { text-align: center; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-content-aligment-right { text-align: right; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .wpb_single_image img { height: auto; max-width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_align_center { text-align: center; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_align_right { text-align: right; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .bc-legacy-gallery { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .bc-legacy-gallery figure { margin: 0; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .bc-legacy-gallery img { height: auto; width: 100%; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-section-title-holder { margin-block: 18px; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-st-title { margin-bottom: 8px; }
.bc-content-page .bc-prose h1.mkd-st-title { font-size: clamp(36px, 5vw, 48px); font-weight: 300; line-height: 1.1; margin: 0; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-iwt { margin-block: 14px; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-iwt-title { align-items: baseline; display: flex; gap: 10px; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-iwt-icon { color: var(--bc-orange); }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-btn { background: var(--bc-orange); color: #111; display: inline-block; font-weight: 600; margin-block: 10px; padding: 12px 24px; text-decoration: none; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-parallax-holder { background-position: center; background-size: cover; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-parallax-inner { padding: 32px; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-accordion-item { border-bottom: 1px solid var(--bc-border); padding-block: 12px; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-accordion-item summary { cursor: pointer; font-weight: 600; }
:is(.bc-prose, .bc-detail-body, .bc-term-description) .mkd-accordion-content { padding-top: 12px; }
.bc-term-description { color: inherit; margin-top: 12px; max-width: 900px; }
.bc-term-description > :first-child { margin-top: 0; }
.bc-term-description > :last-child { margin-bottom: 0; }

.bc-home-ad-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 28px; }
.bc-home-ad-grid-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-home-ad-grid-pre-listings > :first-child { grid-column: 1 / -1; }
.bc-home-ad-section { padding-block: 35px; }
.bc-advertiser-card :is(img, figure) { height: auto; max-width: 100%; }
.bc-advertiser-card p { margin: 8px 0; }
.bc-advertiser-card .alignleft { float: left; margin: 0 14px 8px 0; }
.bc-advertiser-card .aligncenter { display: block; margin-inline: auto; }

.bc-listing-reviews { background: #f8f8f8; padding-block: 72px; }
.bc-listing-review-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-listing-review { background: #fff; border: 1px solid var(--bc-border); padding: 26px; }
.bc-listing-review > header { align-items: start; display: flex; gap: 18px; justify-content: space-between; }
.bc-listing-review h3 { font-size: 18px; margin: 7px 0 0; }
.bc-listing-review time { color: #888; font-size: 11px; white-space: nowrap; }
.bc-listing-review > p { color: #666; line-height: 1.7; }
.bc-listing-review > footer { color: #333; font-size: 12px; font-weight: 600; }
.bc-review-rating { color: var(--bc-orange-dark); letter-spacing: .08em; }
.bc-review-rating span { color: #ccc; }

@media (max-width: 1240px) {
  .bc-desktop-nav { gap: 13px; }
  .bc-desktop-nav > a, .bc-nav-group > a { font-size: 13px; }
  .bc-brand { flex-basis: 205px; width: 205px; }
  .bc-brand img { width: 205px; }
  .bc-add-listing { padding-inline: 14px; }
}

/* Switch the complete header before the no-wrap desktop links can overflow. */
@media (max-width: 1200px) {
  .bc-desktop-nav, .bc-header-actions { display: none; }
  .bc-brand { flex-basis: 237px; width: 237px; }
  .bc-brand img { width: 237px; }
  .bc-mobile-toggle { align-items: center; background: transparent; border: 0; color: #353535; display: flex; margin-left: auto; padding: 8px; }
  .bc-mobile-nav { background: #fff; border-top: 3px solid var(--bc-orange); box-shadow: 0 12px 30px rgb(0 0 0 / 15%); display: block; max-height: calc(100vh - 80px); overflow-y: auto; }
  .bc-mobile-nav[hidden] { display: none; }
  .bc-mobile-nav .bc-shell { display: grid; padding-bottom: 15px; padding-top: 8px; }
  .bc-mobile-nav a, .bc-mobile-nav summary { align-items: center; border-bottom: 1px solid #eee; color: #444; display: flex; font-size: 13px; justify-content: space-between; list-style: none; padding: 11px 2px; }
  .bc-mobile-nav summary::-webkit-details-marker { display: none; }
  .bc-mobile-nav details > a { padding-left: 18px; }
  .bc-mobile-category-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .bc-mobile-category-grid a { font-size: 11px; padding-left: 17px; }
  .bc-mobile-add { color: var(--bc-orange-dark) !important; font-weight: 600; }
}

@media (max-width: 1050px) {
  .bc-main-search { grid-template-columns: 1fr 1fr; }
  .bc-search-submit { min-height: 66px; }
  .bc-advertiser-grid { gap: 18px; }
  .bc-home-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-home-listing-grid > :nth-child(3) { display: none; }
  .bc-directory-split { grid-template-columns: minmax(0, 62%) minmax(0, 38%); }
  .bc-directory-panel { padding-inline: 28px; }
  .bc-results-grid { grid-template-columns: 1fr; }
  .bc-listing-layout { grid-template-columns: minmax(0, 65%) minmax(0, 35%); }
  .bc-product-detail { gap: 38px; grid-template-columns: minmax(0, 52%) minmax(0, 48%); }
  .bc-detail-section { gap: 25px; grid-template-columns: 150px minmax(0, 1fr); }
  .bc-account-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .bc-form-grid, .bc-checkbox-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .bc-topbar-email span, .bc-social-links { display: none; }
  .bc-free-tab { padding-inline: 18px; }
  .bc-header-inner { min-height: 72px; }
  .bc-brand, .bc-brand img { height: auto; max-width: 205px; width: 205px; }
  .bc-home-hero, .bc-home-hero-inner { min-height: 380px; }
  .bc-main-search { grid-template-columns: 1fr; }
  .bc-search-field { border-bottom: 1px solid #e9e9e9; border-right: 0; }
  .bc-search-field input, .bc-search-field select { height: 58px; }
  .bc-search-submit { min-height: 58px; }
  .bc-advertiser-grid, .bc-home-ad-grid, .bc-home-ad-grid-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-advertiser-card { min-height: 180px; }
  .bc-cta-panels { grid-template-columns: 1fr; }
  .bc-cta-panel { min-height: 135px; padding-inline: 12vw; }
  .bc-editorial-row { gap: 35px; grid-template-columns: 1fr; }
  .bc-editorial-row.is-reversed .bc-editorial-image { order: 0; }
  .bc-ad-band .bc-shell { grid-template-columns: 1fr auto; }
  .bc-ad-band .bc-button { grid-column: 1 / -1; }
  .bc-article-grid { grid-template-columns: 1fr; }
  .bc-testimonial-grid { grid-template-columns: 1fr; }
  .bc-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-footer-actions { align-items: flex-start; padding-top: 0; }
  .bc-footer-bottom-inner { grid-template-columns: 1fr; }
  .bc-site-credit { justify-self: start; }
  .bc-directory-split { display: block; }
  .bc-directory-map { height: 380px; min-height: 0; position: relative; top: auto; }
  .bc-listing-header-inner { align-items: flex-start; flex-direction: column; gap: 18px; padding-bottom: 25px; padding-top: 25px; }
  .bc-listing-layout { grid-template-columns: 1fr; }
  .bc-product-detail { grid-template-columns: 1fr; }
  .bc-product-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-product-summary { padding-right: 0; }
  .bc-product-description > .bc-shell { grid-template-columns: 1fr; }
  .bc-listing-content { border-right: 0; padding-right: 0; }
  .bc-listing-sidebar { border-top: 1px solid #e1e1e1; padding-left: 0; }
  .bc-prose-layout, .bc-article-layout, .bc-contact-layout { grid-template-columns: 1fr; }
  :is(.bc-prose, .bc-detail-body, .bc-term-description) .vc_column_container { flex-basis: 100%; max-width: 100%; }
  .bc-listing-review-grid { grid-template-columns: 1fr; }
  .bc-prose-aside, .bc-related-articles { border-left: 0; }
  .bc-account-shell { grid-template-columns: 1fr; }
  .bc-account-nav { position: static; }
  .bc-account-nav nav { grid-template-columns: repeat(2, 1fr); }
  .bc-account-nav form { grid-column: 1 / -1; }
  .bc-admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .bc-admin-row { grid-template-columns: 1.5fr .8fr .8fr; }
  .bc-admin-row > :nth-child(2), .bc-admin-row > :nth-child(3) { display: none; }
  .bc-moderation-row { grid-template-columns: minmax(180px, 1.5fr) minmax(130px, 1fr) minmax(90px, .7fr) minmax(150px, 1fr); }
  .bc-moderation-row > :nth-child(2), .bc-moderation-row > :nth-child(5) { display: block; }
  .bc-moderation-row > :nth-child(6) { display: flex; }
  .bc-moderation-row.bc-admin-table-head > :nth-child(6) { display: block; }
  .bc-moderation-row > :nth-child(3), .bc-moderation-row > :nth-child(4) { display: none; }
  .bc-banner-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .bc-shell { padding-inline: 15px; }
  .bc-brand, .bc-brand img { max-width: 185px; width: 185px; }
  .bc-home-section { padding: 60px 0; }
  .bc-home-listing-grid { grid-template-columns: 1fr; }
  .bc-advertiser-grid, .bc-home-ad-grid, .bc-home-ad-grid-top { grid-template-columns: 1fr; }
  .bc-home-listing-grid > :nth-child(3) { display: grid; }
  .bc-listing-card-home, .bc-listing-card-related { grid-template-columns: 125px minmax(0, 1fr); }
  .bc-listing-card-home .bc-listing-image, .bc-listing-card-related .bc-listing-image { height: 135px; }
  .bc-ad-band .bc-shell { grid-template-columns: 1fr; text-align: center; }
  .bc-ad-band img { margin: auto; }
  .bc-newsletter form { grid-template-columns: 1fr; }
  .bc-newsletter button { min-height: 48px; }
  .bc-footer-grid { grid-template-columns: 1fr; }
  .bc-footer-actions { padding-top: 0; }
  .bc-mobile-category-grid { grid-template-columns: 1fr; }
  .bc-directory-panel { padding-inline: 15px; }
  .bc-directory-filters { grid-template-columns: 1fr; }
  .bc-directory-map { height: 320px; }
  .bc-detail-section { gap: 18px; grid-template-columns: 1fr; }
  .bc-product-grid { grid-template-columns: 1fr; }
  .bc-gallery-track { grid-auto-columns: 85vw; }
  .bc-gallery-track button { height: 240px; }
  .bc-compact-search { flex-direction: column; }
  .bc-auth-main { padding-inline: 10px; }
  .bc-auth-card { padding: 32px 22px; }
  .bc-form-grid, .bc-checkbox-grid, .bc-upload-grid { grid-template-columns: 1fr; }
  .bc-account-heading, .bc-admin-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .bc-dashboard-metrics, .bc-admin-metrics { grid-template-columns: 1fr; }
  .bc-account-nav nav { grid-template-columns: 1fr; }
  .bc-managed-table article { grid-template-columns: 44px minmax(0, 1fr) auto; }
  .bc-managed-table article > a { display: none; }
  .bc-editor-form fieldset { padding: 22px 18px; }
  .bc-editor-form > footer { align-items: stretch; flex-direction: column; }
  .bc-rich-editor-toolbar { align-items: stretch; flex-direction: column; }
  .bc-rich-editor-button-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-editor-form .bc-rich-editor-format { justify-content: space-between; }
  .bc-editor-form .bc-rich-editor-format select { flex: 1; }
  .bc-editor-form .bc-rich-editor-upload { align-self: stretch; }
  .bc-rich-editor-canvas { min-height: 360px; padding: 18px; }
  .bc-rich-editor-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .bc-admin-row { grid-template-columns: 1fr auto; }
  .bc-admin-row > :nth-child(2), .bc-admin-row > :nth-child(3), .bc-admin-row > :nth-child(4) { display: none; }
  .bc-moderation-row { grid-template-columns: minmax(0, 1fr) auto; }
  .bc-moderation-row > :nth-child(2), .bc-moderation-row > :nth-child(3), .bc-moderation-row > :nth-child(4), .bc-moderation-row > :nth-child(5) { display: none; }
  .bc-moderation-row > :nth-child(6) { display: flex; }
  .bc-moderation-row.bc-admin-table-head > :nth-child(6) { display: block; }
  .bc-moderation-mobile-category { color: #353535; display: block !important; font-weight: 600; margin-top: 4px; }
  .bc-banner-slot-admin > header { align-items: flex-start; flex-direction: column; }
  .bc-banner-admin-grid { grid-template-columns: 1fr; }
  .bc-product-detail { padding-bottom: 50px; padding-top: 25px; }
  .bc-product-thumbnails { grid-template-columns: repeat(3, 1fr); }
  .bc-product-archive-grid { grid-template-columns: 1fr; }
  .bc-review-card { padding: 24px 18px; }
  .bc-review-facts, .bc-review-actions { grid-template-columns: 1fr; }
  .bc-review-actions form:last-child { justify-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .bc-export-cta { background-attachment: scroll; }
}

@media print {
  .bc-topbar, .bc-header, .bc-footer, .bc-back-to-top, .bc-enquiry-form, .bc-listing-gallery, .bc-directory-map, .bc-account-nav, .bc-admin-tabs { display: none !important; }
  body { color: #000; }
  .bc-listing-layout, .bc-directory-split, .bc-account-shell { display: block; }
  a { color: #000; text-decoration: none; }
}
