/* Runfit Zapatillas 0.2.1: ficha (0.1.3 y ficha modelo), hub y tarjetas del top. Sin JavaScript. Lato la carga el tema.
   Diseño de la ficha modelo: outputs/ct-zapatilla-2026-11/diseno-ficha-perfecta.md. */

/* 0.2.3 (seo-performance, 14/11/2026): reserva de Lato sobre Arial local con su anchura. Antes de que llegue Lato (display=swap
   del tema), Arial sin ajustar era un 5-7 % más ancha: el resumen y el veredicto tenían una línea más y el índice cambiaba de
   fila al llegar Lato (CLS 0,234 en escritorio). Donde no hay Arial local, la regla no carga y se queda como antes. */
@font-face { font-family: "Lato rfz"; src: local("Arial"), local("ArialMT"); font-weight: 400; size-adjust: 95.2%; ascent-override: 103.7%; descent-override: 22.4%; line-gap-override: 0%; }
@font-face { font-family: "Lato rfz"; src: local("Arial Bold"), local("Arial-BoldMT"); font-weight: 700 900; size-adjust: 93.1%; ascent-override: 106%; descent-override: 22.9%; line-gap-override: 0%; }

.rfz-page {
	--rfz-azul: #2A4DC0;
	--rfz-azul-osc: #1F3FAA;
	--rfz-negro: #111418;
	--rfz-texto: #3A3F47;
	--rfz-gris: #646A73;
	--rfz-linea: #E4E7EC;
	--rfz-linea-2: #CFD4DB;
	--rfz-azul-claro: #F2F5FC;
	--rfz-azul-borde: #DCE4F7;
	--rfz-verde: #166534;
	--rfz-naranja: #9A3412;
	--rfz-verde-claro: #EDF7F0;
	--rfz-naranja-claro: #FFF4EC;
	--rfz-amazon: #232F3E;
	/* 0.2.0 */
	--rfz-fondo: #FFFFFF;
	--rfz-fondo-suave: #F7F8FA;
	--rfz-graf-gris: #8B929C;
	--rfz-drop: #C2410C;
	--rfz-graf-rejilla: #EEF0F3;
	--rfz-suela: #DCE4F7;
	--rfz-graf-azul: #2A4DC0;
	--rfz-graf-cota: #1F3FAA;
	--rfz-graf-texto: #3A3F47;
	--rfz-graf-fuerte: #111418;
	--rfz-graf-eje: #646A73;
	--rfz-graf-drop-txt: #9A3412;
	--rfz-graf-punto: #FFFFFF;
	font-family: Lato, "Lato rfz", Arial, sans-serif;
	color: var(--rfz-texto);
	font-size: 16px;
	line-height: 1.65;
	box-sizing: border-box;
}
.rfz-page *, .rfz-page *::before, .rfz-page *::after { box-sizing: border-box; }
.rfz-page a { color: var(--rfz-azul); }
.rfz-page a:hover, .rfz-page a:focus { color: var(--rfz-azul-osc); }
.rfz-page a:focus-visible, .rfz-page summary:focus-visible, .rfz-page .rfz-tabla:focus-visible { outline: 2px solid var(--rfz-azul); outline-offset: 2px; }
.rfz-page p { margin: 0; }
.rfz-page img { max-width: 100%; height: auto; display: block; }
.rfz-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Columna */
.rfz-page .rfz-col { width: 100%; max-width: 820px; margin: 0 auto; padding: 20px 16px 40px; display: flex; flex-direction: column; gap: 32px; }
.rfz-page.rfz-ficha .rfz-col { gap: 40px; }
.rfz-page .rfz-col--ancha { max-width: 1180px; padding-left: 24px; padding-right: 24px; }
.rfz-page .rfz-seccion, .rfz-page .rfz-veredicto { scroll-margin-top: 90px; }

/* Cabecera */
.rfz-page .rfz-cabecera { display: flex; flex-direction: column; gap: 10px; }
.rfz-page .rfz-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; font-size: 13px; line-height: 1.5; color: var(--rfz-gris); }
.rfz-page .rfz-migas li { margin: 0; padding: 0; }
.rfz-page .rfz-migas li + li::before { content: "\203A"; margin: 0 6px; color: var(--rfz-gris); }
.rfz-page .rfz-migas a { color: var(--rfz-gris); text-decoration: none; display: inline-block; padding: 12px 0; margin: -12px 0; }
.rfz-page .rfz-migas a:hover { color: var(--rfz-azul-osc); text-decoration: underline; }
.rfz-page .rfz-h1 { margin: 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 28px; line-height: 1.2; font-weight: 700; color: var(--rfz-negro); text-wrap: balance; text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-subtitulo { font-size: 18px; line-height: 1.5; color: var(--rfz-texto); }
.rfz-page .rfz-resumen { font-size: 18px; line-height: 1.5; color: var(--rfz-texto); }
.rfz-page .rfz-firma { font-size: 14px; color: var(--rfz-gris); }
.rfz-page .rfz-firma a { display: inline-block; padding: 12px 0; margin: -12px 0; }

/* Aviso corto de la novedad (bajo la firma) */
.rfz-page a.rfz-aviso { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--rfz-azul-borde); border-radius: 4px; background: var(--rfz-azul-claro); color: var(--rfz-texto); font-size: 15px; line-height: 1.4; text-decoration: none; }
.rfz-page a.rfz-aviso:hover, .rfz-page a.rfz-aviso:focus { border-color: var(--rfz-azul); color: var(--rfz-texto); }
.rfz-page .rfz-aviso__eti { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rfz-azul-osc); }
.rfz-page .rfz-aviso__mas { color: var(--rfz-azul); font-weight: 700; white-space: nowrap; }

/* Foto principal: nunca se recorta. La altura se limita con la proporción del adjunto (--rfz-ar), sin salto al cargar. */
.rfz-page .rfz-foto { margin: 0; display: flex; flex-direction: column; align-items: center; background: var(--rfz-fondo); }
/* !important: algunos temas meten width y height en línea en las imágenes; aquí deformarían la foto. */
.rfz-page .rfz-foto .rfz-foto__img { width: min(100%, calc(260px * var(--rfz-ar, 1.3333))) !important; max-width: 100% !important; height: auto !important; border-radius: 0; }
.rfz-page .rfz-foto__credito { align-self: stretch; margin: 4px 0 0; padding: 0; font-size: 12px; line-height: 1.4; color: var(--rfz-gris); text-align: right; }

