/**
 * Landing del customizador 42K.
 *
 * Replica el sistema de /equipaciones-personalizadas-clubes/, medido en
 * producción, porque el customizador va a formar parte de esa página:
 *
 *   franjas          a todo el ancho, alternando #f3f3f3 y #fff
 *   contenedor       bloques de contenido a 1200px con 60px 40px
 *   titular sección  Dosis 24px w500 mayúsculas CENTRADO, lh 30px, #222,
 *                    con un <span> en naranja #e84924
 *   subtítulo        Dosis 27px w300 mayúsculas
 *   etiqueta         Dosis 16.5px w500, blanco sobre #222, 4px 10px, radio 0
 *   cuerpo           Helvetica 15px w300 #5d5d5d
 *   botón            Dosis 18px w400 mayúsculas, #e84924, radio 5px, 7px 15px
 *
 * Tres reglas suyas que conviene no romper:
 *   1. letter-spacing siempre normal. No hay una sola mayúscula espaciada.
 *   2. Radio solo en botones (5px). Todo lo demás a escuadra.
 *   3. Sin sombras.
 */

.c42k-landing {
	--c42k-principal: #e84924;
	--c42k-principal-oscuro: #a62000;
	--c42k-oscuro: #222;
	--c42k-gris: #5d5d5d;
	--c42k-claro: #999;
	--c42k-fondo: #f3f3f3;
	--c42k-blanco: #fff;
	--c42k-linea: #e2e2e2;

	--c42k-radio-boton: 5px;
	--c42k-rapido: 0.2s ease;

	--c42k-titulo: "Dosis", Helvetica, Arial, sans-serif;
	--c42k-texto: Helvetica, Tahoma, Arial, sans-serif;

	font-family: var(--c42k-texto);
	font-size: 0.9375rem;
	font-weight: 300;
	line-height: 1.4;
	color: var(--c42k-gris);
}

.c42k-landing *,
.c42k-landing *::before,
.c42k-landing *::after {
	box-sizing: border-box;
}

/* ---------- Franjas a todo el ancho ----------
   El landing se pinta dentro del contenedor limitado del tema, así que las
   franjas se sacan del ancho con márgenes negativos, como hace su web con
   .contenedor-100.                                                          */

.c42k-banda {
	margin-inline: calc(50% - 50vw);
	padding-inline: calc(50vw - 50%);
	padding-block: 60px;
}

/* El botón de la cabecera salta a las vías: que no queden pegadas arriba. */
.c42k-banda[id] {
	scroll-margin-top: 1rem;
}

.c42k-banda--clara {
	background: var(--c42k-fondo);
}

.c42k-banda--blanca {
	background: var(--c42k-blanco);
}

.c42k-interior {
	max-width: 1200px;
	margin: 0 auto;
	padding-inline: 40px;
}

/* ---------- Titular de sección ----------
   Centrado y a dos colores: la segunda parte en naranja dentro de un span.
   Es el recurso que repiten en toda la página.                              */

.c42k-titulo-seccion {
	font-family: var(--c42k-titulo);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.875rem;
	text-transform: uppercase;
	letter-spacing: normal;
	text-align: center;
	color: var(--c42k-oscuro);
	margin: 0 0 1.25rem;
}

.c42k-titulo-seccion span {
	color: var(--c42k-principal);
}

.c42k-entradilla {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 2.5rem;
}

/* ---------- Etiqueta oscura ----------
   La de "OPCIÓN 1" de su página. A escuadra, nunca redondeada.              */

.c42k-etiqueta,
.c42k-via__tiempo,
.c42k-via__recomendada {
	display: inline-block;
	font-family: var(--c42k-titulo);
	font-size: 1.03125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: normal;
	line-height: 1;
	color: var(--c42k-blanco);
	background: var(--c42k-oscuro);
	padding: 4px 10px;
	border-radius: 0;
}

/* ---------- Botón ---------- */

.c42k-boton {
	display: inline-block;
	font-family: var(--c42k-titulo);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: normal;
	text-decoration: none;
	color: var(--c42k-blanco);
	background: var(--c42k-principal);
	border-radius: var(--c42k-radio-boton);
	padding: 7px 15px;
	transition: background var(--c42k-rapido);
}

