/* ─────────────────────────────────────────────────────────────────────
   CINESTRENOS — public archive stylesheet
   Type: Oswald (display) + Source Sans 3 (body) + JetBrains Mono (codes)
   The block below was the prototype's palette; SSR delivers it once.
   ───────────────────────────────────────────────────────────────────── */

:root{
  /* defaults — single palette ("papel"). The prototype's JS toggle is gone. */
  --c-bg: oklch(0.955 0.006 245);          /* cool light gray, faint blue */
  --c-bg2: oklch(0.93 0.008 245);
  --c-ink: oklch(0.16 0.008 250);          /* near-black */
  --c-header: oklch(0.13 0.006 250);       /* header black */
  --c-header-ink: oklch(0.97 0.004 245);
  --c-header-sub: oklch(0.72 0.008 245);
  --c-gold: oklch(0.80 0.13 82);           /* dorado del eslogan */
  --c-sub: oklch(0.40 0.012 245);
  --c-rule: oklch(0.82 0.008 245);
  --c-accent: oklch(0.46 0.15 25);         /* bordeó */
  --c-accentSoft: oklch(0.92 0.04 25);
  --c-chip: oklch(0.99 0.004 245);

  --display: "Oswald", "Bebas Neue", Impact, sans-serif;
  --body: "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --container: 1180px;
  --container-pad: 36px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--c-bg);color:var(--c-ink)}
body{
  font-family:var(--body);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a,button{color:inherit;font-family:inherit}
button{background:none;border:0;padding:0;cursor:pointer}

a{color:var(--c-accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}

::selection{background:var(--c-accent);color:var(--c-bg)}

/* ───────────── Page chrome ───────────── */
.page{min-height:100vh;display:flex;flex-direction:column}

.site-header{
  background:var(--c-header);
  color:var(--c-header-ink);
  border-bottom:3px solid var(--c-accent);
}
.site-header__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:18px var(--container-pad);
  display:flex;align-items:center;gap:28px;
}

.wordmark{
  display:flex;align-items:baseline;gap:18px;line-height:1;
  padding:2px 0;background:none;
  white-space:nowrap;
}
.wordmark__brand{
  font-family:var(--display);
  font-weight:500;
  font-size:36px;letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--c-header-ink);
}
.wordmark__div{
  width:1px;height:34px;
  background:oklch(from var(--c-header-ink) l c h / .35);
  display:inline-block;
}
.wordmark__cartelera{
  height:36px;width:auto;display:block;
  opacity:1;
  position:relative;top:1px;
}
.wordmark__sub{
  font-family:var(--body);
  font-size:16px;letter-spacing:.01em;
  color:var(--c-gold);
  font-style:italic;font-weight:400;
}

.site-nav{
  display:flex;gap:24px;margin-left:auto;
  font-family:var(--body);font-size:14.5px;
}
.site-nav a{
  text-decoration:none;color:var(--c-header-ink);
  padding-bottom:3px;border-bottom:1px solid transparent;
}
.site-nav a:hover{border-bottom-color:var(--c-accent);color:var(--c-accent)}

.header-search{
  display:flex;align-items:center;gap:6px;
  border:1px solid oklch(from var(--c-header-ink) l c h / .25);
  padding:3px 3px 3px 10px;
  background:oklch(from var(--c-header-ink) l c h / .08);
  margin-left:8px;
  border-radius:3px;
  flex-shrink:0;
}
.header-search input{
  border:0;background:transparent;outline:0;
  font-family:var(--body);font-size:14px;width:130px;
  color:var(--c-header-ink);
}
.header-search input::placeholder{color:var(--c-header-sub)}
.header-search button{
  background:var(--c-accent);color:#fff;
  font-size:12.5px;padding:6px 11px;border-radius:2px;
  font-family:var(--body);font-weight:500;
  white-space:nowrap;
}
.header-search button:hover{background:oklch(0.52 0.18 25)}

/* ───────────── Container shared ───────────── */
.home,.results,.detail{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--container-pad);
  width:100%;
}

/* ───────────── HOME ───────────── */
.hero{padding:56px 0 40px;border-bottom:1px solid var(--c-rule)}

.hero__eyebrow{
  font-family:var(--body);font-size:13.5px;
  color:var(--c-sub);
  display:flex;align-items:center;gap:8px;margin-bottom:24px;
}
.dot{width:8px;height:8px;background:var(--c-accent);border-radius:999px;display:inline-block}

.hero__title{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(40px, 6.2vw, 76px);
  line-height:1.02;letter-spacing:.005em;
  text-transform:uppercase;
  margin:0 0 24px;
  max-width:22ch;
  text-wrap:balance;
  color:var(--c-ink);
}
.hero__title em{font-style:normal;color:var(--c-accent)}

