.public-theme.events-page .events-filter-panel{
  margin-top:14px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.public-theme.events-page .event-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:
    "search submit toggle"
    "filters filters filters";
  gap:8px;
  align-items:start;
  margin:0;
  padding:0;
  border:0;
}

.public-theme.events-page .event-search-field{
  display:block;
  grid-area:search;
  min-width:0;
}

.public-theme.events-page .event-search-input-wrap{
  position:relative;
  display:block;
}

.public-theme.events-page .event-search-field input,
.public-theme.events-page .event-filter-field select,
.public-theme.events-page .events-location-toggle{
  width:100%;
  min-width:0;
  min-height:46px;
  border:1px solid #d2d4d1;
  border-radius:var(--tb-public-radius-sm);
  color:var(--tb-public-text);
  background:var(--tb-public-surface);
  font:700 .88rem/1 Arial,Helvetica,sans-serif;
  color-scheme:dark;
}

.public-theme.events-page .event-search-field input{
  padding:9px 13px 9px 43px;
  font-size:1rem;
  font-weight:400;
}

.public-theme.events-page .event-search-field input::placeholder{
  color:var(--tb-public-text-muted);
  opacity:1;
}

.public-theme.events-page .event-control-icon{
  display:block;
  flex:0 0 auto;
  width:1.05rem;
  height:1.05rem;
  color:currentColor;
  pointer-events:none;
}

.public-theme.events-page .event-search-icon{
  position:absolute;
  z-index:1;
  top:50%;
  left:14px;
  color:var(--tb-public-text-secondary);
  transform:translateY(-50%);
}

.public-theme.events-page .event-search-submit,
.public-theme.events-page .events-filters-toggle{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding-inline:16px;
  border:1px solid transparent;
  border-radius:var(--tb-public-radius-sm);
  font:900 .78rem/1 Arial,Helvetica,sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
}

.public-theme.events-page .event-search-submit{
  grid-area:submit;
  border-color:var(--tb-public-accent-bright);
  color:#fff;
  background:var(--tb-public-accent-action);
}

.public-theme.events-page .event-search-submit:hover{
  border-color:#ff9a61;
  background:var(--tb-public-accent-action-hover);
}

.public-theme.events-page .events-filters-toggle{
  grid-area:toggle;
  border-color:#d2d4d1;
  color:var(--tb-public-text);
  background:var(--tb-public-surface);
}

.public-theme.events-page .events-filters-toggle:hover,
.public-theme.events-page .events-filters-toggle[aria-expanded="true"]{
  border-color:var(--tb-public-accent-bright);
  color:var(--tb-public-text);
  background:var(--tb-public-control-hover);
}

.public-theme.events-page .events-filters-toggle[hidden]{display:none}

.public-theme.events-page .event-search-feedback{
  display:flex;
  min-height:0;
  align-items:center;
  gap:.75rem;
  margin:.35rem .2rem 0;
}

.public-theme.events-page .event-search-summary{margin:0}

.public-theme.events-page .event-search-clear{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:0;
  border:0;
  color:var(--tb-public-text-secondary);
  background:transparent;
  font:800 .76rem/1 Arial,Helvetica,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.public-theme.events-page .event-search-clear:hover{
  color:var(--tb-public-accent-bright);
  background:transparent;
}

.public-theme.events-page .event-search-clear[hidden],
.public-theme.events-page .event-search-summary[hidden]{display:none}

.public-theme.events-page .events-secondary-filters{
  grid-area:filters;
  display:grid;
  gap:.55rem;
  min-width:0;
  margin-top:2px;
  padding:.65rem;
  border:1px solid var(--tb-public-border-soft);
  border-radius:var(--tb-public-radius-sm);
  background:var(--tb-public-surface-deep);
}

.public-theme.events-page .events-secondary-filters[hidden]{display:none}

.public-theme.events-page .events-primary-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  min-width:0;
  align-items:start;
}

