/*
 * Profesionales · solicitud de pedido profesional (fch-child 1.2.0). Móvil primero. Solo tokens.
 */
.fch-prof {
	display: grid;
	gap: var(--fch-esp-6);
	max-width: 56rem;
	padding-bottom: var(--fch-esp-seccion);
	scroll-margin-top: var(--fch-esp-24);
}

.fch-prof__sin-compromiso p {
	margin: 0;
}

.fch-prof__form {
	display: grid;
	gap: var(--fch-esp-6);
}

.fch-prof__bloque {
	display: grid;
	gap: var(--fch-esp-4);
	padding: var(--fch-esp-5) var(--fch-esp-4);
	border: var(--fch-borde-fino) solid var(--fch-color-borde);
	border-radius: var(--fch-tarjeta-radio);
	background-color: var(--fch-color-superficie);
}

.fch-prof__bloque > h2 {
	display: flex;
	gap: var(--fch-esp-3);
	align-items: center;
	margin: 0;
	font-size: var(--fch-texto-xl);
	font-weight: var(--fch-peso-normal);
}

.fch-prof__bloque > p {
	margin: 0;
}

.fch-prof__paso {
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: var(--fch-radio-pildora);
	background-color: var(--fch-color-acento-fondo);
	color: var(--fch-color-acento);
	font-family: var(--fch-fuente-texto);
	font-size: var(--fch-texto-sm);
	font-weight: 600;
}

.fch-prof__lineas {
	display: grid;
	gap: var(--fch-esp-4);
}

.fch-prof__linea {
	display: grid;
	gap: var(--fch-esp-3);
	min-width: 0;
	margin: 0;
	padding: var(--fch-esp-4);
	border: var(--fch-borde-fino) solid var(--fch-color-borde-fuerte);
	border-radius: var(--fch-radio-md);
	background-color: var(--fch-color-superficie-alt);
}

.fch-prof__linea legend {
	padding-inline: var(--fch-esp-1);
	font-family: var(--fch-fuente-titulos);
	font-size: var(--fch-texto-lg);
}

.fch-prof__rejilla {
	display: grid;
	gap: var(--fch-esp-3);
}

.fch-prof__rejilla .fch-campo {
	min-width: 0;
	margin: 0;
}

.fch-prof__rejilla .fch-control {
	width: 100%;
}

.fch-prof__quitar {
	justify-self: end;
}

.fch-prof__mas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fch-esp-2);
	margin: 0;
}

.fch-prof__capa {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fch-texto-sm);
}

.fch-prof__capa th,
.fch-prof__capa td {
	padding: var(--fch-esp-2) var(--fch-esp-3);
	border-bottom: var(--fch-borde-fino) solid var(--fch-color-borde);
	text-align: left;
	vertical-align: top;
}

.fch-prof__capa th {
	width: 9rem;
	font-weight: 600;
}

.fch-prof__gracias {
	display: grid;
	gap: var(--fch-esp-3);
	padding: var(--fch-esp-5);
	border: var(--fch-borde-fino) solid var(--fch-color-exito);
	border-radius: var(--fch-tarjeta-radio);
	background-color: var(--fch-color-exito-fondo);
}

.fch-prof__gracias h2,
.fch-prof__gracias h3,
.fch-prof__gracias p {
	margin: 0;
}

.fch-prof__resumen {
	display: grid;
	gap: var(--fch-esp-1);
	margin: 0;
	padding-left: var(--fch-esp-5);
}

/* 1.6.2 · Móvil: «Política de privacidad» va suelta en su celda; 44 px de alto para el dedo (antes 23). */
.fch-prof__capa td > a:only-child {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

@media (max-width: 39.99em) {
	/* 1.6.2 · Móvil (hoteles y spas lo piden desde el teléfono): tres cajas una dentro de otra (paso › línea ›
	   accesorio) dejaban el texto de los accesorios en 147 px y partían «Campana de cristal». Menos margen dentro
	   y, en cada accesorio, casilla + foto + nombre arriba y la explicación debajo, a todo el ancho. */
	.fch-prof__bloque {
		padding-inline: var(--fch-esp-3);
	}

	.fch-prof__linea {
		padding: var(--fch-esp-3);
	}

	.fch-prof .fch-accesorio__caja {
		grid-template-columns: auto 3rem minmax(0, 1fr);
		row-gap: var(--fch-esp-1);
		padding: var(--fch-esp-2);
	}

	.fch-prof .fch-accesorio__foto {
		width: 3rem;
	}

	.fch-prof .fch-accesorio__texto {
		display: contents;
	}

	.fch-prof .fch-accesorio__caja:not(:has(.fch-accesorio__foto)) {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.fch-prof .fch-accesorio__nombre {
		grid-column: -2 / -1;
	}

	.fch-prof .fch-accesorio__desc,
	.fch-prof .fch-accesorio__nota {
		grid-column: 1 / -1;
	}

	.fch-prof__capa,
	.fch-prof__capa tbody,
	.fch-prof__capa tr,
	.fch-prof__capa th,
	.fch-prof__capa td {
		display: block;
		width: auto;
	}

	.fch-prof__capa th {
		padding-bottom: 0;
		border-bottom: 0;
	}
}

@media (min-width: 40em) {
	.fch-prof__bloque {
		padding: var(--fch-esp-6);
	}

	.fch-prof__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fch-prof__grabado {
		grid-column: 1 / -1;
	}
}

@media (min-width: 64em) {
	.fch-prof__linea .fch-prof__rejilla {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fch-prof__rejilla--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
