
:root {
    --primary-color: #0d6efd;
    --primary-dark: #0d6efd;
    --dark-color: #151515;
    --text-color: #555;
    --light-bg: #f8f9fa;
    --border-color: #eeeeee;
}


/* =========================================================
   TOP HEADER
========================================================= */

.top-header-modern {
    background: #151515;
    color: #fff;
    position: relative;
    z-index: 1001;
}

.top-header-inner {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header-contact {
    display: flex;
    align-items: center;
    gap: 28px;
}

.header-contact-item {
    color: rgba(255,255,255,.85);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    transition: .3s ease;
}

.header-contact-item:hover {
    color: var(--primary-color);
}

.contact-icon {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 17px;
}

.header-social {
    display: flex;
    align-items: center;
    gap: 7px;
}

.follow-text {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-right: 8px;
    opacity: .65;
}

.header-social a {
    width: 29px;
    height: 29px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    transition: all .3s ease;
}

.header-social a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    transform: translateY(-2px);
}


/* =========================================================
   MAIN NAVBAR
========================================================= */

.modern-navbar {
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,.07);
    z-index: 1000;
}

.modern-navbar-inner {
    min-height: 86px;
    padding: 0;
    display: flex;
    align-items: center;
}

.modern-logo {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.modern-logo img {
    max-height: 58px;
    width: auto;
    object-fit: contain;
}

.logo-default,
.logo-custom {
    transition: .3s ease;
}


/* =========================================================
   DESKTOP NAVIGATION
========================================================= */

.desktop-navigation {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 5px;
}

.modern-nav-link {
    position: relative;
    padding: 32px 17px;
    color: #242424;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .2px;
    transition: all .3s ease;
}

.modern-nav-link::after {
    content: "";
    position: absolute;
    left: 17px;
    right: 17px;
    bottom: 20px;
    height: 2px;
    background: var(--primary-color);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}

.modern-nav-link:hover,
.modern-nav-link.active {
    color: var(--primary-color);
}

.modern-nav-link:hover::after,
.modern-nav-link.active::after {
    transform: scaleX(1);
}


/* =========================================================
   REGISTER BUTTON
========================================================= */

.register-btn {
    margin-left: 15px;
    min-height: 48px;
    padding: 0 19px;
    border-radius: 7px;
    background: var(--primary-color);
    color: #fff !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(241,90,41,.20);
    transition: all .3s ease;
}

.register-btn:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(241,90,41,.30);
}

.register-icon {
    font-size: 17px;
}

.register-arrow {
    margin-left: 3px;
    transition: transform .3s ease;
}

.register-btn:hover .register-arrow {
    transform: translateX(4px);
}


/* =========================================================
   MOBILE HAMBURGER
========================================================= */

.mobile-menu-toggle {
    display: none;
    width: 50px;
    height: 50px;
    margin-left: auto;
    border: 0;
    border-radius: 8px;
    background: var(--dark-color);
    padding: 0 13px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    transition: .3s ease;
}

.mobile-menu-toggle:hover {
    background: var(--primary-color);
}

.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    border-radius: 10px;
    transition: .3s ease;
}

.mobile-menu-toggle span:nth-child(2) {
    width: 17px;
    margin-left: auto;
}


/* =========================================================
   SIDE OFFCANVAS MENU
========================================================= */

.modern-side-menu {
    width: min(430px, 92vw) !important;
    background: #fff;
    border: 0 !important;
    box-shadow: -20px 0 60px rgba(0,0,0,.15);
}

.modern-side-menu .offcanvas-body {
    padding: 0 32px 35px;
    overflow-y: auto;
}


/* =========================================================
   SIDE MENU HEADER
========================================================= */

.side-menu-header {
    min-height: 100px;
    padding: 20px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eee;
}

.side-menu-logo img {
    max-width: 155px;
    max-height: 55px;
    object-fit: contain;
}