.hero__lede{
  font-family:var(--body);
  font-size:19px;line-height:1.55;
  color:var(--c-ink);
  max-width:62ch;margin:0 0 36px;
}

/* search card — proper form, not editorial flourish */
.searchcard{
  background:var(--c-bg2);
  border:1px solid var(--c-rule);
  padding:24px 26px;
  border-radius:4px;
}
.searchcard__h{
  font-family:var(--display);
  font-weight:500;font-size:20px;letter-spacing:.04em;
  text-transform:uppercase;margin:0 0 18px;
  color:var(--c-ink);
}

.fieldgrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px 18px;
}
.fieldgrid .field--full{grid-column:1 / -1}
.fieldgrid .field--years{grid-column:1 / -1}

.field{display:flex;flex-direction:column;gap:6px}
.field > label{
  font-family:var(--body);font-size:13px;
  color:var(--c-sub);font-weight:500;
  text-transform:uppercase;letter-spacing:.04em;
}
.field input[type="text"],
.field select{
  height:44px;
  font-family:var(--body);font-size:16px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  padding:0 12px;border-radius:3px;outline:0;
  -webkit-appearance:none;appearance:none;
}
.field select{
  background-image:linear-gradient(45deg, transparent 50%, var(--c-sub) 50%),
                  linear-gradient(135deg, var(--c-sub) 50%, transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:34px;
}
.field input[type="text"]:focus,
.field select:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accentSoft)}

.years-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.years-row > span{font-size:14px;color:var(--c-sub);white-space:nowrap}
.years-row input{
  width:90px;height:44px;
  font-family:var(--body);font-size:16px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  padding:0 10px;border-radius:3px;outline:0;
  font-variant-numeric:tabular-nums;
}

.searchcard__submit{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:20px;gap:14px;flex-wrap:wrap;
}
.searchcard__submit .hint{font-size:13.5px;color:var(--c-sub);max-width:42ch}
.searchcard__submit .actions{display:flex;align-items:center;gap:8px}
.btn-primary{
  background:var(--c-ink);color:var(--c-bg);
  font-family:var(--display);font-weight:500;
  font-size:16px;letter-spacing:.05em;text-transform:uppercase;
  padding:14px 28px;border-radius:3px;
  display:inline-flex;align-items:center;gap:10px;
  white-space:nowrap;
}
.btn-primary:hover{background:var(--c-accent)}
.btn-tertiary{
  background:transparent;color:var(--c-ink);
  font-family:var(--body);font-size:14.5px;
  padding:10px 14px;
  border:1px solid transparent;
  white-space:nowrap;
  text-decoration:none;cursor:pointer;
}
.btn-tertiary:hover{color:var(--c-accent)}

/* stats — single legible row */
.stats{
  margin:36px 0 0;padding:24px 0 0;
  border-top:1px solid var(--c-rule);
  display:flex;flex-wrap:wrap;gap:0;
  align-items:baseline;
}
.stats > div{
  flex:1 1 auto;padding:0 28px;
  border-left:1px solid var(--c-rule);
}
.stats > div:first-child{padding-left:0;border-left:0}
.stats dt{
  font-family:var(--body);font-size:13px;color:var(--c-sub);
  margin:0 0 6px;
}
.stats dd{
  margin:0;font-family:var(--display);font-weight:500;
  font-size:30px;line-height:1;letter-spacing:.01em;
  font-variant-numeric:tabular-nums;color:var(--c-ink);
}

/* section heading (shared) */
.section{padding:52px 0;border-bottom:1px solid var(--c-rule)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.section__head h2{
  font-family:var(--display);
  font-weight:500;font-size:28px;letter-spacing:.03em;
  text-transform:uppercase;margin:0;color:var(--c-ink);
}
.section__head p{
  font-family:var(--body);font-size:15px;color:var(--c-sub);
  margin:0;
}
.section__head .head-link{font-size:14.5px}

/* decades — simple row of links, not card grid */
.decades-row{
  display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--c-rule);
  border-bottom:1px solid var(--c-rule);
}
.decade-link{
  flex:1 1 0;min-width:90px;
  padding:18px 16px;
  text-align:left;
  border-right:1px solid var(--c-rule);
  display:flex;flex-direction:column;gap:4px;
  background:transparent;
  color:var(--c-ink);text-decoration:none;
}
.decade-link:last-child{border-right:0}
.decade-link:hover{background:var(--c-bg2);color:var(--c-accent)}
.decade-link__num{
  font-family:var(--display);font-weight:500;
  font-size:28px;letter-spacing:.02em;line-height:1;
  font-variant-numeric:tabular-nums;
}
.decade-link__count{font-size:13.5px;color:var(--c-sub)}

