/**
 * ==========================================================
 * RAGO ACCOUNT
 * Security Module - Dark Theme
 * ==========================================================
 */

.rago-security-page {
    max-width: 1260px;
    margin: 0 auto;
    padding: 42px 28px 70px;
    color: #f5f7fb;
}

/* Header */

.rago-security-header {
    margin-bottom: 34px;
}

.rago-security-eyebrow {
    margin: 0 0 12px;
    color: #8ea8ff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.rago-security-title {
    margin: 0;
    color: #ffffff;
    font-size: 42px;
    line-height: 1.15;
    font-weight: 800;
}

.rago-security-description {
    margin: 14px 0 0;
    color: #aeb8ca;
    font-size: 17px;
    line-height: 1.7;
}

/* Main Grid */

.rago-security-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 28px;
    align-items: start;
}

/* Cards */

.rago-security-card {
    padding: 34px;
    background: #111827;
    border: 1px solid #29354a;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
}

.rago-security-card h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 25px;
    font-weight: 800;
}

.rago-security-card p {
    color: #aeb8ca;
    line-height: 1.7;
}

/* Icons */

.rago-security-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 24px;
    background: #1d2b46;
    border: 1px solid #35496d;
    border-radius: 17px;
    font-size: 29px;
}

/* Form */

.rago-security-form {
    margin-top: 28px;
}

.rago-security-field {
    margin-bottom: 22px;
}

.rago-security-field label {
    display: block;
    margin-bottom: 9px;
    color: #f0f4ff;
    font-size: 15px;
    font-weight: 700;
}

.rago-security-field input {
    width: 100%;
    min-height: 54px;
    box-sizing: border-box;
    padding: 14px 16px;
    color: #ffffff;
    background: #0b1220;
    border: 1px solid #34435c;
    border-radius: 12px;
    outline: none;
    font-size: 15px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rago-security-field input::placeholder {
    color: #71809a;
}

.rago-security-field input:focus {
    border-color: #7394ff;
    box-shadow: 0 0 0 4px rgba(115, 148, 255, 0.14);
}

/* Button */

.rago-security-form button,
.rago-security-submit {
    width: 100%;
    min-height: 54px;
    padding: 14px 22px;
    color: #ffffff;
    background: linear-gradient(135deg, #4169e1, #6948d8);
    border: 0;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rago-security-form button:hover,
.rago-security-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(65, 105, 225, 0.3);
}

/* Account Details */

.rago-security-details {
    margin-top: 28px;
}

.rago-security-detail-row {
    padding: 20px 0;
    border-bottom: 1px solid #29354a;
}

.rago-security-detail-row:first-child {
    padding-top: 0;
}

.rago-security-detail-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.rago-security-detail-label {
    display: block;
    margin-bottom: 8px;
    color: #8492aa;
    font-size: 14px;
}

.rago-security-detail-value {
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    word-break: break-word;
}

/* Active Session */

.rago-security-session {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 16px 18px;
    color: #9ff2bd;
    background: #102c23;
    border: 1px solid #245c43;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 800;
}

.rago-security-session::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    background: #35d477;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(53, 212, 119, 0.65);
}

/* Notices */

.rago-security-notice {
    margin-bottom: 24px;
    padding: 15px 18px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 700;
}

.rago-security-notice.success {
    color: #a7f3c4;
    background: #102c23;
    border: 1px solid #245c43;
}

.rago-security-notice.error {
    color: #ffb4b4;
    background: #35191f;
    border: 1px solid #71303b;
}

/* Password Help */

.rago-security-help {
    margin-top: 14px;
    color: #8795ad;
    font-size: 13px;
    line-height: 1.6;
}

/* Responsive */

@media (max-width: 900px) {
    .rago-security-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .rago-security-page {
        padding: 28px 16px 50px;
    }

    .rago-security-title {
        font-size: 34px;
    }

    .rago-security-description {
        font-size: 15px;
    }

    .rago-security-card {
        padding: 24px 20px;
        border-radius: 18px;
    }

    .rago-security-card h2 {
        font-size: 22px;
    }
}






/* ==========================================================
   SECURITY PAGE - FULL WIDTH DARK FIX
   ========================================================== */

body:has(.rago-security-page) {
    background: #080d18 !important;
}

body:has(.rago-security-page) #page,
body:has(.rago-security-page) .site,
body:has(.rago-security-page) .site-content,
body:has(.rago-security-page) main {
    background: #080d18 !important;
}

.rago-security-page {
    width: 100% !important;
    max-width: 1450px !important;
    min-height: 720px;
    margin: 0 auto !important;
    padding: 55px 55px 90px !important;
    box-sizing: border-box;
    background: #080d18 !important;
}

.rago-security-grid {
    width: 100% !important;
    max-width: 1350px !important;
    margin: 0 auto !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    gap: 34px !important;
}

.rago-security-card {
    width: 100% !important;
    min-height: 470px;
    box-sizing: border-box;
    padding: 42px !important;
    background: #111827 !important;
}

.rago-security-card h2 {
    font-size: 28px !important;
}

.rago-security-title {
    font-size: 48px !important;
}

@media (max-width: 900px) {
    .rago-security-page {
        padding: 35px 22px 65px !important;
    }

    .rago-security-grid {
        grid-template-columns: 1fr !important;
    }

    .rago-security-card {
        min-height: auto;
        padding: 30px !important;
    }
}

@media (max-width: 600px) {
    .rago-security-page {
        padding: 28px 16px 55px !important;
    }

    .rago-security-card {
        padding: 24px 20px !important;
    }

    .rago-security-title {
        font-size: 36px !important;
    }
}











/* ==========================================================
   SECURITY - MOBILE TOP SPACING FIX
   ========================================================== */

@media (max-width: 600px) {

    .rago-security-page {
        padding-top: 125px !important;
        padding-right: 16px !important;
        padding-bottom: 55px !important;
        padding-left: 16px !important;
    }

}