

.msgInstruccion{
    margin-top: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 3rem;

}

.navideño {
    font-family: 'Candy Cane', cursive;
    font-size: 24px;
    color: #fcfcfc; /* Rojo brillante */
    text-shadow: 2px 2px 4px #000000; /* Sombra verde */
  }

.msgInstruccion span{
    
    display: block;
    font-size: xx-large;
    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-weight: bold;
}

.container label{
    font-size: large;
}



@font-face {
    font-family: 'Comex';
    src: url('/static/fonts/Comex-Bold_0.otf');
    font-weight: bold;
}

@font-face {
    font-family: 'Comex';
    src: url('/static/fonts/Comex-Medium_0.otf');
    font-weight: normal;
}

@font-face {
    font-family: 'Comex';
    src: url('/static/fonts/Comex-Light_0.otf');
    font-weight: 300;
}
body, html {
    margin: 0;
    padding: 0;
}

  
  
body{
    zoom: 0.67 !important;
    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    max-height: 100vh; /* Establece el mínimo alto del body para que sea igual a la altura de la ventana del navegador. */
    /*display: flex;
    flex-direction: column;*/
    
/*            background-image: url('/static/img/Fondo_hn.png');*/
}
.imagen1{
    background-image: url('/static/img/Fondo_be.png');
}
.imagen2{
    background-image: url('/static/img/Fondo_hn.png');
}
.imagen3{
    background-image: url('/static/img/Fondo_sv.png');
}
.imagen4{
    background-image: url('/static/img/background.png');
}
.imagen5{
    background-image: url('/static/img/background.png');
}
.banner_title{
    font-family: Comex;
    font-size: 60px;
    color: #ffd901;
    text-align: center;
    width: 80%;
    margin: 35px auto 20px auto;
}
.banner_text{
    color: #FFF;
    font-family: Comex;
    font-weight: normal;
    font-size: 38px;
    width: 80%;
    margin: 10px auto;
    text-align: center;
}
.banner_img{
    width: 90%;
    margin: 150px auto;
    display: block;
}
.main{
    display: flex;
    flex-wrap: wrap;
}
.banner{
    width: 33%;
}
.form{
    width: 33%;
    padding: 5px 15px;
    box-sizing: border-box;
    margin-bottom: 100px;
}
.form_label{
    color: #0a0a00;
    font-family: Comex;
    font-weight: normal;
    font-size: 16px;
}
.form_input{
    background-color: #FFF;
    width: 100%;
    border: none;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 20px;
    padding: 10px;
    box-sizing: border-box;
    color: #622030;
}
.form_input_error{
    border: 1px solid #d13100;
    margin-bottom: 3px;
}
.form_error{
    font-family: Comex;
    color: #d13100;
    display: block;
    margin-bottom: 15px;
    display: none;
}
.form_error_show{
    display: block;
}
.form_botton{
    color: #FFF;
    font-family: Comex;
    font-weight: normal;
    font-size: 20px;
    background-color: #3AA346;
    width: 50%;
    margin: 20px auto;
    padding: 10px 0;
    display: block;
    border-radius: 5px;
    border: none;
}
.form_botton:hover{
    background-color: #58BB43;
}
.disabled, .disabled:hover{
    background-color: #999;
}
.form_logo{
    display: block;
    margin: 0px auto;
    width: 230px;
}
.footer{
    width: 100%;
    background-color: #72dd80;
    background:linear-gradient(to right bottom, rgb(201, 141, 11) 30%, rgb(255, 251, 0) 70%);
    position: fixed;
    bottom: 0;
}
.logo_ppg{
    width: 60px;
    margin: 20px auto;
    display: block;
}
@media (max-width: 800px) {
    .banner{
        width: 100%;
    }
    .form{
        width: 100%;
    }
    .banner_img{
        margin: 20px auto;
    }
    .footer{
        position: static;
    }
}


/* Estilo para pantallas más pequeñas (menos de 600px) */
@media (max-width: 600px) {
    .mb-3{
        margin-bottom:  10em !important;
    }
}


.imagen-lateral {
    flex: 1;
    display: block;
}

@media (max-width: 870px) {
    .imagen-lateral {
        display: none; /* Oculta las imágenes cuando la pantalla sea menor o igual a 870px */
    }
}

.cont-imgs-form {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.cont-imgs-form {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center; /* ya lo tienes, lo mantenemos */
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
  padding: 0 1rem;
}

/* hacemos que las columnas laterales tengan el mismo ancho base */
#promoIzq, #promoDer {
  flex: 0 0 28%;            /* ajusta % si quieres más/menos ancho lateral */
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  /* altura fija visual para que ambas cajas sean exactamente iguales */
  height: 60vh;             /* ajusta (ej: 50vh, 55vh) según diseño */
  min-height: 320px;        /* evita que queden muy pequeñas en pantallas chicas */
}

/* el contenedor del formulario ocupa el resto */
#ContFormBoletos {
  flex: 1 1 44%;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  padding: 20px;
  max-width: 900px;
}

/* imágenes: que ocupen la altura de la caja y mantengan proporción */
.cont-imgs-form img.promo-img {
  height: 100%;
  width: auto;
  max-width: 100%;
  display: block;
  object-fit: contain; /* 'cover' si prefieres que llenen recortando */
}

/* si por alguna razón tienes atributos inline width/height en <img>, 
   fuerza la priorización con !important para pruebas */
.cont-imgs-form img.promo-img[width],
.cont-imgs-form img.promo-img[height] {
  width: auto !important;
  height: 100% !important;
}

/* Responsive: apilar en columna en pantallas pequeñas */
@media (max-width: 992px) {
  .cont-imgs-form {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  #promoIzq, #promoDer {
    height: auto;
    flex: none;
    width: 90%;
  }
  .cont-imgs-form img.promo-img {
    height: auto;
    max-height: 50vh;
    width: 100%;
  }
}
.container {
    flex: 2;
    padding: 20px;
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-label,
.form-control {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

#enviaForm {
    max-width: 600px;
}

@media (max-width: 768px) {
    .container {
        flex: 1;
        padding: 10px;
    }

    .form-label,
    .form-control {
        max-width: 100%;
    }

    #enviaForm {
        max-width: 100%;
    }
}

@media (max-width: 1120px) {
    #promoIzq,
    #promoDer {
        display: none;
    }
}

.form-label{
    color :  white;
    font-size: 24px !important;
}

 /* Estilo para la capa de fondo transparente */
 .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Color de fondo semitransparente */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Estilo para centrar la tarjeta */
#tarjetaAviso, #avisoSinMasRegalo {
    height: 420px;
    width: 560px;
    max-width: 600px;
    align-items: center;
    justify-items: center;
    z-index: 1; /* Para que esté por encima de la capa transparente */
}



/*ESTILOS DEL ICONO DE FILE*/
@keyframes heartbeat {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.1);
    }
    100% {
      transform: scale(1);
    }
  }
  
  .heartbeat {
    animation: heartbeat 1s infinite;
  }
  
  .white-icon {
    color: white; /* Establece el color blanco para el icono. */
    margin-left: 1rem;
    cursor: pointer;
  }
  

/* Estilos para el footer */
footer {
    text-align: center;
    background: linear-gradient(to bottom, #ffff00, #ffcc00); /* Fondo degradado amarillo */
    padding: 0;
    height: 50px;
    bottom: 0;
    position: fixed;
    width: 100%; /* Ocupa el ancho completo de la ventana */
}


/* Estilos para las imágenes */
footer img {
    /*margin: 5rem;*/
    
    margin-top: 0.5rem;
}