/* Mobile discovery: approved BitePrice concept, adapted to real menu/venue data. */
:root { --bp-lime:#c5f36a; --bp-orange:#ff724f; --bp-gutter:20px; --bp-text-2:#50594a; --bp-text-3:#626c5b; }
/* Keep the original charcoal palette from bp.css; lime is an accent, not a surface color. */
html[data-theme="dark"] { --bp-lime:#c9f25d; --bp-orange:#ff5b30; --bp-text-3:#92929c; }
.bp .bp-eyebrow { font-family:var(--bp-font); font-weight:700; letter-spacing:.12em; }
.bp .bp-price { font-family:var(--bp-font); font-weight:800; letter-spacing:-.035em; }
html[data-theme="dark"] .bp-offer .bp-price { color:var(--bp-text); }
html[data-theme="dark"] .bp-place-highlight .bp-price { color:var(--bp-lime); }
html[data-theme="dark"] .bp-home .bp-home-hero .bp-h1 em { color:var(--bp-text); }
.bp :is(.bp-btn,.bp-chip) { min-height:44px; border-radius:12px; }
.bp .bp-search { border-radius:14px; box-shadow:none; }
.bp .bp-search-go { border-radius:10px; }
.bp .bp-h1 { font-weight:800; line-height:1.15!important; }
.bp-home .bp-home-hero { padding-top:12px; gap:20px; }
.bp-home .bp-home-hero::before { display:none; }
.bp-home .bp-home-hero-copy { gap:12px; }
.bp-home .bp-home-hero .bp-h1 { font-size:clamp(2rem,7.8vw,3.5rem)!important; }
.bp-home .bp-home-hero .bp-h1 em { font:inherit; color:var(--bp-lime-text); }
.bp-home .bp-home-hero .bp-eyebrow { color:var(--bp-lime-text); font-size:.65rem; }
.bp-home .bp-home-hero .bp-lead { font-size:.9rem; max-width:480px; line-height:1.6!important; }
.bp-home-budget { display:grid; gap:10px; max-width:720px; }
.bp-home-budget-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 44px; gap:8px; }
.bp-home-budget-options a { justify-content:center; padding:10px 5px; font-size:.78rem; }
.bp-home-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:720px; }
.bp-home-categories a { display:grid; gap:9px; text-align:center; font-size:.75rem; text-decoration:none; }
.bp-home-categories a span { display:grid; place-items:center; min-height:58px; border:1px solid var(--bp-line); border-radius:16px; background:var(--bp-surface); font-size:1.65rem; transition:border-color .2s; }
.bp-home-categories a:hover span { border-color:var(--bp-lime); }
.bp-home-discover .bp-section-head { align-items:center; }
.bp-home-discover .bp-section-head>div { display:grid; gap:7px; }
.bp-home-trust { display:flex; align-items:center; gap:12px; padding:18px; border:1px solid var(--bp-line-strong); background:var(--bp-lime-soft); border-radius:16px; }
.bp-home-trust>i { color:var(--bp-lime-text); font-size:1.3rem; }
.bp-home-trust span { display:grid; gap:6px; }.bp-home-trust small { color:var(--bp-text-2); line-height:1.5; }
.bp-discovery-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.bp-shell .bp-offer { display:grid; align-content:start; gap:10px; padding:15px; border:1px solid var(--bp-line); border-radius:18px; background:var(--bp-surface); color:var(--bp-text); text-decoration:none; transition:border-color .15s,transform .15s; min-width:0; }
.bp-offer:hover { border-color:var(--bp-line-strong); transform:translateY(-1px); }
.bp-offer.is-best { border-color:color-mix(in srgb,var(--bp-lime) 40%,var(--bp-line)); }
.bp-offer>.bp-tag { justify-self:start; font-size:.62rem; letter-spacing:.035em; }
.bp-offer-top { display:flex; align-items:center; gap:14px; min-width:0; }
.bp-offer-cover { flex:none; width:78px; height:82px; border-radius:12px; overflow:hidden; display:grid; place-items:center; background:var(--bp-surface-2); color:var(--bp-lime-text); font-size:1.8rem; }
.bp-offer-cover img { width:100%; height:100%; object-fit:cover; }
.bp-offer-title { display:grid; gap:5px; min-width:0; }
.bp-offer-title>strong { font-size:.95rem; line-height:1.35; overflow-wrap:anywhere; }
.bp-offer-title>span { font-size:.78rem; color:var(--bp-text-2); line-height:1.4; }
.bp-offer .bp-price { font-size:1.6rem; line-height:1.2; }
.bp-offer-rating { display:flex; align-items:center; gap:5px; font-size:.77rem; color:var(--bp-text-2); flex-wrap:wrap; }
.bp-offer-rating strong { color:var(--bp-text); }.bp-offer-star { color:#dfb567; }
.bp-offer-location { display:flex; align-items:flex-start; gap:6px; font-size:.72rem; color:var(--bp-text-2); line-height:1.5; }
.bp-offer-location>i { color:var(--bp-orange); margin-top:3px; }
.bp-offer-location>span { flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bp-offer-location>b { white-space:nowrap; color:var(--bp-lime-text); }
.bp-offer-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:10px; border-top:1px solid var(--bp-line); font-size:.7rem; line-height:1.5; color:var(--bp-text-2); }
.bp-offer-footer>span { min-width:0; overflow-wrap:anywhere; }.bp-offer-footer>b { flex:none; color:var(--bp-text); font-weight:600; }.bp-offer-footer i { font-size:.6rem; margin-left:3px; }
.bp-offer-update { color:var(--bp-text-3); font-size:.68rem; }
.bp .bp-results-head { position:relative; top:auto; gap:13px; padding-block:22px 14px; border-bottom:0; background:var(--bp-bg); backdrop-filter:none; }
.bp-results-heading { display:grid; gap:8px; }.bp-results-heading .bp-eyebrow { color:var(--bp-lime-text); font-size:.65rem; }
.bp-discovery-filters { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr); gap:8px; }
.bp-discovery-filters .bp-chip { justify-content:center; padding:8px 6px; font-size:.76rem; min-width:0; white-space:normal; }
.bp-discovery-order { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.bp-discovery-order .bp-link { font-size:.73rem; border:0; background:transparent; text-align:left; min-height:44px; }
.bp-discovery-order select { background:var(--bp-bg); color:var(--bp-lime-text); font-size:.75rem; border:0; max-width:140px; min-height:44px; }
.bp-results .bp-results-bar { margin:0 0 14px; min-height:44px; }.bp-results .bp-results-count { font-size:.76rem; }
.bp-results .bp-results-map { height:clamp(260px,40dvh,480px); min-height:0; border:1px solid var(--bp-line); border-radius:18px; overflow:hidden; }
.bp-map-offer { margin-top:14px; }.bp-filter-field { display:grid; gap:10px; padding-block:10px; }.bp-filter-field .bp-small { line-height:1.5; }
.bp-filter-toggle { display:flex; align-items:center; gap:12px; min-height:44px; font-size:.88rem; cursor:pointer; }.bp-filter-toggle input { width:20px; height:20px; accent-color:var(--bp-lime); }
.bp-filter-select { padding:12px; border:1px solid var(--bp-line); border-radius:12px; background:var(--bp-surface); color:var(--bp-text); max-width:100%; }
.bp .bp-place-hero { height:clamp(175px,28vw,260px); }
.bp .bp-place-identity { gap:14px; }.bp .bp-place-highlight { margin-top:3px; padding:19px; gap:12px; background:linear-gradient(120deg,var(--bp-lime-soft),var(--bp-surface)); border-color:var(--bp-line-strong); }
.bp .bp-place-highlight-row { flex-direction:column; align-items:flex-start; gap:10px; }.bp .bp-place-highlight-row .bp-price { font-size:2rem; }.bp .bp-place-highlight-row strong { font-size:1.05rem; }.bp .bp-place-highlight-row small { margin-top:6px; }
.bp .bp-place-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; margin:0; padding:0; }
.bp .bp-place-actions>a:first-child { grid-column:1/-1; }.bp .bp-place-actions .bp-btn { min-width:0; padding:12px 8px; font-size:.8rem; white-space:normal; justify-content:center; }
.bp-place-rating { font-size:.84rem; line-height:1.5; }.bp .bp-place-pills { align-items:center; gap:9px; }.bp .bp-place-pills>.bp-tag { font-size:.64rem; }
.bp .bp-product-hero { border:1px solid var(--bp-line-strong); background:linear-gradient(120deg,var(--bp-lime-soft),var(--bp-surface)); box-shadow:none; }
.bp .bp-product-rank-line { align-items:start; }.bp .bp-product-rank-line strong { white-space:normal; overflow:visible; font-size:.94rem; }.bp .bp-product-rank-main { gap:10px; }
.bp .bp-product-rank-row { padding:16px; }.bp .bp-product-rank-pos { display:none; }.bp .bp-product-rank-row { grid-template-columns:minmax(0,1fr); }.bp .bp-product-rank-line>.bp-price { flex:none; font-size:1.5rem; }
.bp-discovery-note { padding:14px; border-radius:12px; border:1px solid var(--bp-line-strong); background:var(--bp-lime-soft); font-size:.85rem; color:var(--bp-text-2); line-height:1.5!important; }
.bp-saved header { display:grid; gap:12px; }.bp-saved-card { display:grid; gap:18px; }.bp-saved-card>a { display:grid; gap:12px; text-decoration:none; }.bp-saved-card .bp-btn { justify-self:start; }
@media(max-width:719.98px) {
 .bp .bp-home-city { display:none; }.bp .bp-notifications-desktop { display:none; }
 .bp .bp-brand img { max-width:114px; height:auto; }.bp .bp-city { border:0; background:none; padding-inline:5px; max-width:145px; font-size:.8rem; }
 .bp-topbar .bp-account>.bp-profile-link { display:none; }
 .bp-tabbar { grid-template-columns:repeat(5,minmax(0,1fr)); background:var(--bp-surface); }
.bp-tabbar a { font-size:.7rem; font-weight:500; color:var(--bp-text-2)!important; }.bp-tabbar a.active { color:var(--bp-lime-text)!important; }.bp-tabbar a.active i { background:var(--bp-lime-soft); color:var(--bp-lime-text); border-radius:11px; }
 .bp-home.bp-stack { gap:26px; }.bp-home .bp-home-hero { padding-top:14px; }
 .bp-home-discover .bp-section-head .bp-h2 { font-size:1.2rem!important; }.bp-home-discover .bp-link { font-size:.75rem; }
 .bp .bp-footer-credit { font-size:.65rem; }.bp .bp-product { display:grid; gap:20px; }
 .bp .bp-product-head { display:grid; gap:10px; }.bp .bp-product-hero-actions { display:flex; flex-wrap:wrap; }.bp .bp-product-hero-actions>.bp-btn { flex:1 1 130px; }
}
@media(min-width:720px) { .bp-discovery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.bp-home-hero { max-width:760px; }.bp .bp-results-head { max-width:760px; }.bp-map-offer { max-width:560px; }.bp-home-categories { max-width:480px; } }
@media(min-width:1080px) { .bp-discovery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .bp-offer { transition:none; }.bp-offer:hover { transform:none; } }

