/* ═══════════════════════════════════════════════════════════
   DIRECTORY PAGE — SEW Design System v2
   All tokens from vars.css (--sew-*)
   ═══════════════════════════════════════════════════════════ */

/* ─── Prevent 100vw horizontal overflow ─── */
body { overflow-x: hidden; }

/* ═══════ 1. Hero ═══════ */
.sew-dir-hero {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-5) var(--sew-space-4) var(--sew-space-3);
  text-align: center;
}
.sew-dir-hero__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-2xl);
  font-weight: var(--sew-font-black);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-2);
  line-height: var(--sew-leading-tight);
}
.sew-dir-hero__title em {
  color: var(--sew-primary-500);
  font-style: italic;
}
.sew-dir-hero__subtitle {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-text-muted);
  margin: 0;
  font-weight: var(--sew-font-normal);
}
@media (min-width: 768px) {
  .sew-dir-hero { padding: var(--sew-space-8) var(--sew-space-6) var(--sew-space-4); }
  .sew-dir-hero__title { font-size: clamp(1.75rem, 4vw, 3rem); }
  .sew-dir-hero__subtitle { font-size: var(--sew-text-base); }
}
@media (min-width: 1200px) {
  .sew-dir-hero { padding: var(--sew-space-12) var(--sew-space-6) var(--sew-space-6); }
}

/* ═══════ 2. Search Bar ═══════ */
.sew-dir-search-bar {
  background: var(--sew-bg-primary);
  padding: 0 var(--sew-space-4) var(--sew-space-4);
  position: relative;
  z-index: 2;
}
.sew-dir-search-bar__inner {
  max-width: 900px;
  margin: 0 auto;
  background: var(--sew-bg-primary);
  border-radius: var(--sew-radius-2xl);
  box-shadow: var(--sew-shadow-sm);
  padding: var(--sew-space-3) var(--sew-space-4);
  position: relative;
  z-index: 2;
}
.sew-dir-search-bar__form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sew-dir-search-bar__field--search {
  flex: none;
  border-bottom: 1px solid var(--sew-gray-200);
  padding: 0 0 var(--sew-space-2);
}
.sew-dir-search-bar__field--select {
  flex: none;
  padding: 0;
  border-bottom: 1px solid var(--sew-gray-100);
}
.sew-dir-search-bar__field--select:last-child { border-bottom: none; }
@media (min-width: 768px) {
  .sew-dir-search-bar__form { flex-direction: row; align-items: center; }
  .sew-dir-search-bar__field--search {
    flex: 2;
    border-bottom: none;
    border-right: 1px solid var(--sew-gray-200);
    padding: 0 var(--sew-space-5) 0 0;
  }
  .sew-dir-search-bar__field--select {
    flex: 1;
    padding: 0 var(--sew-space-4);
    border-bottom: none;
    border-right: 1px solid var(--sew-gray-200);
  }
  .sew-dir-search-bar__field--select:last-child { border-right: none; padding-right: 0; }
}
.sew-dir-search-bar__input {
  width: 100%;
  border: none;
  outline: none;
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-base);
  color: var(--sew-dark-500);
  padding: var(--sew-space-2) 0;
  background: transparent;
  border-bottom: 1px solid var(--sew-gray-300);
}
.sew-dir-search-bar__input::placeholder { color: var(--sew-gray-500); }
.sew-dir-search-bar__select {
  width: 100%;
  border: none;
  outline: none;
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-dark-500);
  padding: var(--sew-space-2) 0;
  background: transparent;
  border-bottom: 1px solid var(--sew-gray-300);
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 18px;
}

/* ═══════ 3. Map ═══════ */
.sew-map-fullbleed {
  position: relative;
  z-index: 0;
  isolation: isolate;
}
.sew-map-fullbleed .leaflet-container {
  z-index: 0;
  background: #e8d5c8;
}
/* Bricks breakout for full-bleed */
#brx-content.wordpress .sew-dir-hero,
#brx-content.wordpress .sew-dir-search-bar,
#brx-content.wordpress .sew-dir-hottest,
#brx-content.wordpress .sew-dir-coral-cta,
#brx-content.wordpress .sew-dir-stories,
#brx-content.wordpress .sew-dir-from-wire,
#brx-content.wordpress .sew-dir-community,
#brx-content.wordpress .sew-dir-listings,
#brx-content.wordpress .sew-dir-founding-callout,
#brx-content.wordpress .sew-logos-carousel {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
#brx-content.wordpress .sew-map-fullbleed { max-width: none; }
#brx-content.wordpress .sew-section--light,
#brx-content.wordpress .sew-section--dark {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
.sew-dir-search .geodir-search-container { display: none; }

