
:root{
  --av3-navy:#0f172a;
  --av3-blue:#2563eb;
  --av3-cyan:#06b6d4;
  --av3-ink:#172033;
  --av3-muted:#5f6b7a;
  --av3-line:#e5eaf0;
  --av3-soft:#f6f8fc;
  --av3-white:#ffffff;
}
.aivhq-directory{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:50px 0 80px;color:var(--av3-ink)}
.aivhq-directory *{box-sizing:border-box}
.aivhq-dir-hero{text-align:center;max-width:820px;margin:0 auto 36px}
.aivhq-dir-kicker{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.14em;color:var(--av3-blue);margin-bottom:12px}
.aivhq-dir-hero h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}
.aivhq-dir-hero p{font-size:1.1rem;line-height:1.7;color:var(--av3-muted)}
.aivhq-dir-controls{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;padding:18px;background:var(--av3-soft);border:1px solid var(--av3-line);border-radius:20px}
.aivhq-dir-controls label{display:block;font-size:.75rem;font-weight:800;letter-spacing:.04em;margin-bottom:6px;color:#465166}
.aivhq-dir-controls input,.aivhq-dir-controls select{width:100%;height:48px;border:1px solid #d8dee8;border-radius:11px;background:white;padding:0 12px;color:var(--av3-ink)}
.aivhq-dir-status{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px;color:var(--av3-muted)}
#aivhq-clear-filters{background:none;border:0;color:var(--av3-blue);font-weight:800;cursor:pointer}
.aivhq-dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.aivhq-dir-card{display:flex;flex-direction:column;border:1px solid var(--av3-line);border-radius:20px;overflow:hidden;background:white;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:.2s ease}
.aivhq-dir-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,23,42,.09)}
.aivhq-dir-image img,.aivhq-dir-placeholder{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.aivhq-dir-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1d4ed8);text-decoration:none}
.aivhq-dir-placeholder span{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--av3-blue),var(--av3-cyan));color:white;font-weight:900;font-size:1.45rem}
.aivhq-dir-body{display:flex;flex-direction:column;flex:1;padding:22px}
.aivhq-dir-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}
.aivhq-dir-rating{font-weight:800;color:#a16207}
.aivhq-dir-category{font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:6px 9px;border-radius:999px;background:#eff6ff;color:var(--av3-blue)}
.aivhq-dir-card h3{font-size:1.35rem;margin:18px 0 8px}
.aivhq-dir-card h3 a{color:var(--av3-ink);text-decoration:none}
.aivhq-dir-card p{color:var(--av3-muted);line-height:1.6}
.aivhq-dir-facts{margin:8px 0 18px;padding:0}
.aivhq-dir-facts>div{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--av3-line)}
.aivhq-dir-facts dt{font-weight:800;font-size:.83rem}
.aivhq-dir-facts dd{margin:0;color:var(--av3-muted);font-size:.9rem}
.aivhq-dir-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.aivhq-dir-btn{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;padding:0 12px;text-align:center;text-decoration:none;font-weight:800;font-size:.9rem}
.aivhq-dir-btn-primary{background:var(--av3-blue);color:white}
.aivhq-dir-btn-secondary{border:1px solid var(--av3-line);color:var(--av3-ink);background:white}
.aivhq-no-results,.aivhq-dir-empty-initial{text-align:center;padding:50px 20px;border:1px dashed #cbd5e1;border-radius:18px;background:var(--av3-soft)}
.aivhq-dir-disclosure{margin-top:30px;padding:16px;border-left:4px solid var(--av3-cyan);background:#ecfeff;color:var(--av3-muted);font-size:.9rem}
.aivhq-dir-card[hidden]{display:none!important}
@media(max-width:1050px){
  .aivhq-dir-controls{grid-template-columns:repeat(2,1fr)}
  .aivhq-dir-search{grid-column:1/-1}
  .aivhq-dir-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .aivhq-directory{width:min(100% - 22px,1180px);padding-top:35px}
  .aivhq-dir-controls,.aivhq-dir-grid{grid-template-columns:1fr}
  .aivhq-dir-search{grid-column:auto}
  .aivhq-dir-actions{grid-template-columns:1fr}
}
