/* Shared CMS additions. The approved V4.2 layout remains in site.css. */
:focus-visible { outline: 3px solid #b57d17; outline-offset: 4px; }
.skip-link { position: absolute; left: 20px; top: -80px; z-index: 30; padding: 10px 16px; background: #fff; }
.skip-link:focus { top: 10px; }
.site-nav [aria-current="page"] { color: #e5b550; box-shadow: inset 0 -2px #d4a037; }
.page-prose, .band-prose { display: flow-root; overflow-wrap: anywhere; }
.content-table { table-layout: fixed; }
.text-center { text-align: center; } .text-right { text-align: right; } .text-left { text-align: left; }
.image-center { display:block; margin: 20px auto; }
.artist-card-name, .band-hero-copy h1, .band-aside h2 { text-transform: none !important; }
.artist-card { min-width: 0; }
.artist-card-name { overflow-wrap: anywhere; }
.artist-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.band-hero-media { position: relative; min-height: 300px; max-height: 480px; }
.band-hero-image { max-height: 480px; }
.band-gallery { clear: both; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap: 16px; margin-top: 38px; }
.band-gallery figure { margin:0; }
.band-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.band-audio audio { width:100%; min-width:0; }
.band-audio .audio-caption { margin:16px 0 5px; font-size:12px; }
.preview-banner { background:#fae9bd; color:#392f1d; padding:12px 20px; text-align:center; font-size:14px; }
.preview-banner a { margin-left:14px; }
.form-alert { padding:15px 18px; margin:18px 0; border:1px solid #d9d3c8; background:#f6f4ef; font-size:14px; }
.form-alert.error { background:#fff1ee; border-color:#d6aaa1; color:#742d1e; }
.form-alert.success { background:#edf4ed; border-color:#b1c4b1; color:#28502d; }
.form-alert.notice { background:#fff7e4; border-color:#d6bf90; }
.contact-form select { width:100%; padding:13px 12px; border:1px solid var(--line); background:#fff; color:var(--ink); font:inherit; border-radius:0; }
.contact-form input, .contact-form textarea, .contact-form select { min-width:0; }
.form-field, .contact-form-card { min-width:0; }
.button:disabled { opacity:.5; cursor:not-allowed; }
.honey { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#captcha-widget { margin-top:12px; }
#captcha-status { margin-top:12px; }
@media(max-width:800px) { .artist-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); } .band-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .artist-grid--3 { grid-template-columns:1fr; } .preview-banner a { display:block; margin:4px 0 0; } }
