/* ==========================================================
   STAR ENGLISH ACADEMY
   LEGAL DESIGN SYSTEM
   ========================================================== */

/*==============================
  VARIABLES
==============================*/

:root{

    --primary:#172554;
    --primary-light:#2563eb;

    --secondary:#3b82f6;

    --accent:#fbbf24;

    --background:#f4f7fb;

    --surface:#ffffff;

    --text:#1e293b;

    --muted:#64748b;

    --border:#e5e7eb;

    --success:#16a34a;

    --warning:#f59e0b;

    --danger:#dc2626;

    --radius:22px;

    --container:960px;

    --shadow-sm:
        0 4px 10px rgba(15,23,42,.04);

    --shadow:
        0 20px 45px rgba(15,23,42,.08);

    --shadow-lg:
        0 30px 70px rgba(15,23,42,.12);

}


/*==============================
RESET
==============================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:
        Inter,
        system-ui,
        sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.85;

}


/*==============================
SELECTION
==============================*/

::selection{

    background:#bfdbfe;

    color:#172554;

}


/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:#94a3b8;

    border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

    background:#64748b;

}


/*==============================
LINKS
==============================*/

a{

    color:var(--secondary);

    text-decoration:none;

    transition:.25s;

}

a:hover{

    color:var(--primary-light);

}


/*==============================
HEADER
==============================*/

.legal-header{

    background:

        linear-gradient(
            135deg,
            #172554,
            #2563eb
        );

    color:#fff;

    padding:26px 20px;

    box-shadow:var(--shadow-sm);

}

.legal-header-content{

    max-width:var(--container);

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.brand{

    display:flex;

    align-items:center;

    gap:15px;

    color:#fff;

    text-decoration:none;

}

.brand-star{

    font-size:2.2rem;

}

.brand-text strong{

    display:block;

    letter-spacing:.08em;

    font-size:1.15rem;

}

.brand-text span{

    opacity:.9;

    font-size:.82rem;

    letter-spacing:.15em;

}

.back-link{

    color:white;

    font-weight:600;

}

.back-link:hover{

    opacity:.9;

}


/*==============================
MAIN
==============================*/

.legal-main{

    max-width:var(--container);

    margin:70px auto;

    padding:0 20px;

}


/*==============================
CARD
==============================*/

.legal-card{

    background:white;

    border-radius:28px;

    padding:55px;

    box-shadow:var(--shadow);

    border:1px solid var(--border);

}


/*==============================
LABEL
==============================*/

.legal-label{

    display:inline-block;

    padding:

        8px
        18px;

    background:#dbeafe;

    color:#1d4ed8;

    border-radius:999px;

    font-size:.8rem;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.08em;

    margin-bottom:20px;

}


/*==============================
HEADINGS
==============================*/

h1{

    font-size:3rem;

    color:var(--primary);

    line-height:1.15;

    margin-bottom:15px;

}

.updated{

    color:var(--muted);

    margin-bottom:45px;

    font-size:.95rem;

}

h2{

    margin-top:55px;

    margin-bottom:16px;

    padding-bottom:10px;

    border-bottom:2px solid #e8eef8;

    color:var(--primary);

    font-size:1.55rem;

}

h3{

    margin-top:35px;

    margin-bottom:10px;

    color:var(--primary);

}


/*==============================
TEXT
==============================*/

p{

    margin-bottom:20px;

}

strong{

    color:var(--primary);

}


/*==============================
LISTS
==============================*/

ul,
ol{

    margin:

        18px
        0
        28px
        24px;

}

li{

    margin-bottom:10px;

}


/*==============================
TABLES
==============================*/

table{

    width:100%;

    border-collapse:collapse;

    margin:35px 0;

}

th{

    background:#eff6ff;

    color:var(--primary);

}

th,
td{

    padding:16px;

    border:1px solid var(--border);

}


/*==============================
IMPORTANT
==============================*/

.important-box{

    margin:40px 0;

    padding:24px;

    border-left:6px solid var(--accent);

    border-radius:18px;

    background:#fffbeb;

}


/*==============================
CONTACT
==============================*/

.contact-box{

    margin-top:55px;

    padding:30px;

    border-radius:20px;

    background:#eff6ff;

    border:1px solid #bfdbfe;

}

.contact-box h2{

    margin-top:0;

    border:none;

    padding:0;

}


/*==============================
FOOTER
==============================*/

.legal-footer{

    margin-top:70px;

    padding:35px 20px;

    border-top:1px solid var(--border);

    text-align:center;

    color:var(--muted);

    font-size:.9rem;

}

.legal-footer-links{

    display:flex;

    justify-content:center;

    gap:24px;

    flex-wrap:wrap;

    margin-bottom:15px;

}


/*==============================
RESPONSIVE
==============================*/

@media(max-width:768px){

    .legal-header-content{

        flex-direction:column;

        align-items:flex-start;

    }

    .legal-card{

        padding:30px;

        border-radius:20px;

    }

    h1{

        font-size:2.2rem;

    }

    h2{

        font-size:1.35rem;

    }

}

@media(max-width:480px){

    .legal-main{

        margin:35px auto;

    }

    .legal-card{

        padding:22px;

    }

}