/* Widget del analizador. Identidad LN Digital: _Mantenimiento Web/_agencia/identidad.md
   TODAS las reglas van dentro de .analizador: así se puede montar en cualquier página (lndigital.es) sin pisar sus
   estilos ni que los suyos lo pisen. Ocupa todo el ancho que le dé la página.
   Lenguaje visual de lndigital.es: cabeceras de sección centradas (antetítulo, raya, título en mayúsculas), paneles con
   borde morado y sombra lila, botones en píldora. Si la página define sus variables (--primario, --secundario,
   --lila-fondo, --fuente-titulos), se usan las suyas; si no, las de la marca. */

.analizador {
  --morado-oscuro: var(--primario, #400057);
  --morado: var(--secundario, #9326BE);
  --lila: var(--lila-fondo, #f9f6fe);
  --titulos: var(--fuente-titulos, 'Poppins', 'Montserrat', sans-serif);
  --sombra: 0 0 22px 0 rgba(147, 38, 190, .32);
  --sombra-suave: 0 4px 14px 0 rgba(147, 38, 190, .16);
  --cian: #50F3EA;
  --cian-texto: #0B6B65;
  --cian-borde: #C2FBF8;
  --cian-fondo: #EEFEFD;
  --lima: #8AF135;
  --lima-texto: #3F6B0A;
  --lima-borde: #D6FAB8;
  --lima-fondo: #F1FDE7;
  --texto: #2c1a35;
  --texto-suave: #5d4a68;
  --borde: #e7dfec;
  --aviso: #F5A524;
  --aviso-texto: #8A4B00;
  --aviso-borde: #FDE2B3;
  --aviso-fondo: #FFF8EB;
  --fallo: #F04438;
  --fallo-texto: #B42318;
  --fallo-borde: #FECDCA;
  --fallo-fondo: #FEF3F2;
  --radio: 15px;
  color: var(--texto);
  line-height: 1.5;
}

.analizador,
.analizador * { box-sizing: border-box; }

/* Solo para lectores de pantalla */
.analizador .az-oculto {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---------- Piezas comunes ---------- */

/* Panel: el de las franjas de lndigital.es */
.analizador .az-buscador,
.analizador .az-progreso,
.analizador .az-panel-nota,
.analizador .az-peticion,
.analizador .az-permiso {
  border: 1px solid var(--morado);
  border-radius: var(--radio);
  box-shadow: var(--sombra);
}

/* Cabecera de sección (como .cab-seccion de lndigital.es) */
.analizador .az-cab { display: flex; flex-direction: column; align-items: center; max-width: 900px; margin: 0 auto 8px; text-align: center; }
.analizador .az-cab__antetitulo { margin: 0; font: 700 1.1rem/1.3 var(--titulos); letter-spacing: .2px; text-transform: uppercase; color: var(--morado); }
.analizador .az-cab__raya { width: 63px; margin: 20px 0 19px; border-top: 3px solid var(--morado); }
.analizador .az-cab__titulo { margin: 0; font: 700 2rem/1.3 var(--titulos); text-transform: uppercase; color: var(--texto); }
.analizador .az-cab__entradilla { margin: 19px 0 0; font: 400 1.1rem/1.4 var(--titulos); color: var(--texto); }

/* Botón principal en píldora */
.analizador .az-buscador button,
.analizador .az-peticion__formulario > button,
.analizador .az-permiso__boton,
.analizador .az-boton-abrir {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 30px; border: 1px solid var(--morado); border-radius: 50px;
  background: var(--morado); color: #fff; font: 500 1rem/1 var(--titulos); cursor: pointer;
  transition: background .2s, transform .2s;
}
.analizador .az-buscador button:hover,
.analizador .az-peticion__formulario > button:hover,
.analizador .az-permiso__boton:hover,
.analizador .az-boton-abrir:hover { background: var(--morado-oscuro); border-color: var(--morado-oscuro); }
.analizador .az-buscador button:disabled,
.analizador .az-peticion__formulario > button:disabled,
.analizador .az-permiso__boton:disabled { opacity: .6; cursor: progress; }
.analizador .az-permiso__boton--secundario { background: #fff; color: var(--morado); }
.analizador .az-permiso__boton--secundario:hover { background: var(--lila); color: var(--morado); border-color: var(--morado); }

/* Botón secundario pequeño (desplegar/recoger) */
.analizador .az-boton-texto {
  padding: 7px 16px; border: 1px solid var(--morado); border-radius: 50px; background: #fff;
  color: var(--morado); font: 500 .9rem/1 var(--titulos); cursor: pointer; transition: background .2s;
}
.analizador .az-boton-texto:hover { background: var(--lila); }

/* Campos de texto en píldora */
.analizador .az-buscador input,
.analizador .az-peticion input[type='email'],
.analizador .az-peticion input[type='tel'],
.analizador .az-peticion textarea {
  width: 100%; min-width: 0; padding: 14px 22px; border: 1px solid #d9c8e3; border-radius: 50px;
  background: #fff; color: var(--texto); font: inherit; font-size: 1rem;
}

/* Foco visible en todo lo que se puede pulsar */
.analizador input:focus-visible,
.analizador button:focus-visible,
.analizador summary:focus-visible,
.analizador a:focus-visible { outline: 3px solid var(--cian); outline-offset: 2px; }
.analizador .az-buscador input:focus-visible,
.analizador .az-peticion input[type='email']:focus-visible,
.analizador .az-peticion input[type='tel']:focus-visible,
.analizador .az-peticion textarea:focus-visible { border-color: var(--morado); }
/* El comentario: varias líneas, esquinas menos redondas que la píldora */
.analizador .az-peticion textarea { border-radius: 18px; resize: vertical; min-height: 96px; line-height: 1.4; }
.analizador textarea:focus-visible { outline: 3px solid var(--cian); outline-offset: 2px; }

/* ---------- Buscador ---------- */

.analizador .az-buscador { background: var(--lila); padding: 28px 32px; }
.analizador .az-buscador__etiqueta { display: block; margin-bottom: 10px; font: 600 1rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-buscador__fila { display: flex; gap: 12px; flex-wrap: wrap; }
.analizador .az-buscador__fila input { flex: 1 1 260px; width: auto; }
.analizador .az-buscador__nota { margin: 12px 0 0; font-size: .9rem; color: var(--texto-suave); }

.analizador .az-estado { min-height: 1.5em; margin: 20px 0 0; font-weight: 600; text-align: center; }
.analizador .az-estado:empty { min-height: 0; margin: 0; }
.analizador .az-estado--error { color: var(--fallo-texto); }

/* ---------- Progreso del análisis ----------
   Muy visible a propósito: que nadie dude de que se está analizando ni corte la espera. */

.analizador .az-progreso { margin-top: 24px; padding: 32px 40px; background: #fff; }
.analizador .az-progreso[hidden] { display: none; }
.analizador .az-progreso__cabeza { display: flex; gap: 24px; align-items: center; }
.analizador .az-progreso__rueda {
  position: relative; flex: none; display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%;
  background: var(--lila);
}
.analizador .az-progreso__rueda::before {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  border: 7px solid var(--borde); border-top-color: var(--morado); border-right-color: var(--cian);
}
.analizador .az-progreso__tiempo { font: 700 1.25rem/1 var(--titulos); color: var(--morado-oscuro); font-variant-numeric: tabular-nums; }
.analizador .az-progreso__texto { min-width: 0; }
.analizador .az-progreso__antetitulo { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--morado); }
.analizador .az-progreso__titulo { margin: 2px 0 6px; font: 700 1.5rem/1.25 var(--titulos); color: var(--morado-oscuro); overflow-wrap: anywhere; }
.analizador .az-progreso__fase { margin: 0; font-weight: 600; color: var(--texto); }

/* Tres tramos, uno por fase real del motor */
.analizador .az-progreso__fases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 26px 0 0; padding: 0; font-size: .9rem; }
.analizador .az-progreso__fases li { color: var(--texto-suave); }
.analizador .az-progreso__tramo { display: block; position: relative; height: 8px; margin-bottom: 8px; border-radius: 8px; background: var(--borde); overflow: hidden; }
.analizador .az-progreso__fases li.az-hecha .az-progreso__tramo { background: var(--morado); }
.analizador .az-progreso__fases li.az-hecha { color: var(--texto); }
.analizador .az-progreso__fases li.az-hecha .az-progreso__etiqueta::before { content: '✓ '; color: var(--lima-texto); font-weight: 800; }
.analizador .az-progreso__fases li.az-actual { color: var(--texto); font-weight: 600; }
.analizador .az-progreso__fases li.az-actual .az-progreso__tramo { background: linear-gradient(90deg, var(--morado), var(--cian)); }
.analizador .az-progreso__fases li.az-actual .az-progreso__tramo::after {
  content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent); transform: translateX(-100%);
}

.analizador .az-progreso__cola {
  margin: 16px 0 0; padding: 8px 14px; border: 1px solid var(--cian-borde); border-radius: 10px;
  background: var(--cian-fondo); color: var(--cian-texto); font-weight: 600;
}

/* Aviso de no cortar: el elemento más llamativo después del reloj */
.analizador .az-progreso__aviso {
  margin-top: 24px; padding: 14px 18px 14px 56px; position: relative; border: 1px solid var(--aviso-borde); border-radius: 12px;
  background: var(--aviso-fondo); color: var(--texto);
}
.analizador .az-progreso__aviso::before {
  content: '!'; position: absolute; left: 16px; top: 14px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  background: var(--aviso); color: var(--texto); font-weight: 800;
}
.analizador .az-progreso__aviso p { margin: 0; }
.analizador .az-progreso__aviso-titulo { font-weight: 700; color: var(--aviso-texto); }

/* Mientras tanto: qué revisa cada apartado, uno tras otro */
.analizador .az-progreso__mientras { margin-top: 24px; padding: 18px 20px; border-radius: 12px; background: var(--lila); }
.analizador .az-progreso__mientras-antetitulo { margin: 0 0 8px; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--texto-suave); }
.analizador .az-progreso__apartado { display: grid; gap: 2px; min-height: 4.6em; }
.analizador .az-progreso__apartado-num { font-size: .8rem; color: var(--texto-suave); }
.analizador .az-progreso__apartado-nombre { font: 700 1.1rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-progreso__apartado-texto { color: var(--texto); }
.analizador .az-progreso__nota { margin: 16px 0 0; font-size: .9rem; color: var(--texto-suave); text-align: center; }

/* ---------- Cuando no se puede analizar ---------- */
.analizador .az-problema {
  margin-top: 24px; padding: 26px 32px 26px 84px; position: relative; border: 1px solid var(--fallo-borde); border-left: 6px solid var(--fallo);
  border-radius: var(--radio); background: var(--fallo-fondo); color: var(--texto);
}
.analizador .az-problema[hidden] { display: none; }
.analizador .az-problema::before {
  content: '✗'; position: absolute; left: 26px; top: 26px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: var(--fallo); color: #fff; font-weight: 800; font-size: 1.1rem;
}
.analizador .az-problema p { margin: 0 0 8px; }
.analizador .az-problema p:last-child { margin-bottom: 0; }
.analizador .az-problema__titulo { font: 700 1.3rem/1.3 var(--titulos); color: var(--fallo-texto); }
.analizador .az-problema__motivo { font-weight: 600; }
.analizador .az-problema__contacto a { color: var(--morado); font-weight: 600; }

/* ---------- Resultado ---------- */

.analizador .az-resultado { display: flex; flex-direction: column; gap: 64px; margin-block: 40px 24px; }
.analizador .az-resultado[hidden] { display: none; }

/* Panel con la nota y los apartados */
.analizador .az-panel-nota {
  display: grid; grid-template-columns: minmax(380px, 1fr) 2fr; gap: 32px; align-items: center;
  padding: 32px; background: #fff;
}
.analizador .az-resumen { display: flex; gap: 24px; align-items: center; }
.analizador .az-anillo {
  --nota: 0; --color: var(--morado);
  flex: none; display: grid; place-items: center; width: 140px; height: 140px; border-radius: 50%;
  background: conic-gradient(var(--color) calc(var(--nota) * 1%), var(--borde) 0);
}
.analizador .az-anillo__interior { display: grid; place-items: center; width: 112px; height: 112px; border-radius: 50%; background: #fff; text-align: center; }
.analizador .az-anillo__nota { font: 700 2.4rem/1 var(--titulos); }
.analizador .az-anillo__de { font-size: .8rem; color: var(--texto-suave); }
.analizador .az-resumen__texto { min-width: 0; }
.analizador .az-resumen__nivel { margin: 0 0 4px; font: 700 1.5rem/1.2 var(--titulos); text-transform: uppercase; }
.analizador .az-resumen__url { margin: 0 0 6px; font-weight: 600; overflow-wrap: anywhere; }
.analizador .az-resumen__recuento { margin: 0 0 6px; font-weight: 600; }
.analizador .az-resumen__limite {
  margin: 0 0 8px; padding: 6px 12px; border: 1px solid var(--fallo-borde); border-radius: 10px;
  background: var(--fallo-fondo); color: var(--fallo-texto); font-size: .9rem;
}
.analizador .az-resumen__meta { margin: 0; font-size: .88rem; color: var(--texto-suave); }

.analizador .az-categorias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.analizador .az-categoria { padding: 14px 16px; border-radius: 12px; background: var(--lila); border-left: 4px solid var(--color, var(--borde)); }
.analizador .az-categoria__nombre { margin: 0; font: 600 .92rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-categoria__nota { margin: 4px 0 8px; font: 700 1.6rem/1 var(--titulos); }
.analizador .az-barra { height: 6px; overflow: hidden; border-radius: 3px; background: var(--borde); }
.analizador .az-barra__relleno { --nota: 0; width: calc(var(--nota) * 1%); height: 100%; background: var(--color, var(--morado)); }

/* Colores por nivel */
.analizador .az-nivel-excelente { --color: var(--lima); --color-texto: var(--lima-texto); --color-fondo: var(--lima-fondo); }
.analizador .az-nivel-bueno { --color: var(--cian); --color-texto: var(--cian-texto); --color-fondo: var(--cian-fondo); }
.analizador .az-nivel-mejorable { --color: var(--aviso); --color-texto: var(--aviso-texto); --color-fondo: var(--aviso-fondo); }
.analizador .az-nivel-deficiente { --color: var(--fallo); --color-texto: var(--fallo-texto); --color-fondo: var(--fallo-fondo); }
.analizador .az-nivel-sin-nota { --color: var(--borde); --color-texto: var(--texto-suave); --color-fondo: var(--lila); }
.analizador .az-nivel-texto { color: var(--color-texto, var(--texto)); }

/* Barra de herramientas: desplegar/recoger y explicación técnica */
.analizador .az-herramientas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 0 16px; }
.analizador .az-herramientas__grupo { display: flex; flex-wrap: wrap; gap: 8px; }
.analizador .az-conmutador { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; font: 500 .95rem/1.3 var(--titulos); color: var(--morado-oscuro); cursor: pointer; }
.analizador .az-conmutador input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.analizador .az-conmutador__pista { position: relative; flex: none; width: 46px; height: 26px; border-radius: 13px; background: var(--borde); }
.analizador .az-conmutador__pista::after {
  content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #2c1a354d;
}
.analizador .az-conmutador input:checked + .az-conmutador__pista { background: var(--morado); }
.analizador .az-conmutador input:checked + .az-conmutador__pista::after { left: 23px; }
.analizador .az-conmutador input:focus-visible + .az-conmutador__pista { outline: 3px solid var(--cian); outline-offset: 2px; }

/* Distintivos de gravedad */
.analizador .az-distintivo {
  flex: none; margin-left: auto; padding: 3px 10px; border-radius: 999px; color: #fff;
  font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.analizador .az-distintivo--critica { background: var(--fallo-texto); }
.analizador .az-distintivo--grave { background: var(--fallo); }

/* Hallazgos */
.analizador .az-hallazgos { list-style: none; margin: 0; padding: 0; }
.analizador .az-hallazgo { margin-top: 10px; padding: 14px 16px; border: 1px solid var(--borde); border-left-width: 5px; border-radius: 12px; background: #fff; }
.analizador .az-hallazgo:first-child { margin-top: 0; }
.analizador .az-hallazgo__titulo { display: flex; gap: 10px; align-items: baseline; margin: 0; font-weight: 600; }
.analizador .az-hallazgo__icono {
  flex: none; display: inline-grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: 50%; font-size: .8rem; font-weight: 800;
}
.analizador .az-hallazgo p { margin: 6px 0 0; font-size: .95rem; }
.analizador .az-hallazgo__recomendacion { font-weight: 600; color: var(--morado-oscuro); }
.analizador .az-hallazgo__evidencia { margin: 6px 0 0; padding-left: 18px; font-size: .85rem; color: var(--texto-suave); overflow-wrap: anywhere; }
.analizador .az-estado-fallo { border-left-color: var(--fallo); background: var(--fallo-fondo); }
.analizador .az-estado-fallo .az-hallazgo__icono { background: var(--fallo); color: #fff; }
.analizador .az-estado-aviso { border-left-color: var(--aviso); background: var(--aviso-fondo); }
.analizador .az-estado-aviso .az-hallazgo__icono { background: var(--aviso); color: var(--texto); }
.analizador .az-estado-ok { border-left-color: var(--lima); }
.analizador .az-estado-ok .az-hallazgo__icono { border: 1px solid var(--lima-borde); background: var(--lima-fondo); color: var(--lima-texto); }
.analizador .az-estado-info { border-left-color: var(--cian); }
.analizador .az-estado-info .az-hallazgo__icono { border: 1px solid var(--cian-borde); background: var(--cian-fondo); color: var(--cian-texto); }
.analizador .az-estado-error { border-left-color: var(--borde); }
.analizador .az-estado-error .az-hallazgo__icono { background: var(--borde); color: var(--texto); }

/* ---------- Detalle por apartado: filas que se despliegan ---------- */

.analizador .az-bloque {
  margin-bottom: 14px; border: 1px solid var(--borde); border-radius: var(--radio); background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.analizador .az-bloque:hover { border-color: var(--morado); box-shadow: var(--sombra-suave); }
.analizador .az-bloque[open] { border-color: var(--morado); box-shadow: var(--sombra); }
.analizador .az-bloque__cabecera {
  display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center;
  padding: 18px 24px; list-style: none; cursor: pointer; border-radius: var(--radio);
}
.analizador .az-bloque__cabecera::-webkit-details-marker { display: none; }
.analizador .az-bloque__cabecera::marker { content: ''; }
.analizador .az-bloque[open] .az-bloque__cabecera { border-bottom: 1px solid var(--borde); border-radius: var(--radio) var(--radio) 0 0; background: var(--lila); }
.analizador .az-bloque__nota {
  min-width: 64px; padding: 10px 8px; border-radius: 12px; background: var(--color-fondo, var(--lila));
  font: 700 1.6rem/1 var(--titulos); text-align: center;
}
.analizador .az-bloque__titulos { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.analizador .az-bloque__nombre { font: 600 1.15rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-bloque__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.analizador .az-chip { padding: 3px 10px; border: 1px solid; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.analizador .az-chip--grave { border-color: var(--fallo-borde); background: var(--fallo-fondo); color: var(--fallo-texto); }
.analizador .az-chip--fallo { border-color: var(--fallo-borde); background: #fff; color: var(--fallo-texto); }
.analizador .az-chip--aviso { border-color: var(--aviso-borde); background: var(--aviso-fondo); color: var(--aviso-texto); }
.analizador .az-chip--opcional { border-color: var(--cian-borde); background: var(--cian-fondo); color: var(--cian-texto); }
.analizador .az-chip--ok { border-color: var(--lima-borde); background: var(--lima-fondo); color: var(--lima-texto); }
.analizador .az-bloque__accion { display: flex; align-items: center; gap: 12px; color: var(--morado); font: 500 .95rem/1 var(--titulos); }
.analizador .az-bloque__ver--cerrar,
.analizador .az-bloque[open] .az-bloque__ver--abrir { display: none; }
.analizador .az-bloque[open] .az-bloque__ver--cerrar { display: inline; }
.analizador .az-bloque__flecha {
  display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--morado); border-radius: 50%;
  background: #fff; color: var(--morado); transition: transform .25s, background .2s, color .2s;
}
.analizador .az-bloque__flecha::before {
  content: ''; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.analizador .az-bloque:hover .az-bloque__flecha { background: var(--lila); }
.analizador .az-bloque[open] .az-bloque__flecha { transform: rotate(180deg); background: var(--morado); color: #fff; }
.analizador .az-bloque > .az-hallazgos { padding: 20px 24px 24px; }

/* ---------- Según Google (PageSpeed Insights) ---------- */
/* Colores de los indicadores de PageSpeed: anillo verde/naranja/rojo y texto en su tono oscuro (legible sobre blanco) */

.analizador .az-google { --g-bien: #0cce6b; --g-bien-texto: #018642; --g-medio: #ffa400; --g-medio-texto: #c33300; --g-mal: #ff4e42; --g-mal-texto: #c7221f; }
.analizador .az-g-pestanas { display: flex; justify-content: center; gap: 4px; width: fit-content; margin: 0 auto 20px; padding: 4px; border: 1px solid var(--morado); border-radius: 50px; background: #fff; }
.analizador .az-g-pestana {
  padding: 10px 26px; border: 0; border-radius: 50px; background: transparent; color: var(--morado); font: 600 1rem/1 var(--titulos); cursor: pointer;
  transition: background .2s, color .2s;
}
.analizador .az-g-pestana:hover { background: var(--lila); }
.analizador .az-g-pestana--activa,
.analizador .az-g-pestana--activa:hover { background: var(--morado); color: #fff; cursor: default; }
.analizador .az-g-pestana:focus-visible { outline: 3px solid var(--cian); outline-offset: 2px; }
.analizador .az-g-indicadores {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 28px 0 0; padding: 28px 32px; list-style: none;
  border: 1px solid var(--morado); border-radius: var(--radio); background: #fff; box-shadow: var(--sombra);
}
.analizador .az-g-indicador { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.analizador .az-g-circulo {
  --nota: 0; --g: var(--borde);
  display: grid; place-items: center; width: 104px; height: 104px; border-radius: 50%;
  background: conic-gradient(var(--g) calc(var(--nota) * 1%), var(--borde) 0);
}
.analizador .az-g-circulo::before { content: ''; grid-area: 1 / 1; width: 84px; height: 84px; border-radius: 50%; background: #fff; }
.analizador .az-g-circulo__nota { grid-area: 1 / 1; position: relative; font: 700 1.8rem/1 var(--titulos); color: var(--g-texto, var(--texto)); }
.analizador .az-g-bien { --g: var(--g-bien); --g-texto: var(--g-bien-texto); }
.analizador .az-g-medio { --g: var(--g-medio); --g-texto: var(--g-medio-texto); }
.analizador .az-g-mal { --g: var(--g-mal); --g-texto: var(--g-mal-texto); }
.analizador .az-g-circulo--calculando { background: conic-gradient(var(--morado) 25%, var(--borde) 0); }
.analizador .az-g-indicador__nombre { font: 600 1rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-g-nota { margin: 16px 0 0; text-align: center; color: var(--texto-suave); }
.analizador .az-g-nota--sin-datos { max-width: 720px; margin: 24px auto 0; padding: 14px 18px; border: 1px solid var(--aviso-borde); border-radius: 12px; background: var(--aviso-fondo); color: var(--aviso-texto); font-weight: 600; }
.analizador .az-g-detalle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.analizador .az-g-bloque { padding: 20px 22px; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--lila); }
.analizador .az-g-bloque h3 { margin: 0 0 8px; font: 600 1.05rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-g-ayuda { margin: 0 0 10px; font-size: .88rem; color: var(--texto-suave); }
.analizador .az-g-metricas,
.analizador .az-g-mejoras { list-style: none; margin: 0; padding: 0; }
.analizador .az-g-metrica { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 0; border-top: 1px solid var(--borde); }
.analizador .az-g-metrica:first-child { border-top: 0; }
.analizador .az-g-metrica__nombre { flex: 1 1 160px; font-size: .92rem; }
.analizador .az-g-metrica__valor { font: 700 1rem/1.2 var(--titulos); }
.analizador .az-chip.az-g-bien { border-color: var(--g-bien); background: #fff; color: var(--g-bien-texto); }
.analizador .az-chip.az-g-medio { border-color: var(--g-medio); background: #fff; color: var(--g-medio-texto); }
.analizador .az-chip.az-g-mal { border-color: var(--g-mal); background: #fff; color: var(--g-mal-texto); }
.analizador .az-g-mejoras li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 8px 0; border-top: 1px solid var(--borde); font-size: .92rem; }
.analizador .az-g-mejoras li:first-child { border-top: 0; }
.analizador .az-g-mejoras__ahorro { font-weight: 700; color: var(--g-medio-texto); }
.analizador .az-g-fuente { margin: 14px 0 0; text-align: right; font-size: .8rem; color: var(--texto-suave); }

/* ---------- Problemas graves (resumen gratuito) ---------- */

.analizador .az-graves .az-hallazgo__titulo { font-size: 1.02rem; }

/* ---------- Petición del informe completo ---------- */

.analizador .az-peticion { padding: 48px 32px; background: var(--lila); }
.analizador .az-peticion__formulario { max-width: 720px; margin: 28px auto 0; }
.analizador .az-peticion__campo { margin-bottom: 4px; }
.analizador .az-peticion__etiqueta { display: block; margin-bottom: 8px; font: 600 1rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-peticion__formulario > button { margin-top: 20px; }
.analizador .az-peticion__casilla { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-size: .95rem; }
.analizador .az-peticion__casilla input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--morado); }
.analizador .az-peticion__info { margin-top: 14px; font-size: .88rem; color: var(--texto-suave); }
.analizador .az-peticion__info summary { cursor: pointer; font-weight: 600; color: var(--morado); }
.analizador .az-peticion__info dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 10px 0 0; }
.analizador .az-peticion__info dt { font-weight: 700; color: var(--texto); }
.analizador .az-peticion__info dd { margin: 0; }
.analizador .az-peticion__info p { margin: 10px 0 0; }
.analizador .az-peticion__info a { color: var(--morado); }
.analizador .az-peticion__aviso { min-height: 1.5em; margin: 12px 0 0; font-weight: 600; }
.analizador .az-peticion__aviso--error { color: var(--fallo-texto); }
.analizador .az-peticion__hecho { max-width: 720px; margin: 0 auto; text-align: center; }
.analizador .az-peticion__hecho-titulo { margin: 0 0 6px; font: 700 1.5rem/1.3 var(--titulos); text-transform: uppercase; color: var(--lima-texto); }
.analizador .az-peticion__hecho p:last-child { margin: 0; }
.analizador .az-peticion__cargando { margin: 0; text-align: center; }

/* Campo trampa para robots: fuera de la vista, no solo oculto con display */
.analizador .az-trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Permiso de contacto (informe completo) ---------- */

.analizador .az-permiso { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; padding: 28px 32px; background: var(--lila); }
.analizador .az-permiso__texto { flex: 1 1 320px; margin: 0; font: 600 1.15rem/1.4 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-permiso__aviso { flex-basis: 100%; margin: 0; font-weight: 600; color: var(--cian-texto); }
.analizador .az-permiso__aviso:empty { display: none; }

/* ---------- Otros ---------- */

.analizador .az-volver { margin: 0 0 8px; font-weight: 600; }
.analizador .az-volver a { color: var(--morado); }
/* «Qué no revisa»: mismo estilo que las tarjetas de «Qué revisa» de la página (.az-apartado de lndigital.es). */
.analizador .az-limitaciones__lista {
  display: grid; grid-template-columns: repeat(var(--columnas, 3), minmax(0, 1fr)); gap: 20px; list-style: none; margin: 30px 0 0; padding: 0;
}
.analizador .az-limitacion {
  padding: 18px 20px; border: 1px solid var(--borde); border-top: 4px solid var(--morado); border-radius: 14px; background: #fff;
  font-size: .95rem; line-height: 1.55; color: var(--texto);
}
@media (max-width: 1024px) { .analizador .az-limitaciones__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .analizador .az-limitaciones__lista { grid-template-columns: 1fr; } }

/* ---------- Anchos ---------- */

@media (max-width: 1200px) {
  .analizador .az-panel-nota { grid-template-columns: 1fr; }
  .analizador .az-g-detalle { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .analizador .az-categorias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .analizador .az-cab__titulo { font-size: 1.8rem; } /* como .cab-seccion de lndigital.es en móvil */
  .analizador .az-resultado { gap: 48px; }
  .analizador .az-progreso__cabeza { gap: 16px; }
  .analizador .az-progreso__rueda { width: 76px; height: 76px; }
  .analizador .az-progreso__titulo { font-size: 1.2rem; }
  .analizador .az-progreso__fases { grid-template-columns: 1fr; gap: 6px; }
  .analizador .az-problema { padding: 70px 18px 22px; }
  .analizador .az-problema::before { left: 18px; top: 22px; }
  .analizador .az-buscador,
  .analizador .az-progreso,
  .analizador .az-panel-nota,
  .analizador .az-permiso { padding: 22px 18px; }
  .analizador .az-peticion { padding: 36px 18px; }
  .analizador .az-buscador__fila button { width: 100%; }
  .analizador .az-resumen { flex-direction: column; text-align: center; }
  .analizador .az-bloque__cabecera { grid-template-columns: auto 1fr auto; gap: 12px; padding: 14px; }
  .analizador .az-bloque__nota { min-width: 52px; font-size: 1.3rem; }
  .analizador .az-bloque__ver { display: none !important; }
  .analizador .az-bloque > .az-hallazgos { padding: 14px; }
  .analizador .az-peticion__info dl { grid-template-columns: 1fr; }
  .analizador .az-peticion__info dd { margin-bottom: 6px; }
}
@media (max-width: 767px) {
  .analizador .az-g-indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 22px 12px; row-gap: 22px; }
}
@media (max-width: 420px) {
  .analizador .az-categorias { grid-template-columns: 1fr; }
}

@keyframes az-girar { to { transform: rotate(360deg); } }
@keyframes az-brillo { to { transform: translateX(100%); } }
@keyframes az-entrar { from { opacity: 0; transform: translateY(8px); } }

@media (prefers-reduced-motion: no-preference) {
  .analizador .az-progreso__rueda::before,
  .analizador .az-g-circulo--calculando { animation: az-girar 1s linear infinite; }
  .analizador .az-progreso__fases li.az-actual .az-progreso__tramo::after { animation: az-brillo 1.4s ease-in-out infinite; }
  .analizador .az-progreso__apartado.az-entra { animation: az-entrar .45s ease-out; }
  .analizador .az-progreso:not([hidden]),
  .analizador .az-problema:not([hidden]) { animation: az-entrar .3s ease-out; }
  .analizador .az-barra__relleno { transition: width .6s ease-out; }
  .analizador .az-conmutador__pista,
  .analizador .az-conmutador__pista::after { transition: background .2s, left .2s; }
}

/* ---------- Barra del informe completo: descargar en PDF ---------- */
.analizador .az-acciones { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; margin-bottom: -40px; }
.analizador .az-boton-pdf {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 26px; border: 1px solid var(--morado); border-radius: 50px;
  background: #fff; color: var(--morado); font: 500 1rem/1 var(--titulos); cursor: pointer; transition: background .2s;
}
.analizador .az-boton-pdf::before { content: '↓'; font-weight: 700; }
.analizador .az-boton-pdf:hover { background: var(--lila); }
.analizador .az-boton-pdf:disabled { opacity: .7; cursor: progress; }
.analizador .az-acciones__aviso { flex-basis: 100%; margin: 0; text-align: right; font-weight: 600; color: var(--fallo-texto); }
.analizador .az-acciones__aviso:empty { display: none; }
@media (max-width: 767px) {
  .analizador .az-acciones { justify-content: center; margin-bottom: -24px; }
  .analizador .az-acciones__aviso { text-align: center; }
}

/* Enlace del correo: el informe se abre con un clic (abrirlo confirma el email). */
.analizador .az-abrir { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 24px; padding: 36px 24px; border: 1px solid var(--morado); border-radius: var(--radio); box-shadow: var(--sombra); background: #fff; text-align: center; }
.analizador .az-abrir__texto { margin: 0; font: 600 1.3rem/1.3 var(--titulos); color: var(--morado-oscuro); }

/* Campo trampa del buscador: fuera de la vista (los robots lo rellenan; las personas no lo ven). */
.analizador .az-trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Analizador de correo: registros que hay que publicar ---------- */
.analizador .az-registros { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; }
.analizador .az-registro { padding: 20px 24px; border: 1px solid var(--borde); border-left: 5px solid var(--morado); border-radius: var(--radio); background: #fff; }
.analizador .az-registro__para { margin: 0 0 12px; font: 600 1.08rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-registro__datos { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.analizador .az-registro__datos dt { color: var(--texto-suave); font-size: .9rem; padding-top: 6px; }
.analizador .az-registro__datos dd { margin: 0; min-width: 0; }
.analizador .az-registro__fila { display: flex; align-items: flex-start; gap: 10px; }
.analizador .az-registro__valor,
.analizador .az-registro__fichero pre,
.analizador .az-registro__antes {
  flex: 1; min-width: 0; padding: 6px 10px; border-radius: 8px; background: var(--lila);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .88rem; overflow-wrap: anywhere; word-break: break-all;
}
.analizador .az-registro__antes { color: var(--texto-suave); text-decoration: line-through; }
.analizador .az-registro__copiar {
  flex: none; padding: 6px 14px; border: 1px solid var(--morado); border-radius: 50px; background: #fff; color: var(--morado);
  font: 600 .85rem/1.2 var(--titulos); cursor: pointer;
}
.analizador .az-registro__copiar:hover { background: var(--lila); }
.analizador .az-registro__fichero { margin-top: 12px; }
.analizador .az-registro__fichero p { margin: 0 0 6px; font-size: .92rem; }
.analizador .az-registro__fichero pre { margin: 0; white-space: pre-wrap; }
.analizador .az-registro__notas { margin: 12px 0 0; padding-left: 18px; font-size: .9rem; color: var(--texto-suave); }
@media (max-width: 767px) {
  .analizador .az-registro { padding: 16px; }
  .analizador .az-registro__datos { grid-template-columns: 1fr; gap: 4px; }
  .analizador .az-registro__datos dt { padding-top: 8px; }
}

/* ---------- Analizador de correo: veredicto, lo revisado y lo avanzado ---------- */
.analizador .az-veredicto {
  display: grid; gap: 10px; padding: 28px 32px; border-radius: var(--radio); border: 1px solid var(--lima-borde);
  border-left: 8px solid var(--lima); background: var(--lima-fondo);
}
.analizador .az-veredicto--pendiente { border-color: var(--aviso-borde); border-left-color: var(--aviso); background: var(--aviso-fondo); }
.analizador .az-veredicto__titulo { margin: 0; font: 700 1.45rem/1.25 var(--titulos); color: var(--morado-oscuro); overflow-wrap: anywhere; }
.analizador .az-veredicto__texto { margin: 0; font-size: 1.02rem; }
.analizador .az-veredicto .az-acciones { justify-content: flex-start; margin: 6px 0 0; }
.analizador .az-veredicto .az-acciones__aviso { text-align: left; }
.analizador .az-revisado .az-herramientas { justify-content: flex-end; margin: 12px 0 20px; }
.analizador .az-grupo + .az-grupo { margin-top: 28px; }
.analizador .az-grupo__titulo { margin-bottom: 12px !important; }
.analizador .az-grupo__titulo { display: flex; align-items: center; gap: 12px; margin: 0; font: 600 1.2rem/1.3 var(--titulos); color: var(--morado-oscuro); }
.analizador .az-grupo__nota { display: inline-grid; place-items: center; min-width: 52px; padding: 6px 10px; border-radius: 10px; background: var(--lila); font-size: 1.15rem; font-weight: 700; }
.analizador .az-avanzado { display: grid; gap: 16px; padding: 32px; border: 1px dashed var(--cian-texto); border-radius: var(--radio); background: var(--cian-fondo); }
.analizador .az-avanzado__registros h3 { margin: 8px 0 12px; font: 600 1.05rem/1.3 var(--titulos); color: var(--morado-oscuro); }
@media (max-width: 767px) {
  .analizador .az-veredicto { padding: 20px 18px; border-left-width: 6px; }
  .analizador .az-veredicto__titulo { font-size: 1.2rem; }
  .analizador .az-avanzado { padding: 22px 16px; }
}

/* ---------- Analizador de correo: contacto al final (sin formulario) ---------- */
.analizador .az-contacto-correo { padding: 48px 32px; border: 1px solid var(--morado); border-radius: var(--radio); box-shadow: var(--sombra); background: var(--lila); }
.analizador .az-contacto-correo__botones { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.analizador .az-contacto-correo__boton {
  display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; border: 1px solid var(--morado); border-radius: 50px;
  background: #fff; color: var(--morado); font: 600 1rem/1.2 var(--titulos); text-decoration: none; transition: background .2s, color .2s;
}
.analizador .az-contacto-correo__boton:hover { background: var(--lila); }
.analizador .az-contacto-correo__boton--principal { background: var(--morado); color: #fff; }
.analizador .az-contacto-correo__boton--principal:hover { background: var(--morado-oscuro); color: #fff; }
@media (max-width: 767px) {
  .analizador .az-contacto-correo { padding: 32px 18px; }
  .analizador .az-contacto-correo__boton { width: 100%; }
}

/* ---------- Aviso fijo mientras Google calcula (visible aunque se baje por la página) ---------- */
.analizador .az-aviso-google {
  position: fixed; left: 50%; bottom: 20px; z-index: 1000; transform: translateX(-50%);
  display: flex; align-items: center; gap: 14px; width: min(760px, calc(100vw - 32px)); padding: 14px 18px;
  border: 1px solid var(--morado); border-radius: var(--radio); background: #fff; box-shadow: 0 8px 30px rgba(64, 0, 87, .28);
  font-size: .95rem; line-height: 1.4; color: var(--texto);
}
.analizador .az-aviso-google--listo { border-color: var(--lima-texto); background: var(--lima-fondo); }
.analizador .az-aviso-google__rueda {
  flex: none; width: 26px; height: 26px; border-radius: 50%; border: 4px solid var(--borde); border-top-color: var(--morado); border-right-color: var(--cian);
}
.analizador .az-aviso-google__ok {
  flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lima); color: var(--texto); font-weight: 800;
}
.analizador .az-aviso-google__texto { flex: 1; min-width: 0; }
.analizador .az-aviso-google__texto strong { color: var(--morado-oscuro); }
.analizador .az-aviso-google__tiempo { flex: none; font: 700 1rem/1 var(--titulos); color: var(--morado-oscuro); font-variant-numeric: tabular-nums; }
.analizador .az-aviso-google__ver {
  flex: none; padding: 9px 18px; border: 1px solid var(--morado); border-radius: 50px; background: var(--morado); color: #fff; font: 600 .95rem/1 var(--titulos); cursor: pointer;
}
.analizador .az-aviso-google__ver:hover { background: var(--morado-oscuro); }
.analizador .az-aviso-google__cerrar { flex: none; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: var(--texto-suave); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.analizador .az-aviso-google__cerrar:hover { background: #fff; }
@media (max-width: 600px) {
  .analizador .az-aviso-google { bottom: 12px; gap: 10px; padding: 12px 14px; font-size: .88rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .analizador .az-aviso-google__rueda { animation: az-girar 1s linear infinite; }
  .analizador .az-aviso-google { animation: az-subir .3s ease-out; }
}
@keyframes az-subir { from { opacity: 0; transform: translate(-50%, 12px); } }
.analizador .az-google { scroll-margin-top: 110px; } /* «Verlas»: que la cabecera fija de la web no tape el principio */
