/* ==========================================================================
   STARIA — BLACK & GOLD  |  Login modal layering fixes
   ========================================================================== */

/* Full-screen overlay */
div[role="dialog"] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
}

/* Dark backdrop */
div[role="dialog"] > div:nth-child(1) {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.94) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    z-index: 999998 !important;
}

/* Centering container */
div[role="dialog"] > div:nth-child(2) {
    position: relative !important;
    z-index: 999999 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2rem !important;
}

/* Card */
div[role="dialog"] .staria-card,
div[role="dialog"] div[class*="card"],
div[role="dialog"] > div:nth-child(2) > div {
    position: relative !important;
    z-index: 1000000 !important;
    background: linear-gradient(165deg, #141414, #070707) !important;
    border: 1px solid rgba(212, 175, 55, 0.55) !important;
    border-radius: 1.375rem !important;
    padding: 2.5rem !important;
    max-width: 30rem !important;
    width: 100% !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.85), 0 0 60px rgba(212, 175, 55, 0.14) !important;
    backdrop-filter: blur(20px) !important;
    animation: stariaModalIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

@keyframes stariaModalIn {
    from { opacity: 0; transform: translateY(18px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Headings */
div[role="dialog"] h1,
div[role="dialog"] h2,
div[role="dialog"] h3 {
    position: relative !important;
    z-index: 1000001 !important;
    color: #FFFFFF !important;
    font-weight: 800;
}

div[role="dialog"] .staria-text-gradient {
    background: linear-gradient(120deg, #FFFFFF, #F5D061 35%, #D4AF37 60%, #996515);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}

/* Inputs */
div[role="dialog"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]) {
    position: relative !important;
    z-index: 1000001 !important;
    width: 100% !important;
    background: rgba(10, 10, 10, 0.8) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    color: #FFFFFF !important;
    padding: 0.9rem 1.25rem !important;
    border-radius: 0.75rem !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
}

div[role="dialog"] input:focus {
    border-color: #D4AF37 !important;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12), 0 0 22px rgba(212, 175, 55, 0.2) !important;
    outline: none !important;
}

/* Labels */
div[role="dialog"] label {
    position: relative !important;
    z-index: 1000001 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 0.6rem !important;
}

/* Submit button — gold */
div[role="dialog"] button[type="submit"] {
    position: relative !important;
    z-index: 1000001 !important;
    width: 100% !important;
    padding: 1rem 2rem !important;
    background: linear-gradient(135deg, #D4AF37 0%, #F5D061 50%, #D4AF37 100%) !important;
    background-size: 200% 200% !important;
    color: #000000 !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    border: none !important;
    border-radius: 0.875rem !important;
    cursor: pointer !important;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3) !important;
    transition: all 0.3s ease !important;
}

div[role="dialog"] button[type="submit"]:hover {
    background-position: 100% 100% !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 36px rgba(212, 175, 55, 0.45) !important;
}

/* Close button */
div[role="dialog"] button[type="button"]:not([type="submit"]) {
    position: absolute !important;
    top: 1rem !important;
    left: 1rem !important;
    z-index: 1000002 !important;
    background: rgba(10, 10, 10, 0.7) !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    border-radius: 0.75rem !important;
    padding: 0.6rem 0.9rem !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

div[role="dialog"] button[type="button"]:not([type="submit"]):hover {
    background: rgba(212, 175, 55, 0.15) !important;
    border-color: #D4AF37 !important;
    color: #F5D061 !important;
    transform: scale(1.08) !important;
}

/* Links */
div[role="dialog"] a {
    position: relative !important;
    z-index: 1000001 !important;
    color: #D4AF37 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

div[role="dialog"] a:hover { color: #F5D061 !important; }

/* Captcha */
div[role="dialog"] .g-recaptcha,
div[role="dialog"] [class*="recaptcha"],
div[role="dialog"] [class*="turnstile"] {
    position: relative !important;
    z-index: 1000001 !important;
}

/* Lock page scroll when the modal is actually open */

@media (max-width: 640px) {
    div[role="dialog"] > div:nth-child(2) { padding: 1rem !important; }
    div[role="dialog"] .staria-card,
    div[role="dialog"] div[class*="card"],
    div[role="dialog"] > div:nth-child(2) > div {
        padding: 2rem 1.4rem !important;
        max-width: 95% !important;
    }
}
