/* ==========================================================
   Modern & Fresh UI Overrides for NGOv2
   Tailored for Aken Tech Solution
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
    --brand-primary: #02a95c;
    --brand-primary-dark: #008746;
    --brand-primary-light: #e6f7ef;
    --brand-dark: #0f172a;
    --brand-slate: #1e293b;
    --brand-text: #334155;
    --brand-border: rgba(2, 169, 92, 0.15);
}

/* 0. Remove any unwanted body / html top margins or gaps */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
    background-color: #fafbfd !important;
    color: var(--brand-text) !important;
}

/* ==========================================================
   1. FIXED: Topbar - NO WHITE GAP ABOVE TOPBAR
   ========================================================== */
.ch-header-area {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(2, 169, 92, 0.12) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.05), 0 2px 8px -2px rgba(0, 0, 0, 0.03) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important; /* CRITICAL: 0 padding top removes white line above topbar */
    padding-bottom: 12px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.header-topbar {
    width: 100% !important;
    background: linear-gradient(135deg, #018347 0%, #02a95c 60%, #05c26b 100%) !important;
    padding: 9px 0 !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.header-topbar .header-contact {
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.2px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.header-topbar .currency-lang-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.header-topbar .header-currency-wrapper select,
.header-topbar .header-currency-wrapper .nice-select,
.header-topbar .header-country-wrapper .nice-select {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 9999px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    padding: 2px 14px !important;
    height: 30px !important;
    line-height: 26px !important;
    transition: all 0.2s ease !important;
}

.header-topbar .header-currency-wrapper .nice-select:after {
    border-bottom: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
}

/* ==========================================================
   2. FIXED: Perfectly Aligned Navbar Row & Login Button
   ========================================================== */

/* Header Container & Row Alignment */
.ch-header-area .container.relative {
    position: relative !important;
}

.ch-header-area .row.align-items-center {
    display: flex !important;
    align-items: center !important;
    min-height: 56px !important;
}

/* Logo */
.ch-header-logo-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 2px 0 !important;
}

.ch-header-logo-wrapper:hover {
    transform: scale(1.03) !important;
}

.ch-header-logo-wrapper img.logo {
    max-height: 50px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.04)) !important;
}

/* Nav Menu */
.ch-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ch-header-area .ch-menu > li > a {
    font-weight: 600 !important;
    font-size: 15px !important;
    color: var(--brand-slate) !important;
    padding: 8px 16px !important;
    border-radius: 9999px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
}

.ch-header-area .ch-menu > li > a:hover {
    color: var(--brand-primary) !important;
    background: rgba(2, 169, 92, 0.09) !important;
}

.ch-header-area .ch-menu > li > a .angle-down {
    transition: transform 0.25s ease !important;
}

.ch-header-area .ch-menu > li.has-submenu:hover > a .angle-down {
    transform: rotate(180deg) !important;
}

/* ==========================================================
   3. FIXED: Dropdown Submenu - BLACK TEXT ON HOVER (Clear Visibility)
   ========================================================== */
.ch-header-area .ch-menu li.has-submenu .submenu {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(2, 169, 92, 0.15) !important;
    border-radius: 16px !important;
    padding: 8px !important;
    min-width: 220px !important;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(2, 169, 92, 0.08) !important;
    top: 130% !important;
    transition: all 0.25s ease !important;
}

