/* GAT Events alpha.4.3 – aligned global control tokens */
.gat-alpha-explorer{color:var(--text-primary, #f2f2f4);background:transparent;border:0;border-radius:0;padding:0;margin-bottom:1.5rem}
.gat-events-alpha-filter{display:block;margin:0}
.gat-alpha-explorer button,.gat-alpha-explorer input,.gat-alpha-explorer select{font:inherit;box-sizing:border-box}
.gat-alpha-toolbar{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;min-height:42px}
.gat-alpha-explorer .gat-alpha-search{display:flex!important;align-items:center;gap:9px;flex:1 1 0%;width:0;min-width:0;background:var(--bg-control, #25272e);border:var(--border-width-control, 1px) solid var(--border-control, #414552);border-radius:var(--radius-control, 6px);height:var(--height-control, 42px);min-height:var(--height-control, 42px);padding:0 var(--padding-control-inline, 12px)}
.gat-alpha-search svg,.gat-alpha-toggle svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gat-alpha-search input[type=search]{width:100%;min-width:0;border:0!important;outline:0;box-shadow:none!important;background:transparent!important;color:var(--text-control, #e0e2e9)!important;padding:0!important;margin:0!important;height:100%!important;min-height:0!important;line-height:normal!important;flex:1;min-width:0;appearance:none}
.gat-alpha-search input::placeholder{color:var(--text-control-placeholder, #9295a3)}
.gat-alpha-toggle{display:inline-flex;flex:0 0 auto;width:auto;max-width:none;margin:0;align-items:center;justify-content:center;gap:8px;height:var(--height-control, 42px);min-height:var(--height-control, 42px);padding:0 var(--padding-control-inline, 12px)!important;border:var(--border-width-control, 1px) solid var(--border-control, #414552)!important;border-radius:var(--radius-control, 6px);background:var(--bg-control, #25272e)!important;color:var(--text-control, #e0e2e9)!important;cursor:pointer;white-space:nowrap;line-height:1.2}
.gat-alpha-toggle:hover,.gat-alpha-view button:hover{background:var(--bg-control-hover, #343741)!important}
.gat-alpha-toggle .gat-alpha-chevron{width:14px;height:14px;transition:transform .18s ease}
.gat-alpha-toggle[aria-expanded=true] .gat-alpha-chevron{transform:rotate(180deg)}
.gat-alpha-count{border-radius:12px;background:var(--border-control, #414552);padding:1px 6px;font-size:12px}
.gat-alpha-view{display:inline-flex;flex:0 0 auto;width:auto;max-width:none;margin:0;gap:3px;align-items:center;border:var(--border-width-control, 1px) solid var(--border-control, #414552);background:var(--bg-control, #25272e);border-radius:var(--radius-control, 6px);height:var(--height-control, 42px);padding:3px;flex:none;box-sizing:border-box}
.gat-alpha-view button{border:0!important;background:transparent!important;color:var(--text-control, #e0e2e9)!important;opacity:.55;cursor:pointer;padding:0!important;display:flex;border-radius:calc(var(--radius-control, 6px) - 2px);min-width:34px;width:34px;height:34px;min-height:0;align-items:center;justify-content:center;line-height:1}
.gat-alpha-view button[aria-pressed=true]{opacity:1;background:var(--bg-control-hover, #343741)!important}
.gat-alpha-view svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Keep all vertical spacing INSIDE the animated box. External margin used to
   disappear only when `hidden` was set, causing the final 14px jump. */
/* Permanent clipping prevents margin collapsing when the opening animation finishes. */
.gat-alpha-panel{margin:0;padding:0;border:0;min-height:0;box-sizing:border-box;overflow:hidden}
.gat-alpha-panel::before{content:"";display:block;height:1px;margin:14px 0 15px;background:var(--border-control, #414552)}
.gat-alpha-panel[hidden]{display:none!important}
.gat-alpha-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gat-alpha-fields label{display:flex;flex-direction:column;gap:var(--margin-label-bottom, 6px);color:var(--text-label, #a5a7b1);font-size:var(--font-size-label, 0.8125rem);font-weight:var(--font-weight-label, 500);line-height:var(--line-height-label, 1.4)}
.gat-alpha-fields select{display:block;width:100%;height:var(--height-control, 42px);min-height:var(--height-control, 42px);padding:0 30px 0 var(--padding-control-inline, 12px);border:var(--border-width-control, 1px) solid var(--border-control, #414552);border-radius:var(--radius-control, 6px);background:var(--bg-control, #25272e);color:var(--text-control, #e0e2e9);font-size:14px}
.gat-alpha-fields option{background:var(--bg-control, #25272e);color:var(--text-control, #e0e2e9)}
.gat-alpha-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:var(--text-muted, #a5a7b1);font-size:12px}
.gat-alpha-reset{border:0!important;background:transparent!important;color:var(--text-primary, #f2f2f4)!important;cursor:pointer;padding:6px!important;text-decoration:underline;text-underline-offset:3px}
.gat-alpha-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.gat-alpha-bottom:has(.gat-alpha-chip){margin-top:12px}
.gat-alpha-chips{display:flex;gap:7px;flex-wrap:wrap}
.gat-alpha-chip{background:var(--bg-control, #25272e)!important;border:1px solid var(--border-control, #414552)!important;color:var(--text-primary, #f2f2f4)!important;border-radius:var(--radius-control, 6px)!important;padding:5px 10px!important;font-size:12px!important;cursor:pointer}
.gat-alpha-status{font-size:12px;color:var(--text-muted, #a5a7b1)}
.gat-alpha-status:empty{display:none}
.gat-alpha-submit-fallback{margin-top:10px}
.gat-alpha-explorer :is(button,select):focus-visible{outline:1px solid var(--border-control-focus, #626777)!important;outline-offset:1px}
.gat-alpha-loading{opacity:.8}
.gat-alpha-explorer [hidden]{display:none!important}
@media(max-width:767px){.gat-alpha-explorer{padding:0}.gat-alpha-explorer .gat-alpha-toolbar{flex-wrap:wrap;gap:8px}.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-search{flex:1 1 100%;width:100%;order:0}.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-toggle{order:1;flex:1 1 auto}.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-view{order:2}.gat-alpha-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.gat-alpha-fields{grid-template-columns:1fr}}

/* Avoid Elementor's extra inner input focus border; retain visible focus on wrapper. */
.gat-alpha-explorer .gat-alpha-search input[type="search"]:focus,
.gat-alpha-explorer .gat-alpha-search input[type="search"]:focus-visible{outline:none!important;border:0!important;box-shadow:none!important}
.gat-alpha-explorer .gat-alpha-search:focus-within{border-color:var(--border-control-focus, #626777);outline:none!important;box-shadow:none!important}

/* Consistent interactive controls, including Elementor global theme overrides. */
.gat-alpha-explorer .gat-alpha-search,.gat-alpha-explorer .gat-alpha-toggle,.gat-alpha-explorer .gat-alpha-view{box-sizing:border-box;flex-shrink:0}
.gat-alpha-explorer .gat-alpha-search{flex-shrink:1}
.gat-alpha-explorer .gat-alpha-search input[type="search"]:focus{background:transparent!important}
.gat-alpha-explorer .gat-alpha-fields select:focus{border-color:var(--border-control-focus, #626777)}


/* alpha.4.3: identical outer box geometry for all toolbar controls.
   Scope tightly to avoid Elementor kit input/button defaults. */
.gat-alpha-explorer .gat-alpha-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-search,
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-toggle,
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-view{
  box-sizing:border-box;
  height:var(--height-control, 42px)!important;
  min-height:var(--height-control, 42px)!important;
  max-height:var(--height-control, 42px)!important;
  margin:0!important;
  align-self:center;
  vertical-align:middle;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-search{
  display:flex!important;
  align-items:center;
  min-width:0;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-search input[type="search"]{
  display:block;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  padding-block:0!important;
  margin:0!important;
  line-height:normal!important;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-toggle{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  line-height:1!important;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-view{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
.gat-alpha-explorer .gat-alpha-toolbar > .gat-alpha-view button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin:0!important;
}

/* alpha.4.4: shared global label tokens. Scope to filter-field labels, not
   the search wrapper (which is also a <label>) or checkbox-style labels. */
.gat-alpha-explorer .gat-alpha-fields > label {
  color:var(--text-label, #a5a7b1);
  font-size:var(--font-size-label, 0.8125rem);
  font-weight:var(--font-weight-label, 500);
  line-height:var(--line-height-label, 1.4);
  gap:var(--margin-label-bottom, 6px);
}
.gat-alpha-explorer .gat-alpha-fields > label > select {
  margin:0;
  font-weight:normal;
}

/* alpha.4.11: native filter selects with a consistently inset chevron.
   Keep the native select for keyboard and mobile accessibility. */
.gat-alpha-explorer .gat-alpha-fields select {
  -webkit-appearance: none !important;
  appearance: none !important;
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239295A3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.gat-alpha-explorer .gat-alpha-fields select:hover {
  background-color: var(--bg-control-hover, #292C35);
}

/* alpha.4.13: incremental results */
.gat-alpha-load-more-wrap { display:flex; flex-direction:column; align-items:center; gap:8px; margin:16px 0 8px; }
.gat-alpha-load-more-wrap[hidden] { display:none!important; }
.gat-alpha-load-more { cursor:pointer; min-height:34px; padding:0 16px; font-size:13px; line-height:1.3; border:1px solid var(--border-control,#383b46); border-radius:var(--radius-control,6px); background:var(--bg-control,#1c1e24); color:var(--text-control,#e0e2e9); transition:background-color 180ms ease; }
.gat-alpha-load-more:hover { background:var(--bg-control-hover,#292c35); }
.gat-alpha-load-more:focus-visible { outline:2px solid var(--border-control-focus,#626777); outline-offset:2px; }
.gat-alpha-load-more:disabled { opacity:.55; cursor:wait; }
.gat-alpha-load-status { font-size:.8125rem; color:var(--text-label,#a5a7b1); }

/* alpha.4.14: Elementor pagination is replaced by incremental loading.
   Scope to the two loop IDs supplied to the GAT filter shortcode. */
#gat-event-list .elementor-pagination,
#gat-event-grid .elementor-pagination,
#gat-event-list .e-pagination,
#gat-event-grid .e-pagination,
#gat-event-list nav[aria-label="Pagination"],
#gat-event-grid nav[aria-label="Pagination"] { display:none !important; }

/* alpha.4.15: loading indicator and broader Elementor pagination variants. */
.gat-alpha-load-more { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.gat-alpha-more-spinner { display:none; width:13px; height:13px; box-sizing:border-box; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:gat-alpha-spin .7s linear infinite; }
.gat-alpha-load-more.is-loading .gat-alpha-more-spinner { display:inline-block; }
.gat-alpha-load-more.is-loading { cursor:wait; opacity:.7; }
@keyframes gat-alpha-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .gat-alpha-more-spinner { animation-duration:1.5s; } }
#gat-event-list .e-loop-pagination, #gat-event-grid .e-loop-pagination,
#gat-event-list .elementor-loop-pagination, #gat-event-grid .elementor-loop-pagination,
#gat-event-list .elementor-pagination-container, #gat-event-grid .elementor-pagination-container,
#gat-event-list nav[aria-label*="agination"], #gat-event-grid nav[aria-label*="agination"] { display:none!important; }
