html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: wheat;
}

/* ===============================
   LAYOUT
================================ */

.container {
    min-height: 100vh;
    background-image:
        linear-gradient(rgba(4, 9, 30, 0.7), rgba(4, 9, 30, 0.7)),
        url('background.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
}

.body_part {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 1.2rem 0;
}

/* ===============================
   MAIN CONTENT CARD
================================ */

.main {
    width: 70%;
    max-width: 1000px;
    background: rgba(100, 100, 100, 0.3);
    border-radius: 6px;
    padding: 2rem;
    margin-bottom: 1rem;
    text-align: justify;
}

.main_scroll {
    max-height: 75vh;
    overflow-y: auto;
    padding-right: 0.5rem;
}

/* ===============================
   TYPOGRAPHY
================================ */

h1 {
    text-align: center;
    color: #dfcd81;
    font-size: 1.6rem;
    margin: 0 0 0.3rem 0;
}

.last-updated {
    text-align: center;
    font-size: 0.85rem;
    margin-bottom: 1.4rem;
    color: #e5ddb0;
}

h2 {
    font-size: 1.05rem;
    margin: 1.4rem 0 0.4rem 0;
    color: whitesmoke;
}

h3 {
    font-size: 0.9rem;
    margin: 0.8rem 0 0.3rem 0;
    font-weight: 600;
    color: #dfcd81;
}

.em {
    font-weight: 600;
    font-style: normal;
}

/* ===============================
   PARAGRAPHS
================================ */

.tos-content p {
    margin: 0.3rem 0 0.8rem 0;
    padding: 0;
    font-size: 0.85rem;
    line-height: 1.5;
    text-align: left;   /* LEFT alignment preserved */
}

/* ===============================
   LISTS WITH VISIBLE BULLETS
================================ */

.tos-content ul {
    margin: 0.4rem 0 1rem 1.4rem;
    padding: 0;
    list-style: none;  /* remove default bullets */
}

.tos-content li {
    font-size: 0.85rem;
    line-height: 1.4;
    margin-bottom: 0.35rem;
    position: relative;
    padding-left: 1.2em; /* space for bullet */
}

/* Custom visible bullet */
.tos-content li::before {
    content: "•";      /* classic bullet */
    position: absolute;
    left: 0;
    color: #dfcd81;
}

/* ===============================
   SCROLLBAR
================================ */

.main_scroll::-webkit-scrollbar {
    width: 6px;
}

.main_scroll::-webkit-scrollbar-thumb {
    background: rgba(223, 205, 129, 0.6);
    border-radius: 4px;
}

/* ===============================
   MOBILE OPTIMISATION
================================ */

@media (max-width: 768px) {

    .main {
        width: 95%;
        padding: 1rem;
        text-align: left;
    }

    .tos-content p, .tos-content li {
        font-size: 0.82rem;
        line-height: 1.6;
    }

    h1 {
        font-size: 1.15rem;
    }

    h2 {
        font-size: 0.95rem;
    }

    h3 {
        font-size: 0.85rem;
    }
}