.ch-header-area .ch-menu li.has-submenu:hover .submenu {
    top: 110% !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Reset li default borders and backgrounds from template */
.ch-header-area .ch-menu li.has-submenu .submenu li {
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background-color: transparent !important;
    margin-bottom: 2px !important;
    padding: 0 !important;
    transition: none !important;
}

.ch-header-area .ch-menu li.has-submenu .submenu li:last-child {
    margin-bottom: 0 !important;
}

/* Normal Submenu Item */
.ch-header-area .ch-menu li.has-submenu .submenu li a {
    border-radius: 10px !important;
    padding: 9px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    background: transparent !important;
    border: none !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* FIXED: Hover Submenu Item -> TEXT BLACK & CLEARLY VISIBLE */
.ch-header-area .ch-menu li.has-submenu .submenu li a:hover {
    color: #0f172a !important; /* Bold BLACK text */
    background: #f1f5f9 !important; /* Light clean slate background */
    font-weight: 700 !important;
    padding-left: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

/* ==========================================================
   4. FIXED: Login Button Vertical Center Alignment
   ========================================================== */
.ch-header-area .col-8.col-lg-3.col-xxl-2 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    height: 100% !important;
}

/* Specific styling for Navbar Login Button */
.ch-header-area .ch-btn.ch-primary-btn {
    padding: 9px 26px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    border-radius: 9999px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(2, 169, 92, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
}

.ch-header-area .ch-btn.ch-primary-btn:hover {
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow: 0 8px 22px rgba(2, 169, 92, 0.45) !important;
    color: #ffffff !important;
}

/* User profile button in navbar */
.ch-header-area .login-profile-routes-wrapper {
    display: flex !important;
    align-items: center !important;
}

.ch-header-area .login-profile-routes-wrapper .profile-btn {
    background: #f0fdf4 !important;
    border: 1px solid rgba(2, 169, 92, 0.25) !important;
    border-radius: 9999px !important;
    padding: 5px 14px 5px 5px !important;
    box-shadow: 0 2px 8px rgba(2, 169, 92, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* ==========================================================
   5. FIXED: "Bridge to a Better Future!" Animation
   ========================================================== */
@keyframes badgeFloat {
    0%, 100% {
        transform: translateY(0px);
        box-shadow: 0 4px 15px rgba(2, 169, 92, 0.15);
    }
    50% {
        transform: translateY(-6px);
        box-shadow: 0 10px 25px rgba(2, 169, 92, 0.28);
    }
}

@keyframes livePulseDot {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(2, 169, 92, 0.7);
    }
    50% {
        transform: scale(1.3);
        opacity: 0.8;
        box-shadow: 0 0 0 6px rgba(2, 169, 92, 0);
    }
}

.ch-hero-section .title-box .sm-title,
.ch-hero-section .title-box-2 .sm-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 24px !important;
    border-radius: 9999px !important;
    background: linear-gradient(135deg, rgba(2, 169, 92, 0.14) 0%, rgba(2, 169, 92, 0.05) 100%) !important;
    color: #018347 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 1.5px solid rgba(2, 169, 92, 0.3) !important;
    margin-bottom: 24px !important;
    animation: badgeFloat 3.5s ease-in-out infinite !important;
    cursor: default !important;
    transition: all 0.3s ease !important;
}

.ch-hero-section .title-box .sm-title:hover,
.ch-hero-section .title-box-2 .sm-title:hover {
    background: linear-gradient(135deg, rgba(2, 169, 92, 0.2) 0%, rgba(2, 169, 92, 0.08) 100%) !important;
    border-color: rgba(2, 169, 92, 0.5) !important;
}

/* Pulsing live green dot before badge */
.ch-hero-section .title-box .sm-title::before,
.ch-hero-section .title-box-2 .sm-title::before {
    content: "" !important;
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #02a95c !important;
    margin-right: 6px !important;
    animation: livePulseDot 2s infinite ease-in-out !important;
}

/* ==========================================================
   6. FIXED: Play Button Centered Exactly Over Hero Logo & Pulsing
   ========================================================== */
.ch-hero-section .vdo-wrapper {
    position: relative !important;
    background: linear-gradient(145deg, #ffffff 0%, #f4fcf7 100%) !important;
    border-radius: 36px !important;
    padding: 44px 32px !important;
    box-shadow: 0 25px 60px -15px rgba(2, 169, 92, 0.22), 0 10px 20px -5px rgba(0, 0, 0, 0.04) !important;
    border: 2px solid rgba(2, 169, 92, 0.16) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 410px !important;
    overflow: hidden !important;
    animation: cardFloat 5s ease-in-out infinite !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ch-hero-section .vdo-wrapper:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: 0 35px 75px -15px rgba(2, 169, 92, 0.3), 0 15px 30px -5px rgba(0, 0, 0, 0.06) !important;
    border-color: rgba(2, 169, 92, 0.35) !important;
}

/* Ambient orb background */
.ch-hero-section .vdo-wrapper::before {
    content: "" !important;
    position: absolute !important;
    width: 290px !important;
    height: 290px !important;
    background: radial-gradient(circle, rgba(2, 169, 92, 0.22) 0%, rgba(255, 255, 255, 0) 70%) !important;
    border-radius: 50% !important;
    z-index: 0 !important;
    pointer-events: none !important;
    animation: orbPulse 4s ease-in-out infinite alternate !important;
}

@keyframes orbPulse {
    0% { transform: scale(0.9); opacity: 0.6; }
    100% { transform: scale(1.18); opacity: 1; }
}

@keyframes cardFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-7px);
    }
}

/* Hero Logo Image */
.ch-hero-section .vdo-wrapper .hero-img {
    position: relative !important;
    z-index: 1 !important;
    max-width: 88% !important;
    max-height: 290px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.08)) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ch-hero-section .vdo-wrapper:hover .hero-img {
    transform: scale(1.04) !important;
}

/* FIXED: Video Play Button -> DEAD CENTER OF IMAGE/CARD */
@keyframes playButtonPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(0.95);
        box-shadow: 0 0 0 0 rgba(2, 169, 92, 0.5), 0 10px 25px rgba(2, 169, 92, 0.4);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.08);
        box-shadow: 0 0 0 14px rgba(2, 169, 92, 0), 0 15px 35px rgba(2, 169, 92, 0.55);
    }
}

.ch-hero-section .vdo-wrapper .vdo-btn {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0.95) !important;
    z-index: 10 !important;
    width: 84px !important;
    height: 84px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    animation: playButtonPulse 2.4s infinite ease-in-out !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ch-hero-section .vdo-wrapper .vdo-btn svg {
    width: 84px !important;
    height: 84px !important;
    filter: drop-shadow(0 6px 14px rgba(2, 169, 92, 0.4)) !important;
}

.ch-hero-section .vdo-wrapper .vdo-btn:hover {
    transform: translate(-50%, -50%) scale(1.18) !important;
}

/* ==========================================================
   7. Fresh Animations for Hero Section
   ========================================================== */
