/*
 * NSF Hilos 9.5.366 — Responsive QA
 * Capa final de adaptación. No oculta contenido esencial y evita
 * desbordamientos horizontales en fichas, Tira del hilo, buscador y formularios.
 */

html {overflow-x: hidden;}
body {overflow-x: hidden;}
*, *::before, *::after {box-sizing: border-box;}
img, svg, video, iframe {max-width: 100%;}
button, input, select, textarea {max-width: 100%;}
.nsf-obra-page,
.nsf-tira-del-hilo,
.nsf-buscador,
.nsf-search-shell,
.nsf-results,
.nsf-form-slot,
.nsf-confirm {min-width: 0; max-width: 100%;}
/* Navegación horizontal: nunca debe forzar el ancho de la página. */
.nsf-ficha-nav {width: fit-content; max-width: 100%; overflow-x: auto; scrollbar-width: thin;}
.nsf-ficha-nav a {flex: 0 0 auto;}

/* =========================
   TABLET — 901–1100
   ========================= */
@media (min-width:901px) and (max-width:1100px) {
.nsf-obra-page {width: calc(100% - 36px) !important; max-width: 1120px !important;}
.nsf-obra-page .nsf-ficha-publica > .nsf-destacado,
  .nsf-obra-page .nsf-ficha-publica .nsf-destacado {grid-template-columns: minmax(0,1fr) minmax(280px,42%) !important;}
.nsf-obra-page .nsf-destacado-texto {padding: 42px 34px 36px !important;}
.nsf-obra-page .nsf-relacionados-cabecera,
  .nsf-obra-page .nsf-tabs-ficha,
  .nsf-obra-page .nsf-relacionados-acciones,
  .nsf-obra-page .nsf-seccion,
  .nsf-obra-page .nsf-llevar,
  .nsf-obra-page .nsf-packs {margin-left: 34px !important; margin-right: 34px !important;}
.nsf-obra-page .nsf-relaciones-completas .nsf-lista-obras {grid-template-columns: repeat(3,minmax(0,1fr)) !important;}
}

/* =========================
   TABLET PEQUEÑA — 681–900
   ========================= */
@media (min-width:681px) and (max-width:900px) {
.nsf-obra-page {width: calc(100% - 32px) !important; max-width: none !important; margin: 22px auto 48px !important;}
.nsf-obra-page .nsf-ficha-publica > .nsf-destacado,
  .nsf-obra-page .nsf-ficha-publica .nsf-destacado {grid-template-columns: 1fr !important;}
.nsf-obra-page .nsf-destacado-img {order: 0 !important; width: min(100%,390px) !important; margin: 0 auto !important;}
.nsf-obra-page .nsf-destacado-texto {order: 1 !important; padding: 34px 30px 32px !important;}
.nsf-obra-page .nsf-datos {grid-template-columns: repeat(2,minmax(0,1fr)) !important;}
.nsf-obra-page .nsf-relacionados-cabecera,
  .nsf-obra-page .nsf-tabs-ficha,
  .nsf-obra-page .nsf-relacionados-acciones,
  .nsf-obra-page .nsf-seccion,
  .nsf-obra-page .nsf-llevar,
  .nsf-obra-page .nsf-packs {margin-left: 30px !important; margin-right: 30px !important;}
.nsf-obra-page .nsf-relaciones-completas .nsf-lista-obras {grid-template-columns: repeat(2,minmax(0,1fr)) !important;}
}

/* =========================
   MÓVIL — 680 o menos
   ========================= */