/* ───────────── Notas / homenajes (editorial entries) ───────────── */
.notas{
  display:flex;flex-direction:column;gap:24px;
}
.nota{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:36px;
  background:var(--c-chip);
  border:1px solid var(--c-rule);
  border-radius:4px;
  padding:28px 30px;
  align-items:start;
}
.nota__body{display:flex;flex-direction:column;gap:12px;min-width:0}
.nota__kicker{
  font-family:var(--body);font-size:12.5px;
  color:var(--c-accent);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
}
.nota__title{
  font-family:var(--display);font-weight:500;
  font-size:30px;letter-spacing:.02em;line-height:1.1;
  text-transform:uppercase;
  margin:0;color:var(--c-ink);
}
.nota__title .nota__years{
  font-family:var(--body);font-size:18px;
  color:var(--c-sub);font-weight:400;letter-spacing:0;
  text-transform:none;margin-left:6px;
  font-variant-numeric:tabular-nums;
}
.nota__body p{
  margin:0;font-size:16px;line-height:1.65;
  color:var(--c-ink);
  max-width:65ch;text-wrap:pretty;
}
.nota__body p em{font-style:italic}
.nota__body .num{font-variant-numeric:tabular-nums}

.nota__portrait{
  margin:0;display:flex;flex-direction:column;gap:8px;
}
.nota__portrait-ph{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:1 / 1;
  background:
    repeating-linear-gradient(
      135deg,
      oklch(0.88 0.008 245) 0 1px,
      transparent 1px 10px
    ),
    var(--c-bg2);
  border:1px solid var(--c-rule);
  border-radius:3px;
  color:var(--c-sub);
  font-family:var(--body);font-size:13px;
  text-transform:uppercase;letter-spacing:.08em;
}
.nota__portrait img{
  display:block;width:100%;height:auto;
  aspect-ratio:1 / 1;object-fit:cover;
  border:1px solid var(--c-rule);
  border-radius:3px;
}
.nota__portrait figcaption{
  font-family:var(--body);font-size:12.5px;
  color:var(--c-sub);font-style:italic;
  text-align:right;line-height:1.4;
}

/* ───────────── RESULTS ───────────── */
.results{padding:28px var(--container-pad) 80px}
.results__form{margin:0 0 22px}

.results__bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:14px 0 18px;flex-wrap:wrap;
  border-bottom:1px solid var(--c-rule);
}
.results__title{
  font-family:var(--display);font-weight:500;
  font-size:22px;letter-spacing:.03em;text-transform:uppercase;
  margin:0;color:var(--c-ink);
}
.results__title .count{color:var(--c-accent)}
.results__sort{font-size:14px;color:var(--c-sub);display:flex;align-items:center;gap:8px;white-space:nowrap}
.results__sort select{
  height:36px;padding:0 32px 0 12px;min-width:180px;
  font-family:var(--body);font-size:14px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;outline:0;-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, var(--c-sub) 50%),
                  linear-gradient(135deg, var(--c-sub) 50%, transparent 50%);
  background-position:calc(100% - 14px) 50%, calc(100% - 10px) 50%;
  background-size:5px 5px, 5px 5px;background-repeat:no-repeat;
}

/* layout */
.results__layout{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:40px;
  margin-top:24px;
  align-items:start;
}

/* filters sidebar */
.filters{position:sticky;top:24px;display:flex;flex-direction:column;gap:28px}
.fgroup{display:flex;flex-direction:column;gap:10px}
.fgroup__head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--c-ink);padding-bottom:6px}
.fgroup__head h3{
  font-family:var(--display);font-weight:500;
  font-size:15px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--c-ink);margin:0;
}
.fgroup__caption{font-size:12.5px;color:var(--c-sub);font-variant-numeric:tabular-nums}

