/* ============================
   GENERAL – FONDO NEGRO
=============================*/
body {
    margin: 0;
    padding: 0;
    background: #000;     /* TODO negro */
    color: #c4dfdb;
}

/* NAVBAR ya es oscuro, se mantiene */
.navbar {
    background: #000 !important;
}

/* ============================
   TITULOS
=============================*/
.titulo-principal {
    font-size: 1.3rem; /* TAMAÑO FIJO */
    margin-top: 100px;
    padding: 0 15px;
    line-height: 1.4;
    text-align: center;
}

.subtitulo-descargas {
    font-size: 1.2rem; /* TAMAÑO FIJO */
    text-align: center;
    margin: 25px 0 15px 0;
	
}
/* Imagen de descarga dentro de fila-puzzle */
/* Imagen de descarga dentro de fila-puzzle */
.fila-puzzle a img {
    width: 40px !important; /* fuerza tamaño más pequeño */
    height: auto !important;
    transition: transform 0.1s ease;
}

/* Efecto presionado: simula que se aprieta */
.fila-puzzle a:active img {
    transform: scale(0.9);
}
/* ============================
   GOOGLE PLAY BADGE — FIX SIZE
=============================*/

.googleplay-wrapper {
    text-align: center;
    margin-top: 50px;
}

.googleplay-badge {
    display: block;
    margin: 0 auto;
    
    width: 200px;        /* Tamaño fijo normal */
    max-width: 200px !important; /* Evita que se haga gigante */
    height: auto !important;
}
    
.googleplay-legal {
    font-size: 12px;
    color: #c4dfdb;
    margin-top: 10px;
    text-align: center;
}

/* Ajuste móvil */
@media (max-width: 576px) {
    .googleplay-badge {
        width: 160px;
        max-width: 160px !important;
    }
}


/* ============================
   CONTENEDOR DESDE EL SEGUNDO TÍTULO — FONDO GRIS
=============================*/
.contenedor-descargas {
    background: #222;      /* gris oscuro */
    padding: 20px 0;
}

/* ============================
   VIDEO (centrado y limitado)
=============================*/
.video-wrapper {
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* ============================
   FILAS DE PUZZLE — FONDO BLANCO
=============================*/
.fila-puzzle {
    background: #fff;      /* fondo blanco */
  color: #c4dfdb;          /* texto negro */
    padding: 15px 10px;
    border-radius: 6px;
    margin-bottom: 15px;
}

/* Imágenes */
.imagen-puzzle {
    width: 100%;
    max-width: 120px;
    height: auto;
}

/* Texto debajo del botón */
.texto-niveles {
    font-size: 0.9rem;
	 color: #c4dfdb;
}

/* ============================
   BLOQUES DE TEXTO MULTI-IDIOMA (.lang)
=============================*/
.lang {
    font-size: 1.2rem;      /* texto general */
    line-height: 1.6;
    color: #c4dfdb;
}

/* ============================
   LANG SELECTOR — FONDO NEGRO
=============================*/
#lang-selector {
    background: #000;
    padding: 15px 0;
    margin-top: 80px;
}

#lang-selector button {
    background: none;
    border: none;
    padding: 5px;
    cursor: pointer;
}

#lang-selector img {
    width: 32px;
    height: auto;
    transition: transform 0.2s ease;
}

#lang-selector img:hover {
    transform: scale(1.1);
}
/* ============================
   SECCIÓN GRIS
=============================*/
.section-gris {
    background-color: #222;   /* gris oscuro */
    padding: 40px 15px;
    margin-top: 30px;
    border-radius: 10px;
    color: #c4dfdb;           /* texto claro dentro */
}

.section-gris .subtitulo-descargas {
    font-size: 1.2rem;
    margin-bottom: 30px;
    color: #c4dfdb;

}

.section-gris .fila-puzzle {
    background-color: #333;  /* fila más clara que el fondo */
    color: #fff;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.section-gris .imagen-puzzle {
    max-width: 120px;
    height: auto;
    border-radius: 6px;
}

.section-gris .texto-niveles {
    font-size: 1rem;
    margin-top: 5px;
}

.section-gris .btn {
    font-size: 1rem;
    padding: 8px 15px;
    margin-bottom: 5px;
}

/* ============================
   RESPONSIVE – MÓVIL
=============================*/
@media (max-width: 576px) {
    .section-gris .subtitulo-descargas {
        font-size: 1.8rem;
    }

    .section-gris .fila-puzzle {
        flex-direction: column;
        text-align: center;
    }

    .section-gris .imagen-puzzle {
        max-width: 160px;
        margin-bottom: 10px;
    }

    .section-gris .texto-niveles {
        font-size: 1.4rem;
    }

    .section-gris .btn {
        width: 100%;
        font-size: 1.2rem;
    }
}

/* ============================
   RESPONSIVE – TABLETS
=============================*/
@media (min-width: 577px) and (max-width: 992px) {
    .section-gris .subtitulo-descargas {
        font-size: 1.6rem;
    }

    .section-gris .texto-niveles {
        font-size: 1.1rem;
    }

    .section-gris .btn {
        font-size: 1.1rem;
    }
}

/* ============================
   RESPONSIVE – MÓVIL
=============================*/
@media (max-width: 576px) {

    /* Títulos más grandes en móvil */
    .titulo-principal {
        font-size: 1.8rem;
    }

    .subtitulo-descargas {
        font-size: 1.6rem;
    }

    .texto-niveles {
        font-size: 1.2rem;
    }

    .fila-puzzle {
        text-align: center;
        font-size: 1.15rem;
    }

    .imagen-puzzle {
        max-width: 160px;
        margin-bottom: 10px;
    }

    .btn {
        width: 100%;
        max-width: 220px;
        font-size: 1.2rem;
    }

    /* Texto de política más grande en móviles */
    .lang {
        font-size: 1.4rem;
        line-height: 1.8;
    }
}

/* ============================
   RESPONSIVE – TABLETS
=============================*/
@media (min-width: 577px) and (max-width: 992px) {

    /* Ajuste para tablets */
    .lang {
        font-size: 1.3rem;
        line-height: 1.7;
    }
}
.animated {
            background-image: url(/css/images/logo.png);
            background-repeat: no-repeat;
            background-position: left top;

            -webkit-animation-duration: 3s;
            animation-duration: 3s;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
         }
         
         @-webkit-keyframes fadeInDown {
            0% {
               opacity: 0;
               -webkit-transform: translateY(-20px);
            }
            100% {
               opacity: 1;
               -webkit-transform: translateY(0);
            }
         }
         
         @keyframes fadeInDown {
            0% {
               opacity: 0;
               transform: translateY(-20px);
            }
            100% {
               opacity: 1;
               transform: translateY(0);
            }
         }
         
         .fadeInDown {
            -webkit-animation-name: fadeInDown;
            animation-name: fadeInDown;
			 color: #c4dfdb;
         }
		 
		      @-webkit-keyframes fadeIn {
            0% {opacity: 0;}
            100% {opacity: 1;}
         }
         
         @keyframes fadeIn {
            0% {opacity: 0;}
            100% {opacity: 1;}
         }
         
         .fadeIn {
            -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
         }