/* =====================================================================
   EXPLORAR — buscador del catálogo (pestaña 2)
   Sidebar de filtros + resultados + paginación. Chrome en logged.css.
   ===================================================================== */

.ex-main{ background:var(--bg); }
.ex-layout{
  display:grid; grid-template-columns:264px minmax(0,1fr); gap:40px;
  padding:36px 0 60px;
  align-items:start;
}
.ex-aside-col{ position:sticky; top:84px; }

/* ----- Sidebar de filtros ----- */
.ex-filters{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:22px 20px;
}
.ex-filters-head{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:16px; margin-bottom:18px;
  border-bottom:1px solid var(--rule-2);
}
.ex-filters-head h2{
  font-family:var(--serif); font-weight:400; font-size:21px;
  color:var(--navy); margin:0;
}
.ex-clear{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--sans); font-size:11.5px; font-weight:600;
  color:var(--muted); background:transparent;
  transition:color .15s ease;
}
.ex-clear svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.6; }
.ex-clear:hover:not(:disabled){ color:var(--navy); }
.ex-clear:disabled{ opacity:.45; cursor:default; }

.ex-fgroup{ margin-bottom:22px; }
.ex-fgroup-title{
  font-family:var(--sans); font-size:11px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2);
  margin:0 0 12px;
}
.ex-fgroup-list{ display:flex; flex-direction:column; gap:2px; }
.ex-check{
  display:grid; grid-template-columns:18px 1fr auto; align-items:center; gap:10px;
  padding:7px 6px; width:100%;
  background:transparent; text-align:left;
  transition:background .12s ease;
}
.ex-check:hover{ background:var(--tint-hover); }
.ex-box{
  width:18px; height:18px;
  border:1.5px solid var(--rule); background:var(--bg);
  display:grid; place-items:center; color:transparent;
  transition:background .12s ease, border-color .12s ease, color .12s ease;
}
.ex-box svg{ width:13px; height:13px; }
.ex-check.is-on .ex-box{ background:var(--ink-block); border-color:var(--navy); color:var(--on-ink); }
.ex-check-label{
  font-family:var(--sans); font-size:13.5px; font-weight:500;
  color:var(--ink); letter-spacing:-.005em;
}
.ex-check.is-on .ex-check-label{ font-weight:600; color:var(--navy); }
.ex-check-count{
  font-family:var(--mono); font-size:11px; color:var(--muted);
}
.ex-fgroup-more{
  display:inline-flex; align-items:center; gap:7px;
  margin-top:10px; padding-left:6px;
  font-family:var(--sans); font-size:12.5px; font-weight:600;
  color:var(--navy); background:transparent;
}
.ex-fgroup-more svg{ width:13px; height:13px; stroke:var(--amber-2); fill:none; stroke-width:1.8; transition:transform .15s ease; }
.ex-fgroup-more:hover svg{ transform:translateX(2px); }

.ex-saved-btn{
  display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
  margin-bottom:18px; padding:13px 14px;
  border:1px solid var(--rule);
  background:var(--bg-soft);
  font-family:var(--sans); font-size:13.5px; font-weight:600;
  color:var(--ink); letter-spacing:-.005em;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.ex-saved-btn svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.7; }
.ex-saved-btn:hover{ border-color:var(--navy); color:var(--navy); }
.ex-saved-btn.is-on{ background:var(--ink-block); color:var(--on-ink); border-color:var(--navy); }
.ex-saved-btn.is-on svg{ fill:currentColor; color:var(--insight); }