.facet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.facet button{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;
  width:100%;text-align:left;padding:7px 0;
  font-size:15px;color:var(--c-ink);
  border-bottom:1px dotted oklch(from var(--c-rule) l c h / .6);
}
.facet li:last-child button{border-bottom:0}
.facet button > span:first-child{
  flex:1;min-width:0;
  display:flex;align-items:center;gap:8px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.facet button > .num{flex-shrink:0;white-space:nowrap;font-size:13px;color:var(--c-sub);font-variant-numeric:tabular-nums}
.facet button:hover{color:var(--c-accent)}
.facet button.is-on{color:var(--c-accent);font-weight:600}

.ghost.more{
  font-size:13.5px;color:var(--c-accent);
  text-align:left;margin-top:6px;text-decoration:underline;
}

.quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.quick button{
  font-family:var(--body);font-size:13px;
  border:1px solid var(--c-rule);
  padding:4px 10px;border-radius:3px;color:var(--c-ink);
  background:var(--c-chip);
}
.quick button:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* dual slider */
.dualslider{
  position:relative;height:28px;margin:8px 0 4px;
}
.dualslider input{
  position:absolute;inset:0;width:100%;height:100%;
  appearance:none;background:transparent;pointer-events:none;
  margin:0;padding:0;
}
.dualslider input::-webkit-slider-thumb{
  appearance:none;width:16px;height:16px;border-radius:999px;
  background:var(--c-ink);border:2px solid var(--c-bg);
  pointer-events:auto;cursor:grab;margin-top:0;
}
.dualslider input::-moz-range-thumb{
  appearance:none;width:16px;height:16px;border-radius:999px;
  background:var(--c-ink);border:2px solid var(--c-bg);
  pointer-events:auto;cursor:grab;
}
.dualslider__rail{
  position:absolute;left:0;right:0;top:50%;height:3px;
  transform:translateY(-50%);background:var(--c-rule);border-radius:2px;
}
.dualslider__fill{
  position:absolute;top:50%;height:3px;
  transform:translateY(-50%);background:var(--c-ink);
}

/* ───────────── Result rows (tabular ficha layout) ───────────── */
.rlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}

.rrow{
  border-bottom:1px solid var(--c-rule);
  background:var(--c-chip);
  padding:0;
}
.rrow:first-child{border-top:1px solid var(--c-rule)}
.rrow + .rrow{margin-top:14px;border-top:1px solid var(--c-rule)}

.rfield{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  padding:11px 22px;
  align-items:baseline;
  border-bottom:1px dotted oklch(from var(--c-rule) l c h / .55);
}
.rfield:last-child{border-bottom:0}
.rfield--title{padding-top:16px}
.rfield--details{padding-bottom:18px;align-items:start}
.rfield--title + .rfield--orig{border-top:0}

.rfield__lbl{
  font-family:var(--body);font-size:13px;
  color:var(--c-sub);font-weight:500;
  text-transform:uppercase;letter-spacing:.04em;
  line-height:1.4;
}
.rfield__val{
  font-family:var(--body);font-size:16px;color:var(--c-ink);
  line-height:1.55;
  min-width:0;
}
.rfield__val--title{
  font-family:var(--display);font-weight:500;
  font-size:24px;letter-spacing:.02em;text-transform:uppercase;
  line-height:1.15;
}
.rfield__val--title a{
  color:var(--c-ink);text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:1px;
}
.rfield__val--title a:hover{
  color:var(--c-accent);
  border-bottom-color:var(--c-accent);
}
.rfield__val--orig{font-style:italic;color:var(--c-ink);font-size:17px}
.rfield__val .anio{font-variant-numeric:tabular-nums;font-weight:500}

.rfield__details{display:flex;flex-direction:column;gap:6px}
.rfield__details p{margin:0;font-size:16px;line-height:1.55}
.rfield__details .lbl-inline{color:var(--c-sub);font-weight:500;margin-right:2px}
.rfield__details .curio{
  margin-top:6px;padding-top:8px;
  border-top:1px solid var(--c-rule);
  font-size:15.5px;line-height:1.6;
  color:var(--c-ink);
}
.rfield__details .curio .lbl-inline{font-style:italic}

.rfield__details a.lk{
  color:var(--c-accent);
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
  cursor:pointer;
}
.rfield__details a.lk:hover{text-decoration-thickness:2px}

.hito-banner{
  display:inline-flex;align-items:center;gap:8px;
  margin:8px 0 4px;
  background:var(--c-accentSoft);
  color:var(--c-accent);
  padding:5px 12px;border-radius:3px;
  font-family:var(--body);font-size:13px;font-weight:600;
}

/* index layout (compact) */
.indice{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-rule)}
.indice__head,
.indice li{
  display:grid;
  grid-template-columns:70px 2fr 1.5fr minmax(140px,1fr);
  gap:24px;
  align-items:baseline;
}
.indice__head{
  padding:10px 0;
  border-bottom:1px solid var(--c-rule);
  font-family:var(--display);
  font-weight:600;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-sub);
}
.indice li{
  border-bottom:1px solid var(--c-rule);
  font-size:15px;
  padding:11px 0;
}
.indice li:hover{background:var(--c-bg2)}
.indice li a{color:inherit;text-decoration:none}
.indice li a:hover{color:var(--c-accent);text-decoration:underline;text-decoration-thickness:1px}
.indice__year{color:var(--c-sub);font-variant-numeric:tabular-nums}
.indice__title{
  font-family:var(--display);font-weight:500;
  font-size:17px;letter-spacing:.02em;text-transform:uppercase;
  color:var(--c-ink);
}
.indice li:hover .indice__title{color:var(--c-accent)}
.indice__dir{color:var(--c-ink);font-size:14.5px}
.indice__pais{font-size:13px}

