/* ================= GLOBAL ================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {

    font-family: 'Poppins', sans-serif;

    background: #f8f9fc;

    color: #111827;

}


.container {

    width: 90%;

    max-width: 1200px;

    margin: auto;

}


section {

    padding: 90px 0;

}



.section-title {

    text-align: center;

    margin-bottom: 55px;

}


.section-title h2 {

    font-family: 'Playfair Display', serif;

    font-size: 42px;

    color: #091305;

    margin-bottom: 12px;

}


.section-title p {

    color: #666;

    font-size: 16px;

}



/* ================= NAVBAR ================= */


.navbar {

    position: fixed;

    top: 0;

    width: 100%;

    height: 80px;

    padding: 0 5%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    background: rgba(10,36,1,0.92);

    backdrop-filter: blur(12px);

    z-index: 1000;

    margin-bottom: 40px;

}



.logo {

    display: flex;

    align-items: center;

    gap: 12px;

    color: white;

    font-size: 22px;

    font-weight: 600;

    

}



.logo img {

    width: 45px;

    height: 45px;

    object-fit: cover;

    border-radius: 50%;

}



.nav-links {

    display: flex;

    list-style: none;

    gap: 28px;

}



.nav-links a {

    color: white;

    text-decoration: none;

    font-size: 15px;

    transition: .3s;

}


.nav-links a:hover {

    color: #d4af37;

}



.register-btn {

    background: #d4af37;

    color: #111 !important;

    padding: 12px 25px;

    border-radius: 30px;

    text-decoration: none;

    font-weight: 600;

}





/* ================= HERO ================= */


.hero {

    height: 100vh;

    background:

    url("IMAGES/SOIMUNLOGO.webp");

    background-size: cover;

    background-position: center;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    margin-bottom : 40px;

}



.overlay {

    position: absolute;

    inset: 0;

    background:

    rgba(10,36,1,0.75);

}



.hero-content {

    position: relative;

    max-width: 900px;

    color: white;

}



.hero-content h3 {

    font-size: 20px;

    letter-spacing: 2px;

}



.hero-content h1 {

    font-family: 'Playfair Display', serif;

    font-size: 80px;

    margin: 20px 0;

    color: #d4af37;

}



.hero-content p {

    font-size: 20px;

    line-height: 1.7;

}




/* ================= BUTTONS ================= */


.hero-buttons {

    display: flex;

    justify-content: center;

    gap: 20px;

    margin-top: 35px;

}



.primary-btn,
.secondary-btn {

    padding: 14px 35px;

    border-radius: 30px;

    text-decoration: none;

    font-weight: 600;

    transition: .3s;

}



.primary-btn {

    background: #d4af37;

    color: #111;
    
}



.secondary-btn {

    color: white;

    border: 2px solid white;

}



.primary-btn:hover,
.secondary-btn:hover {

    transform: translateY(-5px);

}




/* ================= COUNTDOWN ================= */


.countdown {

    display: flex;

    justify-content: center;

    gap: 20px;

    margin-top: 50px;

}



.countdown .box {

    width: 100px;

    padding: 20px;

    background: rgba(255,255,255,.15);

    backdrop-filter: blur(10px);

    border-radius: 15px;

}



.countdown span {

    color: #d4af37;

    font-size: 35px;

    font-weight: 700;

}



.countdown p {

    font-size: 14px;

}





/* ================= ABOUT ================= */


.about {

    background: white;

}



.about-grid {

    display: grid;

    grid-template-columns: 1.5fr 1fr;

    gap: 50px;

    align-items: center;

}



.about-text h3 {

    font-size: 32px;

    color: #091305;

    margin-bottom: 20px;

}



.about-text p {

    color: #555;

    line-height: 1.8;

    margin-bottom: 20px;

}



.about-card {

    background: #091305;

    color: white;

    padding: 40px;

    border-radius: 20px;

    text-align: center;

}



.about-card i {

    font-size: 50px;

    color: #d4af37;

    margin-bottom: 20px;

}

/* ================= THEME ================= */


.theme {

    background: #f8f9fc;

}



.theme-content {

    display: grid;

    grid-template-columns: repeat(3,1fr);

    gap: 30px;

}



.theme-card {

    background: white;

    padding: 35px;

    border-radius: 20px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0,0,0,0.08);

    transition: .3s;

}



.theme-card:hover {

    transform: translateY(-10px);

}



.theme-card i {

    font-size: 45px;

    color: #d4af37;

    margin-bottom: 20px;

}



.theme-card h3 {

    color: #091305;

    margin-bottom: 15px;

}



.theme-card p {

    color: #666;

    line-height: 1.7;

}





/* ================= SECRETARY GENERAL ================= */


