/* NSF Buscador de Hilos — estilos públicos */

.nsf-buscador{
  --nsf-navy:#1F2A44;
  --nsf-navy-deep:#141c30;
  --nsf-red:#E7302A;
  --nsf-red-deep:#c22620;
  --nsf-mustard:#C99A2E;
  --nsf-cream:#F5EDE4;
  --nsf-cream-2:#FFFBF6;
  --nsf-ink:#241d18;
  --nsf-ink-soft:#4a423c;
  color:var(--nsf-ink);
  position:relative;
}
.nsf-buscador *{box-sizing:border-box;}

.nsf-buscador .screen-reader-text{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* ---------- HERO ---------- */
.nsf-hero{
  background:radial-gradient(120% 160% at 20% 0%, #f0453f 0%, var(--nsf-red) 48%, var(--nsf-red-deep) 100%);
  color:#fff;
  padding:52px 24px 74px;
  text-align:center;
  border-radius:18px 18px 0 0;
}
.nsf-buscador .nsf-hero .nsf-hero-title,
.nsf-buscador .nsf-hero h1.nsf-hero-title,
.nsf-buscador .nsf-hero h2.nsf-hero-title,
.nsf-buscador .nsf-hero h3.nsf-hero-title{
  font-size:clamp(1.6rem, 3.6vw, 2.3rem);
  font-weight:700;
  margin:0;
  color:#fff !important;
  line-height:1.15;
}
.nsf-buscador .nsf-hero .nsf-hero-title a{color:#fff !important;}
.nsf-buscador .nsf-hero .nsf-hero-lede{
  max-width:460px;
  margin:14px auto 0;
  color:#ffe6e5 !important;
  font-size:1rem;
  line-height:1.55;
}
.nsf-examples{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:18px;}
.nsf-example-chip{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.25);
  color:#fff; font-size:0.8rem; padding:7px 14px;
  border-radius:100px; cursor:pointer; font-family:inherit;
}
.nsf-example-chip:hover{background:rgba(255,255,255,0.2);}

/* ---------- BUSCADOR ---------- */
.nsf-search-shell{max-width:620px; margin:-34px auto 0; padding:0 20px; position:relative; z-index:5;}
.nsf-search-box{
  background:#fff; border-radius:16px;
  box-shadow:0 18px 44px -18px rgba(20,28,48,0.35);
  padding:6px; position:relative;
}
.nsf-search-row{display:flex; align-items:center; gap:10px; padding:8px 12px;}
.nsf-search-row svg{flex:none;}
#nsf-search-input{
  flex:1; border:none; outline:none; background:transparent;
  font-size:1rem; color:var(--nsf-ink); padding:8px 0; font-family:inherit;
  box-shadow:none;
}
#nsf-search-input:focus{box-shadow:none; outline:none;}

.nsf-suggestions{
  position:absolute; top:calc(100% + 8px); left:0; right:0;
  background:#fff; border-radius:14px;
  box-shadow:0 16px 40px -16px rgba(20,28,48,0.3);
  overflow:hidden auto; display:none; max-height:300px; z-index:10;
}
.nsf-suggestions.nsf-open{display:block;}
.nsf-sugg-item{
  display:flex; align-items:center; gap:12px;
  padding:11px 16px; cursor:pointer; border-bottom:1px solid #f0e9de;
}
.nsf-sugg-item:last-child{border-bottom:none;}
.nsf-sugg-item:hover, .nsf-sugg-item.nsf-active{background:var(--nsf-cream);}
.nsf-sugg-title{font-size:0.92rem;}
.nsf-sugg-meta{font-size:0.76rem; color:var(--nsf-ink-soft);}

/* ---------- ETIQUETAS DE TIPO ---------- */
.nsf-tag{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.6rem; text-transform:uppercase; letter-spacing:0.06em;
  padding:3px 8px; border-radius:100px; color:#fff; flex:none; display:inline-block;
}
.nsf-type-libro{background:#8a4b3a;}
.nsf-type-juego{background:var(--nsf-mustard);}
.nsf-type-pelicula{background:#3a5a8a;}
.nsf-type-serie{background:#3a5a8a;}
.nsf-type-musica{background:var(--nsf-navy);}

/* ---------- RESULTADOS ---------- */
.nsf-results{max-width:880px; margin:0 auto; padding:44px 20px 0;}
.nsf-thread-block{margin-bottom:42px;}
.nsf-anchor-card{
  background:var(--nsf-navy); color:#fff; border-radius:16px;
  padding:24px 26px; display:flex; align-items:center; gap:16px; margin-bottom:28px;
}
.nsf-anchor-icon{
  width:46px; height:46px; border-radius:12px; flex:none;
  background:rgba(255,255,255,0.12);
  display:flex; align-items:center; justify-content:center;
}
.nsf-eyebrow{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase; letter-spacing:0.12em;
  font-size:0.66rem; font-weight:700; margin:0;
}
.nsf-anchor-card .nsf-eyebrow{color:var(--nsf-mustard);}
.nsf-anchor-card h3{font-size:1.35rem; font-weight:700; margin:4px 0 0; color:#fff;}

.nsf-thread-head{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  margin-bottom:18px; padding-bottom:12px; border-bottom:2px dashed #ddd0bd;
}
.nsf-thread-head .nsf-eyebrow{color:var(--nsf-red);}
.nsf-thread-head h4{
  font-size:1.05rem; font-weight:600; color:var(--nsf-navy);
  font-style:italic; margin:0;
}

.nsf-conn-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:16px;}
.nsf-conn-card{
  background:var(--nsf-cream-2); border:1px solid #e9dfd2;
  border-radius:14px; padding:18px 18px 20px;
}
.nsf-conn-card h5{
  font-size:1rem; font-weight:700; color:var(--nsf-navy);
  margin:10px 0 0; line-height:1.3;
}
.nsf-conn-card .nsf-meta{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.7rem; color:var(--nsf-ink-soft); margin:4px 0 0;
}

/* ---------- ESTADO VACÍO ---------- */
.nsf-empty{max-width:500px; margin:0 auto; text-align:center; padding:40px 20px 0;}
.nsf-empty h3{font-size:1.15rem; color:var(--nsf-navy); font-weight:700; margin:0;}
.nsf-empty p{margin:10px 0 0; color:var(--nsf-ink-soft); line-height:1.6;}

/* ---------- BOTONES ---------- */
.nsf-btn{
  border:none; border-radius:100px; padding:11px 22px;
  font-weight:600; font-size:0.88rem; cursor:pointer;
  font-family:inherit; transition:transform .12s ease, background .12s ease;
}
.nsf-btn:hover{transform:translateY(-1px);}
.nsf-btn-red{background:var(--nsf-red); color:#fff;}
.nsf-btn-red:hover{background:var(--nsf-red-deep);}
.nsf-btn-outline{background:transparent; border:1.5px solid var(--nsf-navy); color:var(--nsf-navy);}
.nsf-btn-outline:hover{background:var(--nsf-navy); color:#fff;}
.nsf-btn[disabled]{opacity:0.6; cursor:default; transform:none;}
.nsf-cta-row{text-align:center; padding:26px 20px 0;}
.nsf-suggest-link{
  background:none; border:1.5px dashed #c9b89c; color:var(--nsf-ink-soft);
  font-size:0.85rem; padding:10px 20px; border-radius:100px;
  cursor:pointer; font-family:inherit;
}
.nsf-suggest-link:hover{border-color:var(--nsf-mustard); color:var(--nsf-ink);}

/* ---------- FORMULARIO PÚBLICO ---------- */
.nsf-form-slot{max-width:620px; margin:0 auto; padding:0 20px;}
.nsf-form-card{
  background:#fff; border:1px solid #e9dfd2; border-radius:18px;
  padding:26px 24px 24px; margin-top:28px;
}
.nsf-form-card h3{font-size:1.12rem; font-weight:700; color:var(--nsf-navy); margin:0;}
.nsf-form-note{font-size:0.85rem; color:var(--nsf-ink-soft); margin:8px 0 18px; line-height:1.5;}
.nsf-field{margin-bottom:15px;}
.nsf-field label{
  display:block;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.66rem; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--nsf-ink-soft); margin-bottom:6px;
}
.nsf-field input[type="text"], .nsf-field textarea{
  width:100%; border:1.5px solid #e2d8c8; border-radius:10px;
  padding:10px 12px; font-size:0.93rem; color:var(--nsf-ink);
  background:var(--nsf-cream-2); outline:none; font-family:inherit;
}
.nsf-field textarea{min-height:70px; resize:vertical;}
.nsf-field input:focus, .nsf-field textarea:focus{border-color:var(--nsf-mustard);}

.nsf-item-row{display:grid; grid-template-columns:112px 1fr 1fr 78px 34px; gap:8px; margin-bottom:8px; align-items:center;}
.nsf-item-row .nsf-it-anio{text-align:center;}
/* Ocultamos las flechas del campo numérico: distraen y no aportan aquí. */
.nsf-item-row .nsf-it-anio::-webkit-outer-spin-button,
.nsf-item-row .nsf-it-anio::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.nsf-item-row .nsf-it-anio{-moz-appearance:textfield;}
.nsf-item-row select, .nsf-item-row input{
  border:1.5px solid #e2d8c8; border-radius:10px; padding:9px 10px;
  font-size:0.85rem; background:var(--nsf-cream-2); color:var(--nsf-ink);
  font-family:inherit; width:100%;
}
.nsf-rm-item{
  background:none; border:none; color:var(--nsf-red); font-size:1.1rem;
  cursor:pointer; width:34px; height:34px; border-radius:8px; font-family:inherit;
}
.nsf-rm-item:hover{background:#fbe3e2;}
.nsf-add-item{
  background:none; border:1.5px dashed #c9b89c; color:var(--nsf-ink-soft);
  padding:9px 14px; border-radius:10px; font-size:0.85rem;
  cursor:pointer; margin-top:4px; font-family:inherit;
}
.nsf-add-item:hover{border-color:var(--nsf-mustard); color:var(--nsf-ink);}

/* Campo trampa anti-bots: oculto para personas, visible para robots. */
.nsf-hp{position:absolute !important; left:-9999px !important; top:-9999px !important;}

.nsf-form-actions{display:flex; gap:10px; margin-top:18px; flex-wrap:wrap;}
.nsf-form-msg{font-size:0.83rem; margin-top:10px; min-height:18px;}
.nsf-form-msg.nsf-err{color:var(--nsf-red);}

.nsf-confirm{max-width:520px; margin:0 auto; padding:0 20px;}
.nsf-confirm-inner{
  background:#eaf4ec; border:1px solid #bfe0c6; color:#2c5c37;
  padding:16px 20px; border-radius:14px; font-size:0.9rem;
  text-align:center; margin-top:26px;
}

@media (max-width:640px){
  .nsf-item-row,
  .nsf-add-form .nsf-add-item-row{
    grid-template-columns:1fr 34px;
    grid-template-areas:"tipo rm" "titulo titulo" "meta anio";
  }
  .nsf-item-row select{grid-area:tipo;}
  .nsf-item-row .nsf-it-titulo{grid-area:titulo;}
  .nsf-item-row .nsf-it-meta{grid-area:meta;}
  .nsf-item-row .nsf-it-anio{grid-area:anio;}
  .nsf-rm-item{grid-area:rm;}
  .nsf-anchor-card{flex-direction:column; text-align:center;}
}

/* ---------- PROPONER OBRA PARA UN HILO EXISTENTE ---------- */
.nsf-add-row{margin-top:18px;}
.nsf-add-work-btn{
  background:none;
  border:1.5px dashed #c9b89c;
  color:var(--nsf-ink-soft);
  font-size:0.84rem;
  padding:9px 18px;
  border-radius:100px;
  cursor:pointer;
  font-family:inherit;
}
.nsf-add-work-btn:hover{
  border-color:var(--nsf-mustard);
  color:var(--nsf-ink);
  background:#fffaf0;
}
.nsf-add-form{margin-top:16px;}
.nsf-add-form .nsf-add-item-row{grid-template-columns:112px 1fr 1fr 78px 34px;}
.nsf-add-rows{margin-bottom:4px;}
.nsf-add-more{margin-top:2px;}


/* ---------- BARRA DE FILTROS ---------- */
.nsf-filtros{max-width:880px; margin:0 auto; padding:30px 20px 0;}
.nsf-filtros:empty{padding:0;}
.nsf-filtros-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:20px;
  background:var(--nsf-cream-2);
  border:1px solid #e9dfd2;
  border-radius:16px;
  padding:18px 20px;
}
.nsf-filtro-grupo{display:flex; flex-direction:column; gap:7px;}
.nsf-filtro-label{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.64rem;
  font-weight:700;
  color:var(--nsf-ink-soft);
}
.nsf-chips{display:flex; flex-wrap:wrap; gap:6px;}
.nsf-chip{
  background:#fff;
  border:1.5px solid #e2d8c8;
  color:var(--nsf-ink-soft);
  font-size:0.8rem;
  padding:6px 14px;
  border-radius:100px;
  cursor:pointer;
  font-family:inherit;
  transition:background .12s ease, border-color .12s ease, color .12s ease;
}
.nsf-chip:hover{border-color:var(--nsf-mustard);}
.nsf-chip-on{
  background:var(--nsf-red);
  border-color:var(--nsf-red);
  color:#fff;
}
.nsf-select{
  border:1.5px solid #e2d8c8;
  border-radius:10px;
  padding:8px 12px;
  font-size:0.86rem;
  background:#fff;
  color:var(--nsf-ink);
  font-family:inherit;
  min-width:180px;
  max-width:240px;
}
.nsf-select:focus{border-color:var(--nsf-mustard); outline:none;}
.nsf-limpiar{
  background:none;
  border:none;
  color:var(--nsf-red);
  font-size:0.82rem;
  font-weight:600;
  cursor:pointer;
  padding:8px 4px;
  font-family:inherit;
  text-decoration:underline;
}
.nsf-limpiar[hidden]{display:none;}

/* ---------- MODO EXPLORAR ---------- */
.nsf-explorando{margin-bottom:22px;}
.nsf-explorando .nsf-eyebrow{color:var(--nsf-red);}
.nsf-explorando h3{
  font-size:1.3rem;
  font-weight:700;
  color:var(--nsf-navy);
  margin:6px 0 0;
}
.nsf-sin-coincidencias{
  text-align:center;
  color:var(--nsf-ink-soft);
  padding:30px 20px;
  font-size:0.95rem;
}
.nsf-card-explorar{
  cursor:pointer;
  transition:border-color .12s ease, transform .12s ease;
}
.nsf-card-explorar:hover,
.nsf-card-explorar:focus-visible{
  border-color:var(--nsf-mustard);
  transform:translateY(-2px);
}
.nsf-card-hilo{
  font-size:0.8rem;
  color:var(--nsf-ink-soft);
  margin:12px 0 0;
  font-style:italic;
  line-height:1.4;
}
.nsf-card-ver{
  display:inline-block;
  margin-top:10px;
  font-size:0.78rem;
  font-weight:600;
  color:var(--nsf-red);
}

@media (max-width:640px){
  .nsf-filtros-inner{flex-direction:column; align-items:stretch; gap:16px;}
  .nsf-select{max-width:none; min-width:0; width:100%;}
}

/* ---------- PORTADAS ---------- */
.nsf-anchor-img{
  width:64px;
  height:86px;
  object-fit:cover;
  border-radius:8px;
  flex:none;
  background:rgba(255,255,255,0.12);
}

/* ---------- FILTRO DENTRO DE UN HILO ---------- */
.nsf-hilo-filtro{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:-6px 0 20px;
}
.nsf-conn-card[hidden]{display:none;}

@media (max-width:640px){
  .nsf-anchor-img{width:76px; height:102px;}
}

/* ---------- ACCESO RÁPIDO A EDICIÓN (solo para quien puede editar) ---------- */
.nsf-editar-hilo{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.68rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--nsf-ink-soft);
  text-decoration:none;
  border:1px solid #ddd0bd;
  border-radius:100px;
  padding:5px 12px;
  white-space:nowrap;
  transition:border-color .12s ease, color .12s ease, background .12s ease;
}
.nsf-editar-hilo:hover,
.nsf-editar-hilo:focus{
  border-color:var(--nsf-red);
  color:var(--nsf-red);
  background:#fff;
  text-decoration:none;
}
.nsf-editar-hilo svg{flex:none;}

@media (max-width:640px){
  .nsf-editar-hilo{margin-left:0;}
}

/* ---------- MINIATURA JUNTO AL NOMBRE ---------- */
.nsf-card-fila{display:flex; gap:14px; align-items:flex-start;}
.nsf-card-texto{min-width:0; flex:1;}
.nsf-card-texto h5{margin-top:8px; word-break:break-word;}

.nsf-zoom{
  padding:0;
  border:none;
  background:none;
  cursor:zoom-in;
  line-height:0;
  border-radius:6px;
  flex:none;
}
.nsf-card-mini{
  width:52px;
  height:70px;
  border-radius:6px;
  overflow:hidden;
  background:var(--nsf-cream);
  box-shadow:0 2px 8px -3px rgba(20,28,48,0.4);
  transition:transform .12s ease, box-shadow .12s ease;
}
.nsf-card-mini img{width:100%; height:100%; object-fit:cover; display:block;}
.nsf-card-mini:hover{transform:scale(1.05); box-shadow:0 6px 14px -4px rgba(20,28,48,0.5);}
.nsf-anchor-zoom{border-radius:8px; cursor:zoom-in;}
.nsf-anchor-zoom:hover .nsf-anchor-img{opacity:0.88;}

/* ---------- VISOR DE PORTADAS ---------- */
.nsf-visor{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(20,28,48,0.92);
  display:none;
  align-items:center;
  justify-content:center;
  padding:40px 24px;
}
.nsf-visor.nsf-visor-abierto{display:flex;}
.nsf-visor-figura{
  margin:0;
  max-width:min(560px, 90vw);
  max-height:86vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.nsf-visor-figura img{
  max-width:100%;
  max-height:76vh;
  width:auto;
  height:auto;
  border-radius:8px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,0.7);
  display:block;
}
.nsf-visor-figura figcaption{
  color:#fff;
  font-size:0.92rem;
  text-align:center;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
}
.nsf-visor-cerrar{
  position:absolute;
  top:16px;
  right:20px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.4);
  background:transparent;
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  font-family:inherit;
}
.nsf-visor-cerrar:hover{background:rgba(255,255,255,0.14); border-color:#fff;}
body.nsf-sin-scroll{overflow:hidden;}

/* ---------- AUTOR Y AÑO EN LA OBRA BUSCADA ---------- */
.nsf-anchor-texto{min-width:0;}
.nsf-anchor-meta{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.76rem;
  color:#c8cede;
  margin:6px 0 0;
  line-height:1.4;
}

/* ---------- AUTOR, AÑO Y TIPO PULSABLES PARA FILTRAR ---------- */
.nsf-meta-link{
  background:none;
  border:none;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:2px;
  transition:color .12s ease;
}
.nsf-meta-link:hover{
  color:var(--nsf-red);
  text-decoration-style:solid;
}

.nsf-tag-link{
  border:none;
  cursor:pointer;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  transition:opacity .12s ease, transform .12s ease;
}


/* ---------- SUGERENCIA EN TEXTO LIBRE ---------- */
.nsf-libre-texto{
  min-height:150px;
  line-height:1.55;
  font-size:0.95rem;
}
.nsf-libre-manual{
  display:block;
  margin-top:12px;
  background:none;
  border:none;
  padding:0;
  color:var(--nsf-ink-soft);
  font-size:0.82rem;
  font-family:inherit;
  cursor:pointer;
  text-decoration:underline;
}
.nsf-libre-manual:hover{color:var(--nsf-red);}
.nsf-libre-manual-destacado{
  color:var(--nsf-red);
  font-weight:600;
  font-size:0.9rem;
}

/* ---------- QUÉ HEMOS ENTENDIDO ---------- */
.nsf-interpretacion{border-color:#bfe0c6; background:#f7fdf8;}
.nsf-interp-ok{
  color:#2c5c37;
  font-size:0.92rem;
  line-height:1.5;
  margin:0 0 14px;
}
.nsf-interp-titulo{
  font-family:'Fraunces', Georgia, serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--nsf-navy);
  margin:0 0 14px;
}
.nsf-interp-lista{list-style:none; margin:0; padding:0;}
.nsf-interp-lista li{
  padding:9px 0;
  border-top:1px dashed #cfe3d4;
  font-size:0.92rem;
  line-height:1.45;
}
.nsf-interp-lista li:first-child{border-top:none;}
.nsf-interp-meta{
  color:var(--nsf-ink-soft);
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.76rem;
}
.nsf-interp-nota{
  margin:16px 0 0;
  font-size:0.82rem;
  color:var(--nsf-ink-soft);
  font-style:italic;
}

/* ================================================================
   FICHA DESTACADA Y OBRAS CONECTADAS (rediseño)
   ================================================================ */

/* ---------- Barra superior de tipo ---------- */
.nsf-barra-tipo{
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--nsf-navy);
  border-radius:14px;
  padding:14px 18px;
  margin-bottom:14px;
}
.nsf-barra-icono{
  width:34px; height:34px;
  border-radius:8px;
  background:rgba(255,255,255,0.14);
  display:flex; align-items:center; justify-content:center;
  flex:none;
}
.nsf-barra-texto{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:0.7rem;
  font-weight:700;
  color:var(--nsf-mustard);
}
.nsf-barra-tipo .nsf-editar-hilo{
  margin-left:auto;
  border-color:rgba(255,255,255,0.3);
  color:rgba(255,255,255,0.85);
}
.nsf-barra-tipo .nsf-editar-hilo:hover{
  border-color:#fff; color:#fff; background:rgba(255,255,255,0.1);
}

/* ---------- Ficha destacada ---------- */
.nsf-destacado{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,0.92fr);
  background:var(--nsf-red);
  border-radius:18px;
  overflow:hidden;
  margin-bottom:34px;
  min-height:300px;
}
.nsf-destacado-sin-img{grid-template-columns:1fr;}
.nsf-destacado-texto{
  padding:34px 34px 34px 36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}
.nsf-destacado-etiqueta{
  display:inline-block;
  align-self:flex-start;
  background:rgba(255,255,255,0.18);
  border-radius:100px;
  padding:5px 14px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:0.64rem;
  font-weight:700;
}
.nsf-destacado h3{
  font-size:clamp(1.6rem, 3vw, 2.15rem);
  font-weight:700;
  color:#fff;
  margin:16px 0 0;
  line-height:1.1;
}
.nsf-destacado-autor{
  color:#ffd9a8;
  font-size:1rem;
  margin:8px 0 0;
}
.nsf-destacado-desc{
  color:#ffe6e5;
  font-size:0.92rem;
  line-height:1.55;
  margin:16px 0 0;
  max-width:44ch;
}

/* Datos de la ficha */
.nsf-datos{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  margin:24px 0 0;
}
.nsf-dato{margin:0;}
.nsf-dato dt{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.6rem;
  font-weight:700;
  color:rgba(255,255,255,0.7);
  margin:0;
}
.nsf-dato dd{
  margin:4px 0 0;
  font-size:0.92rem;
  color:#fff;
}

/* Imagen con corte diagonal */
.nsf-destacado-img{
  position:relative;
  padding:0;
  border:none;
  background:var(--nsf-navy-deep);
  cursor:zoom-in;
  overflow:hidden;
  margin-left:-70px;
  clip-path:polygon(70px 0, 100% 0, 100% 100%, 0 100%);
}
.nsf-destacado-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
.nsf-destacado-img:hover img{transform:scale(1.03);}

/* ---------- Pestañas de tipo ---------- */
.nsf-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 26px;
}
.nsf-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1.5px solid #e9dfd2;
  color:var(--nsf-ink);
  font-size:0.9rem;
  font-weight:600;
  padding:11px 20px;
  border-radius:100px;
  cursor:pointer;
  font-family:inherit;
  transition:all .14s ease;
}
.nsf-tab:hover{border-color:var(--nsf-mustard);}
.nsf-tab svg{opacity:0.7;}
.nsf-tab-on{
  background:var(--nsf-red);
  border-color:var(--nsf-red);
  color:#fff;
}
.nsf-tab-on svg{opacity:1;}
.nsf-tab-num{opacity:0.75; font-weight:500;}

