
@font-face {
    font-family: 'Metropolis';
    src: url('fonts/Metropolis-Regular.eot');
    src: url('fonts/Metropolis-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/Metropolis-Regular.woff2') format('woff2'),
        url('fonts/Metropolis-Regular.woff') format('woff'),
        url('fonts/Metropolis-Regular.svg#Metropolis-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
	/* -- 1. COLORES DE MARCA (ENCUVAL) -- */
	--color1:      #2088ff; /* Azul Primario (Acción) */
	--color1-dark: #0056e1;
	--color2:      #001659;

	/* -- 2. NEUTROS Y SUPERFICIES (DESIGN SYSTEM) -- */
	--blanco:      #ffffff;
	--blanco-75:   rgba(255, 255, 255, 0.75);
	--blanco-50:   rgba(255, 255, 255, 0.5);
	--blanco-25:   rgba(255, 255, 255, 0.25);
	--blanco-10:   rgba(255, 255, 255, 0.1);

	--negro:       #121826; /* Negro Azulado (Fondo Paneles) */
	--negro-90:    rgba(18, 24, 38, 0.9);
	--negro-75:    rgba(18, 24, 38, 0.75);
	--negro-50:    rgba(18, 24, 38, 0.5);
	--negro-10:    rgba(18, 24, 38, 0.1);

	--gris:        #94a3b8; /* Slate / Muted */
	--gris-dark:   #0b1120; /* Deep Background */
	--gris-light:  #cbd5e1; /* Bright Slate text */

	/* -- 3. RECURSOS Y SEMÁFORO (DASHBOARD) -- */
	--checked:     #00ca6f;
	--excelente:   #3c9b04; /* Verde Dashboard (Success Alt) */
	--bueno:       #efc135; /* Amarillo Bueno (Warning) */
	--regular:     #f9631e; /* Naranja Regular */
	--malo:        #bc0000; /* Rojo Malo (Danger) */
	
}


* {
	margin: 0;
	padding: 0;
}

html {
	padding: 0;
	margin: 0;
}

body {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	display: block;
	font-family: 'Metropolis', verdana, arial, sans-serif;
	background: #eaeaea;
	line-height: 1;
	font-size: 14px;
}

body.noscroll {
	overflow: hidden;
}


.loadingform img {
	display: block;
	margin: 10px auto;
	max-width: 50px;
}

#alerta {
	display: block;
	text-align: center;
	padding: 12px 4px;
	margin-bottom: 0px;
	background: #ff7315;
	color: #ffffff;
	font-size: 15px;
	border-radius: 4px;
}

#error {
	display: block;
	text-align: center;
	padding: 12px 4px;
	margin-bottom: 10px;
	background: #ff0000;
	color: #ffffff;
	border-radius: 4px;
}

#exito {
	display: block;
	text-align: center;
	padding: 12px 4px;
	margin-bottom: 10px;
	background: #4ABD09;
	color: #ffffff;
	border-radius: 4px;
}

#exito.gracias {
	font-size: 19px;
	font-weight: 700;
	padding: 15px 4px;
}

.version {
	position: fixed;
	bottom: 4px;
	right: 4px;
	z-index: -1;
	font-size: 12px;
	color: #444;
}

form {
	display: block;
	margin: 40px auto;
	padding: 20px;
	width: 84%;
	max-width: 520px;
	background: var(--gris-light);
	border: var(--color1) 5px solid;
	border-radius: 8px;
	
 	-webkit-box-shadow: 	0 2px 26px -1px rgba(0,0,0, 0.2);
		-moz-box-shadow: 	0 2px 26px -1px rgba(0,0,0, 0.2);
		box-shadow: 		0 2px 26px -1px rgba(0,0,0, 0.2); 
}

form.ancho {
	max-width: 680px;
}

form input, form select, form textarea, input.codigo {
	position: relative;
	z-index: 0;
	width: 95.5%;
	display: block;
	padding: 7px 5px;
	border-radius: 5px;
	border: 1px solid #929292;
	background: #eaeaea;
	margin: 5px 0 15px 0;
}

input.codigo { width: 100px; margin: 0;}

form label.muestrareservaciones {
	display: inline-block;
	background: #eaeaea;
	padding: 4px 10px;
	margin: 5px 20px 15px 0;
	cursor: pointer;
}

form label.checkbox {
	display: inline-block;
	background: #eaeaea;
	padding: 2px 15px 6px 5px;
	margin: 5px 20px 15px 0;
	cursor: pointer;
}

form label.checkbox input[type="checkbox"], form label.checkbox input[type="radio"] {
	display: inline-block;
	background: #eaeaea;
	width: 30px;
	transform: scale(1.1);
}


form input[type="checkbox"], form input[type="radio"] {
	width: 17px;
	height: 17px;
	display: inline-block;
	vertical-align: bottom;
	margin: 0 5px 0 0;
}


