
:root {
    --nepal-red: #DC143C;
    --nepal-blue: #003893;
    --white: #ffffff;
    --light-bg: #f8f9fa;
    --text-dark: #333333;
}
body { font-family: 'Inter', 'Roboto', sans-serif; color: var(--text-dark); overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; color: var(--nepal-blue); }
.topbar { background: var(--nepal-blue); color: var(--white); padding: 8px 0; font-size: 0.9rem; }
.topbar a { color: var(--white); text-decoration: none; }
.topbar .social-icons a { margin-left: 15px; }
.navbar { background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); transition: all 0.3s ease; border-bottom: 1px solid #eee; }
.navbar-brand { font-weight: 800; font-size: 1.5rem; color: var(--nepal-blue) !important; }
.nav-link { font-weight: 600; color: var(--text-dark) !important; margin: 0 10px; transition: color 0.3s; }
.nav-link:hover, .nav-link.active { color: var(--nepal-red) !important; }
.btn-primary-custom { background-color: var(--nepal-blue); color: var(--white); border: none; padding: 10px 25px; border-radius: 50px; font-weight: 600; transition: all 0.3s; }
.btn-primary-custom:hover { background-color: #002870; color: var(--white); transform: translateY(-2px); }
.btn-secondary-custom { background-color: var(--nepal-red); color: var(--white); border: none; padding: 10px 25px; border-radius: 50px; font-weight: 600; transition: all 0.3s; }
.btn-secondary-custom:hover { background-color: #b01030; color: var(--white); transform: translateY(-2px); }
.btn-donate { background: linear-gradient(45deg, var(--nepal-red), #ff4d4d); color: white !important; border-radius: 50px; padding: 8px 25px; font-weight: bold; border: none; box-shadow: 0 4px 15px rgba(220,20,60,0.3); transition: transform 0.3s; }
.btn-donate:hover { transform: translateY(-3px); color: white; }
.hero { padding: 150px 0; background-size: cover; background-position: center; color: var(--white); position: relative; }
.hero h1 { color: var(--white); }
.custom-card { border: none; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: transform 0.3s; overflow: hidden; }
.custom-card:hover { transform: translateY(-10px); }
.card-date { position: absolute; top: 15px; right: 15px; background: var(--nepal-red); color: white; padding: 8px 15px; border-radius: 10px; font-weight: bold; text-align: center; }
.animate-on-scroll { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.is-visible { opacity: 1; transform: translateY(0); }
footer { background: #1a1a1a; color: #ccc; padding: 60px 0 0 0; }
footer h4 { color: white; margin-bottom: 20px; font-size: 1.2rem; }
.footer-links { list-style: none; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: #ccc; text-decoration: none; transition: color 0.3s; }
.footer-links a:hover { color: var(--nepal-red); padding-left: 5px; }
.footer-bottom { background: #111; padding: 20px 0; margin-top: 40px; border-top: 1px solid #333; }
#backToTop { position: fixed; bottom: 30px; right: 30px; background: var(--nepal-red); color: white; width: 45px; height: 45px; border-radius: 50%; border: none; display: none; z-index: 1000; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.folder-badge { position: absolute; bottom: 15px; left: 15px; background: rgba(0, 56, 147, 0.85); color: var(--white); padding: 6px 12px; border-radius: 50px; font-size: 0.8rem; font-weight: 600; backdrop-filter: blur(5px); }
.folder-card { transition: all 0.3s ease; border-radius: 15px; overflow: hidden; }
.folder-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important; }
.folder-card img { height: 250px; object-fit: cover; transition: transform 0.5s ease; }
.folder-card:hover img { transform: scale(1.05); }
.gallery-img-wrapper { position: relative; overflow: hidden; border-radius: 10px; cursor: pointer; }
.gallery-img-wrapper img { width: 100%; height: 250px; object-fit: cover; transition: transform 0.5s; }
.gallery-img-wrapper:hover img { transform: scale(1.1); }
.gallery-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,56,147,0.7); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; color: white; font-size: 2rem; }
.gallery-img-wrapper:hover .gallery-overlay { opacity: 1; }
.page-header { padding: 80px 0; background-size: cover; background-position: center; color: white; text-align: center; }
.page-header h1 { color: white; }
