/*
 * Centro de ayuda · el MARCO de las páginas públicas (/ayuda/…) (diseño de la fase 1, §2.4-2.6).
 * Sólo se carga en esas páginas, así que puede estilar html y body. Clases con el prefijo «ayc-».
 *
 * Reglas que no se rompen:
 *   · sin JavaScript y sin atributos style="" (la CSP de estas páginas los bloquearía): todo está aquí;
 *   · tipografía del sistema (la CSP no deja cargar fuentes de fuera);
 *   · claro y oscuro según el sistema (decisión D6), contraste AA en los dos;
 *   · foco visible de 3 px, objetivos de al menos 24×24 px y nada de desplazamiento horizontal a 320 px;
 *   · prefers-reduced-motion: sin transiciones.
 */

:root {
  --ayc-fondo: #ffffff;
  --ayc-fondo-2: #f5f6fa;
  --ayc-superficie: #ffffff;
  --ayc-borde: #e2e5ee;
  --ayc-borde-fuerte: #c9cedb;
  --ayc-texto: #161b2e;
  --ayc-texto-2: #3f475d;
  --ayc-texto-3: #5a6277;
  --ayc-acento: #4338ca;
  --ayc-acento-hover: #3730a3;
  --ayc-acento-fondo: #eef0ff;
  --ayc-boton: #4338ca;
  --ayc-boton-hover: #3730a3;
  --ayc-boton-texto: #ffffff;
  --ayc-heroe-1: #eceffe;
  --ayc-heroe-2: #f7f8fc;
  --ayc-sombra: 0 1px 2px rgba(17, 24, 39, 0.05), 0 8px 24px -14px rgba(17, 24, 39, 0.22);
  --ayc-sombra-alta: 0 2px 4px rgba(17, 24, 39, 0.06), 0 14px 32px -16px rgba(55, 48, 163, 0.35);
  --ayc-etiqueta-fondo: #eef0f4;
  --ayc-etiqueta-texto: #475569;
  --ayc-aviso-fondo: #fff8e8;
  --ayc-aviso-borde: #e9b949;
  --ayc-aviso-texto: #3d2f05;
  --ayc-mark: #fde68a;
  --ayc-mark-texto: #1c1917;
  --ayc-radio: 14px;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ayc-fondo: #0d1020;
    --ayc-fondo-2: #121629;
    --ayc-superficie: #151a2e;
    --ayc-borde: #262c47;
    --ayc-borde-fuerte: #39415f;
    --ayc-texto: #e8eaf3;
    --ayc-texto-2: #c3c8d8;
    --ayc-texto-3: #a0a7bc;
    --ayc-acento: #a5b4fc;
    --ayc-acento-hover: #c7d2fe;
    --ayc-acento-fondo: #1b2142;
    --ayc-boton: #818cf8;
    --ayc-boton-hover: #a5b4fc;
    --ayc-boton-texto: #0d1020;
    --ayc-heroe-1: #161b3a;
    --ayc-heroe-2: #0d1020;
    --ayc-sombra: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px -14px rgba(0, 0, 0, 0.6);
    --ayc-sombra-alta: 0 2px 4px rgba(0, 0, 0, 0.35), 0 14px 32px -16px rgba(0, 0, 0, 0.75);
    --ayc-etiqueta-fondo: #232a45;
    --ayc-etiqueta-texto: #c3c8d8;
    --ayc-aviso-fondo: #2a2210;
    --ayc-aviso-borde: #b58a1d;
    --ayc-aviso-texto: #f4e6bf;
    --ayc-mark: #6b5310;
    --ayc-mark-texto: #fff7db;
  }
}

