.vbp-places-shot[role="button"] { cursor: zoom-in !important; }
.vbp-places-shot[role="button"]:focus-visible { outline: 3px solid var(--vbp-accent) !important; outline-offset: 3px !important; }
.vbp-photo-viewer { position: fixed !important; inset: 0 !important; width: 100vw !important; max-width: none !important; height: 100dvh !important; max-height: none !important; margin: 0 !important; padding: 16px !important; border: 0 !important; background: var(--vbp-text) !important; color: var(--vbp-surface) !important; font-family: var(--vbp-font) !important; box-sizing: border-box !important; }
.vbp-photo-viewer[open] { display: flex !important; flex-direction: column !important; }
.vbp-photo-viewer::backdrop { background: var(--vbp-text); }
.vbp-photo-toolbar { display: flex; justify-content: space-between; align-items: center; flex: 0 0 48px; }
.vbp-photo-viewer button { display: inline-flex !important; align-items: center !important; justify-content: center !important; background: transparent !important; color: var(--vbp-surface) !important; border: 1px solid var(--vbp-text-2) !important; border-radius: 50% !important; width: 44px !important; height: 44px !important; padding: 0 0 2px !important; font-size: 30px !important; line-height: 1 !important; cursor: pointer !important; flex-shrink: 0; }
.vbp-photo-viewer button[hidden] { display: none !important; }
.vbp-photo-stage { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1; min-height: 0; }
.vbp-photo-stage img { width: calc(100% - 104px) !important; height: 100% !important; object-fit: contain !important; min-width: 0; }
.vbp-photo-credit { text-align: center; padding: 8px 12px; flex-shrink: 0; }
.vbp-photo-thumbs { display: flex; justify-content: safe center; gap: 8px; width: 100%; padding: 4px 0 2px; overflow-x: auto; flex-shrink: 0; scrollbar-width: thin; }
.vbp-photo-thumbs[hidden] { display: none !important; }
.vbp-photo-viewer .vbp-photo-thumbs button { width: 76px !important; height: 54px !important; border: 2px solid transparent !important; border-radius: 7px !important; overflow: hidden !important; opacity: .58; transition: opacity var(--vbp-ease), border-color var(--vbp-ease) !important; }
.vbp-photo-viewer .vbp-photo-thumbs button:hover, .vbp-photo-viewer .vbp-photo-thumbs button.is-on { border-color: var(--vbp-surface) !important; opacity: 1; }
.vbp-photo-thumbs img { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; }
@media (max-width: 640px) { .vbp-photo-viewer { padding: 8px !important; } .vbp-photo-stage { position: relative; } .vbp-photo-stage img { width: 100% !important; } .vbp-photo-stage button { position: absolute; z-index: 1; background: var(--vbp-text) !important; } .vbp-photo-stage [data-photo-next] { right: 0; } .vbp-photo-viewer .vbp-photo-thumbs button { position: static; width: 60px !important; height: 44px !important; } }
.vbp-places { --vbp-accent:#c83b12; --vbp-accent-soft:#fff7ed; --vbp-page:1120px; max-width: var(--vbp-page) !important; margin: 0 auto !important; padding: var(--vbp-s7) var(--vbp-s5) var(--vbp-s9) !important; font-family: var(--vbp-font) !important; color: var(--vbp-text) !important; }
.vbp-places * { box-sizing: border-box !important; }

.vbp-places .vbp-lead { max-width: var(--vbp-measure) !important; margin: 0 auto var(--vbp-s8) !important; text-align: center !important; }
.vbp-places .vbp-lead-title { font-size: var(--vbp-f6) !important; line-height: var(--vbp-lh-tight) !important; letter-spacing: var(--vbp-track-tight) !important; font-weight: var(--vbp-w-semibold) !important; color: var(--vbp-text) !important; margin: 0 0 var(--vbp-s3) !important; text-transform: none !important; }
.vbp-places .vbp-lead-sub { font-size: var(--vbp-f3) !important; line-height: var(--vbp-lh-body) !important; color: var(--vbp-text-2) !important; margin: 0 0 var(--vbp-s5) !important; }

.vbp-places .vbp-lead-search { display: flex !important; gap: var(--vbp-s2) !important; }
.vbp-places .vbp-lead-search input { flex: 1 1 auto !important; height: 52px !important; padding: 0 var(--vbp-s5) !important; font-family: var(--vbp-font) !important; font-size: var(--vbp-f3) !important; color: var(--vbp-text) !important; background: var(--vbp-surface-2) !important; border: 0 !important; border-radius: var(--vbp-radius-pill) !important; }
.vbp-places .vbp-lead-search input::placeholder { color: var(--vbp-text-3) !important; }
.vbp-places .vbp-lead-search button { height: 52px !important; padding: 0 var(--vbp-s6) !important; font-family: var(--vbp-font) !important; font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-surface) !important; background: var(--vbp-accent) !important; border: 0 !important; border-radius: var(--vbp-radius-pill) !important; cursor: pointer !important; transition: opacity var(--vbp-ease) !important; }
.vbp-places .vbp-lead-search button:hover { opacity: .85 !important; }
.vbp-places .vbp-places-choices > h2 { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-text) !important; font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; text-transform: none !important; }
.vbp-places .vbp-places-choices > p { max-width: var(--vbp-measure) !important; margin: 0 0 var(--vbp-s5) !important; color: var(--vbp-text-2) !important; font-size: var(--vbp-f2) !important; line-height: var(--vbp-lh-body) !important; }