.c42k-boton:hover {
	background: var(--c42k-principal-oscuro);
	color: var(--c42k-blanco);
}

.c42k-boton:focus-visible {
	outline: 2px solid var(--c42k-principal);
	outline-offset: 2px;
}

/* =========================================================================
   Cabecera con imagen
   ========================================================================= */

/* Fondo oscuro siempre: es lo que se ve mientras carga la foto, y lo que
   queda si no hay foto configurada. */
.c42k-cabecera {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(26rem, 62vh, 40rem);
	background: var(--c42k-oscuro);
	color: var(--c42k-blanco);
	overflow: hidden;
}

/* Doble clase para ganar a los "img { height: auto }" de los temas. */
.c42k-landing .c42k-hero__imagen {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	/* El corredor está a la derecha y arriba de la foto: se ancla ahí para que
	   el recorte no le corte la cabeza ni lo saque del encuadre en móvil. */
	object-position: 62% 20%;
}

/* Velo para que el texto se lea sobre cualquier foto: denso a la izquierda,
   donde va el texto, y abierto a la derecha para que se vea la prenda. */
.c42k-cabecera--imagen::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(34, 34, 34, 0.9) 0%, rgba(34, 34, 34, 0.7) 45%, rgba(34, 34, 34, 0.15) 100%);
}

.c42k-hero {
	position: relative;
	z-index: 2;
	width: 100%;
}

.c42k-hero > * {
	max-width: 40rem;
}

/* Bloque de marca CUSTOM LINE: Helvetica 700 itálica, la segunda palabra
   pequeña. Entero en blanco: sobre la foto, el naranja de "LINE" no
   contrastaba. Interlineado en em para que el span lo herede como longitud
   fija, igual que en su web. */
.c42k-landing .c42k-custom-line {
	/* Ancho justo el de "CUSTOM", para que "LINE" pueda pegarse a su borde
	   derecho. */
	width: fit-content;
	font-family: var(--c42k-texto);
	font-weight: 700;
	font-style: italic;
	text-transform: uppercase;
	letter-spacing: normal;
	font-size: clamp(2.75rem, 6vw, 4.6875rem);
	line-height: 0.4em;
	color: var(--c42k-blanco);
	margin: 0 0 1.5rem;
}

/* Con .c42k-landing delante a propósito: el tema tiene su propia regla para
   este bloque, carga después y, a igual peso, se llevaba el color. */
.c42k-landing .c42k-custom-line span {
	display: block;
	font-size: 0.38em;
	color: var(--c42k-blanco);
	padding-top: 0.15em;
	text-align: right;
}

.c42k-hero__eyebrow {
	font-family: var(--c42k-titulo);
	font-size: 1.125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: normal;
	color: var(--c42k-principal);
	margin: 0 0 0.4rem;
}

.c42k-hero__titulo {
	font-family: var(--c42k-titulo);
	font-size: clamp(1.875rem, 3.4vw, 2.8125rem);
	font-weight: 500;
	font-style: italic;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: normal;
	color: var(--c42k-blanco);
	margin: 0 0 1rem;
}

.c42k-hero__titulo em {
	display: block;
	font-style: italic;
	color: var(--c42k-principal);
}

.c42k-hero__entrada {
	max-width: 46ch;
	font-size: 1.0625rem;
	margin: 0 0 1.5rem;
}

/* =========================================================================
   Los tres catálogos
   Los "botonacos" de su página de equipaciones: la foto entera hace de botón
   y el rótulo va debajo, sobre negro.
   ========================================================================= */

.c42k-catalogos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.c42k-catalogo-enlace {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	background: var(--c42k-oscuro);
	color: var(--c42k-blanco);
	overflow: hidden;
	transition: background var(--c42k-rapido);
}

.c42k-landing .c42k-catalogo-enlace__imagen {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 500 / 295;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.c42k-catalogo-enlace__titulo {
	font-family: var(--c42k-titulo);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: normal;
	text-align: center;
	color: inherit;
	margin: 0;
	padding: 0.9rem 1rem;

	/* Por encima de la foto cuando esta se acerca al pasar el ratón. */
	position: relative;
	background: inherit;
}

.c42k-catalogo-enlace:hover,
.c42k-catalogo-enlace:focus-visible {
	background: var(--c42k-principal);
	color: var(--c42k-blanco);
}

.c42k-catalogo-enlace:focus-visible {
	outline: 2px solid var(--c42k-principal);
	outline-offset: 2px;
}

@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.c42k-catalogo-enlace:hover .c42k-catalogo-enlace__imagen {
		transform: scale(1.04);
	}
}

