/*
 * Acceso, registro y contacto: estilo renovado (2026-10).
 * Solo afecta a estas páginas (contenedor .form-2026).
 */

.form-2026 {
	--f-oscuro: #121b22;
	--f-texto: #3c4043;
	--f-suave: #6b7075;
	--f-borde: #d9dee3;
	--f-fondo: #f3f5f7;
	--f-azul: #00a0e3;
	--f-azul-osc: #0086bf;
	--f-radio: 8px;
	background: var(--f-fondo);
	padding: 60px 0 70px;
	color: var(--f-texto);
}

/* ---------------------------------------------------------------- tarjeta */

.form-2026 .f-tarjeta {
	display: flex;
	max-width: 980px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(18, 27, 34, 0.10);
	overflow: hidden;
}
.form-2026 .f-tarjeta.f-estrecha {
	max-width: 900px;
}
.form-2026 .f-principal {
	flex: 1 1 58%;
	padding: 44px 48px;
}
.form-2026 .f-lateral {
	flex: 1 1 42%;
	padding: 44px 40px;
	background: var(--f-oscuro);
	color: #c9d1d7;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.form-2026 .f-titulo {
	margin: 0 0 6px;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 26px;
	letter-spacing: 1px;
	color: var(--f-oscuro);
	text-transform: none;
}
.form-2026 .f-subtitulo {
	margin: 0 0 28px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--f-suave);
}
.form-2026 .f-lateral .f-titulo {
	color: #ffffff;
}
.form-2026 .f-lateral p {
	font-size: 14px;
	line-height: 1.7;
	color: #c9d1d7;
}

/* Bloques del formulario de registro */
.form-2026 .f-bloque {
	margin: 0 0 26px;
	padding: 0;
	border: 0;
}
.form-2026 .f-bloque legend {
	width: 100%;
	margin: 0 0 16px;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid #eceff2;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--f-oscuro);
}
.form-2026 .f-rejilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}
.form-2026 .f-rejilla .f-ancho {
	grid-column: 1 / -1;
}

/* ---------------------------------------------------------------- campos */

.form-2026 .form-group {
	margin-bottom: 18px;
}
.form-2026 label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.5px;
	color: var(--f-oscuro);
	text-transform: none;
}
.form-2026 label .required,
.form-2026 label .f-req {
	color: #c62828;
}
.form-2026 .form-control {
	height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--f-borde);
	border-radius: 6px;
	background: #ffffff;
	box-shadow: none;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none !important;
	color: var(--f-oscuro);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.form-2026 textarea.form-control {
	height: auto;
	min-height: 110px;
	resize: vertical;
	text-align: left !important;
}
.form-2026 select.form-control {
	text-transform: none;
	letter-spacing: 0;
	font-size: 15px;
}
.form-2026 .form-control:focus {
	border-color: var(--f-azul);
	box-shadow: 0 0 0 3px rgba(0, 160, 227, 0.18);
	outline: none;
}
.form-2026 .form-control[disabled] {
	background: #f3f5f7;
	color: #9aa4ab;
}
.form-2026 .form-control::placeholder {
	color: #a3abb2;
	text-transform: none;
	letter-spacing: 0;
}
.form-2026 .f-ayuda {
	margin-top: 6px;
	font-size: 12px;
	color: var(--f-suave);
}

/* Casillas de aceptación */
.form-2026 .f-casilla {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 6px 0 20px;
	padding: 14px 16px;
	border: 1px solid #eceff2;
	border-radius: 6px;
	background: #fafbfc;
	cursor: pointer;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--f-texto);
}
.form-2026 .f-casilla input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--f-azul);
	cursor: pointer;
}
.form-2026 .f-casilla a {
	color: #0077a8;
	text-decoration: underline;
}

/* ---------------------------------------------------------------- botones */

.form-2026 .f-boton {
	display: block;
	width: 100%;
	height: 50px;
	border: 0;
	border-radius: 6px;
	background: var(--f-azul);
	color: #ffffff;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.15s;
}
.form-2026 .f-boton:hover:not([disabled]),
.form-2026 .f-boton:focus:not([disabled]) {
	background: var(--f-azul-osc);
	color: #ffffff;
}
.form-2026 .f-boton[disabled] {
	background: #b8c4cc;
	cursor: not-allowed;
}
.form-2026 .f-boton-claro {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 13px 28px;
	border: 2px solid #ffffff;
	border-radius: 6px;
	background: transparent;
	color: #ffffff;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.form-2026 .f-boton-claro:hover,
.form-2026 .f-boton-claro:focus {
	background: #ffffff;
	color: var(--f-oscuro);
	text-decoration: none;
}

.form-2026 .f-enlaces {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
	font-size: 14px;
}
.form-2026 .f-enlaces a {
	color: #0077a8;
}

/* Lista de ventajas / datos de contacto en el panel oscuro */
.form-2026 .f-lista {
	list-style: none;
	margin: 6px 0 28px;
	padding: 0;
}
.form-2026 .f-lista li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 9px 0;
	font-size: 14px;
	line-height: 1.5;
	color: #dfe5e9;
}
.form-2026 .f-lista .fa {
	flex: 0 0 auto;
	width: 18px;
	margin-top: 3px;
	color: var(--f-azul);
	text-align: center;
}
.form-2026 .f-lista a {
	color: #ffffff;
}
.form-2026 .f-lista small {
	display: block;
	color: #8f9aa2;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Avisos (errores, mensaje enviado) */
.form-2026 .alert {
	border-radius: 6px;
	font-size: 14px;
}
.form-2026 .f-resultado {
	display: none;
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
}
.form-2026 .f-resultado.f-ok {
	display: block;
	background: #edf7ee;
	border-left: 4px solid #2e7d32;
	color: #1e5e22;
}
.form-2026 .f-resultado.f-error {
	display: block;
	background: #fdeeee;
	border-left: 4px solid #c62828;
	color: #9b1c1c;
}

.form-2026 .g-recaptcha {
	margin: 4px 0 20px;
}

/* ---------------------------------------------------------------- móvil y tableta */

@media (max-width: 991px) {
	.form-2026 .f-tarjeta {
		flex-direction: column;
	}
	.form-2026 .f-principal,
	.form-2026 .f-lateral {
		padding: 32px 28px;
	}
}
@media (max-width: 600px) {
	.form-2026 {
		padding: 24px 0 40px;
	}
	.form-2026 .f-principal,
	.form-2026 .f-lateral {
		padding: 26px 18px;
	}
	.form-2026 .f-rejilla {
		grid-template-columns: 1fr;
	}
	.form-2026 .f-titulo {
		font-size: 22px;
	}
	.form-2026 .g-recaptcha {
		transform: scale(0.92);
		transform-origin: 0 0;
	}
}
