/* Compact case banners lead directly into participation packages. */
#cases .cinema-case-grid{grid-template-columns:1fr;gap:10px}
#cases .cinema-case-card{min-height:140px;height:auto;padding:42px 14px 12px;border-radius:12px}
#cases .card-kicker{top:12px;left:14px;right:58px;font-size:8px;line-height:1.3}
#cases .cinema-case-card:first-child .card-kicker{right:132px}
#cases .case-logo{top:9px;left:auto;right:58px;width:64px;height:34px;padding:4px;border-radius:4px}
#cases .card-plus{top:8px;right:8px;width:36px;height:36px;font-size:22px}
#cases .photo-card-copy{width:100%;gap:3px}
#cases .photo-card-copy>strong{font-size:clamp(24px,6vw,30px);line-height:1.03}
#cases .photo-card-copy>span{font-size:11px;line-height:1.3;min-height:0}
#cases .photo-card-copy>small{font-size:9px;line-height:1.2;margin:0}

/* One reading order at every width: heading, description, current price, actions.
   Only the grid of cards changes columns; long titles never share a track with prices. */
#tickets .pricing-grid{grid-template-columns:1fr;align-items:stretch;gap:10px;margin-top:18px}
#tickets .price-card,#tickets .price-card.featured,#tickets .price-card:not(.featured){display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px;min-width:0;min-height:0}
#tickets .early-badge{position:static;display:flex;align-items:center;flex-wrap:wrap;gap:3px 10px;min-height:0;margin:0 0 10px;padding:6px 9px;border-radius:6px;font-size:11px;line-height:1.3}
#tickets .early-badge span{font-size:inherit;font-weight:650;white-space:nowrap}
#tickets .price-card h3{min-width:0;min-height:0;margin:0;font-size:clamp(24px,5.8vw,30px);line-height:1.08;overflow-wrap:anywhere}
#tickets .price-description{min-height:0;margin:4px 0 0;font-size:12px;line-height:1.4}
#tickets .price{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:3px 12px;min-width:0;min-height:0;margin:12px 0 10px;padding:9px 0 0;border-top:1px solid #10243a23}
#tickets .featured .price{border-color:#ffffff3b}
#tickets .price-current{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-width:0;max-width:100%}
#tickets .price strong{display:inline-block;color:var(--navy);font-size:clamp(1.875rem,calc(1.4rem + 3.7vw),2.875rem);font-weight:700;line-height:1.08;letter-spacing:-.045em;font-variant-numeric:tabular-nums;max-width:100%;white-space:normal}
#tickets .featured .price strong{color:#ffe4b8}
#tickets .price strong>span{font-size:.62em;font-weight:650;letter-spacing:0}
#tickets .price small{display:inline;margin:0;color:inherit;opacity:.8;font-size:11px;line-height:1.35}
#tickets .price-was{font-size:12px;line-height:1.3;color:inherit;opacity:.7;white-space:nowrap}
#tickets .package-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px 12px;min-width:0;margin-top:auto}
#tickets .package-actions>[data-buy]{flex:1 1 8rem;width:auto;min-width:0;min-height:44px;height:auto;margin:0;padding:9px 12px;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.3}
#tickets .package-details-link{flex:0 1 auto;min-height:44px;min-width:0;margin:0;padding:8px 2px;gap:6px;align-items:center;white-space:normal;font-size:12px;line-height:1.3}
#tickets .package-details-link>span{font-size:20px}
#tickets .compare{margin-top:12px}
@media(max-width:359px){
 #tickets .price-card,#tickets .price-card.featured,#tickets .price-card:not(.featured){padding:14px}
 #tickets .price strong{letter-spacing:-.055em}
}
@media(min-width:900px){
 #cases .cinema-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #cases .photo-card-copy>strong{font-size:27px}
 #tickets .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 #tickets .price-card,#tickets .price-card.featured,#tickets .price-card:not(.featured){padding:18px}
 #tickets .price{margin-top:auto}
 #tickets .price-description{margin-bottom:12px}
 #tickets .price strong{font-size:clamp(1.875rem,3.15vw,2.75rem)}
 #tickets .package-actions{margin-top:0}
}