.public-theme.events-page .events-location-control{
  position:relative;
  min-width:0;
}

.public-theme.events-page .events-location-control.is-open{grid-column:1/-1}

.public-theme.events-page .events-location-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  padding:0 12px;
  text-align:left;
  cursor:pointer;
}

.public-theme.events-page .events-location-toggle:hover,
.public-theme.events-page .events-location-toggle[aria-expanded="true"]{
  border-color:var(--tb-public-accent-bright);
  background:var(--tb-public-control-hover);
}

.public-theme.events-page .events-location-toggle>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.public-theme.events-page .events-location-toggle[aria-expanded="true"] .event-disclosure-icon{
  transform:rotate(180deg);
}

.public-theme.events-page .events-location-context{
  display:grid;
  gap:.6rem;
  margin:.45rem 0 0;
  padding:.7rem;
  border:1px solid var(--tb-public-border-soft);
  border-radius:var(--tb-public-radius-sm);
  background:var(--tb-public-surface-raised);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}

.public-theme.events-page .events-location-context[hidden]{display:none}

.public-theme.events-page .events-location-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
}

.public-theme.events-page .events-location-actions :is(.button,.text-button){
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:.5rem .7rem;
  border:1px solid #d2d4d1;
  border-radius:var(--tb-public-radius-sm);
  color:var(--tb-public-text);
  background:var(--tb-public-surface);
  font:800 .74rem/1.2 Arial,Helvetica,sans-serif;
  text-align:center;
  text-decoration:none;
  white-space:normal;
}

.public-theme.events-page .events-location-actions :is(.button,.text-button):hover{
  border-color:var(--tb-public-accent-bright);
  color:var(--tb-public-text);
  background:var(--tb-public-control-hover);
}

.public-theme.events-page .events-location-divider{
  height:1px;
  background:var(--tb-public-border-soft);
}

.public-theme.events-page .event-filter-field{
  position:relative;
  display:block;
  min-width:0;
}

.public-theme.events-page .event-filter-field select{
  display:block;
  padding:0 34px 0 12px;
  appearance:none;
  cursor:pointer;
}

.public-theme.events-page .event-select-icon{
  position:absolute;
  right:11px;
  bottom:15px;
  width:1rem;
  height:1rem;
  color:var(--tb-public-text-secondary);
}

.public-theme.events-page .event-filter-field select option{
  color:var(--tb-public-text);
  background:var(--tb-public-surface-deep);
}

.public-theme.events-page .event-filter-field select:disabled{
  color:var(--tb-public-text-muted);
  background-color:var(--tb-public-surface);
  cursor:not-allowed;
  opacity:1;
}

.public-theme.events-page .event-state-field{
  display:grid;
  gap:.3rem;
}