/* ----- Cabecera + búsqueda ----- */
.ex-head h1{
  font-family:var(--serif); font-weight:400;
  font-size:42px; line-height:1.08; letter-spacing:-.015em;
  color:var(--navy); margin:0;
}
.ex-head p{
  font-size:15px; color:var(--ink-2); margin:10px 0 0; max-width:560px;
}
.ex-search{
  display:flex; align-items:stretch; gap:12px; margin:24px 0 0;
}
.ex-search{ position:relative; }
.ex-search-icon{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  color:var(--muted); pointer-events:none; display:grid;
}
.ex-search-icon svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7; }
.ex-search input{
  flex:1; min-width:0;
  padding:15px 16px 15px 46px;
  border:1px solid var(--rule);
  background:var(--paper);
  font-family:var(--sans); font-size:14.5px; color:var(--ink);
  transition:border-color .15s ease;
}
.ex-search input::placeholder{ color:var(--muted); }
.ex-search input:focus{ outline:none; border-color:var(--navy); }
.ex-search-btn{
  flex:0 0 auto;
  padding:0 28px;
  background:var(--ink-block); color:var(--on-ink);
  font-family:var(--sans); font-size:14px; font-weight:600;
  letter-spacing:.01em;
  transition:background .15s ease;
}
.ex-search-btn:hover{ background:var(--ink-block-2); }