/* ═══════ 4. Hottest Startups ═══════ */
.sew-dir-hottest {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-16) var(--sew-space-6) var(--sew-space-4);
  text-align: center;
  position: relative;
  z-index: 1;
}
.sew-dir-hottest__inner { max-width: 800px; margin: 0 auto; }
.sew-dir-hottest__title {
  font-family: var(--sew-font-display);
  font-size: clamp(1.75rem, 4vw, var(--sew-text-3xl));
  font-weight: var(--sew-font-black);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-4);
  line-height: var(--sew-leading-tight);
}
.sew-dir-hottest__subtitle {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-base);
  color: var(--sew-text-muted);
  line-height: var(--sew-leading-relaxed);
  margin: 0;
}

/* ═══════ Startup Logo Carousel ═══════ */
.sew-logos-carousel {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-8) 0 var(--sew-space-10);
  position: relative;
  overflow: hidden;
}
.sew-logos-carousel__track {
  display: flex;
  gap: var(--sew-space-6);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0 var(--sew-space-2);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sew-logos-carousel__track::-webkit-scrollbar { display: none; }
.sew-logos-carousel__card {
  flex: 0 0 280px;
  min-width: 280px;
  scroll-snap-align: start;
  text-decoration: none;
  text-align: center;
  transition: var(--sew-transition-transform);
}
.sew-logos-carousel__card:hover { transform: translateY(-4px); }
.sew-logos-carousel__img {
  width: 100%;
  height: 220px;
  border-radius: var(--sew-radius-2xl);
  background-size: cover;
  background-position: center;
  margin-bottom: var(--sew-space-4);
}
.sew-logos-carousel__img--placeholder {
  background: var(--sew-gradient-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sew-logos-carousel__img--placeholder span {
  color: var(--sew-neutral-50);
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-4xl);
}
.sew-logos-carousel__name {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-lg);
  font-weight: var(--sew-font-bold);
  color: var(--sew-dark-600);
  display: block;
  margin-bottom: var(--sew-space-1);
}
.sew-logos-carousel__cat {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-xs);
  color: var(--sew-gray-500);
}
/* Carousel arrows */
.sew-logos-carousel__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: var(--sew-bg-primary);
  border: 2px solid var(--sew-gray-300);
  width: 48px;
  height: 48px;
  border-radius: var(--sew-radius-full);
  font-size: var(--sew-text-xl);
  color: var(--sew-dark-500);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--sew-transition-all);
  box-shadow: var(--sew-shadow-sm);
}
.sew-logos-carousel__arrow:hover {
  background: var(--sew-dark-600);
  color: var(--sew-neutral-50);
  border-color: var(--sew-dark-600);
}
.sew-logos-carousel__arrow--prev { left: var(--sew-space-4); }
.sew-logos-carousel__arrow--next { right: var(--sew-space-4); }
/* Old logo card compat */
.sew-logos { display: flex; gap: var(--sew-space-6); overflow-x: auto; padding: var(--sew-space-4) var(--sew-space-2) var(--sew-space-8); scroll-snap-type: x mandatory; }
.sew-logo-card { flex: 0 0 120px; text-align: center; text-decoration: none; scroll-snap-align: start; }
.sew-logo-card__img { width: 100px; height: 100px; border-radius: var(--sew-radius-3xl); object-fit: contain; margin-bottom: var(--sew-space-2); }
.sew-logo-card__name { font-size: var(--sew-text-xs); color: var(--sew-dark-500); display: block; }