/* =========================================================
   X CLOSE BUTTON
========================================================= */

.side-menu-close {
    position: relative;
    width: 46px;
    height: 46px;
    border: 1px solid #e7e7e7;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    transition: all .3s ease;
}

.side-menu-close span {
    position: absolute;
    width: 19px;
    height: 2px;
    background: #222;
    left: 13px;
    top: 21px;
    transition: .3s ease;
}

.side-menu-close span:first-child {
    transform: rotate(45deg);
}

.side-menu-close span:last-child {
    transform: rotate(-45deg);
}

.side-menu-close:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    transform: rotate(90deg);
}

.side-menu-close:hover span {
    background: #fff;
}


/* =========================================================
   MENU LABEL
========================================================= */

.side-menu-label {
    padding-top: 32px;
    padding-bottom: 15px;
    font-size: 11px;
    font-weight: 700;
    color: #999;
    letter-spacing: 2px;
}


/* =========================================================
   SIDE NAVIGATION
========================================================= */

.side-navigation {
    border-top: 1px solid #eeeeee;
}

.side-nav-link {
    min-height: 65px;
    display: flex;
    align-items: center;
    gap: 18px;
    border-bottom: 1px solid #eeeeee;
    text-decoration: none;
    color: #202020;
    position: relative;
    transition: all .3s ease;
}

.side-nav-number {
    width: 27px;
    font-size: 10px;
    color: #aaa;
    font-weight: 700;
}

.side-nav-text {
    flex: 1;
    font-size: 17px;
    font-weight: 600;
    transition: .3s ease;
}

.side-nav-link > i {
    font-size: 17px;
    opacity: 0;
    transform: translateX(-8px);
    transition: all .3s ease;
}

.side-nav-link:hover,
.side-nav-link.active {
    color: var(--primary-color);
    padding-left: 7px;
}

.side-nav-link:hover .side-nav-number,
.side-nav-link.active .side-nav-number {
    color: var(--primary-color);
}

.side-nav-link:hover > i,
.side-nav-link.active > i {
    opacity: 1;
    transform: translateX(0);
}


/* =========================================================
   SIDE REGISTER
========================================================= */

.side-register-wrapper {
    margin-top: 28px;
}

.side-register-btn {
    width: 100%;
    min-height: 58px;
    padding: 0 22px;
    background: var(--primary-color);
    border-radius: 8px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    font-weight: 700;
    transition: all .3s ease;
    box-shadow: 0 10px 25px rgba(241,90,41,.18);
}

.side-register-btn span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.side-register-btn i {
    transition: transform .3s ease;
}

.side-register-btn:hover {
    background: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
}

.side-register-btn:hover > i {
    transform: translateX(5px);
}


/* =========================================================
   SIDE CONTACT
========================================================= */

.side-menu-contact {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid #eee;
}

.side-contact-title {
    margin-bottom: 14px;
    color: #999;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.side-menu-contact a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #555;
    text-decoration: none;
    font-size: 13px;
    margin-bottom: 10px;
    word-break: break-word;
}

.side-menu-contact a i {
    width: 20px;
    color: var(--primary-color);
    font-size: 16px;
}


/* =========================================================
   SIDE SOCIAL
========================================================= */

.side-social {
    display: flex;
    gap: 9px;
    margin-top: 22px;
}

.side-social a {
    width: 38px;
    height: 38px;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    text-decoration: none;
    transition: all .3s ease;
}

.side-social a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    transform: translateY(-3px);
}


/* =========================================================
   OFFCANVAS BACKDROP
========================================================= */

