/* --- ESTILOS ORIGINALES --- */
body {
    background-image: url('img/mazo.webp');
    background-size: cover;          /* <--- Clave: Cubrir siempre */
    background-position: center;     /* Centrar la imagen */
    background-repeat: no-repeat;    /* <--- Evitar repetición */
    background-attachment: fixed;    /* Mantiene la imagen fija (ayuda en móviles) */
    min-height: 100vh;               /* Asegura que el body ocupe al menos toda la altura de la pantalla */
    font-family: Arial, sans-serif;
    text-align: center;
    margin: 0;                       /* Quita márgenes por defecto */
    padding: 0;                      /* Quita padding por defecto */
}

/* Ya no necesitamos una media query específica para el tamaño del fondo,
   'cover' se adapta solo. Podemos eliminarla o dejarla vacía si la usamos
   para otros ajustes de móvil más adelante. */
@media (max-width: 600px) {
    /* Aquí podríamos poner otros estilos solo para móvil si fuera necesario,
       pero para el fondo, 'cover' ya hace el trabajo. */
}

/* (El resto de tus estilos .formulario-auth, etc., se quedan como estaban) */

h1 {
    color: white;
    font-weight: bold;
    font-size: 48px;
}

.formulario-pregunta {
    margin: 20px;
    text-align: center;
}

.formulario-pregunta label {
    color: white;
}

#formularioTarot {
    margin-top: 10px;
}

#pregunta {
    width: 300px;
    padding: 10px;
    margin-top: 10px;
}

.tirada-tarot {
    text-align: center;
    margin-top: 20px;
}

#botonTirada {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    cursor: pointer;
}

#botonTirada:hover {
    background-color: #45a049;
}

#resultadosCartas {
    text-align: center;
}

#resultadosCartas div {
    display: inline-block;
    text-align: center;
    margin: 10px;
}

.carta-tarot {
    width: 300px;
    height: 510px;
    object-fit: cover;
    margin: 10px;
    border: 1px solid white;
    border-radius: 10px;
}

/* --- ESTA ES LA REGLA QUE FALTABA --- */
.carta-tarot.invertida {
    transform: rotate(180deg);
}

.nombre-carta {
    color: white;
    font-size: 20px;
    font-weight: bold;
}

#interpretacion-tarot {
    color: black;
    font-size: 22px;
    background-color: #cc9900;
    padding: 10px;
    border-radius: 5px;
    max-width: 800px;
    margin: 20px auto;
    text-align: left;
}

/* --- ESTILOS PARA EL SISTEMA DE USUARIOS --- */
.formulario-auth {
    background-color: rgba(0, 0, 0, 0.6);
    padding: 20px;
    border-radius: 10px;
    max-width: 400px;
    margin: 20px auto;
    color: white;
}

.formulario-auth h2 {
    margin-top: 0;
}

.formulario-auth input {
    width: 90%;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.formulario-auth button {
    width: 95%;
    padding: 10px;
    background-color: #4CAF50;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

.formulario-auth a {
    color: #4CAF50;
    text-decoration: none;
}

#info-usuario {
    color: white;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    border-radius: 8px;
    margin: 10px auto;
    max-width: 500px;
}

#logout-button {
    margin-left: 20px;
    background-color: #c74343;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
}

#mensaje-error {
    color: #d9534f;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    padding: 10px;
    margin: 10px 0;
    border-radius: 4px;
    text-align: center;
}
/* Animación para el texto de carga */
.texto-palpitante {
    animation: palpitar 1.5s ease-in-out infinite;
    font-weight: bold;
    color: #e0e0e0; /* Un color blanco-grisáceo que queda bien */
}

@keyframes palpitar {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}



/* --- ESTILOS DEL MODAL DE COMPRA --- */

/* El fondo oscuro semitransparente */
.modal-overlay {
    display: none; /* Oculto por defecto */
    position: fixed; /* Se queda fijo en la pantalla */
    z-index: 100; /* Por encima de todo */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Permite scroll si el modal es muy grande */
    background-color: rgba(0, 0, 0, 0.7); /* Fondo negro con transparencia */
}

/* El contenido de la ventana (usamos tus colores) */
.modal-content {
    background-color: rgba(0, 0, 0, 0.8); /* Fondo oscuro como tus formularios */
    border: 1px solid #888;
    color: #f1f1f1;
    width: 90%; /* 90% del ancho en móviles */
    max-width: 450px; /* Ancho máximo en PC */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}

/* El botón de cerrar (X) */
.close-modal {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}
.close-modal:hover,
.close-modal:focus {
    color: #fff;
    text-decoration: none;
}

/* --- ESTILOS PARA BOTONES DE COMPRA (DENTRO DEL MODAL) --- */

/* El botón que abre el modal (lo hacemos coincidir con el de logout) */
.comprar-btn {
    margin-left: 20px;
    background-color: #4CAF50; /* Verde (puedes cambiarlo) */
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
}

/* Los 5 botones de paquete (los hacemos anchos) */
.buy-button {
    display: block;
    width: 100%;
    padding: 12px;
    margin-bottom: 10px;
    background-color: #444;
    color: white;
    border: 1px solid #666;
    border-radius: 5px;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    position: relative; /* Para las etiquetas */
}

.buy-button:hover {
    background-color: #555;
    border-color: #888;
}

/* Estilos de las etiquetas de descuento y popularidad */
.buy-button .discount-tag {
    font-size: 0.8em;
    color: #98fb98; /* Verde claro */
    display: block;
}

.buy-button .price-amount {
    font-size: 0.9em;
    color: #ccc;
}

.buy-button .tag-popular,
.buy-button .tag-best-value {
    position: absolute;
    top: -10px;
    right: 10px;
    background-color: #c74343; /* Rojo (como el de logout) */
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 3px 6px;
    border-radius: 3px;
    transform: rotate(5deg);
}

.buy-button .tag-best-value {
    background-color: #4CAF50; /* Verde */
}

/* Estilo para el botón popular */
.buy-button.popular, .buy-button.best-value {
    border: 2px solid #4CAF50; /* Resaltado verde */
}

/* Estilo del 'loader' (ruedita) cuando se hace clic */
.loader {
    border: 4px solid #f3f3f3; /* Gris claro */
    border-top: 4px solid #4CAF50; /* Verde */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    display: inline-block;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