/* ═══════ 5. Coral CTA — Two-card layout ═══════ */
.sew-dir-coral-cta {
  background: var(--sew-bg-primary);
  padding: 0 var(--sew-space-2) var(--sew-space-8);
}
@media (min-width: 769px) {
  .sew-dir-coral-cta { padding: 0 var(--sew-space-10) var(--sew-space-12); }
}
.sew-dir-coral-cta__inner {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--sew-space-4);
  max-width: 1280px;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .sew-dir-coral-cta__inner { grid-template-columns: 1.4fr 1fr; gap: var(--sew-space-6); }
}
.sew-dir-coral-cta__card {
  border-radius: var(--sew-radius-3xl);
  overflow: hidden;
  min-height: 320px;
  position: relative;
}
.sew-dir-coral-cta__card--jobs {
  background: var(--sew-primary-500);
  padding: var(--sew-space-12) var(--sew-space-10);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sew-dir-coral-cta__card--podcast {
  background: var(--sew-primary-300);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sew-dir-coral-cta__title {
  font-family: var(--sew-font-display);
  font-size: clamp(2rem, 4vw, var(--sew-text-3xl));
  font-weight: var(--sew-font-black);
  color: var(--sew-dark-900);
  line-height: var(--sew-leading-none);
  margin: 0 0 var(--sew-space-8);
}
.sew-dir-coral-cta__filters {
  display: flex;
  gap: var(--sew-space-6);
  margin-bottom: var(--sew-space-8);
}
.sew-dir-coral-cta__filter { flex: 1; border-bottom: 1px solid rgba(0,0,0,0.25); padding-bottom: var(--sew-space-2); }
.sew-dir-coral-cta__filter label {
  display: block;
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  font-weight: var(--sew-font-medium);
  color: var(--sew-dark-600);
  margin-bottom: var(--sew-space-2);
}
.sew-dir-coral-cta__filter select { display: none; }
.sew-dir-coral-cta__filter label::after { content: ' ▾'; font-size: 0.65rem; color: var(--sew-dark-500); }
.sew-dir-coral-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sew-space-3) var(--sew-space-8);
  background: transparent;
  color: var(--sew-dark-600);
  border: 2px solid var(--sew-dark-600);
  border-radius: var(--sew-radius-base);
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  font-weight: var(--sew-font-semibold);
  text-decoration: none;
  transition: var(--sew-transition-all);
  align-self: flex-start;
}
.sew-dir-coral-cta__btn:hover { background: var(--sew-dark-600); color: var(--sew-neutral-50); }
.sew-dir-coral-cta__podcast-link { text-decoration: none; display: flex; align-items: center; justify-content: center; }
.sew-dir-coral-cta__podcast-badge { width: 200px; height: 200px; transition: var(--sew-transition-transform); }
.sew-dir-coral-cta__podcast-badge:hover { transform: scale(1.06); }
.sew-dir-coral-cta__podcast-badge svg { filter: drop-shadow(var(--sew-shadow-sm)); }

/* ═══════ 6. From the Wire (news) ═══════ */
.sew-dir-stories {
  background: var(--sew-dark-600);
  padding: var(--sew-space-8) var(--sew-space-2);
}
.sew-dir-stories__inner { max-width: 1280px; margin: 0 auto; }
.sew-dir-stories__title {
  font-family: var(--sew-font-display);
  font-size: clamp(1.75rem, 3.5vw, var(--sew-text-3xl));
  font-weight: var(--sew-font-black);
  color: var(--sew-primary-500);
  margin: 0 0 var(--sew-space-8);
}
/* Horizontal news cards */
.sew-news-grid--horizontal {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--sew-space-6);
}
.sew-news-card--horizontal {
  display: flex !important;
  flex-direction: row !important;
  background: var(--sew-bg-primary);
  border-radius: var(--sew-radius-2xl);
  overflow: hidden;
  text-decoration: none;
  transition: var(--sew-transition-transform);
}
.sew-news-card--horizontal:hover { transform: translateY(-2px); box-shadow: var(--sew-shadow-xl); }
.sew-news-card--horizontal .sew-news-card__img { width: 240px; min-width: 240px; height: auto; min-height: 200px; object-fit: cover; border-radius: 0; }
.sew-news-card--horizontal .sew-news-card__body { padding: var(--sew-space-6); display: flex; flex-direction: column; justify-content: center; }
.sew-news-card--horizontal .sew-news-card__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-lg);
  font-weight: var(--sew-font-bold);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-3);
  line-height: var(--sew-leading-snug);
}
.sew-news-card--horizontal .sew-news-card__excerpt {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-text-muted);
  line-height: var(--sew-leading-normal);
  margin: 0 0 var(--sew-space-4);
}
.sew-news-card--horizontal .sew-news-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sew-space-2) var(--sew-space-6);
  background: var(--sew-primary-500);
  color: var(--sew-neutral-50);
  border-radius: var(--sew-radius-base);
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-xs);
  font-weight: var(--sew-font-semibold);
  text-decoration: none;
  align-self: flex-start;
  transition: var(--sew-transition-opacity);
}
.sew-news-card--horizontal .sew-news-card__btn:hover { opacity: 0.85; }
.sew-news-card--horizontal .sew-news-card__meta { display: none; }

