/* Advanced Search (new design). Builds on css/kh-list.css; everything is scoped under .kh-adv. */

/* The keyword lives in the hero search box; keep the field in the filter form (so it is still submitted) but hide it. */
.kh-adv .kh-list-filters .form-item-auto-aggregated-fulltext-field { display: none !important; }

/* Filter card: Olivero floats form items and sizes text inputs; make every control span the card. */
.kh-adv .kh-list-filters .form-item { float: none !important; width: 100% !important; box-sizing: border-box; }
.kh-adv .kh-list-filters .form-item__label {
  display: block; margin-bottom: 0.5rem; font-size: 0.875rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ink);
}
/* Selects never grow past the filter card; long labels are cut with an ellipsis (see js/kh-advanced-search.js). */
.kh-adv .kh-list-filters select {
  width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kh-adv .kh-list-filters .form-actions { display: flex; gap: 0.5rem; }
.kh-adv .kh-list-filters .form-actions input[type="submit"] { width: 100%; }

/* Result cards (markup from views-view-fields--advanced-search.html.twig). */
.kh-adv .kh-adv-results { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.kh-adv .kh-adv-results .views-row { margin: 0; padding: 0; border: 0; }
.kh-adv .sr-card {
  position: relative; overflow: hidden; margin: 0; padding: 0;
  background: var(--card); border: 1px solid var(--border); border-left: 1px solid var(--border); border-radius: 1rem;
  box-shadow: var(--shadow-card); transition: transform 0.2s, box-shadow 0.2s;
}
.kh-adv .sr-card::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--leaf); opacity: 0; transition: opacity 0.2s;
}
.kh-adv .sr-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.kh-adv .sr-card:hover::before { opacity: 1; }
.kh-adv .sr-card-inner { padding: 1.5rem 1.75rem; }
.kh-adv .sr-card-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.kh-adv .sr-type-badge {
  display: inline-block; padding: 0.25rem 0.75rem; border: 0; border-radius: 9999px;
  background: var(--leaf-soft); color: var(--ink); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.kh-adv .sr-card-title { margin: 0; font-size: 1.125rem; font-weight: 600; line-height: 1.4; }
.kh-adv .sr-card-title a { color: var(--ink); text-decoration: none; transition: color 0.2s; }
.kh-adv .sr-card:hover .sr-card-title a, .kh-adv .sr-card-title a:hover { color: var(--signal); }
.kh-adv .sr-card-snippet {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
  margin: 0.75rem 0 0; color: var(--muted-foreground); font-size: 0.875rem; line-height: 1.65;
}
.kh-adv .sr-card-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--border);
}
.kh-adv .sr-card-meta { color: var(--muted-foreground); font-size: 0.75rem; }
.kh-adv .sr-card-action a {
  display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 1rem; border-radius: 9999px;
  background: var(--ink); color: var(--ink-foreground); font-size: 0.8125rem; font-weight: 600; text-decoration: none; transition: background 0.2s, color 0.2s;
}
.kh-adv .sr-card-action a:hover { background: var(--leaf); color: var(--ink); }

/* Empty state */
.kh-adv .kh-adv-empty {
  margin-top: 1.5rem; padding: 3.5rem 1.5rem; text-align: center;
  background: var(--card); border: 1px dashed var(--input); border-radius: 1rem; color: var(--muted-foreground);
}
.kh-adv .kh-adv-empty svg { color: var(--leaf); }
.kh-adv .kh-adv-empty h2 { margin: 1rem 0 0.25rem; color: var(--ink); font-size: 1.25rem; font-weight: 600; }
.kh-adv .kh-adv-empty p { margin: 0; font-size: 0.9375rem; }

/* The old result-count bar is empty on this page; avoid a blank strip. */
.kh-adv .kh-adv-bar:empty { display: none; }

@media (max-width: 575.98px) {
  .kh-adv .sr-card-inner { padding: 1.25rem; }
  .kh-adv .sr-card-footer { flex-wrap: wrap; }
}
