@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');


/* Reset */
*,
*::before,
*::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

/* Wrapper */
.hgi-wrapper{
    color:var(--ink);
    font-family:var(--font-body);
    font-size:15px;
    line-height:1.6;
}

/* ================= HEADER ================= */

.hgi-page-header{
    max-width:80rem;
    margin:0 auto 1.5rem;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:2rem;
    flex-wrap:wrap;
}

.hgi-header-left h2{
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin-top: 1rem;
}

.hgi-count{
    color:var(--brand);
    font-family:var(--font-mono);
    background:none;
    border:none;
    padding:0;
}

.hgi-header-left p{
   margin-top: .5rem;
    max-width: 75ch;
    color: var(--muted-foreground);
    line-height: 1.6
}

/* ================= CONTROLS ================= */

.hgi-controls{
    display:flex;
    align-items:center;
    gap:.5rem;
    flex-shrink:0;
    margin-top:.25rem;
    flex-wrap:wrap;
}

.hgi-search-input{
    min-width:130px;
    color:var(--ink);
    border:1px solid var(--border);
    border-radius:.45rem;
    padding:.55rem .9rem;
    font-size:.83rem;
    font-family:var(--font-body);
    outline:none;
    transition:border-color .15s;
}

.hgi-search-input::placeholder{
    color:var(--muted-foreground);
}

.hgi-search-input:hover,
.hgi-search-input:focus{
    border-color:var(--brand);
}

.hgi-select-wrap{
    position:relative;
}

.hgi-select-wrap select{
    appearance:none;
    -webkit-appearance:none;
    border:1px solid var(--border);
    border-radius:.45rem;

    padding:.55rem 2.2rem .55rem .9rem;

    font-size:.83rem;
    font-family:var(--font-body);
    cursor:pointer;
    outline:none;
    transition:border-color .15s;
    min-width:110px;
}

.hgi-select-wrap select:hover,
.hgi-select-wrap select:focus{
    border-color:var(--brand);
}

.hgi-select-wrap::after{
    content:"▾";
    position:absolute;
    right:.7rem;
    top:50%;
    transform:translateY(-50%);
    font-size:.7rem;
    color:var(--muted-foreground);
    pointer-events:none;
}

/* ================= GRID ================= */

.hgi-cards-grid{
    max-width:80rem;
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:.9rem;
}

@media (max-width:1100px){
    .hgi-cards-grid{
        grid-template-columns:repeat(4,1fr);
    }
}

@media (max-width:820px){
    .hgi-cards-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media (max-width:540px){
    .hgi-cards-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .hgi-page-header{
        flex-direction:column;
    }

    .hgi-controls{
        width:100%;
    }

    .hgi-search-input{
        width:100%;
    }
}

/* ================= CARD ================= */

.hgi-int-card{
/*     background:var(--card); */
    background:#141414;
    border-radius:.75rem;
    padding:1.1rem 1rem 1rem;

    display:flex;
    flex-direction:column;
    align-items:flex-start;

    transition:
        transform .15s,
        box-shadow .15s,
        border-color .15s;
}

.hgi-int-card:hover{
    transform:translateY(-3px);
    border-color:oklch(42% .012 250);
    box-shadow:0 12px 28px -8px rgba(0,0,0,.55);
}

.hgi-card-eyebrow{
    font-family:var(--font-mono);
    font-size:.67rem;
    font-weight:500;
    color:var(--muted-foreground);
    letter-spacing:.04em;
    margin-bottom:.8rem;
}

.hgi-card-logo,
.hgi-card-logo-empty{
    width:52px;
    height:52px;
    border-radius:.5rem;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:.85rem;
    overflow:hidden;
    flex-shrink:0;
}

.hgi-card-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.hgi-card-name{
    font-size:20px;
    font-weight:600;
    line-height:1.2;
    color:#fff;
    margin-bottom:.2rem;
   margin:0 auto;
}

.hgi-card-type{
    font-size:.77rem;
    color: #D8D8D8;
    margin-top: 17px !important;
     margin:0 auto;
}

.hgi-card-subtype{
    font-size:.77rem;
    color: #D8D8D8;
     margin:0 auto;
}

/* Empty */

.hgi-empty{
    grid-column:1/-1;
    text-align:center;
    padding:3rem 1rem;
    color:var(--ink-soft);
}