/* "Find a valet" public page (owner 2026-10-08). Uses the website v2 tokens from site-v2.css (--o-*). RTL by logical
   properties; prefers-reduced-motion turns the hover and reveal motion off. */
.v2 .vn{padding:clamp(28px,4vw,56px) 0 clamp(48px,6vw,88px)}
.v2 .vn-bar{display:grid;gap:14px;margin-bottom:22px}
.v2 .vn-search{position:relative;max-width:520px}
.v2 .vn-search input{width:100%;min-height:52px;padding:12px 18px;padding-inline-start:48px;border-radius:999px;border:1px solid #e3dccf;background:#fff;font:500 15px var(--o-font);color:var(--o-dark);box-shadow:0 10px 30px -18px #0e121055}
.v2 .vn-search input:focus{outline:2px solid var(--o-crim);outline-offset:2px}
.v2 .vn-search svg{position:absolute;inset-inline-start:18px;top:16px;width:20px;height:20px;color:var(--o-gray)}
.v2 .vn-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v2 .vn-chips .lbl{font:700 11px var(--o-font);letter-spacing:.14em;text-transform:uppercase;color:var(--o-gray);margin-inline-end:4px}
.v2 .vn-chip{min-height:38px;padding:8px 16px;border-radius:999px;border:1px solid #e3dccf;background:#fff;font:600 13.5px var(--o-font);color:var(--o-dark);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.v2 .vn-chip:hover{border-color:var(--o-crim)}
.v2 .vn-chip[aria-pressed=true]{background:var(--o-dark);border-color:var(--o-dark);color:#fff}
.v2 .vn-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start}
.v2 .vn.no-map .vn-split{grid-template-columns:1fr}
.v2 .vn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;align-content:start}
.v2 .vn-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;color:var(--o-gray);font:600 13px var(--o-font)}
.v2 .vn-card{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #ece5d8;
  box-shadow:0 1px 0 #fff inset,0 18px 40px -26px #0e121066;transition:transform .45s var(--o-e),box-shadow .45s var(--o-e),border-color .3s}
.v2 .vn-card:hover,.v2 .vn-card:focus-within,.v2 .vn-card.is-picked{transform:translateY(-4px);box-shadow:0 28px 60px -30px #a6192e66;border-color:#e6b7bf}
.v2 .vn-card.is-picked{outline:2px solid var(--o-crim);outline-offset:2px}
.v2 .vn-cover{position:relative;aspect-ratio:16/9;background:radial-gradient(120% 120% at 0% 0%,#a6192e 0%,#4a0d18 55%,#0e1210 100%);overflow:hidden}
.v2 .vn-cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--o-e)}
.v2 .vn-card:hover .vn-cover img{transform:scale(1.04)}
.v2 .vn-cover .vn-mono{position:absolute;inset:0;display:grid;place-items:center;color:#ffffffcc;font:800 56px/1 var(--o-font);letter-spacing:-.04em}
.v2 .vn-type{position:absolute;inset-block-start:12px;inset-inline-start:12px;padding:5px 12px;border-radius:999px;background:#0e1210cc;color:#fff;font:700 11.5px var(--o-font);letter-spacing:.06em;backdrop-filter:blur(6px)}
.v2 .vn-open{position:absolute;inset-block-start:12px;inset-inline-end:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#ffffffe6;color:#1f6b45;font:700 11.5px var(--o-font)}
.v2 .vn-open::before{content:'';width:7px;height:7px;border-radius:50%;background:#2f9a66;box-shadow:0 0 0 3px #2f9a6633}
.v2 .vn-open.is-closed{color:#8b2232}.v2 .vn-open.is-closed::before{background:var(--o-crim);box-shadow:0 0 0 3px #a6192e33}
.v2 .vn-body{display:grid;gap:6px;padding:16px 18px 18px;flex:1}
.v2 .vn-body h3{margin:0;font:800 19px/1.25 var(--o-font);letter-spacing:-.02em;color:var(--o-dark)}
.v2 .vn-where{display:flex;align-items:center;gap:6px;color:var(--o-gray);font:600 13px var(--o-font)}
.v2 .vn-where svg{width:15px;height:15px;color:var(--o-crim);flex:none}
.v2 .vn-by{color:var(--o-gray);font-size:13px;margin:0}
.v2 .vn-addr{color:#6a706b;font-size:12.5px;margin:0}
.v2 .vn-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}
.v2 .vn-acts a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:12px;font:700 13px var(--o-font);text-decoration:none}
.v2 .vn-acts .go{border:1px solid #e6c3c9;color:#8e1427;background:#fff}.v2 .vn-acts .go:hover,.v2 .vn-acts .go:focus-visible{background:#fbf0f2;border-color:#a6192e}
.v2 .vn-acts .app{border:0;padding-inline:6px;color:var(--o-gray);background:none}.v2 .vn-acts .app:hover,.v2 .vn-acts .app:focus-visible{color:var(--o-dark);text-decoration:underline}
.v2 .vn-acts svg{width:16px;height:16px}
.v2 .vn-mapwrap{position:sticky;top:100px;height:min(78vh,720px);border-radius:24px;overflow:hidden;border:1px solid #1f2622;box-shadow:0 30px 70px -36px #0e1210aa;background:#0e1210}
.v2 .vn-map{position:absolute;inset:0}
.v2 .vn-canvas{position:absolute;inset:0}
/* U283: the Google map loads on a tap; until then a dark cover with one button. */
.v2 .vn-mapcover{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;text-align:center;background:radial-gradient(120% 90% at 50% 40%,#25302b 0%,#121815 55%,#0b0f0d 100%)}
.v2 .vn-mapcover::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(35deg,#ffffff07 0 2px,transparent 2px 46px),repeating-linear-gradient(-55deg,#ffffff06 0 2px,transparent 2px 64px);pointer-events:none}
.v2 .vn-mapicon{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f06a7c,#a6192e 60%,#4a0d18);box-shadow:0 0 0 10px #a6192e26,0 18px 40px -12px #000}
.v2 .vn-mapicon svg{width:28px;height:28px;color:#fff}
.v2 .vn-mapload{position:relative;min-height:48px;padding:12px 26px;border:1px solid #e9cd9666;border-radius:999px;background:linear-gradient(180deg,#f4efe9,#e3d9cc);color:#16191a;font:700 15px var(--o-font);cursor:pointer;box-shadow:0 14px 30px -14px #000}
.v2 .vn-mapload:hover{background:#fff}.v2 .vn-mapload:focus-visible{outline:3px solid #e9cd96;outline-offset:3px}
.v2 .vn-map.is-loading .vn-mapload{opacity:.6;pointer-events:none}
.v2 .vn-mapfail{position:relative;display:none;max-width:300px;margin:0;color:#e3d9cc}
.v2 .vn-map.is-failed .vn-mapfail{display:block}.v2 .vn-map.is-failed .vn-mapload{display:none}
.v2 .vn-map.is-loaded .vn-mapcover{display:none}
.vn-gem span{display:block;width:30px;height:38px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 38'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f06a7c'/%3E%3Cstop offset='.55' stop-color='%23a6192e'/%3E%3Cstop offset='1' stop-color='%232e030b'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M15 37C15 37 2 22 2 14a13 13 0 1 1 26 0c0 8-13 23-13 23z' fill='url(%23g)' stroke='%23fff' stroke-width='1.6'/%3E%3Cpath d='M15 6l6 8-6 8-6-8z' fill='%23fff' fill-opacity='.85'/%3E%3C/svg%3E");
  filter:drop-shadow(0 6px 10px #0009);transition:transform .3s var(--o-e)}
.vn-gem.is-on span{transform:scale(1.35) translateY(-4px)}
.vn-cluster span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f06a7c,#a6192e 60%,#4a0d18);color:#fff;font:800 14px var(--o-font);border:2px solid #fff;box-shadow:0 0 0 6px #a6192e33,0 8px 18px #0008}
.v2 .vn-none,.v2 .vn-mapoff{padding:22px;border-radius:18px;background:#fff;border:1px dashed #d9cfbe;color:var(--o-gray);text-align:center}
.v2 .vn-toggle{display:none}
@media(max-width:900px){
  .v2 .vn-split{grid-template-columns:1fr}
  .v2 .vn-mapwrap{display:none;position:relative;top:auto;height:70vh}
  .v2 .vn.show-map .vn-mapwrap{display:block}
  .v2 .vn.show-map .vn-list{display:none}
  .v2 .vn:not(.no-map) .vn-toggle{display:inline-flex;position:fixed;inset-block-end:18px;inset-inline-start:50%;transform:translateX(-50%);z-index:50;align-items:center;gap:8px;min-height:48px;padding:10px 22px;border:0;border-radius:999px;background:var(--o-dark);color:#fff;font:700 14px var(--o-font);box-shadow:0 16px 36px -14px #000c}
  [dir=rtl] .v2 .vn:not(.no-map) .vn-toggle{transform:translateX(50%)}
  .v2 .vn-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.v2 .vn-card,.v2 .vn-cover img,.vn-gem span{transition:none}.v2 .vn-card:hover{transform:none}}
[dir=rtl] .v2 .vn-acts .go svg{transform:scaleX(-1)}
/* The fixed site header never covers the first content or a card brought into view. */
html{scroll-padding-top:104px}
.v2 .vn [data-venue]{scroll-margin-top:104px}
