/**
 * Game Hubs front styles.
 * Prefix: pokehub-game-hub-*
 */

.pokehub-game-hub {
    --pokehub-game-hub-card-bg: var(--me5rine-lab-surface, #fff);
    --pokehub-game-hub-card-border: var(--me5rine-lab-border, #e2e8f0);
    --pokehub-game-hub-gap: var(--me5rine-lab-gap, 1rem);
    --pokehub-game-hub-radius: var(--me5rine-lab-radius, 8px);
}

.pokehub-game-hub-header {
    margin-bottom: calc(var(--pokehub-game-hub-gap) * 1.5);
}

.pokehub-game-hub-header__identity {
    display: flex;
    gap: var(--pokehub-game-hub-gap);
    align-items: flex-start;
}

.pokehub-game-hub-header__banner {
    width: 4rem;
    height: 4rem;
    border-radius: var(--pokehub-game-hub-radius);
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.pokehub-game-hub-quick-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
}

.pokehub-game-hub-quick-links__link {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--pokehub-game-hub-card-border);
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.875rem;
}

.pokehub-game-hub-layout {
    display: block;
}

/*
 * Game navigation is now the Me5rine LAB Navigation Core context bar
 * (`.me5rine-nav`, class `pokehub-game-hub-nav`), rendered above the main
 * content — see modules/navigation (me5rine-lab) assets/css/me5rine-nav.css.
 */
.pokehub-game-hub-nav {
    margin-bottom: calc(var(--pokehub-game-hub-gap) * 1.5);
}

.pokehub-game-hub-section {
    margin-bottom: calc(var(--pokehub-game-hub-gap) * 2);
}

.pokehub-game-hub-section__title {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
}

.pokehub-game-hub-grid {
    display: grid;
    gap: var(--pokehub-game-hub-gap);
}

.pokehub-game-hub-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pokehub-game-hub-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pokehub-game-hub-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pokehub-game-hub-card {
    position: relative;
    background: var(--pokehub-game-hub-card-bg);
    border: 1px solid var(--pokehub-game-hub-card-border);
    border-radius: var(--pokehub-game-hub-radius);
}

.pokehub-game-hub-card__link {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    text-decoration: none;
    color: inherit;
    min-height: 100%;
}

.pokehub-game-hub-card__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.pokehub-game-hub-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.pokehub-game-hub-card__title {
    font-weight: 600;
}

.pokehub-game-hub-card__subtitle {
    font-size: 0.875rem;
    opacity: 0.85;
}

.pokehub-game-hub-card__badge {
    font-size: 0.75rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    background: var(--me5rine-lab-muted, #f1f5f9);
}

.pokehub-game-hub-card__favorite {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    width: 1.75rem;
    height: 1.75rem;
    opacity: 0.6;
}

@media (max-width: 900px) {
    .pokehub-game-hub-grid--cols-3,
    .pokehub-game-hub-grid--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .pokehub-game-hub-grid--cols-2,
    .pokehub-game-hub-grid--cols-3,
    .pokehub-game-hub-grid--cols-4 {
        grid-template-columns: 1fr;
    }
}

.pokehub-game-hub-widgets {
    display: grid;
    gap: var(--pokehub-game-hub-gap);
    margin-bottom: var(--pokehub-game-hub-gap);
}

.pokehub-game-hub-widget--full {
    grid-column: 1 / -1;
}

.pokehub-game-hub-admin-diagnostics .is-error { color: #b32d2e; }
.pokehub-game-hub-admin-diagnostics .is-warning { color: #996800; }
.pokehub-game-hub-admin-diagnostics .is-info { color: #50575e; }