.ch-hero-section {
    position: relative !important;
    padding-top: 50px !important;
    padding-bottom: 90px !important;
    background: radial-gradient(circle at 85% 35%, rgba(2, 169, 92, 0.09) 0%, rgba(255, 255, 255, 0) 55%),
                radial-gradient(circle at 15% 65%, rgba(2, 169, 92, 0.06) 0%, rgba(255, 255, 255, 0) 50%) !important;
}

.ch-hero-section .title-box .title,
.ch-hero-section .title-box-2 .title {
    font-size: 52px !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.16 !important;
    color: #0f172a !important;
    margin-bottom: 28px !important;
}

/* Hero Section Primary & White Buttons (outside header) */
.ch-hero-section .btn-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.ch-hero-section .ch-btn.ch-primary-btn {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 14px 34px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    box-shadow: 0 10px 25px -4px rgba(2, 169, 92, 0.45) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ch-hero-section .ch-btn.ch-primary-btn:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 16px 36px -4px rgba(2, 169, 92, 0.55) !important;
    color: #ffffff !important;
}

.ch-hero-section .ch-btn.ch-white-btn {
    background: #ffffff !important;
    color: #0f172a !important;
    border-radius: 9999px !important;
    padding: 14px 34px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ch-hero-section .ch-btn.ch-white-btn:hover {
    background: #f8fafc !important;
    color: var(--brand-primary) !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(2, 169, 92, 0.35) !important;
}

/* Floating shape decorations animation */
@keyframes itemRotateSmooth {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes itemBounceSmooth {
    0%, 100% { transform: translateY(0px) scale(1); }
    50% { transform: translateY(-10px) scale(1.05); }
}

.shape.item-rotate {
    animation: itemRotateSmooth 14s linear infinite !important;
}

.shape.item-bounce {
    animation: itemBounceSmooth 4s ease-in-out infinite !important;
}


/* ==========================================================
   8. CAMPAIGNS PAGE - ULTRA-MODERN FRESH UI & HIGH ANIMATIONS
   ========================================================== */

/* Breadcrumb Header Area */
.ch-breadcrumb-area {
    position: relative !important;
    min-height: 290px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-size: cover !important;
    background-position: center !important;
    overflow: hidden !important;
}

/* Glassmorphism gradient overlay on breadcrumb */
.ch-breadcrumb-area::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.85) 0%, rgba(2, 169, 92, 0.78) 100%) !important;
    backdrop-filter: blur(8px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(140%) !important;
    z-index: 1 !important;
}

.ch-breadcrumb-area .container {
    position: relative !important;
    z-index: 2 !important;
}

.ch-breadcrumb-area .breadcrumb-content {
    text-align: center !important;
    animation: breadcrumbSlideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes breadcrumbSlideUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.ch-breadcrumb-area .breadcrumb-content h2 {
    font-size: 48px !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: #ffffff !important;
    margin-bottom: 16px !important;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
}

@media (max-width: 767.97px) {
    .ch-breadcrumb-area .breadcrumb-content h2 {
        font-size: 34px !important;
    }
}

.ch-breadcrumb-area .breadcrumb-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 9999px !important;
    padding: 8px 24px !important;
    margin: 0 !important;
    list-style: none !important;
}

.ch-breadcrumb-area .breadcrumb-menu li {
    display: inline-flex !important;
    align-items: center !important;
}

.ch-breadcrumb-area .breadcrumb-menu li a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.ch-breadcrumb-area .breadcrumb-menu li a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
}

.ch-breadcrumb-area .breadcrumb-menu li:not(:last-child)::after {
    content: "›" !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 16px !important;
    margin: 0 10px !important;
}

/* ==========================================================
   Campaigns Section Canvas & Title
   ========================================================== */
