/* Nearby v3: vibe chips, budget, Swipe and Browse cards, details sheet, map */
.v3-controls{display:grid;gap:10px;margin:8px 0 6px}
.v3-modes{display:inline-flex;justify-self:start;background:#efe6d4;border-radius:999px;padding:4px;gap:4px}
.v3-modes .v3-chip{border:0;background:transparent;min-height:40px;padding:8px 20px;font:700 14px system-ui}
.v3-modes .v3-chip[aria-pressed=true]{background:#292820;color:#fffaf1}
.v3-row{display:flex;flex-wrap:wrap;gap:8px}
.nearby-wrap .v3-chip{font:600 14px system-ui;min-height:40px;padding:8px 14px;border-radius:999px;background:#fffaf1;border:1px solid #cdbd9f;color:#292820;cursor:pointer}
.nearby-wrap .v3-chip[aria-pressed=true]{background:#895b2d;border-color:#895b2d;color:#fffaf1}
.v3-budget .v3-chip{font-size:13px;min-height:36px;padding:6px 12px}
.v3-status{font:600 14px system-ui;color:#5b5446;margin:10px 0 12px}
.v3-friends{background:#f6e7cc;border-radius:10px;padding:12px 14px;font:14px/1.5 system-ui;margin:8px 0}
.v3-copy{width:100%}
/* Browse grid */
.v3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:720px){.v3-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:1000px){.v3-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.v3-card{background:#fffaf1;border:1px solid #e2d5bd;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;cursor:pointer;box-shadow:0 1px 2px rgba(60,40,10,.06);transition:transform .15s,box-shadow .15s}
.v3-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(60,40,10,.12)}
.v3-media{position:relative;aspect-ratio:4/3;background:#f1e7d5;overflow:hidden}
.v3-photo,.v3-media .v3-tile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v3-photo{display:block}
.v3-tile{display:flex;align-items:center;justify-content:center}
.v3-tile svg{width:38%;max-width:96px;stroke:rgba(92,58,24,.55)}
.v3-tile-cocktail{background:linear-gradient(140deg,#fbe4d3,#f2bfa8)}
.v3-tile-food{background:linear-gradient(140deg,#fdebc6,#f3c47f)}
.v3-tile-coffee{background:linear-gradient(140deg,#f3e7d6,#dcc2a2)}
.v3-tile-icecream{background:linear-gradient(140deg,#fde8ea,#f5c4cf)}
.v3-tile-activity{background:linear-gradient(140deg,#e6efdc,#bfd7b2)}
.v3-badges{position:absolute;left:8px;top:8px;right:48px;display:flex;flex-wrap:wrap;gap:5px}
.v3-badge{font:700 11px/1.2 system-ui;letter-spacing:.02em;padding:5px 8px;border-radius:999px;background:rgba(255,250,241,.95);color:#292820;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.v3-badge-award{background:#7a1f1f;color:#fff}
.v3-badge-favorite{background:#1f5a4a;color:#fff}
.v3-badge-pick{background:#e9bd6b;color:#292820}
.v3-badge-friend{background:#c2410c;color:#fff}
.v3-badges-full{position:static;margin:0 0 8px}
.v3-badges-full a.v3-badge{text-decoration:none;display:inline-block;min-height:0}
.nearby-wrap .v3-heart,.v3-heart{position:absolute;right:8px;top:8px;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;border:0;background:rgba(255,250,241,.95);color:#895b2d;font:22px/40px system-ui;box-shadow:0 1px 4px rgba(0,0,0,.2);margin:0}
.v3-heart[aria-pressed=true]{background:#895b2d;color:#fff}
.v3-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.v3-card h3{font:600 17px/1.25 Georgia,serif;margin:0}
.nearby-wrap .v3-name{all:unset;cursor:pointer;overflow-wrap:anywhere}
.v3-name:focus-visible{outline:2px solid #895b2d;outline-offset:2px}
.v3-what{font:13px/1.45 system-ui;color:#4a4436;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v3-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font:600 12px system-ui;color:#6b604c;margin:2px 0 0}
.v3-price{color:#1f5a4a;letter-spacing:.05em}
.nearby-wrap .v3-reviews,.v3-reviews{font:600 12px system-ui;color:#895b2d;margin-top:auto;padding-top:4px;min-height:0}
.nearby-wrap .v3-more{display:block;margin:16px auto;background:#fffaf1}
.v3-unpriced{margin:12px 0}.v3-unpriced .v3-grid{margin-top:12px}
.nearby-wrap .v3-link-btn{background:transparent;border:1px solid #cdbd9f;border-radius:999px;font:600 13px system-ui;padding:8px 14px;min-height:40px}
.v3-map-wrap{margin:20px 0}.v3-map{height:340px;border-radius:14px;border:1px solid #e2d5bd;z-index:0}
@media(min-width:1000px){.v3-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.v3-layout:has(.v3-map-wrap[hidden]){grid-template-columns:1fr}.v3-layout .v3-map-wrap{position:sticky;top:90px;margin:0}.v3-layout .v3-map{height:calc(100vh - 140px);max-height:640px}.v3-main .v3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v3-foot{font:12px/1.6 system-ui;color:#6b604c;margin:18px 0}
.v3-small{font:13px/1.5 system-ui;color:#5b5446;margin:6px 0}
/* Swipe */
.v3-is-swipe{display:block}
.v3-deck{max-width:420px;margin:0 auto;outline:none}
.v3-deck:focus-visible{outline:2px solid #895b2d;outline-offset:6px;border-radius:16px}
.v3-count{text-align:center;font:600 12px system-ui;color:#6b604c;margin:0 0 8px}
.v3-stack{position:relative;height:min(560px,128vw)}
.v3-swipe{position:absolute;inset:0;background:#fffaf1;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(60,40,10,.18);display:flex;flex-direction:column;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform .22s ease,opacity .22s ease;cursor:grab}
.v3-swipe-next{transform:scale(.95) translateY(12px);opacity:.7;pointer-events:none}
.v3-swipe-media{position:relative;flex:1;min-height:0;background:#f1e7d5}
.v3-swipe-media .v3-photo,.v3-swipe-media .v3-tile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.v3-swipe-media .v3-badges{right:8px}
.v3-swipe-body{padding:14px 16px 16px}
.v3-swipe-body h3{font:400 26px/1.15 'DM Serif Display',Georgia,serif;margin:0 0 6px}
.v3-swipe-body .v3-what{-webkit-line-clamp:3;font-size:14px}
.v3-swipe-body .v3-meta{font-size:13px;margin-top:8px}
.v3-swipe-body .v3-meta span:not(.v3-price):not(:first-child){background:#efe6d4;border-radius:999px;padding:3px 9px}
.v3-stamp{position:absolute;top:22px;font:800 28px system-ui;letter-spacing:.08em;padding:4px 12px;border:4px solid;border-radius:10px;opacity:0;transition:opacity .1s}
.v3-stamp-like{left:20px;color:#1f7a4a;transform:rotate(-12deg)}
.v3-stamp-skip{right:20px;color:#b42318;transform:rotate(12deg)}
.v3-hint-like .v3-stamp-like,.v3-hint-skip .v3-stamp-skip{opacity:1}
.v3-out-right{transform:translateX(140%) rotate(18deg)!important;opacity:0}
.v3-out-left{transform:translateX(-140%) rotate(-18deg)!important;opacity:0}
.v3-actions{display:flex;justify-content:center;align-items:center;gap:22px;margin:18px 0 8px}
.nearby-wrap .v3-act{width:64px;height:64px;min-height:64px;border-radius:50%;padding:0;font:700 26px/1 system-ui;background:#fffaf1;border:1px solid #e2d5bd;box-shadow:0 3px 10px rgba(60,40,10,.15)}
.nearby-wrap .v3-act-skip{color:#6b6255}.nearby-wrap .v3-act-like{color:#fff;background:#895b2d;border-color:#895b2d}
.nearby-wrap .v3-act-info{width:46px;height:46px;min-height:46px;font:italic 700 20px Georgia,serif;color:#5b5446}
.v3-friends-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:6px 0}
.v3-deck-done{text-align:center;padding:40px 20px;background:#fffaf1;border-radius:18px;border:1px solid #e2d5bd}
.v3-done-title{font:400 26px 'DM Serif Display',Georgia,serif;margin:0 0 8px}
/* Details sheet */
.v3-sheet{border:0;padding:0;border-radius:18px;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 32px);background:#fffaf1;color:#292820;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.v3-sheet::backdrop{background:rgba(30,24,14,.55)}
.v3-sheet-in{position:relative}
.v3-sheet-media{position:relative;aspect-ratio:16/9;background:#f1e7d5}
.v3-sheet-media .v3-photo,.v3-sheet-media .v3-tile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-close{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,250,241,.95);font:700 18px system-ui;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.v3-sheet-body{padding:16px 18px 20px}
.v3-sheet-body h2{font:400 28px/1.15 'DM Serif Display',Georgia,serif;margin:0 0 6px}
.v3-sheet-body .v3-what{-webkit-line-clamp:4;font-size:15px}
.v3-sheet-body .v3-meta{font-size:13px;margin:8px 0}
.v3-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.v3-links a,.v3-links button{font:600 14px system-ui;padding:10px 14px;border:1px solid #cdbd9f;border-radius:999px;color:#292820;text-decoration:none;background:#fff;cursor:pointer;min-height:42px}
.v3-save{width:100%;font:700 15px system-ui;padding:14px;border-radius:12px;border:0;background:#895b2d;color:#fff;cursor:pointer;min-height:48px}
.v3-save[aria-pressed=true]{background:#efe6d4;color:#292820}
#nearby-results.v3-results{max-height:none;overflow:visible;border:0;padding:0;scrollbar-gutter:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#nearby-results.v3-is-swipe{display:block}
@media(min-width:720px){#nearby-results.v3-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.nearby-wrap #nearby-results .v3-card{padding:0}
@media(max-width:550px){.v3-body{padding:9px 10px 10px}.v3-card h3{font-size:15px}.v3-what{font-size:12px}.v3-badge{font-size:10px;padding:4px 7px}.v3-stack{height:min(520px,125vw)}}
@media(max-width:700px){.v3-controls .v3-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -24px;padding:2px 24px;scroll-padding:0 24px}.v3-controls .v3-row::-webkit-scrollbar{display:none}.nearby-wrap .v3-chip{flex:0 0 auto;font-size:13px;min-height:38px;padding:7px 12px}.v3-modes .v3-chip{min-height:38px;padding:7px 18px}}
