/*
 * Registro de accesos — estilo cercano a captura Figma «Registro de visitas»
 * Campos encajados (captura), rejilla 2 col en paso 2, consentimiento en recuadro.
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
.registro-accesos-modulo {
	--ra-crema: #ece8df;
	--ra-crema-hover: #f7f4ee;
	--ra-crema-muted: #c9c4ba;
	--ra-negro-texto: #141414;
	--ra-texto: #CDCAB2;
	--ra-texto-medio: rgba(205, 202, 178, 0.58);
	--ra-texto-suave: rgba(205, 202, 178, 0.48);
	--ra-caja-borde: rgba(205, 202, 178, 0.22);
	--ra-caja-bg: transparent;
	--ra-caja-bg-focus: transparent;
	--ra-input-borde-focus: rgba(205, 202, 178, 0.55);

	position: relative;
	color: var(--ra-texto);
	font-family: 'DIN Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;
	font-weight: 400;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.registro-accesos-modulo *,
.registro-accesos-modulo *::before,
.registro-accesos-modulo *::after {
	box-sizing: inherit;
}

/* --- Fondo pantalla completa --- */

.registro-accesos-layout {
	position: relative;
	min-height: 520px;
	border-radius: 0;
	overflow: hidden;
	isolation: isolate;
}

.registro-accesos-layout--hero {
	min-height: 100vh;
	min-height: 100dvh;
}

