/* ported by offshore-cursor-agent — VV-REL-20260925-038 listing pages wave 1 */
/* VV-REL-20260925-038 · map guard + full-screen gallery (forest green + champagne gold, thin gold frames) */
.vv038-map{background:#0b1d15!important;isolation:isolate}
.vv038-under{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#0b1d15;opacity:1;transition:opacity .45s ease;transform-origin:50% 50%}
.vv038-under.off{opacity:0}
.vv038-under img{position:absolute;max-width:none!important;border:0;user-select:none}
/* photo deck: horizontal drag owned by the tip, vertical page scroll stays native */
.vl-deck,.vl-deck .vl-pcard{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.vl-deck .vl-pcard img{pointer-events:none}
/* gallery */
html.vv038-glock,html.vv038-glock body{overflow:hidden!important;overscroll-behavior:none}
.vv038-g{position:fixed;inset:0;z-index:2147483000;background:#04100b;display:flex;flex-direction:column;color:#f3e7c4;font-family:inherit}
.vv038-g.out{opacity:0;transition:opacity .16s ease}
.vv038-gbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px 16px;border-bottom:1px solid rgba(214,185,120,.35);background:linear-gradient(180deg,#0a2419,#061a12)}
.vv038-gcount{font-weight:700;letter-spacing:.04em;font-size:15px;color:#e8cf8f}
.vv038-gx{width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,185,120,.7);background:rgba(4,16,11,.6);color:#f0d488;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center}
.vv038-gx:focus-visible,.vv038-gnav:focus-visible,.vv038-gt:focus-visible{outline:2px solid #f0d488;outline-offset:2px}
.vv038-gtrack{flex:1 1 auto;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x}
.vv038-gtrack::-webkit-scrollbar{display:none}
.vv038-gtrack.zoomed{overflow-x:hidden;touch-action:none}
.vv038-gs{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;overflow:hidden}
.vv038-gs img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:50% 50%;will-change:transform;user-select:none;-webkit-user-drag:none}
.vv038-gnav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(214,185,120,.6);background:rgba(4,16,11,.55);color:#f0d488;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.vv038-gnav.prev{left:12px}.vv038-gnav.next{right:12px}
@media (pointer:coarse){.vv038-gnav{display:none}}
.vv038-gthumbs{flex:0 0 auto;display:flex;gap:6px;overflow-x:auto;padding:8px 10px calc(env(safe-area-inset-bottom,0px) + 8px);border-top:1px solid rgba(214,185,120,.3);background:#061a12;scrollbar-width:none}
.vv038-gthumbs::-webkit-scrollbar{display:none}
.vv038-gt{flex:0 0 auto;width:64px;height:46px;padding:0;border-radius:6px;overflow:hidden;border:1px solid rgba(214,185,120,.25);background:#0b1d15;opacity:.6;cursor:pointer}
.vv038-gt.on{opacity:1;border-color:#f0d488;box-shadow:0 0 0 1px #f0d488}
.vv038-gt img{width:100%;height:100%;object-fit:cover}
/* places nearby */
.vv038-places{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden;contain:inline-size;margin-top:14px;border:1px solid rgba(214,185,120,.45);border-radius:14px;background:linear-gradient(180deg,rgba(10,36,25,.92),rgba(6,26,18,.92));padding:12px;color:#efe6cc}
.vv038-pl-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.vv038-pl-head h3{margin:0;font-size:17px;color:#f0d488;font-weight:700}
.vv038-src{font-size:11px;color:rgba(239,230,204,.6)}
.vv038-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 10px}
.vv038-fact{border:1px solid rgba(214,185,120,.3);border-radius:10px;padding:8px 10px;background:rgba(4,16,11,.5);display:flex;flex-direction:column;gap:2px;min-width:0}
.vv038-fact span{font-size:11px;color:rgba(239,230,204,.65)}.vv038-fact b{font-size:15px;color:#f3e7c4;overflow-wrap:anywhere}.vv038-fact i{font-size:10px;font-style:normal;color:rgba(214,185,120,.8)}
.vv038-pl-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:8px;-webkit-overflow-scrolling:touch}
.vv038-pl-tabs::-webkit-scrollbar{display:none}
.vv038-pl-tab{flex:0 0 auto;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid rgba(214,185,120,.4);background:rgba(4,16,11,.5);color:#efe6cc;font-size:13px;font-weight:600;cursor:pointer}
.vv038-pl-tab b{color:#f0d488;margin-left:2px}.vv038-pl-tab.on{background:rgba(214,185,120,.18);border-color:#f0d488;color:#f0d488}
.vv038-pl-list{display:flex;flex-direction:column;gap:6px}
.vv038-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px;border-radius:10px;border:1px solid rgba(214,185,120,.2);background:rgba(4,16,11,.45);cursor:pointer;min-height:56px}
.vv038-row:hover,.vv038-row:focus-visible{border-color:rgba(240,212,136,.7);outline:none}
.vv038-rmain{min-width:0;flex:1}.vv038-rname{font-weight:700;color:#f3e7c4;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vv038-rsub,.vv038-raddr{font-size:12px;color:rgba(239,230,204,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vv038-racts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;max-width:48%}
.vv038-act,.vv038-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid rgba(214,185,120,.6);color:#f0d488!important;text-decoration:none!important;font-size:12px;font-weight:700;background:rgba(4,16,11,.4)}
.vv038-btn{min-height:44px;padding:10px 16px;font-size:14px}
.vv038-empty,.vv038-load{padding:12px;color:rgba(239,230,204,.7);font-size:13px}
@media (max-width:480px){.vv038-places{padding:10px}.vv038-row{flex-direction:column;align-items:stretch;gap:6px;padding:9px 10px}.vv038-racts{max-width:none;justify-content:flex-start}.vv038-act{min-height:34px;padding:5px 11px}.vv038-rname{white-space:normal}}
.vv038-more{width:100%;min-height:42px;border-radius:10px;border:1px dashed rgba(214,185,120,.55);background:transparent;color:#f0d488;font-weight:700;cursor:pointer}
/* detail sheet */
.vv038-sheet-wrap{position:fixed;inset:0;z-index:2147482000;background:rgba(2,8,5,.72);display:flex;align-items:flex-end;justify-content:center}
@media (min-width:700px){.vv038-sheet-wrap{align-items:center}}
.vv038-sheet{width:min(560px,100%);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#0b2619,#061a12);border:1px solid rgba(214,185,120,.6);border-radius:18px 18px 0 0;padding:14px 14px calc(env(safe-area-inset-bottom,0px) + 14px);color:#efe6cc;overscroll-behavior:contain}
@media (min-width:700px){.vv038-sheet{border-radius:18px}}
.vv038-sh-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.vv038-sh-head h3{margin:0;font-size:18px;color:#f0d488}
.vv038-mini{position:relative;height:170px;border-radius:12px;overflow:hidden;border:1px solid rgba(214,185,120,.5);background:#0b1d15;margin-bottom:10px}
.vv038-mini img{position:absolute;width:256px;height:256px;max-width:none}
.vv038-pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#d6b978;border:3px solid #fff;box-shadow:0 0 12px rgba(214,185,120,.9)}
.vv038-kvs{display:flex;flex-direction:column;gap:2px}.vv038-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid rgba(214,185,120,.15);font-size:13px}
.vv038-kv span{color:rgba(239,230,204,.65);flex:0 0 auto}.vv038-kv b{text-align:right;font-weight:600;overflow-wrap:anywhere}.vv038-kv a{color:#f0d488}
.vv038-sh-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* grid blow-out guard: long content must never widen the listing columns past the phone viewport */
.vl-body>.vl-left,.vl-body>.vl-right,.vl-panel{min-width:0}
.vv038-mk{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 5px;border-radius:999px;background:rgba(4,16,11,.88);border:1px solid rgba(214,185,120,.8);color:#f3e7c4;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.vv038-mk span{font-size:14px}
