.cbfc-wrap{--flag-blue:#41b6e6;--red:#e4002b;--navy:#0b1f3a;max-width:1200px;margin:0 auto;padding:10px 0 40px}.cbfc-intro{text-align:center;margin-bottom:20px}.cbfc-intro h2{color:var(--navy);font-size:clamp(1.8rem,4vw,3rem);margin-bottom:8px}.cbfc-intro p{max-width:820px;margin:0 auto 18px;color:#45515c}.cbfc-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.cbfc-filters button{border:1px solid var(--flag-blue);background:#fff;color:var(--flag-blue);padding:9px 18px;border-radius:999px;font-weight:700;cursor:pointer}.cbfc-filters button.is-active,.cbfc-filters button:hover{background:var(--red);border-color:var(--red);color:#fff}#cbfc-map{height:520px;border-radius:18px;overflow:hidden;border:1px solid #d7e1e7;margin:20px 0 28px}.cbfc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cbfc-card{border:1px solid #dce5e9;border-radius:16px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(11,40,64,.07)}.cbfc-card h3{margin:8px 0;color:var(--navy)}.cbfc-type{display:inline-block;background:#e8f7fd;color:var(--flag-blue);padding:4px 9px;border-radius:999px;font-size:.8rem;font-weight:700}.cbfc-place{color:#66727b;font-size:.92rem}.cbfc-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.cbfc-links a{color:var(--flag-blue);font-weight:700}.cbfc-note{font-size:.88rem;color:#65727b;margin-top:20px}@media(max-width:900px){.cbfc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#cbfc-map{height:440px}}@media(max-width:620px){.cbfc-grid{grid-template-columns:1fr}#cbfc-map{height:360px}.cbfc-wrap{padding-left:12px;padding-right:12px}}
.cbfc-map-status{display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:24px;text-align:center;color:#596874;background:#f4f9fc}

.cbfc-neighborhoods{margin:42px 0 26px;padding:32px;border:1px solid #d7e5ec;border-radius:20px;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%);text-align:center}.cbfc-neighborhood-heading{max-width:760px;margin:0 auto 22px}.cbfc-neighborhood-heading h2{margin:5px 0 8px;color:var(--navy);font-size:clamp(1.55rem,3vw,2.2rem)}.cbfc-neighborhood-heading p{margin:0;color:#596874;line-height:1.7}.cbfc-kicker{display:block;color:var(--red);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cbfc-neighborhood-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0}.cbfc-neighborhood-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid var(--flag-blue);border-radius:999px;background:#fff;color:var(--navy);font-weight:750;text-decoration:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.cbfc-neighborhood-links a:hover,.cbfc-neighborhood-links a:focus{background:var(--flag-blue);border-color:var(--flag-blue);color:#071a31;transform:translateY(-1px)}.cbfc-all-neighborhoods{display:inline-flex;gap:8px;align-items:center;color:var(--red);font-weight:800;text-decoration:none}.cbfc-all-neighborhoods:hover,.cbfc-all-neighborhoods:focus{text-decoration:underline}@media(max-width:620px){.cbfc-neighborhoods{padding:24px 16px}.cbfc-neighborhood-links{gap:8px}.cbfc-neighborhood-links a{width:100%;border-radius:12px}}

.cbfc-cuisine-explorer{max-width:980px;margin:24px auto 0;padding:24px 22px;border:1px solid #d7e5ec;border-radius:18px;background:#f7fcff}.cbfc-cuisine-explorer h3{margin:4px 0 6px;color:var(--navy);font-size:clamp(1.25rem,2.4vw,1.75rem)}.cbfc-cuisine-explorer p{margin:0 auto 16px;max-width:720px;color:#596874}.cbfc-cuisine-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.cbfc-cuisine-filters button{border:1px solid #b8d9e8;background:#fff;color:var(--navy);padding:8px 14px;border-radius:999px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.cbfc-cuisine-filters button:hover,.cbfc-cuisine-filters button:focus,.cbfc-cuisine-filters button.is-active{background:var(--flag-blue);border-color:var(--flag-blue);color:#071a31;transform:translateY(-1px)}.cbfc-card-tags{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.cbfc-cuisine-tag{display:inline-block;background:#fff3f5;color:var(--red);padding:4px 9px;border-radius:999px;font-size:.8rem;font-weight:700}.cbfc-empty{grid-column:1/-1;padding:26px;border:1px dashed #b8cbd5;border-radius:14px;text-align:center;color:#596874;background:#f8fbfd}@media(max-width:620px){.cbfc-cuisine-explorer{padding:20px 14px}.cbfc-cuisine-filters{display:grid;grid-template-columns:1fr 1fr}.cbfc-cuisine-filters button{border-radius:12px}.cbfc-cuisine-filters button:first-child{grid-column:1/-1}}

.cbfc-coffee-explorer{max-width:980px;margin:18px auto 0;padding:24px 22px;border:1px solid #c9dce7;border-radius:18px;background:#fff}.cbfc-coffee-explorer h3{margin:4px 0 6px;color:var(--navy);font-size:clamp(1.25rem,2.4vw,1.75rem)}.cbfc-coffee-explorer p{margin:0 auto 16px;max-width:760px;color:#596874}.cbfc-coffee-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.cbfc-coffee-filters button{border:1px solid #b8d9e8;background:#f7fcff;color:var(--navy);padding:8px 14px;border-radius:999px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.cbfc-coffee-filters button:hover,.cbfc-coffee-filters button:focus,.cbfc-coffee-filters button.is-active{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px)}.cbfc-feature-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}.cbfc-feature-tags span{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef8fc;color:#23485d;font-size:.76rem;font-weight:700}@media(max-width:620px){.cbfc-coffee-explorer{padding:20px 14px}.cbfc-coffee-filters{display:grid;grid-template-columns:1fr 1fr}.cbfc-coffee-filters button{border-radius:12px}.cbfc-coffee-filters button:first-child{grid-column:1/-1}}


.cbfc-best-of{max-width:980px;margin:18px auto 0;padding:26px 22px;border:1px solid #d7e5ec;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f7fcff 100%)}.cbfc-best-of h3{margin:4px 0 6px;color:var(--navy);font-size:clamp(1.3rem,2.5vw,1.85rem)}.cbfc-best-of p{margin:0 auto 16px;max-width:760px;color:#596874}.cbfc-best-of-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.cbfc-best-of-filters button{border:1px solid #ef9baa;background:#fff;color:var(--navy);padding:9px 15px;border-radius:999px;font-weight:750;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.cbfc-best-of-filters button:hover,.cbfc-best-of-filters button:focus,.cbfc-best-of-filters button.is-active{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-1px)}.cbfc-best-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}.cbfc-best-tags span{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff1f3;color:#9e1730;font-size:.76rem;font-weight:700}@media(max-width:620px){.cbfc-best-of{padding:20px 14px}.cbfc-best-of-filters{display:grid;grid-template-columns:1fr 1fr}.cbfc-best-of-filters button{border-radius:12px}.cbfc-best-of-filters button:first-child{grid-column:1/-1}}


.cbfc-near-me{max-width:980px;margin:18px auto 0;padding:26px 22px;border:1px solid #b9d9e8;border-radius:18px;background:#f7fcff;text-align:center}.cbfc-near-me h3{margin:4px 0 6px;color:var(--navy);font-size:clamp(1.3rem,2.5vw,1.85rem)}.cbfc-near-me>p{max-width:780px;margin:0 auto 16px;color:#596874;line-height:1.7}.cbfc-near-me-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.cbfc-near-me-actions label{font-weight:800;color:var(--navy)}.cbfc-near-me-actions button,.cbfc-near-me-actions select{min-height:42px;border-radius:999px;font-weight:750}.cbfc-location-button{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:9px 18px;cursor:pointer}.cbfc-location-button:hover,.cbfc-location-button:focus{background:var(--red);border-color:var(--red)}.cbfc-location-button:disabled{opacity:.65;cursor:wait}.cbfc-near-me-actions select{border:1px solid #a9cddd;background:#fff;color:var(--navy);padding:8px 38px 8px 14px}.cbfc-location-reset{border:1px solid #d8a2ad;background:#fff;color:#9e1730;padding:9px 16px;cursor:pointer}.cbfc-location-status{margin-top:12px!important;font-size:.9rem;font-weight:700}.cbfc-distance{margin:6px 0;color:#176c91;font-size:.88rem;font-weight:800}@media(max-width:620px){.cbfc-near-me{padding:20px 14px}.cbfc-near-me-actions{display:grid;grid-template-columns:1fr}.cbfc-near-me-actions label{text-align:left}.cbfc-near-me-actions button,.cbfc-near-me-actions select{width:100%;border-radius:12px}}

/* Step 8: richer establishment cards */
.cbfc-card-enhanced{padding:0;overflow:hidden;display:flex;flex-direction:column}.cbfc-card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eaf5fa}.cbfc-card-image-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),#173f68);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.14em}.cbfc-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.cbfc-price{display:inline-block;background:#f3f5f7;color:var(--navy);padding:4px 9px;border-radius:999px;font-size:.8rem;font-weight:800}.cbfc-place a{color:var(--flag-blue);font-weight:750}.cbfc-description,.cbfc-why{color:#485761;line-height:1.65}.cbfc-why{padding:12px 14px;border-left:4px solid var(--red);background:#fff7f8;border-radius:0 10px 10px 0}.cbfc-details{margin:14px 0 4px;padding-top:12px;border-top:1px solid #e3eaee}.cbfc-details>div{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:5px 0}.cbfc-details dt{font-weight:800;color:var(--navy)}.cbfc-details dd{margin:0;color:#52616b}.cbfc-primary-links{margin-top:auto;padding-top:14px}.cbfc-primary-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--navy);border-radius:999px;text-decoration:none}.cbfc-primary-links a:first-child{background:var(--navy);color:#fff}.cbfc-primary-links a:hover,.cbfc-primary-links a:focus{background:var(--red);border-color:var(--red);color:#fff}.cbfc-source-line{margin-top:12px;font-size:.84rem;color:#6a7680}.cbfc-source-line a{font-weight:750}.cbfc-related{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f5fafc;color:#44545f}.cbfc-related strong{color:var(--navy)}.cbfc-related ul{margin:6px 0 0 18px;padding:0}.cbfc-related li{margin:3px 0}@media(max-width:620px){.cbfc-details>div{grid-template-columns:1fr;gap:2px}.cbfc-primary-links a{flex:1}}


/* Step 9: automatic two-way neighborhood internal linking */
.cbfc-card[id]{scroll-margin-top:110px}.cbfc-related a{color:var(--flag-blue);font-weight:750;text-decoration:none}.cbfc-related a:hover,.cbfc-related a:focus{text-decoration:underline}.cbfc-neighborhood-picks{margin:42px auto;padding:30px;border:1px solid #d7e5ec;border-radius:20px;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%)}.cbfc-neighborhood-picks-heading{text-align:center;max-width:760px;margin:0 auto 24px}.cbfc-neighborhood-picks-heading h2{margin:5px 0 8px;color:var(--navy);font-size:clamp(1.55rem,3vw,2.15rem)}.cbfc-neighborhood-picks-heading p{margin:0;color:#596874;line-height:1.7}.cbfc-neighborhood-picks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cbfc-neighborhood-pick{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px;border:1px solid #dce5e9;border-radius:16px;background:#fff}.cbfc-neighborhood-pick img{width:120px;height:120px;object-fit:cover;border-radius:12px}.cbfc-neighborhood-pick h3{margin:7px 0 4px;color:var(--navy)}.cbfc-neighborhood-pick p{margin:5px 0;color:#52616b;line-height:1.55}.cbfc-neighborhood-pick-meta{font-weight:750;color:var(--red)!important}.cbfc-neighborhood-pick .cbfc-links{margin-top:10px;gap:10px}.cbfc-neighborhood-pick .cbfc-links a{font-size:.9rem}.cbfc-neighborhood-picks-all{display:table;margin:24px auto 0;color:var(--red);font-weight:800;text-decoration:none}.cbfc-neighborhood-picks-all:hover,.cbfc-neighborhood-picks-all:focus{text-decoration:underline}@media(max-width:800px){.cbfc-neighborhood-picks-grid{grid-template-columns:1fr}}@media(max-width:520px){.cbfc-neighborhood-picks{padding:22px 14px}.cbfc-neighborhood-pick{grid-template-columns:1fr}.cbfc-neighborhood-pick img{width:100%;height:auto;aspect-ratio:16/9}}

.cbfc-neighborhood-select-wrap{max-width:720px;margin:22px auto 16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;text-align:left}.cbfc-neighborhood-select-wrap label{grid-column:1/-1;font-weight:700;color:#0b1f3a}.cbfc-neighborhood-select{width:100%;min-width:0;border:1px solid #b8c6d8;border-radius:10px;padding:12px 14px;background:#fff;color:#0b1f3a;font-size:1rem}.cbfc-neighborhood-go{border:0;border-radius:10px;padding:13px 18px;background:#0b1f3a;color:#fff;font-weight:700;cursor:pointer}.cbfc-neighborhood-go:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.cbfc-neighborhood-select-wrap{grid-template-columns:1fr}.cbfc-neighborhood-go{width:100%}}

/* v3.2.0 visual polish */
.cbfc-wrap{
  --cbfc-surface:#ffffff;
  --cbfc-soft:#f5f9fc;
  --cbfc-line:#d9e5ec;
  --cbfc-muted:#5b6973;
  --cbfc-shadow:0 14px 34px rgba(11,31,58,.10);
  --cbfc-shadow-hover:0 20px 44px rgba(11,31,58,.16);
  padding-top:18px;
}
.cbfc-wrap *{box-sizing:border-box}
.cbfc-intro{max-width:900px;margin:0 auto 28px;padding:0 18px}
.cbfc-intro h2{line-height:1.08;letter-spacing:-.025em;margin:0 0 12px}
.cbfc-intro p{font-size:1.03rem;line-height:1.75}
.cbfc-filters{padding:6px 0 2px}
.cbfc-filters button,.cbfc-cuisine-filters button,.cbfc-coffee-filters button,.cbfc-best-of-filters button{
  min-height:42px;
  line-height:1.15;
  box-shadow:0 3px 10px rgba(11,31,58,.05);
}
.cbfc-filters button:focus-visible,.cbfc-cuisine-filters button:focus-visible,.cbfc-coffee-filters button:focus-visible,.cbfc-best-of-filters button:focus-visible,.cbfc-neighborhood-go:focus-visible,.cbfc-location-button:focus-visible,.cbfc-location-reset:focus-visible,.cbfc-neighborhood-select:focus-visible,.cbfc-near-me-actions select:focus-visible{
  outline:3px solid rgba(65,182,230,.35);
  outline-offset:2px;
}
.cbfc-cuisine-explorer,.cbfc-coffee-explorer,.cbfc-best-of,.cbfc-near-me,.cbfc-neighborhoods{
  box-shadow:0 10px 28px rgba(11,31,58,.06);
}
.cbfc-cuisine-explorer,.cbfc-coffee-explorer,.cbfc-best-of,.cbfc-near-me{max-width:1040px}
#cbfc-map{
  position:relative;
  height:560px;
  border-radius:22px;
  border:1px solid var(--cbfc-line);
  box-shadow:var(--cbfc-shadow);
  background:var(--cbfc-soft);
}
.cbfc-map-status{
  flex-direction:column;
  gap:12px;
  font-weight:700;
  letter-spacing:.01em;
}
.cbfc-map-status:before{
  content:"";
  width:34px;
  height:34px;
  border-radius:50%;
  border:4px solid rgba(65,182,230,.25);
  border-top-color:var(--flag-blue);
  animation:cbfc-spin .8s linear infinite;
}
@keyframes cbfc-spin{to{transform:rotate(360deg)}}
.cbfc-grid{gap:24px;margin-top:8px}
.cbfc-card{
  border-color:var(--cbfc-line);
  border-radius:20px;
  box-shadow:var(--cbfc-shadow);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cbfc-card:hover{transform:translateY(-4px);box-shadow:var(--cbfc-shadow-hover);border-color:#bfd9e6}
.cbfc-card-image{transition:transform .35s ease}
.cbfc-card:hover .cbfc-card-image{transform:scale(1.025)}
.cbfc-card-enhanced{background:var(--cbfc-surface)}
.cbfc-card-body{padding:22px}
.cbfc-card h3{font-size:1.28rem;line-height:1.25;margin:10px 0 7px}
.cbfc-card-tags{margin-bottom:2px}
.cbfc-type,.cbfc-cuisine-tag,.cbfc-price,.cbfc-feature-tags span,.cbfc-best-tags span{letter-spacing:.01em}
.cbfc-place{margin:6px 0 10px;line-height:1.55}
.cbfc-place a{text-decoration:none}
.cbfc-place a:hover{text-decoration:underline}
.cbfc-description{margin:8px 0 12px}
.cbfc-why{margin:10px 0 4px}
.cbfc-details{font-size:.94rem}
.cbfc-primary-links{gap:10px}
.cbfc-primary-links a{min-height:44px;padding:10px 16px;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}
.cbfc-primary-links a:hover{transform:translateY(-1px)}
.cbfc-neighborhoods{padding:36px 28px;border-radius:24px}
.cbfc-neighborhood-select-wrap{max-width:760px;grid-template-columns:minmax(0,1fr) auto;gap:14px}
.cbfc-neighborhood-select-wrap label{font-size:.92rem;letter-spacing:.01em}
.cbfc-neighborhood-select{
  min-height:48px;
  border-radius:14px;
  border-color:#abc5d2;
  padding:12px 44px 12px 15px;
  box-shadow:inset 0 1px 2px rgba(11,31,58,.04);
}
.cbfc-neighborhood-go{
  min-height:48px;
  border-radius:14px;
  padding:12px 22px;
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease;
  box-shadow:0 8px 18px rgba(11,31,58,.15);
}
.cbfc-neighborhood-go:not(:disabled):hover{background:var(--red);transform:translateY(-1px)}
.cbfc-note{padding:16px 18px;border-radius:14px;background:#f7fafc;border:1px solid #e0e9ee;line-height:1.6}
.cbfc-neighborhood-picks{border-radius:24px;box-shadow:0 10px 28px rgba(11,31,58,.06)}
.cbfc-neighborhood-pick{transition:transform .18s ease,box-shadow .18s ease;border-radius:18px}
.cbfc-neighborhood-pick:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(11,31,58,.09)}
@media(max-width:900px){#cbfc-map{height:480px}.cbfc-grid{gap:18px}}
@media(max-width:620px){
  .cbfc-wrap{padding-left:10px;padding-right:10px}
  .cbfc-intro{padding:0 4px}
  .cbfc-intro p{font-size:1rem}
  #cbfc-map{height:390px;border-radius:18px;margin-top:16px}
  .cbfc-grid{gap:18px}
  .cbfc-card-body{padding:18px}
  .cbfc-cuisine-explorer,.cbfc-coffee-explorer,.cbfc-best-of,.cbfc-near-me,.cbfc-neighborhoods{border-radius:18px}
  .cbfc-neighborhoods{padding:24px 16px}
  .cbfc-neighborhood-select-wrap{grid-template-columns:1fr}
  .cbfc-neighborhood-go{width:100%}
  .cbfc-primary-links{display:grid;grid-template-columns:1fr 1fr}
  .cbfc-primary-links a{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .cbfc-card,.cbfc-card-image,.cbfc-neighborhood-pick,.cbfc-primary-links a,.cbfc-neighborhood-go{transition:none}
  .cbfc-map-status:before{animation:none}
}

/* v3.2.1: prevent long neighborhood names from colliding with detail labels. */
.cbfc-details>div{grid-template-columns:minmax(104px,auto) minmax(0,1fr);column-gap:16px;align-items:start}
.cbfc-details dt{line-height:1.45}
.cbfc-details dd{min-width:0;line-height:1.55;overflow-wrap:anywhere;word-break:normal}
.cbfc-details dd a{display:inline;overflow-wrap:anywhere}
@media(max-width:620px){.cbfc-details>div{display:block;padding:8px 0}.cbfc-details dt{margin-bottom:4px}.cbfc-details dd{display:block}}

/* v3.3.0 community-area experience */
.cbfc-neighborhood-map-shell{margin:0 0 26px;padding:8px;border-radius:22px;background:linear-gradient(135deg,var(--navy),#17395f);box-shadow:0 16px 36px rgba(11,31,58,.14)}
.cbfc-neighborhood-map{height:390px;border-radius:16px;overflow:hidden;background:#eaf4f8;position:relative}
.cbfc-neighborhood-map .leaflet-popup-content{margin:14px 16px;line-height:1.55}
.cbfc-neighborhood-map .leaflet-popup-content strong{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:2px}
.cbfc-neighborhood-map .leaflet-popup-content a{color:var(--red);font-weight:800;text-decoration:none}
.cbfc-neighborhood-picks-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cbfc-neighborhood-pick{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;border:1px solid #d9e5ea;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(11,31,58,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cbfc-neighborhood-pick:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(11,31,58,.14);border-color:#b7d7e7}
.cbfc-neighborhood-pick-media{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--flag-blue));display:flex;align-items:center;justify-content:center}
.cbfc-neighborhood-pick-media img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .35s ease}
.cbfc-neighborhood-pick:hover .cbfc-neighborhood-pick-media img{transform:scale(1.045)}
.cbfc-neighborhood-pick-media.is-placeholder span{color:#fff;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:.82rem}
.cbfc-neighborhood-pick-media:after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,rgba(11,31,58,.48));pointer-events:none}
.cbfc-neighborhood-pick-badge{position:absolute;left:14px;bottom:14px;z-index:1;padding:7px 11px;border-radius:999px;background:#fff;color:var(--navy);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 4px 14px rgba(0,0,0,.13)}
.cbfc-neighborhood-pick-body{display:flex;flex-direction:column;flex:1;padding:20px}
.cbfc-neighborhood-pick h3{margin:0 0 7px;font-size:1.3rem;line-height:1.25;color:var(--navy)}
.cbfc-neighborhood-pick-meta{margin:0 0 8px!important;color:var(--red)!important;font-size:.94rem;font-weight:850}
.cbfc-neighborhood-pick-address{margin:0 0 10px!important;color:#687781!important;font-size:.91rem;line-height:1.45!important}
.cbfc-neighborhood-pick-why{margin:0 0 18px!important;color:#465660!important;line-height:1.65!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cbfc-neighborhood-pick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
.cbfc-neighborhood-pick-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #cbdbe3;border-radius:10px;color:var(--navy);font-size:.86rem;font-weight:850;text-decoration:none;background:#fff;transition:background .16s ease,border-color .16s ease,color .16s ease}
.cbfc-neighborhood-pick-actions a:hover,.cbfc-neighborhood-pick-actions a:focus{border-color:var(--flag-blue);background:#eef8fc}
.cbfc-neighborhood-pick-actions a.is-primary{background:var(--navy);border-color:var(--navy);color:#fff}
.cbfc-neighborhood-pick-actions a.is-primary:hover,.cbfc-neighborhood-pick-actions a.is-primary:focus{background:var(--red);border-color:var(--red)}
@media(max-width:980px){.cbfc-neighborhood-picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cbfc-neighborhood-map{height:350px}}
@media(max-width:620px){.cbfc-neighborhood-picks-grid{grid-template-columns:1fr}.cbfc-neighborhood-map{height:310px}.cbfc-neighborhood-pick-media{height:210px}}


/* v3.3.1 refined community-card photography */
.cbfc-neighborhood-pick{padding-top:12px}
.cbfc-neighborhood-pick-media{
  height:168px;
  margin:0 12px;
  border-radius:16px;
  isolation:isolate;
  background:linear-gradient(145deg,#0b1f3a 0%,#173f68 58%,#58b8d8 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 7px 20px rgba(11,31,58,.12)
}
.cbfc-neighborhood-pick-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.94) contrast(1.03);
  transform:scale(1.002)
}
.cbfc-neighborhood-pick:hover .cbfc-neighborhood-pick-media img{transform:scale(1.035)}
.cbfc-neighborhood-pick-media:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(11,31,58,.04) 0%,rgba(11,31,58,0) 48%,rgba(11,31,58,.56) 100%);
  pointer-events:none
}
.cbfc-neighborhood-pick-media:after{display:none}
.cbfc-neighborhood-pick-badge{
  left:12px;
  bottom:12px;
  z-index:2;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px)
}
.cbfc-neighborhood-pick-media.is-placeholder{
  background:
    radial-gradient(circle at 18% 28%,rgba(255,255,255,.16) 0 3px,transparent 4px),
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.16) 0 3px,transparent 4px),
    radial-gradient(circle at 46% 28%,rgba(255,255,255,.16) 0 3px,transparent 4px),
    radial-gradient(circle at 60% 28%,rgba(255,255,255,.16) 0 3px,transparent 4px),
    linear-gradient(145deg,#0b1f3a 0%,#173f68 62%,#58b8d8 100%)
}
.cbfc-neighborhood-pick-media.is-placeholder span:not(.cbfc-neighborhood-pick-badge){
  position:relative;
  z-index:2;
  max-width:75%;
  text-align:center;
  line-height:1.5;
  text-shadow:0 2px 8px rgba(0,0,0,.25)
}
.cbfc-neighborhood-pick-body{padding:18px 20px 21px}
@media(max-width:620px){
  .cbfc-neighborhood-pick{padding-top:10px}
  .cbfc-neighborhood-pick-media{height:185px;margin:0 10px;border-radius:15px}
}


/* v3.3.2 explicit food / coffee category badges */
.cbfc-neighborhood-pick-badge{display:inline-flex;align-items:center;gap:6px;min-width:74px;justify-content:center;white-space:nowrap}
.cbfc-neighborhood-pick-badge-food{color:#c91f37}
.cbfc-neighborhood-pick-badge-coffee{color:#16789c}
.cbfc-neighborhood-pick-badge>span{font-size:.9rem;line-height:1}


/* v3.3.3 high-contrast category pills with crisp SVG icons */
.cbfc-neighborhood-pick-badge{
  min-width:88px;
  min-height:34px;
  padding:7px 13px;
  gap:7px;
  border:0;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.075em;
  text-shadow:0 1px 1px rgba(0,0,0,.14);
  box-shadow:0 5px 16px rgba(0,0,0,.26);
  backdrop-filter:none;
  -webkit-backdrop-filter:none
}
.cbfc-neighborhood-pick-badge-food{
  background:#c8102e;
  color:#fff
}
.cbfc-neighborhood-pick-badge-coffee{
  background:#167da3;
  color:#fff
}
.cbfc-neighborhood-pick-badge>span{
  font-size:inherit;
  line-height:1;
  color:inherit
}
.cbfc-neighborhood-pick-badge-icon{
  display:block;
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:currentColor
}
@media(max-width:620px){
  .cbfc-neighborhood-pick-badge{min-width:84px;min-height:32px;padding:6px 11px;font-size:.75rem}
  .cbfc-neighborhood-pick-badge-icon{width:16px;height:16px;flex-basis:16px}
}

/* v3.4.1 consistent category pills and establishment-name media headers */
.cbfc-card-media{
  position:relative;
  overflow:hidden;
  min-height:210px;
  background:linear-gradient(135deg,#0b1f3a 0%,#174a75 58%,#41b6e6 100%);
}
.cbfc-card-media .cbfc-card-image{
  width:100%;
  height:100%;
  min-height:210px;
  aspect-ratio:16/9;
  object-fit:cover;
}
.cbfc-card-media.is-placeholder::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 22%,rgba(255,255,255,.16) 0 3px,transparent 4px),
    linear-gradient(155deg,transparent 0 58%,rgba(65,182,230,.28) 59% 64%,transparent 65%),
    linear-gradient(25deg,rgba(228,0,43,.16),transparent 48%);
}
.cbfc-card-media-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,18,34,.05) 20%,rgba(4,18,34,.25) 54%,rgba(4,18,34,.88) 100%);
  pointer-events:none;
}
.cbfc-card-category-badge{
  position:absolute;
  z-index:2;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  color:#fff;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.065em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:0 5px 16px rgba(0,0,0,.28);
}
.cbfc-card-category-food{background:#c8102e}
.cbfc-card-category-coffee{background:#16789c}
.cbfc-card-badge-icon{width:17px;height:17px;flex:0 0 17px;fill:currentColor}
.cbfc-card-media-title{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:16px;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.22rem,2vw,1.55rem)!important;
  font-weight:850;
  line-height:1.15!important;
  text-shadow:0 2px 12px rgba(0,0,0,.65);
}
.cbfc-card-media + .cbfc-card-body{padding-top:18px}
@media(max-width:620px){
  .cbfc-card-media,.cbfc-card-media .cbfc-card-image{min-height:190px}
  .cbfc-card-category-badge{top:12px;left:12px;min-height:32px;padding:6px 11px}
  .cbfc-card-media-title{left:15px;right:15px;bottom:14px}
}


/* v3.5.1: category-colored map markers and higher Explore placement */
.cbfc-category-marker{background:transparent!important;border:0!important}
.cbfc-category-marker svg{display:block;width:32px;height:42px;filter:drop-shadow(0 3px 4px rgba(11,31,58,.28))}
.cbfc-neighborhoods{margin:22px 0 26px}
.cbfc-intro + .cbfc-neighborhoods{margin-top:14px}