/* ----- Barra de orden ----- */
.ex-sortbar{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin:26px 0 14px;
}
/* ----- Lentes de la comunidad ----- */
.ex-communitybar{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin:0 0 22px; padding-top:14px;
  border-top:1px solid var(--rule-2);
}
.ex-pill-com{ display:inline-flex; align-items:center; gap:7px; }
.ex-pill-com svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.7; }
.ex-communitybar .ex-pill-com.is-on{ background:var(--insight); color:var(--on-amber); border-color:var(--insight); }
.ex-communitybar .ex-pill-com.is-on svg{ stroke:var(--on-amber); }
.ex-sort-label{
  font-family:var(--sans); font-size:13px; font-weight:600; color:var(--ink-2);
}
.ex-sort-pills{ display:flex; gap:8px; flex-wrap:wrap; }
.ex-pill{
  padding:8px 15px;
  border:1px solid var(--rule);
  background:var(--paper);
  font-family:var(--sans); font-size:12.5px; font-weight:600;
  color:var(--ink-2); letter-spacing:-.005em;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.ex-pill:hover{ border-color:var(--navy); color:var(--navy); }
.ex-pill.is-on{ background:var(--ink-block); color:var(--on-ink); border-color:var(--navy); }
.ex-count{
  margin-left:auto;
  font-family:var(--mono); font-size:12px; color:var(--muted);
}

/* ----- Grid de resultados ----- */
.ex-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap:18px;
}
.ex-card{
  position:relative;
  display:flex; flex-direction:column;
  min-width:0;
  background:var(--paper);
  border:1px solid var(--rule);
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.ex-card:hover, .ex-card:focus-visible{ transform:translateY(-2px); border-color:var(--navy); box-shadow:0 10px 24px -10px rgba(11,29,58,.22); outline:none; }
.ex-card-thumb{ display:block; position:relative; overflow:hidden; }
.ex-card-thumb .ed-thumb{ aspect-ratio:16/10; }
.ex-card-thumb .ed-save, .ex-card-action{
  position:absolute; top:9px; z-index:2;
  width:32px; height:32px; padding:0;
  display:grid; place-items:center;
  border:1px solid rgba(11,29,58,.08);
  background:rgba(255,255,255,.82);
  color:var(--navy);
  box-shadow:0 6px 16px -10px rgba(11,29,58,.45);
  backdrop-filter:blur(6px);
}
.ex-card-thumb .ed-save{ right:9px; }
.ex-card-hide{ left:9px; }
.ex-card-thumb .ed-save svg, .ex-card-action svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.9; }
.ex-card-thumb .ed-save.is-saved{ background:rgba(255,214,102,.92); border-color:rgba(166,111,0,.16); color:var(--navy); }
.ex-card-thumb .ed-save.is-saved svg{ fill:var(--amber-2); stroke:var(--navy); }
.ex-card-body{
  display:flex; flex-direction:column; gap:5px;
  min-width:0;
  padding:11px 13px 12px; flex:1;
}
.ex-meta{
  display:flex; align-items:center; gap:4px 6px; flex-wrap:nowrap;
  font-family:var(--sans); font-size:10.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
.ex-meta span{ white-space:nowrap; }
.ex-meta{ min-width:0; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.ex-meta-main{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ex-duration{ flex:0 0 auto; white-space:nowrap; }
.ex-dot-duration{ flex:0 0 auto; }
.ex-fmt{ color:var(--amber-2); }
.ex-dot{ font-weight:400; letter-spacing:0; }
.ex-card h3{
  font-family:var(--serif); font-weight:400;
  font-size:16px; line-height:1.28; letter-spacing:-.005em;
  color:var(--navy); margin:1px 0 0;
  min-width:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ex-card-title-link{
  color:inherit;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px; background-position:0 100%; background-repeat:no-repeat;
  transition:background-size .25s ease;
}
.ex-card-title-link:hover{ background-size:100% 1px; }
.ex-author{
  font-family:var(--sans); font-size:12.5px; color:var(--ink-2); margin:0;
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ex-stats{
  display:flex; align-items:center; gap:16px;
  margin-top:3px; padding-top:8px;
  border-top:1px solid var(--rule-2);
}
.ex-stat{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:11.5px; color:var(--muted);
}
.ex-stat svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.6; }
.ex-stat:nth-child(2) svg{ stroke:var(--terracotta); }
.ex-stat:last-child svg{ stroke:var(--amber-2); }
.ex-stat.is-hot{ color:var(--ink); font-weight:600; }
.ex-stat.is-hot svg{ stroke:var(--ink); }

.ex-toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:80;
  display:flex; align-items:center; gap:14px;
  padding:12px 14px;
  background:var(--ink-block); color:var(--on-ink);
  box-shadow:0 18px 40px -18px rgba(11,29,58,.45);
  font-family:var(--sans); font-size:13px; font-weight:600;
}
.ex-toast button{ color:var(--amber); border-bottom:1px solid currentColor; padding-bottom:2px; }

/* ----- Skeleton ----- */
.ex-card-skel{ cursor:default; }
.ex-card-skel .ed-thumb{ aspect-ratio:16/10; }
.ex-card-skel .ex-skel{ height:11px; background:#E7E4DC; }
.ex-skel.w40{ width:40%; } .ex-skel.w60{ width:60%; } .ex-skel.w90{ width:90%; }

/* ----- Empty ----- */
.ex-empty{
  grid-column:1/-1;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:14px; padding:60px 24px;
  border:1px dashed var(--rule); background:var(--paper);
}
.ex-empty p{ font-family:var(--serif); font-size:18px; color:var(--ink-2); margin:0; }
.ex-empty button{
  font-family:var(--sans); font-size:13px; font-weight:600; color:var(--navy);
  background:transparent; border-bottom:1.5px solid var(--amber-2); padding-bottom:3px;
}

/* ----- Paginación ----- */
.ex-pager{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:38px;
}
.ex-pg-btn, .ex-pg-num{
  min-width:42px; height:42px; padding:0 8px;
  display:grid; place-items:center;
  border:1px solid var(--rule); background:var(--paper);
  font-family:var(--sans); font-size:14px; font-weight:600; color:var(--ink);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.ex-pg-btn svg{ width:18px; height:18px; }
.ex-pg-btn:hover:not(:disabled), .ex-pg-num:hover{ border-color:var(--navy); color:var(--navy); }
.ex-pg-btn:disabled{ opacity:.4; cursor:default; }
.ex-pg-num.is-on{ background:var(--ink-block); color:var(--on-ink); border-color:var(--navy); }
.ex-pg-gap{ color:var(--muted); padding:0 2px; }

/* ----- Filtros en móvil ----- */
.ex-mfilters-toggle{ display:none; }
.ex-aside-mobile{ display:none; }

/* ----- Responsive ----- */
@media (max-width: 1180px){
  .ex-layout{ grid-template-columns:236px minmax(0,1fr); gap:28px; }
  .ex-grid{ grid-template-columns:repeat(auto-fill, minmax(min(100%, 205px), 1fr)); gap:18px; }
  .ex-card-body{ padding:10px 12px 12px; }
}
@media (max-width: 820px){
  .ex-layout{ grid-template-columns:1fr; gap:0; }
  .ex-aside-col{ display:none; }
  .ex-head h1{ font-size:34px; }
  .ex-mfilters-toggle{
    display:inline-flex; align-items:center; gap:10px;
    margin-top:18px; padding:12px 16px;
    border:1px solid var(--rule); background:var(--paper);
    font-family:var(--sans); font-size:13.5px; font-weight:600; color:var(--ink);
  }
  .ex-mfilters-toggle svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.6; }
  .ex-mfilters-badge{
    display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px;
    background:var(--insight); color:var(--on-amber);
    font-family:var(--mono); font-size:11px; font-weight:500;
  }
  .ex-aside-mobile{ display:block; margin-top:14px; }
}
@media (max-width: 620px){
  .ex-grid{ grid-template-columns:1fr; gap:16px; }
  .ex-search{ flex-direction:column; }
  .ex-search-btn{ padding:14px; }
  .ex-search-icon{ top:27px; }
  .ex-sortbar, .ex-communitybar{ gap:10px; }
  .ex-count{ margin-left:0; width:100%; }
}

@media (max-width: 560px){
  .ex-card-thumb .ed-save, .ex-card-action{ width:34px; height:34px; top:8px; }
  .ex-card-thumb .ed-save{ right:8px; }
  .ex-card-hide{ left:8px; }
  .ex-toast{ left:14px; right:14px; bottom:18px; transform:none; justify-content:space-between; }
}

/* UX v2 Explorar: controles concentrados en panel izquierdo */
.ex-head{ margin-bottom:18px; }
.ex-head-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.ex-head-count{ flex:0 0 auto; margin-top:9px; font-family:var(--mono); font-size:12px; color:var(--muted); }
.ex-head p{ max-width:760px; margin-top:9px; font-size:15.5px; line-height:1.62; }
.ex-panel-block{ padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--rule-2); }
.ex-panel-block:last-child{ margin-bottom:0; }
.ex-panel-search{ padding-bottom:14px; margin-bottom:12px; }
.ex-search-side{ margin:0; display:block; }
.ex-search-side input{ height:42px; padding:0 13px 0 42px; font-size:13px; }
.ex-search-side .ex-search-icon{ top:12px; left:14px; }
.ex-sort-select-label{ display:block; margin:0 0 9px; font-family:var(--sans); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); }
.ex-sort-select{ width:100%; min-height:42px; padding:0 38px 0 13px; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:13px; font-weight:650; }
.ex-sort-select:focus{ outline:none; border-color:var(--navy); }
.ex-activebar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 16px; padding:0; }
.ex-activechips{ display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.ex-chip{ display:inline-flex; align-items:center; gap:8px; max-width:260px; padding:7px 10px; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:12px; font-weight:650; }
.ex-chip span:first-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ex-chip span:last-child{ font-size:16px; line-height:1; color:var(--muted); }
.ex-clear-inline{ flex:0 0 auto; font-family:var(--sans); font-size:12px; font-weight:800; color:var(--navy); border-bottom:1px solid var(--amber-2); padding-bottom:2px; }
@media (max-width: 560px){
  .ex-head-row{ align-items:flex-start; gap:14px; }
  .ex-head-count{ margin-top:5px; font-size:11px; }
  .ex-search-side .ex-search-icon{ top:12px; }
  .ex-activebar{ align-items:flex-start; flex-direction:column; gap:10px; }
}

/* UX polish Explorar */
.ex-head{ margin-bottom:34px; }
.ex-head-count{
  display:inline-flex; align-items:center;
  padding:5px 12px;
  border:1px solid var(--rule);
  border-radius:8px;
  background:#f4f3ef;
  color:var(--muted);
  line-height:1.2;
  pointer-events:none;
}
.ex-filters{ padding-left:18px; padding-right:18px; }
.ex-fgroup-title,
.ex-sort-select-label{
  font-size:10px;
  letter-spacing:.095em;
}
.ex-search-side input{
  width:100%;
  min-width:0;
  padding-right:12px;
}
.ex-sort-select{
  min-height:46px;
  padding-top:4px;
  padding-bottom:4px;
}
.ex-saved-btn{
  width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px;
  margin:0 0 18px; padding:12px 13px;
  border:1px solid var(--rule); background:var(--paper);
  font-family:var(--sans); font-size:13px; font-weight:700; color:var(--ink);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.ex-saved-btn svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.7; }
.ex-saved-btn span:nth-child(2){ min-width:0; text-align:left; }
.ex-saved-count{ justify-self:end; font-family:var(--mono); font-size:11px; color:var(--muted); }
.ex-saved-btn:hover{ border-color:var(--navy); color:var(--navy); }
.ex-saved-btn.is-on{ background:var(--ink-block); color:var(--on-ink); border-color:var(--navy); }
.ex-saved-btn.is-on svg{ fill:currentColor; color:var(--insight); }
.ex-saved-btn.is-on .ex-saved-count{ color:var(--on-ink); opacity:.75; }
.ex-filters .ex-check{
  grid-template-columns:18px minmax(0,1fr) 42px;
  column-gap:9px;
  width:100%;
  cursor:pointer;
}
.ex-filters .ex-check .ex-check-count{
  justify-self:end;
  min-width:42px;
  text-align:right;
}
.ex-activebar:empty{ display:none; margin:0; padding:0; }

/* UX polish 2 Explorar: ajuste fino de presencia y legibilidad */
.ex-layout{ grid-template-columns:300px minmax(0,1fr); gap:38px; }
.ex-head{ margin-bottom:50px; }
.ex-head p{ max-width:68%; }
.ex-head-count{
  padding:6px 15px;
  border-color:#d8d5cc;
  background:#eceae4;
  color:var(--ink-2);
}
.ex-filters{ padding-left:22px; padding-right:22px; }
.ex-fgroup-title,
.ex-sort-select-label{
  font-size:9.5px;
  letter-spacing:.075em;
  font-weight:750;
}
.ex-search-side input{
  height:48px;
  width:100%;
  padding-left:36px;
  padding-right:8px;
  font-size:12px;
}
.ex-search-side input::placeholder{ font-size:12px; }
.ex-search-side .ex-search-icon{ left:12px; top:15px; }
.ex-search-side .ex-search-icon svg{ width:16px; height:16px; }
.ex-sort-select{ min-height:50px; padding-top:6px; padding-bottom:6px; }
.ex-saved-btn{ min-height:48px; border-color:#d6d2c8; background:#f7f6f2; }
.ex-saved-count{ display:none; }
.ex-saved-btn.is-on{
  background:#eef3f8;
  color:var(--navy);
  border-color:#20466f;
  box-shadow:inset 0 0 0 1px rgba(32,70,111,.18);
}
.ex-saved-btn.is-on svg{ color:var(--navy); fill:var(--amber-2); }
.ex-filters .ex-check{ grid-template-columns:18px minmax(0,1fr) 48px; }
.ex-filters .ex-check .ex-check-count{ min-width:48px; text-align:right; justify-self:end; }
@media (max-width: 980px){
  .ex-layout{ grid-template-columns:1fr; gap:0; }
  .ex-head p{ max-width:100%; }
}

/* UX saved restore: mostrar contador y activo azul */
.ex-saved-count{
  display:inline-block;
  justify-self:end;
  min-width:28px;
  text-align:right;
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted);
  opacity:.8;
}
.ex-saved-btn.is-on{
  background:#e7f0f8;
  color:var(--navy);
  border-color:#20466f;
  box-shadow:inset 0 0 0 1px rgba(32,70,111,.24);
}
.ex-saved-btn.is-on .ex-saved-count{
  color:var(--navy);
  opacity:.7;
}

/* UX saved dark active: estado activo azul oscuro */
.ex-saved-btn.is-on{
  background:var(--ink-block);
  color:var(--on-ink);
  border-color:var(--navy);
  box-shadow:none;
}
.ex-saved-btn.is-on svg{
  fill:currentColor;
  color:var(--insight);
}
.ex-saved-btn.is-on .ex-saved-count{
  color:var(--on-ink);
  opacity:.75;
}

/* UX card metrics: mayor contraste, aire y alineación */
.ex-stats{
  justify-content:flex-start;
  align-items:center;
  gap:18px;
  margin-top:8px;
  padding-top:11px;
  border-top:1px solid #d8d5cc;
}
.ex-stat{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  font-size:13.5px;
  line-height:1.2;
  color:var(--ink);
  min-width:auto;
}
.ex-stat svg{
  width:15px;
  height:15px;
  stroke-width:1.9;
}
.ex-stat:first-child svg{ stroke:var(--navy); }
.ex-stat:nth-child(2) svg{ stroke:var(--terracotta); }
.ex-stat:last-child svg{ stroke:var(--amber-2); }

/* UX heart metric fix: forzar corazón visible */
.ex-stat:nth-child(2) svg{
  stroke:#B45A45;
  color:#B45A45;
}

/* UX metrics columns: actividad en tres columnas amarillas */
.ex-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:center;
  gap:0;
  margin-top:10px;
  padding-top:18px;
  padding-bottom:12px;
  border-top:1px solid #d8d5cc;
}
.ex-stat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  font-size:18px;
  font-weight:650;
  line-height:1.15;
  color:#C99A1A;
}
.ex-stat svg{
  width:19px;
  height:19px;
  stroke:#C99A1A !important;
  color:#C99A1A !important;
  stroke-width:1.9;
}
.ex-stat:first-child svg,
.ex-stat:nth-child(2) svg,
.ex-stat:last-child svg{
  stroke:#C99A1A !important;
  color:#C99A1A !important;
}

