/* ===========================================================================
   ACCESO
   Mismo lenguaje que el panel: vidrio, halos de marca y relieve.
   Dos columnas: presentación a la izquierda, formulario a la derecha.
   =========================================================================== */

body.es-acceso{ overflow-y: auto; }

.acceso{
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	min-height: 100vh;
}

/* --- Columna de presentación. --- */
.acceso-presenta{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	padding: 44px 52px;
	overflow: hidden;
	border-right: 1px solid var(--linea);
}
.acceso-presenta::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:
		radial-gradient(760px 520px at 18% 14%, rgba(var(--marca-1-rgb), .30), transparent 58%),
		radial-gradient(680px 520px at 82% 88%, rgba(var(--marca-2-rgb), .26), transparent 58%),
		linear-gradient(150deg, rgba(255,255,255,.05), transparent 52%);
}
/* Retícula tenue: textura sin ruido visual. */
.acceso-presenta::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
	opacity:.5;
	background-image:
		linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: radial-gradient(circle at 40% 40%, #000, transparent 76%);
}

.acceso-marca{ display:flex; align-items:center; gap: 13px; }
.acceso-marca .marca-sello{ width: 46px; height: 46px; font-size: 18px; }
.acceso-marca .marca-nombre{ font-size: 17px; }

.acceso-discurso{ max-width: 44ch; }
.acceso-discurso h1{
	font-size: clamp(30px, 3.3vw, 44px);
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin-bottom: 16px;
}
.acceso-discurso h1 em{
	font-style: normal;
	background: linear-gradient(100deg, var(--marca-1), var(--marca-3));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.acceso-discurso p{ font-size: 15.5px; line-height: 1.6; }

/* Tarjetas de las tres dimensiones de estado: explican el producto. */
.acceso-dimensiones{ display: grid; gap: 11px; margin-top: 28px; }
.dimension{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--linea);
	border-radius: var(--radio-md);
	background: var(--superficie);
	box-shadow: var(--sombra-interior), var(--sombra-1);
	backdrop-filter: blur(10px);
}
.dimension-marca{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width: 36px; height: 36px;
	flex: 0 0 auto;
	border-radius: var(--radio-sm);
	background: var(--superficie-2);
	border: 1px solid var(--linea);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
	color: var(--marca-1);
}
.dimension b{ display:block; font-size: 13.5px; }
.dimension > span:last-child > span{ display:block; font-size: 12.5px; color: var(--texto-tenue); }

.acceso-pie{ font-size: 12.5px; color: var(--texto-tenue); }

/* --- Columna del formulario. --- */
.acceso-forma{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 44px 32px;
}

.acceso-tema{
	position: absolute;
	top: 28px;
	right: 32px;
}

.acceso-tarjeta{
	position: relative;
	width: min(420px, 100%);
	padding: 34px 32px 30px;
	border: 1px solid var(--linea);
	border-radius: var(--radio-xl);
	background:
		linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
		rgba(10,15,28,.6);
	backdrop-filter: blur(24px);
	box-shadow: var(--sombra-interior), var(--sombra-3);
	overflow: hidden;
}
.acceso-tarjeta::before{
	content:"";
	position:absolute; top:0; left:0; right:0; height:1px;
	background: var(--luz-superior);
}
.acceso-tarjeta::after{
	content:"";
	position:absolute;
	top:-110px; right:-80px;
	width: 260px; height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--marca-1-rgb), .20), transparent 66%);
	pointer-events:none;
}

.acceso-tarjeta h2{
	position: relative;
	font-size: 23px;
	margin-bottom: 6px;
}
.acceso-tarjeta .acceso-nota{
	position: relative;
	margin-bottom: 24px;
	font-size: 13.5px;
	color: var(--texto-tenue);
}

.acceso-tarjeta form{ position: relative; }

.acceso-opciones{
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 14px;
	margin: 4px 0 22px;
	font-size: 13px;
}
.acceso-opciones a{ color: var(--texto-suave); font-weight: 600; transition: color var(--transicion); }
.acceso-opciones a:hover{ color: var(--marca-1); }

.acceso-error{
	display:flex;
	align-items: flex-start;
	gap: 11px;
	margin-bottom: 20px;
	padding: 13px 15px;
	border: 1px solid rgba(var(--peligro-rgb), .3);
	border-radius: var(--radio-sm);
	background: rgba(var(--peligro-rgb), .10);
	color: var(--peligro);
	font-size: 13px;
	font-weight: 600;
	animation: entra-error .3s ease;
}
.acceso-error .icono{ flex:0 0 auto; margin-top: 1px; }
@keyframes entra-error{
	from{ opacity:0; transform: translateY(-6px); }
	to{ opacity:1; transform:none; }
}

.acceso-separa{
	position: relative;
	margin: 24px 0 18px;
	text-align: center;
	font-size: 11.5px;
	font-weight: 650;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--texto-tenue);
}
.acceso-separa::before{
	content:"";
	position:absolute;
	left:0; right:0; top:50%;
	height:1px;
	background: var(--linea);
}
.acceso-separa span{ position: relative; padding: 0 12px; background: rgba(13,18,33,.96); }

.acceso-app{
	display:flex;
	align-items:center;
	gap: 13px;
	padding: 14px 16px;
	border: 1px dashed var(--linea-fuerte);
	border-radius: var(--radio-md);
	background: var(--superficie-honda);
	font-size: 12.5px;
	color: var(--texto-tenue);
	line-height: 1.5;
}
.acceso-app .icono{ color: var(--marca-3); flex: 0 0 auto; }