form input[type="submit"] {
	display: block;
	margin: 25px auto;
	width: auto;
	min-width: 250px;
	background: var(--color1-dark);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	padding: 15px 30px;
	
	border: solid #fff 2px;
	border: 2px solid #fff;
	border-radius: 8px;
	
	-webkit-box-shadow: 	0 2px 16px -1px rgba(0,0,0, 0.3);
		-moz-box-shadow: 	0 2px 16px -1px rgba(0,0,0, 0.3);
		box-shadow: 		0 2px 16px -1px rgba(0,0,0, 0.3);
		
}

form select {
	display: inline-block;
	padding: 5px 12px;
	width: 98%;
}


.encuestabox input, .encuestabox select {
	margin: 3px 0;
	width: 99.5%;
}

.encuestabox b {
	display: block;
	margin: 7px 0 -12px 0;
	font-size: 15px;
	padding: 0px 0px 0px 4px;
	border-left: 4px solid #888;
}

.labelbox {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.encuestabox label.encuestamultiple {
	display: inline-block;
	vertical-align: top;
	background: var(--negro-10);
	border: #777 1px solid;
	padding: 12px 4px 8px 4px;
	text-align: center;
	border-radius: 4px;
	opacity: 0.7;
	font-weight: 400;
}

.encuestabox label.encuestamultiple.activo {
	background: var(--color1-dark);
	color: #fff;
	border: var(--blanco) 1px solid;
	opacity: 1;
	font-weight: 600;
}

.encuestabox label.encuestamultiple input {
	margin: -2px 0 0px 0;
	display: none;
	vertical-align: top;
}

.boxpregunta {
	display: block;
	background: none;
	padding: 2px 4px 0 4px;
	margin-bottom: 10px;
}

.boxpregunta.multiple {
	margin-bottom: 10px;
}

.verificar_numero {
	display: none;
	position: absolute;
	width: 92%;
	height: 90%;
	top: 0;
	left: 0;
	background: rgba(0,0,0, 0.95);
	z-index: 1000;
	padding: 4%;
}

.verificar_numero .centrado {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 60%;
}


.verificar_numero .respuesta {
	display: block;
	width: 96%;
	margin: 0 auto;
}

.verificar_numero .cerrar {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1001;
	width: 20px;
	cursor: pointer;
}

form.reservar_form input.codigo_cr {
	display: inline-block;
	width: 120px;
}

.verificar_cr {
	display: inline-block;
	text-align: center;
	color: var(--color1);
	padding: 3px;
	background: rgba(0,0,0, 0.9);
	cursor: pointer;
}

.comprobar_robot {
	display: block;
	text-align: center;
	padding: 5px;
	background: rgba(0,0,0, 0.6);
}

.enviarsms, .enviarsms_instalacion {
	background: var(--color1);
	color: #ffffff;
	padding: 8px 15px;
	margin: 10px 0;
	font-size: 13px;
}

.hidetopflotante {
    transform: translateY(-70px);
	transition: all 0.5s ease;
}

.shadowimg {
	-webkit-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.2);
	   -moz-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.2);
		    box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.2);
}

.bgfull {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

.bgfull-fixed {
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

#loader {
	display: none;
}

.loadingform {
	margin: 15px 0;
	text-align: center;
}

.loadingform img {
	width: 40px;
	height: 40px;
}

.bgfixed {
	position: fixed;
	z-index: -1;
}

.logoencuesta {
	display: block;
	margin: 20px auto;
	width: 70%;
	max-width: 200px;
}

.logoencuesta img {
	width: 100%;
}

.botones_pasos_cr {
	text-align: right;
}

button.botones_pasos_cr, .botones_pasos_cr span, input.sending_control {
	display: inline-block;
	background: var(--color1);
	padding: 10px 15px;
	cursor: pointer;
	border: 0px;
	color: #ffffff;
	margin-top: 5px;
}

input.sending_control {
	padding: 9px 15px;
}

.botones_paso2 {
	display: inline-block;
}

.vaceptotexto {
	display: block;
	padding: 10px 0 0 0;
	font-size: 13px;
	text-align: left;
	margin: 3px 0;
	color: #cccccc;
}

#resumen_cr {
	display: block;
	margin: 0 0 20px 0;
	padding: 10px;
	background: rgba(0,0,0, 0.7);
	text-align: left;
}

.resumen_cr {
	display: inline-block;
	margin: 0 2% 0 0;
	color: var(--color1);
	padding: 5px 10px 5px 0;
}

.resumen_cr.largo {
	width: 50%;
}

.resumen_cr.corto {
	width: 28%;
}

.resumen_cr span {
	color: #ffffff;
}


/* LOADER */

.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
  transform: scale(0.5);
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #000;
  border-color: #000 transparent #000 transparent;
  animation: lds-dual-ring 0.5s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.bordervacios {
	/* color: #ffffff; */
	background: #fbdede;
	border: 0px;
}

.boxpregunta.bordervacios b {
	color: #ff0000;
	border-left: 3px solid #ff0000;
}

.resumen_cr.bordervacios {
	color: #ffffff;
	background: #ff0000;
	border: 0px;
}

body.pdf div {
	font-family: verdana;
}

