/* Unified festival site — keep original Spectral styling */
[hidden]{display:none!important}
.language-gate{position:fixed;inset:0;background:#222831 url('/images/banner.JPG') center/cover no-repeat;z-index:3000;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px 18px;color:#fff;transition:opacity .42s ease,visibility .42s ease}
.language-gate:before{content:"";position:absolute;inset:0;background:rgba(22,25,33,.79)}
.language-gate-inner{position:relative;width:min(100%,600px)}.language-gate-heading{font-weight:700;letter-spacing:.3em;font-size:12px;margin-bottom:1.3em}.language-gate h1{font-size:clamp(1.5rem,4vw,2.5rem);letter-spacing:.11em;line-height:1.45;margin-bottom:20px}.language-gate p{opacity:.85;font-size:13px;letter-spacing:.02em}
.language-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px auto 0;max-width:440px}
.language-choices button{width:100%;font-size:14px;letter-spacing:.04em;text-transform:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.6);box-shadow:none;height:3.3em;line-height:3.3em;padding:0 6px}
.language-choices button:hover,.language-choices button:focus{background:rgba(255,255,255,.28)!important}.language-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
#festival-content{transition:opacity .18s ease}#festival-content.festival-fade-out{opacity:0}
#two .spotlight .content p .festival-concert-line{display:block!important;margin:0;padding:0}
#two .spotlight .content p .festival-concert-spacer{display:block!important;height:1.2em}
#two .spotlight .content h2 .festival-concert-title-line{display:block!important}
#two .spotlight .content h2{overflow-wrap:break-word}
#one .major h5{margin:1em 0}#one .major h3{margin-top:1.7em}
.festival-facebook-feed{max-width:500px;margin:22px auto;text-align:center;min-height:0}.festival-facebook-feed iframe{max-width:100%!important}
#menu #festival-member-login{box-sizing:border-box;width:100%;margin:0;padding:12px 0 6px;text-align:left;border-top:1px solid rgba(255,255,255,.3)}
#menu #festival-member-login *,#menu #festival-member-login *:before,#menu #festival-member-login *:after{box-sizing:border-box}
#menu #festival-member-login .festival-login-title{margin:0 0 12px;padding:0;font:600 13px/1.5 Arial,sans-serif;letter-spacing:normal;text-transform:none}
#menu #festival-member-login .festival-login-field{margin:0 0 10px;padding:0}
#menu #festival-member-login label{display:block;margin-bottom:5px;font:13px/1.4 Arial,sans-serif;letter-spacing:normal;text-transform:none}
#menu #festival-member-login input[type="email"],#menu #festival-member-login input[type="password"]{display:block;width:100%;min-width:0;height:38px;padding:7px 10px;margin:0;font:14px/1.4 Arial,sans-serif;letter-spacing:normal;text-transform:none}
#menu #festival-member-login input[type="submit"]{display:block;width:100%;min-width:0;height:40px;padding:0 8px;margin:4px 0 0;font:600 12px/1.3 Arial,sans-serif;letter-spacing:.04em;text-transform:none;white-space:nowrap;overflow:visible;cursor:pointer}
#menu #festival-member-login .festival-login-reset{margin-top:9px;padding:0;text-align:left;font:12px/1.5 Arial,sans-serif;letter-spacing:normal}
#menu #festival-member-login .festival-login-reset a{display:inline;font:inherit;letter-spacing:normal;text-transform:none}
#menu #festival-login-message{padding:5px 0;font:12px/1.5 Arial,sans-serif;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
#menu #switch-language{width:100%;height:35px;line-height:35px;padding:0 8px;font:12px Arial,sans-serif;letter-spacing:normal;text-transform:none;margin:20px 0}
#menu{overflow-y:auto;z-index:1001}#menu .close{position:absolute;right:10px;top:8px}
@media(max-width:736px){#one .major h5{font-size:.86em}#header h1{font-size:12px;letter-spacing:.13em}#two .spotlight .content{padding:2.3em 1.3em}#two .spotlight .content h2{font-size:1.2em;line-height:1.65}}
@media(prefers-reduced-motion:reduce){.language-gate,#festival-content{transition:none}}

/* Version 2: restore a restrained, typography-led language menu */
.language-gate:before{background:rgba(16,20,26,.80)}
.language-gate-inner{max-width:590px}
.language-gate-heading{font-size:12px;letter-spacing:.2em;font-weight:600;opacity:.65}
.language-gate h1{font-size:clamp(1.4rem,3.5vw,2rem);letter-spacing:.13em;margin-bottom:14px}
.language-gate p{font-size:12px;margin:0}
.language-choices{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px;row-gap:4px;max-width:460px;margin-top:32px}
.language-choices button{display:block!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;color:#fff!important;font-size:14px!important;font-weight:500!important;letter-spacing:.13em!important;text-transform:none!important;height:auto!important;min-height:44px!important;line-height:1.5!important;padding:12px 8px!important;transition:opacity .25s ease,transform .25s ease!important}
.language-choices button:hover,.language-choices button:focus{background:transparent!important;opacity:.68!important;transform:translateY(-2px)}
/* Each city must occupy its own row on all screen sizes */
#one header.major .festival-concert-choice{display:block!important;width:100%!important;clear:both!important;float:none!important;margin:0!important;padding:0!important;line-height:1.6!important}
#one header.major .festival-concert-choice a{display:inline-block!important;width:auto!important;max-width:100%;padding:8px 0!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:1rem!important;letter-spacing:.18em!important}
#one header.major h3{display:block!important;clear:both!important;margin:1.4em 0 .7em!important}
#one header.major h2{display:block!important}
/* Exactly one site footer: photo credits only on the main page */
body.festival-subpage #footer .festival-photo-credit{display:none!important}
#footer .festival-social-link{color:inherit;text-decoration:none}
#footer .festival-social-link .fa{margin-right:5px;font-size:1.15em}
/* Gallery's original feature-tile styling */
#three .features > li,#three .features > li:nth-child(n){background:rgba(0,0,0,.045)!important;box-sizing:border-box}
@media(max-width:736px){#one header.major .festival-concert-choice a{font-size:.82rem!important;letter-spacing:.09em!important}.language-choices{column-gap:8px}}

/* V3 - Original 2026 language landing screen: classic Spectral buttons and arrangement. */
.language-gate{background:#2e3842 url('/images/banner.JPG') center center/cover no-repeat!important}
.language-gate:before{background:rgba(0,0,0,.32)!important}
.language-gate-inner{width:min(100%,860px)!important;max-width:860px!important;position:relative;text-align:center}
.language-gate-inner h2{font-size:1.75em;font-weight:800;letter-spacing:.225em;text-transform:uppercase;margin:0 0 1.4em;line-height:1.75}
.language-gate .language-options{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:.8em!important;max-width:760px!important;margin:1.5em auto 0!important;padding:0!important;list-style:none!important;grid-template-columns:none!important}
.language-gate .language-options li{padding:0!important;margin:0!important;list-style:none!important;width:auto!important}
.language-gate .language-options .button{display:inline-block!important;min-width:145px!important;width:auto!important;height:3.125em!important;line-height:3.125em!important;padding:0 1.75em!important;background-color:#ed4933!important;border:0!important;border-radius:3px!important;box-shadow:none!important;color:#fff!important;font-size:.8em!important;font-weight:600!important;letter-spacing:.225em!important;text-transform:uppercase!important;text-align:center!important;transform:none!important;opacity:1!important;cursor:pointer}
.language-gate .language-options .button:hover,.language-gate .language-options .button:focus{background-color:#ef5e4a!important;transform:none!important;opacity:1!important}
/* Remove the stock Spectral heading separators from the homepage, but retain headings themselves. */
#one header.major, #one header.major h2, #one header.major h3, #one header.major h4, #one header.major h5, #one header.major h6{border:0!important;box-shadow:none!important}
#one header.major h2:after,#one header.major h3:after,#one header.major h4:after,#one header.major h5:after,#one header.major h6:after{display:none!important;content:none!important}
#one header.major .festival-concert-choice a,
#one header.major .festival-concert-choice a.more,
#one header.major .festival-concert-choice a.scrolly{border:0!important;border-bottom:0!important;box-shadow:none!important;text-decoration:none!important;color:#fff!important;transition:color .2s ease!important}
#one header.major .festival-concert-choice a:hover,#one header.major .festival-concert-choice a:focus{color:#f4a68f!important}
#one header.major .festival-concert-choice{border:0!important}
@media(max-width:480px){.language-gate .language-options{flex-direction:column!important;gap:.8em!important}.language-gate .language-options li{width:100%!important}.language-gate .language-options .button{width:100%!important;max-width:320px!important}.language-gate-inner h2{font-size:1.35em;letter-spacing:.15em}}

/* V4: original Spectral language gate, controlled 2 × 3 button geometry */
.language-gate-inner{width:min(100%,960px)!important;max-width:960px!important;box-sizing:border-box!important}
.language-gate-inner h2{font-size:clamp(1.15rem,2.4vw,1.8rem)!important;line-height:1.55!important;letter-spacing:.17em!important;margin:0 auto 1.65em!important;max-width:100%!important}
.language-gate .language-options{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,190px))!important;
 justify-content:center!important;
 justify-items:stretch!important;
 align-items:stretch!important;
 column-gap:22px!important;
 row-gap:14px!important;
 width:min(100%,402px)!important;
 max-width:402px!important;
 margin:0 auto!important;
 padding:0!important;
}
.language-gate .language-options li{min-width:0!important;width:100%!important;margin:0!important;padding:0!important;float:none!important}
.language-gate .language-options .button{
 display:flex!important;align-items:center!important;justify-content:center!important;
 box-sizing:border-box!important;position:static!important;
 width:100%!important;min-width:0!important;max-width:none!important;
 height:54px!important;min-height:54px!important;
 margin:0!important;padding:0 8px!important;
 line-height:1.25!important;font-size:12px!important;letter-spacing:.17em!important;
 background:#ed4933!important;border-radius:3px!important;
}
.language-gate .language-options .button:hover,.language-gate .language-options .button:focus{background:#ef5e4a!important}
@media(max-width:480px){
 .language-gate .language-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:360px!important;column-gap:12px!important;row-gap:12px!important;flex-direction:unset!important}
 .language-gate .language-options li{width:100%!important}
 .language-gate .language-options .button{font-size:11px!important;letter-spacing:.10em!important;height:50px!important;min-height:50px!important}
 .language-gate-inner h2{font-size:1.2rem!important;letter-spacing:.12em!important}
}

/* V5 — buttons use the same translucent burgundy as the slide-out menu. */
.language-gate .language-options .button,
.language-gate .language-options .button.special {
  background: rgba(167, 19, 19, .54) !important;
  background-color: rgba(167, 19, 19, .54) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  color: #fff !important;
  transition: background-color .22s ease, border-color .22s ease !important;
}
.language-gate .language-options .button:hover,
.language-gate .language-options .button:focus-visible {
  background: rgba(167, 19, 19, .78) !important;
  background-color: rgba(167, 19, 19, .78) !important;
  border-color: rgba(255,255,255,.30) !important;
  color: #fff !important;
}
#one header.major .festival-concert-choice {
  margin: 0 0 12px !important;
  line-height: normal !important;
}
#one header.major .festival-concert-choice a,
#one header.major .festival-concert-choice a.more,
#one header.major .festival-concert-choice a.scrolly {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-width: min(100%, 295px) !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  background: rgba(167, 19, 19, .54) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: #fff !important;
  font-size: .83rem !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
  line-height: 1.45 !important;
  transition: background-color .22s ease,border-color .22s ease !important;
}
#one header.major .festival-concert-choice a:hover,
#one header.major .festival-concert-choice a:focus-visible {
  background: rgba(167, 19, 19, .78) !important;
  border-color: rgba(255,255,255,.30) !important;
  color: #fff !important;
}
@media(max-width:480px) {
  #one header.major .festival-concert-choice a,
  #one header.major .festival-concert-choice a.more,
  #one header.major .festival-concert-choice a.scrolly {
    min-width: min(100%, 285px) !important;
    font-size: .72rem !important;
    letter-spacing: .07em !important;
  }
}