.offcanvas-backdrop.show {
    opacity: .65;
}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media (max-width: 1199px) {

    .desktop-navigation {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .modern-navbar-inner {
        min-height: 76px;
    }

    .modern-logo img {
        max-height: 52px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .top-header-inner {
        min-height: 42px;
        justify-content: center;
    }

    .header-contact {
        width: 100%;
        justify-content: center;
    }

    .header-contact-item {
        font-size: 11px;
    }

    .header-contact-item:first-child {
        display: none;
    }

    .header-social {
        display: none;
    }

    .modern-navbar-inner {
        min-height: 70px;
    }

    .modern-logo img {
        max-width: 135px;
        max-height: 48px;
    }

    .mobile-menu-toggle {
        width: 45px;
        height: 45px;
    }

    .modern-side-menu {
        width: 90vw !important;
    }

    .side-menu-header {
        padding: 17px 22px;
        min-height: 82px;
    }

    .modern-side-menu .offcanvas-body {
        padding-left: 22px;
        padding-right: 22px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .contact-text {
        max-width: 190px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .side-nav-text {
        font-size: 16px;
    }

}
.page-header-modern {position: relative;padding: 140px 0 120px;overflow: hidden;background: linear-gradient(rgba(10, 25, 47, 0.75),rgba(10, 25, 47, 0.75));}
.page-header-modern::before {content: "";position: absolute;top: -120px;right: -120px;width: 350px;height: 350px;background: rgba(255,255,255,0.08);border-radius: 50%;}
.page-header-modern::after {content: "";position: absolute;bottom: -150px;left: -150px;width: 400px;height: 400px;background: rgba(255,255,255,0.05);border-radius: 50%;}
.header-content {position: relative;z-index: 2;max-width: 800px;margin: auto;}
.page-badge {display: inline-flex;align-items: center;gap: 8px;background: rgba(255,255,255,0.12);color: #fff;padding: 10px 22px;border-radius: 50px;backdrop-filter: blur(10px);margin-bottom: 25px;font-size: 14px;font-weight: 600;}
.header-content h1 {font-size: 65px;font-weight: 800;color: #fff;margin-bottom: 20px;letter-spacing: -1px;}
.header-content p {color: rgba(255,255,255,0.85);font-size: 18px;line-height: 1.8;max-width: 650px;margin: auto;margin-bottom: 35px;}
.breadcrumb-box {display: inline-flex;align-items: center;gap: 12px;background: rgba(255,255,255,0.12);padding: 14px 30px;border-radius: 50px;backdrop-filter: blur(15px);}
.breadcrumb-box a {color: #fff;text-decoration: none;font-weight: 600;transition: 0.3s;}
.breadcrumb-box a:hover {color: #00c2ff;}
.breadcrumb-box span {color: rgba(255,255,255,0.8);}
.breadcrumb-box .active {color: #00c2ff;font-weight: 700;}
@media (max-width: 768px) {.page-header-modern {padding: 100px 0 80px;}
.header-content h1 {font-size: 42px;}
.header-content p {font-size: 16px;}}
/* About Section */
.about-section {background: #ffffff;}
.about-image-wrapper img {transition: 0.5s;border-radius: 25px;}
.about-image-wrapper:hover img {transform: scale(1.03);}
.about-content h2 {color: #1f2937;line-height: 1.3;}
.about-content p {line-height: 1.9;text-align: justify;}
.team-area {background: #f8fafc;}
.volunteer-card {background: #fff;border-radius: 25px;overflow: hidden;box-shadow: 0 10px 35px rgba(0,0,0,0.08);transition: all .4s ease;height: 100%;}
.volunteer-card:hover {transform: translateY(-12px);box-shadow: 0 20px 45px rgba(0,0,0,0.15);}
.volunteer-image {position: relative;overflow: hidden;}
.volunteer-image img {width: 100%;height: 380px;object-fit: cover;transition: .5s;}
.volunteer-card:hover .volunteer-image img {transform: scale(1.08);}
.overlay {position: absolute;inset: 0;background: linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.15));opacity: 0;transition: .4s;display: flex;align-items: flex-end;justify-content: center;padding-bottom: 25px;}
.volunteer-card:hover .overlay {opacity: 1;}
.volunteer-content {padding: 25px;text-align: center;}
.volunteer-content h4 {font-size: 24px;font-weight: 700;margin-bottom: 8px;color: #1e293b;}
.volunteer-content span {color: #0d6efd;font-weight: 600;font-size: 15px;}
.divider {width: 60px;height: 3px;background: linear-gradient(90deg,#0d6efd,#6610f2);margin: 18px auto;border-radius: 50px;}
.btn-view {display: inline-flex;align-items: center;gap: 6px;text-decoration: none;color: #0d6efd;font-weight: 600;transition: .3s;}
.btn-view:hover {color: #6610f2;}
.section-title h2 {color: #1e293b;margin-bottom: 15px;}
/* Section */
.causes-section {background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);}
.section-badge {display: inline-block;padding: 8px 20px;background: rgba(0,123,255,.1);color: #0d6efd;border-radius: 50px;font-weight: 600;font-size: 14px;}
.section-title {font-size: 38px;font-weight: 700;color: #1d3557;}
.section-desc {max-width: 650px;margin: auto;color: #6c757d;}
/* Card */
.cause-card {position: relative;background: #fff;padding: 35px 25px;text-align: center;border-radius: 20px;transition: all .4s ease;overflow: hidden;box-shadow: 0 8px 30px rgba(0,0,0,.06);border: 1px solid #eef2f7;}
.cause-card:hover {transform: translateY(-10px);box-shadow: 0 20px 40px rgba(13,110,253,.15);}
/* Top Gradient Line */
.cause-card::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 5px;background: linear-gradient(90deg,#0d6efd,#00c6ff);}
/* Icon */
.cause-icon {width: 90px;height: 90px;margin: 0 auto 20px;border-radius: 50%;background: #f3f8ff;display: flex;align-items: center;justify-content: center;transition: .4s;}
.cause-icon img {width: 55px;height: 55px;object-fit: contain;}
.cause-card:hover .cause-icon {background: linear-gradient(135deg,#0d6efd,#00c6ff);}
.cause-card h5 {font-size: 20px;font-weight: 700;margin-bottom: 12px;color: #1d3557;}
.cause-card p {color: #6c757d;font-size: 15px;line-height: 1.7;margin-bottom: 20px;}
/* Arrow */
.cause-arrow {width: 40px;height: 40px;margin: auto;border-radius: 50%;background: #f3f8ff;display: flex;align-items: center;justify-content: center;color: #0d6efd;font-size: 20px;transition: .3s;}
.cause-card:hover .cause-arrow {background: #0d6efd;color: #fff;}
.causes-section {background: #f8fafc;position: relative;}
.section-badge {display: inline-block;background: rgba(34, 197, 94, .1);color: #16a34a;padding: 8px 18px;border-radius: 50px;font-size: 14px;font-weight: 600;}
.section-title {font-size: 42px;font-weight: 700;color: #1e293b;margin-bottom: 15px;}
.section-desc {max-width: 650px;margin: auto;color: #64748b;font-size: 16px;}
.cause-card {background: #fff;border-radius: 24px;overflow: hidden;transition: all .4s ease;box-shadow: 0 10px 30px rgba(0,0,0,.05);height: 100%;}
.cause-card:hover {transform: translateY(-10px);box-shadow: 0 20px 50px rgba(0,0,0,.12);}
.cause-image {position: relative;overflow: hidden;height: 260px;}
.cause-image img {width: 100%;height: 100%;object-fit: cover;transition: transform .5s ease;}
.cause-card:hover .cause-image img {transform: scale(1.08);}
.cause-content {padding: 25px;}
.cause-content h4 {font-size: 22px;font-weight: 700;color: #1e293b;margin-bottom: 12px;}
.cause-content p {color: #64748b;line-height: 1.8;margin-bottom: 20px;}
.read-more-btn {display: inline-flex;align-items: center;gap: 8px;color: #16a34a;font-weight: 600;text-decoration: none;transition: all .3s ease;}
.read-more-btn:hover {color: #15803d;gap: 12px;}
@media(max-width:768px) {.section-title {font-size: 30px;}
.cause-image {height: 220px;}}
.counter-area {background: linear-gradient(135deg, #f8fafc, #eef4ff);}
.counter-card {background: rgba(255,255,255,0.9);backdrop-filter: blur(10px);border-radius: 20px;transition: all .4s ease;box-shadow: 0 10px 30px rgba(0,0,0,.08);border: 1px solid rgba(255,255,255,.3);position: relative;overflow: hidden;}
.counter-card::before {content: '';position: absolute;top: -60px;right: -60px;width: 120px;height: 120px;background: rgba(13,110,253,.08);border-radius: 50%;}
.counter-card:hover {transform: translateY(-10px);box-shadow: 0 20px 40px rgba(13,110,253,.15);}
.counter-icon {width: 70px;height: 70px;margin: 0 auto 20px;border-radius: 50%;background: linear-gradient(135deg, #0d6efd, #4f46e5);display: flex;align-items: center;justify-content: center;color: #fff;font-size: 30px;box-shadow: 0 10px 25px rgba(13,110,253,.25);}
.counter-number {font-size: 42px;font-weight: 700;color: #1e293b;margin-bottom: 10px;}
.counter-title {font-size: 16px;color: #64748b;font-weight: 500;margin: 0;}
@media(max-width:768px){.counter-number{font-size:32px;}
.counter-icon{width:60px;height:60px;font-size:24px;}}
/* Gallery Section */
.gallery-area-modern {background: #f8fafc;overflow: hidden;}
/* Heading */
.gallery-subtitle {display: inline-block;color: #0d6efd;font-weight: 600;text-transform: uppercase;letter-spacing: 2px;margin-bottom: 10px;}
.gallery-title {font-size: 42px;font-weight: 800;color: #1f2937;margin-bottom: 15px;}
.gallery-desc {max-width: 600px;margin: auto;color: #6b7280;font-size: 16px;}
/* Gallery Card */
.gallery-card {position: relative;border-radius: 20px;overflow: hidden;margin: 10px;background: #fff;box-shadow: 0 10px 35px rgba(0,0,0,.08);}
.gallery-card img {width: 100%;height: 320px;object-fit: cover;transition: all .6s ease;}
/* Overlay */
.gallery-overlay {position: absolute;inset: 0;background: linear-gradient(to top,rgba(13,110,253,.95),rgba(13,110,253,.35));
display: flex;align-items: center;justify-content: center;opacity: 0;transition: .4s ease;}
/* Icon */
.gallery-icon {width: 70px;height: 70px;border-radius: 50%;background: rgba(255,255,255,.2);backdrop-filter: blur(10px);display: flex;align-items: center;justify-content: center;color: #fff;font-size: 28px;transform: scale(.5);transition: .4s ease;}
/* Hover Effects */
.gallery-card:hover img {transform: scale(1.12);}
.gallery-card:hover .gallery-overlay {opacity: 1;}
.gallery-card:hover .gallery-icon {transform: scale(1);}
/* Owl Carousel */
.gallery-slider .owl-stage {padding: 15px 0;}
.gallery-slider .owl-dots {margin-top: 30px;}
.gallery-slider .owl-dot span {width: 12px;height: 12px;background: #cbd5e1 !important;}
.gallery-slider .owl-dot.active span {width: 35px;border-radius: 20px;background: #0d6efd !important;}
/* Responsive */
@media(max-width:768px){.gallery-title{font-size:30px;}
.gallery-card img{height:250px;}}
.gallery-area {background: #f8fafc;}
.gallery-subtitle {display: inline-block;color: #0d6efd;font-weight: 600;text-transform: uppercase;letter-spacing: 2px;margin-bottom: 10px;}
.gallery-title {font-size: 42px;font-weight: 700;color: #1e293b;margin-bottom: 15px;}
.gallery-desc {max-width: 600px;margin: auto;color: #64748b;}
.modern-gallery-card {position: relative;overflow: hidden;border-radius: 20px;box-shadow: 0 10px 30px rgba(0,0,0,0.08);transition: all .4s ease;background: #fff;}
.modern-gallery-card img {width: 100%;height: 320px;object-fit: cover;transition: transform .6s ease;}
.modern-gallery-card:hover img {transform: scale(1.12);}
.gallery-overlay {position: absolute;inset: 0;background: linear-gradient(to top,rgba(0,0,0,0.85),rgba(0,0,0,0.15));opacity: 0;visibility: hidden;transition: all .4s ease;display: flex;align-items: center;justify-content: center;}
.modern-gallery-card:hover .gallery-overlay {opacity: 1;visibility: visible;}
.gallery-content {text-align: center;color: #fff;transform: translateY(20px);transition: all .4s ease;}
.modern-gallery-card:hover .gallery-content {transform: translateY(0);}
.gallery-content i {width: 70px;height: 70px;line-height: 70px;background: rgba(255,255,255,.15);backdrop-filter: blur(10px);border-radius: 50%;font-size: 28px;display: inline-block;margin-bottom: 12px;}
.gallery-content span {display: block;font-size: 16px;font-weight: 600;letter-spacing: 1px;}
.modern-gallery-card:hover {transform: translateY(-10px);box-shadow: 0 20px 45px rgba(0,0,0,0.15);}
/* Responsive */
@media (max-width: 768px) {.gallery-title {font-size: 30px;}
.modern-gallery-card img {height: 250px;}}
.contact-section{background:#f8fafc;}
.contact-card{background:#fff;border-radius:20px;padding:35px 25px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:.4s;height:100%;}
.contact-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,.12);}
.icon-box{width:70px;height:70px;margin:auto;border-radius:50%;background:linear-gradient(135deg,#0d6efd,#00c6ff);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.contact-card h5{font-weight:700;margin-bottom:10px;}
.contact-card p, .contact-card a{color:#6c757d;text-decoration:none;}
.contact-wrapper{background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.08);}
.contact-content{padding:60px 40px;background:linear-gradient(135deg,#0d6efd,#00c6ff);color:#fff;height:100%;}
.subtitle{font-size:14px;letter-spacing:2px;text-transform:uppercase;font-weight:600;}
.contact-content h2{font-size:42px;font-weight:700;margin:15px 0;}
.contact-feature{margin-top:18px;font-size:16px;}
.contact-feature i{margin-right:10px;}
.contact-form-card{padding:50px;}
.modern-input{border:none;background:#f5f7fb;border-radius:15px;padding:15px 20px;min-height:55px;margin-bottom:20px;transition:.3s;}
.modern-input:focus{background:#fff;border:1px solid #0d6efd;box-shadow:0 0 0 4px rgba(13,110,253,.1);}
textarea.modern-input{min-height:150px;}
.custom-check{margin-top:10px;}
.modern-btn{background:linear-gradient(135deg,#0d6efd,#00c6ff);color:#fff;border:none;border-radius:50px;padding:15px 35px;font-size:16px;font-weight:600;transition:.4s;}
.modern-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(13,110,253,.35);}
@media(max-width:991px){.contact-content{padding:40px 30px;}
.contact-content h2{font-size:32px;}
.contact-form-card{padding:30px;}}
.register-area{background: linear-gradient(135deg,#f8fafc,#eef2ff);min-height:100vh;}
.register-card{background:#fff;border-radius:25px;padding:50px;border:none;}
.form-control{height:55px;border-radius:12px;border:1px solid #dee2e6;}
.form-control:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.15);}
.input-group-text{background:#f8f9fa;border-radius:12px 0 0 12px;}
.position-box{display:flex;gap:20px;padding:15px;border:1px solid #e9ecef;border-radius:12px;height:55px;align-items:center;}
.form-check-input:checked{background-color:#4f46e5;border-color:#4f46e5;}
.modern-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:12px;font-weight:600;transition:.3s;}
.modern-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(79,70,229,.3);color:#fff;}
.toggle-password{cursor:pointer;}
.invalid-feedback{display:block;}
@media(max-width:768px){.register-card{padding:25px;}}
.login-wrapper{min-height:100vh;}
.login-card{border-radius:25px;backdrop-filter: blur(20px);box-shadow:0 20px 60px rgba(0,0,0,.15);}
.login-banner{min-height:650px;position:relative;}
.login-banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45);}
.overlay-content{position:relative;z-index:2;color:#fff;height:100%;display:flex;flex-direction:column;justify-content:center;padding:60px;}
.overlay-content h1{font-size:3rem;font-weight:700;}
.overlay-content p{font-size:1.1rem;opacity:.9;}
.form-control{height:60px;border-radius:15px;border:1px solid #e5e7eb;}
.form-control:focus{box-shadow:0 0 0 .25rem rgba(102,126,234,.15);border-color:#667eea;}
.form-floating{position:relative;}
.toggle-password{position:absolute;top:50%;right:18px;transform:translateY(-50%);cursor:pointer;z-index:10;}
.position-selector{display:flex;gap:10px;}
.position-btn{min-width:120px;border-radius:50px;font-weight:600;}
.login-btn{height:55px;border:none;border-radius:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;transition:.3s;}
.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.3);}
.footer-area {background: linear-gradient(135deg, #0f172a, #1e293b);color: #fff;padding-top: 80px;position: relative;overflow: hidden;}
.footer-area::before {content: "";position: absolute;width: 350px;height: 350px;background: rgba(59,130,246,.15);border-radius: 50%;top: -100px;right: -100px;filter: blur(80px);}
.footer-card {background: rgba(255,255,255,0.05);backdrop-filter: blur(12px);border: 1px solid rgba(255,255,255,.08);border-radius: 20px;padding: 25px;height: 100%;transition: .4s;}
.footer-card:hover {transform: translateY(-8px);border-color: rgba(255,255,255,.15);}
.footer-logo img {max-height: 80px;width: auto;}
.footer-logo p {color: #cbd5e1;line-height: 1.8;}
.footer-card h4 {color: #fff;font-size: 22px;margin-bottom: 25px;font-weight: 700;position: relative;}
.footer-card h4::after {content: "";width: 45px;height: 3px;background: #3b82f6;position: absolute;left: 0;bottom: -8px;}
.sociallinks {display: flex;gap: 12px;margin-top: 20px;}
.sociallinks a {width: 42px;height: 42px;border-radius: 50%;background: rgba(255,255,255,.08);display: flex;align-items: center;justify-content: center;color: #fff;transition: .3s;}
.sociallinks a:hover {background: #3b82f6;transform: translateY(-5px);}
.footer-links {list-style: none;padding: 0;}
.footer-links li {margin-bottom: 14px;}
.footer-links a {color: #cbd5e1;text-decoration: none;transition: .3s;}
.footer-links a:hover {color: #3b82f6;padding-left: 8px;}
.cause-item {display: flex;align-items: center;gap: 15px;margin-bottom: 18px;}
.cause-item img {width: 65px;height: 65px;border-radius: 12px;object-fit: cover;}
.cause-item span {color: #e2e8f0;font-weight: 500;}
.contact-item {display: flex;gap: 15px;margin-bottom: 18px;align-items: flex-start;}
.contact-item i {color: #3b82f6;font-size: 20px;margin-top: 3px;}
.contact-item span {color: #cbd5e1;line-height: 1.7;}
.footer-bottom {margin-top: 60px;border-top: 1px solid rgba(255,255,255,.08);text-align: center;padding: 25px 0;}
.footer-bottom p {margin: 0;color: #94a3b8;}