/* // esta seccion es para responsive, puedes quitarla para analizar codigo y luego pegarla */
/* ============================================= */
/* RESPONSIVE - Adaptación para celulares y tablets */
/* ============================================= */

/* Para pantallas pequeñas (móviles) */
@media (max-width: 768px) {
    body {
        padding: 10px;
    }
    h1 {
        font-size: 2.5rem;
    }
    #intro-datos {
        padding: 25px 15px;
        max-width: 100%;
        margin: 15px auto;
        border-width: 6px;
    }
    #intro-datos h2 {
        font-size: 2.6rem;
    }
    #intro-datos p {
        font-size: 1.25rem;
    }
    #intro-datos label {
        font-size: 1.35rem;
    }
    #intro-datos input,
    #intro-datos button {
        font-size: 1.25rem;
        padding: 14px;
    }
    #modal-content {
        padding: 25px 15px;
        max-width: 95%;
        border-width: 8px;
    }
    #modal-content h2 {
        font-size: 2.4rem;
    }
    #ejemplo-container {
        padding: 15px;
    }
    #ejemplo-carta {
        max-width: 170px;
    }
    #ejemplo-objetos img {
        width: 65px;
        height: 65px;
    }
    #juego-container {
        padding: 15px;
        max-width: 100%;
    }
    #datos-usuario {
        font-size: 1.35rem;
        padding: 15px;
    }
    #mesa {
        gap: 12px;
        margin: 15px 0;
    }
    .objeto {
        width: 115px;
        height: 115px;
    }
    #carta-volteada {
        width: 210px;
        height: 310px;
        margin: 15px auto;
    }
    #instruccion-inicial {
        font-size: 1.25rem;
        padding: 8px;
    }
    #mensaje {
        font-size: 1.55rem;
    }
    #puntuacion, #errores {
        font-size: 1.45rem;
    }
    #tiempos {
        padding: 12px;
        font-size: 1.15rem;
    }
    #temporizador {
        font-size: 1.7rem;
    }
    #temporizador-barra {
        height: 22px;
        max-width: 90%;
    }
    #modal-resultados > div {
        padding: 25px 15px;
        max-width: 90%;
    }
    #modal-resultados h2 {
        font-size: 2.4rem;
    }
    #resultado-texto {
        font-size: 1.35rem;
    }
    #btn-jugar-otra-vez, #btn-salir-modal {
        font-size: 1.7rem;
        padding: 14px 35px;
    }
}

/* Para pantallas muy pequeñas (móviles en vertical < 480px) */
@media (max-width: 480px) {
    #mesa {
        gap: 9px;
    }
    .objeto {
        width: 98px;
        height: 98px;
    }
    #carta-volteada {
        width: 195px;
        height: 290px;
    }
    #instruccion-inicial {
        font-size: 1.15rem;
    }
    #modal-content button {
        font-size: 1.55rem;
        padding: 14px 35px;
    }
}

/* Ajustes generales para mejor experiencia touch */
button, .objeto {
    touch-action: manipulation;
}

/* Asegura que las imágenes no se salgan */
img {
    max-width: 100% !important;
    height: auto !important;
}

/* Estilo para el mensaje personalizado en el modal de resultados */
#resultado-texto div {
    background: rgba(255, 255, 255, 0.8);
    padding: 20px;
    border-radius: 25px;
    border: 4px dashed #ffeb3b;
    margin: 20px auto;
    max-width: 90%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* ============================================= */
/* CORRECCIÓN FUERTE PARA CELULARES PEQUEÑOS */
/* Estas reglas tienen prioridad para que todo quepa */
/* ============================================= */

@media (max-width: 768px) {
    #juego-container {
        padding: 12px 10px !important;
        margin: 10px auto !important;
    }

    #datos-usuario {
        font-size: 1.2rem !important;
        padding: 12px 15px !important;
        margin-bottom: 12px !important;
        line-height: 1.25 !important;
    }

    #datos-usuario br {
        display: none;
    }

    #juego-container > p {
        font-size: 1.3rem !important;
        margin: 8px 0 6px !important;
    }

    #mesa {
        gap: 10px !important;
        margin: 12px 0 !important;
        padding: 12px !important;
    }

    .objeto {
        width: 105px !important;
        height: 105px !important;
    }

    #carta-volteada {
        width: 185px !important;
        height: 275px !important;
        margin: 12px auto !important;
    }

    #instruccion-inicial {
        font-size: 1.2rem !important;
        padding: 7px !important;
    }

    #mensaje {
        font-size: 1.45rem !important;
        margin: 8px 0 !important;
    }

    #puntuacion, #errores {
        font-size: 1.35rem !important;
        margin: 6px 0 !important;
    }
}

/* Aún más pequeño - para la mayoría de celulares Android e iPhone */
@media (max-width: 480px) {
    #juego-container h1 {
        font-size: 1.95rem !important;
        margin: 8px 0 4px !important;
    }

    #datos-usuario {
        font-size: 1.1rem !important;
        padding: 10px 12px !important;
    }

    #juego-container > p {
        font-size: 1.2rem !important;
    }

    #temporizador {
        font-size: 1.4rem !important;
    }

    .objeto {
        width: 88px !important;
        height: 88px !important;
    }

    #carta-volteada {
        width: 165px !important;
        height: 245px !important;
        margin: 10px auto !important;
    }

    #mesa {
        gap: 8px !important;
    }
}

/* Para pantallas muy estrechas (< 400px) */
@media (max-width: 400px) {
    .objeto {
        width: 82px !important;
        height: 82px !important;
    }

    #carta-volteada {
        width: 155px !important;
        height: 230px !important;
    }
}