/* A17: capa acotada sobre el diseño histórico, sin sustituir CSS/JS P100. */
.tu-search{--tu-accent:#e88970;color:#f5f5f3;max-width:100%;text-align:left}
.tu-search *, .tu-page *{box-sizing:border-box}
.tu-label{display:block;color:#c8c9cc;font-size:12px;font-weight:700;letter-spacing:.035em;margin-bottom:10px}
.tu-query{display:flex;gap:10px;align-items:center;background:#17191d;border:1px solid #3e4049;border-radius:9px;min-height:56px;padding:5px 6px 5px 15px}
.tu-query:focus-within{border-color:var(--tu-accent);box-shadow:0 0 0 2px #e8897028}
.tu-mag{color:var(--tu-accent);font-size:26px;line-height:1}
.tu-query input{min-width:0;flex:1;background:transparent;border:0;outline:0;font:inherit;font-size:16px;color:#fff;padding:12px 2px}
.tu-query input::placeholder{color:#999da5}
.tu-query button{flex:none;border:0;border-radius:6px;padding:13px 18px;background:var(--tu-accent);color:#161518;cursor:pointer;font-weight:800}
.tu-query button:hover{background:#f6a58d}
.tu-kinds{display:flex;flex-wrap:wrap;gap:7px;border:0;padding:16px 0 2px;margin:0;min-width:0}
.tu-kinds legend{font-size:0;width:0;height:0;overflow:hidden;padding:0}
.tu-chip{position:relative;cursor:pointer}
.tu-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.tu-chip span{display:block;padding:7px 12px;border-radius:999px;border:1px solid #494c55;background:#1d2026;color:#d2d3d5;font-size:12px;font-weight:650;white-space:nowrap}
.tu-chip input:checked+span{border-color:var(--tu-accent);background:#56352f;color:#fff}
.tu-chip input:focus-visible+span{outline:3px solid #f9b7a3;outline-offset:3px}
.tu-hint{color:#b6b8bf;font-size:12px;margin:11px 0 3px}
.tu-live-results{margin-top:15px;max-height:330px;overflow:auto;scrollbar-color:#64656d #17191d}
.tu-result-head{border-top:1px solid #373942;padding:12px 0 5px;color:#b5b8c1;font-size:13px}
.tu-result-head p{margin:0 0 9px}
.tu-result-group h2{font-size:12px!important;letter-spacing:.09em;text-transform:uppercase;margin:13px 0 8px!important;color:var(--tu-accent)!important}
.tu-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tu-hit{display:flex;align-items:center;gap:12px;background:#1f2128;border:1px solid #363941;border-radius:7px;padding:12px;text-decoration:none!important;color:#fff!important;min-width:0}
.tu-hit strong{flex:1;font-size:13px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.tu-hit small{font-size:11px;color:#afb0b8}
.tu-hit:hover{border-color:var(--tu-accent)}
.tu-hit--locked{color:#a3a4a9!important;cursor:default}
.tu-search--header{padding:0 3px 12px}
.tu-search--header .tu-query{min-height:48px}
.tu-search--header .tu-query input{font-size:14px}
.tu-search--header .tu-query button{padding:11px 15px}
.tu-search--hero{position:relative;z-index:2}
.tu-search--hero .tu-query{background:#111419ee}
.tu-search--hero .tu-chip span{background:#14171ccd}
.tu-search--hero .tu-live-results{max-height:350px}
.tu-page{padding:42px max(24px,calc((100vw - 1150px)/2)) 90px;background:#0c0d11;min-height:65vh;color:#f7f7f5}
.tu-page-intro{margin:0 0 30px}
.tu-page-intro h1{font-size:clamp(37px,5vw,68px);letter-spacing:-.06em;line-height:1.05;margin:8px 0 14px}
.tu-page-intro p{color:#c7c8ce;font-size:17px;max-width:660px}
.tu-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--tu-accent,#e88970)}
.tu-search--page .tu-query{max-width:930px}
.tu-page-results{margin-top:40px}
.tu-page-results .tu-result-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.tu-page-results .tu-hit{min-height:74px}
@media(max-width:820px){.tu-page-results .tu-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tu-query button{padding:12px}}
@media(max-width:560px){.tu-query{padding-left:8px;gap:6px}.tu-mag{display:none}.tu-query input{font-size:14px}.tu-query button{padding:11px 9px;font-size:12px}.tu-result-list,.tu-page-results .tu-result-list{grid-template-columns:1fr}.tu-kinds{gap:6px}.tu-chip span{font-size:11px;padding:7px 9px}.tu-page{padding:32px 16px 65px}}

/* A17-HF1: lupa enlazada a búsqueda avanzada, sin modal duplicado. */
.tu-search-open{display:inline-flex!important;align-items:center;gap:7px;justify-content:center;text-decoration:none!important}
.tu-search-open svg{width:18px;height:18px;flex:none}
.tu-advanced-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 8px}
.tu-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.tu-field label{color:#d7d8db;font-size:13px;font-weight:700}
.tu-field select{width:100%;min-height:46px;max-width:100%;border:1px solid #555863;border-radius:8px;background:#1d2026;color:#f3f4f5;padding:10px 12px;font:inherit;font-size:14px}
.tu-field select:focus-visible{outline:2px solid #e88970;outline-offset:2px}
.tu-field select:disabled{opacity:.48;cursor:not-allowed}
.tu-hint:empty{display:none}
@media(max-width:620px){.tu-advanced-controls{grid-template-columns:1fr}.tu-search-open span{display:none}.tu-search-open{min-width:40px;min-height:40px}}

/* A18: directorio completo, recuento y navegación de páginas sin prioridades comerciales. */
.tu-count{color:#b9bac2;font-size:13px;margin:3px 0 12px}
.tu-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:22px 12px;margin:18px 0 4px;border-top:1px solid #3e4048;color:#c9cbd0;font-size:14px}
.tu-pagination a,.tu-view-all{display:inline-flex;align-items:center;gap:8px;border:1px solid #6c514e;border-radius:8px;background:#201b1b;padding:10px 16px;color:#ffb69f!important;text-decoration:none!important;font-size:14px;font-weight:700}
.tu-pagination a:hover,.tu-view-all:hover{border-color:#ec987f;background:#2f2321}
.tu-view-all{margin:18px 0 6px}

/* A18-HF1: retícula editorial de búsqueda alineada con el portal TATUARTE.
   Solo .tu-page. No cambia la portada, PUBLICIDAD, ni componentes ajenos. */
#contenido > .tu-page {
  --tu-accent: var(--r20-blue, #91d7ff);
  --tu-violet: var(--r20-violet, #8074ff);
  width: 100%; max-width: none; min-width: 0;
  padding: 0 !important; margin: 0;
  color: var(--r20-text, #f6f7fb);
  background: #08090c;
}
#contenido > .tu-page .tu-page-shell {
  width: 100%; max-width: 1280px;
  margin-inline: auto;
  padding: clamp(34px, 4.4vw, 72px) clamp(20px, 4vw, 62px) clamp(72px, 7vw, 108px);
  box-sizing: border-box;
}
#contenido > .tu-page .tu-page-intro {
  position: relative; max-width: 840px;
  padding-bottom: clamp(24px, 3vw, 40px);
  margin: 0 0 26px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
#contenido > .tu-page .tu-eyebrow {
  display: block; margin-bottom: 14px;
  color: #a99fff; font-size: 11px; font-weight: 760;
  letter-spacing: .16em;
}
#contenido > .tu-page .tu-page-intro h1 {
  font-size: clamp(38px, 4.45vw, 65px) !important;
  font-weight: 690; line-height: 1.04; letter-spacing: -.055em;
  margin: 0 0 18px !important;
  color: #f6f7fb;
  text-wrap: balance;
}
#contenido > .tu-page .tu-page-intro p {
  max-width: 670px; color: #abb0bb;
  font-size: clamp(14px, 1.2vw, 17px); line-height: 1.56;
  margin: 0;
}
#contenido > .tu-page .tu-search--page {
  display: block; max-width: 100%; min-width: 0;
  padding: clamp(20px, 2.6vw, 34px);
  background: linear-gradient(125deg, rgba(24,27,36,.93), rgba(15,17,24,.95));
  border: 1px solid rgba(168,173,200,.20);
  border-radius: var(--r20-radius, 14px);
  box-shadow: 0 18px 60px rgba(0,0,0,.14);
}
#contenido > .tu-page .tu-search--page .tu-query {max-width:none; background:#0c0e14; border-color:#414653;}
#contenido > .tu-page .tu-search--page .tu-query button {background:#91d7ff; color:#0a0d14;}
#contenido > .tu-page .tu-search--page .tu-query button:hover {background:#b3e6ff;}
#contenido > .tu-page .tu-search--page .tu-chip span {background:#20232d; border-color:#4a4c5c; color:#d6d9e3;}
#contenido > .tu-page .tu-search--page .tu-chip input:checked + span {background:#262a50; color:#fff; border-color:#9894ff;}
#contenido > .tu-page .tu-search--page .tu-field select {background:#10131a; border-color:#434754; color:#f1f3f9;}
#contenido > .tu-page .tu-search--page .tu-field label {font-size:12px; color:#cbd1dd;}
#contenido > .tu-page .tu-page-results {margin-top: clamp(30px,4vw,56px); min-width:0;}
#contenido > .tu-page .tu-result-head {padding:0 0 17px; border-top:0; border-bottom:1px solid rgba(255,255,255,.12); color:#acb2c0; font-size:14px;}
#contenido > .tu-page .tu-result-group {padding-top: 22px; min-width:0;}
#contenido > .tu-page .tu-result-group h2 {
  margin: 0 0 12px !important; color:#f2f3f8 !important;
  letter-spacing:-.02em; text-transform:none; font-size: clamp(21px, 2.2vw, 28px) !important;
}
#contenido > .tu-page .tu-count {margin: 0 0 17px; color:#9fa8b9; font-size:13px; line-height:1.5;}
#contenido > .tu-page .tu-result-list {grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
#contenido > .tu-page .tu-hit {
  min-height: 106px; padding: 18px; gap: 8px;
  flex-wrap: wrap; align-content: center;
  background: linear-gradient(145deg, #181b23, #11131a);
  border: 1px solid rgba(169,173,201,.20);
  border-radius: 12px; box-shadow:none;
  transition: border-color .2s ease, transform .2s ease;
}
#contenido > .tu-page .tu-hit strong {
  flex: 1 1 100%; font-size:14px; line-height:1.4; font-weight:700;
  overflow-wrap:anywhere; color:#f7f8fb;
}
#contenido > .tu-page .tu-hit small {font-size:12px; color:#aeb7c8;}
#contenido > .tu-page .tu-hit span[aria-hidden] {margin-left:auto; color:#91d7ff; font-size:16px;}
#contenido > .tu-page a.tu-hit:hover {border-color:#928af0; transform:translateY(-2px);}
#contenido > .tu-page .tu-pagination {margin-top:24px; border-color:rgba(255,255,255,.12);}
#contenido > .tu-page .tu-pagination a,
#contenido > .tu-page .tu-view-all {background:#202437; border-color:#515874; color:#bedcff!important;}
#contenido > .tu-page .tu-pagination a:hover,
#contenido > .tu-page .tu-view-all:hover {border-color:#9acafb; background:#292d44;}
@media(max-width:900px) {
  #contenido > .tu-page .tu-page-shell {max-width:740px;}
  #contenido > .tu-page .tu-result-list {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px) {
  #contenido > .tu-page .tu-page-shell {padding:30px 18px 70px;}
  #contenido > .tu-page .tu-page-intro {margin-bottom:22px; padding-bottom:23px;}
  #contenido > .tu-page .tu-search--page {padding:16px;}
  #contenido > .tu-page .tu-query {gap:4px; padding:5px;}
  #contenido > .tu-page .tu-query input {font-size:14px;}
  #contenido > .tu-page .tu-advanced-controls {grid-template-columns:minmax(0,1fr); gap:13px;}
  #contenido > .tu-page .tu-result-list {grid-template-columns:1fr;}
  #contenido > .tu-page .tu-hit {min-height:88px; padding:15px;}
}