img.error_codigo {
	display: inline-block;
	padding: 3px;
	background: #ff0000;
	color: #fff;
	font-size: 12px;
	margin-left: 15px;
}

img.exito_codigo {
	display: inline-block;
	padding: 3px 5px;
	background: #247b0d;
	color: #fff;
	font-size: 12px;
	margin-left: 10px;
}

form.reservar_form a.dld_repetir, a.dld_repetir {
	display: inline-block;
	background: var(--color1);
	padding: 10px 15px;
	cursor: pointer;
	border: 0px;
	color: #ffffff;
	margin-top: 5px;	
}

#premios {
	position: relative;
	display: block;
	width: 95%;
	padding-bottom: 95%;
	margin: 20px auto;
	background: #eaeaea;
	overflow: hidden;
	border: solid 3px #777; 
	
	-webkit-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
	   -moz-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
		    box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
}

#premios .box {
	display: inline-block;
	position: absolute;
	width: 100%;
	padding-bottom: 100%;
	text-align: center;
}

#premios .box.null {
	background: #ff0000;
	color: #fff;
	font-weight: bold;
	z-index: 10;
}


#premios .box.null .txtnull {
	position: absolute;
	top: 15%;
}


.box.off10clem { background: #ccc; }
.box.off15clem { background: #777; color: #fff; }
.box.nchhiex { background: blue;  color: #fff;}
.box.off10hook { background: #222;  color: #fff;}
.box.off15hook { background: #ffcc33; }


.boxbotonpremio {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	width: 90%;
	height: 90%;
	padding: 5%;
	background: rgba(0,0,0, 0.8);
	color: #fff;
}

.boxbotonpremio .clic {
	position: absolute;
	width: 100%;
	text-align: center;
	top: 15%;
	left: 0;
	font-size: 15px;
	font-weight: 700;
}

.boton_girar {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	display: inline-block;
	background: var(--color1);
	padding: 25px;
	cursor: pointer;
	border: 0px;
	color: #ffffff;
	font-size: 20px;
	border-radius: 10px;
	font-weight: 700;
	-webkit-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
	   -moz-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
		    box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.3);
}


.promedio {
	position: fixed;
	background: red;
	padding: 15px;
	color: white;
	top: 50%;
}

.botonverpremios {
	display: block;
	padding: 10px 20px;
	margin: 0 auto;
	width: 250px;
	background: #000000;
	color: #ffffff;
	text-align: center;
	border-radius: 7px;
	font-size: 12px;
}

.info_inicio, .boxverpremios {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color2);
	display: block;
	z-index: 1000;
	overflow-y: auto;
	color: var(--blanco);
}

.boxverpremios {
	display: none;
}

.info_inicio .centro, .boxverpremios .centro {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 15px;
	text-align: center;
}

.instrucciones {
	display: block;
	max-width: 85vw;
	max-height: 70vh;
	border-radius: 15px;
	border: 3px solid var(--color1);
	-webkit-box-shadow: 0px 5px 25px 5px rgba(0,0,0,0.3);
	   -moz-box-shadow: 0px 5px 25px 5px rgba(0,0,0,0.3);
		    box-shadow: 0px 5px 25px 5px rgba(0,0,0,0.3);

}

.boton-responder {
	display: inline-block;
	padding: 12px 15px;
	background: #222222;
	color: #ffffff;
	text-align: center;
	border-radius: 7px;
}

.imagenpremio {
	display: block;
	margin: 0px auto;
	max-width: 94%;
	max-height: 94%;
}

.cerrar {
	position: fixed;
	top: 15px;
	right: 15px;
	width: 34px;
	padding: 10px;
	background: var(--color1);
	border-radius: 100vw;
}


.tarjeta-fidelidad {
	display: block;
	width: 92%;
	margin: 10px auto;
}



.grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}















/* -------------------------------- DISPLAY NONE  ----------------------------- */
.oculto, #hide, #redirige, #vacios {
	display: none;
}

.oculto, #hide, #redvacios, #subir, #redirige, #vacios {
	display: none;
}



.mostrar, .abrir-solo, form label, form input[type="submit"] { 
	cursor: pointer; 
}






/* RESPONSIVOS */
@media only screen and (max-width: 680px) {

	.encuestabox label.encuestamultiple {
		width: auto;
		padding: 8px 5px;
		font-size: 12.5px;
	}
	
}


/* RESPONSIVOS */
@media only screen and (max-width: 720px) {

	form.reservar_form {
		width: 94%;
		padding: 3%;
		margin: 25% auto;
		text-align: left;
	}

	.reservar_form .opcion_crform {
		display: block;
		width: 99%;
	}

	.reservar_form .alertas {
		width: 94%;
	}

	.reservar_form .opcion_crform.corto {
		display: inline-block;
		width: 46.5%;
		vertical-align: top;
	}
	
	form.reservar_form {
		text-align: justify;
	}
	
	#resumen_cr {
		margin: 0 0 20px 0;
	}
		
	.resumen_cr.largo, .resumen_cr.corto {
		width: 92%;
		margin: 1% 0;
	}

	
}
