/*categorias*/
.dl-cats { border-bottom:1px solid var(--line); }

.dl-cat {
    padding:5rem 2.5rem; border-bottom:1px solid var(--line);
}

.dl-cat:last-child { border-bottom:none; }

.dl-cat-hdr {
    display:grid; grid-template-columns:80px 1fr;
    gap:2.5rem; align-items:start; margin-bottom:3rem;
}

.dl-cat-num {
    font-family:var(--mono); font-size:.58rem; color:var(--orange);
    letter-spacing:.14em; text-transform:uppercase; padding-top:.45rem;
}

.dl-cat-title {
    font-family:var(--fd); font-size:clamp(1.8rem,3.5vw,2.8rem);
    font-weight:800; letter-spacing:-.02em; line-height:1; margin-bottom:.6rem;
}

.dl-cat-sub {
    font-size:.85rem; font-weight:300; color:var(--gray); line-height:1.7;
}

/*grid de cards*/
.dl-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:1px; background:var(--line); border:1px solid var(--line);
}

.dl-card {
    background:var(--bg); padding:2.6rem 2.4rem;
    display:flex; flex-direction:column; gap:1.1rem;
    transition:background .25s; position:relative; overflow:hidden;
}

.dl-card::after {
    content:''; position:absolute; bottom:0; left:0;
    width:0; height:3px; background:var(--orange); transition:width .4s;
}

.dl-card:not(.proxima):hover::after { width:100%; }
.dl-card:not(.proxima):hover { background:var(--light); }

.dl-card.proxima { opacity:.55; }

.dl-type {
    font-family:var(--mono); font-size:.56rem; letter-spacing:.14em;
    text-transform:uppercase; color:var(--orange);
    display:flex; align-items:center; gap:.6rem;
}

.dl-type i { font-size:1.1rem; }

.dl-type-badge {
    background:var(--light);
    color:var(--black);
    border:1px solid var(--line);
    padding:.16rem .55rem; 
    font-size:.5rem; 
    letter-spacing:.12em;
}

.dl-title {
    font-family:var(--fd); font-size:1.05rem; font-weight:800;
    letter-spacing:-.01em; line-height:1.1;
}

.dl-desc {
    font-size:.8rem; font-weight:300; color:var(--gray); line-height:1.7; flex:1;
}

.dl-proxima-tag {
    font-family:var(--mono); font-size:.55rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gray); border:1px solid var(--line); padding:.3rem .75rem;
    width:fit-content; display:flex; align-items:center; gap:.5rem;
}

.dl-proxima-tag i { font-size:.8rem; }

.dl-btn {
    display:inline-flex; align-items:center; gap:.6rem; padding:.75rem 1.3rem;
    border:1.5px solid var(--black); font-size:.58rem; font-weight:600;
    letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
    color:var(--black); cursor:none; transition:all .2s; width:fit-content;
}

.dl-btn:hover { background:var(--orange); border-color:var(--orange); color:white; }
.dl-btn i { font-size:.9rem; }

/*responsive*/
@media (max-width:900px) {
    .dl-cat { padding:3.5rem 1.4rem; }
    .dl-cat-hdr { grid-template-columns:1fr; gap:.7rem; margin-bottom:2rem; }
    .dl-cat-num { padding-top:0; }
    .dl-cat-title { font-size:clamp(1.6rem,7vw,2.4rem); }
    .dl-grid { grid-template-columns:repeat(2,1fr); }
}

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