/* ═══════ 7. From the Wire (second section — legacy) ═══════ */
.sew-dir-from-wire {
  background: var(--sew-dark-600);
  padding: var(--sew-space-8) var(--sew-space-2);
}
.sew-dir-from-wire__inner { max-width: 1280px; margin: 0 auto; }
.sew-dir-from-wire__title {
  font-family: var(--sew-font-display);
  font-size: clamp(1.5rem, 3vw, var(--sew-text-2xl));
  font-weight: var(--sew-font-bold);
  color: var(--sew-neutral-50);
  margin: 0 0 var(--sew-space-2);
}
.sew-dir-from-wire__divider { border: none; border-top: 1px solid rgba(255,255,255,0.2); margin: 0 0 var(--sew-space-8); }
.sew-dir-from-wire .sew-news-card--horizontal { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); }
.sew-dir-from-wire .sew-news-card--horizontal .sew-news-card__title { color: var(--sew-neutral-50); }
.sew-dir-from-wire .sew-news-card--horizontal .sew-news-card__excerpt { color: var(--sew-text-muted-light); }

/* ═══════ 8. Trusted by Founders / Community ═══════ */
.sew-dir-community {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-8) var(--sew-space-2);
}
.sew-dir-community__inner { max-width: 1280px; margin: 0 auto; }
.sew-dir-community__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--sew-space-10);
  flex-wrap: wrap;
  gap: var(--sew-space-4);
}
.sew-dir-community__title {
  font-family: var(--sew-font-display);
  font-size: clamp(1.5rem, 3vw, var(--sew-text-2xl));
  font-weight: var(--sew-font-black);
  color: var(--sew-primary-500);
  margin: 0;
  line-height: var(--sew-leading-tight);
}
.sew-dir-community__subtitle {
  font-family: var(--sew-font-primary);
  font-size: clamp(1rem, 2vw, var(--sew-text-lg));
  font-weight: var(--sew-font-medium);
  color: var(--sew-text-muted);
  margin: var(--sew-space-1) 0 0;
  line-height: var(--sew-leading-tight);
}
.sew-dir-community__join-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sew-space-3) var(--sew-space-10);
  background: transparent;
  color: var(--sew-primary-500);
  border: 2px solid var(--sew-primary-500);
  border-radius: var(--sew-radius-full);
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  font-weight: var(--sew-font-semibold);
  text-decoration: none;
  transition: var(--sew-transition-all);
  white-space: nowrap;
}
.sew-dir-community__join-btn:hover { background: var(--sew-primary-500); color: var(--sew-neutral-50); }
/* Community cards */
.sew-dir-community__cards {
  display: flex;
  gap: var(--sew-space-6);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: var(--sew-space-4);
}
.sew-dir-community__cards::-webkit-scrollbar { display: none; }
.sew-dir-community__card {
  flex: 0 0 320px;
  min-width: 320px;
  background: var(--sew-bg-primary);
  border: 1px solid var(--sew-gray-300);
  border-radius: var(--sew-radius-2xl);
  overflow: hidden;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}
