/* =========================================
   FUTUREVERSE — TERMS & CONDITIONS
========================================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f5f8ff;
    color: #263b63;
}


/* =========================================
   PAGE
========================================= */

.terms-page {
    width: 100%;
    min-height: 100vh;
    padding: 0 20px;
}


/* =========================================
   HEADER
========================================= */

.terms-header {
    width: min(1080px, 100%);
    margin: 0 auto;
    min-height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


/* Back Button */

.terms-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 15px;

    border-radius: 10px;

    background: #ffffff;
    color: #2864d4;

    border: 1px solid #e5ebf6;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    box-shadow:
        0 5px 18px rgba(40, 80, 150, 0.06);

    transition: 0.2s ease;
}

.terms-back-btn:hover {
    transform: translateY(-1px);

    box-shadow:
        0 8px 22px rgba(40, 80, 150, 0.10);
}


/* =========================================
   BRAND
========================================= */

.terms-brand {
    display: flex;
    align-items: center;
    gap: 11px;
}

.terms-brand-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #edf4ff;
    color: #2864d4;

    font-size: 18px;
}

.terms-brand div:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.terms-brand span {
    color: #3670d6;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.8px;
}

.terms-brand strong {
    color: #172b57;

    font-size: 13px;
    font-weight: 800;
}


/* =========================================
   HERO
========================================= */

.terms-hero {
    width: min(1080px, 100%);
    margin: 20px auto 0;

    padding: 55px 55px 48px;

    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            #edf4ff 0%,
            #ffffff 55%,
            #f5f8ff 100%
        );

    border: 1px solid #e3ebf8;

    box-shadow:
        0 20px 60px rgba(30, 65, 130, 0.08);
}


/* Label */

.terms-label {
    display: inline-block;

    margin-bottom: 13px;

    color: #3670d6;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}


/* Main Heading */

.terms-hero h1 {
    margin-bottom: 14px;

    color: #172b57;

    font-size: clamp(38px, 5vw, 58px);

    line-height: 1.1;

    font-weight: 800;
}


/* Hero Description */

.terms-hero > p {
    max-width: 720px;

    color: #7182a6;

    font-size: 16px;

    line-height: 1.7;
}


/* Updated Date */

.terms-updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 22px;

    padding: 9px 13px;

    border-radius: 9px;

    background: #ffffff;

    border: 1px solid #e4ebf6;

    color: #7182a6;

    font-size: 12px;
}


/* =========================================
   CONTENT
========================================= */

.terms-content {
    width: min(900px, 100%);

    margin: 38px auto 0;
}


/* =========================================
   TERMS SECTION
========================================= */

.terms-section {
    display: grid;

    grid-template-columns: 55px 1fr;

    gap: 20px;

    padding: 30px 0;

    border-bottom: 1px solid #e3eaf5;
}


/* Number */

.section-number {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #edf4ff;
    color: #3670d6;

    font-size: 11px;
    font-weight: 800;
}


/* =========================================
   CONTENT TYPOGRAPHY
========================================= */

.section-content h2 {
    margin-bottom: 15px;

    color: #172b57;

    font-size: 25px;

    line-height: 1.3;

    font-weight: 800;
}


.section-content h3 {
    margin: 22px 0 9px;

    color: #31558f;

    font-size: 16px;

    font-weight: 800;
}


.section-content p {
    margin-bottom: 13px;

    color: #7182a6;

    font-size: 15px;

    line-height: 1.8;
}


.section-content p:last-child {
    margin-bottom: 0;
}


/* Lists */

.section-content ul,
.section-content ol {
    margin: 10px 0 15px;

    padding-left: 22px;
}


.section-content li {
    margin-bottom: 8px;

    color: #7182a6;

    font-size: 15px;

    line-height: 1.7;
}


.section-content strong {
    color: #526b96;
}


/* =========================================
   CONTACT SECTION
========================================= */

.terms-contact {
    border-bottom: none;

    margin-top: 10px;

    padding-bottom: 20px;
}


/* Email / Contact Button */

.terms-email-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: 8px;

    padding: 12px 17px;

    border-radius: 11px;

    background: #edf4ff;
    color: #2864d4;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    transition: 0.2s ease;
}

.terms-email-btn:hover {
    background: #dfeaff;

    transform: translateY(-1px);
}


/* =========================================
   FOOTER
========================================= */