/* ── Base ────────────────────────────────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.ayc {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--ayc-fondo);
  color: var(--ayc-texto);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.ayc a { color: var(--ayc-acento); }
.ayc a:hover { color: var(--ayc-acento-hover); }
.ayc :focus-visible { outline: 3px solid var(--ayc-acento); outline-offset: 2px; border-radius: 4px; }
.ayc img { max-width: 100%; height: auto; }
.ayc .ayc-icono { width: 1.25em; height: 1.25em; flex: none; vertical-align: -0.22em; }

.ayc-ancho { width: 100%; max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .ayc-ancho { padding: 0 1.5rem; } }
.ayc-estrecho { max-width: 40rem; }

.ayc-sr,
.ayc-sr-boton {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ayc-sr-boton:focus {
  position: static !important; width: auto; height: auto; margin: 0 0 0 0.25rem; clip: auto;
  padding: 0.35rem 0.7rem; border-radius: 8px; background: var(--ayc-boton); color: var(--ayc-boton-texto);
  font: inherit; font-size: 0.85rem; font-weight: 600;
}

.ayc-saltar {
  position: absolute; left: 1rem; top: -4rem; z-index: 10;
  padding: 0.6rem 1rem; border-radius: 10px;
  background: var(--ayc-boton); color: var(--ayc-boton-texto) !important;
  font-weight: 600; text-decoration: none;
}
.ayc-saltar:focus { top: 0.75rem; }

.ayc-principal { flex: 1; outline: none; }

/* ── Cabecera ────────────────────────────────────────────────────────────────────────────────── */

.ayc-cabecera {
  background: var(--ayc-superficie);
  border-bottom: 1px solid var(--ayc-borde);
}
.ayc-cabecera-in {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem;
  min-height: 4rem; padding-top: 0.6rem; padding-bottom: 0.6rem;
}
.ayc-marca {
  display: inline-flex; align-items: center; gap: 0.6rem;
  color: var(--ayc-texto) !important; text-decoration: none; font-weight: 700; letter-spacing: -0.01em;
  min-height: 2.75rem;
}
.ayc-logo {
  display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 9px;
  background: linear-gradient(135deg, #4f46e5, #7c3aed); color: #fff; font-weight: 800; font-size: 1.05rem;
  box-shadow: 0 2px 6px -2px rgba(79, 70, 229, 0.55);
}
.ayc-logo-peq { width: 1.6rem; height: 1.6rem; font-size: 0.85rem; border-radius: 7px; }
.ayc-marca-centro {
  font-weight: 500; color: var(--ayc-texto-2); padding-left: 0.6rem; border-left: 1px solid var(--ayc-borde-fuerte);
}
@media (max-width: 380px) { .ayc-marca-txt { display: none; } .ayc-marca-centro { border-left: 0; padding-left: 0; } }

.ayc-entrar { margin-left: auto; }

/* ── Botones ─────────────────────────────────────────────────────────────────────────────────── */

.ayc-boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  min-height: 2.75rem; padding: 0.55rem 1.1rem; border-radius: 10px;
  font: inherit; font-weight: 600; font-size: 0.95rem; line-height: 1.2;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
.ayc-boton-pri { background: var(--ayc-boton); color: var(--ayc-boton-texto) !important; }
.ayc-boton-pri:hover { background: var(--ayc-boton-hover); }
.ayc-boton-sec { background: var(--ayc-superficie); color: var(--ayc-texto) !important; border-color: var(--ayc-borde-fuerte); }
.ayc-boton-sec:hover { border-color: var(--ayc-acento); color: var(--ayc-acento) !important; }

/* ── Buscador ────────────────────────────────────────────────────────────────────────────────── */

.ayc-buscador {
  position: relative; display: flex; align-items: center; gap: 0.4rem;
  background: var(--ayc-superficie); border: 1px solid var(--ayc-borde-fuerte); border-radius: 12px;
  padding: 0.25rem 0.25rem 0.25rem 2.75rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ayc-buscador:focus-within { border-color: var(--ayc-acento); box-shadow: 0 0 0 3px var(--ayc-acento-fondo), 0 0 0 4px var(--ayc-acento); }
.ayc-buscador-icono { position: absolute; left: 0.95rem; top: 50%; transform: translateY(-50%); display: flex; color: var(--ayc-texto-3); }
.ayc-buscador-campo {
  flex: 1; min-width: 0; min-height: 2.75rem; border: 0; outline: 0; background: transparent;
  color: var(--ayc-texto); font: inherit; font-size: 1rem; padding: 0 0.25rem;
}
.ayc-buscador-campo::placeholder { color: var(--ayc-texto-3); opacity: 1; }
.ayc-buscador-campo::-webkit-search-cancel-button { cursor: pointer; }
.ayc-buscador-grande { padding: 0.35rem 0.35rem 0.35rem 3rem; border-radius: 14px; box-shadow: var(--ayc-sombra); }
.ayc-buscador-grande .ayc-buscador-icono { left: 1.1rem; }
.ayc-buscador-grande .ayc-buscador-campo { font-size: 1.05rem; min-height: 3rem; }
.ayc-buscador-cabecera { flex: 1 1 18rem; max-width: 26rem; margin-left: auto; border-radius: 10px; padding-left: 2.4rem; }
.ayc-buscador-cabecera .ayc-buscador-icono { left: 0.8rem; }
.ayc-buscador-cabecera .ayc-buscador-campo { min-height: 2.4rem; font-size: 0.95rem; }
.ayc-buscador-cabecera + .ayc-entrar { margin-left: 0; }
@media (max-width: 720px) {
  .ayc-buscador-cabecera { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; }
  .ayc-buscador-cabecera + .ayc-entrar { margin-left: auto; }   /* el buscador baja de línea: «Entrar» se queda a la derecha */
}
@media (max-width: 520px) {
  /* En el móvil el botón baja a su propia línea. El campo tiene que ocupar la primera ENTERA (flex-basis 100%): con
     flex: 1 (base 0) y el margen negativo del botón, los dos cabían en una línea y el botón tapaba el campo. */
  .ayc-buscador-grande { flex-wrap: wrap; row-gap: 0.35rem; padding: 0.35rem 0.35rem 0.35rem 2.9rem; }
  .ayc-buscador-grande .ayc-buscador-campo { flex: 1 1 100%; }
  .ayc-buscador-grande .ayc-buscador-icono { top: 1.85rem; }
  .ayc-buscador-grande .ayc-boton { flex: 1 1 100%; margin-left: -2.55rem; }
}

/* ── Migas de pan ────────────────────────────────────────────────────────────────────────────── */

.ayc-migas { padding-top: 1.25rem; padding-bottom: 0.25rem; font-size: 0.9rem; }
.ayc-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; }
.ayc-migas li { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--ayc-texto-3); }
.ayc-migas li + li::before { content: "/"; color: var(--ayc-borde-fuerte); padding: 0 0.35rem; }
.ayc-migas a { color: var(--ayc-texto-2); text-decoration: none; padding: 0.15rem 0; }
.ayc-migas a:hover { color: var(--ayc-acento); text-decoration: underline; }
.ayc-migas [aria-current] { color: var(--ayc-texto-3); }
/* En el móvil, la miga de la página actual sobra (el título va justo debajo) y al partirse dejaba la barra suelta. */
@media (max-width: 520px) { .ayc-migas li:has(> [aria-current]) { display: none; } }