/* flag chip */
.flag-chip{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--c-bg2);
  border:1px solid var(--c-rule);
  font-family:var(--mono);font-size:11px;
  padding:1px 5px;border-radius:2px;
  color:var(--c-sub);letter-spacing:.04em;
  vertical-align:1px;
}

/* empty */
.empty{padding:64px 0;text-align:center}
.empty p{font-family:var(--body);font-size:20px;color:var(--c-sub);margin:0}
.empty__sub{font-size:15px;margin-top:6px !important}

.block{display:flex;flex-direction:column;gap:12px}
.block__h{
  font-family:var(--display);font-weight:500;
  font-size:18px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--c-ink);
  margin:0;padding-bottom:6px;border-bottom:1px solid var(--c-rule);
}

.lk{
  color:var(--c-accent);
  text-decoration:underline;
  text-underline-offset:2px;
  padding:0;background:none;border:0;
  display:inline;text-align:left;
  font:inherit;cursor:pointer;
}
.lk:hover{text-decoration-thickness:2px}

/* ───────────── DETAIL — ficha tabulated like results ───────────── */
.detail{padding:28px var(--container-pad) 80px}

.detail__crumbs{
  font-family:var(--body);font-size:14px;
  color:var(--c-sub);
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin-bottom:20px;
}
.detail__crumbs a{color:var(--c-accent);text-decoration:underline;cursor:pointer}
.detail__crumbs span{color:var(--c-sub)}

.ficha{
  background:var(--c-chip);
  border:1px solid var(--c-rule);
  border-radius:4px;
  padding:6px 28px 22px;
  margin-bottom:36px;
}
.ficha__row{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:32px;
  padding:14px 0;
  border-bottom:1px dotted oklch(from var(--c-rule) l c h / .6);
  align-items:baseline;
}
.ficha__row:last-child{border-bottom:0}
.ficha__row--title{
  padding-top:24px;padding-bottom:18px;
  border-bottom:1px solid var(--c-rule);
  align-items:baseline;
}
.ficha__row--curio{
  padding-top:18px;padding-bottom:6px;
  align-items:start;
}

.ficha__lbl{
  font-family:var(--body);font-size:13px;
  color:var(--c-sub);font-weight:500;
  text-transform:uppercase;letter-spacing:.04em;
  padding-top:3px;
  line-height:1.4;
}
.ficha__val{
  font-family:var(--body);font-size:17px;
  color:var(--c-ink);line-height:1.55;
  margin:0;min-width:0;
}
.ficha__val .anio{font-variant-numeric:tabular-nums;font-weight:500}
.ficha__val--orig{font-style:italic;font-size:18px;color:var(--c-ink)}
.ficha__val--prose{font-size:17px;line-height:1.65;max-width:72ch}
.ficha__val em{font-style:italic}

.ficha__title{
  font-family:var(--display);font-weight:500;
  font-size:clamp(34px, 4.4vw, 52px);
  letter-spacing:.02em;line-height:1.05;
  text-transform:uppercase;
  margin:0;color:var(--c-ink);text-wrap:balance;
}

.ficha__val .lk,
.ficha__val a{
  color:var(--c-accent);
  text-decoration:underline;
  text-underline-offset:2px;cursor:pointer;
}
.ficha__val .lk:hover,
.ficha__val a:hover{text-decoration-thickness:2px}

.block--appears{margin-bottom:48px}

.appears{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--c-rule)}
.appears li{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 4px;border-bottom:1px solid var(--c-rule);
  cursor:pointer;font-size:16px;color:var(--c-ink);
  transition:padding-left .15s ease;
}
.appears li:hover{color:var(--c-accent);padding-left:14px}
.appears li:hover .arr{color:var(--c-accent);transform:translateX(4px)}
.appears .arr{color:var(--c-sub);transition:transform .15s ease}

.related{padding:40px 0 0;border-top:1px solid var(--c-rule)}

