/* Popup layout fixes */

.activation-modal .am-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 16px;
}

.activation-modal .am-card {
    width: 100%;
    max-width: 520px;
    /* ⬅️ ancho del cuadro */
    margin: 8vh auto;
    /* ⬅️ aire arriba/abajo */
    background-color: #0f172a;
    /* fallback por si falta la util bg-primary-light */
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px !important;
    /* ajusta a 16–24px si quieres */
    overflow: hidden;
}

/* Más padding arriba/abajo dentro del cuadro */

.activation-modal .am-inner {
    padding-top: 2.25rem;
    /* ~36px */
    padding-bottom: 2rem;
    /* ~32px */
}

@media (min-width: 768px) {
    .activation-modal .am-inner {
        padding-top: 2.75rem;
        /* ~44px */
        padding-bottom: 2.5rem;
        /* ~40px */
    }
}

@media (min-width: 768px) {
    .activation-modal .am-card {
        margin: 10vh auto;
    }
    /* un poco más de aire en desktop */
}

/* Detalle: color del trazo del spinner a juego con tu CTA */

.activation-modal .spinner .path {
    stroke: #f59e0b;
}

:root {
    /* Ajusta a tu branding */
    --primary-light: #18192d;
    --text: #ffffff;
    --blue-600: #2563eb;
    --font-alt: inherit;
    /* o "LuckiestGuy", etc. */
}

/* Modal base */

.activation-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    /* cambia a block para mostrar */
}

.activation-modal.open {
    display: block;
}

.am-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
}

.am-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 16px;
    /* p-4 */
    display: flex;
    align-items: center;
    /* items-center */
    justify-content: center;
    /* justify-center */
}

/* Card */

.am-card {
    background: var(--primary-light);
    color: var(--text);
    border-radius: 1rem;
    /* rounded-2xl */
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* border-white/10 */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* shadow-2xl aprox */
    overflow: hidden;
    /* overflow-hidden */
}

/* Contenido interno */

.am-inner {
    padding: 1.75rem 1.5rem 1.5rem;
    /* pt-7 px-6 pb-6 */
    text-align: center;
    /* text-center */
}

.am-logo {
    width: 2.5rem;
    /* w-10 */
    height: 2.5rem;
    /* h-10 */
    display: block;
    margin: 0 auto;
    /* mx-auto */
}

/* Marca y títulos */

.am-brand {
    margin-top: .5rem;
    /* mt-2 */
    font-weight: 900;
    /* font-black */
    font-size: 1.5rem;
    /* text-2xl */
    font-family: var(--font-alt);
}

.am-title {
    margin-top: .5rem;
    /* mt-2 */
    font-weight: 900;
    /* font-black */
    font-family: var(--font-alt);
    font-size: 1.25rem;
    /* text-xl */
}

@media (min-width: 640px) {
    .am-title {
        font-size: 1.5rem;
    }
    /* sm:text-2xl */
}

/* Párrafos */

.am-desc {
    margin-top: 1rem;
    /* mt-4 */
    font-size: .875rem;
    /* text-sm */
    color: rgba(255, 255, 255, 0.7);
    /* text-white/70 */
    line-height: 1.6;
    /* leading-relaxed aprox */
}

.am-redirect-msg {
    margin-top: 1.5rem;
    /* mt-6 */
    font-size: .75rem;
    /* text-xs */
    color: rgba(255, 255, 255, 0.5);
    /* text-white/50 */
}

/* Spinner wrapper */

.am-spinner {
    margin-top: 1.5rem;
    /* mt-6 */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Botón */

.am-button {
    margin-top: 1.25rem;
    /* mt-5 */
    display: inline-flex;
    /* inline-flex */
    align-items: center;
    justify-content: center;
    padding: .75rem 1.25rem;
    /* py-3 px-5 */
    border-radius: .75rem;
    /* rounded-xl */
    background: var(--blue-600);
    /* bg-blue-600 */
    color: #000;
    /* text-black */
    font-weight: 600;
    /* font-semibold */
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    /* shadow */
    transition: opacity .2s ease, box-shadow .2s ease;
}

.am-button:hover {
    opacity: .9;
}

/* hover:opacity-90 */

.am-button:focus {
    outline: none;
    /* focus:outline-none */
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .2);
    /* focus:ring focus:ring-white/20 */
}

/* Utilidad */

.hidden {
    display: none !important;
}

/* (Opcional) Estilos básicos para el SVG spinner si no los tienes ya */

.spinner {
    animation: rotate 2s linear infinite;
}

.spinner .path {
    stroke: currentColor;
    stroke-linecap: round;
    animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}