/*bloques principales*/
.rc-main { border-bottom:1px solid var(--line); }

.rc-block {
    display:grid; grid-template-columns:160px 1fr;
    gap:4rem; padding:5rem 2.5rem;
    border-bottom:1px solid var(--line);
    align-items:start; transition:background .25s;
}

.rc-block:last-child { border-bottom:none; }
.rc-block:hover { background:var(--light); }

.rc-block--alt { background:var(--light); }
.rc-block--alt:hover { background:var(--line); }

.rc-block-meta {
    display:flex; flex-direction:column; gap:.8rem; padding-top:.4rem;
}

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

.rc-tag-type {
    display:inline-block; font-family:var(--mono); font-size:.52rem;
    letter-spacing:.14em; text-transform:uppercase; color:var(--gray);
    border:1px solid var(--line); padding:.24rem .7rem; border-radius:100px;
    width:fit-content;
}

.rc-block-title {
    font-family:var(--fd); font-size:clamp(1.8rem,3.5vw,3rem);
    font-weight:800; letter-spacing:-.02em; line-height:1; margin-bottom:1.5rem;
}

.rc-block-desc {
    font-size:.9rem; font-weight:300; color:var(--gray); line-height:1.85;
    max-width:620px; margin-bottom:2.2rem;
}

.rc-block-actions { display:flex; gap:.7rem; flex-wrap:wrap; }

.rc-btn {
    display:inline-flex; align-items:center; gap:.6rem; padding:.8rem 1.8rem;
    background:var(--black); color:white; text-decoration:none;
    font-size:.58rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    cursor:none; transition:background .22s;
}

.rc-btn:hover { background:var(--orange); }

.rc-btn--proxima {
    background:transparent; color:var(--gray);
    border:1.5px solid var(--line); cursor:default; pointer-events:none;
}

.rc-btn--proxima i { font-size:.9rem; }

/*ejercicios*/
.rc-ejercicios {
    padding:5rem 2.5rem;
}

.rc-ej-hdr { margin-bottom:3rem; }

.rc-ej-label {
    font-family:var(--mono); font-size:.58rem; color:var(--orange);
    letter-spacing:.14em; text-transform:uppercase; display:block; margin-bottom:1rem;
}

.rc-ej-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:1rem;
}

.rc-ej-desc {
    font-size:.88rem; font-weight:300; color:var(--gray); line-height:1.75; max-width:520px;
}

.rc-ej-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:1px; background:var(--line); border:1px solid var(--line);
}

.rc-ej-btn {
    background:var(--bg); padding:2.4rem 2rem;
    display:flex; flex-direction:column; gap:.9rem;
    text-decoration:none; color:var(--black); cursor:none;
    transition:background .28s; position:relative; overflow:hidden;
}

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

.rc-ej-btn:not(.proxima):hover::after { width:100%; }
.rc-ej-btn:not(.proxima):hover { background:var(--black); color:white; }

.rc-ej-btn.proxima { opacity:.55; pointer-events:none; }

.rc-ej-btn i { font-size:1.5rem; color:var(--orange); }

.rc-ej-btn-name {
    font-family:var(--fd); font-size:1.05rem; font-weight:700; letter-spacing:-.01em;
}

.rc-ej-btn-sub {
    font-family:var(--mono); font-size:.54rem; letter-spacing:.12em;
    text-transform:uppercase; color:var(--gray);
}

/*responsive*/
@media (max-width:900px) {
    .rc-block { grid-template-columns:1fr; gap:1.2rem; padding:3.5rem 1.4rem; }
    .rc-block-meta { flex-direction:row; align-items:center; }
    .rc-ejercicios { padding:3.5rem 1.4rem; }
    .rc-ej-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:764px) {
    .rc-ej-grid { grid-template-columns:1fr; }
    .rc-block-title { font-size:clamp(1.6rem,7vw,2.2rem); }
}