/* ───────────── Footer ───────────── */
.site-footer{
  margin-top:auto;
  background:var(--c-header);
  color:var(--c-header-ink);
}
.site-footer__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:56px var(--container-pad) 56px;
  display:grid;
  grid-template-columns:1.8fr auto auto;
  gap:64px;
  justify-content:space-between;
}
.site-footer nav{display:flex;flex-direction:column;gap:6px;text-align:right}
.footer-brand .wordmark__brand{color:var(--c-header-ink)}
.footer-brand .wordmark__sub{color:var(--c-gold)}
.footer-brand p{font-size:14px;color:oklch(0.70 0.008 245);margin:14px 0 0;max-width:32ch}
.footer-mvdcomm{
  display:inline-block;margin-top:24px;
  font-family:var(--display);font-weight:500;
  font-size:15px;letter-spacing:.05em;
  color:var(--c-header-ink);text-decoration:none;
  opacity:.85;transition:opacity .15s ease;
}
.footer-mvdcomm:hover{opacity:1;color:var(--c-gold);text-decoration:underline}
.site-footer h4{
  font-family:var(--display);font-weight:500;
  font-size:15px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--c-header-ink);margin:0 0 8px;
}
.site-footer a{
  font-family:var(--body);font-size:14.5px;
  color:oklch(0.80 0.008 245);
  text-decoration:none;cursor:pointer;
}
.site-footer a:hover{color:var(--c-gold);text-decoration:underline}
.site-footer__rule{
  max-width:var(--container);
  margin:0 auto;padding:18px var(--container-pad) 32px;
  font-size:13.5px;color:oklch(0.60 0.008 245);
  border-top:1px solid oklch(0.28 0.010 245);
}

/* utility */
.mono{font-family:var(--mono)}

/* ───────────── Búsqueda avanzada (tabular form, like the original) ───────────── */
.searchcard--avanzada{
  padding:0;
  overflow:hidden;
}
.searchcard--avanzada .searchcard__h{
  margin:0;
  padding:11px 26px;
  background:var(--c-header);
  color:var(--c-header-ink);
  font-size:16px;letter-spacing:.05em;
  text-align:center;
}
.searchcard--avanzada .searchcard__submit{
  padding:14px 26px 18px;
  margin-top:0;
  border-top:1px solid var(--c-rule);
}

.advgrid{
  display:flex;flex-direction:column;
}
.advrow{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  align-items:center;
  padding:8px 26px;
  border-bottom:1px solid oklch(from var(--c-rule) l c h / .55);
  background:var(--c-chip);
}
.advrow:last-of-type{border-bottom:0}

.advrow > label{
  font-family:var(--body);font-weight:600;
  font-size:14.5px;
  color:var(--c-ink);
  text-align:right;
  text-transform:none;letter-spacing:0;
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
}
.advrow .hint-inline{
  font-weight:400;font-size:12px;
  color:var(--c-sub);font-style:italic;
}

.advrow input[type="text"],
.advrow select{
  height:34px;
  font-family:var(--body);font-size:15px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  padding:0 10px;border-radius:3px;outline:0;
  -webkit-appearance:none;appearance:none;
  max-width:380px;
}
.advrow select{
  padding-right:30px;
  background-image:linear-gradient(45deg, transparent 50%, var(--c-sub) 50%),
                  linear-gradient(135deg, var(--c-sub) 50%, transparent 50%);
  background-position:calc(100% - 14px) 50%, calc(100% - 10px) 50%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
}
.advrow select.select--narrow{max-width:80px;padding-right:26px}
.advrow input[type="text"]:focus,
.advrow select:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accentSoft)}

/* date row */
.advrow--dates .dmy-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.dmy-row__between{
  font-family:var(--body);font-size:14px;
  color:var(--c-sub);
}
.dmy{display:flex;align-items:center;gap:2px}
.dmy select{
  height:34px;padding:0 20px 0 6px;
  font-family:var(--body);font-size:14px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;outline:0;
  -webkit-appearance:none;appearance:none;
  font-variant-numeric:tabular-nums;
  background-image:linear-gradient(45deg, transparent 50%, var(--c-sub) 50%),
                  linear-gradient(135deg, var(--c-sub) 50%, transparent 50%);
  background-position:calc(100% - 8px) 50%, calc(100% - 5px) 50%;
  background-size:4px 4px, 4px 4px;
  background-repeat:no-repeat;
  min-width:48px;
}
.dmy select:nth-child(5){min-width:70px}
.dmy__sep{color:var(--c-sub);font-weight:500;font-size:13px}