/* De un vistazo */
.rfz-page .rfz-vistazo { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-content: start; }
.rfz-page .rfz-vistazo__dato { min-height: 84px; padding: 10px 12px; border-radius: 4px; background: var(--rfz-azul-claro); }
.rfz-page .rfz-vistazo dt { margin: 0; padding: 0; font-size: 13px; font-weight: 400; line-height: 1.4; color: var(--rfz-gris); }
.rfz-page .rfz-vistazo dd { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rfz-page .rfz-vistazo .rfz-vistazo__valor { margin: 0; font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-vistazo .rfz-vistazo__lectura { margin: 0; font-size: 13px; line-height: 1.3; font-weight: 700; color: var(--rfz-azul-osc); }

/* 0.2.1: el nombre de la zapatilla no se parte por el guion ("Gel-" / "Nimbus") en H2 y aviso. */
.rfz-page .rfz-nw { white-space: nowrap; }
.rfz-page .rfz-portada { display: flex; flex-direction: column; gap: 16px; }

/* Títulos de sección y etiquetas */
.rfz-page .rfz-h2 { margin: 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--rfz-negro); text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-h2::before, .rfz-page .rfz-h2::after { display: none; }
.rfz-page .rfz-seccion { display: flex; flex-direction: column; gap: 12px; }
.rfz-page .rfz-eti { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.rfz-page .rfz-eti--verde { color: var(--rfz-verde); }
.rfz-page .rfz-eti--naranja { color: var(--rfz-naranja); }
.rfz-page .rfz-nota { font-size: 13px; line-height: 1.5; color: var(--rfz-gris); }

/* Texto corrido a 16 px en toda la ficha (el tema bajaba el contenido a 15) */
.rfz-page .rfz-seccion p, .rfz-page .rfz-seccion li, .rfz-page .rfz-contenido p, .rfz-page .rfz-contenido li { font-size: 16px; line-height: 1.65; }
.rfz-page .rfz-seccion .rfz-nota, .rfz-page .rfz-seccion .rfz-desliza { font-size: 13px; line-height: 1.5; }
.rfz-page .rfz-seccion .rfz-respuesta { font-size: 17px; line-height: 1.55; color: var(--rfz-negro); }

/* Veredicto */
.rfz-page .rfz-veredicto { display: flex; flex-direction: column; gap: 14px; padding: 18px 16px; border: 1px solid var(--rfz-azul-borde); border-top: 3px solid var(--rfz-azul); border-radius: 4px; background: var(--rfz-azul-claro); }
.rfz-page .rfz-veredicto__eti { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rfz-azul-osc); }
.rfz-page .rfz-veredicto__texto { font-size: 17px; line-height: 1.6; color: var(--rfz-negro); }

/* Pros y contras */
.rfz-page .rfz-pc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rfz-page .rfz-pc ul { margin: 0; padding: 0 0 0 18px; list-style: disc; font-size: 15px; line-height: 1.5; display: flex; flex-direction: column; gap: 4px; }
.rfz-page .rfz-pc li { display: list-item; margin: 0; padding: 0; list-style: disc outside; }
.rfz-page .rfz-pc li::before { display: none; }
.rfz-page .rfz-pc--top ul { font-size: 14px; padding-left: 16px; }
.rfz-page .rfz-pc--top .rfz-eti { margin-bottom: 4px; }
/* En la ficha: una columna por debajo de 600 px y marcadores + / − en vez de viñetas. */
.rfz-page.rfz-ficha .rfz-pc { grid-template-columns: minmax(0, 1fr); }
.rfz-page.rfz-ficha .rfz-pc ul { padding-left: 0; list-style: none; font-size: 16px; gap: 6px; }
.rfz-page.rfz-ficha .rfz-pc li { list-style: none; position: relative; padding-left: 20px; }
.rfz-page.rfz-ficha .rfz-pc li::before { display: block; position: absolute; left: 0; top: 0; width: 16px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.rfz-page.rfz-ficha .rfz-eti--verde + ul li::before { content: "+"; content: "+" / ""; color: var(--rfz-verde); }
.rfz-page.rfz-ficha .rfz-eti--naranja + ul li::before { content: "\2212"; content: "\2212" / ""; color: var(--rfz-naranja); }

/* Índice */
.rfz-page .rfz-indice { display: flex; flex-wrap: wrap; gap: 8px; }
.rfz-page .rfz-indice a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--rfz-linea-2); border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--rfz-texto); text-decoration: none; }
.rfz-page .rfz-indice a:hover { border-color: var(--rfz-azul); color: var(--rfz-azul-osc); }

/* Tiendas */
.rfz-page .rfz-tiendas { display: flex; flex-direction: column; gap: 10px; }
.rfz-page .rfz-tienda { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: 12px; padding: 8px 10px; border: 1px solid var(--rfz-linea); border-radius: 4px; }
.rfz-page .rfz-tienda__logo { height: 44px; display: flex; align-items: center; justify-content: center; }
.rfz-page .rfz-tienda__nombre { font-size: 13px; font-weight: 700; color: var(--rfz-negro); text-align: center; line-height: 1.2; }
.rfz-page .rfz-logo--eci { width: 92px; height: auto; }
.rfz-page .rfz-logo--sprinter { width: 44px; height: 44px; border-radius: 4px; }
.rfz-page .rfz-logo--nike { width: auto; height: 28px; }
/* 0.2.3 (14/11/2026): logo oficial de Amazon, sin deformar (alto auto). 80 px de ancho dejan las letras a ~14 px y,
   con la caja de 44 px y el relleno, un margen libre mayor que el alto de las letras en los cuatro lados. */
