/* Ticketimo v7 — final layout/interaction overrides loaded after legacy CSS. */
.site-header{overflow:visible}
.header-main{
  width:min(calc(100% - 32px),var(--max));
  max-width:none;
  min-height:76px;
  margin:0 auto;
  padding:10px 0;
  display:grid;
  grid-template-columns:184px minmax(0,1fr) max-content;
  gap:18px;
  align-items:center;
}
.header-main .brand{min-width:0}
.header-main .brand img{width:184px;max-width:100%;height:auto}
.header-search{
  width:100%;
  min-width:0;
  height:48px;
  padding:6px;
  grid-template-columns:34px minmax(0,1fr) minmax(130px,180px) max-content;
  border-radius:15px;
  overflow:visible;
}
.header-search-icon{padding:0;display:grid;place-items:center}
.header-search input{width:100%;padding:0 10px}
.header-search select{width:100%;padding:0 10px}
.header-search button{height:36px;margin:0;padding:0 16px;border-radius:10px;white-space:nowrap}
.header-actions{min-width:max-content;justify-self:end}
.location-link{white-space:nowrap}
.menu-button{display:none!important}
.primary-nav{
  width:min(calc(100% - 32px),var(--max));
  max-width:none;
  min-height:42px;
  height:auto;
  margin:0 auto;
  padding:0;
  gap:clamp(12px,1.35vw,22px);
  border-top:1px solid #edf0f4;
  overflow-x:auto;
  scrollbar-width:none;
}
.primary-nav a{font-size:12px;line-height:42px}
.footer-privacy-button{
  display:block;
  margin:8px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#a8b8ca;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  text-align:left;
}
.footer-privacy-button:hover{color:#65dcd7}
.brand:focus-visible,.primary-nav a:focus-visible,.header-search button:focus-visible,
.location-link:focus-visible,.menu-button:focus-visible,.footer-privacy-button:focus-visible{
  outline:3px solid rgba(30,195,189,.42);
  outline-offset:3px;
}

@media(max-width:1120px) and (min-width:861px){
  .header-main{width:calc(100% - 28px);grid-template-columns:160px minmax(0,1fr) 42px;gap:12px}
  .header-main .brand img{width:160px}
  .header-search{grid-template-columns:32px minmax(0,1fr) max-content}
  .header-search select{display:none}
  .header-search input{border-right:0}
  .location-link{width:42px;height:42px;padding:0;display:grid;place-items:center}
  .location-link b{display:none}
  .primary-nav{width:calc(100% - 28px);gap:clamp(10px,1.3vw,16px)}
  .primary-nav a{font-size:11px}
}

@media(max-width:860px){
  body{overflow-x:hidden}
  .site-header{position:sticky;top:0;z-index:120}
  .header-main{
    width:100%;
    min-height:0;
    padding:10px 14px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px 10px;
  }
  .header-main .brand{grid-column:1;grid-row:1}
  .header-main .brand img{width:172px}
  .header-actions{grid-column:2;grid-row:1;gap:6px}
  .location-link,.menu-button{
    width:42px;
    height:42px;
    padding:0;
    border:1px solid #dce3ea!important;
    border-radius:12px!important;
    background:#fff!important;
    display:grid;
    place-items:center;
  }
  .location-link b{display:none}
  .menu-button{display:grid!important}
  .header-search{
    grid-column:1/-1;
    grid-row:2;
    height:48px;
    grid-template-columns:32px minmax(0,1fr) max-content;
    padding:5px 6px;
    border-radius:14px;
  }
  .header-search select{display:none}
  .header-search input{height:38px;padding:0 7px;border-right:0;font-size:14px}
  .header-search button{height:36px;min-width:84px;padding:0 12px;font-size:12px}
  .primary-nav{display:none}
  .mobile-menu{
    left:0;
    right:0;
    top:100%;
    max-height:calc(100vh - 116px);
    padding:10px 16px 16px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 14px;
    overflow:auto;
  }
  .mobile-menu.open{display:grid}
}

@media(max-width:430px){
  .header-main{padding-left:12px;padding-right:12px}
  .header-main .brand img{width:156px}
  .location-link,.menu-button{width:39px;height:39px}
  .header-search button{min-width:78px;padding:0 10px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