/* ── Portada ─────────────────────────────────────────────────────────────────────────────────── */

.ayc-heroe {
  background: radial-gradient(1200px 380px at 50% -40px, var(--ayc-heroe-1), var(--ayc-heroe-2) 70%, var(--ayc-fondo));
  border-bottom: 1px solid var(--ayc-borde);
}
.ayc-heroe-in { max-width: 46rem; text-align: center; padding-top: 3.5rem; padding-bottom: 3.25rem; }
.ayc-antetitulo {
  margin: 0 0 0.6rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ayc-acento);
}
.ayc-heroe-titulo { margin: 0 0 0.75rem; font-size: clamp(1.9rem, 4.6vw, 2.75rem); line-height: 1.12; letter-spacing: -0.025em; font-weight: 800; }
.ayc-heroe-sub { margin: 0 auto 1.9rem; max-width: 34rem; font-size: 1.08rem; color: var(--ayc-texto-2); }
.ayc-heroe .ayc-buscador { text-align: left; }
@media (max-width: 640px) { .ayc-heroe-in { padding-top: 2.25rem; padding-bottom: 2.25rem; } }

.ayc-portada { padding-top: 2.75rem; padding-bottom: 3rem; }
.ayc-bloque { margin: 0 0 3rem; }
.ayc-bloque-titulo { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 750; letter-spacing: -0.01em; }
.ayc-bloque-intro { margin: -0.4rem 0 1.1rem; color: var(--ayc-texto-2); max-width: 46rem; }

