/* =========================================================
   ArmorPlus Wiki - Materials Index
   ========================================================= */

.materials-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.material-family-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1rem;
    color: inherit;
    background: linear-gradient(145deg, #15152d, #101020);
    border: 1px solid rgba(114, 137, 218, 0.18);
    border-radius: 9px;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.material-family-card:link,
.material-family-card:visited,
.material-family-card:hover,
.material-family-card:active {
    color: inherit;
    text-decoration: none;
}

.material-family-card:hover {
    background: linear-gradient(145deg, #191933, #121225);
    border-color: rgba(114, 137, 218, 0.55);
    box-shadow: 0 0 14px rgba(114, 137, 218, 0.12);
    transform: translateY(-2px);
}

.material-family-card:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.material-family-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    box-sizing: border-box;
    overflow: hidden;
    background: #080812;
    border: 1px solid #303055;
    border-radius: 9px;
}

.material-family-icon img,
.material-family-icon .material-sprite {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
    image-rendering: pixelated;
}

.material-family-icon .material-sprite {
    background-repeat: no-repeat;
    background-position: center top;
}

.material-family-info {
    min-width: 0;
}

.material-family-type {
    display: block;
    margin-bottom: 0.4rem;
    color: #8195e5;
    font-family: var(--font-accent);
    font-size: 0.55rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.wiki-article .material-family-card h3 {
    margin: 0 0 0.45rem;
    padding: 0;
    color: #c6d2ff;
    border: 0;
    font-family: var(--font-accent);
    font-size: 0.82rem;
    line-height: 1.5;
}

.wiki-article .material-family-card p {
    margin: 0;
    color: #aeb0c0;
    font-size: 0.82rem;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .materials-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .material-family-card {
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .material-family-icon {
        width: 60px;
        height: 60px;
    }

    .material-family-icon img,
    .material-family-icon .material-sprite {
        width: 46px;
        height: 46px;
    }
}

/* Unified Items master: readable fallback when a texture is unavailable. */
.wiki-texture-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    color: #c6d2ff;
    background: #121225;
    border: 1px solid rgba(114, 137, 218, 0.35);
    border-radius: 6px;
    font-family: var(--font-accent);
    font-size: 1.15rem;
    line-height: 1;
}

.material-family-card .registry-id {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.65rem;
    color: #8f93ad;
    font-size: 0.72rem;
}

.material-family-card .registry-id strong {
    color: #8195e5;
    font-family: var(--font-accent);
    font-size: 0.52rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.material-family-card > .registry-id { grid-column: 1 / -1; }

/* Static-first animated infused materials: works even when JavaScript is disabled. */
.css-sprite-5 { background-repeat:no-repeat; background-position:center 0; background-size:100% 500%; animation:armorplus-sprite-5 .75s steps(1,end) infinite; image-rendering:pixelated; }
@keyframes armorplus-sprite-5 { 0%,19.999%{background-position:center 0%} 20%,39.999%{background-position:center 25%} 40%,59.999%{background-position:center 50%} 60%,79.999%{background-position:center 75%} 80%,100%{background-position:center 100%} }
@media (prefers-reduced-motion:reduce){.css-sprite-5{animation:none}}
