/* Migrated Venue Detail legacy foundation, 2026-07-29. Current route-owner rules follow. */

.place-detail>section{
  padding-top:30px;
  padding-bottom:30px;
}

.live-status .crowd-cta{
  color:#ff6545;
  font-size:9px;
  font-weight:700;
  letter-spacing:.02em;
}

.live-expected .crowd-cta{
  color:#d1d1d6;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.owner-update-link{
  display:inline-grid;
  gap:4px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #141414;
  color:#979797;
  font-size:12px;
}

.owner-update-link small{
  color:#fb923c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
}

.owner-update-link span{
  color:#979797;
}

.owner-update-link:hover span{
  color:#fb923c;
}

.day-mode .place-detail .live-quiet strong{
  color:#60a5fa;
}

.day-mode .place-detail .live-normal strong{
  color:#25d6c8;
}

.day-mode .place-detail .live-busy strong{
  color:#fb923c;
}

.day-mode .place-detail .live-queue strong{
  color:#f87171;
}

.day-mode .event-posters-section{
  background:#f4f1eb;
}

.inside>.facility-list{
  display:grid;
  gap:0
}

.facility-list .facility-row{
  grid-template-columns:minmax(100px,135px) minmax(0,1fr)
}

.facility-list .facility-row b{
  word-spacing:.18em
}

@media(max-width:480px){
.facility-list .facility-row{
    grid-template-columns:94px minmax(0,1fr);
    gap:10px
  }

.facility-list .facility-row b{
    font-size:13px
  }
}

.place-detail .cover{
  padding-bottom:16px;
}

.place-detail .cover h1{
  margin-bottom:0;
}

.schedule-panel{
  position:relative;
  margin-top:12px;
  padding:30px 20px 22px;
  border:1px solid #202020;
  background:radial-gradient(circle at 50% 0%,rgba(0,255,9,.1),transparent 44%),linear-gradient(180deg,#101010 0%,#050505 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 50px rgba(0,0,0,.52),0 0 34px rgba(0,255,9,.035);
  overflow:hidden;
}

.schedule-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:34px;
  right:34px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,255,9,.45),transparent);
  box-shadow:0 0 16px rgba(0,255,9,.28);
}

.schedule-panel .section-head{
  margin-bottom:16px;
}

.weekly-list{
  display:grid;
  gap:10px;
}

.weekly-list .schedule-row{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0;
  padding:17px;
  border:1px solid #1d1d1d;
  border-radius:var(--radius);
  background:#1d1d1d;
}

.weekly-list .event-day{
  position:relative;
  overflow:hidden;
}

.weekly-list .today-day{
  position:relative;
  border-color:#33231d;
  background:radial-gradient(circle at 0% 50%,rgba(255,107,61,.12),transparent 38%),#1d1d1d;
  box-shadow:inset 1px 0 0 rgba(255,107,61,.42),0 0 22px rgba(255,107,61,.035);
  overflow:hidden;
}