/* UX metrics editorial: tres bloques discretos, grises y con aire */
.ex-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:center;
  gap:0;
  margin-top:14px;
  padding-top:18px;
  padding-bottom:14px;
  border-top:1px solid #d8d5cc;
}
.ex-stat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  font-size:12.5px;
  font-weight:500;
  line-height:1.2;
  color:#4f5660;
}
.ex-stat svg{
  width:14px;
  height:14px;
  stroke:#8a9098 !important;
  color:#8a9098 !important;
  stroke-width:1.8;
}
.ex-stat:first-child svg,
.ex-stat:nth-child(2) svg,
.ex-stat:last-child svg{
  stroke:#8a9098 !important;
  color:#8a9098 !important;
}

/* UX final tweaks Explorar */
.ex-card-thumb .ed-save,
.ex-card-action{
  width:27px;
  height:27px;
  top:8px;
}
.ex-card-thumb .ed-save{ right:8px; }
.ex-card-hide{ left:8px; }
.ex-card-thumb .ed-save svg,
.ex-card-action svg{
  width:13px;
  height:13px;
}
.ex-card-body{
  padding-top:19px;
}
.ex-head p{
  max-width:62%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media (max-width: 980px){
  .ex-head p{ max-width:100%; }
}

/* UX sticky panel: panel fijo bajo cabecera con scroll interno único */
:root{
  --ex-header-height:var(--header-height, 84px);
  --ex-bottom-gap:var(--bottom-gap, 24px);
}
.ex-aside-col{
  position:static;
  top:auto;
}
.ex-filters-panel{
  position:sticky;
  top:var(--ex-header-height);
  max-height:calc(100vh - var(--ex-header-height) - var(--ex-bottom-gap));
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:16px;
  scrollbar-gutter:stable;
}
.ex-filter-primary{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--paper);
  margin:-22px -22px 18px;
  padding:22px 22px 4px;
  border-bottom:1px solid var(--rule-2);
}
.ex-filter-primary .ex-panel-block:last-child{
  margin-bottom:14px;
}
.ex-filter-secondary{
  min-width:0;
  padding-top:8px;
}
@media (max-width: 980px){
  .ex-aside-col{ display:none; }
  .ex-aside-mobile .ex-filters-panel{
    position:static;
    top:auto;
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
    padding-bottom:22px;
  }
  .ex-aside-mobile .ex-filter-primary{
    position:static;
    margin:-22px -22px 18px;
  }
}

