/* style.css */

/* ================================
   Reseteo de Estilos
   ================================ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
}


body {
  background-color: #000000;
  background-image: url("https://app.clubberimbau.com.mx/img/fondo2.jpg");
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	font-family: 'GloberRegular', sans-serif;
}
/*
body {
  background-color: #000000;
  background-image: url("https://app.clubberimbau.com.mx/img/fondo.jpg");
  background-position: center center;
  background-attachment: scroll;
  background-size: cover;
  background-repeat: no-repeat;
  font-family: 'GloberRegular', sans-serif;
  min-height: 100vh; 
}

*/
/* ================================
   Tipografías Personalizadas
   ================================ */

/* styles.css */

@font-face {
	font-family: 'GloberBlackItalic';
	font-weight: 900;
	font-style: italic;
	font-display: swap;
	src: local('GloberBlackItalic'),
		url('fonts/GloberBlackItalic.woff2') format('woff2'),
		url('fonts/GloberBlackItalic.woff') format('woff'),
		url('fonts/GloberBlackItalic.ttf') format('truetype');
}



@font-face {
	font-family: 'GloberRegular';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url('fonts/GloberRegular.woff2') format('woff2'),
		url('fonts/GloberRegular.woff') format('woff'),
		url('fonts/GloberRegular.ttf') format('truetype');
}

@font-face {
	font-family: 'GloberSemiBold';
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	src: url('fonts/GloberSemiBold.woff2') format('woff2'),
		url('fonts/GloberSemiBold.woff') format('woff'),
		url('fonts/GloberSemiBold.ttf') format('truetype');
}

@font-face {
	font-family: 'MichromaRegular';
	font-weight: normal;
	font-style: normal;
	font-display: swap;
	src: url('fonts/MichromaRegular.woff2') format('woff2'),
		url('fonts/MichromaRegular.woff') format('woff'),
		url('fonts/MichromaRegular.ttf') format('truetype');
}

/* Estilos por defecto */
body {
	font-family: sans-serif;
	/* Fuente de fallback */
}

/* Estilos cuando las fuentes están cargadas */
body.fonts-loaded {
	font-family: 'GloberRegular', sans-serif;
}

body.fonts-loaded h1 {
	font-family: 'GloberBlackItalic', sans-serif;
}

body.fonts-loaded .semi-bold-text {
	font-family: 'GloberSemiBold', sans-serif;
}

body.fonts-loaded .michroma-text {
	font-family: 'MichromaRegular', sans-serif;
}

/* Estilos si las fuentes fallan al cargar */
body.fonts-failed {
	font-family: 'GloberRegular', sans-serif;
}

/* ================================
   Estilos de Texto
   ================================ */
h1,
h2,
h4 {
	text-align: center;
	margin-top: 5%;
	margin-bottom: 5%;
	color: white;
}

h1 {
	font-size: 1.6rem;
}

h2 {
	font-size: 1.3rem;
}

h4 {
	font-size: 1.1rem;
}

h3 {
	font-family: 'GloberBlackItalic';
	font-weight: 900;
	font-style: italic;
}

p {
	font-family: 'GloberRegular', sans-serif;
	font-size: 0.95rem;
	line-height: 1.35;
	margin-top: 5%;
	margin-bottom: 10%;
	color: white;
}

/* ================================
   Contenedores
   ================================ */
#contenedor {
	width: 100%;
	padding: 0px 0px 50px 0px;
}

.contenido {
	width: 90%;
	margin: 20px auto;
	padding: 20px;
}

/* ================================
   Imágenes Responsivas
   ================================ */
img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ================================
   Media Queries
   ================================ */
@media (max-width: 768px) {
	h1 {
		font-size: 1.4rem;
	}

	p {
		font-size: 0.9rem;
	}
}

/* ================================
   Saludo
   ================================ */

/* Contenedor para el saludo */
.saludoHoracontainer {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px 10px;
	background-color: transparent;
}

/* Estilo del H2 para el saludo dinámico */
.saludoHora {
	font-size: 1rem;
	font-family: 'MichromaRegular';
	text-shadow: 3px 3px 5px rgb(0 0 0 / 90%);
	text-transform: uppercase;
	color: white;
	text-align: center;
}


/* ================================
   Botonera
   ================================ */

/* Contenedor para los botones */
.button-container {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 20px;
	padding: 10px 10px 30px 10px
}

/* Columnas para los botones */
.button-column {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Estilo general de los botones */
.custom-button {
	background-color: #00A650;
	/* Color verde de los botones */
	border: none;
	border-radius: 8px;
	width: 130px;
	/* Ancho forzado */
	height: 85px;
	/* Altura forzada */
	font-family: 'GloberRegular', sans-serif;
	/* Tipo de letra específico */
	font-size: 0.75rem;
	color: white;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.3s ease;
	text-transform: uppercase;
	/* Texto en mayúsculas */
	box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.30);

}

.custom-button img {
	width: 36px;
	height: auto;
	margin-bottom: 10px;
}

/* Efecto hover */
.custom-button:hover {
	background-color: #00A650;
	/* Cambia el color cuando el usuario pasa el mouse */
}

/* Efecto cuando el botón es presionado */
.custom-button:active {
	background-color: #1e7e34;
	/* Color cuando se hace clic */
}

/* ================================
   Pie
   ================================ */

/* Contenedor del link */
.footer-link {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px 20px 30px 20px;
	background-color: transparent;
	/* Fondo transparente para que combine con el diseño */
}

