/* Venue detail styles shared by /v/ pages and the app's detail sheet. Generated by tools/build.py */
.vd h1{font-size:26px;line-height:1.3;margin:4px 0 6px}.vd h2{font-size:18px;margin:26px 0 8px}
.vd .vhero{border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#e3f4ee;margin:10px 0 12px}
.vd .vhero{position:relative}
.vd .hs{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.vd .hs::-webkit-scrollbar{display:none}
.vd .hs>*{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
.vd .vhero img{width:100%;height:100%;object-fit:cover;display:block}
.vd .vid{position:relative;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}.vd .vid img{transform:scale(1.13)}
.vd .play{position:absolute;left:50%;top:50%;width:64px;height:46px;margin:-23px 0 0 -32px;border-radius:14px;background:rgba(0,0,0,.72)}
.vd .play::after{content:"";position:absolute;left:26px;top:13px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.vd .vid:hover .play{background:#e00}.vd .vhero iframe{border:0;background:#000}
.vd .hn{position:absolute;right:10px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;border-radius:999px;padding:2px 8px;pointer-events:none}
.vd .vcr{font-size:11px;color:#8A90A0;margin:-8px 0 10px;text-align:right}
.vd .meta{color:#5B6478;font-size:14px}.vd .star{color:#8a5a00;font-weight:800}
.vd .badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:#fdecef;color:#a3324a;margin-left:6px}
.vd .cta{display:flex;gap:8px;margin:16px 0}
.vd .btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid #EFE7D6;background:#fff;color:#1F2A44}
.vd .btn.pri{background:#2F6BBF;color:#fff;border-color:#2F6BBF}.vd .btn.wa{color:#128c4b;flex:0 0 auto;padding:0 16px}
.vd dl{display:grid;grid-template-columns:88px 1fr;gap:8px 12px;margin:0;font-size:15px}.vd dt{color:#5B6478}.vd dd{margin:0}
.vd .box{background:#fff;border:1px solid #EFE7D6;border-radius:16px;padding:14px 16px}
.vd .sess{display:flex;flex-wrap:wrap;gap:6px}.vd .sess span{font-size:13px;background:#eef1fd;color:#3b4fb0;border-radius:8px;padding:2px 8px}
.vd .list .item{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #EFE7D6;border-radius:14px;padding:8px;margin-bottom:8px}
.vd .list a.main{flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-decoration:none;color:#1F2A44}
.vd .list img,.vd .list .tn{width:104px;height:78px;border-radius:10px;object-fit:cover;flex:none;background:#EAF3FD;display:grid;place-items:center;font-size:28px}
.vd .list b{display:block;font-size:16px}.vd .list small{display:block;color:#5B6478;font-size:13px}.vd .list small.k{color:#1F2A44}.vd .list small.warn{color:#a8431c}
.vd .list .gobtn{flex:none;background:#2F6BBF;color:#fff;font-weight:700;font-size:14px;border-radius:10px;padding:10px 12px;text-decoration:none}
@media(max-width:420px){.vd .list img,.vd .list .tn{width:84px;height:64px}.vd .list .gobtn{padding:8px 10px}}
.vd .fav.on{background:#fff7e0;border-color:#f2c94c}.vd .btn.fav{flex:0 0 48px;font-size:20px;cursor:pointer;font:inherit}
.vd-today:empty{display:none}.vd-today{margin:4px 0 0}
.vd .lnk{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
#vdbox .pg-only{display:none}
.vd h1{font-size:24px}

.vd .vhero .sa{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.25);font-size:24px;line-height:1;cursor:pointer;display:none;place-items:center;color:#1F2A44}
.vd .vhero .sa.prev{left:10px}.vd .vhero .sa.next{right:10px}
@media(hover:hover){.vd .vhero:hover .sa{display:grid}}
.vd .gph{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(255,255,255,.95);color:#1F2A44;font-size:13px;font-weight:700;border-radius:999px;padding:6px 12px;text-decoration:none;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.vd .faq details{background:#fff;border:1px solid #EFE7D6;border-radius:12px;margin-bottom:8px;padding:0 14px}
.vd .faq summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none}.vd .faq summary::-webkit-details-marker{display:none}
.vd .faq summary::after{content:"＋";float:right;color:#5B6478}.vd .faq details[open] summary::after{content:"－"}
.vd .faq p{margin:0 0 12px;color:#1F2A44}
.vd .chips a{border:1px solid #EFE7D6;background:#fff;border-radius:999px;padding:6px 12px;text-decoration:none;color:#1F2A44;font-size:14px}
.vd .chips{display:flex;flex-wrap:wrap;gap:8px}