/* ---------- Secciones y tarjetas de obra ---------- */
.nsf-seccion{margin-bottom:30px;}
.nsf-seccion[hidden]{display:none;}
.nsf-seccion-titulo{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform:uppercase;
  letter-spacing:0.13em;
  font-size:0.72rem;
  font-weight:700;
  color:var(--nsf-red);
  margin:0 0 14px;
}
.nsf-seccion-titulo span{color:var(--nsf-ink-soft); font-weight:500;}

.nsf-lista-obras{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:14px;
}
.nsf-obra{
  display:flex;
  align-items:center;
  gap:16px;
  background:var(--nsf-cream-2);
  border:1px solid #e9dfd2;
  border-radius:14px;
  padding:14px 18px 14px 14px;
  transition:border-color .14s ease, transform .14s ease;
}
.nsf-obra:hover{border-color:var(--nsf-mustard); transform:translateY(-1px);}
.nsf-obra-img{
  width:74px;
  height:74px;
  flex:none;
  border-radius:10px;
  overflow:hidden;
  background:var(--nsf-cream);
  padding:0;
  border:none;
  cursor:zoom-in;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nsf-obra-img img{width:100%; height:100%; object-fit:cover; display:block;}
.nsf-obra-img-vacia{cursor:default; color:var(--nsf-ink-soft); opacity:0.5;}
.nsf-obra-texto{min-width:0; flex:1;}
.nsf-obra-texto h6{
  font-family:'Fraunces', Georgia, serif;
  font-size:1.02rem;
  font-weight:700;
  color:var(--nsf-navy);
  margin:8px 0 0;
  line-height:1.25;
}
.nsf-obra-meta{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.74rem;
  color:var(--nsf-ink-soft);
  margin:5px 0 0;
}

@media (max-width:860px){
  .nsf-destacado{grid-template-columns:1fr;}
  .nsf-destacado-img{
    margin-left:0;
    clip-path:none;
    height:240px;
    order:-1;
  }
  .nsf-destacado-texto{padding:26px 24px;}
  .nsf-lista-obras{grid-template-columns:1fr;}
  .nsf-barra-tipo{flex-wrap:wrap;}
  .nsf-barra-tipo .nsf-editar-hilo{margin-left:0;}
}

/* ================================================================
   MODO COMPACTO: con un hilo abierto, solo la barra de búsqueda
   ================================================================ */

/* La cabecera y los filtros se retiran para dejar sitio al hilo. */
.nsf-buscador.nsf-compacto .nsf-hero,
.nsf-buscador.nsf-compacto .nsf-filtros{
  display:none;
}

/* Sin cabecera, la caja deja de solaparse y se pega arriba. */
.nsf-buscador.nsf-compacto .nsf-search-shell{
  margin-top:0;
  padding-top:18px;
  padding-bottom:26px;
  position:sticky;
  top:0;
  z-index:30;
  background:var(--nsf-cream);
  max-width:none;
}
.nsf-buscador.nsf-compacto .nsf-search-box{
  max-width:620px;
  margin:0 auto;
  box-shadow:0 6px 20px -12px rgba(20,28,48,0.35);
  border:1px solid #e9dfd2;
}
.nsf-buscador.nsf-compacto .nsf-results{
  padding-top:0;
}

/* Botón de limpiar: solo tiene sentido cuando hay algo escrito. */
.nsf-reset{
  display:none;
  flex:none;
  width:32px;
  height:32px;
  border-radius:50%;
  border:none;
  background:var(--nsf-red);
  color:#fff;
  cursor:pointer;
  padding:0;
  /* Con SVG el aspa queda centrada de verdad, no como carácter. */
  display:none;
  align-items:center;
  justify-content:center;
  transition:background .12s ease, transform .12s ease;
}
.nsf-reset svg{display:block;}
.nsf-reset:hover{background:var(--nsf-red-deep); transform:scale(1.06);}
.nsf-buscador.nsf-compacto .nsf-reset{display:flex;}


/* ================================================================
   AJUSTES v2.2 — ficha más contenida, iconos y barra despegada
   ================================================================ */

/* ---------- Ficha destacada: más rectangular y menos alta ---------- */
.nsf-buscador .nsf-destacado{
  grid-template-columns:minmax(0,1.35fr) minmax(0,0.65fr);
  min-height:0;
  margin-bottom:30px;
}
.nsf-buscador .nsf-destacado-texto{padding:28px 30px;}
.nsf-buscador .nsf-destacado h3{font-size:clamp(1.45rem, 2.4vw, 1.85rem);}
.nsf-buscador .nsf-destacado-desc{
  font-size:0.88rem;
  margin-top:12px;
  max-width:46ch;
}
.nsf-buscador .nsf-destacado-img{
  margin-left:-52px;
  clip-path:polygon(52px 0, 100% 0, 100% 100%, 0 100%);
  max-height:290px;
}

/* ---------- Datos con icono ---------- */
.nsf-buscador .nsf-datos{gap:22px; margin-top:20px;}
.nsf-dato{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.nsf-dato-icono{
  color:rgba(255,255,255,0.9);
  line-height:0;
  margin-bottom:4px;
}
.nsf-dato dt{font-size:0.58rem;}
.nsf-dato dd{font-size:0.86rem; margin-top:2px;}

/* ---------- Barra compacta despegada del borde ---------- */
.nsf-buscador.nsf-compacto .nsf-search-shell{
  top:16px;
  padding-top:16px;
  padding-bottom:20px;
  background:transparent;
}
.nsf-buscador.nsf-compacto .nsf-search-box{
  background:#fff;
  box-shadow:0 10px 28px -14px rgba(20,28,48,0.42);
}
/* Si hay barra de administración de WordPress, dejamos su espacio. */
body.admin-bar .nsf-buscador.nsf-compacto .nsf-search-shell{top:48px;}

@media (max-width:782px){
  body.admin-bar .nsf-buscador.nsf-compacto .nsf-search-shell{top:62px;}
}
@media (max-width:860px){
  .nsf-buscador .nsf-destacado{grid-template-columns:1fr;}
  .nsf-buscador .nsf-destacado-img{
    margin-left:0;
    clip-path:none;
    height:200px;
    max-height:200px;
  }
}

/* ---------- RESUMEN DEL HILO ---------- */
.nsf-resumen{
  border-left:3px solid var(--nsf-mustard);
  padding:2px 0 2px 18px;
  margin:0 0 26px;
  max-width:70ch;
}
.nsf-resumen p{
  font-family:'Fraunces', Georgia, serif;
  font-size:1.02rem;
  line-height:1.6;
  color:var(--nsf-ink-soft);
  margin:0;
}

/* ---------- ENLACE AL PRODUCTO ---------- */
.nsf-obra-enlace{
  flex:none;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1.5px solid #e2d8c8;
  background:#fff;
  color:var(--nsf-red);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:all .14s ease;
}
.nsf-obra-enlace:hover{
  background:var(--nsf-red);
  border-color:var(--nsf-red);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}
.nsf-obra-enlace:focus{text-decoration:none;}

.nsf-destacado-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  margin-top:22px;
  background:#fff;
  color:var(--nsf-red-deep);
  font-weight:600;
  font-size:0.9rem;
  padding:11px 22px;
  border-radius:100px;
  text-decoration:none;
  transition:background .14s ease, transform .14s ease;
}
.nsf-destacado-cta:hover{
  background:var(--nsf-cream);
  color:var(--nsf-red-deep);
  text-decoration:none;
  transform:translateY(-1px);
}

/* ---------- Tarjeta de obra pulsable ---------- */
.nsf-obra-pulsable{cursor:pointer;}
.nsf-obra-pulsable:hover{
  border-color:var(--nsf-mustard);
  box-shadow:0 6px 16px -10px rgba(20,28,48,0.4);
}
.nsf-obra-pulsable:focus-visible{
  outline:3px solid var(--nsf-mustard);
  outline-offset:2px;
}

/* ---------- CAMINO RECORRIDO ---------- */
.nsf-camino{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-width:0;
  flex:1;
}
.nsf-camino-paso{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:220px;
  background:none;
  border:none;
  padding:4px 8px;
  border-radius:8px;
  font-family:inherit;
  font-size:0.82rem;
  color:rgba(255,255,255,0.65);
  cursor:pointer;
  text-align:left;
}
.nsf-camino-paso span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nsf-camino-paso svg{flex:none; opacity:0.7;}
.nsf-camino-paso:hover{
  background:rgba(255,255,255,0.12);
  color:#fff;
}
.nsf-camino-paso:hover svg{opacity:1;}
.nsf-camino-actual{
  color:var(--nsf-mustard);
  font-weight:600;
  cursor:default;
  max-width:280px;
}
.nsf-camino-actual svg{opacity:1;}
.nsf-camino-actual:hover{background:none; color:var(--nsf-mustard);}
.nsf-camino-sep{
  color:rgba(255,255,255,0.35);
  font-size:1rem;
  line-height:1;
}

@media (max-width:640px){
  .nsf-camino-paso{max-width:130px; font-size:0.78rem;}
  .nsf-camino-actual{max-width:170px;}
}

/* ================================================================
   AJUSTE — la portada rellena por completo el bloque rojo
   ================================================================ */
.nsf-buscador .nsf-destacado{
  align-items:stretch;
}
.nsf-buscador .nsf-destacado-img{
  /* Sin tope de altura: la columna se estira hasta donde llegue el texto. */
  max-height:none;
  height:100%;
  align-self:stretch;
  display:block;
  line-height:0;
}
.nsf-buscador .nsf-destacado-img img{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}
/* Con poco texto, la ficha mantiene una proporción decente. */
.nsf-buscador .nsf-destacado{min-height:250px;}

@media (max-width:860px){
  .nsf-buscador .nsf-destacado{min-height:0;}
  .nsf-buscador .nsf-destacado-img{height:210px;}
}

/* ---------- TEXTOS RECORTABLES CON "LEER MÁS" ---------- */
.nsf-recortable{
  transition:max-height .25s ease;
}
.nsf-recortable.nsf-recortado{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.nsf-recortable p{margin:0;}

.nsf-leer-mas{
  background:none;
  border:none;
  padding:6px 0 0;
  font-family:inherit;
  font-size:0.82rem;
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
  color:var(--nsf-red);
}
.nsf-leer-mas:hover{text-decoration-thickness:2px;}

/* Dentro de la ficha roja, el botón va en blanco. */
.nsf-destacado-texto .nsf-leer-mas{color:#fff; opacity:0.9;}
.nsf-destacado-texto .nsf-leer-mas:hover{opacity:1;}

/* El resumen del hilo mantiene su sangría al desplegarse. */
.nsf-resumen .nsf-leer-mas{margin-left:0;}

/* ---------- GÉNERO EN LAS TARJETAS ---------- */
.nsf-obra-genero{
  display:flex;
  align-items:center;
  gap:5px;
  margin:6px 0 0;
  font-size:0.78rem;
  color:var(--nsf-ink-soft);
}
.nsf-obra-genero svg{flex:none; color:var(--nsf-mustard);}
.nsf-obra-genero span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nsf-genero-link{
  background:none;
  border:none;
  padding:0;
  font:inherit;
  color:var(--nsf-ink-soft);
  cursor:pointer;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* ================================================================
   ENLACES PULSABLES — legibilidad y coherencia de marca
   ================================================================ */

/* ---------- Sobre el rojo de la ficha destacada ---------- */
/* Nada de mostaza sobre rojo: no se lee. Blanco con fondo translúcido. */
.nsf-destacado-autor .nsf-autor-link,
.nsf-dato dd .nsf-dato-link{
  background:none;
  border:none;
  padding:2px 6px;
  margin:-2px -6px;
  border-radius:6px;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:3px;
  transition:background .14s ease, color .14s ease;
}
.nsf-destacado-autor .nsf-autor-link{color:#ffd9a8;}
.nsf-dato dd .nsf-dato-link{color:#fff;}

.nsf-destacado-autor .nsf-autor-link:hover,
.nsf-destacado-autor .nsf-autor-link:focus-visible,
.nsf-dato dd .nsf-dato-link:hover,
.nsf-dato dd .nsf-dato-link:focus-visible{
  background:rgba(255,255,255,0.22);
  color:#fff;
  text-decoration-style:solid;
}

/* ---------- Sobre fondos claros ---------- */
.nsf-meta-link,
.nsf-genero-link{
  padding:1px 5px;
  margin:-1px -5px;
  border-radius:5px;
  transition:background .14s ease, color .14s ease;
}
.nsf-meta-link:hover,
.nsf-meta-link:focus-visible,
.nsf-genero-link:hover,
.nsf-genero-link:focus-visible{
  /* Crema de marca de fondo, texto en azul noche: buen contraste. */
  background:var(--nsf-cream);
  color:var(--nsf-navy);
  text-decoration-style:solid;
}

/* Etiquetas de tipo: oscurecer en lugar de aclarar, que perdía legibilidad. */
.nsf-tag-link:hover,
.nsf-tag-link:focus-visible{
  opacity:1;
  filter:brightness(0.88);
  transform:translateY(-1px);
}

/* ---------- Camino recorrido ---------- */
.nsf-camino-paso:hover,
.nsf-camino-paso:focus-visible{
  background:rgba(255,255,255,0.18);
  color:#fff;
}

/* ---------- Foco visible en todo el buscador ---------- */
.nsf-buscador button:focus-visible,
.nsf-buscador a:focus-visible,
.nsf-buscador select:focus-visible{
  outline:3px solid var(--nsf-mustard);
  outline-offset:2px;
}

/* ================================================================
   BOTÓN "LEER MÁS" — píldora blanca con el rojo de marca
   ================================================================ */
.nsf-buscador .nsf-leer-mas{
  display:inline-block;
  margin-top:10px;
  padding:5px 14px;
  border-radius:100px;
  border:1px solid transparent;
  background:#fff;
  color:var(--nsf-red);
  font-family:inherit;
  font-size:0.74rem;
  font-weight:600;
  letter-spacing:0.01em;
  line-height:1.4;
  cursor:pointer;
  /* Sin subrayado: la forma de píldora ya indica que es pulsable. */
  text-decoration:none;
  transition:background .14s ease, color .14s ease, border-color .14s ease;
}
.nsf-buscador .nsf-leer-mas:hover,
.nsf-buscador .nsf-leer-mas:focus-visible{
  background:var(--nsf-red);
  color:#fff;
  border-color:var(--nsf-red);
  text-decoration:none;
}

/* Sobre el rojo de la ficha destacada el blanco ya contrasta,
   pero al pasar el ratón invertimos hacia crema para no perder el botón. */
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas{
  background:#fff;
  color:var(--nsf-red-deep);
  opacity:1;
}
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:hover,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:focus-visible{
  background:var(--nsf-cream);
  color:var(--nsf-red-deep);
  border-color:var(--nsf-cream);
}

/* En el resumen, sobre fondo crema, el botón necesita un borde tenue. */
.nsf-buscador .nsf-resumen .nsf-leer-mas{
  border-color:#e2d8c8;
}
.nsf-buscador .nsf-resumen .nsf-leer-mas:hover,
.nsf-buscador .nsf-resumen .nsf-leer-mas:focus-visible{
  border-color:var(--nsf-red);
}

/* ---------- "Leer más": píldora estrecha, hover en negro ---------- */
.nsf-buscador .nsf-leer-mas{
  padding:3px 10px;
  font-size:0.7rem;
  line-height:1.3;
  margin-top:8px;
}

/* Hover en negro con el texto en blanco, en todos los contextos. */
.nsf-buscador .nsf-leer-mas:hover,
.nsf-buscador .nsf-leer-mas:focus-visible,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:hover,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:focus-visible,
.nsf-buscador .nsf-resumen .nsf-leer-mas:hover,
.nsf-buscador .nsf-resumen .nsf-leer-mas:focus-visible{
  background:#111111;
  color:#ffffff;
  border-color:#111111;
}

/* ---------- "Leer más": sin fondo, solo el texto cambia ---------- */
.nsf-buscador .nsf-leer-mas,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas,
.nsf-buscador .nsf-resumen .nsf-leer-mas{
  background:none;
  border:none;
  border-radius:0;
  padding:0;
  margin-top:10px;
  font-size:0.8rem;
  font-weight:600;
  /* Sobre fondo claro, el rojo de marca. */
  color:var(--nsf-red);
  transition:color .14s ease;
}

/* En la ficha roja arranca en blanco. */
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas{color:#fff;}

/* Hover: solo cambia el color del texto, a negro. */
.nsf-buscador .nsf-leer-mas:hover,
.nsf-buscador .nsf-leer-mas:focus-visible,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:hover,
.nsf-buscador .nsf-destacado-texto .nsf-leer-mas:focus-visible,
.nsf-buscador .nsf-resumen .nsf-leer-mas:hover,
.nsf-buscador .nsf-resumen .nsf-leer-mas:focus-visible{
  background:none;
  border-color:transparent;
  color:#111111;
}

/* ---------- "¿Ves una conexión que no está aquí?" ---------- */
.nsf-buscador .nsf-suggest-link{
  transition:background .14s ease, border-color .14s ease, color .14s ease;
}
/* Mismo criterio que el resto de enlaces sobre fondo claro:
   crema de marca al fondo y azul noche para el texto. */
.nsf-buscador .nsf-suggest-link:hover,
.nsf-buscador .nsf-suggest-link:focus-visible{
  background:var(--nsf-cream);
  border-color:var(--nsf-red);
  color:var(--nsf-navy);
}

/* El botón de ampliar un hilo comparte estilo, así que va igual. */
.nsf-buscador .nsf-add-work-btn:hover,
.nsf-buscador .nsf-add-work-btn:focus-visible{
  background:var(--nsf-cream);
  border-color:var(--nsf-red);
  color:var(--nsf-navy);
}

/* ---------- Encabezado de productos relacionados ---------- */
.nsf-relacionados-titulo{
  font-family:'Fraunces', Georgia, serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--nsf-navy);
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:2px dashed #ddd0bd;
}
/* Varias notas seguidas necesitan aire entre ellas. */
.nsf-resumen .nsf-recortable + .nsf-leer-mas + .nsf-recortable,
.nsf-resumen .nsf-recortable + .nsf-recortable{margin-top:12px;}

.nsf-sin-relacionados{
  color:var(--nsf-ink-soft);
  font-size:0.95rem;
  padding:8px 0 4px;
  margin:0;
}

/* ---------- BOTÓN COMPARTIR ---------- */
.nsf-compartir{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.68rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:rgba(255,255,255,0.85);
  background:none;
  border:1px solid rgba(255,255,255,0.3);
  border-radius:100px;
  padding:5px 14px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .14s ease;
}
.nsf-compartir:hover,
.nsf-compartir:focus-visible{
  background:rgba(255,255,255,0.14);
  border-color:#fff;
  color:#fff;
}
.nsf-compartir.nsf-compartir-ok{
  background:var(--nsf-mustard);
  border-color:var(--nsf-mustard);
  color:var(--nsf-navy-deep);
}
.nsf-compartir svg{flex:none;}

/* Con el botón de compartir presente, el de editar ya no necesita empujar. */
.nsf-barra-tipo .nsf-compartir + .nsf-editar-hilo{margin-left:0;}

@media (max-width:640px){
  .nsf-compartir{margin-left:0;}
}

/* ---------- ATAJOS DE GESTIÓN (solo para quien edita) ---------- */
.nsf-admin-atajos{
  text-align:center;
  margin:12px 0 0;
  font-size:0.82rem;
}
.nsf-admin-atajos a{
  color:var(--nsf-ink-soft);
  text-decoration:none;
  border:1px dashed #c9b89c;
  border-radius:100px;
  padding:6px 16px;
  display:inline-block;
  transition:all .14s ease;
}
.nsf-admin-atajos a:hover{
  border-color:var(--nsf-red);
  color:var(--nsf-red);
  background:#fff;
}
.nsf-crear-fila{margin-top:18px;}
.nsf-crear-fila .nsf-btn{
  display:inline-block;
  text-decoration:none;
  color:#fff;
}
.nsf-crear-fila .nsf-btn:hover{color:#fff; text-decoration:none;}

/* ---------- REVISIÓN DE LO INTERPRETADO ---------- */
.nsf-interp-aviso{
  background:#fff8e5;
  border-left:3px solid var(--nsf-mustard);
  padding:10px 14px;
  margin:0 0 14px;
  font-size:0.85rem;
  color:var(--nsf-ink-soft);
}
.nsf-interp-lista li{
  display:flex;
  align-items:center;
  gap:10px;
}
.nsf-interp-nombre{flex:1; min-width:0;}
.nsf-interp-quitar{
  flex:none;
  width:26px;
  height:26px;
  border-radius:50%;
  border:1px solid #e2d8c8;
  background:#fff;
  color:var(--nsf-red);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .14s ease;
}
.nsf-interp-quitar:hover{
  background:var(--nsf-red);
  border-color:var(--nsf-red);
  color:#fff;
}
.nsf-btn[disabled]{opacity:0.5; cursor:default;}

/* ---------- ORIGEN: MAINSTREAM O INDEPENDIENTE ---------- */
.nsf-origen{
  display:inline-block;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.58rem;
  text-transform:uppercase;
  letter-spacing:0.07em;
  padding:3px 9px;
  border-radius:100px;
  border:1px solid transparent;
  vertical-align:middle;
}
/* Indie en mostaza: es lo que queremos que destaque. */
.nsf-origen-indie{
  background:#f7ecd0;
  color:#7a5c14;
  border-color:#e6d3a3;
}
.nsf-origen-mainstream{
  background:#eceff5;
  color:#4a5570;
  border-color:#dde2ec;
}
.nsf-origen-link{cursor:pointer; font-family:inherit; transition:all .14s ease;}
.nsf-origen-link:hover,
.nsf-origen-link:focus-visible{filter:brightness(0.94); transform:translateY(-1px);}

/* Dentro de la ficha roja, sobre fondo oscuro. */
.nsf-destacado .nsf-origen{
  background:rgba(255,255,255,0.2);
  color:#fff;
  border-color:rgba(255,255,255,0.3);
}
