/* Buscador de Normativa – estilos acotados a .nb-buscador para no chocar con el tema ni con Elementor */
.nb-buscador{
  --nb-tinta:#1D2B3A; --nb-gris:#5E6B78; --nb-linea:#DCE1E6; --nb-fondo:#fff;
  --nb-azul:#1F4E79; --nb-sello:#9B2226; --nb-verde:#2D6A4F; --nb-ambar:#8A5A00; --nb-marca:#FFE58A;
  color:var(--nb-tinta); line-height:1.55; font-size:16px; max-width:none; box-sizing:border-box;
}
/* Sale del contenedor del tema y ocupa el ancho de la ventana. --nb-ancho lo fija el
   JavaScript con el ancho real sin la barra de desplazamiento, para no provocar scroll
   horizontal; 100vw queda como respaldo si el JavaScript no llega a ejecutarse. */
.nb-buscador.nb-ancho-total{
  width:var(--nb-ancho,100vw);
  max-width:var(--nb-ancho,100vw);
  margin-left:calc(50% - var(--nb-ancho,100vw) / 2);
  margin-right:calc(50% - var(--nb-ancho,100vw) / 2);
  padding-left:28px;padding-right:28px;
}
.nb-buscador *{box-sizing:border-box}
.nb-buscador a{color:var(--nb-azul)}
.nb-buscador :focus-visible{outline:3px solid #7FB3E0;outline-offset:2px}
.nb-form{background:#F7F8FA;border:1px solid #E5E7EB;border-radius:10px;padding:14px;margin-bottom:22px}
.nb-linea{display:flex;gap:12px;align-items:stretch}
.nb-campo{position:relative;flex:1 1 auto;min-width:0}
.nb-campo .nb-lupa{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;
  color:#9AA5B1;pointer-events:none}
.nb-buscador .nb-campo input[type=search]{width:100%;margin:0;padding:14px 16px 14px 46px;font-size:1rem;
  color:var(--nb-tinta);background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:none;min-height:0}
.nb-buscador .nb-campo input[type=search]::placeholder{color:#9AA5B1}
.nb-buscador .nb-campo input[type=search]:focus{border-color:#B9C6D4;outline:none;box-shadow:0 0 0 3px rgba(31,78,121,.12)}
.nb-buscador .nb-enviar{flex:0 0 auto;padding:0 30px;border:0;border-radius:8px;background:#195CCF;color:#ffffff;
  font-size:1rem;font-weight:700;font-family:inherit;line-height:1.3;cursor:pointer;margin:0;min-height:0}
.nb-buscador .nb-enviar:hover,.nb-buscador .nb-enviar:focus{background:#1450B8;color:#ffffff}
.nb-filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px}
.nb-buscador .nb-filtros select{flex:1 1 210px;max-width:280px;min-width:170px;margin:0;padding:9px 34px 9px 14px;
  font-size:.94rem;color:#5E6B78;background-color:#fff;border:1px solid #E5E7EB;border-radius:8px;min-height:0;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA5B1' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
.nb-buscador .nb-filtros select:focus{border-color:#B9C6D4;outline:none;box-shadow:0 0 0 3px rgba(31,78,121,.12)}
.nb-buscador .nb-limpiar{flex:0 0 auto;padding:9px 18px;border-radius:8px;background:#E5E7EB;color:#4B5563;
  font-size:.92rem;font-weight:600;text-decoration:none;border:1px solid #E5E7EB}
.nb-buscador .nb-limpiar:hover{background:#D9DDE3;color:#374151}
@media (max-width:600px){.nb-linea{flex-wrap:wrap}.nb-buscador .nb-enviar{flex:1 1 100%;padding:12px 24px}
  .nb-buscador .nb-filtros select{flex:1 1 100%;max-width:none}
  .nb-buscador .nb-limpiar{flex:1 1 100%;text-align:center}}
.nb-estado{color:var(--nb-gris);margin:0 0 16px}
.nb-error{color:var(--nb-sello)}
.nb-ayuda{color:var(--nb-gris);max-width:70ch}
.nb-vacio{text-align:center;padding:46px 20px 40px}
.nb-buscador .nb-vacio-icono{display:block;width:90px;height:90px;margin:0 auto 20px;fill:#C3CAD4}
.nb-buscador .nb-vacio p{margin:0 auto;max-width:48ch;color:var(--nb-gris);font-size:1rem;line-height:1.6}
.nb-ayuda code{background:#EEF1F4;padding:1px 5px;border-radius:3px}
.nb-ficha{background:#fff;border:1px solid #d3d7de;border-radius:16px;padding:22px 24px;margin:0 0 21px;
  box-shadow:0 1px 3px rgba(16,24,40,.06)}
.nb-cabecera{padding:0 0 16px;border-bottom:2px solid #d3d8de}
.nb-buscador .nb-titulo,.nb-buscador .nb-titulo a{margin:0;font-size:16px;line-height:1.45;
  font-weight:700;color:#124191}
.nb-buscador .nb-titulo a,.nb-buscador .nb-titulo a[target]{color:#124191;text-decoration:none;font-weight:700;
  cursor:pointer}
.nb-buscador .nb-titulo a:hover,.nb-buscador .nb-titulo a:focus{text-decoration:underline}
.nb-chips{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.nb-chip{display:inline-flex;align-items:center;gap:6px;background:#F2F2F4;border:0;border-radius:999px;
  padding:10px 20px;font-size:.95rem;color:var(--nb-tinta);line-height:1.3;margin:0}
.nb-buscador .nb-chip-btn{cursor:pointer;text-decoration:none;color:var(--nb-tinta);font-family:inherit}
.nb-buscador .nb-chip-btn:hover,.nb-buscador .nb-chip-btn:focus{background:#E6E7EA;color:var(--nb-tinta)}
.nb-buscador .nb-ver-nota,.nb-buscador .nb-ver-nota b{background:#195ccf;color:#fff}
.nb-buscador .nb-ver-nota:hover,.nb-buscador .nb-ver-nota:focus{background:#1450B8;color:#fff}
.nb-buscador .nb-pdf{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  margin-left:4px;border-radius:50%;background:#fff;border:1px solid #DDDFE3;font-size:.9rem;text-decoration:none}
.nb-buscador .nb-pdf:hover{border-color:#e53e3e}
.nb-chip em{font-style:normal;color:var(--nb-gris)}
.nb-chip b{font-weight:700}
.nb-chip.nb-termino{background:#FFF8DC}
.nb-termino b{font-weight:700}
.nb-cero{opacity:.55}
.nb-cero b{text-decoration:line-through}
.nb-buscador .nb-sub{margin:22px 0 0;font-size:.95rem;font-weight:700;color:#111827}
.nb-extracto{background:#F2F7FD;border:1px solid #E0EBFA;border-radius:12px;padding:18px 20px;margin-top:12px}
.nb-buscador .nb-frag{margin:0 0 12px;font-size:.94rem;line-height:1.72;color:#1F2937;max-width:none;width:auto}
.nb-buscador .nb-extracto .nb-frag:last-child{margin-bottom:0}
.nb-buscador mark,.nb-modal mark{background:#FFE58A !important;color:#1D2B3A !important;padding:0 2px;
  border-radius:2px;display:inline}
.nb-acciones{margin-top:14px;font-size:.9rem;display:flex;gap:18px;flex-wrap:wrap}
.nb-paginas{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}
.nb-paginas a,.nb-paginas span{padding:5px 11px;border:1px solid var(--nb-linea);border-radius:4px;text-decoration:none;background:#fff}
.nb-paginas span{background:var(--nb-azul);color:#fff;border-color:var(--nb-azul)}
.nb-buscador .nb-texto,.nb-modal .nb-texto{background:#fff;border:1px solid var(--nb-linea);padding:26px 30px;max-width:none;width:auto;line-height:1.7;font-family:Charter,"Iowan Old Style",Georgia,serif}
@media (max-width:600px){.nb-buscador .nb-titulo,.nb-buscador .nb-titulo a{font-size:14px}
  .nb-buscador.nb-ancho-total{padding-left:16px;padding-right:16px}
  .nb-ficha{padding:16px}.nb-cabecera{padding:0 0 12px}.nb-chip{padding:8px 14px;font-size:.9rem}.nb-texto{padding:16px}.nb-datos th{width:90px}}

/* Botones azules y ventana emergente */
.nb-buscador .nb-btn,.nb-modal .nb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:11px 22px;border:0;border-radius:10px;background:#195CCF;color:#fff;font-size:.95rem;font-weight:700;
  line-height:1.3;cursor:pointer;text-decoration:none;margin:0;font-family:inherit;
  box-shadow:0 1px 2px rgba(16,24,40,.18);transition:background .15s}
.nb-buscador .nb-btn:hover,.nb-buscador .nb-btn:focus,.nb-modal .nb-btn:hover,.nb-modal .nb-btn:focus{
  background:#1450B8;color:#fff}
.nb-modal .nb-btn .nb-ico{flex:0 0 auto}
.nb-buscador .nb-btn-mini{padding:3px 10px;font-size:.8rem}
.nb-modal[hidden]{display:none}
.nb-modal{--nb-tinta:#1D2B3A; --nb-gris:#5E6B78; --nb-linea:#DCE1E6; --nb-azul:#1F4E79;
  font-size:16px;line-height:1.55;position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.nb-modal-fondo{position:absolute;inset:0;background:rgba(15,23,32,.6)}
.nb-modal-caja{position:relative;background:#fff;color:#1D2B3A;border-radius:14px;width:min(1000px,100%);
  max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,.35)}
.nb-modal-cabecera{display:flex;gap:14px;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid #ECEEF1;background:#fff}
.nb-modal-cabecera h3{color:#124191;margin:0;font-size:1rem;line-height:1.35;font-weight:600;flex:1}
.nb-modal-cabecera h3[hidden]{display:none}
.nb-modal-acciones{margin-right:auto;display:flex;gap:14px;flex-wrap:wrap}
.nb-modal-acciones:empty{display:none}
.nb-modal-x{border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#8A94A0;padding:0 4px}
.nb-modal-x:hover{color:#4B5563}
.nb-modal-cuerpo{overflow:auto;padding:0;font-size:1rem;line-height:1.6;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;min-height:0}
.nb-modal-nota,.nb-modal-cuerpo>p{padding:18px 22px}
.nb-aviso{background:linear-gradient(90deg,#FFFFCB 0%,#FFFFE6 75%,#FFFFF7 100%);color:#1F2937;
  font-weight:400;font-size:.97rem;padding:13px 22px;flex:0 0 auto}
.nb-cuerpo-texto{padding:18px 20px 20px;overflow:auto}
.nb-modal .nb-cuerpo-texto .nb-texto{background:#F3F7FD;border:1px solid #E2EDFB;border-radius:12px;
  padding:20px 22px;line-height:1.75;max-width:none;width:auto}
.nb-cuerpo-texto>p{background:#F3F7FD;border:1px solid #E2EDFB;border-radius:12px;padding:20px 22px;margin:0}
.nb-modal-cuerpo .nb-texto{border:0;padding:0;max-width:none;width:auto;background:none}
.nb-modal a{color:var(--nb-azul)}
.nb-modal-pdf{padding:0;display:flex;flex-direction:column}
.nb-visor{position:relative;flex:1 1 auto;min-height:0;display:flex;background:#F3F7FD}
.nb-modal-pdf iframe{width:100%;height:78vh;border:0;display:block;position:relative;z-index:1}
.nb-visor-aviso{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  margin:0;padding:24px;text-align:center;color:#5E6B78;font-size:.95rem;background:#F3F7FD}
.nb-modal-nota{max-width:none}
.nb-cargando{color:#5E6B78}
body.nb-sin-scroll{overflow:hidden}
@media (max-width:600px){.nb-modal{padding:0}.nb-modal-caja{max-height:100vh;height:100%;border-radius:0}
  .nb-modal-cabecera{padding:12px 14px}.nb-aviso{padding:12px 14px;font-size:.94rem}
  .nb-cuerpo-texto{padding:14px 16px 20px}.nb-buscador .nb-btn,.nb-modal .nb-btn{padding:9px 18px;font-size:.86rem}
  .nb-modal-pdf iframe{height:calc(100vh - 150px)}}
