/* ============================================================
   SPARK 2026 — TECHFUSION EVENT PAGE
   ============================================================ */


/* ============================================================
   ROOT
   ============================================================ */

:root {

    --navy: #0E2A52;

    --navy-deep: #081833;

    --blue: #1565C0;

    --blue-light: #1E88E5;

    --gold: #C99A2E;

    --gold-light: #F3E3BB;

    --bg: #F4F8FF;

    --surface: #FFFFFF;

    --text: #16213E;

    --muted: #5B6478;

    --border: #E1E7F2;

    --shadow-sm:
        0 5px 20px rgba(14, 42, 82, 0.08);

    --shadow-md:
        0 15px 40px rgba(14, 42, 82, 0.12);

    --radius: 18px;

}


/* ============================================================
   RESET
   ============================================================ */

*,
*::before,
*::after {

    box-sizing: border-box;

}


html {

    scroll-behavior: smooth;

}


body {

    margin: 0;

    background: var(--bg);

    color: var(--text);

    font-family: 'Inter', Arial, sans-serif;

    line-height: 1.6;

    -webkit-font-smoothing: antialiased;

}


a {

    text-decoration: none;

}


button {

    font-family: inherit;

}



/* ============================================================
   TOP BAR / BACK BUTTON
   ============================================================ */

.topbar {

    padding: 20px 40px;

    background: var(--surface);

    box-shadow: var(--shadow-sm);

}


.back-btn {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--blue);

    font-weight: 700;

    font-size: 15px;

    transition:
        color 0.2s ease,
        transform 0.2s ease;

}


.back-btn:hover {

    color: var(--navy);

    transform: translateX(-3px);

}



/* ============================================================
   EVENT HEADER
   ============================================================ */

.event-header {

    position: relative;

    overflow: hidden;

    padding: 80px 20px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            var(--navy-deep),
            var(--blue)
        );

    color: white;

}


/* Decorative glow */

.event-header::before {

    content: "";

    position: absolute;

    width: 420px;

    height: 420px;

    border-radius: 50%;

    background:
        rgba(30, 136, 229, 0.25);

    filter: blur(80px);

    top: -220px;

    left: -120px;

}


.event-header::after {

    content: "";

    position: absolute;

    width: 350px;

    height: 350px;

    border-radius: 50%;

    background:
        rgba(201, 154, 46, 0.18);

    filter: blur(80px);

    bottom: -220px;

    right: -100px;

}


.event-header h1 {

    position: relative;

    z-index: 1;

    margin: 0;

    font-family:
        'Rajdhani',
        'Inter',
        sans-serif;

    font-size:
        clamp(
            42px,
            7vw,
            76px
        );

    font-weight: 700;

    line-height: 1;

    letter-spacing: 0.02em;

}


.event-header p {

    position: relative;

    z-index: 1;

    max-width: 700px;

    margin: 18px auto 0;

    color: #DCE8FA;

    font-size:
        clamp(
            16px,
            2.2vw,
            21px
        );

}



/* ============================================================
   EVENT CONTAINER
   ============================================================ */

.event-container {

    min-height: 100vh;

}



/* ============================================================
   EVENT DETAILS
   ============================================================ */

.event-details {

    width: 90%;

    max-width: 900px;

    margin: 50px auto;

    background: var(--surface);

    border-radius: var(--radius);

    padding: 40px;

    box-shadow: var(--shadow-md);

    border: 1px solid var(--border);

}


.event-detail {

    padding: 0 0 28px;

    margin-bottom: 28px;

    border-bottom:
        1px solid var(--border);

}


.event-detail:last-child {

    margin-bottom: 0;

    border-bottom: none;

}


.event-details h2 {

    color: var(--blue);

    margin: 0 0 10px;

    font-family:
        'Rajdhani',
        'Inter',
        sans-serif;

    font-size: 24px;

    font-weight: 700;

}


.event-details p {

    margin: 0;

    color: var(--muted);

    font-size: 16px;

}



/* ============================================================
   RULES
   ============================================================ */

#rules {

    margin: 12px 0 0;

    padding-left: 22px;

    color: var(--muted);

}


#rules li {

    margin-bottom: 9px;

    padding-left: 4px;

}


#rules li::marker {

    color: var(--gold);

}



/* ============================================================
   REGISTER SECTION
   ============================================================ */

.register-section {

    width: 90%;

    max-width: 900px;

    margin: 0 auto 70px;

}


#registerBtn {

    width: 100%;

    padding: 18px 24px;

    border: none;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            var(--blue),
            var(--navy)
        );

    color: white;

    font-size: 18px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 10px 28px
        rgba(21, 101, 192, 0.28);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;

}


#registerBtn:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 35px
        rgba(21, 101, 192, 0.38);

}


#registerBtn:active {

    transform: translateY(0);

}



/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */

@media (max-width: 700px) {

    .topbar {

        padding:
            18px 24px;

    }


    .event-header {

        padding:
            65px 20px;

    }


    .event-details {

        width: 92%;

        padding: 30px;

        margin-top: 35px;

    }

}



/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */

@media (max-width: 480px) {

    .topbar {

        padding:
            16px 18px;

    }


    .back-btn {

        font-size: 14px;

    }


    .event-header {

        padding:
            55px 18px;

    }


    .event-header h1 {

        font-size: 42px;

    }


    .event-header p {

        font-size: 15px;

    }


    .event-details {

        width: 94%;

        padding: 24px 20px;

        border-radius: 15px;

        margin-top: 25px;

    }


    .event-details h2 {

        font-size: 21px;

    }


    .event-details p,
    #rules {

        font-size: 14px;

    }


    .register-section {

        width: 94%;

        margin-bottom: 45px;

    }


    #registerBtn {

        font-size: 16px;

        padding: 16px;

    }

}