/* =========================================================================
   Las tres vías (bloque oculto por configuración: 'mostrar_vias')
   Mismo patrón que sus "OPCIÓN 1/2/3": tarjeta blanca a escuadra con la
   etiqueta oscura arriba del todo.
   ========================================================================= */

.c42k-vias {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.c42k-via {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: var(--c42k-fondo);
	border-radius: 0;
	padding: 1.5rem;
}

/* El tiempo va siempre en la etiqueta oscura. "Recomendado" es una etiqueta
   aparte, en naranja, al lado: no sustituye a la del tiempo ni la apaga. */
.c42k-via__etiquetas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 0.9rem;
}

.c42k-via__recomendada {
	background: var(--c42k-principal);
}

.c42k-via__titulo {
	font-family: var(--c42k-titulo);
	font-size: 1.6875rem;
	font-weight: 300;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: normal;
	color: var(--c42k-principal);
	margin: 0 0 0.5rem;
}

.c42k-via__texto {
	margin: 0 0 1.5rem;
	flex-grow: 1;
}

/* =========================================================================
   Texto corrido ("Qué es")
   ========================================================================= */

.c42k-prosa {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.0625rem;
	line-height: 1.6;
}

.c42k-prosa p {
	margin: 0 0 1rem;
}

.c42k-prosa p:last-child {
	margin-bottom: 0;
}

/* =========================================================================
   Pasos y garantías
   ========================================================================= */

/* "c42k-proceso", no "c42k-pasos": esa clase es del tema (ficha de prenda) y sus
   márgenes y su borde se colaban aquí. */
.c42k-proceso {
	list-style: none;
	margin: 0;
	padding: 0;
}

.c42k-proceso,
.c42k-garantias {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
}

.c42k-proceso__paso .c42k-etiqueta {
	margin-bottom: 0.9rem;
}

.c42k-proceso__paso h3,
.c42k-garantia h3 {
	font-family: var(--c42k-titulo);
	font-size: 1.6875rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: normal;
	line-height: 1.2;
	color: var(--c42k-oscuro);
	margin: 0 0 0.4rem;
}

.c42k-proceso__paso p,
.c42k-garantia p {
	margin: 0;
}

/* =========================================================================
   Preguntas frecuentes
   ========================================================================= */

.c42k-faq {
	max-width: 800px;
	margin: 0 auto;
	border-top: 1px solid var(--c42k-linea);
}

.c42k-faq__item {
	border-bottom: 1px solid var(--c42k-linea);
}

.c42k-faq__item summary {
	cursor: pointer;
	font-family: var(--c42k-titulo);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: normal;
	color: var(--c42k-oscuro);
	padding: 1rem 0;
	transition: color var(--c42k-rapido);
}

.c42k-faq__item summary:hover,
.c42k-faq__item[open] summary {
	color: var(--c42k-principal);
}

.c42k-faq__item summary:focus-visible {
	outline: 2px solid var(--c42k-principal);
	outline-offset: 2px;
}

.c42k-faq__item p {
	margin: 0 0 1.1rem;
}

.c42k-cierre {
	text-align: center;
	margin: 2.5rem 0 0;
}

/* =========================================================================
   Móvil
   ========================================================================= */

@media (max-width: 980px) {
	.c42k-vias,
	.c42k-proceso,
	.c42k-garantias {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.c42k-catalogos {
		grid-template-columns: 1fr;
		max-width: 500px;
		margin-inline: auto;
	}

	/* En estrecho el texto ocupa todo el ancho: el velo deja de ser un
	   degradado lateral y oscurece la foto entera. */
	.c42k-cabecera--imagen::before {
		background: rgba(34, 34, 34, 0.75);
	}
}

@media (max-width: 600px) {
	.c42k-banda {
		padding-block: 40px;
	}

	.c42k-interior {
		padding-inline: 20px;
	}

	.c42k-cabecera {
		min-height: 22rem;
	}
}