.registro-accesos-layout__bg {
	position: absolute;
	inset: 0;
	background-color: transparent;
	background-image: url('https://images.unsplash.com/photo-1615876234959-125feadd544f?auto=format&fit=crop&w=2400&q=80');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* Panel: sin borde ni relleno */
.registro-accesos-layout__panel {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	width: calc(100% - 0px);
	padding: 0px 20px;
	border-radius: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

@supports not (backdrop-filter: blur(22px)) {
	.registro-accesos-layout__panel {
		background: transparent;
	}
}

.registro-accesos-paso-2 .registro-accesos-layout__panel {
	max-width: 550px;
}

.registro-accesos-paso-3 .registro-accesos-layout__panel {
	max-width: 600px;
}

.registro-accesos-paso-4 .registro-accesos-layout__panel {
	max-width: 600px;
}





/* =============================================================================
 *
 *   PROGRESO (stepper) — bloque autónomo
 *
 *   Pensado para poder copiar o sustituir solo esta sección: desde el marcador
 *   «INICIO PROGRESO» hasta «FIN PROGRESO». El resto del fichero puede retirarse
 *   si una maquetadora maqueta el módulo aparte.
 *
 *   Dependencia: var(--ra-texto) (definida en .registro-accesos-modulo arriba).
 *   Si este bloque se mueve a otro CSS, definir allí --ra-texto o sustituir
 *   var(--ra-texto) por el color definitivo (p. ej. #cdcab2).
 *
 * ============================================================================= */

/* ---- INICIO PROGRESO ---- */


.registro-accesos-progreso {
	margin-bottom: clamp(1.35rem, 3.5vw, 2rem);
	position: relative;
}

.registro-accesos-progreso__inner {
	position: relative;
	width: 100%;
	min-height: 28px;
}

.registro-accesos-progreso__back {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 0;
	padding: 0;
	user-select: none;
	-webkit-appearance: none;
	appearance: none;
	z-index: 2;
}


.registro-accesos-progreso__back {
	left: calc(-1 * ((100vw - 100%) / 2) + 8px);
}


.registro-accesos-progreso__back--activa {
	color: #CDCAB2;
	background: transparent;
	cursor: pointer;
	margin-left: 20px;
}

.registro-accesos-progreso__back--activa:hover {
	opacity: 0.72;
}

.registro-accesos-progreso__back--inactiva {
	color: #767676;
	background: transparent;
	opacity: 1;
	pointer-events: none;
	margin-left: 20px;
}

.registro-accesos-progreso__back-icon {
	display: block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-image: url("images/registro-accesos-back.svg");
	mask-image: url("images/registro-accesos-back.svg");
}

.registro-accesos-progreso__lista {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 13.5rem;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.registro-accesos-progreso__paso {
	display: flex;
	align-items: center;
	flex: 1 1 0;
	min-width: 0;
	gap: 0;
}

.registro-accesos-progreso__paso:last-child {
	flex: 0 0 auto;
}

.registro-accesos-progreso__dot {
	display: block;
	flex-shrink: 0;
	width: 23px;
	height: 23px;
	border-radius: 50%;
	border: 1px solid #767676;
	background: #767676;
	box-sizing: border-box;
	transition:
		background 0.3s ease,
		border-color 0.3s ease,
		transform 0.3s ease;
}

button.registro-accesos-progreso__dot {
	margin: 0;
	padding: 0;
	font: inherit;
	line-height: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

button.registro-accesos-progreso__dot:hover {
	transform: scale(1.08);
}

button.registro-accesos-progreso__dot:focus-visible {
	outline: 2px solid var(--ra-texto, #1a1a1a);
	outline-offset: 3px;
}

.registro-accesos-progreso__paso.is-completado .registro-accesos-progreso__dot {
	background: var(--ra-texto);
	border-color: var(--ra-texto);
	opacity: 0.92;
}

.registro-accesos-progreso__paso.is-completado button.registro-accesos-progreso__dot:hover {
	opacity: 1;
}

.registro-accesos-progreso__paso.is-activo .registro-accesos-progreso__dot {
	background: var(--ra-texto);
	border-color: var(--ra-texto);
	opacity: 1;
	transform: translateZ(0);
}

.registro-accesos-progreso__paso.is-activo button.registro-accesos-progreso__dot {
	cursor: default;
	pointer-events: none;
}

.registro-accesos-progreso__tramo {
	flex: 1 1 auto;
    min-width: 0.35rem;
    height: 3px;
    margin-left: -2px;
    border-radius: 1px;
    background: #767676;
    box-shadow: none;
    align-self: center;
    overflow: hidden;
}

.registro-accesos-progreso__tramo-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--ra-texto);
	max-width: 100%;
	transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ---- FIN PROGRESO ---- */





/* --- Títulos --- */

.registro-accesos-cuerpo {
	position: relative;
}

.registro-accesos-cuerpo--centrado {
	text-align: center;
}

.registro-accesos-titulo {
	margin: 0 0 25px;
    font-size: 20px;
    font-weight: 600 !important;
    line-height: 23px;
    color: var(--ra-texto);
    text-transform: uppercase;
    letter-spacing: 0px;
    text-align: center;
}

.registro-accesos-titulo--natural {
	text-transform: none;
	letter-spacing: 0.015em;
	font-size: clamp(1rem, 2.8vw, 1.2rem);
	font-weight: 500;
	line-height: 1.35;
}

.registro-accesos-subtitulo {
	margin: 0 auto;
	margin-bottom: 34px;
    font-size: 16px;
    line-height: 21px;
    color: #CDCAB2;
    text-align: center;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
}

.registro-accesos-cuerpo--centrado .registro-accesos-subtitulo {
	margin-left: auto;
	margin-right: auto;
}

/* --- Paso 1: dos columnas (Oficinas | Factorías) --- */

.registro-accesos-paso1-ubicacion {
	margin-bottom: 1.5rem;
}

.registro-accesos-paso1-dos-columnas {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 1.25rem;
	align-items: start;
}

.registro-accesos-paso1-columna {
	min-width: 0;
}

.registro-accesos-paso1-columna:last-child {
	border-left: 1px solid rgba(205, 202, 178, 0.22);
	padding-left: 1.25rem;
}

.registro-accesos-paso1-columna__titulo {
	margin: 0 0 0.85rem;
	padding: 0;
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ra-texto-suave);
	text-decoration: none;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.registro-accesos-paso1-columna.is-seleccionada .registro-accesos-paso1-columna__titulo {
	color: var(--ra-texto);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.35em;
}

.registro-accesos-grid--lugares {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.registro-accesos-paso1-columna .registro-accesos-grid--lugares {
	gap: 0.55rem;
}

.registro-accesos-tarjeta {
	cursor: pointer;
	display: block;
	margin: 0;
}

.registro-accesos-tarjeta__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.registro-accesos-tarjeta__marco {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 200px;
	padding: 0;
	overflow: hidden;
	border-radius: 0;
	border: 1px solid rgba(205, 202, 178, 0.2);
	background: transparent;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.registro-accesos-tarjeta__input:focus + .registro-accesos-tarjeta__marco {
	outline: 1px solid rgba(205, 202, 178, 0.65);
	outline-offset: 2px;
}

.registro-accesos-tarjeta__input:checked + .registro-accesos-tarjeta__marco {
	border-color: rgba(205, 202, 178, 0.65);
	background: transparent;
	box-shadow:
		inset 0 0 0 1px rgba(205, 202, 178, 0.25),
		3px 0 0 0 var(--ra-crema);
}

.registro-accesos-tarjeta__media {
	position: absolute;
	inset: 0;
	min-height: 100%;
	border-radius: 0;
	background-color: transparent;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.registro-accesos-tarjeta__media::after {
	content: none;
	display: none;
}

.registro-accesos-tarjeta__nombre {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 1rem 0.65rem 1.1rem;
	text-align: center;
	font-size: 0.625rem;
	font-weight: 600;
	color: #cdcab2;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-shadow: 0 1px 12px rgba(45, 48, 56, 0.5);
}

.registro-accesos-tarjeta--texto .registro-accesos-tarjeta__marco {
	min-height: 3.25rem;
	padding: 1rem 1rem 1rem 1.1rem;
	justify-content: center;
	align-items: flex-start;
	background: var(--ra-caja-bg);
	border: 1px solid var(--ra-caja-borde);
}

.registro-accesos-tarjeta--texto .registro-accesos-tarjeta__nombre {
	padding: 0;
	text-align: left;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.55;
	text-shadow: none;
	color: rgba(205, 202, 178, 0.92);
}

/* --- Formulario paso 2: rejilla + campos encajados (captura) --- */

.registro-accesos-formulario-col {
	max-width: 100%;
	margin: 0 auto 0.35rem;
}

.registro-accesos-formulario-leyenda {
	margin: 1rem 0 0.35rem;
    padding: 0 0.25rem;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 21px;
    color: #cdcab2;
    text-align: center;
    font-weight: 700 !important;
    font-style: italic;
    letter-spacing: 0px;
}
.registro-accesos-pdf-post-leyenda img{
	    position: relative;
    top: -3px;
    width: 12px;
}
.registro-accesos-formulario {
	margin-bottom: 0.25rem;
}

.registro-accesos-formulario--rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 0;
	row-gap: 1.05rem;
}

.registro-accesos-campo--span-full {
	grid-column: 1 / -1;
}

.registro-accesos-campo {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
}

.registro-accesos-formulario--solo-placeholders .registro-accesos-campo {
	gap: 0;
}

.registro-accesos-campo__label {
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 700 !important;
	color: rgba(205, 202, 178, 0.9);
	letter-spacing: 0.04em;
	line-height: 1.3;
}

.registro-accesos-campo__label--sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.registro-accesos-req {
	color: var(--ra-crema-muted);
	text-decoration: none;
	font-weight: 700;
	margin-left: 0.08em;
}

.registro-accesos-campo__input {
	width: 100%;
    min-height: 51px;
    padding: 0.65rem 0.85rem;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    color: #cdcab2;
    background: #454545;
    border: 1px solid #cbcab2;
    border-radius: 0;
    transition: none;
}

.registro-accesos-formulario--solo-placeholders .registro-accesos-campo__input::placeholder {
	font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    color: #cdcab2;
}

.registro-accesos-campo__input::placeholder {
	font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    color: #cdcab2;
}

.registro-accesos-campo--error .registro-accesos-campo__input {
	border-color: #FF9A9C;
}

.registro-accesos-campo--error .registro-accesos-campo__input::placeholder {
	color: #FF9A9C;
}

.registro-accesos-campo__error {
	display: block;
	margin-top: 0.35rem;
	font-size: 14px;
	line-height: 1.3;
	color: #FF9A9C;
}

.registro-accesos-campo__error[hidden] {
	display: none;
}

/* Consentimiento: recuadro alineado al formulario de captura o al bloque PDF (paso 3) */
.registro-accesos-consent {
	grid-column: 1 / -1;
	margin-top: 0.25rem;
	margin-bottom: 0.15rem;
	padding: 1rem 0rem;
	border: none;
	background: transparent;
}

.registro-accesos-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	cursor: pointer;
    font-size: 14px;
    line-height: 21px;
    color: #cdcab2;
    font-weight: 400;
    letter-spacing: 0px;
}

.registro-accesos-consent__input {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 0.1rem;
	accent-color: var(--ra-crema);
	cursor: pointer;
	border-radius: 0;
}

.registro-accesos-consent__text {
	flex: 1;
	position: relative;
    top: -3px;
}

/* --- Paso 3: PDF --- */

.registro-accesos-paso3-form {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 0.35rem;
}

.registro-accesos-pdf-marco {
	position: relative;
	width: 100%;
	margin-bottom: 0.55rem;
	border-radius: 0;
	border: 1px solid var(--ra-caja-borde);
	background: #454545;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: min(50vh, 420px);
	min-height: 260px;
	-webkit-overflow-scrolling: touch;
}

/* Paso 3: visor PDF más ancho que el panel (600px), centrado en pantalla */
.registro-accesos-paso-3 .registro-accesos-cuerpo,
.registro-accesos-paso-3 .registro-accesos-paso3-form {
	overflow: visible;
}

.registro-accesos-paso-3 .registro-accesos-pdf-marco {
	--ra-pdf-marco-ancho: min(880px, calc(100vw - 4rem));
	width: var(--ra-pdf-marco-ancho);
	max-width: var(--ra-pdf-marco-ancho);
	margin-left: auto;
	margin-right: auto;
	left: 50%;
	transform: translateX(-50%);
}

.registro-accesos-pdf-marco.is-pdf-leido {
	border-color: var(--ra-caja-borde);
}

.registro-accesos-pdf-viewer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	padding: 0.5rem 0.35rem 1rem;
}

.registro-accesos-pdf-page {
	display: block;
	max-width: 100%;
	height: auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.registro-accesos-pdf-cargando {
	margin: 2rem 1rem;
	font-size: 14px;
	color: var(--ra-texto-medio);
	text-align: center;
}

.registro-accesos-pdf-scroll-aviso {
	margin: 0;
	padding: 0.65rem 0.75rem;
	font-size: 13px;
	line-height: 1.4;
	color: #cdcab2;
	text-align: center;
	background: rgba(0, 0, 0, 0.25);
	border-top: 1px solid var(--ra-caja-borde);
}

.registro-accesos-pdf-scroll-aviso[hidden] {
	display: none;
}

.registro-accesos-consent--bloqueado {
	opacity: 0.55;
}

.registro-accesos-consent--bloqueado .registro-accesos-consent__input {
	cursor: not-allowed;
}

.registro-accesos-pdf {
	display: block;
	width: 100%;
	height: min(50vh, 420px);
	min-height: 240px;
	border: 0;
	background: transparent;
}

.registro-accesos-pdf--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	padding: 1.25rem;
	font-size: 0.75rem;
	line-height: 1.55;
	color: var(--ra-texto-medio);
	text-align: center;
	letter-spacing: 0.02em;
}

.registro-accesos-paso3-form .registro-accesos-consent {
	grid-column: auto;
	margin-top: 0.15rem;
}

.registro-accesos-pdf-post-leyenda {
	margin: 1rem 0 0.35rem;
    padding: 0 0.25rem;
    font-size: 14px;
    line-height: 21px;
    color: #cdcab2;
    text-align: center;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0px;
    background: #555555;
    padding: 10px 8px;
}

/* --- Paso 4: QR --- */

.registro-accesos-qr {
	display: flex;
	justify-content: center;
	margin: 0.65rem auto 0.35rem;
}

.registro-accesos-qr__mock {
	display: block;
	width: min(188px, 50vw);
	height: min(188px, 50vw);
	background: transparent;
	background-image: none;
	border: 2px dashed rgba(205, 202, 178, 0.35);
	border-radius: 0;
	box-shadow: none;
}

.registro-accesos-qr__mock .registro-accesos-qr__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border: 0;
}

.registro-accesos-qr__mock:has(.registro-accesos-qr__img) {
	border: none;
}

.registro-accesos-qr-leyenda {
    font-size: 16px;
    color: #CDCAB2;
    margin: 0;
    line-height: 21px;
    letter-spacing: 0px;
    font-weight: 400;
    text-align: center;
}

/* --- Botones --- */

.registro-accesos-paso-2 .registro-accesos-acciones {
	margin-top: 1.1rem;
	padding-bottom: 0.75rem;
}

.registro-accesos-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: stretch;
	align-items: stretch;
	margin-top: 0.5rem;
}

.registro-accesos-acciones--centrado {
	justify-content: center;
}

.registro-accesos-acciones--bloque {
	flex-direction: column;
	align-items: stretch;
}

.registro-accesos-acciones--bloque .registro-accesos-btn {
	width: 560px;
	max-width: calc(100% - 40px);
	margin: 0 auto;
	margin-top: 50px;
	font-size: 20px;
	line-height: 23px;
	font-weight: 700;
	letter-spacing: 0;
	opacity: 1;
	margin-bottom: 50px;
}
.registro-accesos-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1rem;
	font-size: 0.625rem;
	font-weight: 700;
	font-family: inherit;
	border-radius: 5px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
	letter-spacing: 0.06em;
}

.registro-accesos-btn--primario {
	background: var(--ra-crema);
	color: var(--ra-negro-texto);
	border-color: var(--ra-crema);
	width: 100%;
}

.registro-accesos-btn--primario:hover {
	background: var(--ra-crema-hover);
	border-color: var(--ra-crema-hover);
}

/* Continuar paso 1: gris por defecto; crema con clase .enabled (website.js) */
.registro-accesos-paso-1 #continuar.registro-accesos-btn--primario:disabled,
.registro-accesos-paso-1 #continuar.registro-accesos-btn--primario:not(.enabled) {
	cursor: not-allowed;
	color: #454545;
	background: #767676 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-1 #continuar.registro-accesos-btn--primario.enabled {
	cursor: pointer;
	color: #454545;
	background: #CDCAB2 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-1 #continuar.registro-accesos-btn--primario.enabled:hover {
	background: var(--ra-crema-hover, #c4c1a8) !important;
}

/* Continuar paso 2: mismo criterio que paso 1 (gris / .enabled) */
.registro-accesos-paso-2 #continuar.registro-accesos-btn--primario:disabled,
.registro-accesos-paso-2 #continuar.registro-accesos-btn--primario:not(.enabled) {
	cursor: not-allowed;
	color: #454545;
	background: #767676 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-2 #continuar.registro-accesos-btn--primario.enabled {
	cursor: pointer;
	color: #454545;
	background: #CDCAB2 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-2 #continuar.registro-accesos-btn--primario.enabled:hover {
	background: var(--ra-crema-hover, #c4c1a8) !important;
}

/* Continuar paso 3: gris hasta PDF leído + políticas aceptadas */
.registro-accesos-paso-3 #continuar.registro-accesos-btn--primario:disabled,
.registro-accesos-paso-3 #continuar.registro-accesos-btn--primario:not(.enabled) {
	cursor: not-allowed;
	color: #454545;
	background: #767676 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-3 #continuar.registro-accesos-btn--primario.enabled {
	cursor: pointer;
	color: #454545;
	background: #CDCAB2 !important;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-3 #continuar.registro-accesos-btn--primario.enabled:hover {
	background: var(--ra-crema-hover, #c4c1a8) !important;
}

/* Paso 4: continuar siempre con estilo primario */
.registro-accesos-paso-4 .registro-accesos-acciones--bloque .registro-accesos-btn--primario {
	background: #CDCAB2 !important;
	color: #454545;
	cursor: pointer;
	border: 0;
	opacity: 1;
}

.registro-accesos-paso-4 .registro-accesos-acciones--bloque .registro-accesos-btn--primario:hover {
	background: var(--ra-crema-hover, #c4c1a8) !important;
	color: #454545;
	border: 0;
	opacity: 1;
}

.registro-accesos-btn--secundario {
	background: transparent;
	color: rgba(205, 202, 178, 0.88);
	border-color: rgba(205, 202, 178, 0.35);
	width: 100%;
}

.registro-accesos-btn--secundario:hover {
	border-color: rgba(205, 202, 178, 0.65);
	color: #cdcab2;
}

.registro-accesos-btn--fantasma {
	background: transparent;
	color: var(--ra-texto);
	border: 1px solid rgba(205, 202, 178, 0.22);
}

.registro-accesos-btn--fantasma:hover {
	border-color: rgba(205, 202, 178, 0.45);
}

.registro-accesos-btn--ancho {
	min-width: 100%;
}


/* PASO 1 */
.paso_uno .tabs {
    display: none; /* solo se verán en <1024px */
}

.paso_uno .container {
    display: flex;
    gap: 34px;
    transition: 0.3s;
    width: 100%;
    max-width: 100%;
        /*background: #454545;*/
    padding: 35px;
}

.paso_uno .block {
    flex: 1;
    transition: all 0.3s ease;
    max-width: 100%;
    z-index: 9;
}

.paso_uno .block.active {
    flex: 2;
}

.paso_uno .block.small {
    flex: 0.8;
}

.paso_uno .title {
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    line-height: 23px;
    display: inline-block;
    color: #767676;
    transition: all .3s ease-in-out;
    border-bottom: 1px solid transparent;
    margin: 0px;
}
.paso_uno .block.active h3,
.paso_uno .title:hover {
    border-bottom: 1px solid #CDCAB2;
    color: #CDCAB2;
}
.paso_uno .items {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.paso_uno .item {
    padding: 10px;
    border-radius: 0px;
    cursor: pointer;
    transition: 0.2s;
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #767676;
    border: 1px solid transparent;
    transition: all .3s ease-in-out;
    font-size: 20px;
    font-weight: 600;
    flex-direction: column;
    gap: 20px;
}

.paso_uno .item:hover,
.paso_uno .item.selected,
.paso_uno label.item:has(input[name="ra_centro"]:checked) {
	color: #CDCAB2;
	border: 1px solid #CDCAB2;
}

.paso_uno .item:hover span.oficina img.pingray,
.paso_uno .item:hover span.empresa img.pingray{
	display: none;
}
.paso_uno .item:hover span.oficina img.mappin,
.paso_uno .item:hover span.empresa img.mappin{
	display: block;
}

.contenedor_registro_visitas{
	position: relative;
	margin-top: 120px;
	padding-top: 20px;
}

/*.admin-bar .contenedor_registro_visitas {
	margin-top: calc(120px + 32px);
}*/
.contenedor_registro_visitas,
.contenedor_registro_visitas *{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.contenedor_registro_visitas:before,
.paso_uno .item.oficina_uno:before,
.paso_uno .item.oficina_dos:before,
.paso_uno .item.factoria_uno:before,
.paso_uno .item.factoria_dos:before,
.paso_uno .item:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/fondo.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.1; /* Ajusta la opacidad */
  z-index: -1;
}
.contenedor_registro_visitas:after,
.paso_uno .item.oficina_uno:after,
.paso_uno .item.oficina_dos:after,
.paso_uno .item.factoria_uno:after,
.paso_uno .item.factoria_dos:after,
.paso_uno .item:after{
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #454545;
  opacity: 1; /* Ajusta la opacidad */
  z-index: -11;
}
.paso_uno .item.oficina_uno:before{
	background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/oficina_uno.jpg");
	opacity: 0.15; /* Ajusta la opacidad */
}
.paso_uno .item.oficina_dos:before{
	background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/oficina_dos.jpg");
	opacity: 0.15; /* Ajusta la opacidad */
}
.paso_uno .item.factoria_uno:before{
	background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/factoria_uno.jpg");
	opacity: 0.15; /* Ajusta la opacidad */
}
.paso_uno .item.factoria_dos:before{
	background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/factoria_dos.jpg");
	opacity: 0.15; /* Ajusta la opacidad */
}

/* Ocultar checkbox nativo */
.registro-accesos-consent__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Crear el checkbox visual */
.registro-accesos-consent__label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  position: relative;
}

.registro-accesos-consent__label::before {
  content: "";
width: 16px;
height: 16px;
border-radius: 3px !important;
  border: 1px solid #CDCAB2;   /* borde */
  background: transparent;      /* fondo transparente */
  border-radius: 0px;           /* opcional */
  box-sizing: border-box;
  transition: background 0.2s ease, border-color 0.2s ease;
}

/* Estado seleccionado */
.registro-accesos-consent__input:checked + .registro-accesos-consent__text::before,
.registro-accesos-consent__label:has(.registro-accesos-consent__input:checked)::before {
  background: #CBCAB2;          /* fondo al seleccionar */
  border-color: #CBCAB2;
}

p.registro-accesos-subtitulo.sub {
    font-size: 16px;
    font-weight: 400;
    margin: 0px;
}
.registro-accesos-qr-container {
    min-height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.paso_uno .item span.empresa{
	/*text-transform: uppercase;*/
	font-size: 26px;
    font-weight: 700;
}

.div_horario_registros .generales_visita_fecha{
	width:30%;
}

.div_horario_registros .generales_visita_estado{
	width:10%;
}

.div_departamentos_registro th {
	width:auto;
}

.page-template-template_listado_visitas > .vc_container {
	max-width:1400px;
}

.contenido_panel_listado_registros .fila_botones_1 a {
	margin-bottom:10px;
}

.registro-accesos-alerta {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 4px;
	font-size: 14px;
}

.registro-accesos-alerta--error {
	background: #fdecea;
	color: #611a15;
	border: 1px solid #e8b4b0;
}

.registro-accesos-paso-1 .registro-accesos-centro-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.registro-accesos-paso-1 .item {
	cursor: pointer;
}

.contenido_panel_listado_registros .fila_botones_x a:first-child {
	margin-bottom:5px;
}

.bloque_estado_visitas input[type='radio']:after,
.bloque_estado_visitas input[type='checkbox']:after {
	width: 15px;
	height: 15px;
	border-radius: 15px;
	top: -2px;
	left: -1px;
	position: relative;
	background-color: #F5F4EE;
	content: '';
	display: inline-block;
	visibility: visible;
	border: 1px solid #454545;
}

.bloque_estado_visitas input[type='radio'],
.bloque_estado_visitas input[type='checkbox'] {
	-webkit-appearance: none;
	appearance: none;
	width: 15px;
	height: 15px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	vertical-align: middle;
}

.bloque_estado_visitas input[type='radio']:checked:after,
.bloque_estado_visitas input[type='checkbox']:checked:after {
	width: 15px;
	height: 15px;
	border-radius: 15px;
	top: -2px;
	left: -1px;
	position: relative;
	background-color: #C3A860;
	content: '';
	display: inline-block;
	visibility: visible;
	border: 1px solid #C3A860;
}

.paso_uno .block{
	position: relative;
}

.paso_uno #oficinas.block:after {
    content: '';
    position: absolute;
    height: 300px;
    width: 1px;
    background-color: #767676;
    top: calc(50% - 132px);
    right: -18px;
}

.abrir_menu,
.cerrar_menu{
	display: none;
}
.abrir_menu img,
.cerrar_menu img{
	width: 18px !important;
}
.paso_uno #oficinas .item {
    min-height: 125px;
}
.paso_uno #factorias .item {
    min-height: 317px;
}
.paso_uno .active .item span{
	color: #CDCAB2 ;
}
select.registro-accesos-campo__input {
  scrollbar-width: thin;              /* Firefox */
  scrollbar-color: #999 transparent;  /* Firefox */
}
span.oficina {
    display: flex;
    gap: 7px;
    align-items: center;
}
/* Chrome, Edge, Safari */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("/wp-content/themes/grupoargenta/images/centros_visitas/arrow.svg") !important; /* tu icono */
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important; /* mueve la flecha */
  background-size: 24px !important;

  padding-right: 2.5rem; /* espacio para la flecha */
}

select.registro-accesos-campo__input::-webkit-scrollbar {
  width: 6px;
}

select.registro-accesos-campo__input::-webkit-scrollbar-track {
  background: transparent;
}

select.registro-accesos-campo__input::-webkit-scrollbar-thumb {
  background-color: #cdcab2;
  border-radius: 10px;
}

.paso_uno .item span.empresa img {
    height: 30px;
}
.paso_uno  .item span img.mappin{
	display: none;
}
.paso_uno .item span img.pingray{
	display: block;
}
.paso_uno .active .item span img.pingray{
	display: none;
}
.paso_uno .active .item span img.mappin{
	display: block;
}