/* Public release usability, extending the approved visual system. */
/* Keep portrait catalog photos in a square, without clipping or stretching. */
.merch-art{flex:none;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.merch-art>img,.merch-art>.art-placeholder{min-width:0;min-height:0;max-height:100%}
.merch-card>.merch-art{width:100%}
.shop-filter select{max-width:100%}
/* The general details-panel paragraph style must not hide the purchase price. */
.product-details p.product-price{font-size:2rem;color:#efcf82;line-height:1.3}
@media(max-width:600px){.public-filter input:not([type="hidden"]),.public-filter select,.cart-edit input{font-size:16px}}
/* Native access remains available when page JavaScript is disabled. */
html:not(.public-enhanced) .enhanced-tracks{display:none}
.native-tracks{display:grid;gap:24px}
.native-track{min-width:0;border-top:1px solid var(--line);padding-top:18px}
.native-track audio{display:block;width:100%;max-width:100%;margin:12px 0}
.native-track p,.native-track a{overflow-wrap:anywhere}
.footer-navigation{min-width:0;flex:1}
.site-footer .policy-links{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:820px){
  html:not(.public-enhanced) .site-header{flex-wrap:wrap}
  html:not(.public-enhanced) .nav-toggle{display:none}
  html:not(.public-enhanced) .public-nav{display:flex;position:static;flex:0 0 100%;width:100%;margin:0;padding:12px 0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px;border:0;box-shadow:none;background:transparent}
  html:not(.public-enhanced) .public-nav>a{white-space:normal;font-size:12px}
}

/* Active booking navigation keeps dark text over its gold button. */
.public-nav>a.nav-book,.public-nav>a.nav-book[aria-current],.public-nav>a.nav-book:hover{color:#131c23}

/* Scroll a short-screen disclosure rather than hiding its final ticket/booking link. */
@media(max-width:820px){
  html.public-enhanced .public-nav.is-open{max-height:var(--menu-max-height,calc(100vh - 130px));overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:8px}
  html.public-enhanced .public-nav.is-open>a{flex-shrink:0;min-height:44px}
}
