/* =========================================================
   V43 — tickets layout: concerts first, clearer buttons
   ========================================================= */
.photo-hero--tickets{min-height:clamp(380px,50vh,540px)}
.ticket-quickfacts{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 40px;
  padding-top:30px !important;padding-bottom:30px !important;
  border-bottom:1px solid var(--line);
}
.ticket-quickfacts p{
  margin:0;font-family:var(--serif);
  font-size:clamp(19px,1.7vw,24px);line-height:1.35;color:var(--ink);
}
.ticket-quickfacts strong{font-weight:600}
.simple-ticket-list{padding-top:clamp(48px,5vw,72px) !important}

.ticket-date-copy strong{font-size:21px}
.ticket-date-copy span{font-size:12px;letter-spacing:.08em;opacity:.85;color:var(--ink-soft)}

.ticket-actions{align-items:center;gap:8px 22px}
.button.ticket-buy{
  min-height:48px;padding:0 22px;gap:12px;
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  font-size:12px;letter-spacing:.1em;font-weight:600;
}
.button.ticket-buy:hover{background:var(--ink-soft);color:#fff}
.ticket-half-link{
  font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink);
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
  white-space:nowrap;
}
.ticket-half-link:hover{color:var(--red)}
.tickets-coming-soon{font-size:11px;border-style:dashed;color:var(--ink-soft)}

/* Season pass: compact feature banner just below the hero */
.pass-banner{
  box-sizing:border-box;
  width:calc(100% - 2*clamp(22px,5vw,78px));
  max-width:calc(var(--max) - 156px);
  margin:clamp(24px,3vw,40px) auto 0;
  padding:clamp(18px,2.2vw,26px) clamp(20px,3vw,36px);
  display:flex;align-items:center;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;
  background:var(--ink);color:#fff;border-left:6px solid var(--gold);
}
.pass-banner-copy{min-width:0;flex:1 1 420px}
.pass-banner-eyebrow{
  margin:0 0 4px;font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.pass-banner h2{
  margin:0;font-family:var(--serif);font-weight:500;
  font-size:clamp(26px,2.6vw,36px);line-height:1.1;color:#fff;
}
.pass-banner h2 span{color:var(--gold)}
.pass-banner-note{margin:6px 0 0;font-size:15px;line-height:1.45;opacity:.85}
.pass-banner-actions{flex:0 0 auto;justify-content:flex-end}
.pass-banner .button.ticket-buy{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.pass-banner .button.ticket-buy:hover{background:#fff;border-color:#fff;color:var(--ink)}
.pass-banner .ticket-half-link{color:#fff}
.pass-banner .ticket-half-link:hover{color:var(--gold)}
.pass-banner .tickets-coming-soon{color:#fff;border-color:rgba(255,255,255,.5)}

@media(max-width:760px){
  .ticket-quickfacts{flex-direction:column}
  .ticket-actions{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:520px){
  .pass-banner-actions{width:100%}
  .ticket-actions{display:flex;flex-direction:column;align-items:stretch}
  .button.ticket-buy{justify-content:center;width:100%}
  .ticket-half-link{text-align:center;padding:6px 0}
}

/* Hero: decorative lines sit behind the text */
.photo-hero--tickets .tickets-lines{z-index:1 !important}
.photo-hero--tickets .tickets-hero-inner{position:relative;z-index:3}
.tickets-hero-inner>p:last-child,.tickets-hero h1{text-shadow:0 1px 12px rgba(0,0,0,.6)}

/* Half-price link sits under the Buy button; dates get the room they need */
.ticket-date-row{grid-template-columns:minmax(0,1fr) auto}
.ticket-actions{flex-direction:column;align-items:flex-end;gap:10px}
.button.ticket-buy{min-width:220px;justify-content:center}
.ticket-half-link{font-size:14px}
@media(max-width:760px){
  .ticket-date-row{grid-template-columns:1fr}
  .ticket-actions{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){
  .ticket-actions{align-items:stretch}
  .button.ticket-buy{min-width:0}
}
