/* ═══════════════════════════════════════════════════
   COLVER — Directorio de Investigadores
   Plugin WordPress v1.1.0 — Diseño simple institucional
   Prefijo dcolver- en todos los selectores
═══════════════════════════════════════════════════ */

.dcolver-wrap {
  --vino:         #7B1034;
  --vino-dark:    #5a0c26;
  --vino-deep:    #3d0619;
  --vino-pale:    #f9eef3;
  --vino-muted:   rgba(123,16,52,0.06);
  --dorado:       #C9A227;
  --dorado-dark:  #a8841f;
  --dorado-light: #e2b93b;
  --bg-page:      #ffffff;
  --bg-card:      #ffffff;
  --text-primary:   #2a0d1a;
  --text-secondary: #5c3045;
  --text-muted:     #9a7080;
  --border:       rgba(123,16,52,0.10);
  --border-h:     rgba(123,16,52,0.22);
  --radius-card:  16px;
  --radius-btn:   8px;
  --shadow-card:  0 2px 12px rgba(0,0,0,0.10);
  --shadow-hover: 0 8px 32px rgba(123,16,52,0.16);
  --shadow-modal: 0 20px 70px rgba(90,12,38,0.22);
  --transition:   0.22s cubic-bezier(0.4,0,0.2,1);
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary);
  background: var(--bg-page);
  box-sizing: border-box;
}
.dcolver-wrap *, .dcolver-wrap *::before, .dcolver-wrap *::after {
  box-sizing: inherit; margin: 0; padding: 0;
}

.dcolver-header,
.dcolver-header-inner,
.dcolver-logo,
.dcolver-logo-icon,
.dcolver-logo-text,
.dcolver-logo-name,
.dcolver-logo-sub,
.dcolver-header-title,
.dcolver-main-title,
.dcolver-main-desc,
.dcolver-stats,
.dcolver-stat-pill,
.dcolver-stat-num,
.dcolver-stat-label { display:none !important; }

/* ── TOOLBAR ────────────────────────────────────── */
.dcolver-toolbar { background: #fff; border-bottom: 1px solid var(--border); box-shadow: 0 2px 6px rgba(0,0,0,0.05); top: 0; }
.dcolver-toolbar-inner { padding: 11px 26px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.dcolver-search-wrap { position: relative; flex-shrink: 0; }
.dcolver-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: var(--text-muted); pointer-events: none; }
#dcolver-search { background: #f7f2f5; border: 1px solid var(--border) !important; border-radius: 10px !important; color: var(--text-primary) !important; font-family: 'Inter',sans-serif !important; font-size: 0.84rem !important; padding: 8px 12px 8px 33px !important; width: 220px; outline: none !important; box-shadow: none !important; transition: var(--transition); }
#dcolver-search::placeholder { color: var(--text-muted); }
#dcolver-search:focus { border-color: var(--vino) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(123,16,52,0.08) !important; }
.dcolver-filter-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.dcolver-filter-pill { background: transparent !important; border: 1px solid var(--border) !important; border-radius: 99px !important; color: var(--text-secondary) !important; cursor: pointer; font-family: 'Inter',sans-serif; font-size: 0.74rem !important; font-weight: 500; padding: 5px 13px !important; transition: var(--transition); white-space: nowrap; line-height: 1.4 !important; text-decoration: none !important; }
.dcolver-filter-pill:hover { border-color: var(--vino) !important; color: var(--vino) !important; background: var(--vino-muted) !important; }
.dcolver-filter-pill.active { background: var(--vino) !important; border-color: var(--vino) !important; color: #fff !important; }

/* ── MAIN ───────────────────────────────────────── */
.dcolver-main { padding: 34px 26px 56px; background: var(--bg-page); }

/* ── ACADEMIA ───────────────────────────────────── */
.dcolver-academia-section { margin-bottom: 50px; animation: dcolverFadeUp 0.4s ease both; }
@keyframes dcolverFadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.dcolver-academia-header { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; padding-bottom: 13px; border-bottom: 2px solid var(--dorado); position: relative; }
.dcolver-academia-header::after { content:''; position:absolute; bottom:-4px; left:0; width:48px; height:3px; background:var(--vino); border-radius:2px; }
.dcolver-academia-icon { width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; background: var(--vino-muted); border: 1px solid var(--border); flex-shrink: 0; }
.dcolver-academia-title { font-family:'Outfit',sans-serif; font-size:1.35rem !important; font-weight:700 !important; color:var(--vino) !important; flex:1; margin:0 !important; padding:0 !important; border:none !important; }
.dcolver-academia-badge { font-size:0.7rem; font-weight:700; padding:3px 12px; border-radius:99px; background:rgba(201,162,39,0.11); color:var(--dorado-dark); border:1px solid rgba(201,162,39,0.28); white-space:nowrap; }

/* ── GRID ───────────────────────────────────────── */
.dcolver-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(195px,1fr)); gap:18px; list-style:none !important; }

