/* =========================================================================
   3CWeb — Recursos (lead magnets). Prefijo .recurso- para no tocar el
   sistema de diseño general. Reutiliza .campo/.form-msg/.hp/.btn de
   style.css y .blog-card__cat/.herr-grid de blog.css/herramientas.css.
   ========================================================================= */

/* ---------- Listado ---------- */
.recursos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.recurso-card {
    display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--gris-linea);
    border-radius: var(--radio-lg); background: var(--blanco); transition: transform .3s, box-shadow .3s, border-color .3s;
}
.recurso-card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -36px rgba(0,0,0,.3); border-color: transparent; }
.recurso-card__cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.recurso-card__cab .blog-card__cat { margin-bottom: 0; }
.recurso-card__paginas { font-size: .78rem; font-weight: 600; color: var(--texto-mute); white-space: nowrap; }
.recurso-card__icono { width: 26px; height: 26px; margin-bottom: 14px; animation: blog-filtro-arcoiris 5s linear infinite; }
.recurso-card__icono svg { width: 100%; height: 100%; display: block; }
@media (prefers-reduced-motion: reduce) { .recurso-card__icono { animation: none; } }
.recurso-card h3 { font-size: 1.15rem; font-weight: 600; line-height: 1.35; margin: 0 0 10px; }
/* En el listado (recursos.php) el título de cada tarjeta es <h2> (el h1 de
   la página no debe saltar directo a <h3>); en "otros recursos" sigue
   siendo <h3>, nesteado bajo su propio <h2>, así que no se toca esa regla. */
.recurso-card h2 { font-size: 1.15rem; font-weight: 600; line-height: 1.35; margin: 0 0 10px; }
.recurso-card p { color: var(--texto-mute); font-size: .92rem; line-height: 1.55; margin: 0 0 16px; }
.recurso-card__check { display: grid; gap: 8px; margin: 0 0 20px; }
.recurso-card__check li { display: flex; align-items: flex-start; gap: 10px; font-size: .85rem; line-height: 1.4; color: var(--negro); }
.recurso-card__check .ck {
    flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; margin-top: 1px;
    background: var(--cat-color, var(--acento)); color: var(--acento-contraste);
    display: grid; place-items: center; font-weight: 800; font-size: .6rem;
}
/* Botón con degradado en movimiento del color de categoría (mismo lenguaje
   que .btn--arcoiris, pero a partir de --cat-color, que ya está en la
   tarjeta) y siempre con letra blanca: los colores de recursos son lo
   bastante saturados para leerse bien, sin depender del contexto de
   categoría a nivel de <body> del que depende .btn--arcoiris. */
.recurso-card__link {
    margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 22px; border-radius: var(--radio-pill); font-weight: 700; font-size: .88rem;
    color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.35);
    background-image: linear-gradient(90deg,
        color-mix(in srgb, var(--cat-color, var(--acento)) 55%, #000),
        var(--cat-color, var(--acento)),
        color-mix(in srgb, var(--cat-color, var(--acento)) 70%, #000),
        var(--cat-color, var(--acento)),
        color-mix(in srgb, var(--cat-color, var(--acento)) 55%, #000));
    background-size: 200% 100%; background-position: 0% 0;
    box-shadow: 0 10px 26px -12px rgba(0,0,0,.4);
    transition: transform .3s cubic-bezier(.2,.8,.2,1), background-position .6s var(--ease), box-shadow .3s ease;
}
.recurso-card:hover .recurso-card__link { transform: translateY(-2px); background-position: 100% 0; box-shadow: 0 16px 34px -12px rgba(0,0,0,.55); }
@media (max-width: 980px) { .recursos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .recursos-grid { grid-template-columns: 1fr; } }

/* ---------- Ficha de recurso: descripción + formulario ---------- */
.recurso-layout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; margin-bottom: 56px; }
.recurso-info h2 { font-size: 1.3rem; font-weight: 700; margin: 0 0 18px; }
.recurso-meta { font-weight: 700; margin: 18px 0 10px; }

.recurso-form-caja {
    position: sticky; top: 100px; border: 1px solid var(--gris-linea); border-radius: var(--radio-lg);
    background: var(--crema); padding: clamp(22px, 3vw, 32px);
}
.recurso-form-caja h3 { font-size: 1.15rem; font-weight: 700; margin: 0 0 8px; }
.recurso-form-caja > p { color: var(--texto-mute); font-size: .9rem; margin: 0 0 18px; }
.recurso-form-caja .campo { margin-bottom: 14px; }
.recurso-form__legal { font-size: .76rem; color: var(--texto-mute); margin: 14px 0 0; line-height: 1.5; }
.recurso-form__legal a { color: inherit; text-decoration: underline; }

@media (max-width: 860px) {
    .recurso-layout { grid-template-columns: 1fr; }
    .recurso-form-caja { position: static; }
}

.mute { color: var(--texto-mute); font-size: .9rem; line-height: 1.6; }

/* ---------- "Otros recursos gratis" (pie de ficha) ---------- */
.recurso-relacionados { max-width: 1100px; margin: 70px auto 0; padding-top: 50px; border-top: 1px solid var(--gris-linea); }