.sew-dir-community__card--featured { flex: 0 0 420px; min-width: 420px; }
.sew-dir-community__card--featured .sew-dir-community__card-img { height: 220px; overflow: hidden; }
.sew-dir-community__card--featured .sew-dir-community__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sew-dir-community__card-body { padding: var(--sew-space-6); flex: 1; display: flex; flex-direction: column; }
.sew-dir-community__card h4 {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-lg);
  font-weight: var(--sew-font-bold);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-3);
}
.sew-dir-community__card p {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-text-muted);
  line-height: var(--sew-leading-relaxed);
  margin: 0 0 var(--sew-space-4);
  flex: 1;
}
.sew-dir-community__card-stars {
  color: var(--sew-primary-500);
  font-size: var(--sew-text-lg);
  letter-spacing: 3px;
  margin-bottom: var(--sew-space-4);
}
.sew-dir-community__card-author { display: flex; align-items: center; gap: var(--sew-space-3); margin-top: auto; }
.sew-dir-community__avatar { width: 40px; height: 40px; border-radius: var(--sew-radius-full); object-fit: cover; }
.sew-dir-community__card-author strong { display: block; font-family: var(--sew-font-primary); font-size: var(--sew-text-sm); font-weight: var(--sew-font-semibold); color: var(--sew-dark-600); }
.sew-dir-community__card-author span { font-family: var(--sew-font-primary); font-size: var(--sew-text-xs); color: var(--sew-gray-500); }

/* ═══════ GD Listings Section ═══════ */
.sew-dir-listings {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-4) 0;
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) { .sew-dir-listings { padding: var(--sew-space-8) var(--sew-space-10); } }
.sew-dir-listings__inner { max-width: 1280px; margin: 0 auto; }
#brx-content .sew-dir-listings { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); width: 100vw; max-width: 100vw; }

/* ═══════ Founding Member Callout ═══════ */
.sew-dir-founding-callout {
  background: var(--sew-dark-600);
  padding: var(--sew-space-12) var(--sew-space-4);
  text-align: center;
}
.sew-dir-founding-callout__inner { max-width: 640px; margin: 0 auto; }
.sew-dir-founding-callout__badge {
  display: inline-block;
  font-family: var(--sew-font-mono);
  font-size: var(--sew-text-xs);
  font-weight: var(--sew-font-bold);
  letter-spacing: var(--sew-tracking-widest);
  color: var(--sew-primary-500);
  border: 1px solid var(--sew-primary-500);
  padding: var(--sew-space-1) var(--sew-space-3);
  border-radius: var(--sew-radius-sm);
  margin-bottom: var(--sew-space-4);
}
.sew-dir-founding-callout__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-2xl);
  color: var(--sew-neutral-50);
  margin: 0 0 var(--sew-space-3);
  line-height: var(--sew-leading-tight);
}
.sew-dir-founding-callout__desc {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-base);
  color: var(--sew-text-muted-light);
  line-height: var(--sew-leading-relaxed);
  margin: 0 0 var(--sew-space-6);
}
.sew-dir-founding-callout__actions { display: flex; gap: var(--sew-space-3); justify-content: center; flex-wrap: wrap; }
@media (min-width: 768px) {
  .sew-dir-founding-callout { padding: var(--sew-space-16) var(--sew-space-8); }
  .sew-dir-founding-callout__title { font-size: var(--sew-text-3xl); }
}