.rfz-page .rfz-logo--amazon { width: 80px; height: auto; }
.rfz-page .rfz-amazon { display: inline-flex; align-items: center; height: 32px; padding: 0 10px; border-radius: 4px; background: var(--rfz-amazon); color: #FFFFFF; font-size: 11px; font-weight: 700; line-height: 1.1; text-align: center; }
.rfz-page a.rfz-boton { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 14px; border-radius: 4px; background: var(--rfz-azul); color: #FFFFFF; font-size: 15px; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; border: 0; }
.rfz-page a.rfz-boton:hover, .rfz-page a.rfz-boton:focus { background: var(--rfz-azul-osc); color: #FFFFFF; }
.rfz-page .rfz-tiendas--top { gap: 8px; padding-top: 12px; border-top: 1px solid #EFF1F4; }
.rfz-page .rfz-tiendas--top .rfz-tienda { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; padding: 0; border: 0; }
.rfz-page .rfz-tiendas--top .rfz-tienda__logo { height: 40px; justify-content: flex-start; }
.rfz-page .rfz-tiendas--top .rfz-logo--eci { width: 76px; }
.rfz-page .rfz-tiendas--top .rfz-logo--sprinter { width: 36px; height: 36px; }
.rfz-page .rfz-tiendas--top .rfz-logo--nike { height: 24px; }
.rfz-page .rfz-tiendas--top .rfz-logo--amazon { width: 64px; }
.rfz-page .rfz-tiendas--top .rfz-amazon { height: 28px; padding: 0 6px; font-size: 9px; }
.rfz-page .rfz-tiendas--top a.rfz-boton { min-height: 46px; padding: 8px 12px; }
.rfz-page .rfz-sin-tiendas { font-size: 16px; }

/* Ficha técnica 0.1.3 (dl + details) */
.rfz-page .rfz-dl { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--rfz-linea); }
.rfz-page .rfz-dl--resto { border-top: 0; }
.rfz-page .rfz-dl__fila { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rfz-linea); }
.rfz-page .rfz-dl--resto .rfz-dl__fila { border-bottom: 0; border-top: 1px solid var(--rfz-linea); }
.rfz-page .rfz-dl dt { margin: 0; padding: 0; font-size: 14px; font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-dl dd { margin: 0; padding: 0; font-size: 15px; line-height: 1.45; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-dl dd.rfz-sin-dato { font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-mas { border-bottom: 1px solid var(--rfz-linea); }
.rfz-page .rfz-mas summary { display: flex; align-items: center; min-height: 44px; padding: 10px 0; font-size: 15px; font-weight: 700; color: var(--rfz-azul); cursor: pointer; }

/* Ficha técnica 0.2.0: tabla real, todas las filas visibles */
.rfz-page .rfz-ficha-tabla { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-top: 1px solid var(--rfz-linea); }
.rfz-page .rfz-ficha-tabla tr { border-bottom: 1px solid var(--rfz-linea); background: transparent; }
.rfz-page .rfz-ficha-tabla th, .rfz-page .rfz-ficha-tabla td { padding: 10px 0; border: 0; text-align: left; vertical-align: top; background: transparent; }
.rfz-page .rfz-ficha-tabla th { width: 112px; padding-right: 12px; font-size: 14px; font-weight: 400; line-height: 1.45; color: var(--rfz-gris); }
/* 0.2.1: valor y "qué significa" son párrafos; los selectores llevan la tabla para ganar a ".rfz-seccion p" (16 px). */
.rfz-page .rfz-ficha-tabla .rfz-ficha-tabla__v { display: block; margin: 0; font-size: 16px; line-height: 1.45; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-ficha-tabla td.rfz-sin-dato .rfz-ficha-tabla__v { font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-ficha-tabla .rfz-significa { display: block; margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--rfz-texto); }
/* 0.2.3 (diseño 7.2): enlace a la página de glosario bajo la ficha técnica, en lugar del glosario rápido desplegable. */
.rfz-page .rfz-seccion p.rfz-glos-enlace { margin: 0; font-size: 15px; line-height: 1.5; color: var(--rfz-texto); }

/* Tabla de cambios: sin ancho mínimo con 3 versiones o menos (caben en 358 px); con 4 o más se desliza y lo avisa. */
.rfz-page .rfz-tabla { overflow-x: auto; border: 1px solid var(--rfz-linea); border-radius: 4px; -webkit-overflow-scrolling: touch; }
.rfz-page .rfz-tabla table { width: 100%; min-width: 0; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.rfz-page .rfz-tabla--ancha { box-shadow: inset -12px 0 10px -10px rgba(17, 20, 24, 0.25); }
.rfz-page .rfz-tabla--ancha table { min-width: 520px; }
.rfz-page .rfz-desliza { display: none; }
.rfz-page .rfz-tabla thead tr { background: var(--rfz-fondo-suave); }
.rfz-page .rfz-tabla th, .rfz-page .rfz-tabla td { padding: 10px 12px; border: 0; text-align: left; vertical-align: top; }
.rfz-page .rfz-tabla thead th { font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-tabla thead th.rfz-actual { color: var(--rfz-azul); }
.rfz-page .rfz-tabla tbody tr { border-top: 1px solid var(--rfz-linea); }
.rfz-page .rfz-tabla tbody th { font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-tabla tbody td.rfz-actual { font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-tabla tbody td.rfz-cambia { background: var(--rfz-azul-claro); }

/* Contenido del editor (fichas sin rfz_analisis) */
.rfz-page .rfz-contenido { display: flex; flex-direction: column; gap: 10px; }
.rfz-page .rfz-contenido > * { margin-top: 0; margin-bottom: 0; }
.rfz-page .rfz-contenido h2 { margin: 22px 0 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--rfz-negro); text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-contenido h2:first-child { margin-top: 0; }
.rfz-page .rfz-contenido h3 { margin: 12px 0 0; font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--rfz-negro); }

/* Secciones de análisis (0.2.0) */
.rfz-page .rfz-desarrollo { display: flex; flex-direction: column; gap: 12px; }
.rfz-page .rfz-desarrollo > * { margin-top: 0; margin-bottom: 0; }
.rfz-page .rfz-desarrollo h3 { margin: 8px 0 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--rfz-negro); text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-desarrollo h3::before, .rfz-page .rfz-desarrollo h3::after { display: none; }
.rfz-page .rfz-desarrollo ul, .rfz-page .rfz-desarrollo ol { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.rfz-page .rfz-desarrollo ul li { list-style: disc outside; }
.rfz-page .rfz-desarrollo ol li { list-style: decimal outside; }
.rfz-page .rfz-desarrollo li::before { display: none; }
/* 0.2.3: imagen opcional por sección de análisis. Dentro de la columna, alineada a la izquierda como los gráficos, sin recortar:
   apaisada ocupa la columna (máx. 560 px); vertical o cuadrada se limita a 400 px de alto con su proporción (--rfz-ar). */
.rfz-page .rfz-desarrollo > .rfz-analisis__fig { margin: 12px 0; display: flex; flex-direction: column; gap: 6px; max-width: 560px; }
.rfz-page .rfz-analisis__fig .rfz-analisis__img { width: min(100%, 560px, calc(400px * var(--rfz-ar, 1.5))) !important; max-width: 100% !important; height: auto !important; border-radius: 4px; background: var(--rfz-fondo-suave); }
.rfz-page .rfz-analisis__fig figcaption { margin: 0; padding: 0; font-size: 14px; line-height: 1.45; color: var(--rfz-texto); text-align: left; font-style: normal; }
.rfz-page .rfz-analisis__credito { font-size: 12px; color: var(--rfz-gris); white-space: nowrap; }
/* 0.2.3 (diseño 7.5): enlaces dentro de un texto, subrayados (WCAG 1.4.1). Los de navegación (índice, migas, botones, "›") no. */
.rfz-page .rfz-desarrollo a, .rfz-page .rfz-respuesta a, .rfz-page .rfz-firma a, .rfz-page .rfz-quien__caja a, .rfz-page .rfz-novedad p a, .rfz-page .rfz-nota a {
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em;
}
.rfz-page .rfz-desarrollo a:hover, .rfz-page .rfz-respuesta a:hover, .rfz-page .rfz-firma a:hover, .rfz-page .rfz-quien__caja a:hover, .rfz-page .rfz-novedad p a:hover, .rfz-page .rfz-nota a:hover {
	text-decoration-thickness: 2px;
}
.rfz-page .rfz-fuentes { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.5; color: var(--rfz-gris); }
.rfz-page .rfz-fuentes p { font-size: 13px; line-height: 1.5; }

/* Novedad (bloque temporal "¿Merece la pena esperar a…?") */
.rfz-page .rfz-novedad { padding: 16px; border: 1px solid var(--rfz-azul-borde); border-left: 4px solid var(--rfz-azul); border-radius: 4px; background: var(--rfz-fondo); }
.rfz-page .rfz-novedad .rfz-novedad__eti { font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rfz-azul-osc); }
.rfz-page .rfz-novedad .rfz-novedad__estado { font-size: 17px; line-height: 1.55; color: var(--rfz-negro); }
.rfz-page .rfz-novedad .rfz-novedad__sub { font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-novedad ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.rfz-page .rfz-novedad li { list-style: disc outside; }
.rfz-page .rfz-novedad li::before { display: none; }
.rfz-page .rfz-novedad .rfz-novedad__fuente { font-size: 14px; }
.rfz-page .rfz-novedad__fuente a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }

/* Para quién */
.rfz-page .rfz-quien { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.rfz-page .rfz-quien__caja { padding: 14px; border-radius: 4px; font-size: 16px; line-height: 1.55; }
.rfz-page .rfz-quien__caja--si { background: var(--rfz-verde-claro); }
.rfz-page .rfz-quien__caja--no { background: var(--rfz-naranja-claro); }
.rfz-page .rfz-quien__caja .rfz-eti { font-size: 13px; }

/* Alternativas: la que tiene ficha parece pulsable (borde y ›); la que no, no. */
.rfz-page .rfz-alts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.rfz-page .rfz-alt { display: flex; flex-direction: column; gap: 2px; min-height: 44px; padding: 12px 14px; border: 1px solid var(--rfz-linea); border-radius: 4px; text-decoration: none; }
.rfz-page a.rfz-alt:hover { border-color: var(--rfz-azul); }
.rfz-page .rfz-alt--sin-enlace { border-color: transparent; background: var(--rfz-fondo-suave); }
/* 0.2.1: el nombre es un h3 y el texto un párrafo; fuera los estilos de título del tema. */
.rfz-page .rfz-alt .rfz-alt__nombre { margin: 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 16px; line-height: 1.4; font-weight: 700; color: var(--rfz-negro); text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-alt .rfz-alt__nombre::before, .rfz-page .rfz-alt--sin-enlace .rfz-alt__nombre::after { display: none; }
.rfz-page a.rfz-alt .rfz-alt__nombre::after { display: inline; content: " \203A"; color: var(--rfz-azul); }
.rfz-page .rfz-alt .rfz-alt__texto { margin: 0; font-size: 14px; line-height: 1.5; color: var(--rfz-gris); }
/* 0.2.3 (14/11/2026): inline-block en vez de inline-flex. En flex, el texto y el <span class="rfz-nw"> del nombre eran dos
   elementos y se perdía el espacio entre ellos ("Ficha de laGel-Kayano 33"). Mismo alto: 12 + 20 + 12 = 44 px. */
.rfz-page a.rfz-enlace-fuerte { display: inline-block; min-height: 44px; padding: 12px 0; font-size: 15px; line-height: 20px; font-weight: 700; color: var(--rfz-azul); }
.rfz-page .rfz-tabla-simple { overflow-x: auto; }
.rfz-page .rfz-comparativa { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 13px; line-height: 1.4; }
.rfz-page .rfz-comparativa thead tr { background: var(--rfz-fondo-suave); }
.rfz-page .rfz-comparativa th, .rfz-page .rfz-comparativa td { padding: 8px 6px; border: 0; border-bottom: 1px solid var(--rfz-linea); text-align: left; vertical-align: top; }
.rfz-page .rfz-comparativa thead th { font-weight: 700; color: var(--rfz-gris); }
.rfz-page .rfz-comparativa tbody th { width: 100px; font-weight: 400; color: var(--rfz-negro); }
.rfz-page .rfz-comparativa tr.rfz-actual { background: var(--rfz-azul-claro); }
.rfz-page .rfz-comparativa tr.rfz-actual th, .rfz-page .rfz-comparativa tr.rfz-actual td { font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-comparativa .rfz-sin-dato { color: var(--rfz-gris); font-weight: 400; }

/* Gráficos SVG (perfil, evolución, barras). Colores por variables: el día que haya modo oscuro basta con body.rfz-oscuro. */
.rfz-page .rfz-graf { margin: 0; max-width: 480px; display: flex; flex-direction: column; gap: 6px; }
.rfz-page .rfz-graf__svg { display: block; width: 100%; height: auto; overflow: visible; }
.rfz-page .rfz-graf figcaption { font-size: 13px; line-height: 1.5; color: var(--rfz-gris); text-align: left; margin: 0; padding: 0; }
.rfz-page .rfz-seccion .rfz-graf__nota { font-size: 15px; line-height: 1.55; }
.rfz-page .rfz-graf__svg text { font-family: Lato, "Lato rfz", Arial, sans-serif; fill: var(--rfz-graf-texto); font-size: 12px; }
.rfz-page .rfz-g-rejilla { stroke: var(--rfz-graf-rejilla); }
.rfz-page .rfz-graf__svg .rfz-g-eje text { font-size: 11px; fill: var(--rfz-graf-eje); }
.rfz-page .rfz-g-suelo { stroke: var(--rfz-graf-gris); }
.rfz-page .rfz-g-suela { fill: var(--rfz-suela); stroke: var(--rfz-graf-azul); }
.rfz-page .rfz-g-cota { stroke: var(--rfz-graf-cota); }
.rfz-page .rfz-g-drop-linea, .rfz-page .rfz-g-drop { stroke: var(--rfz-drop); }
.rfz-page .rfz-graf__svg .rfz-g-et { font-size: 12px; fill: var(--rfz-graf-texto); }
.rfz-page .rfz-graf__svg .rfz-g-val { font-size: 13px; font-weight: 700; fill: var(--rfz-graf-fuerte); }
.rfz-page .rfz-graf__svg .rfz-g-drop-txt { font-size: 13px; font-weight: 700; fill: var(--rfz-graf-drop-txt); }
.rfz-page .rfz-graf__svg .rfz-g-tit { font-size: 13px; font-weight: 700; fill: var(--rfz-graf-fuerte); }
.rfz-page .rfz-graf__svg .rfz-g-ver { font-size: 12px; fill: var(--rfz-graf-eje); }
.rfz-page .rfz-graf__svg .rfz-g-nombre, .rfz-page .rfz-graf__svg .rfz-g-v { font-size: 12px; fill: var(--rfz-graf-texto); }
.rfz-page .rfz-graf__svg .rfz-g-nombre-actual, .rfz-page .rfz-graf__svg .rfz-g-v-actual { font-size: 12px; font-weight: 700; fill: var(--rfz-graf-fuerte); }
.rfz-page .rfz-graf--evolucion .rfz-g-v-actual { font-size: 13px; fill: var(--rfz-graf-cota); }
.rfz-page .rfz-g-linea { stroke: var(--rfz-graf-gris); }
.rfz-page .rfz-g-linea-actual { stroke: var(--rfz-graf-azul); }
.rfz-page .rfz-g-punto { fill: var(--rfz-graf-punto); stroke: var(--rfz-graf-gris); }
.rfz-page .rfz-g-punto-actual { fill: var(--rfz-graf-azul); }
.rfz-page .rfz-g-barra { fill: var(--rfz-graf-gris); }
.rfz-page .rfz-g-barra-actual { fill: var(--rfz-graf-azul); }
.rfz-page .rfz-graf__datos summary { display: flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 700; color: var(--rfz-azul); cursor: pointer; }
.rfz-page .rfz-graf__datos table { width: 100%; max-width: 480px; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; }
.rfz-page .rfz-graf__datos th, .rfz-page .rfz-graf__datos td { padding: 6px 8px; border: 0; border-bottom: 1px solid var(--rfz-linea); text-align: left; }

/* Mi experiencia: fotos 4:3 con su encuadre, chapa y enlace al tamaño completo. En móvil, dos por fila y la última impar
   a todo el ancho; desde 600 px, tres en fila. */
.rfz-page .rfz-exp { gap: 14px; padding: 18px 16px; border: 1px solid #B7DCC3; border-top: 4px solid var(--rfz-verde); border-radius: 4px; }
.rfz-page .rfz-exp__lista { margin: 0; padding: 0 0 0 18px; list-style: disc; display: flex; flex-direction: column; gap: 6px; }
.rfz-page .rfz-exp__lista li { display: list-item; margin: 0; padding: 0; list-style: disc outside; }
.rfz-page .rfz-exp__lista li::before { display: none; }
.rfz-page .rfz-exp__lista b, .rfz-page .rfz-exp__lista strong { color: var(--rfz-negro); }
.rfz-page .rfz-exp__fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rfz-page .rfz-exp__fig { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.rfz-page .rfz-exp__fig:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rfz-page .rfz-exp__enlace { position: relative; display: block; border: 1px solid var(--rfz-linea); border-radius: 4px; overflow: hidden; }
.rfz-page .rfz-exp__fig .rfz-exp__img { width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 50%; border-radius: 0; }
.rfz-page .rfz-exp__chapa { position: absolute; left: 6px; bottom: 6px; padding: 2px 6px; border-radius: 3px; background: rgba(17, 20, 24, 0.8); color: #FFFFFF; font-size: 12px; font-weight: 700; line-height: 1.4; }
.rfz-page .rfz-exp__fig figcaption { font-size: 14px; line-height: 1.4; color: var(--rfz-texto); text-align: left; margin: 0; padding: 0; }

/* Barra fija de compra: solo móvil */
.rfz-page .rfz-barra { display: none; }
@media (max-width: 768px) {
	.rfz-page .rfz-barra { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); background: #FFFFFF; border-top: 1px solid var(--rfz-linea); box-shadow: 0 -2px 8px rgba(17, 20, 24, 0.06); }
	/* 0.2.3 (diseño 7.4): la barra mide siempre 65 px (botón 44 + relleno 20 + borde 1): el texto no puede pasar de dos
	   líneas. Cada línea, en una sola línea con puntos suspensivos si no cabe. */
	.rfz-page .rfz-barra__texto { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 14px; line-height: 1.3; color: var(--rfz-texto); }
	.rfz-page .rfz-barra__modelo, .rfz-page .rfz-barra__donde { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
	.rfz-page .rfz-barra__modelo { color: var(--rfz-negro); }
	.rfz-page a.rfz-barra__boton { display: inline-flex; flex: 0 0 auto; min-height: 44px; padding: 10px 16px; white-space: nowrap; }
	body.rfz-con-barra { padding-bottom: 76px; }
	/* 0.2.2 (QA, WCAG 2.4.11): al moverse con el teclado, el navegador deja el elemento con el foco por encima de la barra
	   (65 px: botón de 44 + 10 + 10 de relleno + 1 de borde, más la zona segura del iPhone). 0.2.3: +8 de aire para el
	   contorno de foco (2 px a 2 px de separación), que se quedaba pegado al borde de la barra. */
	html:has(> body.rfz-con-barra) { scroll-padding-bottom: calc(73px + env(safe-area-inset-bottom, 0px)); }
	/* 0.2.0: el botón de subir de Soledad se oculta en la ficha con barra. Subido por encima de ella tapaba el final de las
	   líneas de texto y en su animación cruzaba "Ver tiendas" (diseño, apartado 5, problema 7). */
	body.rfz-con-barra .penci-go-to-top-floating { display: none !important; }
}

/* Índice en una sola línea con desplazamiento lateral en móvil */
@media (max-width: 767px) {
	.rfz-page .rfz-indice { flex-wrap: nowrap; overflow-x: auto; padding: 3px 2px; margin: -3px -2px; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); }
	.rfz-page .rfz-indice::-webkit-scrollbar { display: none; }
	.rfz-page .rfz-indice a { flex: 0 0 auto; scroll-snap-align: start; }
}

@media (max-width: 600px) {
	.rfz-page .rfz-desliza { display: block; color: var(--rfz-gris); }
	/* Dato + 3 versiones tienen que caber en 358 px (medido en ua2 el 13/11/2026: con 10x12 de relleno salían 380).
	   0.2.1: break-word + guiones (html lang="es") en vez de anywhere, que partía "Medias/uela" y "ASICSGRI/P"; la
	   columna del dato, a unos 72 px. */
	.rfz-page .rfz-tabla th, .rfz-page .rfz-tabla td { padding: 8px 6px; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
	.rfz-page .rfz-tabla thead th:first-child, .rfz-page .rfz-tabla tbody th { width: 72px; }
}

/* 0.2.1: ficha técnica por debajo de 600 px en bloque: el dato arriba, en 13 px gris, y valor y explicación a todo el
   ancho (en una columna de 246 px la tabla medía 2.169 px de alto). */
@media (max-width: 599px) {
	.rfz-page .rfz-ficha-tabla, .rfz-page .rfz-ficha-tabla tbody, .rfz-page .rfz-ficha-tabla tr, .rfz-page .rfz-ficha-tabla th, .rfz-page .rfz-ficha-tabla td { display: block; width: 100%; }
	.rfz-page .rfz-ficha-tabla tr { padding: 10px 0; }
	.rfz-page .rfz-ficha-tabla th { width: 100%; padding: 0 0 2px; font-size: 13px; line-height: 1.4; color: var(--rfz-gris); }
	.rfz-page .rfz-ficha-tabla td { padding: 0; }
}

@media (min-width: 600px) {
	.rfz-page.rfz-ficha .rfz-pc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfz-page .rfz-exp__fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rfz-page .rfz-exp__fig:last-child:nth-child(odd) { grid-column: auto; }
	.rfz-page .rfz-vistazo { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	/* Tiendas en escritorio: tarjetas (logo arriba, botón debajo) según cuántas haya. */
	.rfz-page .rfz-tiendas--ficha { display: grid; gap: 10px; }
	.rfz-page .rfz-tiendas--ficha.rfz-tiendas--n1 { grid-template-columns: minmax(0, 480px); }
	.rfz-page .rfz-tiendas--ficha.rfz-tiendas--n2, .rfz-page .rfz-tiendas--ficha.rfz-tiendas--n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfz-page .rfz-tiendas--ficha.rfz-tiendas--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rfz-page .rfz-tiendas--ficha:not(.rfz-tiendas--n1) .rfz-tienda { grid-template-columns: minmax(0, 1fr); justify-items: stretch; gap: 10px; padding: 12px; }
	.rfz-page .rfz-tiendas--ficha:not(.rfz-tiendas--n1) .rfz-tienda__logo { justify-content: center; }
}

@media (min-width: 900px) {
	.rfz-page.rfz-ficha .rfz-col { gap: 48px; }
	.rfz-page .rfz-h1 { font-size: 32px; line-height: 1.15; }
	.rfz-page .rfz-h2 { font-size: 24px; }
	.rfz-page .rfz-foto .rfz-foto__img { width: min(100%, calc(340px * var(--rfz-ar, 1.3333))) !important; }
	.rfz-page .rfz-portada { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
	.rfz-page .rfz-portada .rfz-vistazo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfz-page .rfz-ficha-tabla th { width: 160px; }
	.rfz-page a.rfz-aviso { display: inline-flex; align-self: flex-start; }
}

/* Modo oscuro preparado (Runfit no lo tiene hoy): basta con poner la clase rfz-oscuro en body. */
body.rfz-oscuro .rfz-page {
	--rfz-fondo: #0E1525;
	--rfz-texto: #D7DBE2;
	--rfz-gris: #9AA3AF;
	--rfz-graf-gris: #7C8594;
	--rfz-drop: #FDBA74;
	--rfz-graf-rejilla: #1F2A3D;
	--rfz-suela: #1A2A55;
	--rfz-graf-azul: #8FA8FF;
	--rfz-graf-cota: #D7DBE2;
	--rfz-graf-texto: #D7DBE2;
	--rfz-graf-fuerte: #D7DBE2;
	--rfz-graf-eje: #9AA3AF;
	--rfz-graf-drop-txt: #FDBA74;
	--rfz-graf-punto: #0E1525;
}

@media (forced-colors: active) {
	.rfz-page .rfz-g-rejilla, .rfz-page .rfz-g-suelo, .rfz-page .rfz-g-cota, .rfz-page .rfz-g-linea, .rfz-page .rfz-g-drop-linea, .rfz-page .rfz-g-drop { stroke: CanvasText; }
	.rfz-page .rfz-g-suela, .rfz-page .rfz-g-punto { fill: Canvas; stroke: CanvasText; }
	.rfz-page .rfz-g-barra { fill: CanvasText; }
	.rfz-page .rfz-g-barra-actual, .rfz-page .rfz-g-punto-actual { fill: Highlight; }
	.rfz-page .rfz-g-linea-actual { stroke: Highlight; }
	.rfz-page .rfz-graf__svg text { fill: CanvasText; }
}

/* Hub */
.rfz-page .rfz-hub__intro { font-size: 17px; line-height: 1.65; max-width: 760px; }
.rfz-page .rfz-hub__intro p + p { margin-top: 10px; }
.rfz-page .rfz-hub__rejilla { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.rfz-page .rfz-hub__item { margin: 0; padding: 0; }
.rfz-page .rfz-hub__item::before { display: none; }
.rfz-page .rfz-tarjeta-hub { position: relative; height: 100%; display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 16px; border: 1px solid var(--rfz-linea); border-radius: 4px; background: #FFFFFF; }
.rfz-page .rfz-tarjeta-hub:hover { border-color: var(--rfz-azul); }
.rfz-page .rfz-tarjeta-hub__foto { margin: 0 0 6px; }
.rfz-page .rfz-tarjeta-hub__foto .rfz-tarjeta-hub__foto__img, .rfz-page .rfz-tarjeta-hub__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #FFFFFF; border-radius: 4px; }
.rfz-page .rfz-tarjeta-hub__titulo { margin: 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 19px; line-height: 1.3; font-weight: 700; text-transform: none; letter-spacing: 0; }
.rfz-page .rfz-tarjeta-hub__titulo a { color: var(--rfz-negro); text-decoration: none; }
.rfz-page .rfz-tarjeta-hub__titulo a::after { content: ""; position: absolute; inset: 0; border-radius: 4px; }
.rfz-page .rfz-tarjeta-hub__version { font-size: 14px; font-weight: 700; color: var(--rfz-azul-osc); }
.rfz-page .rfz-tarjeta-hub__uso { font-size: 15px; line-height: 1.5; }
.rfz-page .rfz-tarjeta-hub__mas { margin-top: auto; padding-top: 6px; font-size: 15px; font-weight: 700; color: var(--rfz-azul); }
.rfz-page .rfz-paginacion ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rfz-page .rfz-paginacion li { margin: 0; padding: 0; }
.rfz-page .rfz-paginacion a, .rfz-page .rfz-paginacion span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--rfz-linea-2); border-radius: 4px; font-weight: 700; text-decoration: none; }
.rfz-page .rfz-paginacion .current { background: var(--rfz-azul); border-color: var(--rfz-azul); color: #FFFFFF; }

/* Tarjetas del top (shortcode) */
.rfz-top-lista { margin: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.rfz-page .rfz-top-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); gap: 16px; }
.rfz-page .rfz-top { display: flex; flex-direction: column; gap: 14px; padding: 18px 16px 16px; border: 1px solid var(--rfz-linea); border-radius: 4px; background: #FFFFFF; scroll-margin-top: 90px; }
.rfz-page .rfz-top--usada { border: 1px solid #B7DCC3; border-top: 4px solid var(--rfz-verde); }
.rfz-page .rfz-top__cab { display: flex; align-items: center; gap: 10px; }
.rfz-page .rfz-top__num { flex: 0 0 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--rfz-negro); color: #FFFFFF; font-size: 16px; font-weight: 700; }
.rfz-page .rfz-top__etiqueta { font-size: 13px; font-weight: 700; color: var(--rfz-azul); }
.rfz-page .rfz-top__foto { margin: 0; }
.rfz-page .rfz-top__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #FFFFFF; border-radius: 4px; }
.rfz-page .rfz-top__marca { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rfz-gris); }
.rfz-page .rfz-top__modelo { margin: 2px 0 0; padding: 0; font-family: Lato, "Lato rfz", Arial, sans-serif; font-size: 21px; line-height: 1.25; font-weight: 700; color: var(--rfz-negro); text-transform: none; letter-spacing: 0; }
/* 0.2.3 (14/11/2026): cuadros en fila flexible en vez de tres columnas fijas. Con datos cortos quedan igual (tres del mismo
   ancho; dos y uno por debajo de unos 380 px); un cuadro cuya palabra más larga no cabe en su tercio se ensancha, y si no
   cabe en la fila baja a la siguiente a todo el ancho ("Neutra y sobrepronadores, según ASICS" se salía 10-30 px). */
.rfz-page .rfz-top__datos { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rfz-page .rfz-top__datos div { flex: 1 1 88px; max-width: 100%; padding: 8px 10px; border-radius: 4px; background: var(--rfz-azul-claro); }
.rfz-page .rfz-top__datos dt { margin: 0; padding: 0; font-size: 12px; font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-top__datos dd { margin: 0; padding: 0; font-size: 15px; line-height: 1.35; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-top__desc { font-size: 15px; line-height: 1.6; }
.rfz-page .rfz-top__cambio { padding-left: 12px; border-left: 3px solid var(--rfz-azul); font-size: 15px; line-height: 1.55; }
.rfz-page .rfz-top__cambio b, .rfz-page .rfz-top__quien b { color: var(--rfz-negro); }
.rfz-page .rfz-top__quien { font-size: 15px; line-height: 1.55; }
.rfz-page .rfz-top__exp { padding: 10px 12px; border-radius: 4px; background: var(--rfz-verde-claro); }
.rfz-page .rfz-top__exp p { font-size: 15px; line-height: 1.55; color: #14532D; }
.rfz-page .rfz-top__exp .rfz-top__exp-eti { margin: 0 0 4px; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--rfz-verde); }
/* 0.1.3: tarjeta sin foto. Empieza por marca y modelo; si comparte fila con otra más alta, tiendas y enlace bajan al pie
   para que los botones queden a la misma altura que los de la tarjeta de al lado. */
.rfz-page .rfz-top--sin-foto > .rfz-tiendas--top, .rfz-page .rfz-top--sin-foto > a.rfz-enlace-fuerte { margin-top: auto; }
.rfz-page .rfz-top--sin-foto > .rfz-tiendas--top + a.rfz-enlace-fuerte { margin-top: 0; }

@media (max-width: 380px) {
	.rfz-page .rfz-dl__fila { grid-template-columns: 110px minmax(0, 1fr); }
	.rfz-page .rfz-pc { grid-template-columns: minmax(0, 1fr); }
	/* Dos cuadros por fila en todas las tarjetas (como la rejilla de dos columnas de antes); el tercero, a todo el ancho. */
	.rfz-page .rfz-top__datos div { flex-basis: calc(50% - 4px); }
}

/* 0.2.3 (14/11/2026): ningún texto fuera de su cuadro, en ninguna anchura.
   - Una palabra que no cabe ni sola en su línea se parte (break-word no cambia el ancho mínimo de nada: solo actúa donde
     antes se salía). En la ficha técnica, anywhere en la celda del valor, porque en una tabla break-word no impide que la
     tabla se ensanche; la columna del valor se queda con lo que deja la del dato, así que no parte nada que quepa.
   - Rejillas con mínimo fijo (hub, para quién, alternativas): el mínimo no pasa del ancho disponible.
   - Por debajo de 320 px el nombre del H1 (sin cortes por el guion) no cabía a 28 px.
   Las tablas que deslizan (cambios, comparativa) y la barra fija (puntos suspensivos) se quedan como estaban. */
.rfz-page { overflow-wrap: break-word; }
.rfz-page .rfz-ficha-tabla td { overflow-wrap: anywhere; }
.rfz-page .rfz-top__etiqueta { min-width: 0; }
.rfz-page .rfz-quien { grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); }
.rfz-page .rfz-alts { grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); }
@media (max-width: 319px) {
	.rfz-page .rfz-h1 { font-size: 25px; }
}

/* 0.2.4: hub agrupado por uso (outputs/ct-zapatilla-2026-11/hub-0.2.4/diseno-hub.md). Columnas fijas por ancho, nunca 4:
   "43,5 / 35,5 mm" necesita una tarjeta de unos 280 px. Todas las pistas con minmax(0, …) y min-width: 0 en grupo, li,
   tarjeta y dato: nada puede ensanchar su caja. */

/* Índice de grupos: las píldoras de la ficha, en varias líneas también en móvil (son 4; deslizando, "Para competir" no se
   veía). Pisa la regla de móvil de .rfz-indice. */
.rfz-page.rfz-hub .rfz-indice { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; -webkit-mask-image: none; mask-image: none; }
.rfz-page.rfz-hub .rfz-indice a { flex: 0 1 auto; max-width: 100%; }
.rfz-page.rfz-hub .rfz-indice a:focus { border-color: var(--rfz-azul); color: var(--rfz-azul-osc); }

/* Grupos */
.rfz-page .rfz-hub__grupos { display: flex; flex-direction: column; gap: 40px; min-width: 0; }
.rfz-page .rfz-hub__grupo { display: flex; flex-direction: column; gap: 14px; min-width: 0; scroll-margin-top: 90px; }

/* Rejilla: columnas fijas; el grupo de una tarjeta no se estira */
.rfz-page .rfz-hub__rejilla { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.rfz-page .rfz-hub__item { min-width: 0; }

/* Tarjeta */
.rfz-page .rfz-tarjeta-hub { min-width: 0; gap: 8px; padding: 12px 12px 14px; }
.rfz-page .rfz-tarjeta-hub:focus-within { border-color: var(--rfz-azul); }
.rfz-page .rfz-tarjeta-hub__foto { margin: 0 0 4px; }
.rfz-page .rfz-tarjeta-hub__titulo::before, .rfz-page .rfz-tarjeta-hub__titulo::after { display: none; }
.rfz-page .rfz-tarjeta-hub__marca { display: block; margin: 0 0 2px; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rfz-gris); }
.rfz-page .rfz-tarjeta-hub__modelo { display: inline; }
.rfz-page .rfz-tarjeta-hub__uso { font-size: 15px; line-height: 1.5; color: var(--rfz-texto); }

/* Datos: 2×2 como las píldoras del Top; el último impar, a todo el ancho (con 3 datos no queda hueco) */
.rfz-page .rfz-tarjeta-hub__datos { margin: 2px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.rfz-page .rfz-tarjeta-hub__dato { min-width: 0; padding: 7px 8px; border-radius: 4px; background: var(--rfz-azul-claro); }
.rfz-page .rfz-tarjeta-hub__dato:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rfz-page .rfz-tarjeta-hub__datos dt { margin: 0; padding: 0; font-size: 12px; line-height: 1.35; font-weight: 400; color: var(--rfz-gris); }
.rfz-page .rfz-tarjeta-hub__datos dd { margin: 0; padding: 0; font-size: 15px; line-height: 1.3; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-tarjeta-hub__mas { padding-top: 4px; }

/* Enlaces relacionados, al final */
.rfz-page .rfz-hub-rel { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding-top: 28px; border-top: 1px solid var(--rfz-linea); }
.rfz-page .rfz-hub-rel__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.rfz-page .rfz-hub-rel__lista li { min-width: 0; margin: 0; padding: 0; list-style: none; }
.rfz-page .rfz-hub-rel__lista li::before { display: none; }
.rfz-page a.rfz-hub-rel__enlace { height: 100%; display: flex; flex-direction: column; gap: 2px; min-height: 44px; padding: 12px 14px; border: 1px solid var(--rfz-linea); border-radius: 4px; text-decoration: none; }
.rfz-page a.rfz-hub-rel__enlace:hover, .rfz-page a.rfz-hub-rel__enlace:focus { border-color: var(--rfz-azul); }
.rfz-page .rfz-hub-rel__t { font-size: 16px; line-height: 1.4; font-weight: 700; color: var(--rfz-negro); }
.rfz-page .rfz-hub-rel__t::after { content: "\00A0\203A"; color: var(--rfz-azul); }
.rfz-page .rfz-hub-rel__d { font-size: 14px; line-height: 1.5; color: var(--rfz-gris); }

@media (min-width: 640px) {
	.rfz-page .rfz-hub__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfz-page .rfz-hub-rel__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfz-page .rfz-hub-rel--n1 .rfz-hub-rel__lista { grid-template-columns: minmax(0, 480px); }
	.rfz-page .rfz-hub-rel--n3 .rfz-hub-rel__lista li:last-child { grid-column: 1 / -1; }
}
@media (min-width: 960px) {
	.rfz-page .rfz-hub__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.rfz-page .rfz-hub-rel--n3 .rfz-hub-rel__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rfz-page .rfz-hub-rel--n3 .rfz-hub-rel__lista li:last-child { grid-column: auto; }
	.rfz-page .rfz-hub-rel--n4 .rfz-hub-rel__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