.sg-message {

    background: white;

}



.sg-grid {

    display: grid;

    grid-template-columns: 1fr 1.5fr;

    gap: 60px;

    align-items: center;

}



.sg-image img {

    width: 100%;

    border-radius: 25px;

    object-fit: cover;

}



.sg-content span {

    color: #d4af37;

    font-weight: 600;

}



.sg-content h2 {

    font-family: 'Playfair Display', serif;

    font-size: 42px;

    color: #091305;

    margin: 15px 0;

}



.sg-content p {

    color: #555;

    line-height: 1.8;

    margin-bottom: 18px;

}



.sg-content h4 {

    color: #091305;

}





/* ================= SECRETARIAT ================= */


.team-grid {

    display: grid;

    grid-template-columns: repeat(3,1fr);

    gap: 30px;

}



.member-card {

    background: white;

    text-align: center;

    padding: 25px;

    border-radius: 20px;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

    transition: .3s;

}



.member-card:hover {

    transform: translateY(-8px);

}



.member-card img {

    width: 140px;

    height: 140px;

    border-radius: 50%;

    object-fit: cover;

    margin-bottom: 20px;

}



.member-card h3 {

    color:#091305;

    margin-bottom: 8px;

}



.member-card span {

    color:#d4af37;

    font-size:14px;

}






/* ================= COMMITTEES ================= */


.committees {

    background:#f8f9fc;

}



.committee-grid {

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}



.committee-card {

    background:white;

    padding:35px 25px;

    text-align:center;

    border-radius:20px;

    cursor:pointer;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    border:1px solid rgba(212,175,55,.2);

    transition:.4s;

}



.committee-card:hover {

    transform:translateY(-12px);

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}



.committee-card img {

    width: 100%;
    max-width: 120px;
    height: 180px;

    object-fit: contain;
    display: block;
    margin: 0 auto 20px;
}



.committee-card h3 {

    color:#091305;

    margin-bottom:10px;

}



.committee-card p {

    color:#666;

    font-size:14px;

}






/* ================= MODALS ================= */


.modal {

    display:none;

    position:fixed;

    inset:0;

    background:rgba(5,18,35,.75);

    backdrop-filter:blur(8px);

    z-index:2000;

    justify-content:center;

    align-items:center;

}



.modal-content {

    background:white;

    width:90%;

    max-width:600px;

    padding:40px;

    border-radius:25px;

    text-align:center;

    position:relative;

    animation:popup .35s ease;

}



@keyframes popup {


    from {

        transform:scale(.7);

        opacity:0;

    }


    to {

        transform:scale(1);

        opacity:1;

    }


}



.modal-content img {

    width:100px;

    height:100px;

    object-fit:contain;

    margin-bottom:20px;

}



.modal-content h2 {

    font-family:'Playfair Display',serif;

    color:#091305;

    margin-bottom:15px;

}



.modal-content p {

    color:#555;

    line-height:1.7;

}



.modal-content h4 {

    color:#d4af37;

    margin-top:20px;

}



.close {

    position:absolute;

    top:15px;

    right:25px;

    font-size:35px;

    cursor:pointer;

    color:#091305;

}



.close:hover {

    color:#d4af37;

}





/* ================= REGISTRATION ================= */


.registration {

    background:

    linear-gradient(

    135deg,

     #091305,

     #123D05

    );

}



.register-box {

    text-align:center;

    color:white;

}



.register-box h2 {

    font-family:'Playfair Display',serif;

    font-size:45px;

    margin-bottom:20px;

}



.register-box p {

    max-width:700px;

    margin:auto;

    line-height:1.2;

    margin-bottom:35px;

}

.register-box .button-group {
    display: flex;
    justify-content: center;
    gap: 20px; /* Space between the two buttons */
    margin-top: 30px;
    flex-wrap: wrap; /* Optional: buttons wrap on small screens */
}

 

/* ================= GALLERY ================= */


.gallery {

    background:#f8f9fc;

}



.gallery-grid {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}



.gallery-item {

    overflow:hidden;

    border-radius:20px;

    height:250px;

}



.gallery-item img {

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}



.gallery-item:hover img {

    transform:scale(1.1);

}





/* ================= CONTACT ================= */


.contact {

    background:white;

}