@media (max-width:680px) {
.nsf-obra-page {width: calc(100% - 24px) !important; max-width: none !important; margin: 14px auto 34px !important;}
.nsf-ficha-nav {width: 100% !important; justify-content: flex-start !important; border-radius: 16px !important;}
.nsf-ficha-nav a {min-height: 40px !important; padding: 0 13px !important; font-size: .78rem !important;}
/* La ficha se convierte en una sola columna. */
  .nsf-obra-page .nsf-ficha-publica > .nsf-destacado,
  .nsf-obra-page .nsf-ficha-publica .nsf-destacado {grid-template-columns: 1fr !important; min-height: 0 !important;}
.nsf-obra-page .nsf-destacado-img {order: 0 !important; width: min(100%,340px) !important; margin: 0 auto !important;}
.nsf-obra-page .nsf-destacado-texto {order: 1 !important; padding: 28px 20px 26px !important; min-width: 0 !important;}
.nsf-obra-page .nsf-destacado h1 {font-size: clamp(2rem,10vw,2.75rem) !important; overflow-wrap: anywhere;}
.nsf-obra-page .nsf-destacado-desc {max-width: none !important; font-size: .94rem !important; line-height: 1.6 !important;}
.nsf-obra-page .nsf-datos {grid-template-columns: 1fr !important; gap: 0 !important;}
.nsf-obra-page .nsf-dato {border-right: 0 !important; border-bottom: 1px solid rgba(20,28,48,.12) !important; padding: 12px 0 !important;}
.nsf-obra-page .nsf-dato:last-child {border-bottom: 0 !important;}
.nsf-obra-page .nsf-ficha-acciones-principales {display: flex !important; flex-direction: column !important; width: 100% !important;}
.nsf-obra-page .nsf-ficha-acciones-principales > *,
  .nsf-obra-page .nsf-destacado-cta,
  .nsf-obra-page .nsf-adn-toggle,
  .nsf-obra-page .nsf-trailer-toggle {width: 100% !important; max-width: none !important;}
.nsf-obra-page .nsf-relacionados-cabecera,
  .nsf-obra-page .nsf-tabs-ficha,
  .nsf-obra-page .nsf-relacionados-acciones,
  .nsf-obra-page .nsf-seccion,
  .nsf-obra-page .nsf-llevar,
  .nsf-obra-page .nsf-packs {margin-left: 20px !important; margin-right: 20px !important;}
.nsf-obra-page .nsf-tabs-ficha {overflow-x: auto !important; flex-wrap: nowrap !important; padding-bottom: 4px !important; justify-content: flex-start !important;}
.nsf-obra-page .nsf-tab {flex: 0 0 auto !important;}
.nsf-obra-page .nsf-relaciones-completas .nsf-lista-obras,
  .nsf-obra-page .nsf-relacionados-resumen-grid {grid-template-columns: 1fr !important;}
.nsf-obra-page .nsf-obra,
  .nsf-obra-page .nsf-fila-gen-enlace {min-width: 0 !important;}
.nsf-obra-page .nsf-obra h4,
  .nsf-obra-page .nsf-rel-card-titulo,
  .nsf-obra-page .nsf-relacion-card-completa-titulo {overflow-wrap: anywhere;}
.nsf-obra-page .nsf-pack {align-items: flex-start !important; flex-wrap: wrap !important;}
.nsf-obra-page .nsf-pack-cta {width: 100% !important; margin-left: 0 !important;}
/* Barra de recorrido: se adapta sin obligar a reducir toda la página. */
  .nsf-obra-page .nsf-barra-tipo {display: flex !important; align-items: center !important; gap: 9px !important; flex-wrap: wrap !important;}
.nsf-obra-page .nsf-camino {min-width: 0 !important; flex: 1 1 150px !important; white-space: normal !important; overflow-wrap: anywhere !important;}
.nsf-obra-page .nsf-compartir,
  .nsf-obra-page .nsf-editar-hilo {flex: 0 0 auto !important;}
/* Tira del hilo / buscador */
  .nsf-search-shell {width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; margin-top: -24px !important;}
.nsf-search-row {padding: 7px 10px !important;}
.nsf-results {width: 100% !important; padding-left: 12px !important; padding-right: 12px !important;}
.nsf-conn-grid {grid-template-columns: 1fr !important;}
.nsf-form-slot,
  .nsf-confirm {width: 100% !important; padding-left: 12px !important; padding-right: 12px !important;}
.nsf-form-card {padding: 20px 16px !important;}
/* Formularios: nada debe desbordar. */
  .nsf-item-row {width: 100% !important;}
/* Header real */
  header.nsf-store-topbar {max-width: 100vw !important; overflow: hidden !important;}
header.nsf-store-topbar .nsf-store-logo img {max-width: 55vw !important; height: auto !important;}
}

/* Móviles muy estrechos */
@media (max-width:380px) {
.nsf-obra-page {width: calc(100% - 18px) !important;}
.nsf-obra-page .nsf-destacado-texto {padding-left: 16px !important; padding-right: 16px !important;}
.nsf-obra-page .nsf-relacionados-cabecera,
  .nsf-obra-page .nsf-tabs-ficha,
  .nsf-obra-page .nsf-relacionados-acciones,
  .nsf-obra-page .nsf-seccion,
  .nsf-obra-page .nsf-llevar,
  .nsf-obra-page .nsf-packs {margin-left: 16px !important; margin-right: 16px !important;}
.nsf-obra-page .nsf-destacado h1 {font-size: 1.9rem !important;}
}

/* Accesibilidad: usuarios que reducen movimiento. */
@media (prefers-reduced-motion:reduce) {
*, *::before, *::after {scroll-behavior: auto !important; transition: none !important; animation: none !important;}
}