.terms-footer {
    width: min(900px, 100%);

    margin: 30px auto 0;

    padding: 28px 0 38px;

    text-align: center;

    border-top: 1px solid #e3eaf5;
}


.terms-footer-brand {
    margin-bottom: 5px;

    color: #2864d4;

    font-size: 17px;
    font-weight: 800;
}


.terms-footer p {
    margin-bottom: 7px;

    color: #7182a6;

    font-size: 13px;
}


.terms-footer span {
    color: #9aa8c0;

    font-size: 11px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .terms-page {
        padding: 0 13px;
    }


    /* Header */

    .terms-header {
        min-height: 74px;

        gap: 10px;
    }


    .terms-back-btn {
        padding: 9px 11px;

        font-size: 11px;
    }


    .terms-brand {
        gap: 8px;
    }


    .terms-brand-icon {
        width: 36px;
        height: 36px;

        border-radius: 10px;

        font-size: 16px;
    }


    .terms-brand span {
        font-size: 8px;

        letter-spacing: 1.3px;
    }


    .terms-brand strong {
        font-size: 11px;
    }


    /* Hero */

    .terms-hero {
        margin-top: 10px;

        padding: 34px 22px 30px;

        border-radius: 22px;
    }


    .terms-label {
        font-size: 9px;

        letter-spacing: 1.5px;
    }


    .terms-hero h1 {
        font-size: 34px;
    }


    .terms-hero > p {
        font-size: 14px;

        line-height: 1.7;
    }


    .terms-updated {
        max-width: 100%;

        font-size: 10px;
    }


    /* Content */

    .terms-content {
        margin-top: 20px;
    }


    .terms-section {
        grid-template-columns: 1fr;

        gap: 13px;

        padding: 25px 2px;
    }


    .section-number {
        width: 38px;
        height: 38px;

        border-radius: 10px;

        font-size: 10px;
    }


    .section-content h2 {
        font-size: 21px;
    }


    .section-content h3 {
        font-size: 15px;
    }


    .section-content p,
    .section-content li {
        font-size: 14px;

        line-height: 1.75;
    }


    /* Contact */

    .terms-email-btn {
        width: 100%;

        justify-content: center;

        font-size: 12px;

        overflow: hidden;
    }


    /* Footer */

    .terms-footer {
        margin-top: 15px;

        padding-bottom: 30px;
    }
}


/* =========================================
   DARK MODE
========================================= */

body[data-theme="dark"] {
    background: #0b1222;
    color: #dce6ff;
}


/* Header buttons */

body[data-theme="dark"] .terms-back-btn,
body[data-theme="dark"] .terms-updated {
    background: #10182c;

    border-color: rgba(255, 255, 255, 0.08);

    color: #82aaff;
}


/* Icons + numbers */

body[data-theme="dark"] .terms-brand-icon,
body[data-theme="dark"] .section-number {
    background: #17294d;

    color: #78a7ff;
}


/* Labels */

body[data-theme="dark"] .terms-brand span,
body[data-theme="dark"] .terms-label {
    color: #78a7ff;
}


/* Main headings */

body[data-theme="dark"] .terms-brand strong,
body[data-theme="dark"] .terms-hero h1,
body[data-theme="dark"] .section-content h2 {
    color: #f2f5ff;
}


/* Hero */

body[data-theme="dark"] .terms-hero {
    background:
        linear-gradient(
            135deg,
            #111d36 0%,
            #10182c 55%,
            #0f172a 100%
        );

    border-color: rgba(255, 255, 255, 0.07);
}


/* Text */

body[data-theme="dark"] .terms-hero > p,
body[data-theme="dark"] .terms-updated,
body[data-theme="dark"] .section-content p,
body[data-theme="dark"] .section-content li,
body[data-theme="dark"] .terms-footer p {
    color: #aab8d6;
}


/* Subheadings */

body[data-theme="dark"] .section-content h3 {
    color: #bcd0f5;
}


/* Strong text */

body[data-theme="dark"] .section-content strong {
    color: #c9d8f5;
}


/* Borders */

body[data-theme="dark"] .terms-section,
body[data-theme="dark"] .terms-footer {
    border-color: rgba(255, 255, 255, 0.08);
}


/* Contact */

body[data-theme="dark"] .terms-email-btn {
    background: #17294d;

    color: #82aaff;
}


/* Footer */

body[data-theme="dark"] .terms-footer-brand {
    color: #78a7ff;
}


body[data-theme="dark"] .terms-footer span {
    color: #7182a6;
}