/**
 * Axanar admin — Views exposed filter bars (donors, products, fulfillment, etc.)
 */

.view-filters {
  margin-block: 0 1rem;
}

.views-exposed-form.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
  margin-block: 0;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--gin-border-color);
  background: var(--gin-bg-layer);
  box-shadow: none;
}

/* Never show native multi-select listboxes — form alter converts to checkboxes. */
.views-exposed-form select[multiple],
.views-exposed-form .form-element--type-select-multiple {
  display: none;
}

.views-exposed-form__item.views-exposed-form__item {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

/* Search / name fields — give the primary filter more room */
.views-exposed-form__item.form-item--search,
.views-exposed-form__item.form-item--title {
  flex: 1 1 12rem;
  min-width: 10rem;
}

.views-exposed-form__item.form-item--platform,
.views-exposed-form__item.form-item--tier,
.views-exposed-form__item.form-item--sku,
.views-exposed-form__item.form-item--status,
.views-exposed-form__item.form-item--pledge-status,
.views-exposed-form__item.form-item--source,
.views-exposed-form__item.form-item--shipping-status {
  flex: 0 1 9.5rem;
  min-width: 7.5rem;
}

.views-exposed-form__item.form-item--items-per-page {
  flex: 0 0 auto;
  min-width: 6.5rem;
}

.views-exposed-form fieldset.axanar-status-filter,
.views-exposed-form__item.form-item--fo-status {
  flex: 1 1 100%;
  min-width: 0;
}

.views-exposed-form fieldset.axanar-filter-checkboxes {
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .fieldset__wrapper {
  margin: 0;
  padding: 0;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .fieldset__legend {
  margin-block-end: 0.3rem;
  padding: 0;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .fieldset__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gin-color-text-light);
  line-height: 1.2;
}

/* Single-value selects (items per page, published, etc.) */
.views-exposed-form__item .form-select:not([multiple]),
.views-exposed-form__item .form-element--type-select:not(.form-element--type-select-multiple) {
  appearance: none;
  padding-inline: 0.65rem 2rem;
  background-color: var(--gin-bg-input, var(--gin-bg-layer2));
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 0.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23525252' stroke-width='1.5' d='M1 1L7 7L13 1'/%3E%3C/svg%3E");
  cursor: pointer;
}

html.gin--dark-mode .views-exposed-form__item .form-select:not([multiple]),
html.gin--dark-mode .views-exposed-form__item .form-element--type-select:not(.form-element--type-select-multiple) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23a3a3a3' stroke-width='1.5' d='M1 1L7 7L13 1'/%3E%3C/svg%3E");
}

.views-exposed-form__item .form-select:not([multiple]):focus,
.views-exposed-form__item .form-element--type-select:not(.form-element--type-select-multiple):focus {
  border-color: var(--gin-color-focus);
  outline: 2px solid transparent;
  box-shadow: 0 0 0 2px var(--gin-color-focus);
}

/* Checkbox chip filters (fulfillment status, etc.) */
.views-exposed-form fieldset.axanar-filter-checkboxes .form-checkboxes,
.views-exposed-form .axanar-filter-checkboxes.form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox {
  margin: 0;
  position: relative;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox label.option {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid var(--gin-border-color);
  background: var(--gin-bg-layer2, var(--gin-bg-app));
  color: var(--gin-color-text-light);
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox:focus-visible + label.option {
  outline: 2px solid var(--gin-color-focus);
  outline-offset: 2px;
}

.views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox:checked + label.option {
  border-color: var(--gin-color-text-light);
  background: var(--gin-color-primary);
  color: var(--gin-bg-layer, #fafafa);
}

html.gin--dark-mode .views-exposed-form fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox:checked + label.option {
  color: var(--carbon-950, #121212);
}

/* Status-specific chip colors when selected */
.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-draft input:checked + label.option {
  background: rgba(148, 163, 184, 0.35);
  border-color: #64748b;
  color: #cbd5e1;
}

.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-confirmed input:checked + label.option {
  background: rgba(16, 110, 253, 0.28);
  border-color: #106efd;
  color: #7eb8ff;
}

.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-packing input:checked + label.option {
  background: rgba(115, 115, 115, 0.3);
  border-color: #525252;
  color: #d4d4d4;
}

.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-shipped input:checked + label.option,
.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-delivered input:checked + label.option {
  background: rgba(15, 123, 58, 0.28);
  border-color: #0f7b3a;
  color: #7dcea0;
}

.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-problem input:checked + label.option {
  background: rgba(64, 64, 64, 0.35);
  border-color: #404040;
  color: #e5e5e5;
}

.views-exposed-form fieldset.axanar-status-filter .form-item--fo-status-returned input:checked + label.option {
  background: rgba(100, 116, 139, 0.3);
  border-color: #475569;
  color: #94a3b8;
}

.views-exposed-form__item .form-item__label {
  display: block;
  margin-block-end: 0.3rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gin-color-text-light);
  line-height: 1.2;
}

.views-exposed-form__item .form-text,
.views-exposed-form__item .form-element--type-text,
.views-exposed-form__item .form-select,
.views-exposed-form__item .form-element--type-select {
  width: 100%;
  min-height: 2.25rem;
  margin: 0;
  border-radius: 8px;
  font-size: 0.875rem;
}

.views-exposed-form__item .form-text::placeholder {
  color: var(--gin-color-text-light);
  opacity: 0.75;
}

.views-exposed-form__item--preceding-actions {
  margin-inline-end: 0;
}

.views-exposed-form__item--actions {
  margin-block: 0;
  align-self: flex-end;
  flex: 0 0 auto;
}

.views-exposed-form__item--actions .button,
.views-exposed-form__item--actions .form-submit {
  margin: 0;
  min-height: 2.25rem;
  padding-inline: 1.1rem;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: var(--gin-color-primary);
  border-color: var(--gin-color-primary);
  color: var(--gin-bg-layer, #fafafa);
}

.views-exposed-form__item--actions .button:hover,
.views-exposed-form__item--actions .form-submit:hover {
  background: var(--gin-color-primary-hover);
  border-color: var(--gin-color-primary-hover);
}

html.gin--dark-mode .views-exposed-form__item--actions .button,
html.gin--dark-mode .views-exposed-form__item--actions .form-submit {
  color: var(--carbon-950, #121212);
}

/* Embedded dashboard views — quiet instrument strip */
.axanar-dashboard__embedded-view .view-filters {
  margin-block: 0 0.75rem;
}

.axanar-dashboard__embedded-view .views-exposed-form.views-exposed-form {
  padding: 0.35rem 0;
  gap: 0.5rem 0.75rem;
  border: none;
  border-radius: 0;
  background: transparent;
  border-bottom: 1px solid color-mix(in srgb, var(--gin-border-color) 28%, transparent);
}

.axanar-dashboard__embedded-view .views-exposed-form__item .form-item__label {
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  opacity: 0.75;
}

.axanar-dashboard__embedded-view .views-exposed-form__item .form-text,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-element--type-text,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-select,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-element--type-select {
  min-height: 1.875rem;
  padding-inline: 0.15rem 0.35rem;
  font-size: 0.8125rem;
  border: none;
  border-bottom: 1px solid color-mix(in srgb, var(--gin-border-color) 45%, transparent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.axanar-dashboard__embedded-view .views-exposed-form__item .form-text:focus,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-element--type-text:focus,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-select:focus,
.axanar-dashboard__embedded-view .views-exposed-form__item .form-element--type-select:focus {
  border-bottom-color: color-mix(in srgb, var(--gin-color-text-light) 65%, transparent);
  outline: none;
  box-shadow: none;
}

.axanar-dashboard__embedded-view .views-exposed-form__item--actions .button,
.axanar-dashboard__embedded-view .views-exposed-form__item--actions .form-submit {
  min-height: 1.75rem;
  padding-inline: 0.65rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--gin-border-color) 45%, transparent);
  color: var(--gin-color-text-light);
}

.axanar-dashboard__embedded-view .views-exposed-form__item--actions .button:hover,
.axanar-dashboard__embedded-view .views-exposed-form__item--actions .form-submit:hover {
  background: color-mix(in srgb, var(--gin-bg-layer2) 50%, transparent);
  border-color: color-mix(in srgb, var(--gin-border-color) 65%, transparent);
  color: var(--gin-color-text);
}

html.gin--dark-mode .axanar-dashboard__embedded-view .views-exposed-form__item--actions .button,
html.gin--dark-mode .axanar-dashboard__embedded-view .views-exposed-form__item--actions .form-submit {
  color: var(--gin-color-text-light);
}

.axanar-dashboard__embedded-view fieldset.axanar-filter-checkboxes .form-type-checkbox label.option {
  padding: 0.18rem 0.45rem;
  font-size: 0.625rem;
  font-weight: 500;
  border-radius: 2px;
  border-color: color-mix(in srgb, var(--gin-border-color) 40%, transparent);
  background: transparent;
}

.axanar-dashboard__embedded-view fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox:checked + label.option {
  background: color-mix(in srgb, var(--gin-color-primary) 14%, transparent);
  border-color: color-mix(in srgb, var(--gin-border-color) 60%, transparent);
  color: var(--gin-color-text);
}

html.gin--dark-mode .axanar-dashboard__embedded-view fieldset.axanar-filter-checkboxes .form-type-checkbox input.form-checkbox:checked + label.option {
  color: var(--gin-color-text);
}

@media (max-width: 48rem) {
  .views-exposed-form.views-exposed-form {
    padding: 0.65rem 0.75rem;
  }

  .views-exposed-form__item.form-item--search,
  .views-exposed-form__item.form-item--title,
  .views-exposed-form__item.form-item--platform,
  .views-exposed-form__item.form-item--tier {
    flex: 1 1 100%;
    min-width: 0;
  }

  .views-exposed-form__item--actions {
    flex: 1 1 100%;
  }

  .views-exposed-form__item--actions .button,
  .views-exposed-form__item--actions .form-submit {
    width: 100%;
  }
}