﻿/* ── Hero ─────────────────────────────────────────────────────────────── */
.inv-hero{background:url('/img/hero/fondo_hero1.png') center/cover no-repeat;border-bottom:1px solid var(--gray-border);padding:3rem 1.5rem 2.75rem;position:relative}
.inv-hero::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.82)}
.inv-hero__inner{position:relative;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}
.inv-hero__text{min-width:260px}
.inv-hero__title{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:900;color:var(--dark);line-height:1.2;margin:0 0 .65rem}
.inv-hero__sub{font-size:.9rem;color:#4b5563;margin:0 0 1.5rem;line-height:1.6}
.inv-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem}
.btn-inv-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border:1.5px solid var(--gray-border);border-radius:6px;font-size:.85rem;font-weight:600;color:#374151;background:#fff;text-decoration:none;transition:border-color .18s,color .18s}
.btn-inv-outline:hover{border-color:var(--primary);color:var(--primary)}
.inv-hero__stats{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}
.inv-stat{background:#fff;border:1px solid var(--gray-border);border-radius:10px;padding:1rem 1.35rem;text-align:center;min-width:140px}
.inv-stat__val{display:block;font-size:2.1rem;font-weight:900;color:var(--primary);line-height:1}
.inv-stat__label{display:block;font-size:.72rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}

@media (max-width: 960px) {
    .inv-hero__inner { grid-template-columns: 1fr; }
    .inv-hero__stats { flex-direction: row; align-items: flex-start; justify-content: flex-start; }
}

/* ── Filtros sticky ────────────────────────────────────────────────────── */
.inv-filters-bar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--gray-border);backdrop-filter:blur(6px);padding:.65rem 1.5rem}
.inv-filters-bar__inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.inv-search-wrap{flex:1;min-width:200px;position:relative}
.inv-search-wrap i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.8rem}
.inv-search-input{width:100%;padding:.45rem .75rem .45rem 2.1rem;border:1.5px solid var(--gray-border);border-radius:7px;font-size:.84rem;font-family:inherit;background:#f9fafb;transition:border-color .18s}
.inv-search-input:focus{outline:none;border-color:var(--primary);background:#fff}
.inv-filter-select{padding:.45rem .7rem;border:1.5px solid var(--gray-border);border-radius:7px;font-size:.82rem;font-family:inherit;background:#f9fafb;cursor:pointer;min-width:130px}
.inv-filter-select:focus{outline:none;border-color:var(--primary)}
.inv-filter-count{font-size:.78rem;font-weight:600;color:#6b7280;white-space:nowrap;padding:.3rem .7rem;background:#f3f4f6;border-radius:20px}
.inv-filter-count span{color:var(--primary);font-weight:800}

/* ── Layout ────────────────────────────────────────────────────────────── */
.inv-body{max-width:1100px;margin:0 auto;padding:1.25rem 1.5rem 3rem}

/* ── Grid ──────────────────────────────────────────────────────────────── */
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;margin-bottom:1.5rem;position:relative}

/* ── Card ──────────────────────────────────────────────────────────────── */
.inv-card{background:#fff;border:1px solid var(--gray-border);border-radius:9px;padding:1.1rem 1.2rem 1rem;display:flex;flex-direction:column;gap:.55rem;transition:box-shadow .22s,transform .18s,border-color .22s;position:relative;overflow:hidden}
.inv-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:0;transition:opacity .22s;border-radius:9px 0 0 9px}
.inv-card:hover{box-shadow:0 5px 18px rgba(191,9,9,.1);transform:translateY(-2px);border-color:rgba(191,9,9,.2)}
.inv-card:hover::before{opacity:1}
.inv-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.inv-card-univ{font-size:.7rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:flex;align-items:center;gap:.3rem}
.inv-card-anio{font-size:.75rem;font-weight:800;color:#9ca3af;white-space:nowrap;flex-shrink:0;background:#f3f4f6;border-radius:4px;padding:.1rem .45rem}
.inv-card__titulo{margin:0;font-size:.86rem;font-weight:700;color:var(--dark);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.inv-card__autor{font-size:.74rem;color:#6b7280;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.inv-card__foot{margin-top:auto;padding-top:.65rem;border-top:1px dashed var(--gray-border)}
.inv-card__link{display:inline-flex;align-items:center;gap:.3rem;font-size:.73rem;font-weight:700;color:var(--primary);text-decoration:none;transition:opacity .18s}
.inv-card__link:hover{opacity:.7}
.inv-card__link--disabled{color:#d1d5db;pointer-events:none}

/* ── Skeleton shimmer ──────────────────────────────────────────────────── */
.inv-skeleton{background:#fff;border:1px solid var(--gray-border);border-radius:9px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem}
.inv-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}
.inv-shimmer--sm{height:10px;width:60%}
.inv-shimmer--md{height:10px;width:85%}
.inv-shimmer--lg{height:10px;width:100%}
.inv-shimmer--title{height:14px;width:100%;margin-bottom:.2rem}
.inv-shimmer--title2{height:14px;width:75%}
.inv-shimmer--autor{height:10px;width:70%;margin-top:.2rem}
.inv-shimmer--link{height:10px;width:40%;margin-top:.4rem}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── Empty ─────────────────────────────────────────────────────────────── */
.inv-empty{text-align:center;padding:4rem 1rem;color:#9ca3af;grid-column:1/-1}
.inv-empty i{font-size:2.5rem;display:block;margin-bottom:.75rem;color:#d1d5db}

/* ── Paginación ────────────────────────────────────────────────────────── */
.inv-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.inv-pagination__info{font-size:.79rem;color:#6b7280}
.inv-pagination__info span{color:var(--primary);font-weight:700}
.inv-pagination__nav{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.inv-pag-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;border:1.5px solid var(--gray-border);border-radius:5px;font-size:.78rem;font-weight:600;color:#374151;background:#fff;cursor:pointer;text-decoration:none;transition:all .15s;white-space:nowrap}
.inv-pag-btn:hover:not(.active):not([disabled]){border-color:var(--primary);color:var(--primary)}
.inv-pag-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.inv-pag-btn[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}
.inv-pag-dots{font-size:.8rem;color:#9ca3af;padding:0 .2rem;line-height:32px}
.inv-pag-jump{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#6b7280}
.inv-pag-jump input{width:52px;padding:.2rem .4rem;border:1.5px solid var(--gray-border);border-radius:5px;font-size:.78rem;text-align:center}
.inv-pag-jump input:focus{outline:none;border-color:var(--primary)}