.ch-camp-section {
    padding: 90px 0 110px !important;
    background: linear-gradient(180deg, #f8fafc 0%, #f0fdf4 40%, #fafbfd 100%) !important;
    position: relative !important;
}

/* Ambient floating mesh background */
.ch-camp-section::before {
    content: "" !important;
    position: absolute !important;
    top: 50px !important;
    left: 5% !important;
    width: 450px !important;
    height: 450px !important;
    background: radial-gradient(circle, rgba(2, 169, 92, 0.08) 0%, rgba(255, 255, 255, 0) 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    animation: orbPulse 6s ease-in-out infinite alternate !important;
}

.ch-camp-section::after {
    content: "" !important;
    position: absolute !important;
    bottom: 100px !important;
    right: 5% !important;
    width: 450px !important;
    height: 450px !important;
    background: radial-gradient(circle, rgba(2, 169, 92, 0.07) 0%, rgba(255, 255, 255, 0) 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    animation: orbPulse 7s ease-in-out infinite alternate-reverse !important;
}

/* Campaigns Title Box */
.ch-camp-section .title-box .sm-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 24px !important;
    border-radius: 9999px !important;
    background: linear-gradient(135deg, rgba(2, 169, 92, 0.14) 0%, rgba(2, 169, 92, 0.04) 100%) !important;
    color: #018347 !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 1.5px solid rgba(2, 169, 92, 0.28) !important;
    margin-bottom: 18px !important;
    animation: badgeFloat 3.5s ease-in-out infinite !important;
}

.ch-camp-section .title-box .sm-title::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #02a95c !important;
    margin-right: 6px !important;
    animation: livePulseDot 2s infinite ease-in-out !important;
}

.ch-camp-section .title-box .title {
    font-size: 44px !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    color: #0f172a !important;
}

.ch-camp-section .title-box .title span {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline !important;
}

@media (max-width: 767.97px) {
    .ch-camp-section .title-box .title {
        font-size: 32px !important;
    }
}

/* ==========================================================
   Filter Area (Modern Floating Glass Bar)
   ========================================================== */
.campaign-filter-area {
    margin-bottom: 50px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(2, 169, 92, 0.16) !important;
    border-radius: 24px !important;
    padding: 16px 24px !important;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(2, 169, 92, 0.05) !important;
}

/* Filter select dropdown */
.filter-select {
    border-radius: 9999px !important;
    border: 1.5px solid rgba(2, 169, 92, 0.2) !important;
    background: #ffffff !important;
    padding: 12px 28px !important;
    min-height: 48px !important;
    height: 48px !important;
    line-height: 22px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.3s ease !important;
}

.filter-select:hover,
.filter-select.open {
    border-color: #02a95c !important;
    box-shadow: 0 4px 16px rgba(2, 169, 92, 0.15) !important;
}

.filter-select .current {
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #0f172a !important;
}

.filter-select.nice-select .list {
    border-radius: 18px !important;
    border: 1px solid rgba(2, 169, 92, 0.15) !important;
    box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.15) !important;
    padding: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.filter-select.nice-select .list .option {
    border-radius: 10px !important;
    padding: 10px 18px !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    border-bottom: none !important;
    transition: all 0.2s ease !important;
}

.filter-select.nice-select .list .option:hover,
.filter-select.nice-select .list .option.selected {
    background: #f0fdf4 !important;
    color: #02a95c !important;
    font-weight: 700 !important;
}

/* List / Grid view trigger button */
.ch-list-trigger-btn {
    border-radius: 14px !important;
    border: 1.5px solid rgba(2, 169, 92, 0.2) !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ch-list-trigger-btn:hover {
    transform: translateY(-2px) scale(1.05) !important;
    border-color: #02a95c !important;
    box-shadow: 0 6px 18px rgba(2, 169, 92, 0.2) !important;
}

.ch-list-trigger-btn.active {
    background: #f0fdf4 !important;
    border-color: #02a95c !important;
}

/* ==========================================================
   CAMPAIGN CARDS - HIGH ANIMATIONS & 3D INTERACTION
   ========================================================== */
.single-campaign.single-campaign-2 {
    background: #ffffff !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    border: 1.5px solid rgba(2, 169, 92, 0.12) !important;
    box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(2, 169, 92, 0.03) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* High-Animation: 3D Lift & Emerald Glow on Hover */
.single-campaign.single-campaign-2:hover {
    transform: translateY(-12px) scale(1.01) !important;
    border-color: rgba(2, 169, 92, 0.45) !important;
    box-shadow: 0 25px 60px -12px rgba(2, 169, 92, 0.25), 0 12px 24px -6px rgba(0, 0, 0, 0.06) !important;
}

/* Top Image Area with Zoom Animation */
.single-campaign.single-campaign-2 .top-area {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 26px 26px 0 0 !important;
    background: #f1f5f9 !important;
    margin-bottom: 0 !important;
}

.single-campaign.single-campaign-2 .thumbnail {
    width: 100% !important;
    height: 270px !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease !important;
}

.single-campaign.single-campaign-2:hover .thumbnail {
    transform: scale(1.09) !important;
    filter: brightness(1.04) !important;
}

/* Category Badge (Frosted Glass Floating Pill) - Fixed positioning away from curved corner */
.single-campaign.single-campaign-2 .sm-btn {
    position: absolute !important;
    top: 22px !important;
    left: 22px !important;
    bottom: auto !important;
    right: auto !important;
    background: rgba(15, 23, 42, 0.82) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    z-index: 20 !important;
    transform: translateZ(0) !important;
}

.single-campaign.single-campaign-2:hover .sm-btn {
    top: 22px !important;
    left: 22px !important;
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 6px 20px rgba(2, 169, 92, 0.4) !important;
    transform: scale(1.02) translateZ(0) !important;
    z-index: 20 !important;
    color: #ffffff !important;
}

/* Card Body Content */
.single-campaign.single-campaign-2 .contents-wrapper {
    padding: 24px 22px 26px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

/* Campaign Title */
.single-campaign.single-campaign-2 .contents-wrapper h5 {
    margin-bottom: 16px !important;
}

.single-campaign.single-campaign-2 .contents-wrapper h5 a {
    color: #0f172a !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.38 !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.single-campaign.single-campaign-2:hover .contents-wrapper h5 a {
    color: #02a95c !important;
}

/* Stats Container (Raised / Goal / Progress) */
.single-campaign.single-campaign-2 .btm-wrapper {
    background: #f8fafc !important;
    border-radius: 18px !important;
    padding: 16px 18px !important;
    margin: 6px 0 20px !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transition: all 0.3s ease !important;
}

.single-campaign.single-campaign-2:hover .btm-wrapper {
    background: #f0fdf4 !important;
    border-color: rgba(2, 169, 92, 0.15) !important;
}

.single-campaign.single-campaign-2 .sm-info-wrapper span {
    font-size: 14.5px !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
}

.single-campaign.single-campaign-2 .sm-info-wrapper span b {
    font-size: 11.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #64748b !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 2px !important;
}

/* Circular Progress Bar Animation */
.single-campaign.single-campaign-2 .circle-progress-wrapper {
    width: 58px !important;
    height: 58px !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.single-campaign.single-campaign-2:hover .circle-progress-wrapper {
    transform: scale(1.12) rotate(6deg) !important;
}

/* Donate Now Button inside Card */
.single-campaign.single-campaign-2 .contents-wrapper .ch-btn.ch-primary-btn {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 13px 24px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    box-shadow: 0 6px 20px -3px rgba(2, 169, 92, 0.4) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Shimmer sweep effect on Donate button */
.single-campaign.single-campaign-2 .contents-wrapper .ch-btn.ch-primary-btn::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important;
    transition: 0.5s ease !important;
}

.single-campaign.single-campaign-2:hover .contents-wrapper .ch-btn.ch-primary-btn::after {
    left: 100% !important;
}

.single-campaign.single-campaign-2:hover .contents-wrapper .ch-btn.ch-primary-btn {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 12px 28px -3px rgba(2, 169, 92, 0.55) !important;
}

/* ==========================================================
   Pagination (Modern & Animated)
   ========================================================== */
.ch-pagination-btn {
    border-radius: 14px !important;
    border: 1.5px solid rgba(2, 169, 92, 0.18) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    width: 48px !important;
    height: 48px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ch-pagination-btn:hover {
    transform: translateY(-3px) scale(1.05) !important;
    border-color: #02a95c !important;
    color: #02a95c !important;
    box-shadow: 0 8px 20px rgba(2, 169, 92, 0.25) !important;
}

.ch-pagination-btn.active {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 22px rgba(2, 169, 92, 0.4) !important;
}


/* ==========================================================
   9. HOME PAGE - CONSISTENT ANIMATED SECTION HEADERS & FRESH UI
   ========================================================== */

/* ALL Section Headings across Home page */
.title-box .sm-title,
.title-box-2 .sm-title,
.ch-supports-section .title-box .sm-title,
.ch-fea-section .title-box .sm-title,
.ch-newest-section .title-box .sm-title,
.ch-latest-news-section .title-box .sm-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 24px !important;
    border-radius: 9999px !important;
    background: linear-gradient(135deg, rgba(2, 169, 92, 0.14) 0%, rgba(2, 169, 92, 0.04) 100%) !important;
    color: #018347 !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 1.5px solid rgba(2, 169, 92, 0.28) !important;
    margin-bottom: 18px !important;
    animation: badgeFloat 3.5s ease-in-out infinite !important;
    box-shadow: 0 4px 15px rgba(2, 169, 92, 0.12) !important;
}

/* Pulsing live dot for all section badges */
.title-box .sm-title::before,
.title-box-2 .sm-title::before,
.ch-supports-section .title-box .sm-title::before,
.ch-fea-section .title-box .sm-title::before,
.ch-newest-section .title-box .sm-title::before,
.ch-latest-news-section .title-box .sm-title::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #02a95c !important;
    margin-right: 6px !important;
    animation: livePulseDot 2s infinite ease-in-out !important;
}

/* Section Main Titles */
.title-box .title,
.title-box-2 .title,
.ch-supports-section .title-box .title,
.ch-fea-section .title-box .title,
.ch-newest-section .title-box .title,
.ch-latest-news-section .title-box .title {
    font-size: 44px !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    color: #0f172a !important;
}

.title-box .title span,
.title-box-2 .title span,
.ch-supports-section .title-box .title span,
.ch-fea-section .title-box .title span,
.ch-newest-section .title-box .title span,
.ch-latest-news-section .title-box .title span {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline !important;
}

@media (max-width: 767.97px) {
    .title-box .title,
    .title-box-2 .title,
    .ch-supports-section .title-box .title,
    .ch-fea-section .title-box .title,
    .ch-newest-section .title-box .title,
    .ch-latest-news-section .title-box .title {
        font-size: 32px !important;
    }
}

/* ==========================================================
   Campaigns Category Section & Cards
   ========================================================== */
.ch-supports-section {
    padding: 80px 0 !important;
    background: linear-gradient(180deg, #fafbfd 0%, #f0fdf4 100%) !important;
}

.single-support.single-support-2 {
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 28px 20px 32px !important;
    border: 1.5px solid rgba(2, 169, 92, 0.12) !important;
    box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.05), 0 2px 8px rgba(2, 169, 92, 0.03) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-align: center !important;
    margin: 15px 12px !important;
}

.single-support.single-support-2:hover {
    background: #ffffff !important;
    transform: translateY(-10px) !important;
    border-color: rgba(2, 169, 92, 0.45) !important;
    box-shadow: 0 22px 50px -10px rgba(2, 169, 92, 0.24), 0 8px 18px rgba(0, 0, 0, 0.05) !important;
}

.single-support.single-support-2 .support-img {
    width: 200px !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: 4px solid rgba(2, 169, 92, 0.18) !important;
    box-shadow: 0 8px 25px rgba(2, 169, 92, 0.15) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin: 0 auto 18px !important;
}

.single-support.single-support-2:hover .support-img {
    transform: scale(1.08) rotate(3deg) !important;
    border-color: #02a95c !important;
    box-shadow: 0 12px 30px rgba(2, 169, 92, 0.3) !important;
}

.single-support.single-support-2 h5.title {
    margin-top: 10px !important;
}

.single-support.single-support-2 h5.title a {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
}

.single-support.single-support-2:hover h5.title a {
    color: #02a95c !important;
}

/* ==========================================================
   Featured & Newest Campaigns Sections on Home
   ========================================================== */
.ch-fea-section {
    padding: 80px 0 !important;
}

.ch-newest-section {
    padding: 80px 0 !important;
}

/* Carousel Control Arrows */
.prev-arrow, .next-arrow {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(2, 169, 92, 0.2) !important;
    color: #02a95c !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.prev-arrow:hover, .next-arrow:hover {
    background: linear-gradient(135deg, #02a95c 0%, #008746 100%) !important;
    color: #ffffff !important;
    transform: scale(1.12) !important;
    box-shadow: 0 8px 24px rgba(2, 169, 92, 0.35) !important;
    border-color: transparent !important;
}

/* ==========================================================
   Blog / Latest News Cards on Home
   ========================================================== */
.single-blog-md {
    background: #ffffff !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 1.5px solid rgba(2, 169, 92, 0.12) !important;
    box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    height: 100% !important;
}

.single-blog-md:hover {
    transform: translateY(-10px) !important;
    border-color: rgba(2, 169, 92, 0.45) !important;
    box-shadow: 0 25px 55px -10px rgba(2, 169, 92, 0.25) !important;
}

.single-blog-md .blog-img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.single-blog-md:hover .blog-img {
    transform: scale(1.08) !important;
}

.single-blog-md .contents-wrapper {
    padding: 22px !important;
}

.single-blog-md .contents-wrapper h5 a {
    color: #0f172a !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    transition: color 0.25s ease !important;
    text-decoration: none !important;
}

.single-blog-md:hover .contents-wrapper h5 a {
    color: #02a95c !important;
}


/* ==========================================================
   10. FIXED: Volunteers Section on Dark Background - TEXT WHITE
   ========================================================== */
.ch-vounteers-section,
.ch-volunteers-section,
section.ch-vounteers-section {
    position: relative !important;
}

.ch-vounteers-section .title-box .title,
.ch-volunteers-section .title-box .title,
section.ch-vounteers-section .title-box .title {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45) !important;
}

.ch-vounteers-section .title-box .title span,
.ch-volunteers-section .title-box .title span,
section.ch-vounteers-section .title-box .title span {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline !important;
}

.ch-vounteers-section .title-box .sm-title,
.ch-volunteers-section .title-box .sm-title,
section.ch-vounteers-section .title-box .sm-title {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.ch-vounteers-section .title-box .sm-title::before,
.ch-volunteers-section .title-box .sm-title::before,
section.ch-vounteers-section .title-box .sm-title::before {
    background: #10b981 !important;
    box-shadow: 0 0 10px #10b981 !important;
}

/* ==========================================================
   11. CAMPAIGN DETAILS & DONATION FORM - ULTRA-FRESH MODERN UI
   URL: /campaigns/:slug & /checkout/:slug
   ========================================================== */

/* Main Campaign Donation Section Wrapper */
.campaign-donation-area {
    padding: 80px 0 !important;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%) !important;
    position: relative;
}

.campaign-donation-area .position-sticky.top-51 {
    top: 95px !important;
}

/* Left Column: Featured Image & Gallery */
.campaign-donation-area .product-details-fea-img,
.campaign-donation-area .image-gallery-slide img {
    width: 100% !important;
    height: 520px !important;
    max-height: 520px !important;
    object-fit: cover !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 45px -12px rgba(15, 23, 42, 0.14) !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.campaign-donation-area .product-details-fea-img:hover {
    transform: scale(1.015);
}

/* Floating Category Badge over Image */
.campaign-donation-area .position-category-btn {
    position: absolute !important;
    top: 24px !important;
    left: 24px !important;
    bottom: auto !important;
    right: auto !important;
    background: rgba(15, 23, 42, 0.8) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 30px !important;
    padding: 8px 22px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.3s ease !important;
    z-index: 10;
}

.campaign-donation-area .position-category-btn:hover {
    background: #02a95c !important;
    border-color: #02a95c !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(2, 169, 92, 0.45) !important;
}

/* Right Column: Campaign Donation Card */
.single-campaign.campaign-details,
.single-campaign.version-2.campaign-details {
    display: block !important;
    width: 100% !important;
    background: #ffffff !important;
    border-radius: 28px !important;
    padding: 42px !important;
    box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.08), 0 4px 18px rgba(2, 169, 92, 0.04) !important;
    border: 1.5px solid rgba(226, 232, 240, 0.95) !important;
    position: relative !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 767.97px) {
    .single-campaign.campaign-details,
    .single-campaign.version-2.campaign-details {
        padding: 24px !important;
    }
}

.single-campaign.campaign-details .bottom-area,
.single-campaign.version-2 .bottom-area {
    width: 100% !important;
}

/* Campaign Title */
.single-campaign.campaign-details h3 {
    font-size: 30px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    letter-spacing: -0.6px !important;
    margin-bottom: 16px !important;
}

@media (max-width: 767.97px) {
    .single-campaign.campaign-details h3 {
        font-size: 24px !important;
    }
}

/* Percentage Pill */
.single-campaign.version-2 .percentage-label,
.single-campaign.campaign-details .percentage-label {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #02a95c !important;
    background: rgba(2, 169, 92, 0.1) !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 16px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(2, 169, 92, 0.25) !important;
    margin-bottom: 14px !important;
}

/* Progress Bar */
.single-campaign.campaign-details .progress-wrapper {
    background-color: #f1f5f9 !important;
    height: 12px !important;
    border-radius: 10px !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e2e8f0 !important;
}

.single-campaign.campaign-details .progress-bar {
    background: linear-gradient(90deg, #02a95c 0%, #10b981 70%, #34d399 100%) !important;
    border-radius: 10px !important;
    box-shadow: 0 0 12px rgba(2, 169, 92, 0.5) !important;
    transition: width 1s ease-in-out !important;
}

/* Stat Grid: Raised & Goal */
.single-campaign.campaign-details .sm-info-wrapper:not(.flex-column) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
    background: #f8fafc !important;
    padding: 18px 24px !important;
    border-radius: 18px !important;
    border: 1.5px solid #e2e8f0 !important;
}

.single-campaign.campaign-details .sm-info-wrapper:not(.flex-column) > span {
    display: flex !important;
    flex-direction: column !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.5px !important;
}

.single-campaign.campaign-details .sm-info-wrapper:not(.flex-column) > span:first-child {
    color: #02a95c !important;
}

.single-campaign.campaign-details .sm-info-wrapper:not(.flex-column) > span b {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #64748b !important;
    margin-bottom: 4px !important;
}

/* Metadata List: Location, End Date, Benefits */
.single-campaign.campaign-details .sm-info-wrapper.flex-column {
    background: #ffffff !important;
    border-top: 1.5px dashed #e2e8f0 !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
    padding: 20px 0 !important;
    margin-bottom: 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.single-campaign.campaign-details .sm-info-wrapper.flex-column span.fz-18 {
    font-size: 14.5px !important;
    color: #475569 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-weight: 500 !important;
}

.single-campaign.campaign-details .sm-info-wrapper.flex-column span.fz-18 b {
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* "Your Donation" Section Title */
.single-campaign.campaign-details h4.mb-24 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 16px !important;
    letter-spacing: -0.4px !important;
    display: flex !important;
    align-items: center !important;
}

.single-campaign.campaign-details h4.mb-24::before {
    content: "" !important;
    display: inline-block !important;
    width: 4px !important;
    height: 18px !important;
    background: #02a95c !important;
    border-radius: 4px !important;
    margin-right: 10px !important;
}

/* Donation Input with Currency Symbol - FIXED NO OVERLAP */
.campaign-donation-area .input-with-currency,
.ch-checkout-page-wrapper .input-with-currency,
.input-with-currency {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

.campaign-donation-area .input-with-currency .currency-icon,
.ch-checkout-page-wrapper .input-with-currency .currency-icon,
.input-with-currency .currency-icon {
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: #e6f7ef !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #02a95c !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    border: none !important;
    pointer-events: none !important;
    z-index: 5 !important;
    transition: all 0.25s ease !important;
}

.campaign-donation-area .input-with-currency .currency-icon svg,
.ch-checkout-page-wrapper .input-with-currency .currency-icon svg,
.input-with-currency .currency-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: #02a95c !important;
}

.campaign-donation-area .input-with-currency .donation-input,
.ch-checkout-page-wrapper .input-with-currency .donation-input,
input.donation-input {
    width: 100% !important;
    height: 60px !important;
    border-radius: 16px !important;
    border: 2px solid #cbd5e1 !important;
    /* CRITICAL FIX: 66px padding-left guarantees typed numbers NEVER overlap the currency symbol */
    padding: 12px 20px 12px 66px !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
    margin-bottom: 0 !important;
    letter-spacing: -0.5px !important;
}

.campaign-donation-area .input-with-currency:focus-within .donation-input,
.ch-checkout-page-wrapper .input-with-currency:focus-within .donation-input,
input.donation-input:focus {
    border-color: #02a95c !important;
    box-shadow: 0 0 0 4px rgba(2, 169, 92, 0.18) !important;
    outline: none !important;
}

.campaign-donation-area .input-with-currency:focus-within .currency-icon,
.ch-checkout-page-wrapper .input-with-currency:focus-within .currency-icon,
.input-with-currency:focus-within .currency-icon {
    background: #02a95c !important;
    color: #ffffff !important;
}

.campaign-donation-area .input-with-currency:focus-within .currency-icon svg,
.ch-checkout-page-wrapper .input-with-currency:focus-within .currency-icon svg,
.input-with-currency:focus-within .currency-icon svg {
    fill: #ffffff !important;
}

/* Quick Donation Preloaded Buttons */
.campaign-donation-area .donation-amount-wrapper,
.ch-checkout-page-wrapper .donation-amount-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 28px !important;
    width: 100% !important;
}

@media (max-width: 480px) {
    .campaign-donation-area .donation-amount-wrapper,
    .ch-checkout-page-wrapper .donation-amount-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.campaign-donation-area .donation-amount-wrapper .fixed-donation-amount,
.ch-checkout-page-wrapper .donation-amount-wrapper .fixed-donation-amount {
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    background: #f0fdf4 !important;
    border: 2px solid rgba(2, 169, 92, 0.25) !important;
    color: #02a95c !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.campaign-donation-area .donation-amount-wrapper .fixed-donation-amount:hover,
.ch-checkout-page-wrapper .donation-amount-wrapper .fixed-donation-amount:hover {
    background: #02a95c !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 18px rgba(2, 169, 92, 0.35) !important;
    border-color: #02a95c !important;
}

.campaign-donation-area .donation-amount-wrapper .fixed-donation-amount:active,
.ch-checkout-page-wrapper .donation-amount-wrapper .fixed-donation-amount:active {
    transform: scale(0.96) !important;
}

/* Action: "Donate Now" Button */
.campaign-donation-area .ch-btn.ch-primary-btn.w-100,
.ch-checkout-page-wrapper .ch-btn.ch-primary-btn.w-100 {
    height: 56px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #02a95c 0%, #059669 100%) !important;
    box-shadow: 0 10px 25px -4px rgba(2, 169, 92, 0.45) !important;
    border: none !important;
    color: #ffffff !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.campaign-donation-area .ch-btn.ch-primary-btn.w-100:hover,
.ch-checkout-page-wrapper .ch-btn.ch-primary-btn.w-100:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -4px rgba(2, 169, 92, 0.6) !important;
    filter: brightness(1.05) !important;
}

/* ==========================================================
   CHECKOUT PAGE DONATION FORM (URL: /checkout/:slug)
   ========================================================== */
.ch-checkout-page-wrapper {
    padding: 80px 0 !important;
    background: #f8fafc !important;
}

.ch-checkout-page-wrapper .make-donation-box,
.ch-checkout-page-wrapper .donation-wrapper .make-donation-summary-box {
    border-radius: 24px !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 15px 40px -10px rgba(15, 23, 42, 0.07) !important;
    padding: 38px !important;
    background: #ffffff !important;
}

.ch-checkout-page-wrapper .checkout-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 24px !important;
    letter-spacing: -0.4px !important;
    text-align: left !important;
}

.ch-checkout-page-wrapper h5 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-top: 24px !important;
    margin-bottom: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}

.ch-checkout-page-wrapper .personal-info-label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.ch-checkout-page-wrapper .personal-info-input {
    height: 50px !important;
    border-radius: 12px !important;
    border: 1.5px solid #cbd5e1 !important;
    padding: 12px 18px !important;
    font-size: 15px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
}

.ch-checkout-page-wrapper .personal-info-input:focus {
    border-color: #02a95c !important;
    box-shadow: 0 0 0 3px rgba(2, 169, 92, 0.15) !important;
    outline: none !important;
}

/* Payment Gateway Radios */
.ch-checkout-page-wrapper .payment-wrapper {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 28px !important;
}

.ch-checkout-page-wrapper .payment-wrapper .single-payment {
    width: 100% !important;
}

.ch-checkout-page-wrapper .payment-wrapper .single-payment label {
    border-radius: 14px !important;
    border: 2px solid #e2e8f0 !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    height: 80px !important;
}

.ch-checkout-page-wrapper .payment-wrapper .single-payment label:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05);
}

.ch-checkout-page-wrapper .payment-wrapper .single-payment label.selected {
    border-color: #02a95c !important;
    background: rgba(2, 169, 92, 0.05) !important;
    box-shadow: 0 8px 20px rgba(2, 169, 92, 0.18) !important;
    transform: translateY(-2px);
}

.ch-checkout-page-wrapper .payment-wrapper .single-payment img.payment-img {
    max-height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* Donation Summary Card */
.ch-checkout-page-wrapper .single-sm-blog-card.single-donation-card {
    border-radius: 16px !important;
    border: 1.5px solid #e2e8f0 !important;
    padding: 14px !important;
    background: #f8fafc !important;
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}

.ch-checkout-page-wrapper .single-sm-blog-card.single-donation-card img.donation-img {
    border-radius: 12px !important;
    object-fit: cover !important;
    border: 1px solid #e2e8f0 !important;
}

.ch-checkout-page-wrapper .transection-list {
    border-top: 1.5px dashed #e2e8f0 !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
    padding: 18px 0 !important;
    margin-bottom: 20px !important;
}

.ch-checkout-page-wrapper .transection-list li {
    font-size: 15px !important;
    color: #475569 !important;
    font-weight: 500 !important;
}

.ch-checkout-page-wrapper .total-amount-box {
    background: #0f172a !important;
    color: #ffffff !important;
    padding: 20px 24px !important;
    border-radius: 16px !important;
    margin-top: 24px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.25) !important;
}

.ch-checkout-page-wrapper .total-amount-box span {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

.ch-checkout-page-wrapper .total-amount-box span:last-child {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #34d399 !important;
}

/* ==========================================================
   12. HIDE REDUNDANT FLOATING ARROWS (< >) ON RELATED CAMPAIGNS
   ========================================================== */
.ch-fea-section .prev-arrow,
.ch-fea-section .next-arrow,
.ch-fea-section .slick-arrow,
.ch-fea-section .slick-prev,
.ch-fea-section .slick-next,
.ch-fea-section button.prev-arrow,
.ch-fea-section button.next-arrow {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}


