/* Estilos complementarios para la biblioteca de recursos */
.resources-hero { background:linear-gradient(145deg,rgba(27,125,60,.08),rgba(6,49,24,.1)); padding:5rem 0 4rem; }
.resources-hero-inner { display:grid; gap:3rem; align-items:center; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.resources-hero-copy h1 { font-size:2.6rem; line-height:1.12; margin:1rem 0; }
.resources-hero-copy p { font-size:1.05rem; max-width:560px; }
.resources-hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.1rem; }
.resources-hero-summary { display:grid; gap:1.1rem; }
.resources-hero-card { display:flex; gap:1rem; align-items:flex-start; background:var(--color-bg); border:1px solid rgba(6,49,24,.08); border-radius:var(--radius-lg); padding:1.4rem 1.6rem; box-shadow:var(--shadow-sm); }
.resources-hero-card-icon { font-size:1.8rem; line-height:1; }
.resources-hero-card h3 { margin:0 0 .35rem; font-size:1.1rem; }
.resources-hero-card p { margin:0; font-size:.9rem; color:var(--color-text-light); }

.resources-library { padding:4.5rem 0; background:var(--color-bg); }
.resources-toolbar { display:flex; justify-content:space-between; gap:1.6rem; align-items:flex-start; flex-wrap:wrap; }
.resources-toolbar h2 { margin:0 0 .4rem; }
.resources-toolbar p { margin:0; max-width:560px; color:var(--color-text-light); }
.resources-count { display:inline-flex; align-items:center; gap:.4rem; background:rgba(27,125,60,.12); color:var(--color-primary); padding:.45rem .9rem; border-radius:999px; font-weight:600; font-size:.9rem; }
.resources-count strong { font-size:1.1rem; }

.resource-filters { display:flex; flex-wrap:wrap; gap:.6rem; margin:2rem 0 2.2rem; }
.resource-chip { padding:.55rem 1.05rem; border-radius:999px; border:1px solid var(--color-border); background:var(--color-bg-alt); cursor:pointer; font-weight:600; font-size:.9rem; transition:var(--transition); }
.resource-chip:hover,
.resource-chip:focus-visible { border-color:var(--color-primary); color:var(--color-primary); outline:none; }
.resource-chip.active { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }

.resource-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.resource-card { background:var(--color-bg); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.8rem; display:flex; flex-direction:column; gap:1.2rem; box-shadow:var(--shadow-sm); transition:var(--transition); position:relative; }
.resource-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.resource-card.is-hidden { display:none; }

.resource-card-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.resource-icon { width:52px; height:52px; border-radius:16px; background:linear-gradient(145deg,rgba(27,125,60,.14),rgba(6,49,24,.08)); display:grid; place-items:center; color:var(--color-primary); flex-shrink:0; }
.resource-icon svg { width:26px; height:26px; fill:currentColor; }
.resource-pill { background:rgba(6,49,24,.08); color:var(--color-text-light); padding:.35rem .7rem; border-radius:999px; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.resource-card-body h3 { margin:0 0 .4rem; font-size:1.15rem; }
.resource-card-body p { margin:0; font-size:.95rem; color:var(--color-text); }
.resource-meta { display:flex; gap:.6rem; list-style:none; padding:0; margin:.2rem 0 0; font-size:.75rem; text-transform:uppercase; letter-spacing:.4px; color:var(--color-text-light); }
.resource-card-footer { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.resource-preview { font-weight:600; color:var(--color-primary); }
.resource-preview:hover,
.resource-preview:focus-visible { text-decoration:underline; outline:none; }

.resources-empty { margin-top:2rem; font-size:.95rem; color:var(--color-text-light); text-align:center; }

@media (max-width: 960px) {
  .resources-hero-inner { grid-template-columns:1fr; }
  .resources-hero-copy h1 { font-size:2.3rem; }
}

@media (max-width: 720px) {
  .resources-hero { padding:4rem 0 3rem; }
  .resources-hero-actions { flex-direction:column; align-items:flex-start; }
  .resources-toolbar { flex-direction:column; align-items:flex-start; }
  .resource-card-footer { flex-direction:column; align-items:flex-start; }
}