/* ── TARJETA ────────────────────────────────────── */
.dcolver-card { background:var(--bg-card); border-radius:var(--radius-card); cursor:pointer; overflow:hidden; box-shadow:var(--shadow-card); border:1px solid var(--border); transition:var(--transition); display:flex; flex-direction:column; animation:dcolverFadeUp 0.4s ease both; }
.dcolver-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:var(--border-h); }

/* Foto rectangular */
.dcolver-card-photo-wrap { width:100%; height:185px; overflow:hidden; flex-shrink:0; background:var(--vino-pale); }
.dcolver-card-photo { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; transition:transform 0.3s ease; }
.dcolver-card:hover .dcolver-card-photo { transform:scale(1.04); }

/* Barra vino */
.dcolver-card-bar { width:100%; height:6px; background:var(--vino); flex-shrink:0; }

/* Cuerpo texto */
.dcolver-card-body { padding:15px 15px 18px; display:flex; flex-direction:column; align-items:center; text-align:center; flex:1; }
.dcolver-card-name { font-family:'Outfit',sans-serif; font-size:0.9rem !important; font-weight:700 !important; color:var(--vino-dark) !important; line-height:1.35 !important; margin-bottom:5px !important; }
.dcolver-card-academy { font-size:0.68rem !important; font-weight:500; color:var(--dorado-dark) !important; margin-bottom:9px !important; letter-spacing:0.02em; }
.dcolver-card-lines { font-size:0.7rem !important; color:var(--text-muted) !important; line-height:1.45 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:13px !important; flex:1; }
.dcolver-card-btn { display:inline-flex; align-items:center; background:var(--vino); color:#fff !important; font-family:'Inter',sans-serif; font-size:0.73rem !important; font-weight:600; padding:6px 17px; border-radius:var(--radius-btn); border:none !important; cursor:pointer; transition:var(--transition); text-decoration:none !important; margin-top:auto; }
.dcolver-card-btn:hover { background:var(--vino-dark) !important; color:#fff !important; }

/* ── MODAL ──────────────────────────────────────── */
.dcolver-modal-overlay { position:fixed; inset:0; z-index:999999; background:rgba(61,6,25,0.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; pointer-events:none; transition:opacity 0.28s ease; }
.dcolver-modal-overlay.open { opacity:1; pointer-events:all; }
.dcolver-modal-box { background:#fff; border-radius:20px; border-top:5px solid var(--vino); max-width:640px; width:100%; max-height:90vh; overflow-y:auto; position:relative; box-shadow:var(--shadow-modal); transform:scale(0.95) translateY(18px); transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1); }
.dcolver-modal-overlay.open .dcolver-modal-box { transform:scale(1) translateY(0); }
.dcolver-modal-box::-webkit-scrollbar { width:4px; }
.dcolver-modal-box::-webkit-scrollbar-thumb { background:var(--vino); border-radius:99px; }

.dcolver-modal-close { position:absolute; top:13px; right:13px; background:var(--vino-pale) !important; border:1px solid var(--border) !important; border-radius:8px !important; color:var(--vino) !important; cursor:pointer; width:33px; height:33px; display:flex; align-items:center; justify-content:center; transition:var(--transition); z-index:10; box-shadow:none !important; padding:0 !important; }
.dcolver-modal-close:hover { background:var(--vino) !important; color:#fff !important; }
.dcolver-modal-close svg { width:16px; height:16px; }

/* Foto banner modal — oculta, usamos foto compacta */
.dcolver-modal-photo-banner { display:none; }
.dcolver-modal-vino-bar { display:none; }

/* Cabecera modal con foto compacta al lado */
.dcolver-modal-header {
  padding:22px 28px 18px;
  border-bottom:1px solid var(--border);
  background:var(--vino-pale);
  display:flex; gap:18px; align-items:flex-start;
}
.dcolver-modal-header-photo {
  width:88px; height:108px;
  border-radius:10px;
  object-fit:cover; object-position:top center;
  border:3px solid var(--dorado);
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(123,16,52,0.14);
  display:block;
}
.dcolver-modal-header-info { flex:1; padding-top:2px; }
.dcolver-modal-academy-badge { display:inline-flex; align-items:center; gap:5px; font-size:0.67rem; font-weight:700; padding:3px 11px; border-radius:99px; margin-bottom:7px; background:var(--vino); color:#fff; letter-spacing:0.04em; }
.dcolver-modal-name { font-family:'Outfit',sans-serif; font-size:1.18rem !important; font-weight:700 !important; color:var(--vino-dark) !important; line-height:1.25 !important; margin:0 0 6px !important; padding:0 !important; border:none !important; }
.dcolver-modal-formation { font-size:0.8rem; color:var(--text-secondary); line-height:1.55; }

/* Cuerpo modal */
.dcolver-modal-body { padding:22px 30px 30px; display:flex; flex-direction:column; gap:20px; }
.dcolver-section-label { font-size:0.63rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--vino); display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.dcolver-section-label::after { content:''; flex:1; height:1px; background:var(--dorado); opacity:0.4; }
.dcolver-lineas-list { list-style:none !important; display:flex; flex-direction:column; gap:6px; padding:0 !important; margin:0 !important; }
.dcolver-lineas-list li { display:flex !important; align-items:flex-start !important; gap:9px; font-size:0.83rem !important; color:var(--text-primary) !important; line-height:1.5 !important; padding:8px 12px !important; background:var(--vino-pale); border:1px solid var(--border); border-left:3px solid var(--dorado); border-radius:7px; list-style:none !important; }
.dcolver-lineas-list li::before { display:none !important; }
.dcolver-num { font-family:'Outfit',sans-serif; font-weight:800; font-size:0.72rem; min-width:20px; height:20px; border-radius:5px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; background:var(--vino); color:#fff; }
.dcolver-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dcolver-info-item { background:var(--vino-pale); border:1px solid var(--border); border-radius:7px; padding:10px 12px; }
.dcolver-info-label { font-size:0.62rem; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; color:var(--vino); margin-bottom:4px; }
.dcolver-info-value { font-size:0.79rem; color:var(--text-primary); line-height:1.4; word-break:break-all; }
.dcolver-info-value a { color:var(--vino) !important; text-decoration:none !important; font-weight:500; }
.dcolver-info-value a:hover { color:var(--dorado-dark) !important; text-decoration:underline !important; }
.dcolver-sni-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(201,162,39,0.10); border:1px solid rgba(201,162,39,0.30); border-radius:7px; padding:7px 13px; font-size:0.81rem; color:var(--dorado-dark); font-weight:600; }
.dcolver-sni-badge svg { width:14px; height:14px; color:var(--dorado); flex-shrink:0; }

/* Estado vacío */
.dcolver-empty { text-align:center; padding:52px 20px; color:var(--text-muted); }
.dcolver-empty svg { width:48px; height:48px; margin:0 auto 13px; opacity:0.28; color:var(--vino); display:block; }
.dcolver-empty h3 { font-family:'Outfit',sans-serif; font-size:1rem !important; color:var(--text-secondary) !important; margin:0 0 5px !important; }

/* ── RESPONSIVE ─────────────────────────────────── */
@media (max-width: 768px) {
  .dcolver-header-inner { padding:13px 18px; gap:14px; }
  .dcolver-main-title { font-size:1rem !important; }
  .dcolver-stats { display:none; }
  .dcolver-toolbar-inner { padding:10px 18px; }
  #dcolver-search { width:100%; }
  .dcolver-main { padding:22px 18px 48px; }
  .dcolver-cards-grid { grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:12px; }
  .dcolver-card-photo-wrap { height:148px; }
  .dcolver-modal-header { padding:16px 20px 13px; }
  .dcolver-modal-body { padding:18px 20px 26px; }
  .dcolver-info-grid { grid-template-columns:1fr; }
  .dcolver-modal-photo-banner { height:150px; }
}
@media (max-width: 480px) {
  .dcolver-filter-pills { display:none; }
  .dcolver-modal-box { border-radius:14px; }
}