@media (max-width: 720px){
  .advrow{grid-template-columns:1fr;gap:6px;padding:14px 18px}
  .advrow > label{text-align:left;align-items:flex-start}
  .advrow input[type="text"],
  .advrow select{max-width:none;width:100%}
  .advrow--dates .dmy-row{gap:6px}
  .dmy select{min-width:48px;padding:0 18px 0 6px;font-size:14px}
  .searchcard--avanzada .searchcard__h{padding:12px 18px}
  .searchcard--avanzada .searchcard__submit{padding:16px 18px}
}
@media (max-width: 1024px){
  :root{--container-pad: 28px}
  .wordmark__div,.wordmark__sub,.wordmark__cartelera{display:none}
  .stats{gap:16px}
  .stats > div{flex:1 1 40%;padding:8px 16px;border-left:0;border-top:1px dotted var(--c-rule)}
  .stats > div:first-child,.stats > div:nth-child(2){border-top:0}
  .decades-row{flex-wrap:wrap}
  .decade-link{flex:1 1 20%;min-width:120px;border-bottom:1px solid var(--c-rule)}
  .fieldgrid{grid-template-columns:1fr 1fr}
  .fieldgrid .field--full{grid-column:1 / -1}
  .results__layout{grid-template-columns:200px 1fr;gap:28px}
  .nota{grid-template-columns:1fr 220px;gap:24px;padding:22px}
  .nota__portrait-ph,.nota__portrait img{aspect-ratio:4 / 5}
}

@media (max-width: 720px){
  :root{--container-pad: 18px}
  body{font-size:16px}
  .site-header__inner{flex-wrap:wrap;gap:12px;padding:14px var(--container-pad)}
  .site-nav{display:none}
  .header-search{margin-left:auto}
  .hero{padding:40px 0 32px}
  .hero__title{font-size:clamp(34px, 9vw, 48px)}
  .hero__lede{font-size:17px}
  .searchcard{padding:18px}
  .fieldgrid{grid-template-columns:1fr}
  .btn-primary{width:100%;justify-content:center}
  .stats > div{flex:1 1 100%;padding:8px 0;border-top:1px dotted var(--c-rule)}
  .stats > div:first-child{border-top:0}
  .decades-row{display:grid;grid-template-columns:repeat(2, 1fr)}
  .decade-link{border-right:1px solid var(--c-rule)}
  .decade-link:nth-child(2n){border-right:0}
  .decade-link:nth-child(n+3){border-top:1px solid var(--c-rule)}
  .results__layout{grid-template-columns:1fr;gap:20px}
  .filters{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;border-bottom:1px solid var(--c-rule);padding-bottom:16px}
  .rfield{grid-template-columns:1fr;gap:4px;padding:10px 16px}
  .rfield .rfield__lbl{padding-top:0}
  .rrow{padding:0}
  .ficha{padding:6px 18px 18px}
  .ficha__row{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .ficha__row--title{padding-top:18px;padding-bottom:14px}
  .ficha__title{font-size:clamp(28px, 8vw, 40px)}
  .site-footer__inner{grid-template-columns:1fr 1fr;gap:24px}
  .section__head{flex-direction:column;align-items:flex-start}
  .nota{grid-template-columns:1fr;gap:18px;padding:20px}
  .nota__portrait-ph,.nota__portrait img{aspect-ratio:5 / 3}
  .nota__title{font-size:24px}
  .indice li{font-size:14px}
  .indice__head,
  .indice li{grid-template-columns:60px 1fr;gap:10px}
  .indice__dir,.indice__pais{display:none}
}

/* ─────────────────────────────────────────────────────────────────────
   Web overrides — additions on top of the prototype stylesheet to
   support the public-facing build (anchor-based filters, real pager,
   editorial / salas / error pages, preferences toggles).
   ───────────────────────────────────────────────────────────────────── */

/* Facets are anchors, not buttons */
.facet a.facet__row{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  width:100%;padding:7px 0;
  text-decoration:none;
  font-size:15px;color:var(--c-ink);
  border-bottom:1px dotted oklch(from var(--c-rule) l c h / .6);
}
.facet a.facet__row .num{font-size:13px;color:var(--c-sub);font-variant-numeric:tabular-nums}
.facet a.facet__row:hover{color:var(--c-accent)}
.facet a.facet__row.is-on{color:var(--c-accent);font-weight:600}

.period-form{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--c-sub)}
.period-form label{display:flex;justify-content:space-between;align-items:center;gap:8px}
.period-form input[type="date"]{
  height:34px;padding:0 8px;
  font-family:var(--body);font-size:14px;color:var(--c-ink);
  border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;outline:0;
}