/* Estilos del enlace */
.footer-text {
	color: #FFFC00 !important;
	/* Color amarillo */
	font-family: 'GloberRegular', sans-serif;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	/* Sin subrayado */
	transition: color 0.3s ease;
	/* Transición para el hover */
}

/* Efecto hover */
.footer-text:hover {
	color: #ffeb3b;
	/* Color amarillo más claro al pasar el mouse */
}


/* ///////////////////////////////////////////////*/

/* QR Formato */

.qr-container {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ffffff;
	/*border-radius: 50%;*/
	width: 80vw;
	height: 80vw;
	margin: 30px auto;
	overflow: hidden;
	position: relative;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Estilo para el contenedor del QR */
#qrcode {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

/* Asegúrate de aplicar esto al elemento generado (canvas o table) */
#qrcode canvas,
#qrcode table {
	max-width: 90%;
	max-height: 90%;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 0.5rem; /* opcional si quieres esquinas más suaves */
}

/* Responsividad para dispositivos más pequeños */
@media (max-width: 400px) {
    
	.qr-container {
		width: 80vw;
		height: 80vw;
		margin: 20px auto;
		/*border-radius: 0% !important;*/
	}

	#qrcode {
		width: 70%;
		height: 70%;
	}
}


.tituloControlQR {
	font-family: 'MichromaRegular';
	color: white;
	font-size: 18px;
	text-align: center;
	padding: 25px 30px 1px 30px;
	margin: 0;
}

.textoControlQR {
	font-family: 'GloberRegular';
	color: white;
	font-size: 16px;
	text-align: center;
	padding: 10px 30px 20px 30px;
	margin: 0;
}

.filaSocio {
	display: flex;
	align-items: center;
	padding: 5px;
	max-width: 94%;
	margin: 10px auto 30px auto;
}

.profile-img {
	width: 120px;
	height: 120px;
	border-radius: 6px;
	margin-right: 15px;
}

.text-container {
	display: flex;
	flex-direction: column;
}

.name {
	font-family: 'GloberBlackItalic';
	font-size: 26px;
	font-weight: bold;
	border-bottom: #ffeb3b;
	text-align: left;
	color: white;
	line-height: 36px;
}

.member-id {
	font-family: 'GloberBlackItalic';
	color: #ffeb3b;
	font-size: 18px;
	padding: 5px 0px 5px 0px;
	margin: 0;
	text-align: left;
}





/*//////////////////////////////////////////////////*/


/* Datos de la membresía */
.datosMembresia {
	width: 94%;
	text-align: center;
	margin: 20px auto;
}

.fotoSocio {
	width: 50vw;
	height: 50vw;
	border-radius: 8px;
	/* Redondeo leve en las esquinas */
	display: inline-block;
	/* Asegura que se mantenga el tamaño del bloque */
}

.datosMembresia h3 {
	font-family: 'GloberBlackItalic' !important;
	font-size: 32px !important;
	color: white;
	text-align: center;
	margin: 0px;
	padding: 20px 10px;
}

.datosMembresia p {
	font-size: 20px;
	color: #ffc107;
	text-align: center;
	margin: 0px;
	padding: 0px 10px 10px 10px;
}


/* Aplicar box-sizing solo a los elementos relevantes */
.saldoSocio,
.saldoSocio * {
	box-sizing: border-box;
}

/* Sección de saldo */

/* Estilo del contenedor de saldo */
.saldoSocio {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	background-color: #08763D;
	padding: 15px;
	border-radius: 8px;
	margin: 10px auto;
	max-width: 400px;
	/* Controla el tamaño en pantallas más grandes */
	width: 94%;
	/* Para pantallas móviles */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Contenedor del ícono */
.iconoSaldo {
	flex: 0 0 20%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Imagen del ícono */
.iconoSaldo img {
	max-width: 100%;
	height: auto;
	max-height: 50px;
	margin: 12px 5px 0px 5px;
}

/* Contenedor de la información de saldo */
.saldoInfo {
	flex: 0 0 80%;
	text-align: right;
}

.saldoInfo h3 {
	font-family: 'GloberBlackItalic';
	font-size: 32px;
	font-weight: bold;
	margin: 0;
	color: white;
	text-align: right;
}

/* Estilo del texto de saldo */
.saldoSocioTxt {
	font-size: 1em;
	margin: 0;
	opacity: 0.8;
	/* Para darle un poco menos de prioridad visual */
}

/* Texto de CFDI */
.mensajeCFDI {
	text-align: center;
	margin-bottom: 10px;
	font-size: 1em;
}

/* Lista de facturas */
.listaFactura {
	display: flex;
	justify-content: space-between;
	background-color: #333;
	padding: 10px;
	border-radius: 5px;
	margin-bottom: 10px;
}

.listaFactura:nth-child(even) {
	background-color: #555;
}

.descFactura p {
	margin: 7px 1px 3px 6px;
	color: #fff;
	font-size: 0.9em;
	font-family: 'GloberRegular';
}

.iconoZip img {
	width: 36px;
	height: 30px;
}

/* Responsive */
@media (max-width: 768px) {
	#contenedor {
		max-width: 100%;
		padding: 0px 0px 50px 0px;
	}

	.saldoSocio {
		flex-direction: column;
		text-align: center;
	}

	.iconoSaldo,
	.saldoInfo {
		margin-bottom: 10px;
	}
}

/* Formato Menu */

.menuRestaurante {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.menuRestaurante img {
	max-width: 94%;
	margin: 15px 0 6px 0;
	height: auto;
	display: block;
	border-radius: 8px;
}