/* ═══════ RESPONSIVE ═══════ */
@media (max-width: 992px) {
  .sew-dir-coral-cta__inner { grid-template-columns: 1fr !important; }
  .sew-dir-coral-cta__card--podcast { min-height: 220px; }
  .sew-dir-stories, .sew-dir-from-wire, .sew-dir-community, .sew-dir-coral-cta {
    padding-left: var(--sew-space-6);
    padding-right: var(--sew-space-6);
  }
  .sew-logos-carousel__track { padding: 0 var(--sew-space-6); }
  .sew-news-grid--horizontal { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  .sew-dir-hero { padding: var(--sew-space-12) var(--sew-space-4) var(--sew-space-6); }
  .sew-dir-hero__title { font-size: var(--sew-text-3xl); }
  .sew-dir-search-bar__inner { padding: var(--sew-space-4); }
  .sew-dir-search-bar__form { flex-wrap: wrap; }
  .sew-dir-search-bar__field--search {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid var(--sew-gray-200);
    padding-right: 0;
    padding-bottom: var(--sew-space-3);
    margin-bottom: var(--sew-space-3);
  }
  .sew-dir-search-bar__field--select { flex: 1 1 45%; padding: var(--sew-space-1) var(--sew-space-2); border-right: none; }
  .sew-dir-coral-cta { padding: 0 var(--sew-space-4) var(--sew-space-8) !important; }
  .sew-dir-coral-cta__card { min-height: 260px; }
  .sew-dir-coral-cta__title { font-size: var(--sew-text-2xl); }
  .sew-dir-coral-cta__filters { flex-direction: column; gap: var(--sew-space-4); }
  .sew-dir-coral-cta__card--jobs { padding: var(--sew-space-8) var(--sew-space-6); }
  .sew-dir-coral-cta__card--podcast { min-height: 180px; }
  .sew-dir-coral-cta__podcast-badge { width: 140px; height: 140px; }
  .sew-news-card--horizontal { flex-direction: column !important; }
  .sew-news-card--horizontal .sew-news-card__img { width: 100% !important; min-width: 0 !important; height: 200px; }
  .sew-dir-stories, .sew-dir-from-wire { padding-left: var(--sew-space-4) !important; padding-right: var(--sew-space-4) !important; }
  .sew-dir-community { padding-left: var(--sew-space-4) !important; padding-right: var(--sew-space-4) !important; }
  .sew-dir-community__card--featured { flex: 0 0 280px; min-width: 280px; }
  .sew-dir-community__card { flex: 0 0 260px; min-width: 260px; }
  .sew-dir-community__header { text-align: center; justify-content: center; flex-direction: column; align-items: center; }
  .sew-logos-carousel__arrow { width: 36px; height: 36px; font-size: var(--sew-text-lg); }
}

@media (max-width: 480px) {
  .sew-dir-hero__title { font-size: var(--sew-text-2xl); }
  .sew-dir-search-bar__field--select { flex: 1 1 100%; }
  .sew-logos-carousel__card { flex: 0 0 200px; min-width: 200px; }
  .sew-logos-carousel__img { height: 160px; }
  /* Reset full-bleed on small mobile */
  #brx-content.wordpress .sew-dir-hero,
  #brx-content.wordpress .sew-dir-search-bar,
  #brx-content.wordpress .sew-dir-hottest,
  #brx-content.wordpress .sew-dir-coral-cta,
  #brx-content.wordpress .sew-dir-stories,
  #brx-content.wordpress .sew-dir-from-wire,
  #brx-content.wordpress .sew-dir-community,
  #brx-content.wordpress .sew-dir-listings,
  #brx-content.wordpress .sew-dir-founding-callout,
  #brx-content.wordpress .sew-logos-carousel,
  #brx-content.wordpress .sew-map-fullbleed,
  #brx-content.wordpress .sew-section--light,
  #brx-content.wordpress .sew-section--dark {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .sew-dir-coral-cta { padding: var(--sew-space-4) !important; }
  .sew-dir-coral-cta__inner { gap: var(--sew-space-4) !important; }
  .sew-dir-coral-cta__card--jobs { padding: var(--sew-space-6) var(--sew-space-4) !important; min-height: auto !important; }
  .sew-dir-coral-cta__title { font-size: var(--sew-text-2xl) !important; }
  .sew-dir-coral-cta__btn { padding: var(--sew-space-2) var(--sew-space-6); font-size: var(--sew-text-xs); }
  .sew-dir-coral-cta__card--podcast { min-height: 160px !important; padding: var(--sew-space-4) !important; }
  .sew-dir-coral-cta__podcast-badge { width: 120px !important; height: 120px !important; }
  .sew-dir-stories { padding: var(--sew-space-8) var(--sew-space-4) !important; }
  .sew-dir-stories__title { font-size: var(--sew-text-2xl) !important; }
  .sew-dir-from-wire { padding: var(--sew-space-8) var(--sew-space-4) !important; }
  .sew-dir-community { padding: var(--sew-space-8) var(--sew-space-4) !important; }
  .sew-dir-hottest { padding: var(--sew-space-8) var(--sew-space-4) !important; }
}

/* ═══════ Map height caps ═══════ */
.sew-map-fullbleed, .geodir-map-wrap, [style*="height:700px"] { height: 250px !important; max-height: 250px !important; }
.sew-map-fullbleed .leaflet-container, .geodir-map-wrap .leaflet-container { height: 250px !important; }
@media (min-width: 768px) {
  .sew-map-fullbleed, .geodir-map-wrap, [style*="height:700px"] { height: 400px !important; max-height: 400px !important; }
  .sew-map-fullbleed .leaflet-container, .geodir-map-wrap .leaflet-container { height: 400px !important; }
}
@media (min-width: 1200px) {
  .sew-map-fullbleed, .geodir-map-wrap, [style*="height:700px"] { height: 500px !important; max-height: 500px !important; }
  .sew-map-fullbleed .leaflet-container, .geodir-map-wrap .leaflet-container { height: 500px !important; }
}

/* ─── Body padding for bottom nav ─── */
body.post-type-archive-gd_place, body.tax-gd_placecategory {
  padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
}

/* ═══════ How It Works ═══════ */
.sew-dir-how-it-works {
  background: var(--sew-bg-primary);
  padding: var(--sew-space-16) var(--sew-space-4);
}
.sew-dir-how-it-works__inner { max-width: 1000px; margin: 0 auto; }
.sew-dir-how-it-works__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-3xl);
  font-weight: var(--sew-font-black);
  color: var(--sew-dark-600);
  text-align: center;
  margin: 0 0 var(--sew-space-12);
}
.sew-dir-how-it-works__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sew-space-8);
}
@media (min-width: 768px) {
  .sew-dir-how-it-works__steps { grid-template-columns: repeat(3, 1fr); }
}
.sew-dir-how-it-works__step { text-align: center; }
.sew-dir-how-it-works__number {
  font-family: var(--sew-font-mono);
  font-size: var(--sew-text-3xl);
  font-weight: var(--sew-font-bold);
  color: var(--sew-primary-500);
  margin-bottom: var(--sew-space-4);
  line-height: 1;
}
.sew-dir-how-it-works__step h3 {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-lg);
  font-weight: var(--sew-font-bold);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-3);
}
.sew-dir-how-it-works__step p {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-text-muted);
  line-height: var(--sew-leading-relaxed);
  margin: 0;
}