/* Sort links bar */
.results__sort{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--c-sub);flex-wrap:wrap}
.results__sort .sort-label{white-space:nowrap}
.results__sort .sort-link{
  font-family:var(--body);font-size:14px;color:var(--c-ink);
  padding:4px 10px;border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;text-decoration:none;
}
.results__sort .sort-link:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* Pager */
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin:36px 0 0;flex-wrap:wrap}
.pager__num,.pager__nav{
  font-family:var(--body);font-size:14px;
  padding:6px 12px;border:1px solid var(--c-rule);
  border-radius:3px;background:var(--c-chip);
  color:var(--c-ink);text-decoration:none;
  min-width:36px;text-align:center;
  font-variant-numeric:tabular-nums;
}
.pager__num.is-current{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}
.pager__num:hover,.pager__nav:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* Editorial pages */
.editorial{max-width:var(--container);margin:0 auto;padding:48px var(--container-pad) 96px}
.editorial__head{margin-bottom:36px;padding-bottom:18px;border-bottom:1px solid var(--c-rule)}
.editorial__head h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(32px, 4vw, 52px);
  letter-spacing:.02em;text-transform:uppercase;line-height:1.05;
  margin:0 0 12px;color:var(--c-ink);
}
.editorial__head p{font-size:18px;color:var(--c-sub);margin:0;max-width:60ch}
.editorial__body{max-width:70ch;font-size:17px;line-height:1.7;color:var(--c-ink)}
.editorial__body h2{
  font-family:var(--display);font-weight:500;font-size:22px;
  letter-spacing:.03em;text-transform:uppercase;margin:36px 0 12px;color:var(--c-ink);
}
.editorial__body p{margin:0 0 16px}

/* Error pages */
.error-page{max-width:680px;margin:0 auto;padding:96px var(--container-pad) 96px;text-align:center}
.error-page__code{
  font-family:var(--display);font-weight:500;font-size:96px;line-height:1;
  letter-spacing:.05em;color:var(--c-accent);margin:0 0 12px;
}
.error-page h1{
  font-family:var(--display);font-weight:500;font-size:32px;
  letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px;color:var(--c-ink);
}
.error-page__lede{font-size:17px;color:var(--c-sub);margin:0 0 28px}
.error-page__search{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.error-page__search input[type="text"]{
  width:280px;max-width:100%;height:44px;padding:0 12px;
  border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;font-size:16px;color:var(--c-ink);
}
.error-page__back{font-size:15px;color:var(--c-sub);margin:0}
.error-page__back a{color:var(--c-accent);text-decoration:underline}

/* Detail — alt titles list */
.ficha__val--alt{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ficha__val--alt li em{color:var(--c-sub);font-style:italic;margin-right:6px}

.ficha__row--prose .ficha__val{white-space:pre-line}

/* Footer legal stripe */
.site-footer__legal{
  max-width:var(--container);margin:0 auto;padding:18px var(--container-pad) 28px;
  font-size:13px;color:oklch(0.60 0.008 245);
  border-top:1px solid oklch(0.28 0.010 245);
}
.site-footer__legal small{font-style:italic}

/* Layout-mode switching — body class toggles. CSS-only equivalent of the
   prototype's tweaks panel: the `RLIST` / `INDICE` block whose sector wasn't
   created already drops out at render time, so no extra display rule is needed.
   This class is kept for future per-mode overrides. */
.layout-indice .results .rlist{display:none}
.layout-editorial .results .indice{display:none}

/* Header nav active state */
.site-nav a.is-on{color:var(--c-gold);border-bottom-color:var(--c-gold)}

.footer-tag{font-size:14px;color:oklch(0.70 0.008 245);margin:14px 0 0;max-width:32ch}

/* Detail breadcrumb tweak */
.detail__crumbs a:hover{text-decoration-thickness:2px}

/* Detail rows scoped collapsible blocks */
.ficha__val ul{list-style:none;margin:0;padding:0}
.ficha__val ul li{padding:3px 0;border-bottom:1px dotted oklch(from var(--c-rule) l c h / .35)}
.ficha__val ul li:last-child{border-bottom:0}

/* Responsive */
@media (max-width: 960px) {
  .results__layout{grid-template-columns:1fr}
  .filters{position:static}
  .ficha__row{grid-template-columns:1fr;gap:4px}
  .rfield{grid-template-columns:1fr;gap:4px}
  .stats > div{flex-basis:50%;border-left:0;padding:8px 0}
}

/* Results bar tools (sort + view/curio toggles) */
.results__bar-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:13.5px;color:var(--c-sub)}
.results__prefs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.results__prefs .prefs-label{white-space:nowrap;font-size:13px}
.results__prefs .prefs-link{
  font-family:var(--body);font-size:13px;color:var(--c-ink);
  padding:3px 8px;border:1px solid var(--c-rule);background:var(--c-chip);
  border-radius:3px;text-decoration:none;
}
.results__prefs .prefs-link:hover{border-color:var(--c-accent);color:var(--c-accent)}
.results__prefs .prefs-link.is-on{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}
.results__prefs .prefs-sep{width:1px;height:18px;background:var(--c-rule);margin:0 4px}

/* Sort active state — matches the prefs toggles for visual consistency */
.results__sort .sort-link.is-on{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}
