/* Garthux Exercise Search - inherits Elementor global tokens */
.gx-search{
  --gx-bg: var(--e-global-color-primary);
  --gx-accent: var(--e-global-color-secondary);
  --gx-text: var(--e-global-color-text-2);
  --gx-icon: var(--e-global-color-text-2);
  --gx-btn-bg: var(--e-global-color-secondary);
  --gx-btn-text: var(--e-global-color-text-2);
  --gx-btn-bg-hover: var(--e-global-color-primary);
  --gx-btn-text-hover: var(--e-global-color-text-2);
  --gx-btn-border-hover: var(--e-global-color-secondary);
  --gx-link: var(--e-global-color-secondary);
  --gx-selected: var(--e-global-color-accent-3);
  background: var(--gx-bg);
  color: var(--gx-text);
  padding: 1rem;
  border-radius: 0.5rem;
}

/* Force all textual elements to Text 2 */
.gx-search :where(p, li, span, small, strong, em, div, label, h1, h2, h3, h4, h5, h6){
  color: var(--gx-text) !important;
}
.gx-search a.gx-link{ color: var(--gx-link) !important; }
.gx-search .gx-search__btn{ color: var(--gx-btn-text) !important; }
.gx-search .gx-search__btn:hover{ color: var(--gx-btn-text-hover) !important; }
.gx-search .gx-pagebtn{ color: var(--gx-btn-text) !important; }
.gx-search .gx-pagebtn:hover{ color: var(--gx-btn-text-hover) !important; }
.gx-search .gx-filter__select, 
.gx-search .gx-search__input { color: var(--gx-text) !important; }
.gx-search .gx-search__input::placeholder{ color: var(--gx-text) !important; opacity:.9; }
.gx-search .gx-icon{ color: var(--gx-icon) !important; }

.gx-search__bar{
  display:flex;
  gap:.5rem;
  align-items:center;
  margin-bottom:.75rem;
}
.gx-search__input{
  flex:1;
  padding:.6rem .8rem;
  border:1px solid var(--gx-accent);
  border-radius:.5rem;
  color:var(--gx-text);
  background:transparent;
}
.gx-search__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.6rem .8rem;
  border:1px solid transparent;
  border-radius:.5rem;
  background:var(--gx-btn-bg);
  color:var(--gx-btn-text);
  cursor:pointer;
}
.gx-search__btn:hover{
  background:var(--gx-btn-bg-hover);
  color:var(--gx-btn-text-hover);
  border-color:var(--gx-btn-border-hover);
}
.gx-search :where(p,li,span,small,strong,em,div,label,h1,h2,h3,h4,h5,h6){
  color: var(--gx-text) !important;
}
.gx-link{ color: var(--gx-link) !important; }
.gx-search__btn,
.gx-pagebtn{ background: var(--gx-btn-bg); color: var(--gx-btn-text) !important; }
.gx-search__btn:hover,
.gx-pagebtn:hover{ background: var(--gx-btn-bg-hover); color: var(--gx-btn-text-hover) !important; border-color: var(--gx-btn-border-hover); }
.gx-search .gx-search__input,
.gx-search .gx-filter__select{ color: var(--gx-text) !important; }
.gx-search .gx-search__input::placeholder{ color: var(--gx-text) !important; opacity:.9; }
.gx-icon{ fill: currentColor; color: var(--gx-icon); }

.gx-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem .75rem;
  align-items:center;
  margin:.5rem 0 1rem;
}
.gx-filter__label{ display:flex; align-items:center; gap:.5rem; }
.gx-filter__title{ font-size:.85rem; color:var(--gx-text); }
.gx-filter__select{
  min-width: 160px;
  max-width: 220px;
  height: 2.2rem;
  border:1px solid var(--gx-accent);
  background: transparent;
  color: var(--gx-text);
  border-radius:.5rem;
  padding:.2rem .4rem;
}

.gx-results{ display:grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap:.75rem; }
./* Cards */

.gx-card{
  border: 1px solid var(--gx-accent);
  border-radius: .6rem;
  padding: .8rem;
  background: transparent;              /* was color-mix(...) */
  color: var(--gx-text);
}
.gx-card__title{ margin:0 0 .25rem; font-size:1rem; }
.gx-link{ color: var(--gx-link); text-decoration: none; }
.gx-link:hover{ text-decoration: underline; }

.gx-card__excerpt{ margin:.25rem 0 .5rem; font-size:.9rem; color:var(--gx-text); }
.gx-chips{ display:flex; flex-wrap:wrap; gap:.3rem; }
./* Chips */

.gx-chip{
  border: 1px solid var(--gx-accent);
  background: var(--gx-selected);       /* was color-mix(...) */
  color: var(--gx-text);
  border-radius: 999px;
  font-size: .75rem;
  padding: .15rem .4rem;
}

.gx-pagination{ display:flex; align-items:center; gap:.5rem; justify-content:center; margin-top: 1rem; }
.gx-pagebtn{
  padding:.4rem .7rem;
  border:1px solid var(--gx-accent);
  border-radius:.5rem;
  background: var(--gx-btn-bg);
  color: var(--gx-btn-text);
  cursor:pointer;
}
.gx-pagebtn:hover{
  background: var(--gx-btn-bg-hover);
  color: var(--gx-btn-text-hover);
  border-color: var(--gx-btn-border-hover);
}
.gx-pagebtn.is-disabled{ opacity:.5; pointer-events:none; }
.gx-pageinfo{ color: var(--gx-text); font-size:.9rem; }

.gx-empty, .gx-error{ color: var(--gx-text); }
@media (max-width: 480px){
  .gx-filter__select{ min-width: 140px; }
}

/* ===== Variant: CPT skin to match Exercise CPT cards ===== */
.gx-search.gx-skin-cpt{
  background: color-mix(in oklab, var(--e-global-color-primary) 86%, black);
  border: 1px solid var(--gx-accent);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--gx-accent) 35%, transparent) inset;
}
.gx-search.gx-skin-cpt .gx-card{
  background: transparent;
  border-color: var(--gx-accent);
}
.gx-search.gx-skin-cpt .gx-search__input,
.gx-search.gx-skin-cpt .gx-filter__select{
  background: color-mix(in oklab, var(--e-global-color-primary) 93%, black);
  border-color: var(--gx-accent);
  color: var(--gx-text);
}
.gx-search.gx-skin-cpt .gx-filter__title{ color: var(--gx-text); }
.gx-search.gx-skin-cpt .gx-chip{
  background: color-mix(in oklab, var(--gx-selected) 20%, transparent);
  border-color: var(--gx-accent);
  color: var(--gx-text);
}
.gx-search.gx-skin-cpt .gx-pagebtn{
  background: var(--gx-btn-bg);
  color: var(--gx-btn-text);
  border-color: var(--gx-accent);
}
.gx-search.gx-skin-cpt .gx-pagebtn:hover{
  background: var(--gx-btn-bg-hover);
  color: var(--gx-btn-text-hover);
  border-color: var(--gx-btn-border-hover);
}
/* Match Exercise CPT look */
.gx-search.gx-skin-cpt{
  background: var(--gx-bg);
  border: 1px solid var(--gx-accent);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--gx-accent) 35%, transparent) inset;
}
.gx-search.gx-skin-cpt .gx-card{ background: transparent; border-color: var(--gx-accent); }
.gx-search.gx-skin-cpt .gx-search__input,
.gx-search.gx-skin-cpt .gx-filter__select{
  background: transparent;
  border-color: var(--gx-accent);
}