.weekly-list .today-day::before{
  content:"";
  position:absolute;
  top:12px;
  bottom:12px;
  left:0;
  width:2px;
  border-radius:99px;
  background:linear-gradient(180deg,transparent,#ff6b3d,transparent);
  opacity:.72;
  box-shadow:0 0 14px rgba(255,107,61,.58);
}

.weekly-list .schedule-row>strong{
  color:#fff;
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.weekly-list .today-day>strong{
  color:#ff6b3d;
}

.weekly-list .schedule-row div{
  display:grid;
  gap:4px;
}

.weekly-list .schedule-event-link{
  display:inline-flex;
  align-items:baseline;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.weekly-list .schedule-event-link:hover>span:first-child{
  color:#ff6b3d;
}

.weekly-list .schedule-row span{
  color:#fff;
  font-size:18px;
  font-weight:800;
}

.weekly-list .schedule-times{
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  margin-left:10px;
  white-space:nowrap;
}

.weekly-list .schedule-time{
  color:#ff6b3d;
  font-size:14px;
  font-style:normal;
  font-weight:800;
}

.weekly-list .schedule-separator{
  color:var(--muted);
  font-size:13px;
  font-style:normal;
  font-weight:700;
}

.weekly-list .schedule-row small{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

.weekly-list .empty-day{
  color:var(--muted);
}

.weekly-list .empty-day span{
  color:var(--muted);
  font-weight:600;
}

.topbar-overlay + .place-detail .cover{
  margin-top:0;
}

.place-actions{
  display:flex;
  gap:6px;
  flex:none;
}

.place-actions button{
  appearance:none;
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#d9d9d9;
  cursor:pointer;
  box-shadow:none;
}

.place-actions button svg{
  width:25px;
  height:25px;
  display:block;
  flex:none;
}

.place-actions button span{
  color:inherit;
  font-size:12px;
  line-height:1;
}

.place-actions button.saved,
.place-actions button:hover{
  color:var(--accent);
}

.day-mode .place-actions button{
  color:#5f6368;
}

.place-actions button:hover,
.place-actions button:focus-visible{
  background:rgba(255,255,255,.08);
}

.day-mode .place-actions button:hover,
.day-mode .place-actions button:focus-visible{
  background:rgba(0,0,0,.06);
}

.place-detail .live-status{
  padding:9px 12px;
  border-radius:12px;
}

@media (max-width:719px){
.place-actions{
    gap:4px;
  }
}

.crowd-modal{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  place-items:end center;
  padding:16px;
  background:#0008;
}

.crowd-modal[hidden]{
  display:none;
}

.crowd-sheet{
  width:min(100%,460px);
  padding:22px;
  border:1px solid #333;
  background:#151515;
  color:#fff;
}

.crowd-close{
  float:right;
  border:0;
  background:transparent;
  color:inherit;
  font-size:25px;
  cursor:pointer;
}

.crowd-sheet fieldset{
  margin:18px 0;
  padding:0;
  border:0;
}

.crowd-sheet legend{
  margin-bottom:9px;
  font-weight:700;
}

.day-mode .crowd-sheet{
  border-color:#dfdbd2;
  background:#fffdfa;
  color:#171715;
}

.crowd-prompt{
  margin:6px 0 0;
  color:var(--muted);
  font-size:14px;
}

.day-mode .place-detail .cover h1{
  color:#fff;
}

.day-mode .place-detail .place-intro{
  background:#fff;
  border:0;
  box-shadow:0 2px 12px rgba(0,0,0,.07);
}

.day-mode .place-detail .schedule a strong{
  color:#1d1d1f;
}

.day-mode .place-detail .schedule a em{
  color:#ff6b3d;
}

.day-mode .place-detail .weekly-list .schedule-row div > span{
  color:#1d1d1f;
}

.place-detail .schedule-panel{
  width:auto;
  margin-left:20px;
  margin-right:20px;
  box-sizing:border-box;
}

.place-detail .weekly-list .schedule-row div > span{
  color:#fff;
}

.place-detail .weekly-list .schedule-event-link,
.day-mode .place-detail .weekly-list .schedule-event-link{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.day-mode .place-detail .weekly-list .event-day{
  background:#fff;
  border-color:#fff;
}

.day-mode .place-detail .weekly-list .event-day > strong{
  color:#1d1d1f;
}

.day-mode .place-detail .weekly-list .schedule-event-link > span:first-child{
  color:#1d1d1f;
}

.day-mode .place-detail .weekly-list .schedule-event-link .schedule-time{
  color:#ff6b3d;
}

@media (max-width:560px){
.place-detail .weekly-list .schedule-row{
    grid-template-columns:50px minmax(0,1fr);
    gap:10px;
    padding:16px;
  }

.place-detail .weekly-list .schedule-event-link,
.day-mode .place-detail .weekly-list .schedule-event-link{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:baseline;
    gap:8px;
    width:100%;
    max-width:100%;
  }

.place-detail .weekly-list .schedule-event-link > span:first-child{
    min-width:0;
    overflow-wrap:anywhere;
  }

.place-detail .weekly-list .schedule-times{
    margin-left:0;
  }
}

.place-detail .place-intro,
.day-mode .place-detail .place-intro{
  background:transparent;
  border:0;
  box-shadow:none;
}

.place-detail .owner-update-link{
  display:block;
  margin-top:12px;
  padding-top:0;
  border:0;
  color:#8a8a8a;
  font-size:11px;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
}

.place-detail .owner-update-action{
  color:inherit;
}

.place-detail .owner-update-link:hover .owner-update-action,
.place-detail .owner-update-link:focus-visible .owner-update-action{
  color:#ff6b3d;
}

.day-mode .place-detail .owner-update-link{
  color:#8a8a8f;
}

.place-detail .schedule-panel::before{
  background:#252525;
  box-shadow:none;
}

.place-detail .weekly-list .today-day{
  background:#1d1d1d;
  box-shadow:inset 1px 0 0 rgba(255,107,61,.42);
}

.place-detail .weekly-list .today-day::before{
  background:#ff6b3d;
  box-shadow:none;
}

.day-mode .place-detail .schedule-panel::before{
  background:#d9d9de;
}

.day-mode .place-detail .weekly-list .today-day{
  background:#fff;
  box-shadow:inset 1px 0 0 rgba(255,107,61,.42);
}

.place-detail .weekly-list .empty-day{
  background:#1d1d1d;
  border-color:#1d1d1d;
  color:#fff;
  box-shadow:none;
}

.day-mode .place-detail .weekly-list .empty-day{
  background:#e5e5e7;
  border-color:#d7d7dc;
  color:#1d1d1f;
  box-shadow:none;
}

.place-detail .weekly-list .empty-day > strong,
.place-detail .weekly-list .empty-day span,
.place-detail .weekly-list .empty-day small,
.place-detail .weekly-list .empty-day > strong{
  color:#fff;
}

.place-detail .weekly-list .empty-day span,
.place-detail .weekly-list .empty-day small{
  color:#979797;
}

.day-mode .place-detail .weekly-list .empty-day > strong,
.day-mode .place-detail .weekly-list .empty-day span,
.day-mode .place-detail .weekly-list .empty-day small{
  color:#6e6e73;
}

.place-detail .weekly-list .today-day,
.day-mode .place-detail .weekly-list .today-day{
  background:#ff6b3d;
  border-color:#ff6b3d;
  color:#fff;
  box-shadow:none;
}

.place-detail .weekly-list .today-day > strong,
.place-detail .weekly-list .today-day span,
.place-detail .weekly-list .today-day .schedule-time,
.day-mode .place-detail .weekly-list .today-day > strong,
.day-mode .place-detail .weekly-list .today-day span,
.day-mode .place-detail .weekly-list .today-day .schedule-time{
  color:#fff;
}

.day-mode .place-detail .weekly-list .today-day > strong{
  color:#fff;
}

.place-detail .weekly-list .today-day::before{
  display:none;
}

.day-mode .place-detail .place-intro{
  color:#1d1d1f;
}

.place-detail .live-status-wrap{
  display:grid;
  align-items:center;
  gap:14px;
  padding-top:9px;
  padding-bottom:9px;
}

.place-detail .live-status,
.day-mode .place-detail .live-status{
  flex-wrap:nowrap;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  border-left:1px solid #343434;
  border-radius:0;
}

.day-mode .place-detail .live-status{
  border-left-color:#d1d1d6;
}

.place-detail .live-status strong{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  font-size:13px;
  line-height:1.25;
  white-space:nowrap;
}

.status-marquee{
  display:block;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
}

.status-marquee-track{
  display:block;
  width:max-content;
}

.status-marquee-track > span[aria-hidden="true"]{
  display:none;
}

.status-marquee.is-scrolling .status-marquee-track{
  display:flex;
  gap:32px;
  animation:status-marquee 7s linear infinite;
}

.status-marquee.is-scrolling .status-marquee-track > span[aria-hidden="true"]{
  display:block;
}

@media (prefers-reduced-motion:reduce){
.status-marquee.is-scrolling .status-marquee-track{
    animation:none;
  }

.status-marquee.is-scrolling .status-marquee-track > span[aria-hidden="true"]{
    display:none;
  }
}

.place-detail .live-status .crowd-cta{
  flex:none;
  color:#ff6545;
  font-size:12px;
  white-space:nowrap;
}

.place-detail .schedule-panel{
  z-index:1;
  margin-bottom:14px;
  overflow:visible;
  border:0;
  background:linear-gradient(145deg,rgba(255,107,61,.16),rgba(255,107,61,.035) 48%,rgba(255,255,255,.015)),#101010;
}

.day-mode .place-detail .schedule-panel{
  border:0;
  background:linear-gradient(145deg,#fff0e9 0%,#fff7f3 50%,#f5f5f7 100%);
}

.place-detail .schedule-panel::before,
.day-mode .place-detail .schedule-panel::before{
  display:none;
}

.place-detail .weekly-list .event-day:not(.today-day) .schedule-event-link:hover > span:first-child,
.place-detail .weekly-list .event-day:not(.today-day) .schedule-event-link:focus-visible > span:first-child{
  color:#fff;
}

.day-mode .place-detail .weekly-list .event-day:not(.today-day) .schedule-event-link:hover > span:first-child,
.day-mode .place-detail .weekly-list .event-day:not(.today-day) .schedule-event-link:focus-visible > span:first-child{
  color:#1d1d1f;
}

.place-detail .weekly-list .today-day .schedule-event-link:hover > span:first-child,
.place-detail .weekly-list .today-day .schedule-event-link:focus-visible > span:first-child,
.day-mode .place-detail .weekly-list .today-day .schedule-event-link:hover > span:first-child,
.day-mode .place-detail .weekly-list .today-day .schedule-event-link:focus-visible > span:first-child{
  color:#fff;
}

@media (min-width:720px){
.place-detail > .schedule-panel{
    width:min(calc(100% - 40px),760px);
    max-width:760px;
    margin-right:auto;
    margin-left:auto;
  }
}

.place-detail .live-status-wrap{
  grid-template-columns:minmax(0,1fr);
}

.place-detail .live-status strong{
  display:flex;
  align-items:center;
  gap:10px;
}

.place-detail .quick .place-intro{
  color:#fff;
}

.day-mode .place-detail .quick .place-intro{
  color:#1d1d1f;
}

.place-detail .live-status strong{
  font-weight:700;
}

.place-detail .live-status strong .status-marquee{
  overflow:hidden;
}

.place-detail .live-status strong .status-marquee span{
  color:currentColor;
  font-size:16px;
  font-weight:700;
  line-height:1.25;
}

.place-detail .live-status .crowd-cta{
  letter-spacing:0;
}

.place-detail > .owner-update-link{
  width:min(calc(100% - 40px),720px);
  margin:0 auto 8px;
}

@media (max-width:719px){
.place-detail > .owner-update-link{
    width:calc(100% - 32px);
  }
}

.place-detail .live-status{
  --crowd-color:#d1d1d6;
  --crowd-surface:linear-gradient(105deg,#f7f7f8 0%,#d1d1d6 100%);
  --crowd-text:#48484a;
  --crowd-copy:#636366;
}

.place-detail .live-quiet{
  --crowd-color:#00ff09;
  --crowd-surface:linear-gradient(105deg,#a3ffa6 0%,#00ff09 100%);
  --crowd-text:#063b08;
  --crowd-copy:#125c15;
}

.place-detail .live-normal{
  --crowd-color:#b8d30b;
  --crowd-surface:linear-gradient(105deg,#e4ee86 0%,#b8d30b 100%);
  --crowd-text:#303700;
  --crowd-copy:#4b5505;
}

.place-detail .live-busy{
  --crowd-color:#ffb31a;
  --crowd-surface:linear-gradient(105deg,#ffd783 0%,#ffb31a 100%);
  --crowd-text:#4a2c00;
  --crowd-copy:#674000;
}

.place-detail .live-packed{
  --crowd-color:#ff5a36;
  --crowd-surface:linear-gradient(105deg,#ffa28e 0%,#ff5a36 100%);
  --crowd-text:#fff;
  --crowd-copy:rgba(255,255,255,.84);
}

.place-detail .live-queue{
  --crowd-color:#99143f;
  --crowd-surface:linear-gradient(105deg,#c65d7e 0%,#99143f 100%);
  --crowd-text:#fff;
  --crowd-copy:rgba(255,255,255,.82);
}

.place-detail .live-unavailable,
.place-detail .live-expected{
  --crowd-color:#e5e5e7;
  --crowd-surface:linear-gradient(105deg,#fafafa 0%,#e5e5e7 100%);
  --crowd-text:#48484a;
  --crowd-copy:#636366;
}

.place-detail .live-status strong,
.day-mode .place-detail .live-status strong{
  color:var(--crowd-text) ;
}

.place-detail .live-status strong .status-marquee,
.place-detail .live-status strong .status-marquee-track,
.place-detail .live-status strong .status-marquee-track > span,
.day-mode .place-detail .live-status strong .status-marquee,
.day-mode .place-detail .live-status strong .status-marquee-track,
.day-mode .place-detail .live-status strong .status-marquee-track > span{
  color:var(--crowd-text) ;
}

.place-detail .crowd-level-bar::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:100%;
  border-radius:inherit;
  background:var(--crowd-surface);
  transform-origin:left center;
  animation:crowd-meter-load 1.35s cubic-bezier(.22,.75,.25,1) forwards;
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
.place-detail .crowd-level-bar::after{
    animation:none;
  }
}

.place-detail .live-status,
.day-mode .place-detail .live-status{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.place-detail .crowd-level-bar,
.day-mode .place-detail .crowd-level-bar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  height:36px;
  padding:0 13px;
  overflow:hidden;
  border:0;
  border-radius:11px;
  box-shadow:0 3px 10px rgba(0,0,0,.07);
}

.place-detail .crowd-level-bar strong,
.place-detail .crowd-level-bar .crowd-cta{
  position:relative;
  z-index:2;
}

.place-detail .crowd-level-bar strong{
  min-width:0;
  overflow:hidden;
}

.place-detail .crowd-level-bar .crowd-cta{
  color:var(--crowd-copy);
  font-size:10px;
  font-weight:400;
  line-height:1;
}

.place-detail .crowd-level-bar::after{
  z-index:1;
}


.place-detail .cover > div{
  width:100%;
  min-width:0;
}

.place-detail .cover h1{
  display:block;
  max-width:100%;
  overflow:hidden;
  font-size:clamp(32px,5vw,40px);
  line-height:1.04;
  letter-spacing:-.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.place-detail .quick .place-intro{
  max-width:none;
  padding:3px 10px 6px;
  font-size:14px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
}

.place-detail .quick > .live-status-wrap,
.day-mode .place-detail .quick > .live-status-wrap{
  width:100%;
  margin:0 0 13px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}


@media (max-width:719px){
.place-detail .cover{
    height:342px;
    padding:18px 20px;
  }

.place-detail .cover h1{
    font-size:30px;
    line-height:1.05;
  }


.place-detail .quick .place-intro{
    padding-right:10px;
    padding-left:10px;
    font-size:13.5px;
    line-height:1.45;
  }

}

.place-detail .quick .place-intro{
  margin-bottom:21px;
}

.quick-info-card{
  --quick-tab-width:122px;
  position:relative;
  width:100%;
  padding-top:44px;
  overflow:hidden;
  border:0;
  background:#141414;
  filter:none;
  cursor:pointer;
}

.quick-info-card:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.quick-info-card:hover::after{
  color:var(--accent);
}

.place-detail .quick-info-card,
.day-mode .place-detail .quick-info-card,
.place-detail .reviews article,
.day-mode .place-detail .reviews article,
.place-detail .transit-list,
.day-mode .place-detail .transit-list,
.place-detail .notes-list,
.day-mode .place-detail .notes-list,
.place-detail .event-notes-list article,
.day-mode .place-detail .event-notes-list article,
.place-detail .live-status-wrap,
.day-mode .place-detail .live-status-wrap{
  box-shadow:none;
}

.quick-info-card{
  border-radius:var(--surface-radius);
}

.schedule-panel{
  border-radius:var(--section-radius);
}


.place-detail .schedule-panel{
  box-shadow:0 16px 20px -18px rgba(0,0,0,.48);
}

.day-mode .place-detail .schedule-panel{
  box-shadow:0 16px 20px -18px rgba(0,0,0,.24);
}

.crowd-sheet{
  border-radius:var(--section-radius);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
}

.quick-info-card::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:calc(var(--quick-tab-width) + 8px);
  height:48px;
  background:#141414;
  box-shadow:none;
}

.quick-info-card::after{
  content:"QUICK INFO";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  display:flex;
  align-items:center;
  height:42px;
  width:var(--quick-tab-width);
  padding-left:13px;
  color:#a7a7ad;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}

.day-mode .quick-info-card::after{
  color:#111;
}

.day-mode .quick-info-card{
  border:0;
}

.day-mode .quick-info-card::before{
  background:#fff;
  box-shadow:none;
}

.place-detail .quick-info-card > .live-status-wrap,
.day-mode .place-detail .quick-info-card > .live-status-wrap{
  position:absolute;
  z-index:2;
  inset:0 0 auto var(--quick-tab-width);
  width:auto;
  height:36px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.place-detail .quick-info-card .crowd-level-bar,
.day-mode .place-detail .quick-info-card .crowd-level-bar{
  height:36px;
  padding-left:20px;
  background:var(--crowd-surface);
  box-shadow:none;
  -webkit-mask:none;
  mask:none;
}

.place-detail .quick-info-card .crowd-level-bar::after{
  display:block;
  inset:0;
  width:100%;
  border-radius:inherit;
  background:var(--crowd-surface);
  clip-path:none;
}

.place-detail .quick-info-card .crowd-level-bar strong{
  max-width:none;
  padding-left:0;
  color:var(--crowd-text);
  font-size:11.5px;
}

.place-detail .quick-info-card .crowd-level-bar strong .status-marquee,
.place-detail .quick-info-card .crowd-level-bar strong .status-marquee-track,
.place-detail .quick-info-card .crowd-level-bar strong .status-marquee-track > span{
  padding-left:0;
  color:var(--crowd-text);
  font-size:11.5px;
}

.day-mode .place-detail .quick-info-card .crowd-level-bar strong,
.day-mode .place-detail .quick-info-card .crowd-level-bar strong .status-marquee,
.day-mode .place-detail .quick-info-card .crowd-level-bar strong .status-marquee-track,
.day-mode .place-detail .quick-info-card .crowd-level-bar strong .status-marquee-track > span{
  color:var(--crowd-text);
}

.place-detail .quick-info-card .crowd-level-bar .crowd-cta,
.day-mode .place-detail .quick-info-card .crowd-level-bar .crowd-cta{
  color:#fff;
  font-size:8px;
}

.place-detail .quick-info-card .quick-grid,
.day-mode .place-detail .quick-info-card .quick-grid{
  position:relative;
  z-index:1;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
}

.place-detail .quick-info-card .quick-grid,
.day-mode .place-detail .quick-info-card .quick-grid{
  box-shadow:none;
}

.place-detail .quick-info-card .quick-grid > div{
  border-color:rgba(255,255,255,.07);
}

.day-mode .place-detail .quick-info-card .quick-grid > div{
  border-color:rgba(60,60,67,.09);
}

.quick-info-card,
.day-mode .quick-info-card{
  border-radius:var(--surface-radius);
  box-shadow:none;
}

.quick-info-card::before{
  border-radius:var(--surface-radius) var(--surface-radius) 0 0;
}

.place-detail .quick-info-card .crowd-level-bar,
.day-mode .place-detail .quick-info-card .crowd-level-bar{
  border-radius:0 var(--surface-radius) 0 0;
}

.place-detail .quick-info-card > .live-status-wrap,
.day-mode .place-detail .quick-info-card > .live-status-wrap{
  overflow:hidden;
  border-radius:0 var(--surface-radius) 0 0;
}

.place-detail .quick-info-card .live-status,
.day-mode .place-detail .quick-info-card .live-status,
.place-detail .quick-info-card .crowd-level-bar,
.day-mode .place-detail .quick-info-card .crowd-level-bar,
.place-detail .quick-info-card .crowd-level-bar::after,
.day-mode .place-detail .quick-info-card .crowd-level-bar::after{
  border-radius:0 var(--surface-radius) 0 0;
}

.place-detail > section{
  padding-top:42px;
  padding-bottom:42px;
}

.place-detail .quick{
  padding-top:32px;
  padding-bottom:34px;
}

.place-detail .place-intro{
  max-width:650px;
  margin-bottom:24px;
  font-size:var(--type-body);
  line-height:1.6;
}

.place-detail .section-head{
  margin-bottom:20px;
}

.place-detail .section-head h2{
  font-size:26px;
  font-weight:720;
  line-height:1.08;
}

.place-detail .quick-grid div,
.place-detail .quick-grid a{
  gap:6px;
  padding:16px;
}

.place-detail .quick-grid small,
.place-detail .transit-list small,
.place-detail .notes-list small{
  font-size:var(--type-xs);
  font-weight:750;
  line-height:1.2;
  letter-spacing:.11em;
}

.place-detail .quick-grid b,
.place-detail .transit-list b,
.place-detail .notes-list b{
  font-size:14px;
  font-weight:650;
  line-height:1.4;
}

.place-detail .weekly-list .schedule-row{
  padding:16px;
}

.place-detail .weekly-list .schedule-row > strong{
  font-size:13px;
}

.place-detail .schedule-event-link > span:first-child{
  font-size:14px;
  line-height:1.35;
}

.place-detail .reviews{
  gap:14px;
}

.place-detail .reviews article{
  padding:18px;
}

.place-detail .reviews p{
  font-size:17px;
  font-weight:600;
  line-height:1.4;
}

.place-detail .reviews small{
  font-size:var(--type-sm);
}

@media (max-width:719px){
.place-detail > section{
    padding-top:34px;
    padding-bottom:34px;
  }

.place-detail .quick{
    padding-top:26px;
    padding-bottom:28px;
  }

.place-detail .section-head{
    margin-bottom:17px;
  }

.place-detail .section-head h2{
    font-size:23px;
  }

.place-detail .quick-grid div,
.place-detail .quick-grid a{
    padding:14px 13px;
  }

.place-detail .reviews article{
    padding:16px;
  }

.place-detail .reviews p{
    font-size:16px;
  }
}

.schedule-panel .section-head{
  padding-right:150px;
}

@media (max-width:560px){
.schedule-panel .section-head{
    padding-right:0;
    padding-bottom:38px;
  }
}

@media (min-width:720px){
.place-detail-columns section{
    width:100%;
    max-width:none;
    margin:0;
    padding:22px 18px;
    border-radius:22px;
    background:#111;
  }

.day-mode .place-detail-columns section{
    background:#fff;
  }

.place-detail-columns .section-head h2{
    font-size:clamp(22px,3vw,28px);
  }

.place-detail-side .transit-list div,
.place-detail-side .notes-list div{
    grid-template-columns:1fr;
    gap:5px;
  }
}

@media (min-width:720px){
.place-detail-side .comment-section{
    overflow:hidden;
  }

.place-detail-side .comment-item{
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    padding:14px 0;
  }

.place-detail-side .comment-avatar{
    width:32px;
    height:32px;
    font-size:11px;
  }

.place-detail-side .comment-body > header{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

.place-detail-side .comment-body > p{
    font-size:12px;
  }

.place-detail-side .review-form-compact > div{
    align-items:stretch;
    flex-direction:column;
  }

.place-detail-side .review-form-compact > div button{
    width:100%;
  }
}

@media (min-width:1024px){
.place-detail-side .comment-body > header{
    align-items:center;
    flex-direction:row;
  }
}

.day-mode .quick-info-card{
  background:var(--luca-day-card);
  border-color:var(--luca-day-line);
  box-shadow:0 7px 22px rgba(34,31,27,.065);
}

.day-mode .place-detail{
  background:var(--luca-day-paper) ;
}

.day-mode .place-detail .quick,
.day-mode .place-detail-main > section,
.day-mode .place-detail-side > section{
  border:0;
  border-radius:22px;
  background:var(--luca-day-card);
  box-shadow:none;
}

.day-mode .place-detail .quick-info-card,
.day-mode .place-detail .schedule-row,
.day-mode .place-detail .event-notes-list article,
.day-mode .place-detail .comment-item{
  border:0;
  box-shadow:none;
}

.place-action-row button,
.place-action-row a{
  transition:transform .18s ease, opacity .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.place-action-row button:active,
.place-action-row a:active{
  transform:scale(.97);
}

@media (prefers-reduced-motion:reduce){
.place-action-row button,
.place-action-row a{
    transition:none;
    animation:none;
  }
}

/* Venue Detail route owner: #place/<venue-id>. */
body.place-route {
  --venue-page: rgb(250, 250, 249);
  --venue-card: #fff;
  --venue-soft: #f5f5f7;
  --venue-text: #1d1d1f;
  --venue-muted: #7c7d84;
  --venue-line: rgba(29, 29, 31, .09);
  --venue-radius: 22px;
  --venue-gap: 18px;
  background: var(--venue-page);
}

body.night-mode.place-route {
  --venue-page: #0b0b0b;
  --venue-card: #171717;
  --venue-soft: #232323;
  --venue-text: #f5f5f5;
  --venue-muted: #a0a0a0;
  --venue-line: rgba(255, 255, 255, .1);
}

body.place-route #app,
body.place-route .venue-detail-page {
  background: var(--venue-page);
}

.venue-detail-page {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  margin: 0;
  padding: 0 0 120px;
  box-sizing: border-box;
  color: var(--venue-text);
}

.venue-detail-page .place-detail-lead,
.venue-detail-page .place-detail-columns,
.venue-detail-page > .owner-update-link {
  width: min(calc(100% - 32px), 1120px);
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

.venue-detail-page .place-detail-lead {
  display: grid;
  gap: var(--venue-gap);
  padding-top: calc(88px + env(safe-area-inset-top));
}

.venue-detail-page .place-hero-gallery {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 26px;
  background-position: center;
  background-size: cover;
}

.venue-detail-page .place-gallery-thumbnails {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.venue-detail-page .place-gallery-thumbnails::-webkit-scrollbar {
  display: none;
}

.venue-detail-page .place-gallery-thumbnails button {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  padding: 2px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: rgba(255,255,255,.76);
}

.venue-detail-page .place-gallery-thumbnails button.is-active {
  border-color: var(--brand-purple);
}

.venue-detail-page .place-gallery-thumbnails img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.venue-detail-page .venue-source-note {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 2px;
  color: var(--venue-muted);
  font-size: 12px;
}

.venue-detail-page .venue-source-note small {
  font-weight: 800;
  letter-spacing: .08em;
}

.venue-detail-page .venue-source-note a {
  color: var(--brand-purple);
  font-weight: 750;
}

.venue-detail-page .place-summary-card {
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px;
  border: 0;
  border-radius: var(--venue-radius);
  background: var(--venue-card);
  color: var(--venue-text);
  box-shadow: none;
  box-sizing: border-box;
}

.venue-detail-page .place-summary-card .eyebrow {
  margin: 0;
  color: var(--venue-muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
}

.venue-detail-page .place-summary-card h1 {
  overflow: hidden;
  margin: 0;
  color: var(--venue-text);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 760;
  line-height: 1.02;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  text-wrap: balance;
}

.venue-detail-page .place-summary-card .place-intro {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--venue-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

.venue-detail-page .place-action-row {
  display: grid;
  grid-template-columns: 44px 44px minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.venue-detail-page .place-action-row .place-actions {
  display: contents;
}

.venue-detail-page .place-action-row .save-place,
.venue-detail-page .place-action-row .share-place {
  display: grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--venue-text);
  box-shadow: none;
}

.venue-detail-page .place-action-row .save-place::after,
.venue-detail-page .place-action-row .share-place::after {
  content: none;
}

.venue-detail-page .place-action-row .save-place svg,
.venue-detail-page .place-action-row .share-place svg {
  width: 24px;
  height: 24px;
}

.venue-detail-page .place-action-row .place-action-link {
  display: grid;
  min-width: 0;
  min-height: 46px;
  place-items: center;
  padding: 0 10px;
  border: 1px solid var(--venue-line);
  border-radius: 14px;
  background: var(--venue-soft);
  color: var(--venue-text);
  box-shadow: none;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.venue-detail-page .place-action-row .place-action-link.disabled {
  opacity: .45;
}

.venue-detail-page .place-detail-lead > .quick {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--venue-radius);
  background: var(--venue-card);
  box-shadow: none;
}

.venue-detail-page .place-detail-lead .quick-info-card {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.venue-detail-page .quick-info-card .crowd-level-bar {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding-right: 12px;
  padding-left: 14px;
}

.venue-detail-page .quick-info-card .crowd-level-bar strong,
.venue-detail-page .quick-info-card .crowd-level-bar strong .status-marquee,
.venue-detail-page .quick-info-card .crowd-level-bar strong .status-marquee-track,
.venue-detail-page .quick-info-card .crowd-level-bar strong .status-marquee-track > span {
  min-width: 0;
  color: var(--crowd-text);
  font-size: 10.5px;
  white-space: nowrap;
}

.venue-detail-page .quick-info-card .crowd-level-bar .crowd-cta {
  color: #fff;
  font-size: 8px;
  white-space: nowrap;
}

.venue-detail-page .quick-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.venue-detail-page .place-detail-columns {
  display: grid;
  gap: 22px;
  align-items: start;
  margin-top: 22px;
}

.venue-detail-page .place-detail-main,
.venue-detail-page .place-detail-side {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.venue-detail-page .place-detail-main > section,
.venue-detail-page .place-detail-side > section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 24px;
  border: 0;
  border-radius: var(--venue-radius);
  background: var(--venue-card);
  box-shadow: none;
  box-sizing: border-box;
}

.venue-detail-page .place-detail-side > section.place-community {
  padding: 24px;
  border-radius: var(--venue-radius);
  background: var(--venue-card);
}

.venue-detail-page .event-posters-section .poster-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding: 0 0 4px;
  scrollbar-width: none;
}

.venue-detail-page .event-posters-section .poster-carousel::-webkit-scrollbar {
  display: none;
}

.venue-detail-page .event-posters-section .poster-carousel figure {
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #1d1d1d;
  box-shadow: none;
  scroll-snap-align: start;
}

.venue-detail-page .event-posters-section .poster-carousel img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: #111;
}

.venue-detail-page .event-posters-section .poster-carousel figcaption {
  display: grid;
  gap: 5px;
  padding: 12px 14px 14px;
}

.venue-detail-page .event-posters-section .poster-carousel figcaption strong {
  color: #fff;
  font-size: 14px;
  line-height: 1.15;
}

.venue-detail-page .event-posters-section .poster-carousel figcaption span {
  color: #a0a0a0;
  font-size: 11px;
  line-height: 1.4;
}

.venue-detail-page > .owner-update-link {
  margin-top: 22px;
}

@media (min-width: 720px) and (max-width: 1023px) {
  .venue-detail-page .place-detail-lead,
  .venue-detail-page .place-detail-columns,
  .venue-detail-page > .owner-update-link {
    width: min(calc(100% - 48px), 920px);
  }

  .venue-detail-page .place-detail-lead {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "hero hero"
      "summary quick";
    padding-top: calc(96px + env(safe-area-inset-top));
  }

  .venue-detail-page .place-hero-gallery {
    grid-area: hero;
    aspect-ratio: 16 / 9;
  }

  .venue-detail-page .place-summary-card {
    grid-area: summary;
    height: 100%;
    padding: 24px;
  }

  .venue-detail-page .place-detail-lead > .quick {
    grid-area: quick;
    height: 100%;
  }

  .venue-detail-page .place-detail-lead .quick-info-card {
    height: 100%;
  }

  .venue-detail-page .place-summary-card h1 {
    font-size: clamp(34px, 4.5vw, 44px);
    white-space: normal;
  }

  .venue-detail-page .event-posters-section .poster-carousel {
    grid-auto-columns: min(220px, 48%);
    gap: 12px;
  }
}

@media (min-width: 900px) and (max-width: 1023px) {
  .venue-detail-page .place-detail-columns {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .85fr);
    gap: 20px;
  }
}

@media (min-width: 1024px) {
  .venue-detail-page .place-detail-lead {
    grid-template-columns: minmax(0, 1.42fr) minmax(360px, .9fr);
    grid-template-areas:
      "hero summary"
      "hero quick";
    align-items: stretch;
    column-gap: 20px;
    row-gap: 18px;
    padding-top: calc(100px + env(safe-area-inset-top));
  }

  .venue-detail-page .place-hero-gallery {
    grid-area: hero;
    height: 100%;
    min-height: 560px;
    aspect-ratio: auto;
  }

  .venue-detail-page .place-summary-card {
    grid-area: summary;
    padding: 26px;
  }

  .venue-detail-page .place-detail-lead > .quick {
    grid-area: quick;
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .venue-detail-page .place-detail-lead .quick-info-card {
    flex: 1;
  }

  .venue-detail-page .place-detail-columns {
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, .78fr);
    gap: 24px;
    margin-top: 24px;
  }

  .venue-detail-page .place-detail-main,
  .venue-detail-page .place-detail-side {
    gap: 24px;
  }

  .venue-detail-page .event-posters-section .poster-carousel {
    grid-auto-columns: min(240px, 44%);
    gap: 12px;
  }
}

@media (max-width: 719px) {
  .venue-detail-page .place-summary-card h1 {
    font-size: clamp(32px, 11vw, 44px);
    white-space: normal;
  }

  .venue-detail-page .place-detail-main > section,
  .venue-detail-page .place-detail-side > section {
    padding: 22px;
  }
}