.ayc-rejilla { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.ayc-rejilla-3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.ayc-rejilla-2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.ayc-rejilla > li { display: flex; }

.ayc-tarjeta {
  flex: 1; display: flex; align-items: flex-start; gap: 0.95rem;
  padding: 1.15rem 1.15rem 1.1rem; border-radius: var(--ayc-radio);
  background: var(--ayc-superficie); border: 1px solid var(--ayc-borde);
  color: var(--ayc-texto) !important; text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
a.ayc-tarjeta:hover { border-color: var(--ayc-acento-borde, #b9c0f7); box-shadow: var(--ayc-sombra-alta); transform: translateY(-1px); }
a.ayc-tarjeta:hover .ayc-tarjeta-titulo { color: var(--ayc-acento); }
.ayc-tarjeta-icono, .ayc-mini-icono, .ayc-cab-nube-icono {
  display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border-radius: 11px;
}
.ayc-tarjeta-icono .ayc-icono, .ayc-mini-icono .ayc-icono { width: 1.4rem; height: 1.4rem; }
.ayc-tarjeta-texto { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.ayc-tarjeta-titulo { font-weight: 700; font-size: 1.02rem; }
.ayc-tarjeta-linea { color: var(--ayc-texto-2); font-size: 0.92rem; line-height: 1.45; }
.ayc-tarjeta-meta { margin-top: 0.35rem; color: var(--ayc-texto-3); font-size: 0.82rem; font-weight: 600; }
.ayc-tarjeta-apagada { background: var(--ayc-fondo-2); border-style: dashed; }
.ayc-rejilla-compacta .ayc-tarjeta { padding: 0.95rem 1rem; }
.ayc-rejilla-compacta .ayc-tarjeta-icono { width: 2.4rem; height: 2.4rem; }

.ayc-etiqueta {
  display: inline-block; padding: 0.12rem 0.5rem; border-radius: 999px; vertical-align: 0.08em;
  background: var(--ayc-etiqueta-fondo); color: var(--ayc-etiqueta-texto);
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
}

.ayc-mini {
  flex: 1; display: flex; gap: 0.85rem; align-items: flex-start; padding: 0.9rem 1rem; border-radius: 12px;
  border: 1px solid var(--ayc-borde); background: var(--ayc-superficie); color: var(--ayc-texto) !important; text-decoration: none;
}
a.ayc-mini:hover { border-color: var(--ayc-acento); box-shadow: var(--ayc-sombra); }
.ayc-mini-icono { width: 2.25rem; height: 2.25rem; border-radius: 9px; }
.ayc-mini-icono .ayc-icono { width: 1.15rem; height: 1.15rem; }
.ayc-mini-texto { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.ayc-mini-titulo { font-weight: 650; }
.ayc-mini-resumen { color: var(--ayc-texto-2); font-size: 0.9rem; line-height: 1.45; }
.ayc-mini-apagado { background: var(--ayc-fondo-2); border-style: dashed; }

.ayc-nota-pie { color: var(--ayc-texto-3); font-size: 0.92rem; margin: -1rem 0 2rem; }

.ayc-dentro {
  display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem;
  padding: 1.25rem 1.4rem; border-radius: var(--ayc-radio);
  background: var(--ayc-acento-fondo); border: 1px solid var(--ayc-borde);
}
.ayc-dentro p { margin: 0; flex: 1 1 18rem; color: var(--ayc-texto); }
.ayc-dentro > div { flex: 1 1 18rem; }
.ayc-dentro > div p + p { margin-top: 0.5rem; }
.ayc-dentro-icono { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--ayc-superficie); color: var(--ayc-acento); }
.ayc-contacto { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; color: var(--ayc-texto-2) !important; font-size: 0.92rem; }
.ayc-pendiente-d5 {
  display: inline-block; padding: 0.1rem 0.5rem; border-radius: 6px; border: 1px dashed var(--ayc-aviso-borde);
  background: var(--ayc-aviso-fondo); color: var(--ayc-aviso-texto); font-size: 0.8rem; font-weight: 600;
}

/* Listas de artículos (nube, recientes, sugeridos) */
.ayc-lista-art { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ayc-borde); border-radius: var(--ayc-radio); background: var(--ayc-superficie); overflow: hidden; }
.ayc-lista-art > li + li { border-top: 1px solid var(--ayc-borde); }
.ayc-fila { display: flex; align-items: center; gap: 1rem; padding: 0.95rem 1.15rem; color: var(--ayc-texto) !important; text-decoration: none; }
a.ayc-fila:hover { background: var(--ayc-fondo-2); }
a.ayc-fila:hover .ayc-fila-titulo { color: var(--ayc-acento); }
a.ayc-fila:focus-visible { outline-offset: -3px; border-radius: 0; }
.ayc-fila-cuerpo { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0.2rem; }
.ayc-fila-titulo { font-weight: 650; }
.ayc-fila-resumen { color: var(--ayc-texto-2); font-size: 0.92rem; line-height: 1.45; }
.ayc-fila-flecha { color: var(--ayc-texto-3); display: flex; }
.ayc-fila-apagada { background: var(--ayc-fondo-2); }
.ayc-fila-apagada .ayc-fila-titulo { font-weight: 500; color: var(--ayc-texto-2); }

/* Chips de nube y tonos (fondo del icono y color) */
.ayc-chip {
  display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.12rem 0.55rem 0.12rem 0.45rem; border-radius: 999px;
  font-size: 0.76rem; font-weight: 700; letter-spacing: 0.01em; line-height: 1.5; white-space: nowrap;
}
.ayc-chip .ayc-icono { width: 0.95rem; height: 0.95rem; vertical-align: 0; }
.ayc-tono-crm { background: #e6efff; color: #1d4ed8; }
.ayc-tono-affiliate { background: #f3e8ff; color: #7e22ce; }
.ayc-tono-people { background: #dcfce7; color: #166534; }
.ayc-tono-ajustes { background: #eef0f4; color: #475569; }
.ayc-tono-plataforma { background: #ffedd5; color: #9a3412; }
.ayc-tono-portal-afiliado { background: #fce7f3; color: #9d174d; }
.ayc-tono-portal-anunciante { background: #dff6f9; color: #155e75; }
.ayc-tono-fichar-movil { background: #ecfccb; color: #3f6212; }
.ayc-tono-consulta { background: #fef3c7; color: #854d0e; }
.ayc-tono-api { background: #e0e7ff; color: #3730a3; }
.ayc-tono-leadgen, .ayc-tono-marketing, .ayc-tono-projects { background: #eef0f4; color: #475569; }
@media (prefers-color-scheme: dark) {
  .ayc-tono-crm { background: #172554; color: #9ec5ff; }
  .ayc-tono-affiliate { background: #3b0764; color: #e0bbff; }
  .ayc-tono-people { background: #0b3a1f; color: #8ef0ae; }
  .ayc-tono-ajustes { background: #1e293b; color: #cbd5e1; }
  .ayc-tono-plataforma { background: #431407; color: #fdba74; }
  .ayc-tono-portal-afiliado { background: #500724; color: #f9a8d4; }
  .ayc-tono-portal-anunciante { background: #083344; color: #67e8f9; }
  .ayc-tono-fichar-movil { background: #1a2e05; color: #bef264; }
  .ayc-tono-consulta { background: #422006; color: #fde68a; }
  .ayc-tono-api { background: #1e1b4b; color: #c7d2fe; }
  .ayc-tono-leadgen, .ayc-tono-marketing, .ayc-tono-projects { background: #1e293b; color: #cbd5e1; }
}

/* ── Página de una nube ──────────────────────────────────────────────────────────────────────── */

.ayc-cab-nube { display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.25rem 0 2rem; }
.ayc-cab-nube-icono { width: 3.5rem; height: 3.5rem; border-radius: 14px; }
.ayc-cab-nube-icono .ayc-icono { width: 1.8rem; height: 1.8rem; }
.ayc-titulo-pagina { margin: 0 0 0.45rem; font-size: clamp(1.65rem, 3.4vw, 2.2rem); line-height: 1.18; letter-spacing: -0.02em; font-weight: 800; text-wrap: balance; }
.ayc-entradilla { margin: 0 0 0.6rem; font-size: 1.1rem; color: var(--ayc-texto-2); max-width: 44rem; }
.ayc-meta { margin: 0; display: flex; align-items: center; gap: 0.4rem; color: var(--ayc-texto-3); font-size: 0.88rem; font-weight: 500; }
.ayc-grupos { padding-bottom: 3rem; display: grid; gap: 2.2rem; }
.ayc-grupo-titulo { margin: 0 0 0.8rem; font-size: 0.82rem; font-weight: 750; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ayc-texto-3); }
@media (max-width: 520px) { .ayc-cab-nube { flex-direction: column; gap: 0.8rem; } }

/* ── Artículo ────────────────────────────────────────────────────────────────────────────────── */

.ayc-art-rejilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; padding-top: 1rem; padding-bottom: 3.5rem; }
@media (min-width: 1080px) {
  .ayc-art-rejilla { grid-template-columns: minmax(0, 46rem) 14rem; justify-content: space-between; }
}
.ayc-art { min-width: 0; }
.ayc-art-cab { padding: 0.5rem 0 1.5rem; border-bottom: 1px solid var(--ayc-borde); margin-bottom: 1.75rem; }
.ayc-art-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0 0 0.9rem; }
.ayc-art-tipo { font-size: 0.82rem; font-weight: 600; color: var(--ayc-texto-3); }
.ayc-art-cab .ayc-entradilla { font-size: 1.15rem; line-height: 1.55; }

.ayc-aviso {
  display: flex; gap: 0.75rem; align-items: flex-start; margin: 0 0 1.75rem; padding: 0.85rem 1.05rem;
  background: var(--ayc-aviso-fondo); border: 1px solid var(--ayc-aviso-borde); border-left-width: 4px; border-radius: 0 10px 10px 0;
  color: var(--ayc-aviso-texto);
}
.ayc-aviso p { margin: 0; }
.ayc-aviso-icono { display: flex; padding-top: 0.1rem; }

.ayc-indice-plegable {
  margin: 0 0 1.75rem; border: 1px solid var(--ayc-borde); border-radius: 12px; background: var(--ayc-fondo-2);
}
.ayc-indice-plegable > summary {
  cursor: pointer; list-style: none; padding: 0.75rem 1rem; font-weight: 650; display: flex; align-items: center; gap: 0.5rem;
  min-height: 2.75rem;
}
.ayc-indice-plegable > summary::-webkit-details-marker { display: none; }
.ayc-indice-plegable > summary::before {
  content: ""; width: 0.5rem; height: 0.5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(-45deg); transition: transform 0.15s; margin-right: 0.2rem;
}
.ayc-indice-plegable[open] > summary::before { transform: rotate(45deg); }
.ayc-indice-plegable .ayc-indice-lista { padding: 0 1rem 0.9rem 1.1rem; }
@media (min-width: 1080px) { .ayc-indice-plegable { display: none; } }

.ayc-indice-lateral { display: none; }
@media (min-width: 1080px) {
  .ayc-indice-lateral { display: block; position: sticky; top: 1.5rem; align-self: start; padding-top: 0.75rem; font-size: 0.9rem; }
}
.ayc-indice-titulo { margin: 0 0 0.6rem; font-size: 0.76rem; font-weight: 750; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ayc-texto-3); }
.ayc-indice-lista { list-style: none; margin: 0; padding: 0; }
.ayc-indice-lateral .ayc-indice-lista { border-left: 2px solid var(--ayc-borde); }
.ayc-indice-lista li { margin: 0; }
.ayc-indice-lista a {
  display: block; padding: 0.35rem 0 0.35rem 0.9rem; margin-left: -2px; border-left: 2px solid transparent;
  color: var(--ayc-texto-2); text-decoration: none; line-height: 1.4;
}
.ayc-indice-plegable .ayc-indice-lista a { margin-left: 0; padding-left: 0; border: 0; }
.ayc-indice-lista a:hover { color: var(--ayc-acento); border-left-color: var(--ayc-acento); }

.ayc-art .ayuda-articulo { max-width: 46rem; }

.ayc-art-pie {
  margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--ayc-borde);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
}
.ayc-art-dentro { display: flex; align-items: flex-start; gap: 0.6rem; margin: 0; flex: 1 1 22rem; color: var(--ayc-texto-2); font-size: 0.95rem; }
.ayc-art-dentro .ayc-icono { color: var(--ayc-acento); margin-top: 0.1rem; }
.ayc-volver { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; text-decoration: none; min-height: 2.75rem; }
.ayc-volver:hover { text-decoration: underline; }

/* ── Búsqueda ────────────────────────────────────────────────────────────────────────────────── */

.ayc-busqueda { padding-top: 1rem; padding-bottom: 3rem; max-width: 52rem; margin-left: max(0px, calc((100% - 72rem) / 2)); }
.ayc-cab-busqueda { padding: 0.5rem 0 1.5rem; }
.ayc-cab-busqueda .ayc-titulo-pagina { font-size: clamp(1.45rem, 3vw, 1.9rem); margin-bottom: 1.1rem; overflow-wrap: anywhere; }
.ayc-meta-busqueda { margin-top: 0.9rem; }
.ayc-correccion { margin: 0.6rem 0 0; color: var(--ayc-texto-2); }
.ayc-resultados { margin-bottom: 1.75rem; }
.ayc-lista-resultados { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.ayc-resultado-enlace {
  display: flex; flex-direction: column; gap: 0.3rem; padding: 1rem 1.15rem; border-radius: 12px;
  background: var(--ayc-superficie); border: 1px solid var(--ayc-borde); color: var(--ayc-texto) !important; text-decoration: none;
}
.ayc-resultado-enlace:hover { border-color: var(--ayc-acento); box-shadow: var(--ayc-sombra); }
.ayc-resultado-enlace:hover .ayc-resultado-titulo { color: var(--ayc-acento); }
.ayc-resultado-ruta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--ayc-texto-3); }
.ayc-resultado-sec::before { content: "› "; }
.ayc-resultado-titulo { font-weight: 700; font-size: 1.05rem; }
.ayc-resultado-frag { color: var(--ayc-texto-2); font-size: 0.93rem; line-height: 1.5; }
.ayc mark { background: var(--ayc-mark); color: var(--ayc-mark-texto); border-radius: 3px; padding: 0 0.12em; }

.ayc-paginacion { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; margin: 1rem 0 2rem; color: var(--ayc-texto-3); }

.ayc-vacio {
  margin: 0 0 2rem; padding: 1.5rem 1.4rem; border-radius: var(--ayc-radio);
  border: 1px dashed var(--ayc-borde-fuerte); background: var(--ayc-fondo-2);
}
.ayc-vacio-titulo { margin: 0 0 0.5rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.ayc-vacio-consejo { margin: 0; color: var(--ayc-texto-2); }
.ayc-busqueda > .ayc-vacio-consejo { margin-bottom: 2rem; }
.ayc-dentro-busqueda { margin-top: 0.5rem; }

/* ── Errores ─────────────────────────────────────────────────────────────────────────────────── */

.ayc-error { padding-top: 3.5rem; padding-bottom: 4rem; text-align: center; }
.ayc-error-codigo { margin: 0 0 0.5rem; font-size: 3.5rem; font-weight: 800; letter-spacing: -0.04em; color: var(--ayc-acento); line-height: 1; }
.ayc-error .ayc-entradilla { margin-left: auto; margin-right: auto; }
.ayc-error .ayc-buscador { margin: 1.5rem 0 1.5rem; text-align: left; }
.ayc-enlaces-error { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.ayc-enlaces-error a { display: inline-flex; padding: 0.3rem; text-decoration: none; }
.ayc-enlaces-error .ayc-chip { font-size: 0.85rem; padding: 0.3rem 0.75rem 0.3rem 0.6rem; }

/* ── Pie ─────────────────────────────────────────────────────────────────────────────────────── */

.ayc-pie { border-top: 1px solid var(--ayc-borde); background: var(--ayc-fondo-2); margin-top: auto; }
.ayc-pie-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding-top: 1.4rem; padding-bottom: 1.4rem; color: var(--ayc-texto-3); font-size: 0.88rem; }
.ayc-pie-marca { display: flex; align-items: center; gap: 0.6rem; }
.ayc-pie-derechos { margin: 0; }

/* ── Movimiento e impresión ──────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .ayc *, .ayc *::before, .ayc *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  a.ayc-tarjeta:hover { transform: none; }
}
@media print {
  .ayc-cabecera form, .ayc-entrar, .ayc-indice-lateral, .ayc-indice-plegable, .ayc-art-pie, .ayc-pie, .ayc-saltar { display: none !important; }
  body.ayc { background: #fff; color: #000; }
}
