@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #FFF8E8; /* Light mode: soft cream */
    color: #0A2E36; /* Light mode: dark teal text */
    transition: background-color 0.5s ease, color 0.5s ease;
}

body.dark-mode {
    background-color: #1B263B; /* Dark mode: midnight blue */
    color: #E6E8FA; /* Dark mode: light text */
}

/* Header and Navigation */
header {
    background: linear-gradient(90deg, #006D77, #FF6B6B); /* Teal to coral gradient */
    padding: 15px 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: sticky;
    top: 0;
    z-index: 100;
    animation: gradientShift 10s ease infinite;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.nav-list {
    list-style: none;
    display: flex;
    gap: 25px;
}

.nav-link {
    color: #E6E8FA;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 10px 14px;
    border-radius: 5px;
    transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.nav-link:hover {
    background-color: #e57676; /* Golden yellow on hover */
    color: #0A2E36;
    transform: translateY(-3px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.theme-toggle {
    background-color: transparent; /* Coral */
    color: #E6E8FA;
    border: none;
    padding: 10px 15px;
    font-size: 1.3rem;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.theme-toggle:hover {
    background-color: transparent; /* Golden yellow */
    transform: scale(1.1);
}

.hamburger {
    display: none;
    flex-direction: column;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
}

.hamburger span {
    width: 30px;
    height: 4px;
    background-color: #E6E8FA;
    border-radius: 2px;
    transition: all 0.4s ease;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
}

/* Home Section */
.home-section {
    max-width: 1000px;
    margin: 30px auto;
    padding: 30px;
    background-color: #FFFFFF; /* White card in light mode */
    border: 2px solid #FF6B6B; /* Coral border */
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
    animation: fadeInScale 1s ease-in-out;
}

body.dark-mode .home-section {
    background-color: #2A3D66; /* Darker blue in dark mode */
    border-color: #FFD60A; /* Golden yellow border */
}

h1 {
    font-size: 3rem;
    font-weight: 700;
    color: #006D77; /* Teal */
    margin-bottom: 20px;
    animation: slideIn 0.8s ease-in-out;
}

body.dark-mode h1 {
    color: #FFD60A; /* Golden yellow in dark mode */
}

p {
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.8;
    margin-bottom: 25px;
    animation: slideIn 1s ease-in-out;
}

.hero-image {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid #FFD60A; /* Golden yellow frame */
    margin-top: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-image:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}


/* History Section */
.history-section {
    max-width: 1000px;
    margin: 30px auto;
    padding: 30px;
    background-color: #FFFFFF; /* White card in light mode */
    border: 2px solid #006D77; /* Teal border */
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
    animation: fadeInScale 1s ease-in-out;
}

body.dark-mode .history-section {
    background-color: #2A3D66; /* Darker blue in dark mode */
    border-color: #FFD60A; /* Golden yellow border */
}

h1, h2 {
    font-weight: 700;
    color: #006D77; /* Teal */
    margin-bottom: 20px;
}

h1 {
    font-size: 3rem;
    animation: slideIn 0.8s ease-in-out;
}

h2 {
    font-size: 2.2rem;
    animation: slideIn 0.8s ease-in-out;
}

body.dark-mode h1, body.dark-mode h2 {
    color: #FFD60A; /* Golden yellow in dark mode */
}

p {
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.8;
    margin-bottom: 25px;
    animation: slideIn 1s ease-in-out;
}

.hero-image, .history-image {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid #FFD60A; /* Golden yellow frame */
    margin-top: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-image:hover, .history-image:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Landmarks Section */
.landmarks-section {
    max-width: 1000px;
    margin: 30px auto;
    padding: 30px;
    background-color: #FFFFFF; /* White card in light mode */
    border: 2px solid #FFD60A; /* Golden yellow border */
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
    animation: fadeInScale 1s ease-in-out;
}

body.dark-mode .landmarks-section {
    background-color: #2A3D66; /* Darker blue in dark mode */
    border-color: #FF6B6B; /* Coral border in dark mode */
}

h1, h2 {
    font-weight: 700;
    color: #006D77; /* Teal */
    margin-bottom: 20px;
}

h1 {
    font-size: 3rem;
    animation: slideIn 0.8s ease-in-out;
}

h2 {
    font-size: 2.2rem;
    animation: slideIn 0.8s ease-in-out;
}

body.dark-mode h1, body.dark-mode h2 {
    color: #FFD60A; /* Golden yellow in dark mode */
}

p {
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.8;
    margin-bottom: 25px;
    animation: slideIn 1s ease-in-out;
}

.hero-image, .history-image {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid #FFD60A; /* Golden yellow frame */
    margin-top: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-image:hover, .history-image:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Gallery Styles */
.gallery {
    position: relative;
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    border-radius: 10px;
    margin-top: 20px;
}

.gallery-item {
    display: none;
    width: 100%;
}

.gallery-item.active {
    display: block;
    animation: fadeIn 0.5s ease-in-out;
}

.gallery-item img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid #FF6B6B; /* Coral frame */
    transition: transform 0.4s ease;
}

body.dark-mode .gallery-item img {
    border-color: #006D77; /* Teal frame in dark mode */
}

.gallery-item img:hover {
    transform: scale(1.03);
}

.gallery-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
}

.gallery-btn {
    background-color: #006D77; /* Teal */
    color: #E6E8FA;
    border: none;
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.gallery-btn:hover {
    background-color: #056972; /* Coral */
    transform: scale(1.05);
}

.gallery-caption {
    font-size: 1rem;
    font-weight: 300;
    color: #0A2E36;
    flex: 1;
    text-align: center;
    margin: 0 10px;
}

body.dark-mode .gallery-caption {
    color: #E6E8FA;
}

/* Culture Section Styles */
/* ----------------------------------- */
.culture-section {
    max-width: 1000px;
    margin: 30px auto;
    padding: 30px;
    background-color: #FFFFFF;
    border: 2px solid #FF6B6B; /* Coral border */
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
    animation: fadeInScale 1s ease-in-out;
}

body.dark-mode .culture-section {
    background-color: #2A3D66;
    border-color: #006D77; /* Teal border in dark mode */
}

.culture-image {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 10px;
    border: 3px solid #FFD60A; /* Golden yellow frame */
    margin-top: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.culture-image:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.fun-fact-btn {
    background-color: #006D77; /* Teal */
    color: #E6E8FA;
    border: none;
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.fun-fact-btn:hover {
    background-color: #FF6B6B; /* Coral */
    transform: scale(1.05);
}

.fun-fact {
    font-size: 1rem;
    font-weight: 300;
    color: #0A2E36;
    margin-top: 15px;
    animation: fadeIn 0.5s ease-in-out;
}

body.dark-mode .fun-fact {
    color: #E6E8FA;
}

/* ----------------------------------- */
/* Contact Section Styles */
/* ----------------------------------- */
.contact-section {
    max-width: 1000px;
    margin: 30px auto;
    padding: 30px;
    background-color: #FFFFFF;
    border: 2px solid #006D77; /* Teal border */
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
    animation: fadeInScale 1s ease-in-out;
}

body.dark-mode .contact-section {
    background-color: #2A3D66;
    border-color: #FFD60A; /* Golden yellow border */
}

.contact-section form {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 600px;
    margin: 20px auto;
}

.contact-section label {
    font-size: 1.1rem;
    font-weight: 500;
    color: #0A2E36;
    margin-bottom: 8px;
    align-self: flex-start;
}

body.dark-mode .contact-section label {
    color: #E6E8FA;
}

.contact-section input,
.contact-section textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 2px solid #006D77; /* Teal border */
    border-radius: 5px;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.dark-mode .contact-section input,
body.dark-mode .contact-section textarea {
    border-color: #FFD60A; /* Golden yellow border */
    background-color: #3E4B77; /* Slightly lighter dark background */
    color: #E6E8FA;
}

.contact-section input:focus,
.contact-section textarea:focus {
    outline: none;
    border-color: #FF6B6B; /* Coral on focus */
    box-shadow: 0 0 8px rgba(255, 107, 107, 0.3); /* Glow effect */
}

.contact-section textarea {
    resize: vertical; /* Allow vertical resize only */
    min-height: 100px;
}

.submit-btn {
    background-color: #006D77; /* Teal */
    color: #E6E8FA;
    border: none;
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.submit-btn:hover {
    background-color: #FF6B6B; /* Coral */
    transform: scale(1.05);
}


/* General Text Styles (Shared across sections) */
/* ----------------------------------- */
h1, h2 {
    font-weight: 700; /* Bold headings */
    color: #006D77; /* Teal */
    margin-bottom: 20px;
}

h1 {
    font-size: 3rem;
    animation: slideIn 0.8s ease-in-out; /* Slide-in animation */
}

h2 {
    font-size: 2.2rem;
    animation: slideIn 0.8s ease-in-out;
}

body.dark-mode h1, body.dark-mode h2 {
    color: #FFD60A; /* Golden yellow in dark mode */
}

p {
    font-size: 1.2rem;
    font-weight: 300; /* Light text */
    line-height: 1.8; /* Spacious text */
    margin-bottom: 25px;
    animation: slideIn 1s ease-in-out;
}

/* Animations */
@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes slideIn {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}




/* Responsive Design */
@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .nav-list {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        background: linear-gradient(90deg, #006D77, #FF6B6B);
        padding: 20px;
        text-align: center;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

    .nav-list.active {
        display: flex;
    }

    .nav-link {
        font-size: 1.3rem;
        padding: 12px 0;
    }

    .home-section, .history-section, .landmarks-section, .culture-section,.contact-section {
        margin: 15px;
        padding: 20px;
    }

    h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    p {
        font-size: 1rem;
    }

    .hero-image, .history-image, .gallery-item img , .culture-image{
        max-height: 350px;
    }

    .gallery-controls {
        flex-direction: column;
        gap: 10px;
    }

    .gallery-btn , .fun-fact-btn, .submit-btn{
        padding: 8px 15px;
    }

    .gallery-caption, .fun-fact {
        font-size: 0.9rem;
    }
    
    .contact-section input,
    .contact-section textarea {
        font-size: 0.9rem;
    }

}

@media (max-width: 480px) {
    h1 {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    p {
        font-size: 0.9rem;
    }

    .theme-toggle {
        padding: 8px 12px;
        font-size: 1.1rem;
    }

    .hero-image, .history-image, .gallery-item img , .culture-image{
        max-height: 250px;
    }

    .gallery-btn , .fun-fact-btn, .submit-btn{
        font-size: 0.9rem;
    }

    .gallery-caption, .fun-fact {
        font-size: 0.8rem;
    }
    
    .contact-section input,
    .contact-section textarea {
        font-size: 0.8rem;
    }
}