.public-theme.events-page .event-state-field>span{
  color:var(--tb-public-text-secondary);
  font:800 .68rem/1 Arial,Helvetica,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.public-theme.events-page .events-filter-utilities{
  display:flex;
  min-height:28px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:.45rem .8rem;
}

.public-theme.events-page .events-weekend-active{
  margin:0;
  padding:.3rem .5rem;
  border:1px solid #7f3b20;
  border-radius:999px;
  color:#fff;
  background:#32170e;
  font:800 .73rem/1 Arial,Helvetica,sans-serif;
}

.public-theme.events-page .events-weekend-active[hidden]{display:none}

.public-theme.events-page .event-filter-clear{
  display:inline-flex;
  width:auto;
  min-height:28px;
  align-items:center;
  padding:0;
  border:0;
  color:var(--tb-public-text-secondary);
  background:transparent;
  font:800 .76rem/1 Arial,Helvetica,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  text-transform:none;
  cursor:pointer;
}

.public-theme.events-page .event-filter-clear:hover{
  color:var(--tb-public-accent-bright);
  background:transparent;
}

.public-theme.events-page .event-filter-clear:disabled{
  cursor:not-allowed;
  opacity:.55;
}

.public-theme.events-page .events-filter-summary{
  display:flex;
  min-height:30px;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.45rem .2rem 0;
}

.public-theme.events-page .events-location-summary,
.public-theme.events-page .events-result-count{
  margin:0;
  font:800 .78rem/1.35 Arial,Helvetica,sans-serif;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.public-theme.events-page .events-location-summary{color:var(--tb-public-text-secondary)}
.public-theme.events-page .events-result-count{color:var(--tb-public-accent-bright)}

.public-theme.events-page .events-local-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:.45rem .2rem 0;
}

.public-theme.events-page .events-local-actions[hidden]{display:none}
.public-theme.events-page .events-local-actions [hidden]{display:none}

.public-theme.events-page .events-local-actions :is(.button,.text-button){
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:.55rem .8rem;
  border:1px solid #d2d4d1;
  border-radius:var(--tb-public-radius-sm);
  color:var(--tb-public-text);
  background:var(--tb-public-surface);
  font:800 .76rem/1.2 Arial,Helvetica,sans-serif;
  text-align:center;
  text-decoration:none;
}

.public-theme.events-page .events-local-actions :is(.button,.text-button):hover{
  border-color:var(--tb-public-accent-bright);
  background:var(--tb-public-control-hover);
}

.public-theme.events-page #events-look-farther{cursor:pointer}

.public-theme.events-page :is(.event-search-field input,.event-filter-field select,.events-location-toggle,.event-search-submit,.events-filters-toggle,.event-filter-clear,.event-search-clear,.events-local-actions .button,.events-local-actions .text-button):focus-visible{
  outline:3px solid var(--tb-public-focus);
  outline-offset:2px;
}

.events-page .event-description{overflow-wrap:anywhere}

@media(min-width:1100px){
  .public-theme.events-page .event-search-form{
    grid-template-columns:minmax(250px,1.25fr) minmax(540px,2fr) auto;
    grid-template-areas:"search filters submit";
    gap:10px;
  }

  .public-theme.events-page .events-secondary-filters{
    position:relative;
    display:block;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
  }

  .public-theme.events-page .events-primary-filters{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .public-theme.events-page .events-location-control.is-open{grid-column:auto}

  .public-theme.events-page .events-location-context{
    position:absolute;
    z-index:20;
    top:calc(100% + 6px);
    left:0;
    width:min(430px,calc(100vw - 32px));
    margin:0;
  }

  .public-theme.events-page .events-filter-utilities{
    position:absolute;
    top:calc(100% + 5px);
    left:0;
  }

  .public-theme.events-page .events-filter-summary{padding-top:2rem}
}

@media(max-width:650px){
  .public-theme.events-page .events-filter-panel{margin-top:10px}

  .public-theme.events-page .event-search-field input{
    min-height:44px;
    padding-left:39px;
    font-size:.92rem;
  }

  .public-theme.events-page .event-search-icon{left:12px}

  .public-theme.events-page .event-search-submit,
  .public-theme.events-page .events-filters-toggle{
    min-height:44px;
    padding-inline:12px;
  }

  .public-theme.events-page .events-filters-toggle .event-filter-icon{display:none}

  .public-theme.events-page .events-filter-summary{
    min-height:28px;
    gap:.5rem;
    padding-top:.35rem;
  }

  .public-theme.events-page .events-location-summary,
  .public-theme.events-page .events-result-count{
    font-size:.7rem;
  }

  .public-theme.events-page .events-local-actions{
    display:grid;
    grid-template-columns:1fr;
    padding-top:.35rem;
  }
}

@media(max-width:359px){
  .public-theme.events-page .event-search-form{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "search submit"
      "toggle toggle"
      "filters filters";
  }

  .public-theme.events-page .events-filters-toggle{justify-self:start}
  .public-theme.events-page .events-primary-filters{grid-template-columns:1fr}
  .public-theme.events-page .events-filter-summary{align-items:flex-start;flex-direction:column;gap:.1rem}
}
