/* TicketsFest 10.2.29: accessible location selectors and compact language dropdown. */
.tfe-location-control {flex:0 1 auto;min-width:0;position:relative;z-index:5}
.tfe-location-picker {position:relative}
.tfe-location-picker > summary {display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;min-height:38px;padding:7px 10px;background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;color:#1540a5;font-weight:750;font-size:13px;white-space:nowrap;max-width:166px}
.tfe-location-picker > summary::-webkit-details-marker {display:none}
.tfe-location-picker > summary::marker {content:''}
.tfe-location-picker > summary:hover,.tfe-location-picker[open] > summary {background:#e0edff;border-color:#bfdbfe}
.tfe-location-picker > summary:focus-visible,.tfe-location-mobile-trigger:focus-visible {outline:3px solid #93c5fd;outline-offset:3px}
.tfe-location-picker > summary svg {width:17px;height:17px;flex-shrink:0}
.tfe-location-picker > summary .tfe-location-chevron {width:13px;height:13px;transition:transform .17s ease}
.tfe-location-picker[open] > summary .tfe-location-chevron {transform:rotate(180deg)}
.tfe-location-current {overflow:hidden;text-overflow:ellipsis}
.tfe-location-panel {position:absolute;z-index:100003;top:calc(100% + 12px);left:0;width:288px;padding:18px;background:#fff;border:1px solid #dce5f2;border-radius:20px;box-shadow:0 22px 55px rgba(15,23,42,.15);white-space:normal}
.tfe-location-panel-title {font-weight:850;font-size:15px;color:#10233e;margin-bottom:14px}
.tfe-location-fields {display:grid;gap:9px;min-width:0}
.tfe-location-fields label {font-size:12px;font-weight:750;color:#52627c}
.tfe-location-fields select {width:100%;min-width:0;height:44px;padding:0 32px 0 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer;-webkit-appearance:auto;appearance:auto}
.tfe-location-fields select:focus-visible {border-color:#2563eb;outline:2px solid #93c5fd;outline-offset:1px}
.tfe-location-fields .tfe-location-go {display:flex;align-items:center;justify-content:center;gap:10px;min-height:45px;padding:9px 14px;margin-top:9px;background:#0b5cff;border-radius:13px;color:#fff!important;text-decoration:none;font-size:14px;font-weight:850}
.tfe-location-go:hover {background:#164cce}
.tfe-location-all {display:block;text-align:center;padding:7px 0 1px;font-size:13px;font-weight:750;color:#3058a6;text-decoration:none}
.tfe-location-all:hover {text-decoration:underline}
.tfe-location-mobile-trigger {display:none;align-items:center;justify-content:center;gap:5px;min-width:0;padding:7px 9px;border-radius:13px;background:#eff6ff;border:1px solid #dbeafe;color:#164bbd;font-size:12px;font-weight:800;cursor:pointer}
.tfe-location-mobile-trigger svg {width:17px;height:17px;flex-shrink:0}
.tfe-location-mobile-trigger span {min-width:0;max-width:98px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tfe-mobile-location-block {padding:16px 22px 18px;border-bottom:1px solid #e2e8f0;flex:0 0 auto}
.tfe-mobile-location-block .tfe-location-panel-title {margin-bottom:10px}
.tfe-mobile-location-block .tfe-location-fields {grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px;row-gap:8px}
.tfe-mobile-location-block .tfe-location-fields label {grid-row:1}
.tfe-mobile-location-block .tfe-location-country,.tfe-mobile-location-block .tfe-location-city {grid-row:2}
.tfe-mobile-location-block .tfe-location-go,.tfe-mobile-location-block .tfe-location-all {grid-column:1/-1}
.tfe-mobile-location-block .tfe-location-fields select {font-size:16px;min-height:46px}
.tfe-mobile-lang.tfe-language-control {display:flex;z-index:30}
.tfe-mobile-lang.tfe-language-control summary {display:flex;align-items:center;gap:5px;min-height:39px;padding:8px 10px;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:13px;font-size:13px}
.tfe-mobile-lang.tfe-language-control summary svg {width:18px;height:18px}
.tfe-mobile-lang.tfe-language-control .tfe-lang-menu {position:absolute;right:0;top:calc(100% + 8px);width:220px;max-height:50vh;overflow:auto;background:#fff;z-index:99999}
.tfe-mobile-lang.tfe-language-control .tfe-lang-menu a {display:flex;justify-content:space-between;align-items:center;min-height:43px;padding:9px 12px;background:#fff;border:0;border-radius:9px;font-size:14px;color:#1b2e4e;box-shadow:none;letter-spacing:0}
.tfe-mobile-lang.tfe-language-control .tfe-lang-menu a.is-active {background:#eaf2ff;color:#0b5cff}
@media (max-width:1240px) and (min-width:1025px) {
  .tfe-header-inner {padding:0 14px;gap:8px}
  .tfe-nav-container {gap:7px}
  .tfe-desktop-nav a,.tfe-menu-main a {padding:8px 9px;font-size:12px}
  .tfe-header-cta {padding:0 10px;font-size:12px}
  .tfe-location-picker > summary {max-width:125px;font-size:12px}
}
@media (max-width:1024px) {
  .tfe-location-control {display:none}
  .tfe-location-mobile-trigger {display:inline-flex;margin-left:auto}
  .tfe-header-inner {gap:8px}
  .tfe-mobile-overlay {overflow:visible}
  .tfe-mobile-list {min-height:0;flex:1 1 auto;overflow-y:auto}
  .tfe-mobile-header {padding:calc(14px + env(safe-area-inset-top)) 18px 14px}
  .tfe-mobile-actions {gap:6px}
  .tfe-mobile-lang.tfe-language-control summary {padding:7px 9px}
}
@media (max-width:370px) {
  .tfe-logo img {height:27px}
  .tfe-logo-text {font-size:17px}
  .tfe-location-mobile-trigger span {max-width:66px}
  .tfe-mobile-location-block {padding:12px 16px}
  .tfe-mobile-location-block .tfe-location-fields {grid-template-columns:1fr}
  .tfe-mobile-location-block .tfe-location-fields label {grid-row:auto}
  .tfe-mobile-location-block .tfe-location-country,.tfe-mobile-location-block .tfe-location-city {grid-row:auto}
}
@media (prefers-reduced-motion: reduce) {.tfe-location-picker > summary .tfe-location-chevron {transition:none}}
/* Avoid a cramped mid-size header: use the fully functional mobile drawer. */
@media (max-width:1180px) {
  .tfe-nav-container {display:none!important}
  .tfe-burger {display:flex!important}
  .tfe-location-control {display:none!important}
  .tfe-location-mobile-trigger {display:inline-flex;margin-left:auto}
  .tfe-mobile-list {min-height:0;flex:1 1 auto;overflow-y:auto}
}
@media (min-width:1181px) and (max-width:1280px) {
  .tfe-header-cta {display:none!important}
}