/* Keep geographic labels readable and the chosen offer visible on the map. */
html[data-theme="dark"] .bp-results-map .leaflet-tile-pane { filter:saturate(.65); }
.bp-results-map .bp-pin.is-active { background:var(--bp-lime); color:var(--bp-ink); }

/* Search is the central primary action; selected destinations remain distinguishable. */
.bp-tabbar .bp-tabbar-search { gap:3px; color:var(--bp-text)!important; font-weight:800; }
.bp-tabbar .bp-tabbar-search i { width:48px; height:44px; margin-top:-9px; border:3px solid var(--bp-bg); border-radius:16px; background:var(--bp-lime); color:var(--bp-ink); font-size:1.25rem; box-shadow:0 3px 10px rgba(23,40,12,.16); }
.bp-tabbar .bp-tabbar-search.active { color:var(--bp-lime-text)!important; }
.bp-tabbar .bp-tabbar-search.active i { background:var(--bp-lime); color:var(--bp-ink); outline:2px solid var(--bp-lime-text); outline-offset:2px; }
.bp-tabbar .bp-tabbar-search:hover i { transform:translateY(-2px); }
html[data-theme="dark"] .bp-tabbar { background:var(--bp-surface); border-top-color:var(--bp-line); }
html:not([data-theme="dark"]) .bp-offer-star { color:#966000; }
.bp .bp-nav a.bp-nav-search { background:var(--bp-lime); color:var(--bp-ink)!important; }
.bp .bp-nav a.bp-nav-search.active { box-shadow:inset 0 0 0 2px var(--bp-lime-text); }
@media(min-width:900px) and (max-width:1199.98px) {
 .bp .bp-nav { margin-left:8px; }.bp .bp-nav a { padding-inline:10px; font-size:.83rem; }
 .bp-topbar a[data-analytics-action="upload_open"].bp-desktop-only { display:none; }
}

/* The map uses the screen between the real header and the fixed navigation. */
.bp-shell:has(.bp-results--map) > .bp-footer { display:none; }
.bp-shell:has(.bp-results--map) > main { min-height:0; }
.bp-results--map .bp-pin { background:var(--bp-ink); color:#fff; border:2px solid var(--bp-surface); box-shadow:0 2px 8px #0003; }
.bp-results--map .bp-pin.is-active { background:var(--bp-lime); color:var(--bp-ink); border-color:var(--bp-surface); }
.bp-map-cluster { display:grid; place-items:center; width:42px; height:42px; border:3px solid var(--bp-surface); border-radius:50%; background:var(--bp-ink); color:#fff; font:800 .9rem var(--bp-font); box-shadow:0 3px 9px #0003; }
.bp-map-cluster-list { display:grid; gap:4px; max-height:220px; overflow:auto; min-width:190px; }
.bp-map-cluster-list button { min-height:44px; padding:9px; border:1px solid var(--bp-line); border-radius:8px; background:var(--bp-surface); color:var(--bp-text); text-align:left; font:600 .8rem var(--bp-font); }

html[data-theme="dark"] .bp-results--map .bp-discovery-filters .bp-chip[aria-pressed="true"] { border-color:var(--bp-lime); color:var(--bp-lime)!important; }
