
/* =========================================
   AMA - Popular Arcade Machine Categories
   Scoped Namespace: ama-cat-v1
   ========================================= */

.ama-cat-v1{
    --ama-cat-accent:#e8452c;
    --ama-cat-ink:#1a1a1a;
    --ama-cat-muted:#666;
    --ama-cat-border:#eeeeee;
    --ama-cat-bg:#ffffff;

    max-width:1200px;
    margin:56px auto;
    padding:0 16px;
    box-sizing:border-box;
}

/* Section Title */
.ama-cat-v1 .ama-cat-title{
    margin:0;
    font-size:clamp(22px,3vw,30px);
    font-weight:700;
    line-height:1.25;
    color:var(--ama-cat-ink);
}

/* Section Description */
.ama-cat-v1 .ama-cat-subtitle{
    margin:1.5em 0 24px;
    max-width:760px;
    font-size:clamp(13px,1.4vw,15px);
    line-height:1.6;
    color:var(--ama-cat-muted);
}

/* Category Grid */
.ama-cat-v1 .ama-cat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

/* Category Card */
.ama-cat-v1 .ama-cat-item{
    display:block;
    text-decoration:none;
    color:inherit;
    background:var(--ama-cat-bg);
    border:1px solid var(--ama-cat-border);
    border-radius:12px;
    overflow:hidden;
    box-sizing:border-box;

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

/* Hover */
.ama-cat-v1 .ama-cat-item:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    border-color:#e5e5e5;
}

/* Image Area */
.ama-cat-v1 .ama-cat-media{
    aspect-ratio:4 / 3;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:linear-gradient(
        135deg,
        #fdf0ec,
        #ffe9e3
    );
}

/* Images */
.ama-cat-v1 .ama-cat-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s ease;
}

/* Slight image zoom */
.ama-cat-v1 .ama-cat-item:hover .ama-cat-media img{
    transform:scale(1.03);
}

/* Card Content */
.ama-cat-v1 .ama-cat-body{
    padding:10px 12px 12px;
}

/* Card Title */
.ama-cat-v1 .ama-cat-name{
    margin:0;
    font-size:15px;
    line-height:1.3;
    font-weight:700;
    color:var(--ama-cat-ink);
}

/* Card Description */
.ama-cat-v1 .ama-cat-description{
    margin:5px 0 0;
    font-size:12.5px;
    line-height:1.5;
    color:var(--ama-cat-muted);
}

/* View All */
.ama-cat-v1 .ama-cat-all{
    display:inline-block;
    margin-top:24px;
    font-size:14px;
    font-weight:600;
    color:var(--ama-cat-accent);
    text-decoration:none;
    border-bottom:2px solid currentColor;
    padding-bottom:2px;
    transition:opacity .2s ease;
}

.ama-cat-v1 .ama-cat-all:hover{
    opacity:.75;
}

/* Keyboard Accessibility */
.ama-cat-v1 .ama-cat-item:focus-visible,
.ama-cat-v1 .ama-cat-all:focus-visible{
    outline:2px solid var(--ama-cat-accent);
    outline-offset:3px;
}

/* Tablet */
@media (max-width:960px){

    .ama-cat-v1 .ama-cat-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */
@media (max-width:480px){

    .ama-cat-v1{
        margin:40px auto;
        padding:0 15px;
    }

    .ama-cat-v1 .ama-cat-grid{
        gap:14px;
    }

    .ama-cat-v1 .ama-cat-body{
        padding:12px 12px 14px;
    }

    .ama-cat-v1 .ama-cat-name{
        font-size:14px;
        line-height:1.4;
    }

    .ama-cat-v1 .ama-cat-description{
        font-size:12px;
        line-height:1.55;
    }

}

/* Reduce Motion */
@media (prefers-reduced-motion:reduce){

    .ama-cat-v1 .ama-cat-item,
    .ama-cat-v1 .ama-cat-media img,
    .ama-cat-v1 .ama-cat-all{
        transition:none;
    }

}