.vbp-places .vbp-doors { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: var(--vbp-s3) !important; margin-bottom: var(--vbp-s8) !important; }
.vbp-places .vbp-door { display: flex !important; flex-direction: column !important; gap: var(--vbp-s1) !important; padding: var(--vbp-s6) var(--vbp-s5) !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius) !important; text-decoration: none !important; transition: background var(--vbp-ease) !important; }
.vbp-places .vbp-door:hover { background: var(--vbp-accent-soft) !important; }
.vbp-places .vbp-door-label { font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-door-lead { font-size: var(--vbp-f2) !important; line-height: var(--vbp-lh-body) !important; color: var(--vbp-text-2) !important; }
.vbp-places .vbp-door-count { font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-accent) !important; margin-top: var(--vbp-s2) !important; }
.vbp-places .vbp-places-starters { margin: 0 0 var(--vbp-s8) !important; }
.vbp-places .vbp-places-starters-heading { margin: 0 0 var(--vbp-s4) !important; }
.vbp-places .vbp-places-starters-heading h2 { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-text) !important; font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; text-transform: none !important; }
.vbp-places .vbp-places-starters-heading p { margin: 0 !important; color: var(--vbp-text-2) !important; line-height: var(--vbp-lh-body) !important; }
.vbp-places .vbp-places-starters-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--vbp-s3) !important; }
.vbp-places .vbp-places-starter { display: flex !important; flex-direction: column !important; overflow: hidden !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius) !important; background: var(--vbp-surface) !important; }
.vbp-places .vbp-places-starter img { display: block !important; width: 100% !important; height: 132px !important; object-fit: cover !important; }
.vbp-places .vbp-places-starter-copy { display: flex !important; flex: 1 !important; flex-direction: column !important; padding: var(--vbp-s5) !important; }
.vbp-places .vbp-places-starter-eyebrow { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-accent) !important; font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-semibold) !important; }
.vbp-places .vbp-places-starter h3 { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-text) !important; font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; text-transform: none !important; }
.vbp-places .vbp-places-starter p { margin: 0 0 var(--vbp-s4) !important; color: var(--vbp-text-2) !important; line-height: var(--vbp-lh-body) !important; }
.vbp-places .vbp-places-starter a { align-self: flex-start !important; margin-top: auto !important; color: var(--vbp-accent) !important; font-weight: var(--vbp-w-semibold) !important; text-decoration: none !important; }
.vbp-places .vbp-places-starter a:hover { text-decoration: underline !important; }
.vbp-places .vbp-food-explore { margin: 0 0 var(--vbp-s6) !important; padding: var(--vbp-s6) !important; border-radius: 20px !important; background: var(--vbp-accent-soft) !important; }
.vbp-places .vbp-food-explore-heading { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: var(--vbp-s4) !important; margin-bottom: var(--vbp-s5) !important; }
.vbp-places .vbp-food-explore-eyebrow { display: block !important; margin-bottom: var(--vbp-s2) !important; color: var(--vbp-accent) !important; font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: .08em !important; }
.vbp-places .vbp-food-explore h2,.vbp-places .vbp-places-results-heading { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-text) !important; font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; line-height: var(--vbp-lh-tight) !important; text-transform: none !important; }
.vbp-places .vbp-food-explore-heading p,.vbp-places .vbp-food-explore-context { margin: 0 !important; color: var(--vbp-text-2) !important; line-height: var(--vbp-lh-body) !important; }
.vbp-places .vbp-food-explore-near { flex: 0 0 auto !important; padding: var(--vbp-s3) var(--vbp-s4) !important; border: 0 !important; border-radius: var(--vbp-radius-pill) !important; background: var(--vbp-accent) !important; color: #fff !important; font-family: var(--vbp-font) !important; font-weight: var(--vbp-w-semibold) !important; cursor: pointer !important; }
.vbp-places .vbp-food-explore-near.is-off { opacity: .65 !important; }
.vbp-places .vbp-food-explore-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: var(--vbp-s3) !important; }
.vbp-places .vbp-food-explore-card { position: relative; overflow: hidden !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius) !important; background: var(--vbp-surface) !important; }
.vbp-places .vbp-food-explore-card img { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; }
.vbp-places .vbp-food-explore-card-copy { padding: var(--vbp-s4) !important; }
.vbp-places .vbp-food-explore-card h3 { margin: 0 0 var(--vbp-s2) !important; color: var(--vbp-text) !important; font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; text-transform: none !important; }
.vbp-places .vbp-food-explore-card p { margin: 0 !important; color: var(--vbp-text-2) !important; line-height: var(--vbp-lh-body) !important; }
.vbp-places .vbp-food-explore-card h3 a.vbp-food-explore-link { color: inherit; text-decoration: none; }
.vbp-places .vbp-food-explore-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.vbp-places .vbp-food-explore-card:hover .vbp-food-explore-link { text-decoration: underline; text-underline-offset: 4px; }
.vbp-places .vbp-food-explore-card:focus-within { outline: 3px solid var(--vbp-accent); outline-offset: 3px; }
.vbp-places .vbp-food-explore-context { margin-top: var(--vbp-s4) !important; }
.vbp-places .vbp-places-breadcrumbs { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--vbp-s2) !important; margin: 0 0 var(--vbp-s5) !important; color: var(--vbp-text-3) !important; font-size: var(--vbp-f1) !important; line-height: var(--vbp-lh-body) !important; }
.vbp-places .vbp-places-breadcrumbs a { color: var(--vbp-text-2) !important; text-decoration: none !important; }
.vbp-places .vbp-places-breadcrumbs a:hover { color: var(--vbp-accent) !important; }
.vbp-places .vbp-places-breadcrumbs [aria-current="page"] { color: var(--vbp-text) !important; }

