@font-face{font-family:Manrope;src:url(/fonts/manrope-cyrillic.woff2) format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2) format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Unbounded;src:url(/fonts/unbounded-cyrillic.woff2) format("woff2");font-weight:500 800;font-display:optional;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:Unbounded;src:url(/fonts/unbounded-latin-ext.woff2) format("woff2");font-weight:500 800;font-display:optional;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Unbounded;src:url(/fonts/unbounded-latin.woff2) format("woff2");font-weight:500 800;font-display:optional;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Kufi;src:url(/fonts/kufi.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
/* ============ Wherepicks design tokens ============
   Dark = "concert night" (neon on near-black). Light = "daytime festival" (sun, coral, lagoon on sand). */
:root{--bg:#07060d;--bg2:#0e0c18;--card:#14111f;--card2:#1c1830;--ink:#f7f4ff;--mute:#aea6c6;--line:#ffffff17;--line2:#ffffff2b;
--a1:#ff3d7f;--a2:#ffb547;--a3:#8b5cff;--a4:#22e6c4;--acc:var(--a1);--acc-ink:#ff8db4;--on-acc:#fff;
--grad:linear-gradient(110deg,#ff3d7f,#ff7a45 55%,#ffb547);--grad2:linear-gradient(135deg,#8b5cff,#ff3d7f 60%,#ffb547);
--glow:0 0 0 1px #ff3d7f55,0 10px 40px -6px #ff3d7f66,0 0 80px -20px #8b5cff88;--sh:0 18px 50px -18px #000c;--sh2:0 6px 20px -8px #000a;
--r:20px;--r2:28px;--spring:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.22,1,.36,1);--hdr:64px;
--disp:Unbounded,Kufi,"Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Malayalam","PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;
--body:Manrope,Kufi,"Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Malayalam","PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:dark}
:root[data-theme=light]{--bg:#fbf6ee;--bg2:#f4ecdf;--card:#fff;--card2:#fbf3e7;--ink:#1a1325;--mute:#5d5468;--line:#1a132517;--line2:#1a13252e;
--a1:#e8245f;--a2:#f08a00;--a3:#6d3ef0;--a4:#0a9e86;--acc-ink:#c4174d;
--grad:linear-gradient(110deg,#ff4f7b,#ff8a3d 55%,#ffc23d);--grad2:linear-gradient(135deg,#ff8a3d,#ff4f7b 55%,#8b5cff);
--glow:0 0 0 1px #ff4f7b44,0 12px 36px -10px #ff4f7b55,0 0 60px -24px #ffb54799;--sh:0 18px 40px -20px #5a3a1a40;--sh2:0 6px 18px -10px #5a3a1a40;color-scheme:light}
[dir=rtl]{--disp:Kufi,Unbounded,system-ui,sans-serif;--body:Kufi,Manrope,system-ui,sans-serif}
:root[lang=ur],:root[lang=fa]{--disp:Kufi,"Noto Naskh Arabic",system-ui,sans-serif;--body:Kufi,"Noto Naskh Arabic",system-ui,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 10px)}html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;display:block}
h1,h2,h3,.disp{font-family:var(--disp);letter-spacing:-.02em}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,:lang(hi) h1,:lang(bn) h1,:lang(ml) h1,:lang(zh-Hans) h1{letter-spacing:0}
:focus-visible{outline:3px solid var(--a2);outline-offset:3px;border-radius:10px}
.skip{position:absolute;inset-inline-start:10px;top:-80px;background:var(--a2);color:#000;padding:10px;z-index:99;border-radius:10px}.skip:focus{top:10px}
.wrap{max-width:1280px;margin:0 auto;padding:0 18px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.note{font-size:13px;color:var(--mute)}.credit{font-size:11.5px;color:var(--mute)}.credit a{text-decoration:underline}
/* ============ header ============ */
header.top{position:sticky;top:0;z-index:40;height:var(--hdr);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line);transition:background .3s}
.is-home header.top{background:linear-gradient(180deg,#07060dcc,#07060d00);border-color:transparent;color:#fff}
.is-home.scrolled header.top{background:color-mix(in srgb,var(--bg) 78%,transparent);border-color:var(--line);color:var(--ink)}
.bar{display:flex;align-items:center;gap:8px;height:var(--hdr)}
.logo{display:flex;align-items:center;gap:9px;white-space:nowrap}.logo:hover{text-decoration:none}
.logo svg{width:34px;height:34px;flex:none;filter:drop-shadow(0 0 10px #ff3d7f88)}
.logo .wm{font-family:Unbounded,Kufi,sans-serif;font-weight:700;font-size:22px;letter-spacing:-.03em;line-height:1}
.logo .wm em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bar .sp{flex:1}
.ib{min-width:44px;height:44px;border-radius:14px;border:1px solid var(--line2);background:color-mix(in srgb,var(--card) 70%,transparent);color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:inherit;font-size:15px;font-weight:700;padding:0 12px}
.is-home:not(.scrolled) .ib{background:#ffffff14;border-color:#ffffff30;color:#fff}
.ib:hover{text-decoration:none;border-color:var(--a1)}
.ib svg{width:20px;height:20px}
.citysel span{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thb .ti{display:none}[data-tm=auto] .thb .ti-auto,[data-tm=light] .thb .ti-light,[data-tm=dark] .thb .ti-dark{display:inline}
details.lsw{position:relative}details.lsw summary{list-style:none}details.lsw summary::-webkit-details-marker{display:none}
.lmenu{position:absolute;inset-inline-end:0;top:52px;background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--sh);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:min(340px,86vw);z-index:60;animation:pop .35s var(--spring)}
.lmenu a{padding:10px 12px;border-radius:12px;min-height:44px;display:flex;align-items:center}.lmenu a:hover{background:var(--card2);text-decoration:none}.lmenu a[aria-current]{background:var(--grad);color:#fff;font-weight:800}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:640px){.hide-s{display:none!important}.logo .wm{font-size:19px}.bar{gap:6px}.ib{min-width:40px;height:40px;padding:0 9px;border-radius:12px}.citysel span{max-width:24vw}}
@media(max-width:480px){.logo .wm{display:none}.citysel .cco{display:none}}
/* ============ buttons + motion system ============ */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:16px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;transition:transform .45s var(--spring),box-shadow .3s,border-color .2s;-webkit-user-select:none;user-select:none}
.btn:hover{text-decoration:none;border-color:var(--a1);transform:translateY(-1px)}
.btn.pri{background:var(--grad);background-size:160% 100%;color:#fff;border:0;box-shadow:var(--glow);text-shadow:0 1px 0 #0003}
.btn.pri:hover{background-position:100% 0}
.btn.sm{min-height:40px;padding:0 14px;font-size:14px;border-radius:13px}
.btn.ghost{background:transparent}
.btn svg{width:18px;height:18px;flex:none}
.pressable{transition:transform .45s var(--spring)}
.btn:active,.chip:active,.ib:active,.pressable:active,.tile:active,.bn a:active{transform:scale(.94);transition-duration:.08s}
.rip{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;transform:scale(0);background:radial-gradient(circle,#fff9 0%,#fff3 40%,transparent 70%);animation:rip .6s var(--ease) forwards}
.btn.pri .rip{background:radial-gradient(circle,#fff 0%,#ffe6a8aa 35%,transparent 70%)}
@keyframes rip{to{transform:scale(1);opacity:0}}
.burst{position:fixed;pointer-events:none;z-index:200;width:8px;height:8px;border-radius:50%;left:0;top:0;will-change:transform,opacity}
.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}
.tix{position:fixed;z-index:310;pointer-events:none;display:flex;filter:drop-shadow(0 12px 30px #000a)}
.tix i{display:block;height:64px;width:110px;background:var(--grad);border-radius:12px 4px 4px 12px;color:#fff;font:800 14px/64px var(--body);font-style:normal;text-align:center;-webkit-mask:radial-gradient(circle at 100% 50%,transparent 8px,#000 9px)}
.tix i+i{width:46px;border-radius:4px 12px 12px 4px;-webkit-mask:radial-gradient(circle at 0 50%,transparent 8px,#000 9px);background:linear-gradient(110deg,#ff9a3d,#ffc23d);border-inline-start:2px dashed #fff8}
.tix.go i:first-child{animation:tearL .7s var(--ease) forwards}.tix.go i+i{animation:tearR .7s var(--ease) forwards}
@keyframes tearL{40%{transform:none}to{transform:translate(-26px,30px) rotate(-14deg);opacity:0}}
@keyframes tearR{40%{transform:none}to{transform:translate(30px,40px) rotate(22deg);opacity:0}}
/* ============ hero (concert stage) ============ */
.hx{position:relative;isolation:isolate;overflow:hidden;min-height:min(92svh,860px);margin-top:calc(-1 * var(--hdr));padding-top:var(--hdr);color:#fff;display:flex;align-items:flex-end;background:#07060d;--hc1:#ff3d7f;--hc2:#8b5cff;--hc3:#22e6c4;transition:--hc1 1s}
.hx .bgimg{position:absolute;inset:0;z-index:-5}
.hx .bgimg img{width:100%;height:100%;object-fit:cover;animation:kb 40s var(--ease) infinite alternate;transform-origin:60% 40%}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.16) translate(-1.5%,1%)}}
.hx:before{content:"";position:absolute;inset:0;z-index:-4;background:linear-gradient(180deg,#07060dcc 0%,#07060d55 30%,#07060d99 62%,var(--bg) 100%)}
:root[data-theme=light] .hx:before{background:linear-gradient(180deg,#1a0f2bb0 0%,#1a0f2b40 30%,#2a123d88 62%,var(--bg) 100%)}
.beams{position:absolute;inset:-10% -20% 0;z-index:-3;pointer-events:none;mix-blend-mode:screen;opacity:.85}
.beams i{position:absolute;top:-10%;left:50%;width:22vmax;height:130%;transform-origin:50% 0;background:linear-gradient(180deg,color-mix(in srgb,var(--hc1) 70%,transparent),transparent 75%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(14px);animation:sweep 9s ease-in-out infinite alternate}
.beams i:nth-child(2){left:22%;background:linear-gradient(180deg,color-mix(in srgb,var(--hc2) 75%,transparent),transparent 70%);animation-duration:11s;animation-delay:-3s}
.beams i:nth-child(3){left:78%;background:linear-gradient(180deg,color-mix(in srgb,var(--hc3) 60%,transparent),transparent 70%);animation-duration:13s;animation-delay:-6s}
.beams i:nth-child(4){left:5%;opacity:.6;animation-duration:15s;animation-delay:-2s}
@keyframes sweep{from{transform:translateX(-50%) rotate(-28deg)}to{transform:translateX(-50%) rotate(28deg)}}
.bokeh{position:absolute;inset:auto 0 0;height:45%;z-index:-2;pointer-events:none;opacity:.7;background:
radial-gradient(6px 6px at 8% 78%,#ffd36e,transparent),radial-gradient(5px 5px at 18% 88%,#ff6fa8,transparent),radial-gradient(7px 7px at 31% 72%,#9b7bff,transparent),radial-gradient(4px 4px at 44% 90%,#5ff2dc,transparent),radial-gradient(6px 6px at 57% 80%,#ffd36e,transparent),radial-gradient(5px 5px at 69% 86%,#ff6fa8,transparent),radial-gradient(7px 7px at 82% 74%,#5ff2dc,transparent),radial-gradient(5px 5px at 93% 88%,#9b7bff,transparent),radial-gradient(4px 4px at 25% 60%,#fff,transparent),radial-gradient(4px 4px at 75% 64%,#fff,transparent);animation:twinkle 4s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.35;transform:translateY(4px)}to{opacity:.8;transform:none}}
.grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hx .in{width:100%;padding:40px 18px 34px;max-width:1280px;margin:0 auto}
.kick{display:inline-flex;gap:9px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:99px;background:#00000029;border:1px solid #ffffff38}
:lang(ar) .kick,:lang(ur) .kick,:lang(fa) .kick,:lang(hi) .kick,:lang(bn) .kick,:lang(ml) .kick,:lang(zh-Hans) .kick{letter-spacing:0}
.eq{display:inline-flex;gap:2px;align-items:flex-end;height:14px}.eq b{width:3px;height:100%;border-radius:2px;background:var(--a4);transform-origin:bottom;animation:eq 1s ease-in-out infinite}
.eq b:nth-child(2){animation-delay:-.4s;background:var(--a2)}.eq b:nth-child(3){animation-delay:-.7s;background:var(--a1)}.eq b:nth-child(4){animation-delay:-.2s}
@keyframes eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
h1.mega{font-size:clamp(40px,8.4vw,104px);line-height:.96;margin:18px 0 14px;font-weight:800;max-width:14ch;text-wrap:balance;text-shadow:0 4px 40px #0008}
[dir=rtl] h1.mega,:lang(hi) h1.mega,:lang(bn) h1.mega,:lang(ml) h1.mega{line-height:1.2;font-size:clamp(36px,7vw,84px)}
:lang(ru) h1.mega,:lang(de) h1.mega,:lang(tl) h1.mega,:lang(ml) h1.mega,:lang(fr) h1.mega,:lang(es) h1.mega,:lang(tr) h1.mega{font-size:clamp(34px,6.6vw,84px);max-width:18ch}
h1.mega em{font-style:normal;background:linear-gradient(100deg,var(--hc1),#ffb547 50%,var(--hc3));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% 0}}
.hx p.sub{font-size:clamp(16px,2vw,20px);max-width:620px;opacity:.92;margin:0 0 22px}
.hcount{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:20px;font-size:14px}
.hcount a{color:#fff;font-weight:800}.hcount .lbl{color:#ffd36e;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px}
.cdbig{display:inline-flex;gap:6px;font-variant-numeric:tabular-nums}.cdbig span{min-width:46px;text-align:center;padding:6px 8px;border-radius:12px;background:#ffffff18;border:1px solid #ffffff2a;font:800 18px/1.1 Unbounded,var(--body)}.cdbig small{display:block;font:700 10px var(--body);opacity:.75;text-transform:uppercase}
.hx .credit{position:absolute;bottom:8px;inset-inline-end:14px;color:#fff9;font-size:10.5px;z-index:2}.hx .credit a{color:#fffc}
/* glowing search / Ask AI */
.sbox{position:relative;max-width:760px;border-radius:22px;padding:2px;background:conic-gradient(from var(--ang,0deg),#ff3d7f,#ffb547,#22e6c4,#8b5cff,#ff3d7f);animation:spin 6s linear infinite;box-shadow:0 0 50px -8px #ff3d7f99,0 0 120px -30px #8b5cff}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spin{to{--ang:360deg}}
.sbox form{display:flex;gap:6px;align-items:center;background:#0d0b16f2;border-radius:20px;padding:6px}
:root[data-theme=light] .sbox form{background:#fffffff5}
.sbox input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:17px;padding:12px 10px;color:var(--ink);background:transparent}
.hx .sbox input{color:#fff}:root[data-theme=light] .hx .sbox input{color:#1a1325}
.sbox input::placeholder{color:#a69fbb}
.mode{display:flex;background:#ffffff12;border-radius:14px;padding:3px;flex:none}:root[data-theme=light] .mode{background:#1a132510}
.mode button{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;font-size:13.5px;min-height:40px;padding:0 12px;border-radius:11px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;transition:background .3s,color .3s}
.hx .mode button{color:#fff}:root[data-theme=light] .hx .mode button{color:#1a1325}
.mode button[aria-pressed=true]{background:var(--grad);color:#fff!important}
.sbox .go{border:0;border-radius:15px;background:var(--grad);color:#fff;font:inherit;font-weight:800;padding:0 20px;font-size:16px;cursor:pointer;min-height:48px;flex:none;position:relative;overflow:hidden;isolation:isolate}
@media(max-width:560px){.sbox form{flex-wrap:wrap}.sbox input{flex-basis:100%;order:-1;padding:12px 12px 6px}.mode{flex:1}.mode button{flex:1;justify-content:center}}
.sug{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 8px);background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--sh);overflow:hidden;animation:pop .3s var(--spring)}
.sug a{display:flex;gap:12px;padding:10px 12px;align-items:center;border-bottom:1px solid var(--line)}.sug a:hover,.sug a.on{background:var(--card2);text-decoration:none}
.sug img{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:none}.sug small{color:var(--mute);display:block}
.qchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.qchips a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border-radius:99px;background:#0000002e;border:1px solid #ffffff38;color:#fff;font-weight:700;font-size:14.5px;transition:transform .45s var(--spring),background .2s}
.qchips a:hover{text-decoration:none;background:#ffffff2a;transform:translateY(-2px)}
/* page hero (city / listing) */
.phx{position:relative;isolation:isolate;overflow:hidden;color:#fff;margin-top:calc(-1 * var(--hdr));padding-top:var(--hdr);min-height:340px;display:flex;align-items:flex-end;background:#07060d}
.phx .bgimg{position:absolute;inset:0;z-index:-5}.phx .bgimg img{width:100%;height:100%;object-fit:cover;animation:kb 40s var(--ease) infinite alternate}
.phx:before{content:"";position:absolute;inset:0;z-index:-4;background:linear-gradient(180deg,#07060dcc,#07060d66 40%,var(--bg) 100%)}
.phx .in{width:100%;max-width:1280px;margin:0 auto;padding:26px 18px 18px}
.phx .crumbs,.phx .crumbs a{color:#ffffffc0}
h1.pg{font-size:clamp(28px,5vw,52px);line-height:1.05;margin:8px 0 10px;font-weight:800;text-wrap:balance;touch-action:manipulation}
[dir=rtl] h1.pg,:lang(hi) h1.pg,:lang(bn) h1.pg,:lang(ml) h1.pg{line-height:1.3}
.is-sub .phx h1.pg{text-shadow:0 3px 30px #0009}
/* ============ chips, tiles ============ */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}.chips::-webkit-scrollbar{display:none}
[dir=rtl] .chips{-webkit-mask:linear-gradient(270deg,#000 92%,transparent)}
.chip{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--line2);background:var(--card);font-weight:700;white-space:nowrap;scroll-snap-align:start;font-size:14.5px;color:var(--ink);cursor:pointer;transition:transform .45s var(--spring),border-color .2s,background .2s}
.chip:hover{text-decoration:none;border-color:var(--c,var(--a1));transform:translateY(-1px)}
.chip.on{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 22px -6px #ff3d7f88}
.chip .n{font-size:12px;opacity:.7;font-weight:600}
input.chip{font:inherit;font-weight:700;color:var(--ink);max-width:180px}
.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tile{--c:#ff3d7f;position:relative;isolation:isolate;overflow:hidden;border-radius:22px;min-height:118px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 40%,#1a0b2e));box-shadow:0 14px 30px -18px var(--c);transition:transform .5s var(--spring),box-shadow .3s}
.tile:before{content:"";position:absolute;inset:auto -30% -60% auto;width:130%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffffff38,transparent 60%);z-index:-1;transition:transform .6s var(--ease)}
.tile:hover{text-decoration:none;transform:translateY(-4px) rotate(-.6deg);box-shadow:0 22px 40px -16px var(--c)}.tile:hover:before{transform:translate(-14%,-12%)}
.tile .ic{font-size:30px;line-height:1;filter:drop-shadow(0 4px 8px #0004)}.tile b{font-size:15.5px;line-height:1.2;text-shadow:0 1px 8px #0005}.tile small{opacity:.9;font-weight:700;font-size:12.5px}
:root[data-theme=light] .tile{background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 55%,#5a1d3a))}
/* ============ rows / carousels ============ */
section.row{margin:34px 0}
.rh{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px}
.rh h2{margin:0;font-size:clamp(21px,3.2vw,30px);font-weight:700;line-height:1.15}
.rh h2 .em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rh a.more{color:var(--acc-ink);font-weight:800;white-space:nowrap;font-size:14.5px}
.rh .arrows{display:none;gap:6px}@media(hover:hover) and (min-width:900px){.rh .arrows{display:flex}}
.rh .arrows button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;font-size:18px;transition:transform .4s var(--spring)}
[dir=rtl] .rh .arrows button{transform:scaleX(-1)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,290px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 18px;margin:0 -4px;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
@media(min-width:900px){.rail{grid-auto-columns:calc((100% - 48px)/4)}}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
/* ============ event card ============ */
.card{--c:#ff3d7f;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;transform-style:preserve-3d;transition:transform .5s var(--spring),box-shadow .35s,border-color .3s;will-change:transform}
.card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--c),transparent);z-index:3;opacity:.9}
.card:hover{box-shadow:0 26px 50px -24px color-mix(in srgb,var(--c) 70%,#000),var(--sh2);border-color:color-mix(in srgb,var(--c) 45%,transparent)}
.card .glare{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(400px circle at var(--gx,50%) var(--gy,0%),#ffffff26,transparent 45%)}
.card .glare{display:none}
.card>a{display:flex;flex-direction:column;height:100%}.card>a:hover{text-decoration:none}
.card .ph{aspect-ratio:16/10;background:var(--grad2);position:relative;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}

.card .ph:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,transparent,#0008)}
.card .ph .noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:48px}
.dchip{position:absolute;z-index:2;bottom:10px;inset-inline-start:10px;min-width:50px;text-align:center;border-radius:14px;background:#ffffffeb;color:#1a1325;padding:5px 8px 6px;line-height:1;box-shadow:0 8px 20px -8px #000a}
.dchip small{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c);filter:brightness(.8)}
.dchip b{display:block;font:800 21px/1.05 Unbounded,var(--body)}.dchip.og b{font-size:13px;font-family:var(--body);padding:3px 0}
.cpill{position:absolute;z-index:2;bottom:12px;inset-inline-end:10px;font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:99px;background:color-mix(in srgb,var(--c) 88%,#000);color:#fff;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .bd{padding:13px 15px 15px;display:flex;flex-direction:column;gap:5px;flex:1}
.card h3{margin:0;font-family:var(--body);font-weight:800;letter-spacing:-.01em;font-size:16.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{color:var(--mute);font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .pr{margin-top:auto;padding-top:8px;font-weight:800;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:14.5px}
.card .pr .free{color:var(--a4)}
.badges{position:absolute;top:10px;inset-inline-start:10px;display:flex;gap:6px;flex-wrap:wrap;max-width:72%;z-index:2}
.bdg{font-size:11px;font-weight:800;letter-spacing:.02em;padding:4px 9px;border-radius:99px;background:#000c;color:#fff;white-space:nowrap}
.bdg.hot{background:var(--grad)}.bdg.new{background:#22e6c4;color:#042}.bdg.free{background:#22e6c4;color:#042}.bdg.last{background:#ffb547;color:#2a1400}
.save{position:absolute;top:8px;inset-inline-end:8px;width:44px;height:44px;border-radius:50%;border:0;background:#000a;color:#fff;cursor:pointer;display:grid;place-items:center;z-index:4;transition:transform .45s var(--spring),background .2s}
.save svg{width:22px;height:22px;transition:transform .5s var(--spring)}.save path{fill:transparent;stroke:#fff;stroke-width:2;transition:fill .2s}
.save[aria-pressed=true]{background:#ff3d7f}.save[aria-pressed=true] path{fill:#fff}
.save.pop svg{animation:heart .6s var(--spring)}@keyframes heart{0%{transform:scale(1)}30%{transform:scale(.6)}65%{transform:scale(1.45)}100%{transform:scale(1)}}
.cd{font-size:12.5px;color:var(--acc-ink);font-weight:800}.cd:empty{display:none}
.dist{font-size:12.5px;color:var(--a4);font-weight:800}
/* city cards */
.cities{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(170px,calc(50% - 7px)),1fr))}
.city{--c:#ff3d7f;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--grad2);display:block;isolation:isolate;transition:transform .5s var(--spring),box-shadow .4s}
.city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.city:hover{text-decoration:none;transform:translateY(-4px);box-shadow:0 0 0 2px var(--c),0 24px 50px -18px var(--c)}.city:hover img{transform:scale(1.08)}
.city:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#000d),radial-gradient(120% 60% at 50% 120%,color-mix(in srgb,var(--c) 55%,transparent),transparent);z-index:-1}
.city .t{position:absolute;bottom:0;padding:14px;color:#fff}.city .t b{display:block;font:700 19px/1.1 var(--disp)}.city .t small{opacity:.88;font-weight:700}
/* country stage picker */
.stage{position:relative;border-radius:var(--r2);padding:18px;background:radial-gradient(120% 90% at 50% -10%,color-mix(in srgb,var(--cc,#ff3d7f) 30%,transparent),transparent 60%),var(--bg2);border:1px solid var(--line);overflow:hidden;transition:background .6s}
.stage .spot{position:absolute;top:-40%;left:var(--sx,50%);width:60%;height:180%;transform:translateX(-50%);background:radial-gradient(closest-side,color-mix(in srgb,var(--cc,#ff3d7f) 35%,transparent),transparent);pointer-events:none;transition:left .7s var(--spring),background .6s;filter:blur(10px)}
.ctabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:12px;position:relative}
.ctabs button{flex:none;min-height:46px;padding:0 16px;border-radius:99px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:transform .45s var(--spring),box-shadow .3s}
.ctabs button[aria-selected=true]{background:color-mix(in srgb,var(--cc) 85%,#000);color:#fff;border-color:transparent;box-shadow:0 0 30px -4px var(--cc)}
.ctabs .n{font-size:12px;opacity:.75}
.cpanel{position:relative}.cpanel[hidden]{display:none}
.cpanel.in .city{animation:rise .6s var(--spring) both}
.cpanel .city:nth-child(2){animation-delay:.05s}.cpanel .city:nth-child(3){animation-delay:.1s}.cpanel .city:nth-child(4){animation-delay:.15s}.cpanel .city:nth-child(5){animation-delay:.2s}.cpanel .city:nth-child(6){animation-delay:.25s}.cpanel .city:nth-child(7){animation-delay:.3s}
@keyframes rise{from{opacity:.4;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.stage h3{margin:4px 0 12px;font-size:16px}.stage h3 a{color:var(--acc-ink)}
/* ============ listing ============ */
.crumbs{font-size:13.5px;color:var(--mute);margin:12px 0 2px;display:flex;flex-wrap:wrap;gap:6px}.crumbs a{color:var(--mute)}
.summary{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--a3) 14%,var(--card)),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:12px 0 16px;font-size:15.5px}
.summary .upd{display:block;color:var(--mute);font-size:12.5px;margin-top:6px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 16px}
.sbox.sm{animation:none;background:linear-gradient(110deg,#ff3d7f88,#8b5cff88);box-shadow:none;margin:6px 0 14px}
.sbox.sm form{background:var(--card)}.sbox.sm input{font-size:16px;padding:9px 10px}.sbox.sm .go{min-height:42px;padding:0 16px}
dialog.drawer{border:0;padding:0;margin:0;margin-inline-start:auto;height:100%;max-height:100%;width:min(420px,100%);background:var(--bg2);color:var(--ink)}
dialog.drawer[open]{animation:slide .45s var(--ease)}@keyframes slide{from{transform:translateX(40px);opacity:0}}
[dir=rtl] dialog.drawer[open]{animation-name:slideR}@keyframes slideR{from{transform:translateX(-40px);opacity:0}}
dialog.drawer::backdrop{background:#0009;backdrop-filter:blur(4px)}
.drawer form{padding:18px;display:flex;flex-direction:column;gap:16px;height:100%;overflow:auto}
.drawer fieldset{border:1px solid var(--line2);border-radius:16px;padding:10px 12px}.drawer legend{font-weight:800;padding:0 6px}
.drawer label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.drawer input[type=radio],.drawer input[type=checkbox]{width:22px;height:22px;accent-color:var(--a1)}
.empty{text-align:center;padding:44px 16px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--mute)}
.pager{display:flex;justify-content:center;gap:10px;margin:26px 0}
.links{columns:2 220px;font-size:14.5px}.links a{display:block;padding:6px 0;color:var(--mute)}
.faq details{border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin:8px 0;background:var(--card);transition:border-color .2s}.faq details[open]{border-color:var(--line2)}.faq summary{font-weight:800;cursor:pointer;min-height:28px}
.tag{display:inline-block;font-size:13px;padding:5px 11px;border-radius:99px;background:var(--card2);margin:2px;color:var(--mute);border:1px solid var(--line)}
a.tag:hover{color:var(--ink);text-decoration:none;border-color:var(--a1)}
.cta{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r2);padding:26px 22px;background:var(--grad2);color:#fff;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.cta:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg at 70% 50%,transparent,#ffffff30,transparent 30%);animation:spin2 10s linear infinite;z-index:-1}
@keyframes spin2{to{transform:rotate(1turn)}}
.cta h2{margin:0 0 4px;font-size:clamp(22px,3.4vw,32px)}.cta p{margin:0;opacity:.92}.cta .btn{background:#fff;color:#1a1325;border:0}
/* ============ event page ============ */
.evx{position:relative;isolation:isolate;overflow:hidden;margin-top:calc(-1 * var(--hdr));padding-top:var(--hdr);color:#fff;background:#07060d}
.evx .bd0{position:absolute;inset:-40px;z-index:-2;background-size:cover;background-position:center;filter:blur(40px) saturate(1.5) brightness(.55);transform:scale(1.1)}
.evx:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07060d88,transparent 30%,var(--bg) 100%)}
.evx .in{max-width:1280px;margin:0 auto;padding:10px 18px 26px;display:grid;gap:22px;align-items:end}
@media(min-width:900px){.evx .in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding-top:20px}}
.evx .shot{border-radius:var(--r2);overflow:hidden;aspect-ratio:16/10;background:var(--grad2);box-shadow:0 40px 80px -30px #000,0 0 0 1px #ffffff1f}
.evx .shot img{width:100%;height:100%;object-fit:cover}
.evx h1.pg{text-shadow:0 2px 30px #0008}
.evx .crumbs,.evx .crumbs a{color:#ffffffc0}
.evx .lead{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-weight:700;opacity:.95}
.evx .cpill{position:static;display:inline-block}
.ev{display:grid;gap:24px;grid-template-columns:1fr;margin-top:8px}
@media(min-width:960px){.ev{grid-template-columns:minmax(0,1fr) 380px}.ev aside{position:sticky;top:calc(var(--hdr) + 14px);align-self:start}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.facts{display:grid;gap:14px}.facts>div{display:flex;gap:12px;align-items:flex-start}.facts .ic{width:42px;height:42px;border-radius:14px;background:var(--card2);display:grid;place-items:center;flex:none;font-size:18px}
.facts small{display:block;color:var(--mute);font-size:12.5px;font-weight:700}
.facts a{color:var(--acc-ink);font-weight:700}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
.desc{font-size:16.5px;line-height:1.75}.desc h2{font-size:20px;margin:24px 0 6px}
.sellers{display:grid;gap:8px}.sellers a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line2);font-weight:700}
.sellers a.low{border-color:var(--a4);background:color-mix(in srgb,var(--a4) 10%,transparent)}
.wx{display:flex;gap:12px;align-items:center;font-weight:700}.wx b{font:800 24px Unbounded,var(--body)}
.sticky-buy{position:fixed;bottom:0;left:0;right:0;z-index:45;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;transform:translateY(0);transition:transform .4s var(--ease)}
.sticky-buy .p{flex:1;min-width:0;font-weight:800;line-height:1.2}.sticky-buy .p small{display:block;color:var(--mute);font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-buy .btn{min-height:52px;font-size:16.5px;padding:0 24px}
@media(min-width:960px){.sticky-buy{display:none}}
body.has-buy{padding-bottom:84px}@media(min-width:960px){body.has-buy{padding-bottom:0}}
.map{width:100%;height:300px;border:0;border-radius:16px}
#bigmap{height:72vh;border-radius:var(--r);border:1px solid var(--line);background:var(--card2)}
.leaflet-container{font:inherit!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--card)!important;color:var(--ink)!important}.leaflet-popup-content a{color:var(--acc-ink)}
.pin{display:block;margin:3px;width:16px;height:16px;border-radius:50%;background:var(--grad);border:2px solid #fff;box-shadow:0 0 0 4px #ff3d7f44,0 0 16px #ff3d7f}
/* calendar */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .h{font-size:12px;color:var(--mute);text-align:center;font-weight:800}
.cal a,.cal span{aspect-ratio:1;border-radius:14px;background:var(--card);border:1px solid var(--line);padding:6px;display:flex;flex-direction:column;justify-content:space-between;font-weight:800;min-height:44px;transition:transform .4s var(--spring)}
.cal a:hover{text-decoration:none;transform:scale(1.05)}
.cal span{opacity:.35}.cal a.has{background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 32%,var(--card)),var(--card))}.cal a small{font-size:11px;color:var(--mute);font-weight:700}
.cal a.wk{border-color:color-mix(in srgb,var(--a2) 55%,transparent)}.cal a.hol{outline:2px solid var(--a4)}
/* footer */
footer.ft{margin-top:60px;border-top:1px solid var(--line);padding:34px 0 40px;color:var(--mute);font-size:14px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--a3) 7%,transparent))}
footer.ft .cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}footer.ft h4,footer.ft .fh{color:var(--ink);margin:0 0 8px;font-family:var(--disp);font-size:14px;line-height:1.3;letter-spacing:0}footer.ft a{display:block;padding:5px 0}
.nl{display:flex;gap:8px;flex-wrap:wrap}.nl input,.field input,.field textarea,.field select{flex:1;min-width:200px;min-height:48px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;padding:10px 12px}
.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}.field label{font-weight:800}
/* bottom nav */
.bn{display:none}
@media(max-width:820px){
.bn{display:flex;position:fixed;z-index:46;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));height:64px;border-radius:22px;background:color-mix(in srgb,var(--bg2) 82%,transparent);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border:1px solid var(--line2);box-shadow:0 18px 40px -12px #000a;padding:6px;justify-content:space-around}
.bn a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;font-size:11px;font-weight:800;color:var(--mute);transition:transform .45s var(--spring),color .2s;min-width:0}
.bn a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bn a:hover{text-decoration:none}.bn svg{width:23px;height:23px}
.bn a[aria-current]{color:var(--ink)}.bn a[aria-current]:before{content:"";position:absolute;inset:4px 10%;border-radius:14px;background:color-mix(in srgb,var(--a1) 20%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a1) 40%,transparent);z-index:-1}
.bn a[aria-current] svg{color:var(--a1);filter:drop-shadow(0 0 8px var(--a1))}
.bn .badge{position:absolute;top:4px;inset-inline-end:22%;min-width:17px;height:17px;border-radius:9px;background:var(--a1);color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}
body{padding-bottom:92px}body.has-buy{padding-bottom:168px}.sticky-buy{bottom:calc(82px + env(safe-area-inset-bottom));left:10px;right:10px;border-radius:20px;border:1px solid var(--line2)}
.bar .hide-m{display:none!important}}
/* skeleton + reveal */
.skel{background:linear-gradient(100deg,var(--card) 30%,var(--card2) 50%,var(--card) 70%);background-size:300% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:var(--r);height:280px}
@keyframes sk{from{background-position:100% 0}to{background-position:0 0}}
/* reveal = enhancement only: sections are visible by default; app.js adds .rv-w (wait) only to sections still below the fold, and removes it when they scroll in */.rv{transition:opacity .8s var(--ease),transform .9s var(--spring)}.rv.rv-w{opacity:0;transform:translateY(26px) scale(.985)}
/* Ask AI */
.orb{width:64px;height:64px;border-radius:50%;margin:10px auto;background:radial-gradient(circle at 35% 30%,#fff,#ffb547 18%,#ff3d7f 45%,#8b5cff 75%,#22e6c4);box-shadow:0 0 50px #ff3d7f99,0 0 100px #8b5cff66;animation:orb 1.6s ease-in-out infinite}
@keyframes orb{0%,100%{transform:scale(.9)}50%{transform:scale(1.08)}}
.askout{min-height:28px;font-size:17px;line-height:1.6}.askout .caret{display:inline-block;width:8px;height:1.1em;background:var(--a1);vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pchips span{padding:6px 12px;border-radius:99px;background:var(--card2);border:1px solid var(--line2);font-weight:700;font-size:14px}
/* plan */
.plan{display:grid;gap:14px;counter-reset:st}.plan .stp{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start}
.plan .stp time{font:800 15px Unbounded,var(--body);color:var(--acc-ink);padding-top:12px}
.planform{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}
.planform select{min-height:48px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;padding:0 12px;width:100%}
.planform label{font-weight:800;font-size:14px;display:grid;gap:6px}
/* view transitions */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:var(--ease)}
::view-transition-group(evimg){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.9,.25,1)}
.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:14px;font-weight:800;z-index:400;animation:pop .35s var(--spring);box-shadow:var(--sh)}
.newdot{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--a4);color:#032;font-size:11px;font-weight:800;margin-inline-start:6px}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv.rv-w{opacity:1;transform:none}.beams,.bokeh{display:none}@view-transition{navigation:none}}
/* event hero details (v8) */
.evx .hd{display:grid;gap:12px;align-content:end;min-width:0}
.evx .badges0{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.evx .lead{display:block;line-height:1.7}
.evx .cd{margin:0;color:#fff}
.evx .share{display:flex;flex-wrap:wrap;gap:8px}
.evx .btn:not(.pri){background:#ffffff1a;border-color:#ffffff33;color:#fff;backdrop-filter:blur(8px)}
.btn.save.big{position:static;width:auto;height:auto;border-radius:999px;display:inline-flex;gap:8px;padding:0 18px;min-height:48px}
.btn.save.big svg{width:20px;height:20px}
.btn.save.big[aria-pressed=true]{background:#ff3d7f;border-color:#ff3d7f}
.btn.buy{gap:8px}
.btn.buy.wide{width:100%;justify-content:center;min-height:54px;font-size:17px}
.mapbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.addcal{display:grid;gap:8px}.addcal small{color:var(--mute);font-weight:800;font-size:12.5px}.addcal span{display:flex;flex-wrap:wrap;gap:6px}
.facts .wx b{font-size:20px}.facts .wx .src{display:inline;margin-inline-start:6px}
#evmap{height:280px;background:var(--card2)}
.sticky-buy .btn.buy{flex:none}
.chip[style*="--c"]:not(.on):hover{border-color:var(--c)}
.chip.on[style*="--c"]{background:var(--c);border-color:var(--c);color:#fff}
@media(max-width:899px){.evx .in{grid-template-columns:1fr;padding-top:8px}.evx .btnrow .btn.buy{flex:1 1 100%;justify-content:center}}

/* ============ v9: lite page heroes, Ask, Plan, long weekends, ratings, embed ============ */
.phx.lite{min-height:300px;--hc2:#8b5cff;--hc3:#22e6c4;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--hc1) 38%,#07060d),#07060d 70%)}
.phx.lite:before{background:linear-gradient(180deg,transparent 30%,var(--bg) 100%)}
.phx.lite .in{padding-bottom:26px}
.phx.lite .sub{color:#ffffffd9;max-width:62ch;margin:6px 0 14px}
.phx.lite .sbox{margin-top:10px}
.phx.lite .beams,.phx.lite .bokeh{display:block}
@media (max-width:640px){.phx.lite{min-height:240px}.phx.lite .beams i:nth-child(n+3){display:none}}
.sbox.asking{background:conic-gradient(from var(--ang,0deg),#22e6c4,#8b5cff,#ff3d7f,#ffb547,#22e6c4)}
.sug a.on,.sug a:focus-visible{background:var(--card2);outline:none}
.askp{text-align:center;margin:18px auto;max-width:820px;position:relative;overflow:hidden}
.askp .askout{font-size:clamp(16px,2.4vw,19px);line-height:1.6;max-width:66ch;margin:6px auto 10px;min-height:3.2em}
.askp .orb{transition:transform .5s var(--spring),opacity .5s}
.askp.done .orb{transform:scale(.55);opacity:.75;animation-duration:4s}
.pchips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0}
.pchips span{padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);color:var(--ink);font-weight:700;font-size:13.5px}
.plan .stp{display:block;margin:26px 0}
.plan .stp h2{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.plan .stp h2 .n{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--c,var(--acc));color:#160b14;font:800 17px Unbounded,var(--body);box-shadow:0 0 22px color-mix(in srgb,var(--c,var(--acc)) 60%,transparent)}
.planform .btn{min-height:48px}
.lws{display:grid;gap:18px;padding-block:18px}.lws>*,.lw>*{min-width:0}
.lw .lwh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lw .lwh h2{margin:0}
.lw .lwh .meta{margin:4px 0 0;color:var(--mute)}
.lwn{flex:none;display:grid;place-items:center;min-width:72px;padding:8px 10px;border-radius:18px;background:var(--grad);color:#1a0b12;text-align:center;line-height:1}
.lwn b{font:800 30px Unbounded,var(--body)}
.lwn small{font-weight:800;font-size:12px}
.lw .chips{margin:10px 0}
.rating{display:grid;gap:10px;padding:14px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);margin:14px 0}
.rating small{display:block;color:var(--mute);font-weight:700}
.rating b{font-size:17px}
.stars{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.stars fieldset{border:0;margin:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stars .lbl{font-weight:700;font-size:14px}
.stars .st{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end}
[dir=rtl] .stars .st{flex-direction:row-reverse}
.stars input{position:absolute;opacity:0;width:1px;height:1px}
.stars label{font-size:28px;line-height:1;padding:4px 3px;cursor:pointer;color:var(--line2);transition:transform .2s var(--spring),color .15s;min-width:32px;text-align:center}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:#ffb547;text-shadow:0 0 12px #ffb54799}
.stars input:focus-visible+label{outline:2px solid var(--acc);border-radius:8px}
.stars label:active{transform:scale(1.3)}
pre.code{white-space:pre-wrap;word-break:break-all;background:var(--bg2);border:1px solid var(--line2);border-radius:14px;padding:14px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);overflow:auto;max-height:260px}
.tbl{overflow-x:auto}.tbl table{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{text-align:start;padding:9px 8px;border-bottom:1px solid var(--line)}
.tbl th{color:var(--mute);font-weight:800}
.tbl a{color:var(--acc-ink);font-weight:700}
.desc.week{display:grid;gap:14px}
.week h2{margin:18px 0 8px}
.week ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.week li{padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.week li a{font-weight:700}
.continue{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;padding:8px 14px;border-radius:99px;background:#ffffff1f;color:#fff;border:1px solid #ffffff33;backdrop-filter:blur(8px);font-weight:700}
.cd.live{color:var(--a4)}
.cd.live:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--a4);margin-inline-end:6px;box-shadow:0 0 10px var(--a4);animation:livep 1.6s ease-in-out infinite;will-change:opacity}@keyframes livep{50%{opacity:.35}}/* opacity only: the old orb (scale + hue-rotate filter) repainted the hero every frame, ~1 fps on WebKit */
@media (prefers-reduced-motion:reduce){.cd.live:before,.askp .orb{animation:none}.stars label{transition:none}}
@media (max-width:640px){.lmenu{position:fixed;top:calc(var(--hdr) + 4px);inset-inline:12px;width:auto}}
/* light = daytime festival: lite heroes become sunny instead of a night stage */
[data-theme=light] .phx.lite{color:var(--ink);background:radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--hc1) 30%,#fff3e0),var(--bg) 72%)}
[data-theme=light] .phx.lite:before{background:linear-gradient(180deg,transparent 40%,var(--bg) 100%)}
[data-theme=light] .phx.lite h1.pg{text-shadow:none}
[data-theme=light] .phx.lite .sub,[data-theme=light] .phx.lite .crumbs,[data-theme=light] .phx.lite .crumbs a{color:var(--mute)}
[data-theme=light] .phx.lite .beams{mix-blend-mode:multiply;opacity:.35}
[data-theme=light] .phx.lite .grain{opacity:.04}
[data-theme=light] .phx.lite .qchips a,[data-theme=light] .phx.lite .chip{color:var(--ink)}
[data-theme=light] .continue{background:#0000000d;color:var(--ink);border-color:var(--line2)}
[data-theme=light] .phx.lite .qchips a{background:#ffffffc0;border-color:var(--line2)}
/* dark map: invert OSM raster tiles (no keyed dark tile service needed) */
[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.92) saturate(.55)}
.leaflet-div-icon{background:none;border:0}

.gplace{margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:.9rem}.gplace a{font-weight:700}.gplace .gma{font-family:Roboto,sans-serif;font-weight:400;color:var(--mute);white-space:nowrap}

/* perf: skip layout/paint of off-screen blocks until near the viewport */
footer.ft{content-visibility:auto;contain-intrinsic-size:auto 520px}/* rows: no content-visibility - in WebKit the estimated heights made the page jump while scrolling (qa/full_sweep 'not stable') *//* cards: no content-visibility - WebKit can't scrollIntoView their buttons (qa/full_sweep) */

.ev>*{min-width:0}
.facts .bt b{display:block;font-weight:600;margin-top:2px}.facts .bt b+b{margin-top:6px}
.lsw .lc{white-space:nowrap;word-break:keep-all}.lsw>summary{white-space:nowrap}
.rh .rnote{flex-basis:100%;order:9;color:var(--mut);font-size:.82rem;margin-top:-4px}
/* search v2: one toggle + one icon action */
.sbox .go{width:48px;padding:0;display:inline-grid;place-items:center;border-radius:50%}
.sbox.sm .go{width:42px;min-height:42px}
.mode button{font-size:13px;min-height:38px;padding:0 12px}
@media(max-width:560px){.sbox form{flex-wrap:wrap}.mode{order:-2;flex:0 0 100%}.mode button{flex:1;justify-content:center}.sbox input{flex:1 1 0;order:0;flex-basis:auto;padding:10px 8px}}
/* ---- places & guides */
.pcard .ph{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 35%,var(--card2)),var(--card2))}
.pcard .ph .picon{position:absolute;inset:0;display:grid;place-items:center;font-size:54px;opacity:.85}
.pphoto{margin:0 0 16px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--card2)}
.pphoto img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.pphoto figcaption{font-size:12.5px;color:var(--mute);padding:8px 12px}
.pbox{margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.pbox h2{font-size:19px;margin:0 0 10px}
.pbox p{margin:6px 0}
.pfacts{display:grid;gap:12px;margin:0 0 16px}
.pfacts>div{display:grid;gap:2px}
.pfacts dt{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.pfacts dd{margin:0;overflow-wrap:anywhere}
.pfacts dd small{display:block;color:var(--mute);font-size:12px}
.pmap{height:min(60vh,520px);margin:12px 0 20px}
.plinks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.plinks a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-height:44px}
.plinks small{display:block;color:var(--mute)}
.ptiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:10px 0 24px}
.guide .gsec{scroll-margin-top:90px}
.glist{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.gnums{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.gnums li{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card2)}
.gnums .btn{font-weight:900;font-size:18px}
.tblw{overflow-x:auto}
.gtbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:420px}
.gtbl th,.gtbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start}
.gtbl thead th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}
.gtbl tr.ok th{box-shadow:inset 3px 0 #2fcf86}
.gtbl tr.hot th{box-shadow:inset 3px 0 #ff5a5a}
[dir=rtl] .gtbl tr.ok th{box-shadow:inset -3px 0 #2fcf86}
[dir=rtl] .gtbl tr.hot th{box-shadow:inset -3px 0 #ff5a5a}
.btn.save-pl{position:static;width:auto;height:auto;min-height:44px;border-radius:99px;display:inline-flex;gap:6px;background:var(--card);color:var(--ink);border:1px solid var(--line2);backdrop-filter:none}
.btn.save-pl[aria-pressed=true]{background:#ff3d7f;color:#fff;border-color:#ff3d7f}
/* footer v2: minimal */
footer.ft{padding:30px 0 28px}
footer.ft .ftin{display:grid;gap:18px;grid-template-columns:1fr auto;align-items:start}
footer.ft .fbrand .logo{display:inline-flex;align-items:center;gap:8px;color:var(--ink);padding:0}
footer.ft .ftag{margin:8px 0 0;max-width:46ch;line-height:1.5}
footer.ft .flinks{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:flex-end;padding-top:6px}
footer.ft .flinks a{display:inline-block;padding:6px 0;color:var(--ink);font-weight:700}
footer.ft .fbot{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
footer.ft .fbot .note{margin:0;font-size:12.5px}footer.ft .fbot .note a{display:inline;padding:0}
footer.ft .fctl{display:flex;gap:6px;align-items:center;flex:none}
footer.ft .lmenu{top:auto;bottom:calc(100% + 8px)}
@media(max-width:820px){
footer.ft{margin-top:40px;padding:24px 0 18px}
footer.ft .ftin{grid-template-columns:1fr;gap:14px}
footer.ft .flinks{justify-content:flex-start}
footer.ft .fbot{flex-wrap:wrap}
footer.ft .lmenu{position:fixed;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));inset-inline:12px;width:auto}
body{padding-bottom:calc(94px + env(safe-area-inset-bottom))}body.has-buy{padding-bottom:calc(170px + env(safe-area-inset-bottom))}
}
.badge[hidden],.bn .badge[hidden]{display:none!important}
details.popq{margin:34px 0 0;border:1px solid var(--line);border-radius:16px;padding:0 14px}
details.popq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:800;color:var(--mute);list-style:none}
details.popq summary::-webkit-details-marker{display:none}details.popq summary:after{content:"+";margin-inline-start:auto;font-size:20px}details.popq[open] summary:after{content:"–"}
details.popq .links{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 14px}details.popq .links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:13.5px}
/* ---- accounts v1 ---- */
.marks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.btn.mk,.btn.fol{min-height:44px}
.btn.mk[aria-pressed="true"],.btn.fol[aria-pressed="true"]{background:color-mix(in srgb,var(--acc,#8b5cff) 18%,transparent);border-color:var(--acc,#8b5cff);color:var(--ink)}
.btn.mk[aria-pressed="true"]::after{content:" ✓"}
[data-acct].on{position:relative}[data-acct].on::after{content:"";position:absolute;top:8px;inset-inline-end:8px;width:8px;height:8px;border-radius:50%;background:#2bd67b;box-shadow:0 0 0 2px var(--bg)}
.acc{display:grid;gap:22px;padding-block:18px 40px}
.acnav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;position:sticky;top:64px;z-index:5;padding:8px 0;background:var(--bg)}
.acnav::-webkit-scrollbar{display:none}
.acnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-weight:700;text-decoration:none;color:var(--ink)}
.acsec{scroll-margin-top:130px}.acsec h3{margin:14px 0 8px;font-size:1rem}
.acin{display:grid;gap:12px;max-width:520px;margin:18px auto}
.acin .btn{justify-content:center;width:100%;min-height:48px}
.acform{display:grid;gap:8px}.acform input,.acprefs input,.acprefs select,.acprefs textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card,transparent);color:var(--ink);font:inherit}
.acor{display:flex;align-items:center;gap:10px;color:var(--mut);margin:4px 0}.acor::before,.acor::after{content:"";flex:1;height:1px;background:var(--line)}
.acmsg{min-height:1.2em;margin:0;font-weight:700}.acmsg.bad,.acerr{color:#ff5a6a}
.acok{padding:12px 16px;border-radius:14px;background:color-mix(in srgb,#2bd67b 16%,transparent);font-weight:700}
.acwhy{max-width:520px;margin:0 auto 30px}.ticks{list-style:none;padding:0;display:grid;gap:8px}.ticks li::before{content:"✓ ";color:#2bd67b;font-weight:900}
.acprefs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.acprefs label{display:grid;gap:6px;font-weight:700}
.acprefs .wide,.acprefs fieldset,.acprefs>button{grid-column:1/-1}.acprefs>button{justify-self:start}
.acprefs label.chk{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600}.acprefs label.chk input{width:22px;min-height:22px;height:22px}
.acprefs fieldset{border:1px solid var(--line);border-radius:14px;padding:12px}.acchk{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px}
.acplans{list-style:none;padding:0;display:grid;gap:10px}.acplans li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.acplans li>a{display:grid;gap:2px;text-decoration:none;color:var(--ink);min-width:0}.acplans small,.acitems small,.acpk small{color:var(--mut);display:block}
.acbtns{display:flex;flex-wrap:wrap;gap:6px}.btn.sm{min-height:40px}
.acchips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.acchips li{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding-inline-start:14px}
.acchips a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);font-weight:700}
.ib.sm{width:44px;height:44px}
.acpk{list-style:none;padding:0;display:grid;gap:10px}.acpk li{display:flex;justify-content:space-between;align-items:center;gap:10px}
.acitems{padding-inline-start:22px;display:grid;gap:8px}.acitems li{display:flex;justify-content:space-between;gap:8px;align-items:center}.acitems li>a{color:var(--ink);text-decoration:none;min-width:0}
.acurl{flex:1;min-width:0;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.btn.danger{border-color:#ff5a6a;color:#ff5a6a}
.acpast summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--mut);font-weight:700}
.pnudge{position:fixed;inset-inline:12px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:420;max-width:440px;margin-inline:auto;background:var(--ink);color:var(--bg);border-radius:18px;padding:14px 16px;box-shadow:var(--sh);display:grid;gap:10px;animation:pop .35s var(--spring)}
.pnudge p{margin:0;display:grid;gap:2px}.pnudge small{opacity:.8}.pnudge div{display:flex;gap:8px}.pnudge .btn.ghost{color:var(--bg);border-color:color-mix(in srgb,var(--bg) 40%,transparent)}
.toast a{color:inherit;text-decoration:underline;margin-inline-start:6px}
.savepl{margin-top:12px}
@media (min-width:900px){.pnudge{bottom:24px;inset-inline:auto 24px}}
[hidden]{display:none!important}
@media(max-width:430px){.citysel span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.citysel{min-width:44px;padding:0}}
.acprefs select{text-overflow:ellipsis}
.acitems li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.acitems .acbtns{flex-wrap:nowrap;gap:4px}
.acitems{padding-inline-start:20px}.acitems li>a b{display:block;overflow-wrap:anywhere}
.panel>:first-child{margin-top:0}.acsec>.panel{margin-top:8px}

/* active filter pills + date range */
.fpills{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.fpills .chip{min-height:44px;display:inline-flex;align-items:center;gap:6px}
.frange{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.frange label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.85rem;text-align:start}
.frange input{min-height:44px;width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.3));background:transparent;color:inherit;font:inherit}
[data-folonly][aria-pressed=true]{background:var(--acc,#ff3d7f);color:#fff;border-color:transparent}
.chips.vibes{align-items:center}.chips.vibes .vlab{font-size:.8rem;opacity:.7;white-space:nowrap;padding-inline-end:4px}
/* ---- places first-class: illustration fallback, tabs, badges, map link ---- */
.ill{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 20% 10%,color-mix(in oklab,var(--c,#ff3d7f) 70%,#fff 0%) 0%,color-mix(in oklab,var(--c,#ff3d7f) 35%,#07060d) 70%)}
.ill span{font-size:46px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.pcard .ph{position:relative}.pcred{position:absolute;z-index:2;inset-inline-start:6px;bottom:6px;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.55);color:#fff}
.pcard{position:relative}.maplk{position:absolute;inset-inline-end:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--bg2,#14121d);border:1px solid var(--line,#2a2738);text-decoration:none;font-size:16px;z-index:2}
.maplk:hover{transform:scale(1.08)}.parea{opacity:.85}.pbud{font-weight:600}
.bdg.open{background:#0f9d58;color:#fff}.bdg.shut{background:rgba(0,0,0,.6);color:#fff}
.ctabs2{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:14px 0 6px;padding:4px;border-radius:14px;background:var(--bg2,#14121d);border:1px solid var(--line,#2a2738)}
.ctabs2::-webkit-scrollbar{display:none}
.ctabs2 a{flex:0 0 auto;display:flex;gap:6px;align-items:center;padding:9px 14px;border-radius:10px;text-decoration:none;color:inherit;font-weight:600;font-size:14px;white-space:nowrap}
.ctabs2 a.on,.ctabs2 a[aria-current]{background:linear-gradient(135deg,#ff3d7f,#ff7a45);color:#fff}
.ctabs2 a[data-tour]{margin-inline-start:auto;border:1px solid #ff3d7f}
.tnav{display:none;gap:4px;margin-inline-start:18px}.tnav a{padding:8px 12px;border-radius:10px;text-decoration:none;color:inherit;font-weight:600;font-size:14px;opacity:.85}
.tnav a:hover,.tnav a[aria-current]{opacity:1;background:var(--bg2,#14121d)}
@media (min-width:900px){.tnav{display:flex}}
.herobtns{margin:14px 0 4px;display:flex;flex-wrap:wrap;gap:8px}.tourbtn{box-shadow:0 8px 30px rgba(255,61,127,.35)}
.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:20px 0}
.cityc{padding:16px;border-radius:16px;background:var(--bg2,#14121d);border:1px solid var(--line,#2a2738);border-top:4px solid var(--c)}
.cityc h3{margin:0 0 4px}.cityc h3 a{text-decoration:none;color:inherit}
/* ---- pick your vibe ---- */
.vpick-wrap{margin:30px 0}.vpick .sub{margin:-4px 0 12px;opacity:.8}
.vtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.vpick.compact .vtiles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.vt{position:relative;cursor:pointer;display:block}.vt input{position:absolute;opacity:0;pointer-events:none}
.vtin{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;height:120px;padding:12px;border-radius:16px;overflow:hidden;color:#fff;background:linear-gradient(140deg,var(--vh),#1b1530);border:2px solid transparent;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .2s;isolation:isolate}
.vpick.compact .vtin{height:92px}
.vtin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.vtin::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}
.vic{font-size:26px;line-height:1}.vtin b{font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.vt:hover .vtin{transform:translateY(-3px);box-shadow:0 14px 30px -10px var(--vh)}.vt:hover img{transform:scale(1.06)}
.vt input:checked+.vtin{border-color:#fff;box-shadow:0 0 0 3px var(--vh),0 16px 36px -10px var(--vh);transform:translateY(-3px) scale(1.02)}
.vt input:checked+.vtin::before{content:"✓";position:absolute;top:8px;inset-inline-end:8px;width:24px;height:24px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;font-size:13px;animation:vpop .3s cubic-bezier(.2,1.6,.4,1)}
.vt input:focus-visible+.vtin{outline:3px solid #fff;outline-offset:2px}
.vbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.vsel{display:flex;gap:8px;align-items:center}.vsel select{padding:9px 10px;border-radius:10px}
.vwhen{display:flex;gap:6px;border:0;padding:0;margin:0;flex-wrap:wrap}.vwhen label{cursor:pointer}.vwhen input{position:absolute;opacity:0}
.vwhen span{display:inline-block;padding:8px 12px;border-radius:999px;border:1px solid var(--line,#2a2738);font-size:14px}
.vwhen input:checked+span{background:#ff3d7f;border-color:#ff3d7f;color:#fff}.vwhen input:focus-visible+span{outline:2px solid #ff3d7f}
@keyframes vpop{from{transform:scale(0)}to{transform:scale(1)}}
.vtiles .vt{animation:vin .5s both}.vtiles .vt:nth-child(2n){animation-delay:.04s}.vtiles .vt:nth-child(3n){animation-delay:.08s}.vtiles .vt:nth-child(4n){animation-delay:.12s}
@keyframes vin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* restaurants */
.rfilters{display:grid;gap:4px;margin:10px 0 16px}.rfilters .chips{margin:4px 0}.chip small{opacity:.7;margin-inline-start:4px}
.rfilters select{padding:8px 10px;border-radius:10px;max-width:240px}
.prov{font-size:12.5px}.fixf{margin:18px 0;padding:12px 14px;border-radius:14px;border:1px dashed var(--line,#2a2738)}.fixf summary{cursor:pointer;font-weight:600}
.fixf form{display:grid;gap:10px;margin-top:10px;max-width:560px}.fixf label{display:grid;gap:4px}.fixf input,.fixf select,.fixf textarea{padding:9px 10px;border-radius:10px;font:inherit}
.hp{position:absolute!important;inset-inline-start:0;top:0;width:1px!important;height:1px!important;padding:0!important;border:0!important;margin:-1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
/* ---- advertise ---- */
.adopts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.adopt{padding:18px;border-radius:18px;background:linear-gradient(160deg,rgba(255,61,127,.12),rgba(255,122,69,.05));border:1px solid var(--line,#2a2738);transition:transform .25s,box-shadow .25s}
.adopt:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px #ff3d7f}.adopt .ai{font-size:30px}.adopt h3{margin:8px 0 6px;font-size:17px}.adopt p{margin:0;opacity:.85;font-size:14px}
.adform{position:relative;max-width:880px;padding:22px;border-radius:22px;background:var(--bg2,#14121d);border:1px solid var(--line,#2a2738)}
.adsteps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 18px;counter-reset:s}
.adsteps li{flex:1;display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;font-weight:600;font-size:14px;opacity:.55;border:1px solid var(--line,#2a2738);transition:all .3s}
.adsteps li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--line,#2a2738);flex:0 0 auto;transition:all .3s}
.adsteps li.on{opacity:1;border-color:#ff3d7f}.adsteps li.on span{background:#ff3d7f;color:#fff}.adsteps li.done{opacity:.9}.adsteps li.done span{background:#0f9d58;color:#fff}
.adstep{border:0;padding:0;margin:0;min-width:0}.adstep legend{font-size:20px;font-weight:700;margin-bottom:12px}
.adstep.on{animation:adin .45s cubic-bezier(.2,.8,.2,1)}.adstep.back{animation:adinb .45s cubic-bezier(.2,.8,.2,1)}
@keyframes adin{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes adinb{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
[dir=rtl] .adstep.on{animation-name:adinb}[dir=rtl] .adstep.back{animation-name:adin}
.adgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}@media (max-width:640px){.adgrid{grid-template-columns:1fr}.adsteps li{font-size:0;justify-content:center}.adsteps li span{font-size:13px}.adform{padding:16px}}
.adf{display:grid;gap:6px;font-size:14px;font-weight:600}.adf b{color:#ff3d7f}.adf small{font-weight:400;opacity:.7}
.adf input,.adf select,.adf textarea{font:inherit;font-weight:400;padding:11px 12px;border-radius:12px;border:1px solid var(--line,#2a2738);background:var(--bg,#07060d);color:inherit;transition:border-color .2s,box-shadow .2s}
.adf input:focus,.adf select:focus,.adf textarea:focus{outline:0;border-color:#ff3d7f;box-shadow:0 0 0 3px rgba(255,61,127,.25)}
.adf .bad,.adf input[aria-invalid=true],.adf select[aria-invalid=true]{border-color:#ff4d4f;animation:shake .35s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.adstep>.adf{margin:12px 0}.adchk{display:flex;flex-wrap:wrap;gap:8px}.adchk label{cursor:pointer}.adchk input{position:absolute;opacity:0}
.adchk span{display:inline-block;padding:9px 13px;border-radius:999px;border:1px solid var(--line,#2a2738);font-weight:500;transition:all .2s}
.adchk input:checked+span{background:linear-gradient(135deg,#ff3d7f,#ff7a45);border-color:transparent;color:#fff;transform:scale(1.03)}.adchk input:focus-visible+span{outline:2px solid #ff3d7f}
.adconsent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:14px}.adconsent input{width:20px;height:20px;margin-top:2px;accent-color:#ff3d7f}
.adnav{display:flex;gap:10px;align-items:center;margin-top:18px}.adnav .sp{flex:1}.aderr{color:#ff6b6b;font-weight:600;margin:12px 0 0}
.adok{text-align:center;padding:40px 20px;border-radius:22px;background:var(--bg2,#14121d);border:1px solid var(--line,#2a2738);position:relative;overflow:hidden;max-width:880px}
.adtick{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:44px;color:#fff;background:linear-gradient(135deg,#0f9d58,#34d399);animation:tick .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes tick{from{transform:scale(0) rotate(-40deg)}to{transform:none}}
.adburst{position:absolute;inset:0;pointer-events:none}.adburst i{position:absolute;left:50%;top:70px;width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i,1)*40),90%,60%);animation:burst 1.1s ease-out forwards;opacity:0}
.adburst i:nth-child(1){--i:1;--x:-160px;--y:-40px}.adburst i:nth-child(2){--i:2;--x:150px;--y:-60px}.adburst i:nth-child(3){--i:3;--x:-110px;--y:80px}.adburst i:nth-child(4){--i:4;--x:120px;--y:90px}.adburst i:nth-child(5){--i:5;--x:-200px;--y:20px}.adburst i:nth-child(6){--i:6;--x:210px;--y:10px}.adburst i:nth-child(7){--i:7;--x:-60px;--y:-90px}.adburst i:nth-child(8){--i:8;--x:70px;--y:-100px}.adburst i:nth-child(9){--i:9;--x:-30px;--y:120px}.adburst i:nth-child(10){--i:10;--x:30px;--y:130px}.adburst i:nth-child(11){--i:11;--x:-240px;--y:-70px}.adburst i:nth-child(12){--i:12;--x:250px;--y:-30px}.adburst i:nth-child(13){--i:13;--x:-170px;--y:120px}.adburst i:nth-child(14){--i:14;--x:180px;--y:130px}
@keyframes burst{0%{opacity:1;transform:translate(-50%,0) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--x)),var(--y)) rotate(320deg)}}
@media (prefers-reduced-motion:reduce){.vtin,.vtin img,.adopt,.adsteps li,.adchk span{transition:none}.vtiles .vt,.adstep.on,.adstep.back,.adtick,.adburst i,.vt input:checked+.vtin::before{animation:none}.adburst{display:none}}
.fixd{margin:12px 0;padding:10px 12px;border-radius:12px;background:rgba(15,157,88,.1);border:1px solid rgba(15,157,88,.35)}.fixd ul{margin:6px 0 0;padding-inline-start:18px}.fixd li{margin:4px 0}
/* ---- tour planner ---- */
.ttiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.tt .vtin{height:118px;justify-content:space-between}
.tt .vti{font-size:30px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.tt .vtin small{font-size:12px;opacity:.92;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.tourform .tco{margin:0 0 12px}.tourform .tco>b{display:block;margin:0 0 6px;font-size:14px}
.tourform .chips{display:flex;flex-wrap:wrap;gap:8px}
.tbtns{flex-wrap:wrap}
#tourmap{height:420px;border-radius:16px;overflow:hidden}
.tpin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;font:700 12px/1 system-ui;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.tdays .tday{margin:0 0 28px}
.tday .h2{display:flex;align-items:center;gap:10px}
.tdn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--dc);color:#fff;font-size:15px;flex:none}
.tline{list-style:none;margin:0;padding:0 0 0 18px;border-inline-start:3px dashed color-mix(in srgb,var(--dc) 45%,transparent);margin-inline-start:14px}
[dir=rtl] .tline{padding:0 18px 0 0}
.tslot{position:relative;display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start;padding:10px 0;animation:tin .45s both}
.tslot::before{content:"";position:absolute;inset-inline-start:-27px;top:20px;width:13px;height:13px;border-radius:50%;background:var(--dc);border:3px solid var(--card,#fff)}
.tslot time{font-weight:700;font-variant-numeric:tabular-nums;padding-top:12px;font-size:14px}
.tsc{display:flex;gap:12px;align-items:center;background:var(--card,#fff);border:1px solid var(--line,#e6e6ee);border-radius:14px;padding:10px;min-width:0}
.tsi{flex:none;width:96px;height:72px;border-radius:10px;overflow:hidden;display:block}
.tsi img,.tsi .ill{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.tsi .ill span{font-size:26px}
.tsb{display:flex;flex-direction:column;gap:3px;min-width:0}
.tsl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.tsn{font-weight:700;font-size:16px;color:inherit;text-decoration:none}.tsn:hover{text-decoration:underline}
.tsb small{opacity:.8}.tdir{white-space:nowrap}
.tkm{opacity:.6!important}.twarn{color:#b45309;opacity:1!important}
.trv .tsc{border-style:dashed}
.tslot:nth-child(2){animation-delay:.05s}.tslot:nth-child(3){animation-delay:.1s}.tslot:nth-child(4){animation-delay:.15s}.tslot:nth-child(5){animation-delay:.2s}.tslot:nth-child(n+6){animation-delay:.25s}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:600px){.tsi{width:72px;height:60px}.tslot{grid-template-columns:46px 1fr;gap:6px}.tsn{font-size:15px}#tourmap{height:320px}.ttiles{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.tslot{animation:none}}
@media print{.top,.bn,.tbtns,#tourmap,footer,.crumbs{display:none!important}.tslot{break-inside:avoid;animation:none}}
.tsi{position:relative}.tsi .ill{position:absolute;inset:0}
.tourform{max-width:980px}
.trv .tsi{position:relative;width:56px;height:56px}
.card>a.maplk{height:34px;width:34px;display:grid;flex-direction:row}

.fixph{border:1px dashed var(--line,#2a2738);border-radius:14px;padding:10px 12px;margin:6px 0;display:grid;gap:8px}.fixph legend{font-weight:700;padding:0 6px}.fixph .ck{display:flex;gap:8px;align-items:flex-start;font-size:.9em}.fixerr{color:#ff6b6b;font-weight:600}
.pcard .ph .cov .ce{font-size:52px}
.pphoto a{display:block}

/* ===== Calm design system v2: tab rows, folds, drawer, restaurants ===== */
:root{interpolate-size:allow-keywords}
.trow .rh{align-items:center;flex-wrap:wrap}
.seg{position:relative;display:flex;gap:4px;padding:4px;border-radius:99px;background:var(--card2);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%;margin:0 0 14px;isolation:isolate}
.seg::-webkit-scrollbar{display:none}
.seg [role=tab],.seg>a{position:relative;z-index:1;flex:none;border:0;background:none;font:inherit;font-weight:800;font-size:14px;color:var(--mute);padding:9px 15px;min-height:40px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:color .25s;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.seg [role=tab][aria-selected=true],.seg>a.on{color:var(--ink)}
.seg>a.on{background:var(--card);box-shadow:0 2px 10px -3px #0003}
.seg-ink{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:99px;background:var(--card);box-shadow:0 2px 12px -3px #0004;transition:transform .45s var(--spring),width .45s var(--spring)}
.seg.sm{margin:0}.seg.sm>a{padding:7px 13px;min-height:36px;font-size:13.5px}
.tpanel[hidden]{display:none}
.tpanel.tin{animation:tin .38s var(--ease,ease) both}

.fin{animation:tin .4s ease both}
.rail>.card,.grid>.card{height:100%}
.rail{align-items:stretch}
/* folds & accordions (animated details) */
details.fold,details.acc{border:1px solid var(--line);border-radius:18px;background:var(--card);margin:18px 0;overflow:hidden}
details.fold.inl{background:none}
details.fold>summary,details.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font-weight:800;font-size:16.5px;min-height:56px;-webkit-user-select:none;user-select:none}
details.fold>summary::-webkit-details-marker,details.acc>summary::-webkit-details-marker{display:none}
details.fold>summary i,details.acc>summary i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--card2);position:relative;transition:transform .35s var(--spring)}
details.fold>summary i::before,details.acc>summary i::before{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-2px) rotate(45deg)}
details[open]>summary i{transform:rotate(180deg)}
details.fold::details-content,details.acc::details-content{block-size:0;overflow:hidden;transition:block-size .38s var(--ease,ease),content-visibility .38s allow-discrete}
details.fold[open]::details-content,details.acc[open]::details-content{block-size:auto}
.fold-in{padding:4px 20px 20px}
.fold-in>.row:first-child,.fold-in>section:first-child{margin-top:6px}
.acc{margin:10px 0!important;border-radius:14px!important}
.acc>summary{font-size:15px!important;padding:12px 16px!important;min-height:50px!important}
.acc>summary .nb{margin-inline-start:auto;font-size:12px;font-weight:800;background:var(--grad);color:#fff;border-radius:99px;padding:2px 9px}
.acc-in{padding:0 16px 16px}
.chips.wrapc{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}
.chips.wrapc .chip{min-height:38px;padding:0 13px;font-size:13.5px;max-width:none}
/* restaurants top */
.rsearch{display:flex;gap:8px;margin-top:18px;max-width:680px;background:var(--card);border:1px solid var(--line2);border-radius:99px;padding:6px;box-shadow:0 14px 40px -18px #0006}
.rsearch input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16.5px;padding:0 18px;color:var(--ink);outline:0;min-height:48px}
.rsearch button{border:0;border-radius:99px;background:var(--grad);color:#fff;font:inherit;font-weight:800;padding:0 22px;min-height:48px;cursor:pointer}
.vhd{font-size:20px;margin:26px 0 12px}
.vrow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 8px;scroll-snap-type:x mandatory}
.vrow::-webkit-scrollbar{display:none}
.vrow a{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line);font-weight:800;font-size:14px;color:var(--ink);text-decoration:none;min-height:96px;transition:transform .4s var(--spring),border-color .2s}
.vrow a:hover{transform:translateY(-3px);border-color:var(--a1)}
.vrow .ve{font-size:26px;line-height:1}
.row.hl{margin-top:26px}
.hlg{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.hlg{grid-template-columns:repeat(2,1fr)}}
.rtool{position:sticky;top:calc(var(--hdr,64px) + 6px);z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;margin:0 -8px 12px;border-radius:99px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.rcount{margin-inline-start:auto;color:var(--mute);font-weight:700;font-size:14px}
.fdrawer{position:relative;margin:0!important;border:0!important;background:none!important;overflow:visible!important}
.fdrawer>summary{list-style:none}.fdrawer>summary::-webkit-details-marker{display:none}
.fbtn{min-height:44px!important;border-radius:99px!important;padding:0 18px!important;font-size:14.5px!important;border:1px solid var(--line2)!important;background:var(--card)!important;color:var(--ink)!important;width:auto!important}
.fbtn .nb{background:var(--grad);color:#fff;border-radius:99px;font-size:12px;padding:1px 8px}
.sheet{position:absolute;top:calc(100% + 10px);inset-inline-start:0;z-index:40;width:min(560px,92vw);max-height:min(70vh,640px);overflow:auto;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--line2);border-radius:22px;padding:14px 14px 0;box-shadow:0 30px 80px -20px #000a;animation:shin .3s var(--ease,ease) both}
@keyframes shin{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.sh-h{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 8px;font-weight:900;font-size:18px}
.sh-h a{font-size:14px;font-weight:800}
.sh-go{position:sticky;bottom:0;width:calc(100% + 28px);margin:10px -14px 0;border:0;background:var(--grad);color:#fff;font:inherit;font-weight:900;font-size:16px;min-height:54px;cursor:pointer}
.chips.act{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.chips.act .chip{min-height:36px;font-size:13.5px}
.chips.act .x{opacity:.8;margin-inline-start:2px}
[data-rxbox].busy .rgrid{opacity:.45;transition:opacity .2s}
.rgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.loadmore{display:flex;justify-content:center;margin:26px 0 8px}
.loadmore a{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 28px;border-radius:99px;border:1px solid var(--line2);background:var(--card);font-weight:800;color:var(--ink);text-decoration:none}
.loadmore a.busy{opacity:.5;pointer-events:none}
.loadmore small{color:var(--mute)}
.popq h3{font-size:16px;margin:18px 0 10px}
@media (max-width:720px){
 .fdrawer[open]::before{content:"";position:fixed;inset:0;z-index:90;background:#0008;animation:fdim .3s both}
 .sheet{position:fixed;z-index:91;inset:auto 0 0 0;top:auto;width:auto;max-height:84vh;border-radius:24px 24px 0 0;padding:8px 16px 0;animation:shup .38s var(--spring,ease) both}
 .sheet::before{content:"";display:block;width:42px;height:5px;border-radius:9px;background:var(--line2);margin:4px auto 8px}
 .sh-go{width:calc(100% + 32px);margin:10px -16px 0;padding-bottom:env(safe-area-inset-bottom)}
 .rtool{border-radius:16px}
 .rsearch input{font-size:16px;padding:0 12px}.rsearch button{padding:0 16px}
 .vrow{grid-auto-columns:118px}
 .seg{margin-inline:0}
 details.fold>summary{padding:14px 16px}.fold-in{padding:2px 14px 16px}
}
@keyframes shup{from{transform:translateY(100%)}to{transform:none}}
@keyframes fdim{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.seg-ink,details::details-content,.sheet,.tpanel.tin,.fin{transition:none!important;animation:none!important}}
.rtool:has(.fdrawer[open]){z-index:200}
@media (max-width:720px){.rtool{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}.fdrawer[open]::before{z-index:198}.sheet{z-index:199}body:has(.fdrawer[open]){overflow:hidden}}
main section.row[data-rxbox]{content-visibility:visible;contain:none}
section.row.rv:has(.fdrawer[open]){transform:none!important}
.tnote{margin:-4px 0 10px;color:var(--mute);font-size:13px}
/* ---------- Where are you? picker (first-visit overlay + switcher sheet) ---------- */
.wpk{display:none;position:fixed;inset:0;z-index:300;overflow:auto;overscroll-behavior:contain;background:var(--bg);color:var(--ink);-webkit-overflow-scrolling:touch}
html.wp-on .wpk-first,.wpk.open,.wpk[data-open]{display:block}
.wpk[data-open]{position:relative;inset:auto;z-index:auto;background:none;min-height:70vh}
html.wp-on body,html.wp-lock body{overflow:hidden}
html.wp-go body{visibility:hidden}
.wpk-bg{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.wpk[data-open] .wpk-bg{position:absolute}
.wpk-bg i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(70px);opacity:.38;animation:wpb 18s ease-in-out infinite alternate}
.wpk-bg i:nth-child(1){background:var(--a1,#ff3d7f);top:-25vmax;left:-15vmax}
.wpk-bg i:nth-child(2){background:var(--a2,#8b5cff);bottom:-30vmax;right:-20vmax;animation-delay:-6s}
.wpk-bg i:nth-child(3){background:var(--a3,#ffb547);top:30%;left:45%;width:34vmax;height:34vmax;opacity:.22;animation-delay:-12s}
@keyframes wpb{to{transform:translate3d(6vmax,4vmax,0) scale(1.12)}}
.wpk-in{position:relative;max-width:980px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 20px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:wpin .55s var(--spring,cubic-bezier(.2,.9,.25,1.15)) both}
@keyframes wpin{from{opacity:0;transform:translateY(18px) scale(.98)}}
.wpk-x{position:absolute;top:14px;inset-inline-end:14px}
.wpk-hd{margin:18px 0 18px}
.wpk-logo svg{width:56px;height:56px;filter:drop-shadow(0 10px 30px #ff3d7f55);animation:wpf 5s ease-in-out infinite}
@keyframes wpf{50%{transform:translateY(-6px) rotate(-4deg)}}
.wpk-hd h2{font-family:var(--disp,Unbounded),system-ui,sans-serif;font-size:clamp(32px,6vw,58px);line-height:1.05;margin:14px 0 10px;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wpk-hd p{color:var(--mute);font-size:16px;max-width:520px;margin:0 auto}
.wpk-loc{position:relative;display:inline-flex;align-items:center;gap:10px;font:inherit;font-weight:800;font-size:19px;color:#fff;background:var(--grad);background-size:160% 100%;border:0;border-radius:999px;padding:18px 34px;cursor:pointer;box-shadow:var(--glow);transition:transform .2s,background-position .4s}
.wpk-loc:hover{transform:translateY(-2px);background-position:100% 0}.wpk-loc:active{transform:scale(.97)}
.wpk-loc[aria-busy=true]{opacity:.8;cursor:progress}
.wpulse{position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 #ff3d7f88;animation:wpp 2.2s 4}
@keyframes wpp{70%{box-shadow:0 0 0 18px #ff3d7f00}100%{box-shadow:0 0 0 0 #ff3d7f00}}
.wpk-priv{font-size:12.5px;color:var(--mute);margin:10px 0 0}
.wpk-msg{margin:16px auto 0;max-width:620px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--card) 85%,transparent);border:1px solid var(--line2);font-size:14.5px}
.wpk-msg .btn{margin-top:10px}
.wstep,.wcities{width:100%;margin-top:26px;text-align:start;animation:wpin .45s ease both}
.wgrp+.wgrp{margin-top:20px}
.wgrp h3,.wcities h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 4px 10px;font-weight:800}
.wcities h3{text-transform:none;letter-spacing:0;font-size:20px;color:var(--ink)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.wco,.wci{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--card) 82%,transparent);border:1px solid var(--line2);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s;animation:wpc .5s ease both;animation-delay:calc(var(--i,0)*45ms)}
@keyframes wpc{from{opacity:0;transform:translateY(12px)}}
.wco:hover,.wci:hover,.wco:focus-visible,.wci:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--a1,#ff3d7f) 60%,transparent);box-shadow:0 12px 30px -12px #0008}
.wflag{font-size:34px;line-height:1}
.wcn,.wcl{display:flex;flex-direction:column;min-width:0}.wcn b,.wcl b{font-size:16px}.wcn small,.wcl small{color:var(--mute);font-size:12.5px}
.whint{display:none;position:absolute;top:-9px;inset-inline-end:12px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--grad);color:#fff}
.wco.hl,.wci.hl{border-color:var(--a1,#ff3d7f);box-shadow:0 0 0 2px color-mix(in srgb,var(--a1,#ff3d7f) 45%,transparent)}
.wco.hl .whint,.wci.hl .whint{display:block}
.wcg{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.wci{flex-direction:column;align-items:stretch;padding:0;overflow:hidden;gap:0}
.wci picture,.wci img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--card2)}
.wci .wcl{padding:10px 14px 12px}
.wback{font:inherit;font-weight:700;background:none;border:0;color:var(--mute);cursor:pointer;padding:6px 4px;margin-bottom:6px}
.wback:hover{color:var(--ink)}
.wpk-skip{margin-top:30px;color:var(--mute);font-weight:700;text-decoration:none;border-bottom:1px dashed var(--line2)}
.wpk-skip:hover{color:var(--ink)}
/* sheet mode (top-bar switcher) */
.wpk-sheet{background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wpk-sheet .wpk-bg{display:none}
.wpk-sheet .wpk-in{background:var(--bg);border:1px solid var(--line2);border-radius:26px;margin:6vh auto;max-width:860px;box-shadow:0 30px 80px #000a;overflow:hidden}
.wpk-sheet .wpk-hd{margin-top:4px}.wpk-sheet .wpk-hd h2{font-size:clamp(26px,4vw,38px)}.wpk-sheet .wpk-logo{display:none}
@media(max-width:640px){.wgrid{grid-template-columns:1fr 1fr;gap:10px}.wco{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.wflag{font-size:28px}.wpk-loc{width:100%;justify-content:center}
 .wpk-sheet{display:none}.wpk-sheet.open{display:flex;align-items:flex-end}.wpk-sheet .wpk-in{margin:0;border-radius:24px 24px 0 0;max-height:90vh;overflow:auto;width:100%;animation:wpsh .4s cubic-bezier(.2,.9,.25,1) both}}
@keyframes wpsh{from{transform:translateY(100%)}}
.citysel .cv{font-style:normal;font-size:11px;opacity:.7}.citysel .cco{font-style:normal;opacity:.75}
@media(max-width:640px){.citysel .cco{display:none}}
@media(max-width:430px){.citysel span{position:static!important;width:auto;height:auto;clip:auto;max-width:21vw}.citysel{padding:0 8px;min-width:0}}
/* Near you row */
.nearrow .nrh{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.nearrow .nrh h2{white-space:nowrap}.nearrow .kmchip{position:absolute;top:10px;inset-inline-start:10px;z-index:2;font-size:12px;font-weight:800;padding:4px 9px;border-radius:999px;background:#000c;color:#fff}
.nearrow .card .ph{position:relative}
@media (prefers-reduced-motion:reduce){.wpk-bg i,.wpk-logo svg,.wpulse,.wpk-in,.wco,.wci,.wstep,.wcities,.wpk-sheet .wpk-in{animation:none!important}.wco,.wci,.wpk-loc{transition:none}}

.nearrow .badges{display:none}
.citysel{flex-shrink:0}.citysel span[data-cslabel]{display:inline-block;vertical-align:middle}/* max-width needs a box; long names (تونس العاصمة, مدينة الكويت) pushed the theme button off-screen */
@media(max-width:430px){.bar summary .lc{display:none}.citysel span{max-width:18vw}.wci picture,.wci img{aspect-ratio:4/3}}
@media(max-width:640px){.wci picture,.wci img{aspect-ratio:3/2}.wcities .wgrid{gap:10px}}
.hcov{font-size:13px;color:var(--mute);margin:-4px 0 14px;letter-spacing:.01em}.ftcov{font-size:12.5px;color:var(--mute);margin-top:6px}

/* ---- 3D hero (canvas, lazy) + deeper card depth ---- */
.hx canvas.h3d{position:absolute;inset:0;z-index:-5;pointer-events:none;opacity:0;animation:h3in 1.6s var(--ease) .1s forwards}
@keyframes h3in{to{opacity:1}}
.hx.is3d .beams{opacity:.45}.hx.is3d .bgimg img{filter:saturate(.8) brightness(.62)}
:root[data-theme=light] .hx.is3d .bgimg img{filter:saturate(.9) brightness(.8)}
/* card tilt, parallax and 3D rail entrance removed: cards stay flat (no decorative motion) */
@media (prefers-reduced-motion:reduce){.hx canvas.h3d{display:none}}
.hx .hcov{color:#fffc;text-shadow:0 1px 8px #0009}
/* ================= Category themes (tokens: src/themes.js → data-th) ================= */
[data-th=party]{--tha:#ff3d7f;--thb:#8b5cff;--thpat:radial-gradient(circle at 20% 30%,#ff3d7f55 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,#22e6c455 0 2px,transparent 3px),radial-gradient(circle at 45% 85%,#ffc24b55 0 2px,transparent 3px);--thps:46px 46px}
[data-th=dining]{--tha:#f5a524;--thb:#c0532d;--thf:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--thpat:repeating-linear-gradient(0deg,#ffffff14 0 8px,transparent 8px 16px),repeating-linear-gradient(90deg,#ffffff14 0 8px,transparent 8px 16px);--thps:auto}
[data-th=comedy]{--tha:#ffb547;--thb:#c2412d;--thpat:linear-gradient(#0000 46%,#0006 46% 54%,#0000 54%),linear-gradient(90deg,#0000 47%,#0006 47% 53%,#0000 53%);--thps:44px 22px}
[data-th=kids]{--tha:#2fcf86;--thb:#ffcd3c;--thpat:radial-gradient(circle,#ffffff2a 0 5px,transparent 6px);--thps:28px 28px}
[data-th=theatre]{--tha:#e0569b;--thb:#7a0f2a;--thpat:repeating-linear-gradient(90deg,#00000038 0 7px,#ffffff10 9px 13px,#00000038 16px 22px);--thps:auto}
[data-th=sports]{--tha:#2fa8ff;--thb:#2fcf86;--thpat:repeating-linear-gradient(90deg,#ffffff10 0 40px,transparent 40px 80px);--thps:auto}
[data-th=outdoor]{--tha:#06b6d4;--thb:#f2c38b;--thpat:radial-gradient(120% 60% at 50% 120%,#f2c38b55,transparent 60%);--thps:auto}
[data-th=culture]{--tha:#a78bfa;--thb:#d9a24a;--thpat:linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(#ffffff0d 1px,transparent 1px);--thps:32px 32px}
[data-th=ladies]{--tha:#ff5fb0;--thb:#e8c07a;--thpat:radial-gradient(circle at 30% 30%,#ffd6ec66 0 1.5px,transparent 2.5px),radial-gradient(circle at 75% 70%,#e8c07a66 0 1.5px,transparent 2.5px);--thps:38px 38px}
/* heroes: pattern + decor layer (JS adds .thd) */
body[data-th] :is(.phx,.evx){view-transition-name:thhero}
body[data-th] :is(.phx,.evx) .thd{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
body[data-th] :is(.phx,.evx) .thd:before{content:"";position:absolute;inset:0;background:var(--thpat);background-size:var(--thps);opacity:.9;mask:linear-gradient(180deg,#000 0,#0008 60%,transparent)}
.thd i{position:absolute;display:block;font-style:normal}
::view-transition-group(thhero){animation-duration:.45s}
/* party: falling confetti + beat-pulsing beams */
body[data-th=party] .thd i{top:-6%;width:7px;height:12px;border-radius:2px;background:var(--c1,#ff3d7f);animation:thfall var(--d,7s) linear var(--dl,0s) infinite}
/* paused while the hero is scrolled away */
:is(.phx,.evx):is(.hoff,.hcalm) :is(.thd i,.bgimg img,.beams,.beams i,.bokeh,.bokeh i,.thd:before,.thd:after){animation-play-state:paused!important}
@keyframes thfall{to{transform:translate3d(var(--dx,20px),120vh,0) rotate(540deg)}}
body[data-th=party] .phx .beams i{animation-name:sweep,beat}
@keyframes beat{0%,100%{opacity:.85}50%{opacity:.45}}
/* dining: chalkboard + steam + "today's picks" */
body[data-th=dining] :is(.phx,.evx){background:#1f2a24}
body[data-th=dining] .thd:after{content:attr(data-label);position:absolute;top:calc(var(--hdr) + 14px);inset-inline-end:22px;font:italic 700 clamp(18px,2.4vw,28px)/1 var(--thf);color:#f6f1e3e6;transform:rotate(-4deg);text-shadow:0 0 1px #fff,0 0 8px #fff4;border-bottom:2px dashed #f6f1e399;padding-bottom:6px}
body[data-th=dining] .thd i{bottom:8%;width:22px;height:90px;border-radius:50%;background:radial-gradient(closest-side,#ffffff38,transparent);filter:blur(6px);animation:steam var(--d,5s) ease-in var(--dl,0s) infinite}
@keyframes steam{0%{transform:translateY(0) scaleX(1);opacity:0}25%{opacity:.8}100%{transform:translateY(-220px) scaleX(2.4);opacity:0}}
body[data-th=dining] h1.pg{font-family:var(--thf);font-weight:700;letter-spacing:0}
/* comedy: brick wall, spotlight follows pointer, curtain reveal, mic */
body[data-th=comedy] :is(.phx,.evx){background:#3a1712}
body[data-th=comedy] .thd:before{background:linear-gradient(#0000 46%,#00000070 46% 54%,#0000 54%) 0 0/44px 22px,linear-gradient(90deg,#0000 47%,#00000070 47% 53%,#0000 53%) 0 0/44px 44px,linear-gradient(90deg,#0000 47%,#00000070 47% 53%,#0000 53%) 22px 22px/44px 44px,#7a2f22;opacity:.55}
body[data-th=comedy] .thd .spot{inset:auto;left:var(--mx,62%);top:var(--my,40%);width:min(60vw,520px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#fff3d6aa,#ffb54733 60%,transparent);mix-blend-mode:screen;transition:left .25s var(--ease),top .25s var(--ease)}
body[data-th=comedy] .thd .mic{right:8%;bottom:14%;font-size:clamp(48px,7vw,92px);filter:drop-shadow(0 10px 20px #000a);animation:micbob 3.4s ease-in-out infinite}
[dir=rtl] body[data-th=comedy] .thd .mic{right:auto;left:8%}
@keyframes micbob{50%{transform:rotate(-8deg) translateY(-6px)}}
body[data-th=comedy] .thd .cur{top:0;bottom:0;width:51%;background:repeating-linear-gradient(90deg,#8e1020 0 18px,#b3172c 26px,#8e1020 36px);animation:curtain 1.3s cubic-bezier(.7,0,.2,1) .25s forwards;z-index:2}
body[data-th=comedy] .thd .cur.l{left:0;transform-origin:left}body[data-th=comedy] .thd .cur.r{right:0;transform-origin:right}
@keyframes curtain{to{transform:scaleX(0);opacity:.0}}
/* theatre: velvet side curtains + spotlight */
body[data-th=theatre] :is(.phx,.evx){background:#2a0611}
body[data-th=theatre] .thd .cur{top:0;bottom:0;width:13%;background:repeating-linear-gradient(90deg,#5a0a1c 0 10px,#9b1434 16px,#5a0a1c 24px);box-shadow:0 0 30px #000a;animation:drape 1.2s var(--ease) both}
body[data-th=theatre] .thd .cur.l{left:0;border-radius:0 0 60% 0}body[data-th=theatre] .thd .cur.r{right:0;border-radius:0 0 0 60%}
@keyframes drape{from{width:51%}}
body[data-th=theatre] .thd .spot{left:50%;top:-10%;width:60%;height:130%;transform:translateX(-50%);background:radial-gradient(50% 100% at 50% 0,#fff2d855,transparent 70%)}
/* kids: balloons (tap to pop) + bouncy */
body[data-th=kids] .thd i.bl{bottom:-120px;width:46px;height:58px;border-radius:50% 50% 48% 52%/55% 55% 45% 45%;background:radial-gradient(circle at 32% 28%,#fff9 0 5px,transparent 8px),var(--c1,#ff5f7a);animation:balloonRise var(--d,12s) linear var(--dl,0s) infinite;pointer-events:auto;cursor:pointer}
body[data-th=kids] .thd i.bl:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:40px;background:#fff8}
@keyframes balloonRise{0%{transform:translate(0,0)}50%{transform:translate(18px,-60vh) rotate(6deg)}100%{transform:translate(-10px,-130vh)}}
.thd i.pop{animation:balloonPop .3s ease-out forwards!important}@keyframes balloonPop{to{transform:scale(1.8);opacity:0}}
body[data-th=kids] h1.pg{text-decoration:underline wavy var(--thb) 3px;text-underline-offset:10px}
/* sports: floodlights + pitch stripes */
body[data-th=sports] :is(.phx,.evx){background:#0b2a1a}
body[data-th=sports] .thd:before{background:repeating-linear-gradient(90deg,#ffffff0c 0 60px,transparent 60px 120px);mask:linear-gradient(0deg,#000,transparent 70%)}
body[data-th=sports] .thd i{top:calc(var(--hdr) + 6px);width:70px;height:26px;border-radius:6px;background:radial-gradient(circle,#fff 0 3px,transparent 4px) 0 0/12px 12px;box-shadow:0 0 50px 20px #ffffff30;animation:flood 4s ease-in-out var(--dl,0s) infinite}
@keyframes flood{50%{box-shadow:0 0 70px 30px #ffffff45}}
/* outdoor: sand + waves */
body[data-th=outdoor] .thd i.wv{left:-50%;right:-50%;bottom:-6px;height:70px;background:radial-gradient(40px 22px at 40px 0,transparent 98%,#06b6d4aa) 0 0/80px 70px repeat-x;animation:wave var(--d,9s) linear infinite;opacity:.65}
body[data-th=outdoor] .thd i.wv+i.wv{bottom:-22px;opacity:.4;animation-direction:reverse}
@keyframes wave{to{transform:translateX(80px)}}
/* culture: gallery frames */
body[data-th=culture] .thd i.fr{border:6px solid #d9a24a88;outline:10px solid #ffffff10;width:var(--w,120px);aspect-ratio:var(--ar,3/4);box-shadow:0 20px 40px #0008,inset 0 0 0 10px #ffffff08}
/* ladies: twinkling sparkles */
body[data-th=ladies] .thd i{width:10px;height:10px;background:conic-gradient(from 45deg,#fff 0 25%,transparent 0 50%,#fff 0 75%,transparent 0);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:twk var(--d,2.6s) ease-in-out var(--dl,0s) infinite}
@keyframes twk{0%,100%{transform:scale(.2);opacity:0}50%{transform:scale(1.2) rotate(45deg);opacity:1}}
/* ---- cards: per-theme accents ---- */
.card[data-th]{--c:var(--tha)}
.card[data-th=party]:hover{animation:cbeat .5s ease-in-out infinite alternate}
@keyframes cbeat{to{box-shadow:0 0 0 2px var(--tha),0 0 34px -6px var(--tha),0 0 60px -20px var(--thb)}}
.card[data-th=party] .bd{background:radial-gradient(circle at 0 0,var(--bg) 7px,transparent 8px) 0 0/100% 100% no-repeat,radial-gradient(circle at 100% 0,var(--bg) 7px,transparent 8px) 0 0/100% 100% no-repeat;border-top:2px dashed color-mix(in srgb,var(--tha) 40%,transparent)}
.card[data-th=dining] h3{font-family:var(--thf);font-weight:700;letter-spacing:0}
.card[data-th=dining] .bd{background-image:linear-gradient(90deg,color-mix(in srgb,var(--tha) 7%,transparent) 50%,transparent 50%),linear-gradient(color-mix(in srgb,var(--tha) 7%,transparent) 50%,transparent 50%);background-size:14px 14px;background-position:0 0}
.card[data-th=dining] .ph:before{content:"";position:absolute;z-index:2;left:30%;bottom:18%;width:40%;height:60%;pointer-events:none;opacity:0;background:radial-gradient(8px 40% at 30% 70%,#fff8,transparent),radial-gradient(8px 45% at 55% 60%,#fff7,transparent),radial-gradient(8px 40% at 78% 72%,#fff8,transparent);filter:blur(4px)}
.card[data-th=dining]:hover .ph:before{animation:csteam 1.8s ease-out infinite}
@keyframes csteam{0%{opacity:0;transform:translateY(20px)}40%{opacity:1}100%{opacity:0;transform:translateY(-50px) scaleX(1.4)}}
.card[data-th=dining]:hover .cpill{animation:cutl .6s ease-in-out 2}@keyframes cutl{25%{rotate:-8deg}75%{rotate:8deg}}
.card[data-th=comedy] .ph:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,40%),#fff3d655,transparent 45%);opacity:0;transition:opacity .3s}
.card[data-th=comedy]:hover .ph:before{opacity:1}
.card[data-th=comedy] .bd{border-top:5px solid transparent;border-image:repeating-linear-gradient(90deg,#9a3b2a 0 20px,#5a2015 20px 22px) 5}
.card[data-th=kids]{border-radius:26px}.card[data-th=kids]:hover{animation:boing .6s var(--spring)}
@keyframes boing{30%{scale:1.04 .96}60%{scale:.98 1.03}100%{scale:1}}
.card[data-th=kids] h3{text-decoration:underline wavy color-mix(in srgb,var(--thb) 70%,transparent) 2px;text-underline-offset:5px;text-decoration-skip-ink:none}
.card[data-th=theatre] .ph{box-shadow:inset 0 6px 0 #7a0f2a}
.card[data-th=sports] .dchip{font-family:ui-monospace,"SF Mono",Menlo,monospace;background:#0b0b0b;color:#ffcf4a;letter-spacing:.04em;text-shadow:0 0 6px #ffcf4a88}
.card[data-th=outdoor] .ph:before{content:"";position:absolute;inset:auto 0 -1px;height:14px;z-index:1;pointer-events:none;background:radial-gradient(11px 9px at 11px 0,transparent 97%,var(--card)) 0 0/22px 14px repeat-x}.card[data-th=outdoor]:hover .ph:before{animation:wave 2.4s linear infinite;left:-22px}
.card[data-th=culture] .ph img{box-sizing:border-box;border:7px solid color-mix(in srgb,var(--thb) 55%,#1a1325);outline:1px solid #fff2;outline-offset:-12px}
.card[data-th=ladies] .bd{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--thb) 50%,transparent),transparent) top/100% 1px no-repeat}
.card[data-th=ladies]:hover h3{background:linear-gradient(90deg,var(--ink),var(--tha),var(--thb),var(--ink)) 0/300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 1.6s linear infinite}
@keyframes shim{to{background-position:300% 0}}
/* chips + tiles */
.chip[data-th]:hover{border-color:var(--tha)}.chip[data-th=kids]:hover{animation:boing .5s var(--spring)}.chip[data-th=party]:hover{box-shadow:0 0 18px -4px var(--tha)}
.chip[data-th=dining]{font-family:var(--thf)}
.tile[data-th]:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--thpat);background-size:var(--thps);opacity:.7;pointer-events:none}
/* theme reactions (floating emoji) */
.threact{position:fixed;z-index:80;pointer-events:none;font-size:26px;animation:thup 1.1s ease-out forwards}
@keyframes thup{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}20%{opacity:1;transform:translate(-50%,-80%) scale(1.15)}100%{transform:translate(calc(-50% + var(--dx,0px)),-260%) scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.thd i,.thd:after{animation:none!important}.thd .cur{display:none}.threact{display:none}.card[data-th]:hover{animation:none}}
.wm .tm{font-size:.42em;font-weight:600;opacity:.55;vertical-align:super;margin-inline-start:1px;letter-spacing:0;-webkit-text-fill-color:currentColor}
.ft .legalc{font-size:12px;opacity:.8;margin-top:4px}
.legal h2{font-size:19px;margin:26px 0 8px}.legal p{line-height:1.7;max-width:72ch}
/* menus (batch 2) */
.mnbox{display:flex;gap:14px;align-items:center;margin:14px 0 6px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.mnth{flex:0 0 64px;height:84px;border-radius:8px;background:linear-gradient(160deg,#fffdf7,#f3ead8);border:1px solid #e6dcc6;box-shadow:0 2px 6px rgba(0,0,0,.08);position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;text-decoration:none;transition:transform .2s}
a.mnth:hover{transform:translateY(-2px) rotate(-1deg)}
.mnth b{font-size:12px;color:#8a6d3b;letter-spacing:.04em}
.mnpg{position:absolute;inset:12px 10px auto 10px;display:grid;gap:6px}
.mnpg i{display:block;height:3px;border-radius:2px;background:#d9cbb0}.mnpg i:nth-child(2n){width:70%}
.mnin{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
.mnin small{color:var(--muted);overflow-wrap:anywhere}
.mnno .mnth{opacity:.55}.mnno .mnin b{font-weight:600}
.tblw{overflow-x:auto}.covt{border-collapse:collapse;width:100%;font-size:14px}.covt th,.covt td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:start}.covt small{color:var(--muted)}
.mnin a:not(.btn){color:var(--acc-ink);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.tierbar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 8px}
.tierb{display:flex;flex-direction:column;gap:2px;padding:14px 12px;border-radius:14px;border:1.5px solid var(--line,#ddd);background:var(--card,#fff);color:inherit;text-decoration:none;min-height:84px;position:relative;transition:transform .15s,border-color .15s}
.tierb b{font-size:1.02rem;line-height:1.2}.tierb small{opacity:.72;font-size:.8rem}.tierb i{font-style:normal;font-size:.75rem;opacity:.65;margin-top:auto;color:var(--ink,#111)}
.tierb:hover{transform:translateY(-1px)}.tierb.on{border-color:currentColor;box-shadow:0 0 0 2px currentColor inset}
.tierb.t-budget{color:#0d7a4f}.tierb.t-mid-range{color:#1d5fa8}.tierb.t-fine-dining{color:#8a5a00}
.tierb b,.tierb small{color:var(--ink,#111)}.tierb.on b{color:inherit}
.tiernote{font-size:.82rem;opacity:.75;margin:4px 0 8px}
.tierh{grid-column:1/-1;margin:18px 0 4px;font-size:1.05rem;padding-bottom:4px;border-bottom:1px solid var(--line,#ddd)}
.bdg.tier.t-fine{background:#f3e6c4;color:#6b4500}.bdg.tier.t-up{background:#f6efdd;color:#6b4500}.bdg.tier.t-mid{background:#e2ecf8;color:#1d4f8a}.bdg.tier.t-budget{background:#dff3e8;color:#0d6a44}
.cquick{display:flex;gap:8px;overflow-x:auto;margin:10px 0;scrollbar-width:none}.cquick::-webkit-scrollbar{display:none}
.cquick>a{flex:1 0 auto}.tierb.sm{min-height:0;padding:9px 12px}.qdate{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:14px;background:#fde7ee;color:#9b1c4a;text-decoration:none;font-weight:600}
@media(max-width:560px){.tierbar{gap:6px}.tierb{padding:10px 8px;min-height:76px}.tierb b{font-size:.9rem}.tierb small{font-size:.72rem}}
[data-theme=dark] .tierb,[data-theme=night] .tierb{background:rgba(255,255,255,.04)}
/* Ask AI concierge */
.cg .askout{font-size:1.08rem;line-height:1.5}
.cg .cgq{margin:.6rem 0 0;font-weight:600}
.cg .cgn{margin:.4rem 0 0;font-size:.85rem;opacity:.75}
.cgl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;counter-reset:cg}
.cgi{display:flex;flex-direction:column;gap:6px;counter-increment:cg;position:relative}
.cgi::before{content:counter(cg);position:absolute;z-index:2;top:8px;inset-inline-start:8px;width:26px;height:26px;border-radius:50%;background:#8b5cff;color:#fff;font:700 .85rem/26px system-ui;text-align:center;box-shadow:0 2px 6px #0004}
.cgi .cgc{flex:1}.cgi .cgc>*{height:100%}
.cgi .why{margin:0;font-size:.88rem;line-height:1.35;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,#8b5cff 10%,transparent)}
.cgsee{text-align:center;margin:18px 0 6px}
@media (max-width:600px){.cgl{grid-template-columns:1fr 1fr;gap:10px}.cgi .why{font-size:.8rem}}

/* FEATURES.vibeArt / vibeTilt: glossy 3D vibe art + gentle tilt on hover/tap */
.vtiles.art .vtin{height:132px;background:#1b1530}.vtiles.art .vtin::after{background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.78))}.vtiles.art .vic{display:none}
.vtiles[data-tilt]{perspective:700px}.vtiles[data-tilt] .vtin{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;will-change:transform}
.vtiles[data-tilt] .vt.tilt .vtin{transition:transform .08s linear,box-shadow .25s}.vtiles[data-tilt] .vt.tilt img{transform:scale(1.08) translate(calc(var(--ry,0deg) * -.6px),calc(var(--rx,0deg) * .6px))}
.vtiles[data-tilt] .vt input:checked+.vtin{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px) scale(1.02)}
@media (prefers-reduced-motion:reduce){.vtiles[data-tilt] .vtin{transform:none!important}}
/* FEATURES.evBudget */
.chips.evb{align-items:center}.chips.evb .vlab{font-size:.8rem;opacity:.7;white-space:nowrap;padding-inline-end:4px}
/* FEATURES.placeCats */
.pcat{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:14px;background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);color:inherit;text-decoration:none;font-weight:600;white-space:nowrap}
/* tonightRow + aboutFold */
.tonight{margin:14px 0 18px}.tonight .tn-in{font-size:1.05rem;font-weight:600;margin:0 0 10px;line-height:1.4}
.tn3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:640px){.tn3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:4px}.tn3>*{flex:0 0 78%;scroll-snap-align:start}}
.aboutpg{margin:28px 0 8px;border-top:1px solid var(--line,rgba(127,127,127,.25));padding-top:10px}.aboutpg>summary{cursor:pointer;color:var(--mut,#888);font-size:.9rem;list-style:revert}
.aboutpg .summary{background:none;border:0;box-shadow:none;padding:8px 0 0;margin:0;font-size:.9rem;color:var(--mut,#888)}.aboutpg .upd{display:block;margin-top:4px}
.tn-more{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}

/* perf: hero beams are blurred, rotated layers; cache them as GPU layers and keep them still on phones */
.beams i{will-change:transform}
@media (max-width:720px){.beams i{animation:none}}
/* easter eggs */.eeC{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:0;z-index:90;pointer-events:none;font-size:2.4rem;white-space:nowrap;animation:eeWalk 6s linear forwards}.eeC.rtl{animation-name:eeWalkR}.eeC span{display:inline-block;margin-inline-end:6px;animation:eeBob .5s ease-in-out infinite alternate}.eeC span:nth-child(2){animation-delay:.15s}.eeC span:nth-child(3){animation-delay:.3s}.eeC:not(.rtl) span{transform:scaleX(-1)}
@keyframes eeWalk{from{transform:translateX(-14rem)}to{transform:translateX(110vw)}}@keyframes eeWalkR{from{transform:translateX(110vw)}to{transform:translateX(-14rem)}}@keyframes eeBob{to{translate:0 -6px}}
.eeS{position:fixed;z-index:90;pointer-events:none;color:#ffd166;font-size:1.3rem;text-shadow:0 0 8px #ffd166;animation:eeStar 1.4s ease-in forwards;opacity:0}@keyframes eeStar{10%{opacity:1}to{transform:translate(-60vw,40vh);opacity:0}}
.eeT{position:fixed;left:50%;top:84px;z-index:91;transform:translateX(-50%);background:#1f1534;color:#fff;padding:10px 16px;border-radius:99px;font-weight:700;box-shadow:0 8px 24px #0004;animation:eeIn .35s ease-out}@keyframes eeIn{from{opacity:0;top:60px}}
/* 🎮 games button: the controller gives a little wiggle every few seconds */.btn.gm span{display:inline-block;animation:gmWig 4s ease-in-out infinite}@keyframes gmWig{0%,82%,100%{transform:none}86%{transform:rotate(-14deg) scale(1.15)}90%{transform:rotate(12deg) scale(1.15)}94%{transform:rotate(-6deg)}}@media (prefers-reduced-motion:reduce){.btn.gm span{animation:none}}
/* 🌇 golden hour card */
.gold{display:flex;gap:14px;align-items:stretch;padding:14px;border-radius:18px;background:linear-gradient(160deg,#ffb347 0%,#ff7a59 45%,#7c3aed 100%);color:#fff;overflow:hidden;position:relative}
.gold h2{margin:0 0 6px;color:#fff}.gold h2 small{font-size:.6em;opacity:.85;font-weight:600}
.ghsky{flex:0 0 74px;position:relative;border-radius:14px;background:linear-gradient(#ffd27a,#ff8a5c 70%);overflow:hidden}
.ghsun{position:absolute;left:50%;width:34px;height:34px;margin-left:-17px;border-radius:50%;background:radial-gradient(#fff6c8,#ffcf3f 60%,#ff9d2e);box-shadow:0 0 22px 8px #ffd96a99;top:calc(8% + var(--gp,0)*62%);transition:top 1.2s ease}
.ghdune{position:absolute;inset:auto -20% -2px;height:34%;background:#a24a2a;border-radius:60% 70% 0 0/100% 100% 0 0;box-shadow:-30px 6px 0 #c4683a}
.ghtimes{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px}.ghtimes b{font-variant-numeric:tabular-nums}
.ghrel{flex-basis:100%;font-weight:700}.ghrel:empty{display:none}
.ghlab{margin:4px 0;font-size:.85em;opacity:.9}.ghrow{display:flex;gap:8px;flex-wrap:wrap}
.ghs{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#ffffff2e;color:#fff;text-decoration:none;font-size:.85em;max-width:100%}
.ghs img{width:28px;height:28px;border-radius:50%;object-fit:cover}.ghs b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14em}
.ghnote{margin:8px 0 0;font-size:.72em;opacity:.8}.ghtx{min-width:0}
.gold.on .ghsky{animation:ghglow 3s ease-in-out infinite alternate}@keyframes ghglow{to{filter:saturate(1.4) brightness(1.08)}}
@media (prefers-reduced-motion:reduce){.ghsun{transition:none}.gold.on .ghsky{animation:none}}
.ghmoon{margin:8px 0 0;font-weight:600}.ghmoon span{font-size:1.2em}
@media (max-width:560px){.ghsky{flex-basis:40px}.ghsun{width:26px;height:26px;margin-left:-13px}.gold{gap:10px;padding:12px}}
.gold .ghq .qarr{display:inline-block;font-style:normal;font-weight:700;transform:rotate(var(--q));transition:transform .9s cubic-bezier(.3,1.6,.5,1)}
.gold:hover .ghq .qarr{transform:rotate(calc(var(--q) + 360deg))}
@media (prefers-reduced-motion:reduce){.gold .ghq .qarr{transition:none}}
/* 🛂 passport stamp toast */
.ppT{position:fixed;left:50%;bottom:calc(98px + env(safe-area-inset-bottom,0px));z-index:92;display:flex;align-items:center;gap:12px;width:min(92vw,340px);box-sizing:border-box;transform:translateX(-50%);background:#fffaf0;color:#2a1d0e;padding:10px 16px 10px 10px;border-radius:18px;box-shadow:0 10px 30px #0005;pointer-events:none;animation:ppIn .5s cubic-bezier(.2,1.5,.4,1) both}
.ppT i{font-style:normal;flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font-size:1.7rem;border:4px double var(--ink);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--ink) 25%,transparent);background:color-mix(in srgb,var(--ink) 12%,#fff);animation:ppStamp .6s .25s cubic-bezier(.2,1.6,.4,1) both}
.ppT span{display:flex;flex-direction:column;gap:2px;min-width:0}.ppT b{color:var(--ink)}.ppT small{opacity:.8;overflow-wrap:anywhere}.ppT a{pointer-events:auto;font-weight:700;color:var(--ink);font-size:.9rem}
.ppT.out{transition:opacity .45s,transform .45s;opacity:0;transform:translate(-50%,20px)}
@keyframes ppIn{from{opacity:0;transform:translate(-50%,30px)}}@keyframes ppStamp{0%{transform:scale(2.6) rotate(25deg);opacity:0}65%{transform:scale(.9) rotate(-10deg);opacity:1}100%{transform:rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){.ppT,.ppT i{animation:none}}
/* 💳 card & membership offers (src/cards.js): our own text chips, no programme logos */
.cchip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;line-height:1;padding:4px 8px;border-radius:7px;white-space:nowrap;border:1px solid transparent}
.cchip i{font-style:normal}.cchip.c-enbd{background:#e8f0ff;color:#0b3d91;border-color:#b9cdf5}.cchip.c-mep{background:#fdeaea;color:#9b1c1c;border-color:#f3c0c0}.cchip.c-fab{background:#e6f7f4;color:#0a5c52;border-color:#b5e3da}.cchip.c-qitaf{background:#efe7fb;color:#4f2a8f;border-color:#d5c4f2}
.pdeal{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 12px 12px;padding:8px 52px 8px 10px;border-radius:12px;background:color-mix(in srgb,#2fa8ff 9%,transparent);border:1px dashed color-mix(in srgb,#2fa8ff 45%,transparent);font-size:12.5px;line-height:1.35}
[dir=rtl] .pdeal{padding:8px 10px 8px 52px}
.pdeal .pchips{display:inline-flex;gap:4px;flex-wrap:wrap}.pdeal .pdo{flex:1 1 140px;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pdeal .psrc{font-size:11.5px;font-weight:700;white-space:nowrap;padding:6px 0;min-height:24px}
.pcard.mine{outline:3px solid #2fa8ff;outline-offset:2px;box-shadow:0 0 0 6px color-mix(in srgb,#2fa8ff 20%,transparent)}
.pcard.mine .pdeal::before{content:attr(data-mine);flex-basis:100%;font-weight:800;color:#1677c9}
.mycards{margin:10px 0 14px;border:1px solid var(--line,#2a2738);border-radius:14px;background:var(--card,transparent)}
.mycards>summary{cursor:pointer;padding:12px 14px;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none}.mycards>summary::-webkit-details-marker{display:none}
.mycards>summary::after{content:'▾';margin-inline-start:auto;opacity:.6}.mycards[open]>summary::after{content:'▴'}
.mcsel{display:inline-flex;gap:4px;flex-wrap:wrap}.mcin{padding:0 14px 12px}.mch{margin:0 0 8px;opacity:.85;font-size:13.5px}
.mcl{display:flex;flex-direction:column;gap:6px}.mco{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 8px;border-radius:10px;cursor:pointer;flex-wrap:wrap}.mco:hover{background:color-mix(in srgb,#2fa8ff 8%,transparent)}
.mco input{width:20px;height:20px;accent-color:#2fa8ff}.mco small{opacity:.75}
.cardbox .cofl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cardbox .coo{margin:6px 0 2px;font-weight:700;font-size:15px}.cardbox .com{margin:0;font-size:12.5px;opacity:.85}
.cwhy{margin:18px 0}.cwhy summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.cwhy li{margin:6px 0;font-size:13.5px}
/*COVERS*/
.cov{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 14px 22px;background:radial-gradient(130% 100% at 15% 0%,color-mix(in oklab,var(--cb) 85%,#fff) 0%,var(--cb) 30%,var(--ca) 78%,color-mix(in oklab,var(--ca) 60%,#000) 100%)}
.cov::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 45%,rgba(255,255,255,.28),transparent 70%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}
.cov .ce{position:relative;z-index:1;font-size:58px;line-height:1;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));transform:rotate(-6deg)}
.cov .cl{position:absolute;z-index:1;left:12px;bottom:10px;font:700 11px/1.2 var(--fd,system-ui);letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.92;text-shadow:0 1px 6px rgba(0,0,0,.45)}
[dir=rtl] .cov .cl{left:auto;right:12px;letter-spacing:0}
.cov .cn{position:relative;z-index:1;max-width:88%;text-align:center;font:800 17px/1.18 var(--fd,system-ui);color:#fff;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cov .cn::after{content:"";display:block;width:34px;height:2px;margin:8px auto 0;border-radius:2px;background:rgba(255,255,255,.7)}
.pcover{position:relative;aspect-ratio:16/7;border-radius:20px;overflow:hidden;margin:0 0 18px}.pcover .cov .ce{font-size:96px}.pcover .cov .cl{font-size:13px;left:20px;bottom:16px}
.cov[data-k=coffee]{--ca:#6f4428;--cb:#e9c79b}
.cov[data-k=dessert]{--ca:#d9467a;--cb:#ffd6e5}
.cov[data-k=breakfast]{--ca:#e08a00;--cb:#ffe9a8}
.cov[data-k=indian]{--ca:#b3261e;--cb:#ffb347}
.cov[data-k=levant]{--ca:#3f6b2a;--cb:#e7d38a}
.cov[data-k=gulf]{--ca:#9c4a1a;--cb:#f3d29b}
.cov[data-k=grill]{--ca:#8e1b1b;--cb:#ff8a4c}
.cov[data-k=italian]{--ca:#c62828;--cb:#7fb069}
.cov[data-k=burger]{--ca:#d84315;--cb:#ffd54f}
.cov[data-k=japanese]{--ca:#283593;--cb:#ff8a80}
.cov[data-k=asian]{--ca:#b71c1c;--cb:#ffca28}
.cov[data-k=seafood]{--ca:#006d77;--cb:#83c5be}
.cov[data-k=steak]{--ca:#4a0e1e;--cb:#c97b63}
.cov[data-k=mexican]{--ca:#2e7d32;--cb:#ffb300}
.cov[data-k=euro]{--ca:#1d3557;--cb:#e9c46a}
.cov[data-k=african]{--ca:#7a3e00;--cb:#e9a55a}
.cov[data-k=bar]{--ca:#3c1a78;--cb:#b388ff}
.cov[data-k=dining]{--ca:#8a1c3b;--cb:#ff9a8b}
.cov[data-k=hotel]{--ca:#272a6b;--cb:#b9b4f0}
.cov[data-k=resort]{--ca:#0b5c63;--cb:#9be3dc}
.cov[data-k=park]{--ca:#1f5a2e;--cb:#b7e4a6}
.cov[data-k=beach]{--ca:#0d5d86;--cb:#f4d9a6}
.cov[data-k=mall]{--ca:#6a1f5b;--cb:#f6b9dc}
.cov[data-k=souk]{--ca:#7a3b12;--cb:#f0c27a}
.cov[data-k=landmark]{--ca:#3b2a63;--cb:#e6c98f}
.cov[data-k=museum]{--ca:#3a2b1f;--cb:#e8d5b0}
.cov[data-k=tour]{--ca:#12524a;--cb:#f5d68a}
.cov[data-k=viewpoint]{--ca:#6b2d5c;--cb:#ffc28a}
.cov[data-k=mosque]{--ca:#12415e;--cb:#d9e8f0}
.cov[data-k=cinema]{--ca:#3d0f1f;--cb:#f05a6e}
.cov[data-k=spa]{--ca:#5b4a6e;--cb:#f1dbe8}
.cov[data-k=themepark]{--ca:#5a1a86;--cb:#ffd166}
.cov[data-k=zoo]{--ca:#0b4f6c;--cb:#8fe3cf}
/*/COVERS*/
/* ≡ site menu: native <dialog> (focus trap + Esc), CSS-only motion (transform/opacity) */
.ib.hmb,.ib.drwx{padding:0;width:44px;min-width:44px;height:44px}.hmi{position:relative;width:20px;height:14px;display:block}.hmi i{position:absolute;inset-inline:0;height:2px;border-radius:2px;background:currentColor;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s,top .28s}
.hmi i:nth-child(1){top:0}.hmi i:nth-child(2){top:6px;width:70%}.hmi i:nth-child(3){top:12px}
.hmb[aria-expanded=true] .hmi i:nth-child(1){top:6px;transform:rotate(45deg)}.hmb[aria-expanded=true] .hmi i:nth-child(2){opacity:0;transform:scaleX(0)}.hmb[aria-expanded=true] .hmi i:nth-child(3){top:6px;transform:rotate(-45deg)}
.hmb:hover .hmi i:nth-child(2){width:100%}
html.mopen,html.mopen body{overflow:hidden;overscroll-behavior:none}
.drw{padding:0;border:0;margin:0;max-width:none;max-height:none;background:transparent;color:var(--ink);inset:0 0 0 auto;width:min(88vw,380px);height:100dvh;overflow:visible}
[dir=rtl] .drw{inset:0 auto 0 0}
.drw::backdrop{background:#05040acc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:mfade .25s ease-out}
.drwin{height:100%;display:flex;flex-direction:column;background:var(--bg);border-inline-start:1px solid var(--line2);box-shadow:0 0 60px #0008;animation:min .34s cubic-bezier(.2,.9,.25,1.05)}
[dir=rtl] .drwin{animation-name:minr}
.drw.closing .drwin{animation:mout .22s ease-in forwards}[dir=rtl] .drw.closing .drwin{animation-name:moutr}.drw.closing::backdrop{animation:mfade .22s reverse forwards}
@keyframes min{from{transform:translateX(100%)}}@keyframes minr{from{transform:translateX(-100%)}}@keyframes mout{to{transform:translateX(100%)}}@keyframes moutr{to{transform:translateX(-100%)}}@keyframes mfade{from{opacity:0}}
@keyframes mpop{from{opacity:0;transform:translateY(8px)}}
.drwh{display:flex;gap:8px;align-items:center;padding:12px 12px 10px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--line)}
.drws{flex:1;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:14px;border:1px solid var(--line2);background:var(--card)}
.drws input{flex:1;min-width:0;border:0;background:transparent;color:inherit;font:inherit;font-size:16px;outline:0;height:42px}
.drws:focus-within{border-color:color-mix(in srgb,var(--ink) 50%,transparent)}
.drwx{flex:none}
.drwb{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 8px max(24px,env(safe-area-inset-bottom))}
.drwb ul{list-style:none;margin:0;padding:0 0 6px}
.drwb a,.drwb summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 12px;border-radius:12px;color:inherit;text-decoration:none;cursor:pointer}
.drwb a:hover,.drwb a:focus-visible,.drwb summary:hover{background:color-mix(in srgb,var(--card) 90%,var(--ink) 6%)}
.drwb a:active{transform:scale(.98)}
.drwb summary{list-style:none;font-weight:800;font-size:15.5px}.drwb summary::-webkit-details-marker{display:none}
.mg,.mcity,.msolo{animation:mpop .4s cubic-bezier(.2,.8,.2,1) backwards}.drwb>:nth-child(2){animation-delay:.04s}.drwb>:nth-child(3){animation-delay:.08s}.drwb>:nth-child(4){animation-delay:.12s}.drwb>:nth-child(5){animation-delay:.16s}.drwb>:nth-child(n+6){animation-delay:.2s}
.mg ul a{padding-inline-start:20px;font-size:15px}
.mi{flex:none;width:28px;height:28px;display:grid;place-items:center;font-size:18px;border-radius:9px;background:color-mix(in srgb,var(--card) 80%,var(--ink) 8%);transition:transform .25s}
.drwb a:hover .mi{transform:rotate(-8deg) scale(1.12)}
.ml{flex:1;min-width:0;display:flex;flex-direction:column}.ml small{font-size:11.5px;color:var(--mute);font-weight:600}
.mcv{flex:none;width:8px;height:8px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(45deg);transition:transform .25s;margin-inline-end:4px}
details[open]>summary .mcv{transform:rotate(225deg)}
.mg::details-content,.mcity::details-content{block-size:0;overflow:hidden;transition:block-size .3s,content-visibility .3s allow-discrete}
.mg[open]::details-content,.mcity[open]::details-content{block-size:auto}
.mcity{margin-bottom:6px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.mcity summary b{font-size:15px}
.mcl{max-height:46vh;overflow-y:auto;padding:0 6px 8px}.mco{margin:8px 12px 2px;font-size:12px;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.mcl a[aria-current]{font-weight:800}.mcl a[aria-current]::after{content:'✓';margin-inline-start:auto}
.msolo a{font-weight:800}
.mnone{padding:16px;color:var(--mute);text-align:center}
.mload{display:flex;gap:6px;justify-content:center;padding:28px}.mload i{width:8px;height:8px;border-radius:50%;background:var(--mute);animation:mdot 1s infinite alternate}.mload i:nth-child(2){animation-delay:.2s}.mload i:nth-child(3){animation-delay:.4s}
@keyframes mdot{to{opacity:.2;transform:translateY(-4px)}}
.drwb [hidden]{display:none!important}
@media(min-width:900px){.drw{inset:calc(var(--hdr) + 6px) max(16px,calc((100vw - 1280px)/2 + 18px)) auto auto;width:400px;height:auto;max-height:calc(100dvh - var(--hdr) - 24px)}
[dir=rtl] .drw{inset:calc(var(--hdr) + 6px) auto auto max(16px,calc((100vw - 1280px)/2 + 18px))}
.drwin{max-height:calc(100dvh - var(--hdr) - 24px);border:1px solid var(--line2);border-radius:20px;animation:mdrop .28s cubic-bezier(.2,.9,.25,1.05);transform-origin:top right}
[dir=rtl] .drwin{animation-name:mdrop;transform-origin:top left}
.drw.closing .drwin,[dir=rtl] .drw.closing .drwin{animation:mdrop .18s ease-in reverse forwards}
.drw::backdrop{background:#05040a66;backdrop-filter:none}}
@keyframes mdrop{from{opacity:0;transform:translateY(-8px) scale(.96)}}
@media(prefers-reduced-motion:reduce){.drwin,.drw::backdrop,.mg,.mcity,.msolo,.hmi i,.mload i{animation:none!important;transition:none!important}}

.drwt{display:none}@media(max-width:640px){.bar>.thb,.bar .thb:not(.drwt){display:none}.drwt{display:inline-flex;flex:none;width:44px;min-width:44px;height:44px;padding:0}}
.drwh{gap:8px}.drws{min-width:0}.drws input{min-width:0;width:100%}.drwh>.ib{flex:none}

.sky{display:inline-block;margin:10px 0 0;padding:7px 14px;border-radius:16px;background:rgba(255,255,255,.82);color:#21163a;font-size:.86rem;font-weight:700;line-height:1.35;box-shadow:0 4px 14px rgba(40,10,60,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:100%}
.sky span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.yt{display:block;opacity:.8}
.evsun .rel{display:block}

.grid .gfrag{grid-column:1/-1;height:1px;margin:0}[data-ff~=shimmer].js .grid .gfrag[data-frag]:not([data-fail]),[data-ff~=shimmer].js .tpanel:not([hidden]) .rail[data-frag]:empty:not([data-fail]):before{content:"";display:block;height:150px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(100deg,var(--card) 30%,color-mix(in srgb,var(--a1) 14%,var(--card)) 50%,var(--card) 70%);background-size:300% 100%;animation:sk 1.4s ease-in-out infinite}[data-ff~=shimmer].js .tpanel .rail[data-frag]:empty:before{height:300px;width:min(78vw,290px)}@media (prefers-reduced-motion:reduce){[data-ff~=shimmer] .gfrag[data-frag],[data-ff~=shimmer] .rail[data-frag]:before{animation:none}}.grid ul.gfrag a{color:inherit;text-decoration:underline;text-underline-offset:3px}
[dir=rtl] .sbox .go svg{transform:scaleX(-1)}
/* clear navigation (Wherepicks) */
.cback{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;margin-bottom:6px;border-radius:999px;background:#0006;color:#fff;font-weight:700;font-size:14px;backdrop-filter:blur(6px)}
.cback:hover{text-decoration:none;background:#000a}
.lite .cback,.wrap .cback{background:var(--bg2);color:var(--ink)}
h1.pg+.sub{opacity:.85;font-size:14.5px;margin-top:4px}
.ctabs3{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0 10px;margin:8px 0 6px}
.ctabs3::-webkit-scrollbar{display:none}
.ctabs3 a{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 14px;border-radius:999px;border:1px solid var(--line2);font-weight:700;white-space:nowrap;color:var(--ink)}
.ctabs3 a.on{background:var(--a1,#ff3d7f);border-color:transparent;color:#fff;box-shadow:0 6px 18px -8px var(--a1,#ff3d7f)}
.ctiles{grid-template-columns:repeat(2,1fr);margin:12px 0 6px}
@media(min-width:720px){.ctiles{grid-template-columns:repeat(4,1fr)}}
.ctiles .tile{min-height:104px}
.ctiles .tile b{font-size:18px}
.ideas{margin:18px 0 8px}
.ideash{font-size:15px;margin:0 0 8px;opacity:.85}
.idrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.idrow .btn{flex:0 0 auto;white-space:nowrap}
.rtool{display:flex;gap:10px;align-items:center;margin:14px 0 10px}
.btn.fbtn{min-height:44px;padding:10px 18px;font-weight:800}
.btn.fbtn .nb,.fbtn .nb{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--a1,#ff3d7f);color:#fff;font-size:12px;margin-inline-start:4px}
.drawer .chips.wrapc{display:flex;flex-wrap:wrap;gap:8px}
.drawer .chips.wrapc .chip{white-space:nowrap}
.shnear{margin:10px 0}
@media(max-width:820px){dialog.drawer{margin:auto 0 0 0;width:100%;max-width:100%;height:86vh;max-height:86vh;border-radius:22px 22px 0 0}dialog.drawer[open]{animation-name:slideUpWp}}
@keyframes slideUpWp{from{transform:translateY(100%)}to{transform:none}}
.shfoot{position:sticky;bottom:-18px;background:var(--bg2);padding:10px 0}
/* calm: no decorative motion next to text (keep sheet slide + loading shimmer) */
.btn.gm span,.eeC span,.wpk-logo svg,.eq b,.cta:before,.orb,.cov::before,h1.mega em,.sbox,.beams i,.gold.on .ghsky,.cd.live:before,.hx .bgimg img,.phx .bgimg img,.wpk-bg i,.thd *,.card[data-th]:hover,.card[data-th]:hover *,.card[data-th]:hover .ph:before,.tile:before{animation:none!important}
.thd,.eeC,.eeS,.beams{display:none!important}
.tile:hover{transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sheet .mycards{margin:10px 0}
.mfold{margin:22px 0;border:1px solid var(--line,#ffffff1f);border-radius:14px;padding:4px 14px}.mfold>summary{cursor:pointer;padding:12px 0;font-weight:700}
/* compact list bar: Filter · Sort · view */
.rtool{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.rtool .fdrawer{margin:0}
.sortdd{position:relative}.sortdd>summary{list-style:none;cursor:pointer}.sortdd>summary::-webkit-details-marker{display:none}
.sortm{position:absolute;z-index:40;top:calc(100% + 6px);inset-inline-start:0;min-width:200px;background:var(--bg2,#14121c);border:1px solid var(--line,#ffffff22);border-radius:14px;padding:6px;box-shadow:0 12px 40px #0008;display:grid}
.sortm button{all:unset;cursor:pointer;padding:11px 12px;border-radius:10px;font-weight:600;font-size:15px}.sortm button[aria-checked=true]{background:#ffffff14}
.vtog{display:flex;gap:4px;margin-inline-start:auto}.vtog .ib{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line,#ffffff22);background:transparent;color:inherit;opacity:.6;cursor:pointer}.vtog .ib[aria-pressed=true]{opacity:1;background:#ffffff14}
.grid.v-list{grid-template-columns:1fr!important;gap:10px}
.grid.v-list>article.card>a{display:grid;grid-template-columns:104px 1fr;align-items:stretch}
.grid.v-list>article.card .ph{aspect-ratio:auto;height:100%;min-height:96px}.grid.v-list>article.card .ph .badges,.grid.v-list>article.card .ph .cpill,.grid.v-list>article.card .ph .pcred,.grid.v-list>article.card .ph .dchip{display:none}
.grid.v-list>article.card .bd{padding:10px 12px}.grid.v-list>article.card .bd h3{font-size:16px;margin:0 0 4px}.grid.v-list>article.card .pdeal,.grid.v-list>article.card .glare{display:none}
.grid.v-photo{grid-template-columns:1fr!important}
.grid.v-photo>article.card .ph{aspect-ratio:4/3}.grid.v-photo>article.card .bd>:not(h3),.grid.v-photo>article.card .pdeal{display:none}.grid.v-photo>article.card .bd h3{font-size:19px}
@media(min-width:820px){.grid.v-photo{grid-template-columns:repeat(2,1fr)!important}.grid.v-list{grid-template-columns:repeat(2,1fr)!important}}
/* get to the point: on inner pages the title is followed straight by the control bar and results (blurbs stay in the About fold / meta) */
body.is-sub:has(.ctabs3) .in > p.sub,body.is-sub:has(.ctabs3) .in > p.btnrow,body.is-sub:has(.ctabs3) .in > p.lede,body.is-sub:has(.sbox) .in > p.sub{display:none}
.toolbar.rtool > [data-near]{display:none}
.hx .in > p.sub{display:none}
.drawer .fmore{margin-top:8px}.drawer .fmore>summary{cursor:pointer;font-weight:600;opacity:.85;padding:6px 0}.drawer .flbl{margin:10px 0 4px;font-weight:600;opacity:.8}
.sheet details.acc{display:block;padding-block:0!important;gap:0}
.prng .prv{font-weight:800;font-size:18px;margin:2px 0 6px}
.prng .dual{position:relative;height:48px}
.prng .dual::before{content:"";position:absolute;inset-inline:0;top:50%;height:4px;margin-top:-2px;background:var(--line);border-radius:2px}
.prng .dual i{position:absolute;top:50%;height:4px;margin-top:-2px;background:var(--grad);border-radius:2px}
.prng .dual input[type=range]{position:absolute;inset:0;width:100%;height:48px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.prng .dual input[type=range]::-webkit-slider-runnable-track{background:none;height:48px}
.prng .dual input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:30px;height:30px;margin-top:9px;border-radius:50%;background:#fff;border:3px solid #ff3d7f;cursor:pointer}
.prng .dual input[type=range]::-moz-range-thumb{pointer-events:auto;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid #ff3d7f;cursor:pointer}
.prng .pnums{display:flex;gap:10px;margin:8px 0}
.prng .pnums label{flex:1;display:grid;gap:4px;font-size:14px;font-weight:700}
.prng .pnums input{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--card2,#1a1426);color:var(--ink);padding:0 12px;font-size:17px;width:100%}
.prng .npt{display:flex;gap:8px;align-items:center;min-height:44px}
.qwhen{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.qwhen .chip{min-height:40px}
/* flat cards and tiles: no hover lift, tilt or zoom (no decorative motion) */
.card:hover,.tile:hover,.city:hover,.adopt:hover,.vt:hover .vtin,.vt input:checked+.vtin{transform:none}.tile:hover:before,.city:hover img,.vt:hover img{transform:none}
.ess{margin:12px 0;padding:12px 14px;border:1px solid var(--ln,#ffffff22);border-radius:14px}.ess p{margin:4px 0}.ess-r b{font-size:18px}.ess-l{display:flex;flex-wrap:wrap;gap:6px 14px;font-weight:600}.ess-a{opacity:.85}.ess .btnrow{margin:10px 0 2px;gap:8px}
@media(max-width:959px){.ev.evx>aside{order:-1}}
/* Pick a date (chip + small date form) */
.dpick{display:block}.dpick[open]{flex-basis:100%}.dpick>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.dpick>summary::-webkit-details-marker{display:none}
.dpf{display:grid;margin-top:10px;gap:10px;grid-template-columns:1fr 1fr;align-items:end;padding:12px;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:14px;background:var(--card,rgba(127,127,127,.06))}
.dpf label{display:grid;gap:4px;font-size:.88em;font-weight:600}.dpf input{min-height:44px;font:inherit;padding:6px 10px;border-radius:10px;border:1px solid var(--line,rgba(127,127,127,.4));background:var(--card,#fff);color:inherit;width:100%;box-sizing:border-box}.dpf .btn{grid-column:1/-1;min-height:44px}
.sug .sgp .sgi{flex:none;width:40px;height:40px;padding:9px;border-radius:10px;background:rgba(127,127,127,.12)}
.vmap{height:62vh;min-height:320px;border-radius:16px;overflow:hidden;margin:12px 0}.vmap[hidden]{display:none}
.cdist{display:block;font-weight:600;opacity:.8;margin-top:2px}
.phx{flex-wrap:wrap;align-content:flex-end}.phx>.credit{position:relative;z-index:2;flex:0 0 100%;max-width:1280px;margin:0 auto;padding:0 18px 8px;text-align:end;font-size:10.5px;line-height:1.35;color:#ffffffa8}.phx>.credit a{color:#ffffffd0}[data-theme=light] .phx.lite>.credit,[data-theme=light] .phx.lite>.credit a{color:var(--mute)}.crumbs{scroll-margin-top:calc(var(--hdr,64px) + 8px)}
.kf{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 2px}.kf>div{display:flex;flex-direction:column;min-width:0}.kf dt{font-size:11.5px;color:var(--mute);margin:0}.kf dd{margin:0;font-weight:700;font-size:14.5px}
.ohw{border-collapse:collapse;font-size:13.5px}.ohw th{font-weight:500;text-align:start;padding:1px 14px 1px 0;color:var(--mute)}.ohw td{padding:1px 0}.ohw tr.td th,.ohw tr.td td{font-weight:700;color:inherit}
.vmap .maplibregl-popup-content{padding:10px 12px;border-radius:12px}.mpop{display:flex;flex-direction:column;gap:4px;color:#111;font-size:14px;line-height:1.3}.mpop .mpn{font-weight:700;color:#111;text-decoration:none}.mpop .mpc{color:#555;font-size:12px}.mpop .btn.sm{align-self:flex-start;margin-top:4px}

@media (max-width:640px){.qchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-18px;padding:2px 18px;scroll-padding-inline:18px}.qchips::-webkit-scrollbar{display:none}.qchips a{flex:none}}

/* Round 9: clean placeholder when no free photo — one line icon + the place name, flat */
.cov{background:color-mix(in oklab,var(--ca,#64748b) 10%,var(--card,#fff));color:color-mix(in oklab,var(--ca,#64748b) 70%,var(--ink,#111));gap:8px;padding:0 14px}
.cov::after{display:none}
.cov .ce,.pcard .ph .cov .ce,.pcover .cov .ce{font-size:0;filter:none;transform:none;line-height:0;color:inherit;opacity:.85}
.pcover .cov .cvi{width:56px;height:56px}
.cov .cn{color:var(--ink,#111);text-shadow:none;font-weight:700;font-size:15px}
.pcover .cov .cn{font-size:18px}
.cov .cn::after{display:none}
.cov .cl{color:inherit;text-shadow:none;opacity:.8}
.addph{margin:-10px 0 16px;font-size:13px;opacity:.85}.addph a{font-weight:600}
.ph:has(>.cov)::after,.ph:has(>.cov)::before{background:none;box-shadow:none}
/* Round 10: decoration layers removed site-wide (kept hidden in case cached HTML still has them) */
.beams,.bokeh,.grain,.wpk-bg{display:none!important}
.phx.lite{background:var(--bg)!important}.phx.lite:before{background:none!important}

/* R11 CWV: static hero photo (no Ken Burns loop); breadcrumbs stay one line on phones so the remembered-city 'Home' swap can't move the page */
.bgimg img{animation:none!important}
@media (max-width:700px){.crumbs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.crumbs::-webkit-scrollbar{display:none}.crumbs>*{flex:none}.crumbs>[aria-current]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}}

/* R12 list pages: header hugs the title + search; no empty band above the Filter/Sort bar */
.lst.phx.lite,.lst.phx{min-height:0!important}.lst.phx .in{padding-bottom:10px!important}.lst.phx .rsearch{margin-top:12px}
.lst.phx+.wrap{padding-top:0!important}.lst.phx+.wrap>.row:first-child,.lst.phx+.wrap>.rtool:first-child{margin-top:0!important}
/* R12 home CLS: the countdown fills in after load; reserve its row so the hero does not re-centre */
.hcount .cdbig{min-height:48px}@media (max-width:700px){.hcount .cdbig{flex-basis:100%}}
/* R13 one list header: plain, same title font everywhere */
.lst.phx h1.pg{font-family:var(--disp)!important}
.lst.phx .bgimg,.lst.phx .credit{display:none}
/* R13 first card title above the bottom bar on phones: compact list header + shorter card photo */
@media (max-width:700px){.lst.phx .in{padding-top:10px!important}.lst.phx .cback{margin-bottom:0;min-height:32px}.lst.phx .crumbs{margin-top:4px!important;margin-bottom:4px!important}.lst.phx h1.pg{margin-top:2px!important}.lst.phx .rsearch{margin-top:8px}.lst.phx~.wrap .grid:not(.v-list)>article.card .ph{aspect-ratio:9/4}.lst.phx~.wrap>.row>.rtool:first-child,.lst.phx~.wrap .rtool{margin-top:0!important}.lst.phx~.wrap .tierh{margin-top:0!important;margin-bottom:0!important}.lst.phx~.wrap .row>.rh{margin-bottom:6px!important}.lst.phx~.wrap .row{margin-top:0!important;padding-top:6px!important}}
.pcred.oc{max-width:calc(100% - 12px)}
/* R14 one live dot, no pulse */
.cd.live:before{animation:none!important;box-shadow:none!important}
/* R14 quick date row on event lists (one tap, like Platinumlist / Time Out) */
.qdate{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px 0 12px;padding-bottom:2px}
.qdate::-webkit-scrollbar{display:none}
.qdate .chip{flex:0 0 auto;white-space:nowrap}
.qdate{background:none!important;padding:0!important;margin:2px 0 8px!important;border:0!important;box-shadow:none!important}
.qdate .chip{padding:6px 12px;font-size:14px;min-height:0}