/* ═══════ Ecosystem Grid ═══════ */
.sew-dir-ecosystem {
  background: var(--sew-dark-600);
  padding: var(--sew-space-16) var(--sew-space-4);
}
.sew-dir-ecosystem__inner { max-width: 1100px; margin: 0 auto; }
.sew-dir-ecosystem__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-3xl);
  font-weight: var(--sew-font-black);
  color: var(--sew-neutral-50);
  text-align: center;
  margin: 0 0 var(--sew-space-2);
}
.sew-dir-ecosystem__subtitle {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-base);
  color: var(--sew-text-muted-light);
  text-align: center;
  margin: 0 0 var(--sew-space-12);
}
.sew-dir-ecosystem__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sew-space-6);
}
@media (min-width: 768px) {
  .sew-dir-ecosystem__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .sew-dir-ecosystem__grid { grid-template-columns: repeat(4, 1fr); }
}
.sew-dir-ecosystem__card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--sew-radius-xl);
  padding: var(--sew-space-8) var(--sew-space-6);
  text-align: center;
  transition: var(--sew-transition-all);
}
.sew-dir-ecosystem__card:hover {
  background: rgba(255,255,255,0.08);
  border-color: var(--sew-primary-500);
}
.sew-dir-ecosystem__icon {
  font-family: var(--sew-font-mono);
  font-size: var(--sew-text-2xl);
  color: var(--sew-primary-500);
  margin-bottom: var(--sew-space-4);
}
.sew-dir-ecosystem__card h3 {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-base);
  font-weight: var(--sew-font-bold);
  color: var(--sew-neutral-50);
  margin: 0 0 var(--sew-space-3);
}
.sew-dir-ecosystem__card p {
  font-family: var(--sew-font-primary);
  font-size: var(--sew-text-sm);
  color: var(--sew-text-muted-light);
  line-height: var(--sew-leading-relaxed);
  margin: 0;
}

/* ═══════ Listings title ═══════ */
.sew-dir-listings__title {
  font-family: var(--sew-font-display);
  font-size: var(--sew-text-2xl);
  font-weight: var(--sew-font-black);
  color: var(--sew-dark-600);
  margin: 0 0 var(--sew-space-6);
  padding: 0 var(--sew-space-4);
}
@media (min-width: 769px) {
  .sew-dir-listings__title { padding: 0; }
}

/* ═══════ Full-bleed for new sections ═══════ */
#brx-content.wordpress .sew-dir-how-it-works,
#brx-content.wordpress .sew-dir-ecosystem {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
@media (max-width: 480px) {
  #brx-content.wordpress .sew-dir-how-it-works,
  #brx-content.wordpress .sew-dir-ecosystem {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