.vbp-places .vbp-region-title { font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; margin: 0 0 var(--vbp-s4) !important; text-transform: none !important; }
.vbp-places .vbp-region-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; gap: var(--vbp-s2) !important; }
.vbp-places .vbp-region-card { display: flex !important; flex-direction: column !important; gap: 2px !important; padding: var(--vbp-s4) var(--vbp-s5) !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius) !important; text-decoration: none !important; transition: border-color var(--vbp-ease) !important; }
.vbp-places .vbp-region-card:hover { border-color: var(--vbp-text) !important; }
.vbp-places .vbp-region-name { font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-region-count { font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; }

.vbp-places .vbp-places-head { margin-bottom: var(--vbp-s6) !important; }
.vbp-places .vbp-places-title { font-size: var(--vbp-f5) !important; line-height: var(--vbp-lh-tight) !important; letter-spacing: var(--vbp-track-tight) !important; font-weight: var(--vbp-w-semibold) !important; color: var(--vbp-text) !important; margin: 0 0 var(--vbp-s1) !important; text-transform: none !important; }
.vbp-places .vbp-places-title .vbp-places-place { color: var(--vbp-accent) !important; }
.vbp-places .vbp-places-lead { font-size: var(--vbp-f2) !important; color: var(--vbp-text-2) !important; margin: 0 !important; }

.vbp-places .vbp-places-tabs { display: flex !important; flex-wrap: wrap !important; gap: var(--vbp-s5) !important; border-bottom: 1px solid var(--vbp-hairline) !important; margin-bottom: var(--vbp-s5) !important; }
.vbp-places .vbp-places-tab { padding: 0 0 var(--vbp-s3) !important; font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-text-2) !important; text-decoration: none !important; border-bottom: 2px solid transparent !important; margin-bottom: -1px !important; transition: color var(--vbp-ease) !important; }
.vbp-places .vbp-places-tab b { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 20px !important; height: 20px !important; padding: 0 6px !important; margin-left: 4px !important; border-radius: 10px !important; background: var(--vbp-surface-2) !important; color: var(--vbp-text-2) !important; font-size: 11px !important; font-weight: var(--vbp-w-medium) !important; line-height: 1 !important; }
.vbp-places .vbp-places-tab.is-on b { background: var(--vbp-text) !important; color: var(--vbp-surface) !important; }
.vbp-places .vbp-places-tab:hover { color: var(--vbp-text) !important; }
.vbp-places .vbp-places-tab.is-on { color: var(--vbp-text) !important; border-bottom-color: var(--vbp-text) !important; }

.vbp-places .vbp-places-note { font-size: var(--vbp-f2) !important; color: var(--vbp-text-2) !important; margin: 0 0 var(--vbp-s3) !important; }

.vbp-places .vbp-places-radius { padding: var(--vbp-s1) var(--vbp-s3) !important; font-size: var(--vbp-f1) !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius-pill) !important; color: var(--vbp-text-2) !important; text-decoration: none !important; }
.vbp-places .vbp-places-radius.is-on { background: var(--vbp-text) !important; border-color: var(--vbp-text) !important; color: var(--vbp-surface) !important; }
.vbp-places .vbp-places-clear { margin-left: auto !important; padding: var(--vbp-s1) var(--vbp-s3) !important; font-size: var(--vbp-f1) !important; font-weight: 700 !important; color: var(--vbp-accent) !important; border: 1px solid var(--vbp-accent) !important; border-radius: var(--vbp-radius-pill) !important; text-decoration: none !important; }

.vbp-places .vbp-places-provinces { display: flex !important; flex-wrap: wrap !important; gap: var(--vbp-s2) !important; margin-bottom: var(--vbp-s5) !important; }
.vbp-places .vbp-places-chip { padding: var(--vbp-s2) var(--vbp-s4) !important; font-size: var(--vbp-f2) !important; color: var(--vbp-text) !important; text-decoration: none !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius-pill) !important; transition: background var(--vbp-ease) !important; }
.vbp-places .vbp-places-chip:hover { background: var(--vbp-accent-soft) !important; }
.vbp-places .vbp-places-chip.is-on { background: var(--vbp-text) !important; color: var(--vbp-surface) !important; }
.vbp-places .vbp-places-chip b { font-weight: var(--vbp-w-regular) !important; color: var(--vbp-text-3) !important; margin-left: var(--vbp-s1) !important; }
.vbp-places .vbp-places-chip.is-on b { color: var(--vbp-surface) !important; opacity: .6 !important; }