.contact-grid {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.contact-card {

    background:#f8f9fc;

    padding:35px;

    text-align:center;

    border-radius:20px;

    transition:.3s;

}



.contact-card:hover {

    transform:translateY(-8px);

}



.contact-card i {

    font-size:40px;

    color:#d4af37;

    margin-bottom:20px;

}



.contact-card h3 {

    color:#091305;

    margin-bottom:15px;

}



.contact-card p {

    color:#666;

    line-height:1.7;

}



.social-links {

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:40px;

}



.social-links a {

    width:50px;

    height:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#091305;

    color:white;

    font-size:20px;

    transition:.3s;

}



.social-links a:hover {

    background:#d4af37;

    color:#111;

}






/* ================= VENUE MAP ================= */


.venue-map {

    background:#f8f9fc;

}



.map-container {

    display:grid;

    grid-template-columns:1fr 1.5fr;

    gap:40px;

    align-items:center;

}



.address-box {

    background:#091305;

    color:white;

    padding:40px;

    border-radius:25px;

}



.address-box i {

    font-size:45px;

    color:#d4af37;

    margin-bottom:20px;

}



.address-box h3 {

    font-size:30px;

    margin-bottom:15px;

}



.address-box p {

    line-height:1.8;

    margin-bottom:30px;

}



.map-frame iframe {

    border-radius:25px;

}





/* ================= FOOTER ================= */


footer {

    background:#061800;;

    color:white;

    padding:60px 0 20px;

}



.footer-content {

    display:flex;

    justify-content:space-between;

    gap:40px;

}



.footer-content h2 {

    color:#d4af37;

    margin-bottom:15px;

}



.footer-content p {

    color:#ccc;

    max-width:350px;

    line-height:1.7;

}



.footer-links {

    display:flex;

    flex-direction:column;

    gap:12px;

}



.footer-links h3 {

    margin-bottom:10px;

}



.footer-links a {

    color:#ccc;

    text-decoration:none;

}



.footer-links a:hover {

    color:#d4af37;

}



.copyright {

    text-align:center;

    border-top:1px solid rgba(255,255,255,.15);

    margin-top:40px;

    padding-top:20px;

    color:#aaa;

}






/* ================= RESPONSIVE ================= */



@media(max-width:1000px) {


    .nav-links {

        display:none;

    }


    .hero-content h1 {

        font-size:55px;

    }


    .about-grid,
    .sg-grid,
    .map-container {

        grid-template-columns:1fr;

    }


    .theme-content {

        grid-template-columns:1fr;

    }


    .team-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .committee-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .gallery-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .contact-grid {

        grid-template-columns:1fr;

    }

}





@media(max-width:600px) {


    section {

        padding:60px 0;

    }


    .hero-content h1 {

        font-size:42px;

    }


    .hero-content p {

        font-size:16px;

    }


    .hero-buttons {

        flex-direction:column;

        align-items:center;

    }


    .countdown {

        gap:10px;

    }


    .countdown .box {

        width:75px;

        padding:15px 5px;

    }


    .countdown span {

        font-size:25px;

    }


    .section-title h2 {

        font-size:32px;

    }


    .team-grid,
    .committee-grid,
    .gallery-grid {

        grid-template-columns:1fr;

    }


    .event {

        flex-direction:column;

    }


    .footer-content {

        flex-direction:column;

    }


    .modal-content {

        padding:25px;

    }

}

/* ================= MESSAGE SECTIONS ================= */


.message {

    background: white;

}



.message.alternate {

    background: #f8f9fc;

}



.message-grid {

    display: grid;

    grid-template-columns: 1fr 1.5fr;

    gap: 60px;

    align-items: center;

}



.message-image img {

    width: 100%;

    max-width: 420px;

    height: 450px;

    object-fit: cover;

    border-radius: 25px;

    box-shadow: 0 15px 35px rgba(0,0,0,0.15);

}



.message-content span {

    color: #d4af37;

    font-weight: 600;

    letter-spacing: 1px;

}



.message-content h2 {

    font-family: 'Playfair Display', serif;

    font-size: 42px;

    color: #091305;

    margin: 15px 0 20px;

}



.message-content p {

    color: #555;

    line-height: 1.8;

    margin-bottom: 18px;

    font-size: 16px;

}



.message-content h4 {

    color: #091305;

    margin-top: 25px;

    font-size: 18px;

}



/* Alternate layout on desktop */

.message.alternate .message-grid {

    grid-template-columns: 1.5fr 1fr;

}



/* ================= MESSAGE IMAGE HOVER ================= */


.message-image {

    overflow: hidden;

    border-radius: 25px;

}



.message-image img {

    transition: 0.4s ease;

}



.message-image:hover img {

    transform: scale(1.05);

}





/* ================= MOBILE ================= */


@media(max-width:900px){


    .message-grid,
    .message.alternate .message-grid {

        grid-template-columns: 1fr;

    }


    .message-image {

        text-align:center;

    }


    .message-image img {

        height:350px;

    }


    .message-content h2 {

        font-size:32px;

    }


}

@media (max-width: 600px) {
    .register-box .button-group {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
}