/* Listado de categorÃ­as y productos */

#category-dynamic-content{
    transition:opacity .15s ease;
}

#category-dynamic-content[aria-busy="true"]{
    opacity:.55;
    pointer-events:none;
}

.category-header{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:24px;
    margin-bottom:30px;
    padding-bottom:22px;
    border-bottom:1px solid var(--line);
}

.category-header .eyebrow{
    margin-bottom:7px;
    color:var(--accent-dark);
}

.category-header h1{
    margin:0;
    color:var(--navy);
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.05;
    letter-spacing:-.045em;
}

.category-header p:not(.eyebrow){
    margin:9px 0 0;
    color:var(--muted);
}

.page-status{
    white-space:nowrap;
    font-size:.8rem;
    font-weight:800;
}

.model-filters{
    margin:-10px 0 30px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#f7f8fa;
    box-shadow:0 5px 16px rgba(16,42,67,.045);
}

.model-filters-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:12px;
}

.model-filters-heading h2{
    margin:0;
    color:var(--navy);
    font-size:1.02rem;
}

.model-filters-heading p{
    margin:3px 0 0;
    color:var(--muted);
    font-size:.78rem;
}

.model-filters-clear{
    flex:0 0 auto;
    color:var(--accent-dark);
    font-size:.76rem;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}

.model-filters-form{
    display:grid;
    grid-template-columns:repeat(3,minmax(135px,1fr)) auto;
    align-items:end;
    gap:10px;
    transition:opacity .15s ease;
}

.model-filters-form[aria-busy="true"]{
    opacity:.58;
    pointer-events:none;
}

.model-filters-form label{
    display:grid;
    gap:5px;
    min-width:0;
}

.model-filters-form label>span{
    color:var(--navy);
    font-size:.69rem;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.model-filters-form select{
    width:100%;
    height:40px;
    padding:0 34px 0 11px;
    border:1px solid #c9d1d9;
    border-radius:7px;
    color:var(--navy);
    background:#fff;
    font:inherit;
    font-size:.82rem;
}

.model-filters-form select:focus{
    border-color:var(--accent-dark);
    outline:2px solid rgba(205,164,52,.2);
    outline-offset:1px;
}

.model-filters-form button{
    height:40px;
    padding:0 20px;
    border:0;
    border-radius:7px;
    color:var(--accent-ink);
    background:var(--accent);
    font:inherit;
    font-size:.8rem;
    font-weight:900;
    cursor:pointer;
}

.model-filters-form button:hover{
    filter:brightness(.96);
}

.category-products{
    grid-template-columns:repeat(3,1fr);
}

.category-products .product-info h2{
    min-height:3em;
    margin:0;
    color:var(--navy);
    font-size:.98rem;
    line-height:1.45;
}

.product-price-pending{
    color:var(--muted);
    font-size:.82rem;
}

.pagination{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:38px;
}

.pagination a{
    display:grid;
    place-items:center;
    min-width:38px;
    height:38px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:7px;
    color:var(--navy);
    background:#fff;
    font-size:.82rem;
    font-weight:800;
}

.pagination a:hover,
.pagination a.active{
    color:var(--accent-ink);
    border-color:var(--accent);
    background:var(--accent);
}

@media(max-width:980px){
    .category-content{
        padding:28px min(4vw,30px) 50px;
        border-radius:0;
    }

    .category-products{
        grid-template-columns:repeat(2,1fr);
    }
}

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

    .model-filters-form button{
        align-self:end;
    }
}

@media(max-width:620px){
    .category-header{
        align-items:start;
        flex-direction:column;
    }

    .category-products,
    .shop-content .category-products{
        grid-template-columns:1fr;
    }

    .model-filters{
        padding:14px;
    }

    .model-filters-heading{
        align-items:flex-start;
    }

    .model-filters-form{
        grid-template-columns:1fr;
    }

    .model-filters-form button{
        width:100%;
    }
}

.subcategory-section{
    margin:-8px 0 34px;
    padding-bottom:30px;
    border-bottom:1px solid var(--line);
}

.subcategory-section h2{
    margin:0 0 14px;
    color:var(--navy);
    font-size:1.15rem;
}

.subcategory-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.subcategory-card{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:94px;
    padding:13px 15px;
    border:1px solid var(--line);
    border-radius:9px;
    color:var(--navy);
    background:#fff;
    font-size:.92rem;
    font-weight:800;
    transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.subcategory-card-icon{
    display:grid;
    order:2;
    flex:0 0 72px;
    width:72px;
    height:72px;
    place-items:center;
}

.subcategory-card-icon img{
    display:block;
    width:72px;
    height:72px;
    object-fit:contain;
}

.subcategory-card-copy{
    display:flex;
    order:1;
    min-width:0;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
}

.subcategory-card:hover{
    border-color:#d8b85a;
    transform:translateY(-2px);
    box-shadow:0 6px 18px rgba(16,42,67,.08);
}

.subcategory-card small{
    color:var(--muted);
    font-size:.75rem;
    font-weight:700;
    white-space:nowrap;
}

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

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

.category-description{
    max-width:760px;
    margin:12px 0 8px;
    color:var(--ink);
    font-size:1rem;
    line-height:1.65;
}

.category-result-count{
    margin:8px 0 0;
    color:var(--muted);
    font-size:.86rem;
}