.vbp-places .vbp-places-count { font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; margin: 0 0 var(--vbp-s3) !important; }
.vbp-places .vbp-places-empty { font-size: var(--vbp-f3) !important; color: var(--vbp-text-2) !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius) !important; padding: var(--vbp-s9) var(--vbp-s5) !important; text-align: center !important; }
.vbp-places .vbp-places-empty p { margin: 0 0 var(--vbp-s4) !important; }
.vbp-places .vbp-places-empty-actions { display: flex !important; justify-content: center !important; align-items: center !important; flex-wrap: wrap !important; gap: var(--vbp-s3) !important; }
.vbp-places .vbp-places-empty-primary,.vbp-places .vbp-places-empty-secondary { display: inline-flex !important; min-height: 44px !important; padding: 0 var(--vbp-s5) !important; align-items: center !important; justify-content: center !important; border-radius: var(--vbp-radius-pill) !important; font-size: var(--vbp-f2) !important; font-weight: 700 !important; text-decoration: none !important; }
.vbp-places .vbp-places-empty-primary { color: #fff !important; background: var(--vbp-accent) !important; border: 1px solid var(--vbp-accent) !important; }
.vbp-places .vbp-places-empty-secondary { color: var(--vbp-text) !important; background: var(--vbp-surface) !important; border: 1px solid var(--vbp-hairline) !important; }


.vbp-places .vbp-places-distance { color: var(--vbp-positive) !important; font-weight: var(--vbp-w-medium) !important; }

.vbp-places .vbp-places-pager { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: var(--vbp-s1) !important; margin-top: var(--vbp-s7) !important; font-size: var(--vbp-f2) !important; }
.vbp-places .vbp-page,
.vbp-places .vbp-page-step { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 40px !important; height: 40px !important; padding: 0 var(--vbp-s3) !important; border-radius: var(--vbp-radius-sm) !important; color: var(--vbp-text) !important; text-decoration: none !important; transition: background var(--vbp-ease) !important; }
.vbp-places .vbp-page:hover,
.vbp-places .vbp-page-step:hover { background: var(--vbp-surface-2) !important; }
.vbp-places .vbp-page.is-on { background: var(--vbp-text) !important; color: var(--vbp-surface) !important; font-weight: var(--vbp-w-medium) !important; }
.vbp-places .vbp-page.is-on:hover { background: var(--vbp-text) !important; }
.vbp-places .vbp-page-step { color: var(--vbp-text-2) !important; }
.vbp-places .vbp-page-step.is-off { color: var(--vbp-text-3) !important; opacity: .4 !important; }
.vbp-places .vbp-page-step.is-off:hover { background: none !important; }
.vbp-places .vbp-page-gap { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 24px !important; height: 40px !important; color: var(--vbp-text-3) !important; }

.vbp-places .vbp-places-modal[hidden] { display: none !important; }
.vbp-places .vbp-places-modal { position: fixed !important; inset: 0 !important; z-index: 9999 !important; background: rgba(0,0,0,.4) !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: var(--vbp-s5) !important; }
.vbp-places .vbp-places-modal-body p { font-size: var(--vbp-f2) !important; line-height: var(--vbp-lh-body) !important; color: var(--vbp-text-2) !important; }
.vbp-places .vbp-places-modal.is-loading .vbp-places-modal-box { width: 190px !important; height: 132px !important; overflow: hidden !important; transition: none !important; }
.vbp-places .vbp-places-loading { height: 132px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 12px !important; color: var(--vbp-text-2) !important; font-size: var(--vbp-f2) !important; }
.vbp-places .vbp-places-spinner { width: 28px !important; height: 28px !important; border: 3px solid var(--vbp-hairline) !important; border-top-color: var(--vbp-accent) !important; border-radius: 50% !important; animation: vbp-places-spin .75s linear infinite !important; }
.vbp-places .vbp-places-modal.is-loading .vbp-places-close { top: 8px !important; right: 8px !important; width: 30px !important; height: 30px !important; font-size: 17px !important; }
@keyframes vbp-places-spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
    .vbp-places .vbp-doors { grid-template-columns: 1fr !important; }
    .vbp-places .vbp-places-starters-grid { grid-template-columns: 1fr !important; }
    .vbp-places .vbp-food-explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
    .vbp-places { padding: var(--vbp-s5) var(--vbp-s4) var(--vbp-s7) !important; }
    .vbp-places .vbp-lead { margin-bottom: var(--vbp-s6) !important; }
    .vbp-places .vbp-lead-title { font-size: var(--vbp-f5) !important; }
    .vbp-places .vbp-places-title { font-size: var(--vbp-f4) !important; }
    .vbp-places .vbp-lead-search { flex-direction: column !important; }
    .vbp-places .vbp-lead-search button { width: 100% !important; }
    .vbp-places .vbp-food-explore { padding: var(--vbp-s4) !important; }
    .vbp-places .vbp-food-explore-heading { align-items: stretch !important; flex-direction: column !important; }
    .vbp-places .vbp-food-explore-grid { grid-template-columns: 1fr !important; }
}
.vbp-places-sprite { position: absolute !important; width: 0 !important; height: 0 !important; overflow: hidden !important; }
.vbp-places .vbp-places-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(252px, 1fr)) !important; gap: var(--vbp-s4) !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.vbp-places .vbp-places-grid > li { list-style: none !important; margin: 0 !important; }
.vbp-places .vbp-places-more { display: flex !important; flex-direction: column !important; gap: 0 !important; width: 100% !important; height: 100% !important; text-align: left !important; padding: 0 !important; overflow: hidden !important; background: var(--vbp-surface) !important; border: 1px solid #e5e5e7 !important; border-radius: 18px !important; cursor: pointer !important; font-family: var(--vbp-font) !important; box-shadow:0 1px 2px rgba(0,0,0,.025) !important; transition: border-color var(--vbp-ease), box-shadow var(--vbp-ease), transform var(--vbp-ease) !important; }
.vbp-places .vbp-places-more:hover { border-color: transparent !important; box-shadow: 0 8px 24px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06) !important; transform: translateY(-2px) !important; }
.vbp-places .vbp-places-more:focus-visible { outline: 2px solid var(--vbp-accent) !important; outline-offset: 2px !important; }
.vbp-places .vbp-places-thumb { display: block !important; position: relative !important; width: 100% !important; aspect-ratio: 3 / 2 !important; overflow: hidden !important; background: var(--vbp-surface-2) !important; }
.vbp-places .vbp-places-thumb .vbp-places-photo-credit { position: absolute !important; bottom: 8px !important; left: 8px !important; max-width: calc(100% - 16px) !important; padding: 3px 6px !important; border-radius: 4px !important; background: rgba(0, 0, 0, .72) !important; color: #fff !important; font-size: 12px !important; line-height: 1.4 !important; overflow-wrap: anywhere !important; }
.vbp-places .vbp-places-thumb img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1) !important; }
.vbp-places .vbp-places-more:hover .vbp-places-thumb img { transform: scale(1.04) !important; }
.vbp-places .vbp-places-thumb.is-blank { display: flex !important; align-items: center !important; justify-content: center !important; background: linear-gradient(160deg, var(--vbp-surface-2) 0%, #ececf0 100%) !important; }
.vbp-places .vbp-places-thumb.is-blank svg { width: 38px !important; height: 38px !important; fill: none !important; stroke: var(--vbp-text-3) !important; stroke-width: 1.4 !important; stroke-linecap: round !important; stroke-linejoin: round !important; opacity: .65 !important; transition: opacity var(--vbp-ease), transform var(--vbp-ease) !important; }
.vbp-places .vbp-places-more:hover .vbp-places-thumb.is-blank svg { opacity: .9 !important; transform: scale(1.06) !important; }
.vbp-places .vbp-places-body { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; gap: var(--vbp-s2) !important; padding: var(--vbp-s4) !important; }
.vbp-places .vbp-places-name { font-size: var(--vbp-f3) !important; line-height: 1.3 !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.vbp-places .vbp-places-line { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--vbp-s3) !important; font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; margin: 0 !important; }
.vbp-places .vbp-places-line:empty { display: none !important; }
.vbp-places .vbp-places-rating { font-weight: var(--vbp-w-medium) !important; color: var(--vbp-text) !important; letter-spacing: 0 !important; }
.vbp-places .vbp-places-rating i { font-style: normal !important; font-weight: var(--vbp-w-regular) !important; color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-distance { color: var(--vbp-accent) !important; font-weight: var(--vbp-w-medium) !important; }
.vbp-places .vbp-places-address { font-size: var(--vbp-f2) !important; line-height: 1.45 !important; color: var(--vbp-text-2) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.vbp-places .vbp-places-tags { display: flex !important; flex-wrap: wrap !important; gap: var(--vbp-s1) !important; margin-top: auto !important; padding-top: var(--vbp-s3) !important; }
.vbp-places .vbp-places-tag { display: inline-block !important; padding: 3px 10px !important; font-size: 11px !important; font-weight: var(--vbp-w-medium) !important; line-height: 1.6 !important; color: var(--vbp-accent) !important; background: var(--vbp-accent-soft) !important; border-radius: var(--vbp-radius-pill) !important; }
.vbp-places .vbp-places-tag.is-quiet { color: var(--vbp-text-3) !important; background: var(--vbp-surface-2) !important; }
@supports not (aspect-ratio: 3 / 2) { .vbp-places .vbp-places-thumb { height: 168px !important; } }
.vbp-places .vbp-places-modal-body { padding: 0 !important; }
.vbp-places .vbp-places-reviews { border-top: 1px solid var(--vbp-hairline) !important; padding: var(--vbp-s6) !important; }
.vbp-places .vbp-places-reviews-head { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: var(--vbp-s3) !important; margin-bottom: var(--vbp-s5) !important; }
.vbp-places .vbp-places-reviews-head h4 { margin: 0 !important; font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; text-transform: none !important; }
.vbp-places .vbp-places-reviews-note { font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-review-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid !important; gap: var(--vbp-s4) !important; }
.vbp-places .vbp-places-review { list-style: none !important; margin: 0 !important; padding: var(--vbp-s4) !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius) !important; }
.vbp-places .vbp-places-review-top { display: flex !important; align-items: center !important; gap: var(--vbp-s3) !important; margin-bottom: var(--vbp-s3) !important; }
.vbp-places .vbp-places-avatar { width: 36px !important; height: 36px !important; flex: 0 0 36px !important; border-radius: var(--vbp-radius-pill) !important; object-fit: cover !important; background: var(--vbp-hairline) !important; }
.vbp-places .vbp-places-avatar.is-blank { display: flex !important; align-items: center !important; justify-content: center !important; font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; color: var(--vbp-text-2) !important; text-transform: uppercase !important; }
.vbp-places .vbp-places-review-who { display: flex !important; flex-direction: column !important; gap: 1px !important; min-width: 0 !important; }
.vbp-places .vbp-places-review-name { font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-review-meta { font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-review-stars { font-weight: var(--vbp-w-regular) !important; color: #e0a300 !important; letter-spacing: 1px !important; }
.vbp-places .vbp-places-review-text { margin: 0 !important; font-size: var(--vbp-f2) !important; line-height: var(--vbp-lh-body) !important; color: var(--vbp-text-2) !important; white-space: pre-line !important; display: -webkit-box !important; -webkit-line-clamp: 6 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
@media (min-width: 761px) { .vbp-places .vbp-places-review-list { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 760px) { .vbp-places .vbp-places-reviews { padding: var(--vbp-s5) !important; } }
.vbp-places .vbp-places-score { display: grid !important; grid-template-columns: auto 1fr !important; gap: var(--vbp-s5) !important; align-items: center !important; margin-top: var(--vbp-s5) !important; padding: var(--vbp-s5) !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius) !important; }
.vbp-places .vbp-places-score-avg { text-align: center !important; padding-right: var(--vbp-s5) !important; border-right: 1px solid var(--vbp-hairline) !important; }
.vbp-places .vbp-places-score-avg b { display: block !important; font-size: 46px !important; line-height: 1 !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-score-stars { display: block !important; margin-top: var(--vbp-s2) !important; font-size: var(--vbp-f3) !important; color: #e0a300 !important; letter-spacing: 2px !important; }
.vbp-places .vbp-places-score-side { display: flex !important; flex-direction: column !important; gap: var(--vbp-s2) !important; min-width: 0 !important; }
.vbp-places .vbp-places-score-track { display: block !important; height: 9px !important; background: var(--vbp-hairline) !important; border-radius: var(--vbp-radius-pill) !important; overflow: hidden !important; }
.vbp-places .vbp-places-score-track i { display: block !important; height: 100% !important; background: #e0a300 !important; border-radius: var(--vbp-radius-pill) !important; }
.vbp-places .vbp-places-score-count { font-size: var(--vbp-f2) !important; color: var(--vbp-text-2) !important; }
.vbp-places .vbp-places-score-count b { font-weight: var(--vbp-w-semibold) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-score-note { font-size: var(--vbp-f1) !important; line-height: 1.45 !important; color: var(--vbp-text-3) !important; }
@media (max-width: 760px) { .vbp-places .vbp-places-score { grid-template-columns: 1fr !important; } .vbp-places .vbp-places-score-avg { border-right: 0 !important; border-bottom: 1px solid var(--vbp-hairline) !important; padding: 0 0 var(--vbp-s4) !important; } }
.vbp-places .vbp-places-modal-box { position: relative !important; width: 100% !important; max-width: 900px !important; max-height: 90vh !important; overflow-y: auto !important; background: var(--vbp-surface) !important; border-radius: 18px !important; padding: 0 !important; font-family: var(--vbp-font) !important; box-shadow: 0 28px 70px rgba(0,0,0,.26) !important; }
.vbp-places .vbp-places-close { position: absolute !important; top: var(--vbp-s4) !important; right: var(--vbp-s4) !important; width: 36px !important; height: 36px !important; font-size: 20px !important; line-height: 1 !important; border: 1px solid var(--vbp-hairline) !important; background: var(--vbp-surface) !important; border-radius: var(--vbp-radius-pill) !important; color: var(--vbp-text-2) !important; cursor: pointer !important; padding: 0 !important; z-index: 3 !important; }
.vbp-places .vbp-places-close:hover { background: var(--vbp-surface-2) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-crumb { padding: var(--vbp-s5) var(--vbp-s6) 0 !important; font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-gallery { display: grid !important; grid-template-columns: 2fr 1fr !important; grid-auto-rows: 320px !important; gap: var(--vbp-s2) !important; padding: var(--vbp-s4) var(--vbp-s6) 0 !important; }
.vbp-places .vbp-places-hero { min-width: 0 !important; min-height: 0 !important; }
.vbp-places .vbp-places-stack { display: grid !important; grid-template-rows: 1fr 1fr !important; gap: var(--vbp-s2) !important; min-width: 0 !important; min-height: 0 !important; }
.vbp-places .vbp-places-shot { position: relative !important; margin: 0 !important; height: 100% !important; overflow: hidden !important; border-radius: var(--vbp-radius) !important; background: var(--vbp-surface-2) !important; }
.vbp-places .vbp-places-hero .vbp-places-shot { height: 100% !important; }
.vbp-places .vbp-places-shot img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.vbp-places .vbp-places-shot figcaption { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; padding: 16px var(--vbp-s3) 8px !important; font-size: 11px !important; color: #fff !important; background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0)) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.vbp-places .vbp-places-stack figcaption { display: none !important; }
.vbp-places .vbp-places-more-count { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(0,0,0,.45) !important; color: #fff !important; font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; }
.vbp-places .vbp-places-sheet { display: grid !important; grid-template-columns: 1fr 320px !important; gap: var(--vbp-s6) !important; padding: var(--vbp-s6) !important; align-items: start !important; }
.vbp-places .vbp-places-main h3 { font-size: 30px !important; line-height: 1.2 !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; margin: 0 0 var(--vbp-s3) !important; text-transform: none !important; }
.vbp-places .vbp-places-head-line { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--vbp-s4) !important; margin-bottom: var(--vbp-s3) !important; }
.vbp-places .vbp-places-head-line:empty { display: none !important; }
.vbp-places .vbp-places-head-line .vbp-places-rating { font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-head-line .vbp-places-rating i { font-style: normal !important; font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-regular) !important; color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-alt { font-size: var(--vbp-f1) !important; color: var(--vbp-text-3) !important; padding: 3px 10px !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius-pill) !important; }
.vbp-places .vbp-places-sheet .vbp-places-tags { display: flex !important; flex-wrap: wrap !important; gap: var(--vbp-s2) !important; margin: 0 0 var(--vbp-s5) !important; padding: 0 !important; }
.vbp-places .vbp-places-desc { font-size: var(--vbp-f2) !important; line-height: var(--vbp-lh-body) !important; color: var(--vbp-text-2) !important; margin: 0 0 var(--vbp-s5) !important; }
.vbp-places .vbp-places-h { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--vbp-s3) !important; margin: 0 0 var(--vbp-s4) !important; font-size: var(--vbp-f4) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; text-transform: none !important; }
.vbp-places .vbp-places-chip { font-size: 11px !important; font-weight: var(--vbp-w-regular) !important; color: var(--vbp-text-2) !important; background: var(--vbp-surface-2) !important; border-radius: var(--vbp-radius-pill) !important; padding: 4px 11px !important; letter-spacing: 0 !important; }
.vbp-places .vbp-places-side .vbp-places-card { background: var(--vbp-surface) !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius) !important; padding: var(--vbp-s5) !important; }
.vbp-places .vbp-places-side h5 { margin: 0 0 var(--vbp-s4) !important; font-size: var(--vbp-f3) !important; font-weight: var(--vbp-w-semibold) !important; letter-spacing: var(--vbp-track-tight) !important; color: var(--vbp-text) !important; text-transform: none !important; }
.vbp-places .vbp-places-facts { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid !important; gap: var(--vbp-s4) !important; }
.vbp-places .vbp-places-facts li { list-style: none !important; margin: 0 !important; display: grid !important; grid-template-columns: 20px 1fr !important; gap: var(--vbp-s3) !important; align-items: start !important; font-size: var(--vbp-f2) !important; line-height: 1.5 !important; color: var(--vbp-text) !important; }
.vbp-places .vbp-places-facts b { display: block !important; font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-regular) !important; color: var(--vbp-text-3) !important; margin-bottom: 1px !important; }
.vbp-places .vbp-places-ico { width: 18px !important; height: 18px !important; margin-top: 3px !important; fill: none !important; stroke: var(--vbp-text-3) !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.vbp-places .vbp-places-modal-body .vbp-places-open { display: block !important; width: 100% !important; margin-top: var(--vbp-s5) !important; padding: 0 !important; height: 46px !important; line-height: 44px !important; text-align: center !important; font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-medium) !important; background: var(--vbp-surface) !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius-pill) !important; color: var(--vbp-text) !important; text-decoration: none !important; transition: border-color var(--vbp-ease), background var(--vbp-ease) !important; }
.vbp-places .vbp-places-modal-body .vbp-places-open:hover { background: var(--vbp-surface-2) !important; border-color: var(--vbp-text-3) !important; }
@media (max-width: 860px) { .vbp-places .vbp-places-sheet { grid-template-columns: 1fr !important; gap: var(--vbp-s5) !important; padding: var(--vbp-s5) !important; } .vbp-places .vbp-places-crumb { padding: var(--vbp-s5) var(--vbp-s5) 0 !important; } .vbp-places .vbp-places-gallery { grid-template-columns: 1fr !important; grid-auto-rows: 210px !important; padding: var(--vbp-s4) var(--vbp-s5) 0 !important; } .vbp-places .vbp-places-hero .vbp-places-shot { height: 100% !important; } .vbp-places .vbp-places-stack { grid-template-rows: none !important; grid-template-columns: 1fr 1fr !important; height: 110px !important; } .vbp-places .vbp-places-main h3 { font-size: var(--vbp-f4) !important; } }
.vbp-places .vbp-places-crumb a { color: var(--vbp-text-2) !important; text-decoration: none !important; }
.vbp-places .vbp-places-crumb a:hover { color: var(--vbp-accent) !important; text-decoration: underline !important; }
.vbp-places a.vbp-places-tag { text-decoration: none !important; transition: background var(--vbp-ease), color var(--vbp-ease) !important; }
.vbp-places a.vbp-places-tag:hover { background: var(--vbp-accent-soft) !important; color: var(--vbp-accent) !important; }
.vbp-places .vbp-places-active { display: flex !important; flex-wrap: wrap !important; gap: var(--vbp-s2) !important; margin: 0 0 var(--vbp-s4) !important; }
.vbp-places .vbp-places-off { display: inline-flex !important; align-items: center !important; gap: var(--vbp-s2) !important; padding: 5px 12px !important; font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-accent) !important; background: var(--vbp-accent-soft) !important; border-radius: var(--vbp-radius-pill) !important; text-decoration: none !important; transition: background var(--vbp-ease) !important; }
.vbp-places .vbp-places-off:hover { background: var(--vbp-accent) !important; color: var(--vbp-surface) !important; }
.vbp-places .vbp-places-off b { font-weight: var(--vbp-w-regular) !important; font-size: 15px !important; line-height: 1 !important; opacity: .7 !important; }
.vbp-places .vbp-places-bar { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; gap: var(--vbp-s4) !important; align-items: end !important; margin: 0 0 var(--vbp-s4) !important; padding: var(--vbp-s5) !important; background: var(--vbp-surface) !important; border: 1px solid var(--vbp-hairline) !important; border-radius: var(--vbp-radius) !important; }
.vbp-places .vbp-places-field { display: flex !important; flex-direction: column !important; gap: 6px !important; min-width: 0 !important; }
.vbp-places .vbp-places-field.is-wide { grid-column: span 2 !important; }
.vbp-places .vbp-places-field > span { font-size: var(--vbp-f1) !important; font-weight: var(--vbp-w-medium) !important; color: var(--vbp-text-2) !important; }
.vbp-places .vbp-places-field input, .vbp-places .vbp-places-field select { width: 100% !important; height: 44px !important; padding: 0 var(--vbp-s4) !important; font-family: var(--vbp-font) !important; font-size: var(--vbp-f2) !important; color: var(--vbp-text) !important; background: var(--vbp-surface-2) !important; border: 1px solid transparent !important; border-radius: var(--vbp-radius-sm) !important; }
.vbp-places .vbp-places-field select { appearance: none !important; -webkit-appearance: none !important; padding-right: 34px !important; cursor: pointer !important; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236e6e73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 13px center !important; background-size: 11px 8px !important; }
.vbp-places .vbp-places-field input:focus, .vbp-places .vbp-places-field select:focus { outline: none !important; border-color: var(--vbp-accent) !important; background: var(--vbp-surface) !important; }
.vbp-places .vbp-places-field input::placeholder { color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-actions { display: flex !important; gap: var(--vbp-s2) !important; align-items: flex-end !important; }
.vbp-places .vbp-places-bar .vbp-places-go, .vbp-places .vbp-places-bar .vbp-places-near { height: 44px !important; padding: 0 var(--vbp-s5) !important; font-family: var(--vbp-font) !important; font-size: var(--vbp-f2) !important; font-weight: var(--vbp-w-medium) !important; border-radius: var(--vbp-radius-sm) !important; cursor: pointer !important; white-space: nowrap !important; }
.vbp-places .vbp-places-bar .vbp-places-go { flex: 1 1 auto !important; color: var(--vbp-surface) !important; background: var(--vbp-accent) !important; border: 0 !important; }
.vbp-places .vbp-places-bar .vbp-places-go:hover { opacity: .88 !important; }
.vbp-places .vbp-places-bar .vbp-places-near { flex: 1 1 auto !important; color: var(--vbp-text) !important; background: var(--vbp-surface) !important; border: 1px solid var(--vbp-hairline) !important; }
.vbp-places .vbp-places-bar .vbp-places-near:hover { border-color: var(--vbp-text-3) !important; }
.vbp-places .vbp-places-bar .vbp-places-near.is-on { color: var(--vbp-accent) !important; border-color: var(--vbp-accent) !important; background: var(--vbp-accent-soft) !important; }
@media (max-width: 640px) { .vbp-places .vbp-places-bar { grid-template-columns: 1fr !important; padding: var(--vbp-s4) !important; } .vbp-places .vbp-places-field.is-wide { grid-column: auto !important; } }