/* Explorar v1.1: compactación vertical final sin cambiar arquitectura */
.ex-head{ margin-bottom:26px; }
.ex-head-row{ align-items:flex-start; }
.ex-head-count{
  margin-top:6px;
  cursor:default;
  user-select:none;
}
.ex-head p{
  max-width:min(720px, calc(100% - 180px));
  margin-top:7px;
  line-height:1.48;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ex-panel-block{
  padding-bottom:14px;
  margin-bottom:14px;
}
.ex-panel-search{
  padding-bottom:10px;
  margin-bottom:10px;
}
.ex-search-side input{
  height:40px;
  padding-top:0;
  padding-bottom:0;
}
.ex-saved-btn{
  min-height:42px;
  padding-top:9px;
  padding-bottom:9px;
  margin-bottom:14px;
}
.ex-sort-select-label{ margin-bottom:7px; }
.ex-fgroup{ margin-bottom:18px; }
.ex-fgroup-title{ margin-top:0; margin-bottom:9px; }
.ex-fgroup-list{ gap:0; }
.ex-filters .ex-check{ padding-top:5.5px; padding-bottom:5.5px; }
.ex-fgroup-more{ margin-top:8px; }
.ex-filter-primary{
  margin:-22px -22px 14px;
  padding:18px 22px 0;
}
.ex-filter-primary .ex-panel-block:last-child{ margin-bottom:10px; }
.ex-filter-secondary{ padding-top:6px; }
@media (max-width: 980px){
  .ex-head p{
    max-width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .ex-aside-mobile .ex-filter-primary{ margin:-22px -22px 14px; }
}

/* Explorar: retícula vertical fija para tarjetas */
.ex-card-body{
  display:flex;
  flex-direction:column;
}
.ex-card h3{
  line-height:1.28;
  height:calc(16px * 1.28 * 2);
  min-height:calc(16px * 1.28 * 2);
  max-height:calc(16px * 1.28 * 2);
  -webkit-line-clamp:2;
}
.ex-author{
  line-height:1.35;
  height:calc(12.5px * 1.35);
  min-height:calc(12.5px * 1.35);
  max-height:calc(12.5px * 1.35);
}
.ex-stats{
  margin-top:auto;
}

/* Explorar: comportamiento estable del panel acompañante */
.ex-aside-col{ align-self:start; }
.ex-filters-panel{
  scroll-behavior:smooth;
  scrollbar-gutter:stable both-edges;
}

/* Explorar: el contenedor lateral es el elemento sticky; el panel conserva scroll interno */
.ex-aside-col{
  position:sticky;
  top:var(--ex-header-height);
  align-self:start;
}
.ex-filters-panel{
  position:relative;
  top:auto;
  max-height:calc(100vh - var(--ex-header-height) - var(--ex-bottom-gap));
  overflow-y:auto;
}
@media (max-width: 980px){
  .ex-aside-col{ position:static; top:auto; }
}

/* Explorar: fijación estable del panel durante la exploración */
.ex-aside-col{
  position:relative;
  top:auto;
  min-height:calc(100vh - var(--ex-header-height) - var(--ex-bottom-gap));
}
.ex-aside-col.is-stuck .ex-filters-panel{
  position:fixed;
  top:var(--ex-header-height);
  width:var(--ex-panel-width);
  z-index:4;
}
@media (max-width: 980px){
  .ex-aside-col,
  .ex-aside-col.is-stuck{
    position:static;
    top:auto;
    min-height:0;
  }
  .ex-aside-col.is-stuck .ex-filters-panel{
    position:static;
    top:auto;
    width:auto;
  }
}

/* Explorar: carga incremental continua */
.ex-load-more-wrap{
  display:flex;
  justify-content:center;
  margin:28px 0 4px;
}
.ex-load-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--rule);
  background:var(--paper);
  color:var(--navy);
  font-family:var(--sans);
  font-size:13px;
  font-weight:750;
  letter-spacing:.005em;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.ex-load-more:hover{
  border-color:var(--navy);
  background:#f4f3ef;
}

/* Explorar v1.3: cabecera mínima, panel sin divisorias y ritmo compacto */
.ex-head{
  margin-bottom:18px;
}
.ex-head-row{
  align-items:flex-start;
  gap:18px;
}
.ex-head-title{
  font-family:var(--serif);
  font-weight:520;
  font-size:18.5px;
  line-height:1.28;
  letter-spacing:-.008em;
  color:var(--ink-2);
  margin:0;
  max-width:min(780px, calc(100% - 178px));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ex-head p{ display:none; }
.ex-head-count{
  margin-top:0;
  cursor:default;
  pointer-events:none;
}
.ex-panel-block{
  border-bottom:0 !important;
  padding-bottom:10px;
  margin-bottom:11px;
}
.ex-panel-search{
  padding-bottom:8px;
  margin-bottom:8px;
}
.ex-filters-panel{
  padding-top:15px;
}
.ex-filter-primary{
  margin:-15px -22px 10px;
  padding:13px 22px 0;
}
.ex-filter-primary .ex-panel-block:last-child{ margin-bottom:8px; }
.ex-filter-secondary{
  padding-top:10px;
}
.ex-fgroup{
  margin-bottom:14px;
}
.ex-fgroup-title{
  margin-top:0;
  margin-bottom:8px;
}
.ex-fgroup-list{ gap:0; }
.ex-filters .ex-check{
  padding-top:4.5px;
  padding-bottom:4.5px;
}
.ex-saved-btn{
  min-height:40px;
  padding-top:8px;
  padding-bottom:8px;
  margin-bottom:10px;
}
.ex-sort-select-label{ margin-bottom:6px; }
.ex-sort-select{ min-height:42px; }
.ex-search-side input{ height:38px; }
.ex-search-side .ex-search-icon{ top:11px; }
.ex-activebar{ margin-bottom:12px; }
@media (max-width: 980px){
  .ex-head-title{
    max-width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .ex-filter-primary{ margin:-15px -22px 10px; }
}

/* Explorar v1.3 fix: la frase principal gana a la regla base de h1 */
.ex-head h1.ex-head-title{
  font-family:var(--serif);
  font-weight:520;
  font-size:18.5px;
  line-height:1.28;
  letter-spacing:-.008em;
  color:var(--ink-2);
  margin:0;
  max-width:min(780px, calc(100% - 178px));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width: 980px){
  .ex-head h1.ex-head-title{
    max-width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}

/* Explorar: compactar únicamente el pie de métricas de las tarjetas */
.ex-card-body{
  padding-bottom:7px;
}
.ex-stats{
  padding-top:8px;
  padding-bottom:6px;
}

/* Explorar: ritmo vertical uniforme del panel de filtros */
.ex-filters-panel{
  padding-top:10px;
}
.ex-filter-primary{
  margin:-10px -22px 9px;
  padding:10px 22px 0;
}
.ex-panel-search{
  padding-bottom:8px;
  margin-bottom:8px;
}
.ex-search-side .ex-search-icon{
  top:50%;
  transform:translateY(-50%);
}
.ex-panel-block{
  padding-bottom:10px;
  margin-bottom:10px;
}
.ex-filter-primary .ex-panel-block:last-child{
  margin-bottom:9px;
}
.ex-filter-secondary{
  padding-top:12px;
}
.ex-filter-secondary .ex-fgroup:first-child{
  margin-top:0;
}
.ex-fgroup{
  margin-bottom:14px;
}
.ex-fgroup-title{
  margin-top:0;
  margin-bottom:8px;
}
.ex-fgroup-list{
  gap:0;
}
.ex-filters .ex-check{
  padding-top:4.5px;
  padding-bottom:4.5px;
}
@media (max-width: 980px){
  .ex-filter-primary{ margin:-10px -22px 9px; }
}

/* Book covers in Explorar: show the full vertical portada inside a stable, elegant frame. */
.ex-card-book .ex-card-thumb,
.ex-card-thumb[data-format="libro"]{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  aspect-ratio:16/10;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,255,255,.92), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, rgba(247,243,234,.96), rgba(232,225,211,.82));
}
.ex-card-book .ex-card-thumb .ed-thumb,
.ex-card-thumb[data-format="libro"] .ed-thumb{
  aspect-ratio:2/3 !important;
  width:min(42%, 118px);
  height:auto;
  flex:0 0 auto;
  margin:16px auto 18px;
  border-radius:2px;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
  filter:drop-shadow(0 14px 15px rgba(11,29,58,.20));
}
.ex-card-book .ex-card-thumb .ed-thumb img,
.ex-card-thumb[data-format="libro"] .ed-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
@media (max-width: 760px){
  .ex-card-book .ex-card-thumb .ed-thumb,
  .ex-card-thumb[data-format="libro"] .ed-thumb{ width:min(46%, 126px); }
}
