@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;700&display=swap');

body {
    font-family: 'Kanit', sans-serif;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

/* Navbar Custom Styles */
.navbar-glass {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.navbar-scrolled {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(30px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.navbar-scrolled .nav-link {
    color: #374151 !important;
}

.navbar-scrolled .nav-link:hover {
    color: #7c3aed !important;
}

.navbar-scrolled .navbar-brand .text-dark {
    color: #212529 !important;
}

.navbar-scrolled .navbar-brand .text-muted {
    color: #6c757d !important;
}

.nav-link {
    position: relative;
    overflow: hidden;
    color: #fff;
}

.nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.nav-link:hover::before {
    left: 100%;
}

/* Hero Section Custom Styles */
.hero-bg {
    background: linear-gradient(135deg, #f87171, #c084fc, #22d3ee);
}

.hero-text-gradient {
    background: linear-gradient(to right, #fde047, #fdba74);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.feature-card {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 1.5rem;
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
}

.feature-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.float-animation {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* KM Day Section Custom Styles */
.kmday-bg {
    background: linear-gradient(135deg, #e3f2fd, #ffffff, #bbdefb);
}

.kmday-card {
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 1.5rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    border: 1px solid #e3f2fd;
}

.kmday-icon-header {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(to right, #42a5f5, #2196f3);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.kmday-list-item-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(to right, #e3f2fd, #e3f2fd);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kmday-text-gradient {
    background: linear-gradient(to right, #42a5f5, #2196f3);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.btn-shine-effect {
    position: relative;
    overflow: hidden;
}

.btn-shine-effect::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2) 50%, transparent);
    transform: translateX(-100%);
    transition: transform 0.7s;
}

.btn-shine-effect:hover::before {
    transform: translateX(100%);
}



/* LD2 Section Custom Styles */
.ld2-bg {
    background: linear-gradient(135deg, #f3e5f5, #ffffff, #ede7f6);
}

.ld2-card {
    border-radius: 1.5rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.ld2-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.2);
}

.ld2-icon-box {
    width: 64px;
    height: 64px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ld2-icon-box.purple {
    background-color: #f3e5f5;
}

.ld2-icon-box.indigo {
    background-color: #e8eaf6;
}

.ld2-icon-box.pink {
    background-color: #fce4ec;
}

.ld2-icon-box.blue {
    background-color: #e1f5fe;
}

.ld2-text-purple {
    color: #6a1b9a;
}

.ld2-text-indigo {
    color: #3f51b5;
}

.ld2-text-pink {
    color: #d81b60;
}

.ld2-text-blue {
    color: #0288d1;
}

/* About Section Custom Styles */
.about-bg {
    background: linear-gradient(135deg, #f5f5f5, #ffffff, #e3f2fd);
}

.about-text-gradient {
    background: linear-gradient(to right, #4db6ac, #42a5f5);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.about-list-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.director-card {
    background-color: #fff;
    border-radius: 1.5rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
    transition: all 0.3s ease;
}

.director-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.2);
}

/* Team Section Custom Styles */
.team-bg {
    background: linear-gradient(135deg, #f8fafc, #eef2ff, #e1e9f4);
}

.team-header-icon {
    width: 64px;
    height: 64px;
    border-radius: 1rem;
    background: linear-gradient(to right, #42a5f5, #ab47bc);
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-member-card {
    border-radius: 1.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    transition: all 0.5s ease;
}

.team-member-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
}

.team-member-image-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
    opacity: 0;
    transition: opacity 0.5s;
}

.team-member-card:hover .team-member-image-overlay {
    opacity: 1;
}

.team-member-info {
    transform: translateY(100%);
    transition: transform 0.5s;
}

.team-member-card:hover .team-member-info {
    transform: translateY(0);
}

/* Testimonials Section Custom Styles */
.testimonials-bg {
    background: linear-gradient(135deg, #f3e5f5, #ffffff, #ede7f6);
}

.testimonials-text-gradient {
    background: linear-gradient(to right, #4a148c, #880e4f);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}



/* Contact Section Custom Styles */
.contact-card {
    border-radius: 1.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.15);
}

.contact-icon-box {
    width: 64px;
    height: 64px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-icon-box.blue {
    background: linear-gradient(to bottom right, #42a5f5, #2196f3);
}

.contact-icon-box.green {
    background: linear-gradient(to bottom right, #66bb6a, #43a047);
}

.contact-icon-box.purple {
    background: linear-gradient(to bottom right, #ab47bc, #8e24aa);
}

/* Footer Custom Styles */
.footer-bg {
    background-color: #212529;
}