/* App presentation of the shared venue template; public Web assets stay unchanged. */
:is(#detail,.venue-detail){background:var(--paper);--venue-nav-top:0px}
:is(#detail,.venue-detail) .dtop{padding:20px 22px 0;border:0}
:is(#detail,.venue-detail) .dtop .kind{font-size:11px;font-weight:700;letter-spacing:.06em}
:is(#detail,.venue-detail) .dtop h1{position:relative;top:-8px;font-family:inherit;font-size:19px;font-weight:800;line-height:1.45;margin:6px 0 0;letter-spacing:.01em;overflow-wrap:anywhere}
:is(#detail,.venue-detail) .dtop .place{font-size:13px}
:is(#detail,.venue-detail) .detailidentityrow{align-items:flex-start;flex-wrap:wrap;gap:10px}
:is(#detail,.venue-detail) .meta{margin:0 0 -6px;padding:0 22px 0;gap:12px;background:var(--card);border:0;align-items:center}
:is(#detail,.venue-detail) .meta>div:first-child{position:relative;top:-8px;display:flex;flex-direction:row;align-items:baseline;gap:0;border:0;padding:0;flex-basis:100%;min-width:0}
:is(#detail,.venue-detail) .meta .k::after{content:"-";margin:0 5px}
:is(#detail,.venue-detail) .meta .k{flex:none}
:is(#detail,.venue-detail) .meta .v{min-width:0}
:is(#detail,.venue-detail) .meta .k{font-size:13px;letter-spacing:0}
:is(#detail,.venue-detail) .meta .v{font-family:inherit;font-size:14px;font-weight:650;line-height:1.5}
:is(#detail,.venue-detail) .native-venue-nav{display:flex;gap:7px;overflow-x:auto;position:sticky;top:var(--venue-nav-top);z-index:9;padding:8px 16px 13px;background:var(--card);border-bottom:1px solid var(--rule2);scrollbar-width:none}
:is(#detail,.venue-detail) .native-venue-nav::-webkit-scrollbar{display:none}
:is(#detail,.venue-detail) .native-venue-nav button{flex:none;min-height:32px;padding:5px 14px;border:1px solid var(--rule2);border-radius:22px;background:var(--card);color:var(--ink2);font-weight:600;line-height:1.4;font-family:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
:is(#detail,.venue-detail) .native-venue-nav button[aria-current="location"]{background:var(--ink);border-color:var(--ink);color:var(--card)}
:is(#detail,.venue-detail) :is(button,a):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
:is(#detail,.venue-detail)>.sec{margin:14px 12px;padding:20px 17px;border:1px solid var(--rule2);border-radius:18px;background:var(--card);scroll-margin-top:calc(var(--venue-nav-top) + 64px)}
:is(#detail,.venue-detail) .sec>h2{font-size:16px;letter-spacing:.02em;margin-bottom:11px;gap:9px;flex-wrap:wrap}
:is(#detail,.venue-detail) .sec>h2:before{width:4px;height:17px;border-radius:3px;transform:none}
:is(#detail,.venue-detail) .sec>h2:after{content:none}
:is(#detail,.venue-detail) .sec>h2 span{margin-left:auto;font-size:9px;letter-spacing:.08em}
:is(#detail,.venue-detail) .body,:is(#detail,.venue-detail) .sta li{font-size:14px;line-height:1.85}
:is(#detail,.venue-detail) .sta li{padding-top:12px;padding-bottom:12px}
:is(#detail,.venue-detail) .memo{font-size:12px;line-height:1.8;background:var(--paper);border-radius:10px;padding:12px;border:0}
:is(#detail,.venue-detail) :is(.venuefact,.connectivity){border-color:var(--rule2);border-radius:12px;box-shadow:none}
:is(#detail,.venue-detail) .factrow{padding:13px 12px;gap:12px}
:is(#detail,.venue-detail) .factlabel{font-size:11px;letter-spacing:.02em}
:is(#detail,.venue-detail) .factvalue{font-size:14px;line-height:1.75}
:is(#detail,.venue-detail) .factcond{font-size:12px;line-height:1.75}
:is(#detail,.venue-detail) .factmeta{font-size:10px;line-height:1.6}
:is(#detail,.venue-detail) .precheck{gap:10px}
:is(#detail,.venue-detail) .precheck .entryvisual .factlabel{font-size:10px;line-height:1.5}
:is(#detail,.venue-detail) .entryicon{box-shadow:none;background:var(--accent-soft);color:var(--ink);border:0}
:is(#detail,.venue-detail) .gm{display:flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:5px 14px;box-sizing:border-box;border:1px solid #28734f;border-radius:8px;font-size:13px;font-weight:700;line-height:1.6;margin-top:16px;background:#28734f;color:#fff;text-decoration:none}
:is(#detail,.venue-detail) .gm::after{content:"↗";font-size:18px;flex:none}
:is(#detail,.venue-detail) .gm:hover{background:#205e41;border-color:#205e41;color:#fff}
:is(#detail,.venue-detail) .nearbygrid .chip{min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:12px}
:is(#detail,.venue-detail) .nearbytitle{font-size:12px;margin-bottom:10px}
:is(#detail,.venue-detail) .basicinfo{border:0;border-radius:0;background:transparent}
:is(#detail,.venue-detail) .basicinfo .fact-row{padding:0;background:transparent;grid-template-columns:90px minmax(0,1fr)}
:is(#detail,.venue-detail) .basicinfo .fact-row+.fact-row{border-top:1px solid var(--rule2)}
:is(#detail,.venue-detail) .basicinfo .fact-row dt{padding:14px 12px 14px 0;border:0;background:transparent;font-size:11px;letter-spacing:0;line-height:1.7}
:is(#detail,.venue-detail) .basicinfo .fact-row dd{padding:14px 0;font-size:13px;font-weight:500;line-height:1.7}
:is(#detail,.venue-detail) .related-card{padding:13px;border-radius:10px}
:is(#detail,.venue-detail)>.fine{font-size:11px;line-height:1.85;padding:6px 22px 24px;color:var(--sub)}
@media(max-width:860px){
 :is(#detail,.venue-detail){--venue-nav-top:48px;transform:translateX(100%)}
 :is(#detail,.venue-detail).show{transform:translateX(0)}
 :is(#detail,.venue-detail) .mobbar{height:48px;box-sizing:border-box;padding:2px 12px;border-bottom:0;touch-action:pan-y}
 :is(#detail,.venue-detail) .mobbar .mobback,:is(#detail,.venue-detail) .mobbar .shareiconbtn{width:44px;min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--ink)}
 :is(#detail,.venue-detail) .mobbar .mobback svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 :is(#detail,.venue-detail) .mobbar .shareglyph{width:22px;height:22px}
 :is(#detail,.venue-detail) .mobbar button:active{background:var(--paper)}
 :is(#detail,.venue-detail) .mobbar .sp{flex:1;min-width:0;text-align:center;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .15s ease}
 :is(#detail,.venue-detail) .mobbar .sp.venue-title-visible{opacity:1}
 :is(#detail,.venue-detail) .dtop{padding-top:8px}
 .venue-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;left:10px;right:10px;bottom:calc(73px + var(--safe-b));pointer-events:none}
 .venue-detail-actions :is(button,a){box-shadow:none;min-height:46px;gap:6px;pointer-events:auto;white-space:nowrap}
}

:is(#detail,.venue-detail) .facilityoverview{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(#detail,.venue-detail) .facilitysummary{border-radius:10px;border-color:var(--rule2);min-height:70px}
:is(#detail,.venue-detail) .facilitysummarylabel{font-size:11px}
#venueTicketAddFixed,:is(#detail,.venue-detail) #venueTicketAddTop{background:#393d43;color:#fff;border-color:#393d43}

:is(#detail,.venue-detail) .dtop .place{line-height:1.6;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
@media(prefers-reduced-motion:reduce){:is(#detail,.venue-detail){transition:none}}

:is(#detail,.venue-detail) .native-venue-heart{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;margin-left:auto;min-width:44px;min-height:44px;padding:8px 4px;border:0;border-radius:8px;background:transparent;color:var(--sub);font-size:13px;font-weight:600;line-height:1;touch-action:manipulation}
:is(#detail,.venue-detail) .native-venue-heart.on{background:transparent;color:var(--accent-pop)}
:is(#detail,.venue-detail) .native-venue-heart:disabled{cursor:default;opacity:1}
:is(#detail,.venue-detail) .native-venue-heart:active:not(:disabled){background:var(--paper)}
:is(#detail,.venue-detail) .native-heart-total{font-variant-numeric:tabular-nums}
:is(#detail,.venue-detail) .detailidentityrow{align-items:flex-start;margin-top:0}
:is(#detail,.venue-detail) .detailidentityrow .native-venue-heart{margin-top:-10px}
.venuefavoritebtn.on .favoriteglyph path{fill:currentColor}
.venuefavoritebtn.heart-pulse .favoriteglyph{animation:venue-heart-pulse .3s ease-out}
@keyframes venue-heart-pulse{50%{transform:scale(1.25)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.venuefavoritebtn.heart-pulse .favoriteglyph{animation:none}}

.venue-action-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

:is(#detail,.venue-detail) .nearbygrid .chip{justify-content:flex-start;gap:6px;padding:9px 8px}
:is(#detail,.venue-detail) .nearbygrid .chip .venue-action-icon{width:16px;height:16px;flex-basis:16px}
:is(#detail,.venue-detail) .nearbygrid .chip span{min-width:0;flex:1;line-height:1.5}
:is(#detail,.venue-detail) .nearbygrid .chip:after{flex:none}

@media(prefers-reduced-motion:reduce){:is(#detail,.venue-detail) .mobbar .sp{transition:none}}

:is(#detail,.venue-detail) .meta .capacityvariant{display:inline}
:is(#detail,.venue-detail) .meta .capacityvariant+.capacityvariant::before{content:" / "}

.venue-detail-actions .venuefavoritebtn{display:none}
.venue-detail{--venue-nav-top:0px;transform:none!important}.venue-detail .dtop .dclose{z-index:1}.venue-detail-actions a{text-decoration:none}
@media(max-width:860px){.venue-detail{--venue-nav-top:48px}.venue-detail .mobbar .mobback{display:flex}.venue-detail-actions a{gap:6px;pointer-events:auto;white-space:nowrap;box-shadow:none}.venue-detail .fine{padding-bottom:30px}}
:root[data-night="true"]{color-scheme:dark;--paper:#282b30!important;--card:#363a41!important;--ink:#f0f1f4!important;--ink2:#d2d5dd!important;--sub:#bdc3cc!important;--rule:#606670!important;--rule2:#454a53!important;--aka:color-mix(in srgb,var(--accent-pop) 65%,white)!important;--ai:#d2d5dd!important;--accent-soft:color-mix(in srgb,var(--accent-pop) 20%,#363a41)!important;--accent-border:color-mix(in srgb,var(--accent-pop) 40%,#363a41)!important;--accent-tint:color-mix(in srgb,var(--accent-pop) 9%,#363a41)!important;--surface-shadow:0 10px 30px #0005!important}
html[data-night="true"] #venueTicketAddFixed,html[data-night="true"] :is(#detail,.venue-detail) #venueTicketAddTop{background:#e7e9ee;color:#25282e;border-color:#e7e9ee}
html[data-night="true"] #venueCorrectionFixed{background:#4b515c;color:#fff;border-color:#929ba9}
html[data-night="true"] .venue-detail-actions button{box-shadow:0 3px 10px #0003}
