/*
 Theme Name:   Astra Child
 Theme URI:    http://wpastra.com/
 Description:  Astra Child Theme for Scaling Up Nutrition People's Forum (SUN PF)
 Author:       Antigravity
 Template:     astra
 Version:      1.1.0
 Text Domain:  astra-child
*/

/* ==========================================================================
   SUN PF BRAND DESIGN SYSTEM & GLOBAL THEME ELEVATION
   Colors derived from Official SUN PF & Civil Society Network Logos:
   - Nutrition Green: #129656 (Plant/Agri-Nutrition)
   - Alliance Gold:   #d97706 / #b45309 (Warm Amber Gold from Logo)
   - Sunburst Orange: #ea580c / Amber: #f59e0b
   - Deep Slate:      #0f172a / Slate: #334155
   - Crisp White:     #ffffff / Neutral Warm: #f8fafc
   ========================================================================== */

:root {
    --sunpf-green: #129656;
    --sunpf-green-dark: #0d7c46;
    --sunpf-green-light: rgba(18, 150, 86, 0.12);
    --sunpf-green-subtle: rgba(18, 150, 86, 0.08);
    --sunpf-earth: #d97706;
    --sunpf-earth-dark: #b45309;
    --sunpf-earth-light: #fef3c7;
    --sunpf-orange: #ea580c;
    --sunpf-amber: #f59e0b;
    --sunpf-amber-light: #fffbeb;
    --sunpf-blue: #0284c7;
    --sunpf-blue-dark: #0369a1;
    --sunpf-dark: #0f172a;
    --sunpf-heading: #1e293b;
    --sunpf-body: #334155;
    --sunpf-muted: #64748b;
    --sunpf-border: #e2e8f0;
    --sunpf-border-dark: #cbd5e1;
    --sunpf-bg-warm: #fbfbfa;
    --sunpf-bg-alt: #f3f4f6;
    --sunpf-card-bg: #ffffff;
    --sunpf-radius-sm: 6px;
    --sunpf-radius: 12px;
    --sunpf-radius-lg: 16px;
    --sunpf-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --sunpf-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    --sunpf-shadow-hover: 0 14px 36px rgba(0, 0, 0, 0.10);
    --sunpf-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Base Smoothing & Typography */
body {
    color: var(--sunpf-body);
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--sunpf-heading);
    font-weight: 700;
    line-height: 1.3;
}

a {
    color: var(--sunpf-earth);
    transition: var(--sunpf-transition);
}

a:hover {
    color: var(--sunpf-green);
}

/* ==========================================================================
   GLOBAL SECTION SEPARATION & PADDING (SUPERB SPACING & FLOW)
   ========================================================================== */

/* Clean padding & visual breathing room on Elementor sections & pages */
.elementor-section:not(.elementor-section-full_width) {
    box-sizing: border-box;
}

/* Alternating subtle backgrounds for clean visual separation */
.elementor-section.sunpf-section-alt,
.elementor-section.sunpf-bg-soft {
    background-color: var(--sunpf-bg-alt) !important;
    border-top: 1px solid var(--sunpf-border);
    border-bottom: 1px solid var(--sunpf-border);
}

.elementor-section.sunpf-bg-green {
    background-color: var(--sunpf-green-subtle) !important;
    border-top: 1px solid #dcfce7;
    border-bottom: 1px solid #dcfce7;
}

.elementor-section.sunpf-bg-earth {
    background-color: var(--sunpf-earth-light) !important;
    border-top: 1px solid #fed7aa;
    border-bottom: 1px solid #fed7aa;
}

/* Section Headings with Dual-Brand Accent Line */
.sunpf-section-heading,
.section-title {
    text-align: center;
    color: var(--sunpf-dark);
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 14px;
}

.sunpf-section-heading::after,
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--sunpf-green) 0%, var(--sunpf-earth) 100%);
}

/* ==========================================================================
   HEADER & GLOBAL NAVIGATION
   ========================================================================== */

.main-header-bar {
    background: #ffffff !important;
    border-bottom: 1px solid var(--sunpf-border) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
}

.main-navigation .main-header-menu > li > a {
    color: var(--sunpf-heading) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    padding: 0 16px !important;
    transition: var(--sunpf-transition) !important;
}

.main-navigation .main-header-menu > li > a:hover,
.main-navigation .main-header-menu > li.current-menu-item > a {
    color: var(--sunpf-earth) !important;
}

.main-navigation .main-header-menu > li.current-menu-item > a::after {
    content: '';
    display: block;
    height: 2px;
    background: var(--sunpf-earth);
    margin-top: -2px;
    border-radius: 2px;
}

/* Dropdowns */
.main-header-menu .sub-menu {
    border-radius: var(--sunpf-radius-sm) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid var(--sunpf-border) !important;
    padding: 8px 0 !important;
}

.main-header-menu .sub-menu li a {
    padding: 8px 18px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: var(--sunpf-body) !important;
    transition: var(--sunpf-transition) !important;
}

.main-header-menu .sub-menu li a:hover {
    background: var(--sunpf-green-subtle) !important;
    color: var(--sunpf-green-dark) !important;
    padding-left: 22px !important;
}

/* ==========================================================================
   CARDS (PROJECTS, EVENTS, PUBLICATIONS, ADVERTISEMENTS)
   ========================================================================== */

/* Unified Event & Project Cards */
.event-card,
.weather-report-card,
.advertisement-card,
.project-card,
.sunpf-card {
    background: #ffffff !important;
    border: 1px solid var(--sunpf-border) !important;
    border-radius: var(--sunpf-radius) !important;
    box-shadow: var(--sunpf-shadow) !important;
    transition: var(--sunpf-transition) !important;
    overflow: hidden;
}

.event-card:hover,
.weather-report-card:hover,
.advertisement-card:hover,
.project-card:hover,
.sunpf-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--sunpf-shadow-hover) !important;
    border-color: var(--sunpf-border-dark) !important;
}

/* Event Cards Content Styling */
.event-content,
.card-content {
    padding: 22px !important;
}

.event-title a,
.report-title,
.file-title {
    color: var(--sunpf-dark) !important;
    font-weight: 700 !important;
    transition: var(--sunpf-transition) !important;
}

.event-title a:hover {
    color: var(--sunpf-earth) !important;
}

/* Category & Tags */
.event-category,
.badge-loc,
.file-type-badge {
    background: var(--sunpf-green-subtle) !important;
    color: var(--sunpf-green-dark) !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 3px 8px !important;
    font-size: 0.78rem !important;
}

/* Buttons */
.readmore-btn,
.read-more-btn,
.download-btn,
.btn-download,
.view-all-btn,
.view-all-link {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    padding: 9px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.28) !important;
    transition: var(--sunpf-transition) !important;
}

.readmore-btn:hover,
.read-more-btn:hover,
.download-btn:hover,
.btn-download:hover,
.view-all-btn:hover,
.view-all-link:hover {
    background: linear-gradient(135deg, #b45309 0%, #92400e 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(180, 83, 9, 0.35) !important;
}

/* Secondary & Preview Buttons */
.btn-preview {
    background: #f8fafc !important;
    color: var(--sunpf-heading) !important;
    border: 1px solid var(--sunpf-border-dark) !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    transition: var(--sunpf-transition) !important;
}

.btn-preview:hover {
    background: #e2e8f0 !important;
    color: var(--sunpf-dark) !important;
}

/* ==========================================================================
   DONATION BUTTONS & CALL TO ACTIONS
   ========================================================================== */

.btn-donate-now,
.sunpf-btn-donate {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var(--sunpf-green) !important;
    color: #ffffff !important;
    padding: 11px 24px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(18, 150, 86, 0.28) !important;
    transition: var(--sunpf-transition) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-donate-now:hover,
.sunpf-btn-donate:hover {
    background-color: var(--sunpf-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(18, 150, 86, 0.38) !important;
}

/* ==========================================================================
   FOOTER (EXECUTIVE MULTI-COLUMN & CLEAN COPYRIGHT STYLING)
   ========================================================================== */

.sunpf-main-footer {
    background-color: #0f172a !important;
    border-top: 4px solid #129656 !important;
    color: #e2e8f0 !important;
    padding: 65px 0 45px 0 !important;
    position: relative;
    font-family: 'Rubik', sans-serif;
}

.sunpf-main-footer .ast-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.sunpf-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1.3fr 1.1fr 1.6fr;
    gap: 40px;
}

/* Col 1: Brand */
.sunpf-footer-logo-wrap {
    margin-bottom: 16px;
}

.sunpf-footer-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(18, 150, 86, 0.15);
    color: #34d399;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid rgba(18, 150, 86, 0.3);
    margin-bottom: 10px;
}

.sunpf-footer-org-name {
    color: #ffffff !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.sunpf-footer-desc {
    font-size: 0.90rem !important;
    color: #94a3b8 !important;
    line-height: 1.68 !important;
    margin: 0 0 18px 0 !important;
}

.sunpf-footer-legal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.76rem;
    color: #cbd5e1;
    line-height: 1.4;
}

.sunpf-footer-legal i {
    color: #0284c7;
    font-size: 0.88rem;
    flex-shrink: 0;
}

/* Column Headings */
.sunpf-footer-col-title {
    color: #ffffff !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 0 20px 0 !important;
    position: relative;
    padding-bottom: 10px;
}

.sunpf-footer-col-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 2.5px;
    background: #129656;
    border-radius: 2px;
}

/* Footer Links List */
.sunpf-footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sunpf-footer-links li {
    margin: 0 !important;
    padding: 0 !important;
}

.sunpf-footer-links li a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #94a3b8 !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    line-height: 1.4 !important;
}

.sunpf-footer-links li a i {
    font-size: 0.75rem;
    color: #129656;
    transition: transform 0.25s ease;
}

.sunpf-footer-links li a:hover {
    color: #f59e0b !important;
    transform: translateX(4px);
}

.sunpf-footer-links li a:hover i {
    color: #f59e0b;
}

/* Contact List */
.sunpf-main-footer .sunpf-footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 22px;
}

.sunpf-main-footer .sunpf-contact-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.sunpf-main-footer .sunpf-contact-item i {
    color: #129656 !important;
    font-size: 1rem !important;
    margin-top: 3px !important;
    flex-shrink: 0 !important;
    background: transparent !important;
}

.sunpf-main-footer .sunpf-contact-item .contact-lbl {
    display: block;
    font-size: 0.70rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    font-weight: 700;
}

.sunpf-main-footer .sunpf-contact-item a,
.sunpf-main-footer .sunpf-contact-item span {
    color: #e2e8f0 !important;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.sunpf-main-footer .sunpf-contact-item a:hover {
    color: #f59e0b !important;
}

/* Social Buttons */
.sunpf-footer-socials {
    display: flex;
    gap: 10px;
}

.sunpf-footer-socials a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1 !important;
    font-size: 0.95rem;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.sunpf-footer-socials a:hover {
    background: #129656 !important;
    border-color: #129656 !important;
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(18, 150, 86, 0.4);
}

/* Bottom Bar */
.site-footer {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.site-below-footer-wrap,
.ast-small-footer,
.site-footer-below-section-1 {
    background: #090e17 !important;
    color: #94a3b8 !important;
    padding: 18px 20px !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: center !important;
}

.ast-footer-copyright,
.ast-footer-copyright p,
.site-below-footer-wrap p {
    margin: 0 !important;
    padding: 0 !important;
    color: #94a3b8 !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em;
}

.site-below-footer-wrap a,
.ast-footer-copyright a {
    color: #cbd5e1 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: var(--sunpf-transition) !important;
}

.site-below-footer-wrap a:hover,
.ast-footer-copyright a:hover {
    color: #f59e0b !important;
}

.ast-builder-grid-row-container-inner {
    padding: 0 !important;
    min-height: unset !important;
}

.site-footer .ast-footer-overlay {
    display: none !important;
}

@media (max-width: 1024px) {
    .sunpf-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }
}

@media (max-width: 640px) {
    .sunpf-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .sunpf-main-footer {
        padding: 45px 0 35px 0 !important;
    }
}

/* ==========================================================================
   HOMEPAGE SPECIFIC POLISH & RESPONSIVENESS
   ========================================================================== */

/* Strict Round Carousel Arrows */
.sunpf-camp-prev, .sunpf-camp-next,
.sunpf-ad-prev, .sunpf-ad-next {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
    .sunpf-section-heading,
    .section-title {
        font-size: 1.6rem !important;
        margin-bottom: 22px !important;
    }
    .event-card,
    .advertisement-card,
    .sunpf-card {
        margin-bottom: 18px !important;
    }
    .main-header-bar {
        padding: 8px 12px !important;
    }
}

/* ==========================================================================
   WOOCOMMERCE NOTICES & ALERTS (MATCHING SUN PF BRAND)
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    padding: 16px 20px 16px 52px !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    position: relative !important;
    margin-bottom: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* Success / Green Notice */
.woocommerce-message {
    background-color: #f0fdf4 !important;
    border-color: #86efac !important;
    color: #14532d !important;
    border-left: 5px solid #129656 !important;
}

.woocommerce-message::before {
    color: #129656 !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.25rem !important;
}

/* Info Notice (Coupons, Login Prompts) */
.woocommerce-info {
    background-color: #fdf6ed !important;
    border-color: #fed7aa !important;
    color: #7c2d12 !important;
    border-left: 5px solid var(--sunpf-earth) !important;
}

.woocommerce-info::before {
    color: var(--sunpf-earth) !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.25rem !important;
}

/* Error Notice */
.woocommerce-error {
    background-color: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
    border-left: 5px solid #dc2626 !important;
}

.woocommerce-error::before {
    color: #dc2626 !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.25rem !important;
}

/* Buttons inside notices */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.button.wc-forward {
    background: var(--sunpf-green) !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    transition: var(--sunpf-transition) !important;
    box-shadow: 0 2px 6px rgba(18, 150, 86, 0.25) !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-message a.button.wc-forward:hover {
    background: var(--sunpf-green-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(18, 150, 86, 0.35) !important;
}

.woocommerce-info a.showcoupon,
.woocommerce-info a.showlogin {
    color: var(--sunpf-earth) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

.woocommerce-info a.showcoupon:hover,
.woocommerce-info a.showlogin:hover {
    color: var(--sunpf-green) !important;
}

/* ==========================================================================
   WOOCOMMERCE CHECKOUT & CART ORDER TABLE STYLING
   ========================================================================== */

#order_review_heading {
    color: var(--sunpf-dark);
    font-size: 1.4rem;
    font-weight: 700;
    margin-top: 25px;
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--sunpf-border);
}

table.woocommerce-checkout-review-order-table,
table.shop_table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--sunpf-border) !important;
    border-radius: var(--sunpf-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--sunpf-shadow-sm) !important;
    margin-bottom: 25px !important;
}

table.woocommerce-checkout-review-order-table th,
table.shop_table th {
    background: #f8fafc !important;
    color: var(--sunpf-heading) !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 16px 20px !important;
    border: none !important;
    border-bottom: 2px solid var(--sunpf-border) !important;
}

table.woocommerce-checkout-review-order-table td,
table.shop_table td {
    padding: 16px 20px !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: var(--sunpf-body) !important;
    font-size: 0.95rem !important;
    vertical-align: middle !important;
}

table.woocommerce-checkout-review-order-table tbody tr:hover td,
table.shop_table tbody tr:hover td {
    background-color: #fafbfd !important;
}

table.woocommerce-checkout-review-order-table tfoot th {
    background: #ffffff !important;
    font-weight: 600 !important;
    color: var(--sunpf-heading) !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 14px 20px !important;
}

table.woocommerce-checkout-review-order-table tfoot td {
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 14px 20px !important;
}

/* Highlight Total Row */
table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td,
table.shop_table tfoot tr.order-total th,
table.shop_table tfoot tr.order-total td {
    background-color: var(--sunpf-green-subtle) !important;
    border-top: 2px solid #bbf7d0 !important;
    border-bottom: none !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #166534 !important;
    padding: 18px 20px !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total .woocommerce-Price-amount,
table.shop_table tfoot tr.order-total .woocommerce-Price-amount {
    color: #129656 !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
}

/* Payment Box Section on Checkout */
#payment {
    background: #ffffff !important;
    border: 1px solid var(--sunpf-border) !important;
    border-radius: var(--sunpf-radius) !important;
    box-shadow: var(--sunpf-shadow-sm) !important;
    padding: 24px !important;
    margin-top: 20px !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid var(--sunpf-border) !important;
    padding-bottom: 18px !important;
    margin-bottom: 18px !important;
}

#payment ul.payment_methods li {
    line-height: 2 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--sunpf-heading) !important;
}

#payment div.payment_box {
    background: #f8fafc !important;
    border: 1px solid var(--sunpf-border) !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    font-size: 0.9rem !important;
    color: var(--sunpf-body) !important;
    margin: 10px 0 15px 0 !important;
}

#payment div.payment_box::before {
    border-bottom-color: #f8fafc !important;
}

#place_order {
    background: var(--sunpf-green) !important;
    color: #ffffff !important;
    padding: 16px 28px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: var(--sunpf-transition) !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.3) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

#place_order:hover {
    background: var(--sunpf-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(18, 150, 86, 0.4) !important;
}

/* Coupon Checkout Form */
form.checkout_coupon {
    border: 1px dashed var(--sunpf-earth) !important;
    border-radius: 10px !important;
    background: var(--sunpf-earth-light) !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
}

form.checkout_coupon input.input-text {
    padding: 11px 14px !important;
    border-radius: 6px !important;
    border: 1px solid var(--sunpf-border-dark) !important;
}

form.checkout_coupon button.button {
    background: var(--sunpf-earth) !important;
    color: #ffffff !important;
    padding: 11px 20px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}

form.checkout_coupon button.button:hover {
    background: var(--sunpf-earth-dark) !important;
}

/* ==========================================================================
   CHECKOUT BILLING FORM ENHANCEMENTS
   ========================================================================== */

.woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 20px !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
    grid-column: span 2 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

.woocommerce-billing-fields__field-wrapper label {
    font-weight: 700 !important;
    color: var(--sunpf-heading) !important;
    margin-bottom: 6px !important;
    font-size: 0.9rem !important;
}

.woocommerce-billing-fields__field-wrapper input.input-text {
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1px solid var(--sunpf-border-dark) !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
    background: #ffffff !important;
    transition: var(--sunpf-transition) !important;
}

.woocommerce-billing-fields__field-wrapper input.input-text:focus {
    border-color: var(--sunpf-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(18, 150, 86, 0.15) !important;
}

@media (max-width: 640px) {
    .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-billing-fields__field-wrapper .form-row-wide {
        grid-column: span 1 !important;
    }
}

/* ==========================================================================
   CHECKOUT PAGE RESPONSIVE CONTAINER & BRAND HEADER
   ========================================================================== */

body.woocommerce-checkout {
    background-color: #f8fafc !important;
}

body.woocommerce-checkout #primary,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .ast-container {
    background-color: transparent !important;
}

.sunpf-checkout-container {
    background: #ffffff;
    max-width: 1160px;
    width: 100%;
    margin: 35px auto 60px auto;
    padding: 40px 45px;
    border-radius: var(--sunpf-radius);
    border: 1px solid var(--sunpf-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.sunpf-checkout-header {
    background: linear-gradient(135deg, #129656 0%, #0d7c46 100%);
    color: #ffffff;
    padding: 28px 24px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 30px;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.2);
}

.sunpf-checkout-title {
    color: #ffffff !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
    margin: 0 0 6px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-family: 'Roboto Slab', serif !important;
    border: none !important;
}

.sunpf-checkout-title::after {
    display: none !important;
}

.sunpf-checkout-subtitle {
    margin: 0 !important;
    font-size: 1rem !important;
    color: #f0fdf4 !important;
}

/* Tablet & Mobile Specific Padding & Margin Fixes */
@media (max-width: 768px) {
    body.woocommerce-checkout .ast-container,
    body.woocommerce-checkout .site-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .sunpf-checkout-container {
        margin: 15px auto 35px auto !important;
        padding: 20px 14px !important;
        border-radius: 8px !important;
        border-width: 1px !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
    }

    .sunpf-checkout-header {
        padding: 18px 14px !important;
        margin-bottom: 20px !important;
        border-radius: 6px !important;
    }

    .sunpf-checkout-title {
        font-size: 1.4rem !important;
        margin-bottom: 4px !important;
    }

    .sunpf-checkout-subtitle {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }

    .sunpf-checkout-ad-fields {
        padding: 16px 12px !important;
        margin: 20px 0 !important;
    }

    table.woocommerce-checkout-review-order-table th,
    table.woocommerce-checkout-review-order-table td {
        padding: 12px 10px !important;
        font-size: 0.88rem !important;
    }

    #payment {
        padding: 16px 12px !important;
    }

    #place_order {
        padding: 14px 18px !important;
        font-size: 1rem !important;
    }
}

@media (max-width: 480px) {
    body.woocommerce-checkout .ast-container,
    body.woocommerce-checkout .site-content {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .sunpf-checkout-container {
        margin: 8px auto 20px auto !important;
        padding: 14px 10px !important;
    }

    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        padding: 12px 12px 12px 40px !important;
        font-size: 0.88rem !important;
    }
}

/* ==========================================================================
   SMARTSLIDER 3 - OBJECT-FIT FOR CONTENT + IMAGE SLIDES
   Applies ONLY to split slides with text content + image columns.
   Full-slide image banners remain untouched with their natural dimensions.
   ========================================================================== */

.n2-ss-slider .n2-ss-layer-row-inner {
    display: flex !important;
    align-items: center !important;
}

.n2-ss-slider .n2-ss-layer-row .n2-ss-layer-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.n2-ss-slider .n2-ss-layer-row .n2-ss-layer-col .image_style,
.n2-ss-slider .n2-ss-layer-row .n2-ss-layer-col .n2-ss-item-image-content,
.n2-ss-slider .n2-ss-layer-row .n2-ss-layer[data-sstype="col"] .n2-ss-item-image-content {
    width: 100% !important;
    height: 100% !important;
    min-height: 280px !important;
    max-height: 420px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}

.n2-ss-slider .n2-ss-layer-row .n2-ss-layer-col .n2-ss-item-image-content img,
.n2-ss-slider .n2-ss-layer-row .n2-ss-layer[data-sstype="col"] .n2-ss-item-image-content img,
.n2-ss-slider .n2-ss-layer-row .image_style img {
    width: 100% !important;
    height: 100% !important;
    min-height: 280px !important;
    max-height: 420px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
    display: block !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

@media (max-width: 768px) {
    .n2-ss-slider .n2-ss-layer-row .n2-ss-layer-col .n2-ss-item-image-content img,
    .n2-ss-slider .n2-ss-layer-row .n2-ss-layer[data-sstype="col"] .n2-ss-item-image-content img,
    .n2-ss-slider .n2-ss-layer-row .image_style img {
        min-height: 200px !important;
        max-height: 300px !important;
    }
}

/* ==========================================================================
   HOMEPAGE SECTION SEPARATION & AD GAP REMOVAL
   ========================================================================== */

/* 1. Global Page Background - Soothing Warm Linen (Eye-comfort, zero harsh glare) */
div#content,
.site-content {
    background-color: #fbfbfa !important;
    background-image: none !important;
}

/* 2. Remove empty Ad Carousel placeholder gap between Top Donors & Campaigns */
.elementor-element-sunpf_ad_section_3320 {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-sunpf_ad_section_3320:not(:has(.sunpf-ad-item)) {
    display: none !important;
}

/* 3. "Select a Donation Programme" Section - Soft Warm Linen Neutral */
.elementor-element-6addb85 {
    background-color: #fbfbfa !important;
    background-image: none !important;
    padding-top: 60px !important;
    padding-bottom: 55px !important;
}

/* Campaigns Carousel Cards on Warm Background */
.sunpf-campaign-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.sunpf-campaign-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1) !important;
    border-color: #129656 !important;
}

/* ==========================================================================
   CREATIVE REDESIGN: OUR VISION, OUR MISSION, OUR AIM
   ========================================================================== */

/* Section Outer Wrapper - Gentle Pearl Neutral */
.elementor-element-3a62a1e7 {
    background-color: #f3f4f6 !important;
    background-image: none !important;
    padding: 30px 0 70px 0 !important;
    margin: 0 !important;
}

/* Column Wrapper - remove negative margin overlap */
.elementor-element-3e0efc09 > .elementor-element-populated {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Grid Layout for the 3 Cards */
.elementor-element-682eca56 {
    box-shadow: none !important;
    border: none !important;
}
.elementor-element-682eca56 > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-shadow: none !important;
}

/* Base Style for All 3 Cards */
.elementor-element-30c0c094,
.elementor-element-16f07a7,
.elementor-element-580e4211 {
    width: 100% !important;
}

.elementor-element-30c0c094 > .elementor-element-populated,
.elementor-element-16f07a7 > .elementor-element-populated,
.elementor-element-580e4211 > .elementor-element-populated {
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 44px 30px 40px 30px !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

/* Eliminate Old Dull Brown Background Overlays */
.elementor-element-30c0c094 > .elementor-element-populated > .elementor-background-overlay,
.elementor-element-16f07a7 > .elementor-element-populated > .elementor-background-overlay,
.elementor-element-580e4211 > .elementor-element-populated > .elementor-background-overlay {
    display: none !important;
}

/* Hover Elevation & Floating Glow */
.elementor-element-30c0c094 > .elementor-element-populated:hover,
.elementor-element-16f07a7 > .elementor-element-populated:hover,
.elementor-element-580e4211 > .elementor-element-populated:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12) !important;
}

/* Top Accent Borders per Card Theme */
.elementor-element-30c0c094 > .elementor-element-populated {
    border-top: 5px solid #129656 !important; /* Nutrition Green */
}
.elementor-element-16f07a7 > .elementor-element-populated {
    border-top: 5px solid #d97706 !important; /* Brand Warm Gold/Amber */
}
.elementor-element-580e4211 > .elementor-element-populated {
    border-top: 5px solid #0284c7 !important; /* Strategic Sapphire Blue */
}

/* Icon Pedestal / Circular Container */
.elementor-element-30c0c094 .elementor-icon,
.elementor-element-16f07a7 .elementor-icon,
.elementor-element-580e4211 .elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    border-radius: 50% !important;
    font-size: 32px !important;
    margin-bottom: 22px !important;
    transition: all 0.3s ease !important;
}
.elementor-element-30c0c094 .elementor-icon svg,
.elementor-element-16f07a7 .elementor-icon svg,
.elementor-element-580e4211 .elementor-icon svg {
    width: 32px !important;
    height: 32px !important;
}

/* Card 1: Our Vision (Eye) - Emerald Green Theme */
.elementor-element-30c0c094 .elementor-icon {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
    color: #129656 !important;
    border: 1.5px solid #a7f3d0 !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.15) !important;
}
.elementor-element-30c0c094 .elementor-icon svg {
    fill: #129656 !important;
}
.elementor-element-30c0c094:hover .elementor-icon {
    background: #129656 !important;
    color: #ffffff !important;
    transform: scale(1.08) rotate(3deg) !important;
}
.elementor-element-30c0c094:hover .elementor-icon svg {
    fill: #ffffff !important;
}

/* Card 2: Our Mission (Diamond) - Brand Amber/Gold Theme */
.elementor-element-16f07a7 .elementor-icon {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
    color: #d97706 !important;
    border: 1.5px solid #fde68a !important;
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.18) !important;
}
.elementor-element-16f07a7 .elementor-icon svg {
    fill: #d97706 !important;
}
.elementor-element-16f07a7:hover .elementor-icon {
    background: #d97706 !important;
    color: #ffffff !important;
    transform: scale(1.08) rotate(-3deg) !important;
}
.elementor-element-16f07a7:hover .elementor-icon svg {
    fill: #ffffff !important;
}

/* Card 3: Our Aim (Target) - Strategic Blue Theme */
.elementor-element-580e4211 .elementor-icon {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
    color: #0284c7 !important;
    border: 1.5px solid #bae6fd !important;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.15) !important;
}
.elementor-element-580e4211 .elementor-icon svg {
    fill: #0284c7 !important;
}
.elementor-element-580e4211:hover .elementor-icon {
    background: #0284c7 !important;
    color: #ffffff !important;
    transform: scale(1.08) rotate(3deg) !important;
}
.elementor-element-580e4211:hover .elementor-icon svg {
    fill: #ffffff !important;
}

/* Headings: Crisp Slate Charcoal */
.elementor-element-2228d7d6 .elementor-heading-title,
.elementor-element-484d1d71 .elementor-heading-title,
.elementor-element-4ff4c2b .elementor-heading-title {
    color: #0f172a !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    margin-bottom: 14px !important;
    font-family: 'Roboto Slab', serif !important;
    letter-spacing: -0.3px !important;
}

/* Text Editors: Clean, Readable Slate */
.elementor-element-30c0c094 .elementor-widget-text-editor,
.elementor-element-16f07a7 .elementor-widget-text-editor,
.elementor-element-580e4211 .elementor-widget-text-editor,
.elementor-element-30c0c094 .elementor-widget-container,
.elementor-element-16f07a7 .elementor-widget-container,
.elementor-element-580e4211 .elementor-widget-container,
.elementor-element-30c0c094 p,
.elementor-element-16f07a7 p,
.elementor-element-580e4211 p,
.elementor-element-77f81c14,
.elementor-element-483e502,
.elementor-element-64108852,
.elementor-element-77f81c14 p,
.elementor-element-483e502 p,
.elementor-element-64108852 p {
    color: #475569 !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* Responsive Stacking for Vision / Mission / Aim */
@media (max-width: 900px) {
    .elementor-element-682eca56 > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .elementor-element-30c0c094 > .elementor-element-populated,
    .elementor-element-16f07a7 > .elementor-element-populated,
    .elementor-element-580e4211 > .elementor-element-populated {
        padding: 35px 24px 30px 24px !important;
    }
}

/* ==========================================================================
   STRATEGIC OBJECTIVES MODERN 2x2 CARD GRID
   ========================================================================== */

/* Section Background & Spacing - Soft Warm Linen */
.elementor-element-68fe81d3 {
    background-color: #fbfbfa !important;
    background-image: none !important;
    margin: 0 !important;
    padding: 65px 20px 80px 20px !important;
}
.elementor-element-68fe81d3 > .elementor-background-overlay {
    display: none !important;
}

/* Heading: Strategic Objectives */
.elementor-element-48b43a0b .elementor-heading-title {
    color: #0f172a !important;
    font-size: 2.3rem !important;
    font-weight: 800 !important;
    font-family: 'Roboto Slab', serif !important;
    letter-spacing: -0.5px !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}

/* Divider Line */
.elementor-element-218b379b .elementor-divider-separator {
    border-top: 3px solid #d97706 !important;
    max-width: 65px !important;
    margin: 0 auto 30px auto !important;
    border-radius: 2px !important;
}

/* Remove Toxic Lime Green from Container */
.elementor-element-439d766 {
    background-color: transparent !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* 2x2 Modern Grid Layout */
.elementor-element-439d766 .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Each Objective Card */
.elementor-element-d46461f,
.elementor-element-8683316,
.elementor-element-e7e69ff,
.elementor-element-d413e93 {
    width: 100% !important;
    margin: 0 !important;
}

.elementor-element-d46461f .elementor-widget-container,
.elementor-element-8683316 .elementor-widget-container,
.elementor-element-e7e69ff .elementor-widget-container,
.elementor-element-d413e93 .elementor-widget-container {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 24px 26px 24px 78px !important;
    position: relative !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    min-height: 105px !important;
    box-sizing: border-box !important;
}

/* Hover Lift Effect */
.elementor-element-d46461f .elementor-widget-container:hover,
.elementor-element-8683316 .elementor-widget-container:hover,
.elementor-element-e7e69ff .elementor-widget-container:hover,
.elementor-element-d413e93 .elementor-widget-container:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1) !important;
}

/* Left Accent Borders */
.elementor-element-d46461f .elementor-widget-container {
    border-left: 5px solid #129656 !important; /* Nutrition Green */
}
.elementor-element-8683316 .elementor-widget-container {
    border-left: 5px solid #d97706 !important; /* Warm Gold */
}
.elementor-element-e7e69ff .elementor-widget-container {
    border-left: 5px solid #0284c7 !important; /* Strategic Blue */
}
.elementor-element-d413e93 .elementor-widget-container {
    border-left: 5px solid #0f766e !important; /* Forest Teal */
}

/* Number Badges */
.elementor-element-d46461f .elementor-widget-container::before,
.elementor-element-8683316 .elementor-widget-container::before,
.elementor-element-e7e69ff .elementor-widget-container::before,
.elementor-element-d413e93 .elementor-widget-container::before {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.05rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.elementor-element-d46461f .elementor-widget-container::before {
    content: "01";
    background: #ecfdf5;
    color: #129656;
    border: 1px solid #a7f3d0;
}
.elementor-element-8683316 .elementor-widget-container::before {
    content: "02";
    background: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
}
.elementor-element-e7e69ff .elementor-widget-container::before {
    content: "03";
    background: #f0f9ff;
    color: #0284c7;
    border: 1px solid #bae6fd;
}
.elementor-element-d413e93 .elementor-widget-container::before {
    content: "04";
    background: #f0fdfa;
    color: #0f766e;
    border: 1px solid #99f6e4;
}

/* Objective Text Styling */
.elementor-element-d46461f .elementor-heading-title,
.elementor-element-8683316 .elementor-heading-title,
.elementor-element-e7e69ff .elementor-heading-title,
.elementor-element-d413e93 .elementor-heading-title {
    color: #334155 !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
    margin: 0 !important;
    text-align: left !important;
}

/* Also Clean Weather Reports Section Container Background */
.elementor-element-669cb01,
.elementor-element-0da58d2 {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Mobile Responsiveness for Objectives Grid */
@media (max-width: 820px) {
    .elementor-element-439d766 .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .elementor-element-d46461f .elementor-widget-container,
    .elementor-element-8683316 .elementor-widget-container,
    .elementor-element-e7e69ff .elementor-widget-container,
    .elementor-element-d413e93 .elementor-widget-container {
        padding: 20px 20px 20px 72px !important;
        min-height: auto !important;
    }
}

/* ==========================================================================
   LATEST EVENTS SECTION & CARD ELEVATION
   ========================================================================== */

/* Section Wrapper: Gentle Pearl Neutral */
.elementor-element-8612b65,
.elementor-element-52919cc {
    background-color: #f3f4f6 !important;
    background: #f3f4f6 !important;
    background-image: none !important;
}

/* Section Heading: Latest Events */
.elementor-element-dc85a8f .elementor-heading-title {
    color: #0f172a !important;
    font-size: 2.3rem !important;
    font-weight: 800 !important;
    font-family: 'Roboto Slab', serif !important;
    letter-spacing: -0.5px !important;
    text-align: center !important;
    margin-bottom: 6px !important;
}

/* Divider Line */
.elementor-element-3783a3d .elementor-divider-separator {
    border-top: 3px solid #d97706 !important;
    max-width: 65px !important;
    margin: 0 auto 35px auto !important;
    border-radius: 2px !important;
}

/* Weather Reports & Advertisements Sections: Completely Disabled from Homepage */
.elementor-element-669cb01,
.elementor-element-0da58d2,
.elementor-element-493924a,
.elementor-element-6927988 {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ==========================================================================
   SUN GLOBAL MOVEMENT SECTION & HD DIAGRAM ELEVATION
   ========================================================================== */

/* Section Outer Styling - Deep Executive Midnight Gradient */
.elementor-element-4c9bde9c {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 60%, #064e3b 100%) !important;
    padding: 85px 20px 90px 20px !important;
    position: relative !important;
}

/* Remove Old Green Dotted Frame behind Diagram */
.elementor-element-6f68b614 {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-element-46badb94 {
    margin: 0 !important;
}

/* HD Diagram Card Frame */
.elementor-element-46badb94 img {
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background: #ffffff !important;
}
.elementor-element-46badb94 img:hover {
    transform: scale(1.02) !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.6) !important;
}

/* Heading: SUN Global Movement */
.elementor-element-76c7506e .elementor-heading-title {
    color: #ffffff !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
}

/* Modern Global Movement Content Layout */
.sunpf-global-wrapper {
    display: flex;
    flex-direction: column;
}

.sunpf-global-lead {
    color: #e2e8f0 !important;
    font-size: 1.02rem !important;
    line-height: 1.7 !important;
    margin-bottom: 22px !important;
}

.sunpf-global-lead strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* 4 Core Networks Grid */
.sunpf-global-networks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

.sunpf-net-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    padding: 13px 15px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: all 0.25s ease;
}

.sunpf-net-card:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.sunpf-net-card .net-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.net-csn .net-icon {
    background: rgba(16, 185, 129, 0.16);
    color: #10b981;
}

.net-donor .net-icon {
    background: rgba(245, 158, 11, 0.16);
    color: #f59e0b;
}

.net-biz .net-icon {
    background: rgba(251, 146, 60, 0.16);
    color: #fb923c;
}

.net-un .net-icon {
    background: rgba(56, 189, 248, 0.16);
    color: #38bdf8;
}

.sunpf-net-card .net-body strong {
    display: block;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 700;
    margin-bottom: 3px;
    line-height: 1.25;
}

.sunpf-net-card .net-body span {
    display: block;
    color: #94a3b8;
    font-size: 0.78rem;
    line-height: 1.45;
}

/* Global Stats Bar */
.sunpf-global-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sunpf-stat-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 10px 6px;
    text-align: center;
}

.sunpf-stat-item .stat-value {
    display: block;
    color: #f59e0b;
    font-size: 1.35rem;
    font-weight: 900;
    font-family: 'Roboto Slab', serif;
    line-height: 1.1;
}

.sunpf-stat-item .stat-label {
    display: block;
    color: #94a3b8;
    font-size: 0.70rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 4px;
}

@media (max-width: 900px) {
    .sunpf-global-networks {
        grid-template-columns: 1fr;
    }
    .sunpf-global-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================================================
   SUN CIVIL SOCIETY ALLIANCE OF SRI LANKA SECTION REDESIGN (Section 3857cbd3)
   ========================================================================== */
.elementor-element-3857cbd3 {
    background-color: #fbfbfa !important;
    position: relative;
    padding: 60px 0 65px 0 !important;
}

.elementor-element-3857cbd3 > .elementor-container {
    align-items: flex-start !important;
}

/* Left & Right Columns: Top Align */
.elementor-element-3d6a0cb9,
.elementor-element-717e3fc3 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.elementor-element-3d6a0cb9 > .elementor-element-populated,
.elementor-element-717e3fc3 > .elementor-element-populated {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Left Column: Carousel Image Frame */
.elementor-element-4de63138 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-element-4de63138 .elementor-image-carousel-wrapper {
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.12), 0 6px 18px -6px rgba(18, 150, 86, 0.12) !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    background: #f8fafc !important;
    position: relative;
}

.elementor-element-4de63138 .swiper-slide img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    transition: transform 0.6s ease !important;
}

.elementor-element-4de63138 .swiper-slide:hover img {
    transform: scale(1.02) !important;
}

/* Custom Swiper Controls - Crystal Clear Emerald Chevrons */
.elementor-element-4de63138 .elementor-swiper-button {
    background: #ffffff !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22) !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 20 !important;
    cursor: pointer !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.elementor-element-4de63138 .elementor-swiper-button svg {
    fill: #129656 !important;
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    transition: all 0.2s ease !important;
}

.elementor-element-4de63138 .elementor-swiper-button:hover {
    background: #129656 !important;
    box-shadow: 0 6px 20px rgba(18, 150, 86, 0.4) !important;
    transform: scale(1.08) !important;
}

.elementor-element-4de63138 .elementor-swiper-button:hover svg {
    fill: #ffffff !important;
}

.elementor-element-4de63138 .swiper-pagination-bullet {
    background: #cbd5e1 !important;
    opacity: 1 !important;
    width: 8px !important;
    height: 8px !important;
    transition: all 0.3s ease !important;
}

.elementor-element-4de63138 .swiper-pagination-bullet-active {
    background: #129656 !important;
    width: 22px !important;
    border-radius: 11px !important;
}

/* Left Column Content (Under Carousel) */
.suncsa-left-content {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.suncsa-left-content .suncsa-metrics-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 0;
}

.suncsa-left-content .suncsa-metric-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    border-top: 3px solid #129656;
    transition: all 0.25s ease;
}

.suncsa-left-content .suncsa-metric-box:nth-child(2) {
    border-top-color: #d97706;
}

.suncsa-left-content .suncsa-metric-box:nth-child(3) {
    border-top-color: #0284c7;
}

.suncsa-left-content .suncsa-metric-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
}

.suncsa-left-content .suncsa-metric-num {
    font-size: 1.45rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
    font-family: 'Roboto Slab', serif;
}

.suncsa-left-content .suncsa-metric-label {
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 3px;
}

.suncsa-left-content .suncsa-legal-notice {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.suncsa-left-content .suncsa-legal-notice i {
    color: #0284c7;
    font-size: 0.85rem;
    flex-shrink: 0;
}

/* Right Column: Heading & Content Wrap */
.elementor-element-6d2a99c5 {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

.elementor-element-6d2a99c5 .elementor-heading-title {
    color: #0f172a !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.4px !important;
    margin: 0 !important;
}

.suncsa-content-wrap {
    display: flex;
    flex-direction: column;
}

.suncsa-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(18, 150, 86, 0.08);
    color: #129656;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 12px;
    border-radius: 30px;
    border: 1px solid rgba(18, 150, 86, 0.22);
    margin-bottom: 8px;
    align-self: flex-start;
}

.suncsa-subtitle {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #0284c7 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.35 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.suncsa-desc {
    font-size: 0.92rem !important;
    color: #475569 !important;
    line-height: 1.65 !important;
    margin-bottom: 16px !important;
}

.suncsa-desc strong {
    color: #0f172a !important;
}

/* Priority Feature Checklist */
.suncsa-check-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.suncsa-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 0.88rem !important;
    color: #334155 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

.suncsa-check-list li i {
    color: #129656;
    font-size: 0.95rem;
    margin-top: 2px;
    flex-shrink: 0;
}

.suncsa-check-list li strong {
    color: #0f172a;
}

/* Action CTA Button */
.suncsa-actions-footer {
    display: flex;
    align-items: center;
    padding-top: 4px;
}

.suncsa-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #129656 0%, #0d7a45 100%);
    color: #ffffff !important;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 8px;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(18, 150, 86, 0.25);
    transition: all 0.25s ease;
}

.suncsa-cta-btn:hover {
    background: linear-gradient(135deg, #0d7a45 0%, #095932 100%);
    box-shadow: 0 6px 18px rgba(18, 150, 86, 0.35);
    transform: translateY(-2px);
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .elementor-element-3857cbd3 {
        padding: 45px 22px 50px 22px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .elementor-element-3857cbd3 > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    .elementor-element-3857cbd3 .elementor-column,
    .elementor-element-3857cbd3 .elementor-column.elementor-col-50,
    .elementor-element-3d6a0cb9,
    .elementor-element-717e3fc3 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
    .elementor-element-3d6a0cb9 > .elementor-element-populated,
    .elementor-element-717e3fc3 > .elementor-element-populated {
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    .elementor-element-4de63138 {
        margin-bottom: 14px !important;
    }
    .elementor-element-4de63138 .swiper-slide img {
        height: 260px !important;
        border-radius: 14px !important;
        width: 100% !important;
        object-fit: cover !important;
    }
    .suncsa-left-content {
        margin-top: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .suncsa-left-content .suncsa-metrics-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .suncsa-left-content .suncsa-metric-box {
        padding: 10px 4px !important;
    }
    .suncsa-left-content .suncsa-metric-num {
        font-size: 1.25rem !important;
    }
    .suncsa-left-content .suncsa-metric-label {
        font-size: 0.60rem !important;
        letter-spacing: 0.02em !important;
    }
    .suncsa-left-content .suncsa-legal-notice {
        font-size: 0.74rem !important;
        padding: 10px 14px !important;
        line-height: 1.4 !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        margin-top: 10px !important;
    }
    .elementor-element-6d2a99c5 {
        margin-top: 24px !important;
        margin-bottom: 8px !important;
        text-align: left !important;
    }
    .elementor-element-6d2a99c5 .elementor-heading-title {
        font-size: 1.85rem !important;
        line-height: 1.25 !important;
        text-align: left !important;
        letter-spacing: -0.3px !important;
        color: #0f172a !important;
    }
    .elementor-element-546f1fd5 {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }
    .suncsa-content-wrap {
        width: 100% !important;
        text-align: left !important;
        align-items: flex-start !important;
        box-sizing: border-box !important;
    }
    .suncsa-eyebrow {
        align-self: flex-start !important;
        margin-bottom: 10px !important;
    }
    .suncsa-subtitle {
        font-size: 1.05rem !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
        text-align: left !important;
    }
    .suncsa-desc {
        font-size: 0.92rem !important;
        line-height: 1.65 !important;
        margin-bottom: 18px !important;
        text-align: left !important;
        color: #475569 !important;
    }
    .suncsa-check-list {
        padding: 0 !important;
        margin: 0 0 22px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        text-align: left !important;
    }
    .suncsa-check-list li {
        display: flex !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 10px !important;
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .suncsa-check-list li span {
        text-align: left !important;
        flex: 1 !important;
        display: block !important;
        color: #334155 !important;
    }
    .suncsa-check-list li i {
        margin-top: 3px !important;
        font-size: 1rem !important;
        flex-shrink: 0 !important;
        color: #129656 !important;
    }
    .suncsa-actions-footer {
        width: 100% !important;
        padding-top: 6px !important;
    }
    .suncsa-cta-btn {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 13px 20px !important;
        font-size: 0.95rem !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   OUR MAIN ACTIVITIES SECTION REDESIGN (Section 49527c74)
   ========================================================================== */
.elementor-element-49527c74 {
    background-color: #f3f4f6 !important;
    background-image: none !important;
    position: relative;
    padding: 85px 0 !important;
}

.elementor-element-49527c74 .elementor-background-overlay {
    display: none !important;
}

/* Eyebrow & Headings */
.elementor-element-9fcd863 .elementor-heading-title {
    color: #129656 !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    margin-bottom: 8px !important;
    text-align: center !important;
}

.elementor-element-e9bc2e9 .elementor-heading-title {
    color: #0f172a !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 2.6rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}

.sunpf-activities-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.sunpf-activities-intro {
    max-width: 760px;
    margin: 0 auto 40px auto !important;
    text-align: center;
    font-size: 1.05rem !important;
    color: #64748b !important;
    line-height: 1.65 !important;
}

/* 3x3 Responsive Grid */
.sunpf-activities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Activity Card */
.sunpf-act-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px 24px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}

.sunpf-act-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

/* Top Accent Line */
.sunpf-act-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    transition: height 0.25s ease;
}

.sunpf-act-card:hover::before {
    height: 6px;
}

.sunpf-act-card.card-emerald::before { background: #129656; }
.sunpf-act-card.card-amber::before { background: #d97706; }
.sunpf-act-card.card-sky::before { background: #0284c7; }
.sunpf-act-card.card-forest::before { background: #10b981; }
.sunpf-act-card.card-indigo::before { background: #6366f1; }
.sunpf-act-card.card-rose::before { background: #e11d48; }

/* Icon Wrap */
.sunpf-act-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    font-size: 1.25rem;
    transition: transform 0.3s ease;
}

.sunpf-act-card:hover .sunpf-act-icon-wrap {
    transform: scale(1.08);
}

.card-emerald .sunpf-act-icon-wrap { background: rgba(18, 150, 86, 0.1); color: #129656; }
.card-amber .sunpf-act-icon-wrap { background: rgba(217, 119, 6, 0.1); color: #d97706; }
.card-sky .sunpf-act-icon-wrap { background: rgba(2, 132, 199, 0.1); color: #0284c7; }
.card-forest .sunpf-act-icon-wrap { background: rgba(16, 185, 129, 0.1); color: #10b981; }
.card-indigo .sunpf-act-icon-wrap { background: rgba(99, 102, 241, 0.1); color: #6366f1; }
.card-rose .sunpf-act-icon-wrap { background: rgba(225, 29, 72, 0.1); color: #e11d48; }

/* Card Body */
.sunpf-act-title {
    font-size: 1.12rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.35 !important;
    font-family: 'Rubik', sans-serif !important;
}

.sunpf-act-desc {
    font-size: 0.90rem !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .sunpf-activities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .sunpf-activities-grid {
        grid-template-columns: 1fr;
    }
    .elementor-element-e9bc2e9 .elementor-heading-title {
        font-size: 2rem !important;
    }
}

/* ==========================================================================
   MATERNITY RIGHTS & ADVOCACY VIDEO SECTION (Container 00e31ca)
   ========================================================================== */
.elementor-element-00e31ca {
    background-color: #fbfbfa !important;
    padding: 48px 0 52px 0 !important;
    position: relative;
}

.elementor-element-00e31ca > .e-con-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.sunpf-advocacy-header-desc {
    max-width: 820px;
    margin: 0 auto !important;
    text-align: center;
    font-size: 0.98rem !important;
    color: #64748b !important;
    line-height: 1.6 !important;
}

/* Video Frame - Top Aligned */
.elementor-element-b27ec3d {
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
}

.elementor-element-b27ec3d .elementor-widget-video {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.12);
}

.elementor-element-b27ec3d .elementor-widget-video iframe {
    width: 100% !important;
    display: block !important;
}

.sunpf-video-caption-bar {
    background: #0f172a;
    color: #ffffff;
    padding: 10px 18px;
    border-radius: 0 0 16px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.2);
}

.sunpf-video-caption-bar i {
    color: #ef4444;
    font-size: 1.15rem;
}

/* Advocacy Milestones Card (Under Video - Fills Empty Space) */
.sunpf-advocacy-milestones {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    padding: 12px 14px;
    margin-top: 12px;
    border-top: 3px solid #129656;
}

.milestones-header {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f1f5f9;
}

.milestones-header i {
    color: #129656;
    font-size: 0.90rem;
}

.milestones-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.milestone-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 6px;
    text-align: center;
    transition: all 0.2s ease;
}

.milestone-box:hover {
    background: #ffffff;
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}

.milestone-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    font-weight: 800;
    color: #129656;
    background: rgba(18, 150, 86, 0.1);
    padding: 2px 7px;
    border-radius: 12px;
    margin-bottom: 3px;
}

.milestone-box:nth-child(2) .milestone-badge {
    color: #0284c7;
    background: rgba(2, 132, 199, 0.1);
}

.milestone-box:nth-child(3) .milestone-badge {
    color: #d97706;
    background: rgba(217, 119, 6, 0.1);
}

.milestone-box p {
    font-size: 0.72rem;
    color: #475569;
    line-height: 1.35;
    margin: 0;
}

.milestone-box p strong {
    display: block;
    color: #0f172a;
    font-weight: 700;
}

/* Bilingual Advocacy Cards - Compact & Balanced */
.elementor-element-b7a2f54,
.elementor-element-36a508b {
    background-color: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    padding: 16px 20px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative;
    overflow: hidden;
}

.elementor-element-b7a2f54 {
    border-left: 5px solid #129656 !important;
}

.elementor-element-36a508b {
    border-left: 5px solid #0284c7 !important;
}

.elementor-element-b7a2f54:hover,
.elementor-element-36a508b:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -6px rgba(0, 0, 0, 0.07) !important;
    border-color: #cbd5e1 !important;
}

.sunpf-card-lang-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.sunpf-lang-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.74rem;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pill-emerald {
    background: rgba(18, 150, 86, 0.1);
    color: #129656;
    border: 1px solid rgba(18, 150, 86, 0.2);
}

.pill-sky {
    background: rgba(2, 132, 199, 0.1);
    color: #0284c7;
    border: 1px solid rgba(2, 132, 199, 0.2);
}

.sunpf-topic-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
}

.sunpf-advocacy-title {
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.35 !important;
    font-family: 'Roboto Slab', 'Noto Sans Sinhala', 'Noto Sans Tamil', serif !important;
}

.sunpf-advocacy-para {
    font-size: 0.88rem !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 0 6px 0 !important;
}

.sunpf-advocacy-para:last-child {
    margin-bottom: 0 !important;
}

.sunpf-advocacy-para strong {
    color: #0f172a;
}

@media (max-width: 900px) {
    #sunpf_advocacy_body_con,
    .elementor-element-00e31ca .e-con-inner {
        flex-direction: column !important;
    }
    .elementor-element-b27ec3d,
    .elementor-element-57fb383 {
        width: 100% !important;
    }
}

/* ==========================================================================
   BMI CALCULATOR SECTION MODERNIZATION (Section 71ebbd9)
   ========================================================================== */
.elementor-element-71ebbd9 {
    background-color: #f3f4f6 !important;
    background-image: none !important;
    padding: 30px 0 35px 0 !important;
    position: relative;
}

.elementor-element-71ebbd9 .elementor-background-overlay {
    display: none !important;
}

/* Tabs Navigation Styling - Floating Modern Pills */
.sunpf_bmi_tabs_wrap .elementor-tabs-wrapper {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    border: none !important;
    background: transparent !important;
}

.sunpf_bmi_tabs_wrap .elementor-tabs-wrapper::before,
.sunpf_bmi_tabs_wrap .elementor-tabs-wrapper::after {
    display: none !important;
}

.sunpf_bmi_tabs_wrap .elementor-tab-title {
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 50px !important;
    padding: 7px 20px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #64748b !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.sunpf_bmi_tabs_wrap .elementor-tab-title:hover {
    color: #129656 !important;
    border-color: #cbd5e1 !important;
    transform: translateY(-1px);
}

.sunpf_bmi_tabs_wrap .elementor-tab-title.elementor-active {
    background: linear-gradient(135deg, #129656 0%, #0d7a45 100%) !important;
    color: #ffffff !important;
    border-color: #129656 !important;
    box-shadow: 0 4px 12px rgba(18, 150, 86, 0.25) !important;
}

.sunpf_bmi_tabs_wrap .elementor-tabs-content-wrapper {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.sunpf_bmi_tabs_wrap .elementor-tab-content {
    border: none !important;
    padding: 0 !important;
}

/* Showcase Header */
.sunpf-bmi-showcase {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

.sunpf-bmi-header {
    text-align: center;
    margin-bottom: 16px;
}

.sunpf-bmi-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(18, 150, 86, 0.08);
    color: #129656;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 12px;
    border-radius: 30px;
    border: 1px solid rgba(18, 150, 86, 0.2);
    margin-bottom: 4px;
}

.sunpf-bmi-title {
    font-family: 'Roboto Slab', serif !important;
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 4px 0 !important;
    letter-spacing: -0.4px !important;
    line-height: 1.2 !important;
}

.sunpf-bmi-desc {
    font-size: 0.88rem !important;
    color: #64748b !important;
    max-width: 650px;
    margin: 0 auto !important;
    line-height: 1.4 !important;
}

/* 2-Column Side-by-Side Grid */
.sunpf-bmi-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 20px;
    align-items: stretch;
}

/* Cards */
.sunpf-bmi-calc-card,
.sunpf-bmi-info-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px -4px rgba(0, 0, 0, 0.05);
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
}

.sunpf-calc-card-header,
.sunpf-info-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.sunpf-calc-card-header i,
.sunpf-info-card-header i {
    color: #129656;
    font-size: 1rem;
}

/* Modern SUN PF BMI Form */
.modern-sunpf-bmi {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.sunpf-bmi-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 10px;
}

.sunpf-bmi-field-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sunpf-bmi-field-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sunpf-field-title {
    font-size: 0.80rem;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.modern-sunpf-bmi .sunpf-unit-switch,
.sunpf-unit-switch {
    display: inline-flex !important;
    background: #f1f5f9 !important;
    padding: 3px !important;
    border-radius: 24px !important;
    border: 1px solid #e2e8f0 !important;
    gap: 2px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.modern-sunpf-bmi button.sunpf-unit-btn,
.modern-sunpf-bmi .sunpf-unit-switch button.sunpf-unit-btn,
.sunpf-unit-switch button.sunpf-unit-btn,
button.sunpf-unit-btn {
    padding: 4px 12px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #64748b !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    height: auto !important;
    min-height: unset !important;
    margin: 0 !important;
    outline: none !important;
}

.modern-sunpf-bmi button.sunpf-unit-btn:hover,
.modern-sunpf-bmi .sunpf-unit-switch button.sunpf-unit-btn:hover,
.sunpf-unit-switch button.sunpf-unit-btn:hover,
button.sunpf-unit-btn:hover {
    color: #0f172a !important;
    background: rgba(255, 255, 255, 0.7) !important;
    background-color: rgba(255, 255, 255, 0.7) !important;
}

.modern-sunpf-bmi button.sunpf-unit-btn.active,
.modern-sunpf-bmi .sunpf-unit-switch button.sunpf-unit-btn.active,
.sunpf-unit-switch button.sunpf-unit-btn.active,
button.sunpf-unit-btn.active {
    background: #129656 !important;
    background-color: #129656 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(18, 150, 86, 0.35) !important;
    font-weight: 800 !important;
}

.sunpf-input-box {
    display: flex;
    align-items: center;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    height: 40px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sunpf-input-box:focus-within {
    border-color: #129656;
    box-shadow: 0 0 0 3px rgba(18, 150, 86, 0.15);
}

.sunpf-input-box input {
    width: 100%;
    border: none !important;
    outline: none !important;
    padding: 6px 10px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: transparent !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.sunpf-unit-tag {
    padding: 0 10px;
    background: #f8fafc;
    border-left: 1px solid #e2e8f0;
    font-size: 0.78rem;
    font-weight: 800;
    color: #475569;
    display: flex;
    align-items: center;
    height: 100%;
    user-select: none;
}

.sunpf-input-split {
    display: flex;
    gap: 6px;
}

.sunpf-input-split .sunpf-input-box {
    flex: 1;
}

/* Action Trigger Button */
.sunpf-bmi-calc-action {
    margin-top: 4px;
    margin-bottom: 8px;
}

.sunpf-calc-trigger-btn {
    width: 100%;
    padding: 9px 16px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #129656 0%, #0d7a45 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.03em !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 3px 10px rgba(18, 150, 86, 0.22) !important;
    transition: all 0.22s ease !important;
}

.sunpf-calc-trigger-btn:hover {
    background: linear-gradient(135deg, #0d7a45 0%, #095932 100%) !important;
    box-shadow: 0 5px 14px rgba(18, 150, 86, 0.3) !important;
    transform: translateY(-1px);
}

/* Live Result Panel */
.sunpf-bmi-result-panel {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.sunpf-result-score-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #e2e8f0;
    padding-right: 12px;
    min-width: 72px;
}

.sunpf-result-subtext {
    font-size: 0.65rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.1;
}

.sunpf-result-val {
    font-size: 1.8rem;
    font-weight: 900;
    color: #0f172a;
    font-family: 'Roboto Slab', serif;
    line-height: 1;
    margin-top: 3px;
}

.sunpf-result-status-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.sunpf-result-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    align-self: flex-start;
    line-height: 1.2;
}

.sunpf-result-badge.tier-underweight { background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; }
.sunpf-result-badge.tier-normal { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }
.sunpf-result-badge.tier-risk { background: #fef3c7; color: #b45309; border: 1px solid #fde68a; }
.sunpf-result-badge.tier-overweight { background: #ffedd5; color: #c2410c; border: 1px solid #fed7aa; }
.sunpf-result-badge.tier-obese { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }

.sunpf-result-desc {
    font-size: 0.76rem;
    color: #64748b;
    margin: 0;
    line-height: 1.3;
}

/* Right Column: Visual Reference */
.sunpf-bmi-graphic-wrap {
    text-align: center;
    background: #ffffff;
    border-radius: 12px;
    padding: 12px 14px 10px 14px;
    border: 1.5px solid #e2e8f0;
    margin-bottom: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    position: relative;
}

.sunpf-bmi-graphic-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 6px !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.02));
    transition: transform 0.25s ease !important;
}

.sunpf-bmi-graphic-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed #e2e8f0;
}

.sunpf-bmi-graphic-note {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}

.sunpf-bmi-zoom-btn {
    font-size: 0.72rem;
    font-weight: 700;
    color: #129656 !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 14px !important;
    padding: 3px 10px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.sunpf-bmi-zoom-btn:hover {
    background: #129656 !important;
    color: #ffffff !important;
    border-color: #129656 !important;
}

/* Tiers List */
.sunpf-bmi-tiers {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: auto;
}

.sunpf-tier-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.78rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.sunpf-tier-item.active-tier {
    background: #ffffff !important;
    border-color: #129656 !important;
    box-shadow: 0 2px 8px rgba(18, 150, 86, 0.18) !important;
    transform: scale(1.02);
    font-weight: 700 !important;
}

.sunpf-tier-item .tier-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}

.tier-underweight .tier-dot { background: #0284c7; }
.tier-normal .tier-dot { background: #129656; }
.tier-risk .tier-dot { background: #eab308; }
.tier-overweight .tier-dot { background: #f97316; }
.tier-obese .tier-dot { background: #ef4444; }

.sunpf-tier-item .tier-name {
    flex: 1;
    color: #334155;
}

.sunpf-tier-item .tier-range {
    font-weight: 700;
    color: #0f172a;
    font-family: monospace;
    font-size: 0.82rem;
}

/* Table Tab */
.sunpf-bmi-table-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

.sunpf-table-frame {
    background: #ffffff;
    border-radius: 14px;
    padding: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px -4px rgba(0, 0, 0, 0.05);
    overflow-x: auto;
    text-align: center;
}

.sunpf-bmitable-img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
}

@media (max-width: 860px) {
    .sunpf-bmi-grid {
        grid-template-columns: 1fr;
    }
}

/* Centered Tab Layout Enhancements */
.sunpf-calc-card-centered {
    max-width: 680px;
    margin: 0 auto;
    width: 100%;
}

.sunpf-info-card-centered {
    max-width: 860px;
    margin: 0 auto;
    width: 100%;
}

.sunpf-bmi-tiers-horizontal {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-top: 14px;
}

.sunpf-bmi-tiers-horizontal .sunpf-tier-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 8px 6px !important;
    gap: 3px !important;
}

.sunpf-bmi-tiers-horizontal .sunpf-tier-item .tier-dot {
    margin: 0 auto 2px auto !important;
}

.sunpf-bmi-tiers-horizontal .sunpf-tier-item .tier-name {
    font-size: 0.74rem !important;
    line-height: 1.25 !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    word-break: normal !important;
}

.sunpf-bmi-tiers-horizontal .sunpf-tier-item .tier-range {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

@media (max-width: 768px) {
    .sunpf-bmi-tiers-horizontal {
        grid-template-columns: repeat(2, 1fr);
    }
}

.sunpf_bmi_tabs_wrap .elementor-tab-title {
    padding: 9px 24px !important;
    font-size: 0.92rem !important;
    letter-spacing: 0.02em !important;
}

/* ==========================================================================
   SUPPORTING ORGANIZATIONS & TOP DONORS GRID SYMMETRY & BALANCING
   ========================================================================== */
.sunpf-top-donors-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 65px 0 60px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.sunpf-top-donors-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

.elementor-element-sunpf_top_donors_sec_931f804 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-element-sunpf_top_donors_sec_931f804 > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

.elementor-element-col_5f4fffb,
.elementor-element-col_5f4fffb > .elementor-widget-wrap {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Strict Equal 4-Column Grid with No Shrinking or Ballooning */
.sunpf-donors-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 35px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
}

@media (max-width: 1100px) {
    .sunpf-donors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

@media (max-width: 600px) {
    .sunpf-donors-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }
}

/* Strict Equal Card Sizing in Both Dimensions */
.sunpf-donor-rank-badge {
    display: none !important;
}

.sunpf-donor-card {
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1px solid #edf2f7 !important;
    border-top-width: 3.5px !important;
    border-top-style: solid !important;
    border-radius: 16px !important;
    padding: 24px 16px 20px 16px !important;
    text-align: center !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.sunpf-donor-avatar-wrap {
    width: 80px !important;
    height: 80px !important;
    border-radius: 16px !important;
    margin: 4px auto 14px auto !important;
    background: #ffffff !important;
    border: 1px solid #edf2f7 !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

.sunpf-donor-name {
    margin: 0 0 10px 0 !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.35 !important;
    width: 100% !important;
    height: 2.7em !important;
    min-height: 2.7em !important;
    max-height: 2.7em !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
    word-break: break-word !important;
    flex-shrink: 0 !important;
}

.sunpf-donor-project-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    padding: 0 10px !important;
    height: 26px !important;
    line-height: 26px !important;
    border-radius: 20px !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 14px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex-shrink: 0 !important;
}

.sunpf-donor-project-pill span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 180px !important;
}

/* Global Executive Topbar */
#sunpf-site-topbar,
.sunpf-global-topbar {
    background: #0f172a !important;
    background-color: #0f172a !important;
    color: #ffffff !important;
    border-bottom: 2px solid #129656 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

#sunpf-site-topbar .sunpf-topbar-left strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

#sunpf-site-topbar .sunpf-topbar-tag {
    background: rgba(18, 150, 86, 0.25) !important;
    color: #86efac !important;
    border: 1px solid rgba(34, 197, 94, 0.35) !important;
}

#sunpf-site-topbar .sunpf-topbar-btn {
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    border-radius: 20px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#sunpf-site-topbar .sunpf-topbar-adv {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #f1f5f9 !important;
}

#sunpf-site-topbar .sunpf-topbar-adv:hover {
    background: rgba(251, 191, 36, 0.18) !important;
    border-color: #fbbf24 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(251, 191, 36, 0.25) !important;
    transform: translateY(-1px);
}

#sunpf-site-topbar .sunpf-topbar-don {
    background: linear-gradient(135deg, #129656 0%, #0d7a45 100%) !important;
    border: 1px solid #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(18, 150, 86, 0.45) !important;
}

#sunpf-site-topbar .sunpf-topbar-don:hover {
    background: linear-gradient(135deg, #16a34a 0%, #129656 100%) !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.6) !important;
    transform: translateY(-1px);
}

#sunpf-site-topbar .sunpf-topbar-acc {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    color: #f0f9ff !important;
}

#sunpf-site-topbar .sunpf-topbar-acc:hover {
    background: rgba(56, 189, 248, 0.2) !important;
    border-color: #38bdf8 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(56, 189, 248, 0.25) !important;
    transform: translateY(-1px);
}

/* ==========================================================================
   SUN PF Modern Leadership Avatars & About Us Redesign (Voice Note Feedback)
   - Replaces stiff corporate bank row layout with modern circular portraits
   - Warm executive palette, elegant card elevations, and role pill tags
   ========================================================================== */

/* Circular Portraits for Board of Directors */
.elementor-133 .elementor-element-c4c139d .elementor-column .elementor-widget-image img,
.elementor-133 .elementor-element-164a7c90 .elementor-widget-image img,
.elementor-133 .elementor-element-1927f52 .elementor-widget-image img,
.elementor-133 .elementor-element-632ebc3 .elementor-widget-image img {
    width: 155px !important;
    height: 155px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    margin: 0 auto 16px auto !important;
    display: block !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 3px #129656, 0 8px 24px rgba(15, 23, 42, 0.12) !important;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease !important;
}

.elementor-133 .elementor-element-c4c139d .elementor-column:hover .elementor-widget-image img,
.elementor-133 .elementor-element-164a7c90 .elementor-column:hover .elementor-widget-image img {
    transform: scale(1.06) !important;
    box-shadow: 0 0 0 4px #129656, 0 12px 28px rgba(18, 150, 86, 0.28) !important;
}

/* Modern Card Columns for Board of Directors */
.elementor-133 .elementor-element-c4c139d .elementor-column {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 30px 18px 25px 18px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04) !important;
    transition: all 0.35s ease !important;
}

.elementor-133 .elementor-element-c4c139d .elementor-column:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1) !important;
    border-color: #cbd5e1 !important;
}

/* Directors Names & Designations */
.elementor-133 .elementor-element-c4c139d .elementor-widget-heading .elementor-heading-title {
    font-family: 'Roboto Slab', serif !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.elementor-133 .elementor-element-c4c139d .elementor-column .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
    font-size: 1.15rem !important;
    color: #0f172a !important;
    margin-bottom: 6px !important;
}

.elementor-133 .elementor-element-c4c139d .elementor-column .elementor-widget-heading:nth-of-type(3) .elementor-heading-title {
    font-size: 0.84rem !important;
    font-family: inherit !important;
    font-weight: 500 !important;
    color: #475569 !important;
    line-height: 1.5 !important;
}

/* National Focal Point Highlight (Mrs Gilma Dahanayake) */
.elementor-133 .elementor-element-164a7c90 .elementor-widget-image img {
    width: 175px !important;
    height: 175px !important;
    box-shadow: 0 0 0 4px #0284c7, 0 10px 30px rgba(2, 132, 199, 0.22) !important;
}

.elementor-133 .maintitle_director {
    max-width: 780px !important;
    margin: 10px auto 35px auto !important;
    text-align: center !important;
    background: #ffffff !important;
    padding: 14px 24px !important;
    border-radius: 30px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
}

.elementor-133 .maintitle_director .elementor-heading-title {
    font-size: 0.95rem !important;
    color: #334155 !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

/* Section Headings on About Us */
.elementor-133 .elementor-element-58db51b5 .elementor-heading-title,
.elementor-133 .elementor-element-50e2b0a .elementor-heading-title,
.elementor-133 .elementor-element-2274927 .elementor-heading-title {
    color: #129656 !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
}

/* Featured Field Projects Section Styling */
.sunpf-field-projects-section .sunpf-project-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12) !important;
    border-color: #cbd5e1 !important;
}

.sunpf-field-projects-section .sunpf-project-card:hover img {
    transform: scale(1.05);
}

/* Donation Campaign Cards Micro-interactions */
.sunpf-camp-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1) !important;
    border-color: #cbd5e1 !important;
}

.sunpf-camp-card .sunpf-camp-img-container img {
    object-fit: cover !important;
    object-position: center top !important;
}

.sunpf-camp-card:hover .sunpf-camp-img-container img {
    transform: scale(1.05);
}

/* Donate Page Campaign Cards */
.sunpf-donate-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1) !important;
}

.sunpf-donate-card:hover img {
    transform: scale(1.05);
}

/* Remove Hero Slider Feature Bullet Points (Per user request) */
.sunpf-hero-features,
.sunpf-hero-feat-item {
    display: none !important;
}

/* ==========================================================================
   SUN PF About Us Leadership Redesign (National Focal Point + 2x2 Board)
   ========================================================================== */
.sunpf-leadership-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}
.sunpf-leadership-container {
    display: flex !important;
    gap: 32px !important;
    align-items: stretch !important;
}
.sunpf-left-focal {
    flex: 0 0 360px !important;
    display: flex !important;
    flex-direction: column !important;
}
.sunpf-right-board {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}
.sunpf-sec-title {
    color: #129656 !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-focal-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 36px 26px !important;
    text-align: center !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.sunpf-focal-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.09) !important;
    border-color: #cbd5e1 !important;
}
.sunpf-focal-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #129656, #0284c7) !important;
}
.sunpf-focal-avatar-wrap {
    position: relative !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
}
.sunpf-leadership-wrapper img.sunpf-focal-avatar,
.sunpf-focal-avatar {
    width: 165px !important;
    height: 165px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 3px #0284c7, 0 10px 25px rgba(2, 132, 199, 0.22) !important;
    transition: transform 0.35s ease !important;
    margin: 0 auto !important;
}
.sunpf-focal-card:hover .sunpf-focal-avatar {
    transform: scale(1.04) !important;
}
.sunpf-focal-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 14px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}
.sunpf-focal-name {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 14px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-focal-desc {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid #f1f5f9 !important;
}
.sunpf-focal-desc b {
    color: #1e293b !important;
    font-weight: 600 !important;
}

/* 2x2 Board grid */
.sunpf-board-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}
.sunpf-director-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 24px 18px !important;
    text-align: center !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04) !important;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.sunpf-director-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.09) !important;
    border-color: #cbd5e1 !important;
}
.sunpf-leadership-wrapper img.sunpf-director-avatar,
.sunpf-director-avatar {
    width: 130px !important;
    height: 130px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 0 0 3px #129656, 0 8px 20px rgba(18, 150, 86, 0.16) !important;
    margin: 0 auto 14px auto !important;
    display: block !important;
    transition: transform 0.35s ease !important;
}
.sunpf-director-card:hover .sunpf-director-avatar {
    transform: scale(1.05) !important;
}
.sunpf-director-name {
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 6px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-director-role {
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}
.sunpf-director-role b {
    color: #129656 !important;
    display: inline-block !important;
    margin-top: 4px !important;
}

/* Board members section */
.sunpf-members-box {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 20px 22px !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04) !important;
    margin-top: 6px !important;
}
.sunpf-members-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.sunpf-members-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #129656 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-members-badge {
    background: #f0fdf4 !important;
    color: #166534 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 12px !important;
    text-transform: uppercase !important;
}
.sunpf-members-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}
.sunpf-member-card {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    transition: all 0.3s ease !important;
}
.sunpf-member-card:hover {
    background: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06) !important;
    border-color: #cbd5e1 !important;
}
.sunpf-member-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 50% !important;
    background: #e8f5e9 !important;
    color: #129656 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    border: 1px solid #c8e6c9 !important;
}
.sunpf-member-info {
    flex: 1 !important;
    min-width: 0 !important;
}
.sunpf-member-name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-member-org {
    font-size: 12.5px !important;
    color: #129656 !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin-top: 3px !important;
}

/* Responsive */
@media (max-width: 980px) {
    .sunpf-leadership-container {
        flex-direction: column !important;
        gap: 40px !important;
    }
    .sunpf-left-focal {
        flex: none !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
    .sunpf-right-board {
        width: 100% !important;
    }
    .sunpf-members-box {
        flex-direction: column !important;
        text-align: center !important;
    }
    .sunpf-members-row {
        justify-content: center !important;
    }
}
@media (max-width: 640px) {
    .sunpf-board-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .sunpf-members-row {
        flex-direction: column !important;
        width: 100% !important;
    }
    .sunpf-member-pill {
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   SUN PF Executive Council Redesign (Chairperson Left + Members Right 2-Col)
   ========================================================================== */
.sunpf-council-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}
.sunpf-main-heading-wrap {
    text-align: center !important;
    margin-bottom: 35px !important;
}
.sunpf-main-title {
    color: #1d2f52 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.4px !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-main-subtitle {
    color: #129656 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-council-container {
    display: flex !important;
    gap: 32px !important;
    align-items: stretch !important;
}
.sunpf-council-left {
    flex: 0 0 360px !important;
    display: flex !important;
    flex-direction: column !important;
}
.sunpf-council-right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}
.sunpf-col-title {
    color: #129656 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin: 0 0 18px 0 !important;
    letter-spacing: -0.3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-chair-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 36px 26px !important;
    text-align: center !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.sunpf-chair-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.09) !important;
    border-color: #cbd5e1 !important;
}
.sunpf-chair-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #129656, #0284c7) !important;
}
.sunpf-chair-avatar-wrap {
    position: relative !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
}
.sunpf-council-wrapper img.sunpf-chair-avatar,
img.sunpf-chair-avatar {
    width: 160px !important;
    height: 160px !important;
    max-width: 160px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 3px #129656, 0 10px 25px rgba(18, 150, 86, 0.22) !important;
    transition: transform 0.35s ease !important;
    margin: 0 auto !important;
}
.sunpf-chair-card:hover .sunpf-chair-avatar {
    transform: scale(1.04) !important;
}
.sunpf-chair-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}
.sunpf-chair-name {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-chair-org {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #129656 !important;
    margin: 0 0 14px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-chair-desc {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid #f1f5f9 !important;
}
.sunpf-members-container {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 24px !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}
.sunpf-members-grid-14 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
    margin-bottom: 20px !important;
}
.sunpf-council-item {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    transition: all 0.25s ease !important;
}
.sunpf-council-item:hover {
    background: #ffffff !important;
    border-color: #129656 !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.08) !important;
    transform: translateY(-2px) !important;
}
.sunpf-item-bullet {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border-radius: 50% !important;
    background: #e8f5e9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23129656'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center center / 13px !important;
    margin-top: 2px !important;
}
.sunpf-item-text {
    flex: 1 !important;
    min-width: 0 !important;
}
.sunpf-item-org {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-item-rep {
    font-size: 12px !important;
    color: #475569 !important;
    margin-top: 2px !important;
    line-height: 1.3 !important;
}
.sunpf-alt-box {
    background: linear-gradient(135deg, #f0fdf4 0%, #e0f2fe 100%) !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
}
.sunpf-alt-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #166534 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-alt-pills {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}
.sunpf-alt-pill {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 20px !important;
    padding: 5px 14px !important;
    font-size: 12.5px !important;
    color: #334155 !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
@media (max-width: 980px) {
    .sunpf-council-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .sunpf-council-left {
        flex: none !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
    .sunpf-council-right {
        width: 100% !important;
    }
    .sunpf-alt-box {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}
@media (max-width: 640px) {
    .sunpf-members-grid-14 {
        grid-template-columns: 1fr !important;
    }
    .sunpf-alt-pills {
        flex-direction: column !important;
        width: 100% !important;
    }
    .sunpf-alt-pill {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   SUN PF Project Staff Redesign (Project Director Left + Staff Right 2-Col)
   ========================================================================== */
.sunpf-staff-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}
.sunpf-staff-container {
    display: flex !important;
    gap: 32px !important;
    align-items: stretch !important;
}
.sunpf-staff-left {
    flex: 0 0 360px !important;
    display: flex !important;
    flex-direction: column !important;
}
.sunpf-staff-right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}
.sunpf-director-lead-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 36px 26px !important;
    text-align: center !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.sunpf-director-lead-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.09) !important;
    border-color: #cbd5e1 !important;
}
.sunpf-director-lead-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #129656, #0284c7) !important;
}
.sunpf-director-avatar-wrap {
    position: relative !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
}
.sunpf-staff-wrapper img.sunpf-director-lead-avatar,
img.sunpf-director-lead-avatar {
    width: 165px !important;
    height: 165px !important;
    max-width: 165px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 3px #129656, 0 10px 25px rgba(18, 150, 86, 0.22) !important;
    transition: transform 0.35s ease !important;
    margin: 0 auto !important;
}
.sunpf-director-lead-card:hover .sunpf-director-lead-avatar {
    transform: scale(1.04) !important;
}
.sunpf-director-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}
.sunpf-director-name {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-director-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #129656 !important;
    margin: 0 0 14px 0 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-director-desc {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid #f1f5f9 !important;
}
.sunpf-staff-list-container {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 24px !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}
.sunpf-staff-grid-13 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
}
.sunpf-staff-item {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: all 0.25s ease !important;
}
.sunpf-staff-item:hover {
    background: #ffffff !important;
    border-color: #129656 !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.08) !important;
    transform: translateY(-2px) !important;
}
.sunpf-staff-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    background: #e8f5e9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23129656'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") no-repeat center center / 18px !important;
    border: 1px solid #c8e6c9 !important;
}
.sunpf-staff-info {
    flex: 1 !important;
    min-width: 0 !important;
}
.sunpf-staff-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
    font-family: "Work Sans", sans-serif !important;
}
.sunpf-staff-role {
    font-size: 12px !important;
    color: #129656 !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
    line-height: 1.3 !important;
}
@media (max-width: 980px) {
    .sunpf-staff-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .sunpf-staff-left {
        flex: none !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
    .sunpf-staff-right {
        width: 100% !important;
    }
}
@media (max-width: 640px) {
    .sunpf-staff-grid-13 {
        grid-template-columns: 1fr !important;
    }
}

/* ========================================================
   SUN PF - Media Hub & Video Archive (Page 1859)
   ======================================================== */
.page-id-1859 .elementor-section {
    position: relative;
}

/* Media Section Headers */
.sunpf-media-section-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 36px auto;
}

.sunpf-media-hub-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: #e8f5e9;
    color: #129656;
    border: 1px solid #c8e6c9;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.sunpf-media-section-header h2 {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.3px !important;
}

.sunpf-media-section-header p {
    font-family: "Work Sans", sans-serif !important;
    font-size: 15px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Video Card Structure */
.page-id-1859 .elementor-inner-section .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.page-id-1859 .sunpf-video-card,
.sunpf-video-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 100% !important;
    margin-bottom: 24px !important;
}

.page-id-1859 .sunpf-video-card:hover,
.sunpf-video-card:hover {
    transform: translateY(-5px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 16px 32px -6px rgba(15, 23, 42, 0.12) !important;
}

.sunpf-video-card .elementor-widget-video {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.sunpf-video-card .elementor-widget-video .elementor-wrapper {
    border-radius: 13px 13px 0 0 !important;
    overflow: hidden !important;
}

.sunpf-video-card .elementor-widget-heading {
    padding: 14px 16px 18px 16px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.sunpf-video-card .elementor-heading-title {
    margin: 0 !important;
    text-align: left !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.sunpf-video-card-title {
    font-family: "Work Sans", sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
}

.sunpf-lang-pill {
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    align-self: flex-start !important;
    line-height: 1.4 !important;
    margin-top: auto !important;
}

.sunpf-lang-pill.pill-sinhala {
    background: #ecfdf5 !important;
    color: #059669 !important;
    border: 1px solid #a7f3d0 !important;
}

.sunpf-lang-pill.pill-tamil {
    background: #fffbeb !important;
    color: #d97706 !important;
    border: 1px solid #fde68a !important;
}

.sunpf-lang-pill.pill-english {
    background: #f0f9ff !important;
    color: #0284c7 !important;
    border: 1px solid #bae6fd !important;
}

.sunpf-lang-pill.pill-topic {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
}

/* Ensure Inner Sections on Page 1859 have clean column alignment */
.page-id-1859 .elementor-inner-section .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.page-id-1859 .elementor-widget-text-editor {
    margin-bottom: 25px !important;
}

/* YouTube Feed Styling */
.page-id-1859 .epyt-gallery,
.page-id-1859 .epyt-gallery-thumb {
    border-radius: 12px !important;
}

/* Mobile & Tablet Optimizations */
@media (max-width: 991px) {
    .sunpf-media-section-header h2 {
        font-size: 26px !important;
    }
}

@media (max-width: 767px) {
    .page-id-1859 h1.elementor-heading-title,
    .page-id-1859 .elementor-widget-heading h1,
    .page-id-1859 h1 {
        font-size: 22px !important;
        line-height: 1.25 !important;
        letter-spacing: -0.3px !important;
        word-break: normal !important;
    }
    .sunpf-media-section-header {
        margin-bottom: 24px !important;
    }
    .sunpf-media-section-header h2 {
        font-size: 21px !important;
    }
    .sunpf-media-section-header p {
        font-size: 13.5px !important;
    }
    .sunpf-video-card {
        margin-bottom: 18px !important;
    }
}

/* ========================================================
   SUN PF - Modern Advertise Page Styling (Page 3194)
   ======================================================== */
.sunpf-advertise-page {
    font-family: "Work Sans", sans-serif;
    color: #1e293b;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Full Width Hero */
.sunpf-adv-hero {
    position: relative;
    background: url("../../uploads/2026/10/contact_banners/contact_banner_secretariat.jpg") no-repeat center center / cover;
    padding: 90px 20px;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.sunpf-adv-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.84) 0%, rgba(15, 23, 42, 0.92) 100%);
    z-index: 1;
}

.sunpf-adv-hero-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.sunpf-adv-badge-hero {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(18, 150, 86, 0.25);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.35);
    padding: 7px 18px;
    border-radius: 9999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.sunpf-adv-hero-title {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 44px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 0 0 16px 0 !important;
}

.sunpf-adv-hero-subtitle {
    font-size: 16.5px;
    color: #e2e8f0;
    line-height: 1.65;
    max-width: 780px;
    margin: 0 auto 30px auto;
}

.sunpf-adv-hero-cta {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Button System */
.sunpf-adv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.sunpf-adv-btn-primary {
    background: #129656;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.3);
}

.sunpf-adv-btn-primary:hover {
    background: #0d7c46;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(18, 150, 86, 0.4);
    color: #ffffff !important;
}

.sunpf-adv-btn-secondary {
    background: #d97706;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.3);
}

.sunpf-adv-btn-secondary:hover {
    background: #b45309;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.4);
    color: #ffffff !important;
}

.sunpf-adv-btn-outline {
    background: transparent;
    color: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.6);
}

.sunpf-adv-btn-outline:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #ffffff;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.sunpf-adv-btn-outline-dark {
    background: transparent;
    color: #129656 !important;
    border: 2px solid #129656;
}

.sunpf-adv-btn-outline-dark:hover {
    background: #e8f5e9;
    color: #0d7c46 !important;
    transform: translateY(-2px);
}

/* Sections & Containers */
.sunpf-adv-section {
    padding: 80px 20px;
    width: 100%;
    box-sizing: border-box;
}

.sunpf-adv-bg-white {
    background: #ffffff;
}

.sunpf-adv-bg-light {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.sunpf-adv-container {
    max-width: 1200px;
    margin: 0 auto;
}

.sunpf-adv-container-narrow {
    max-width: 860px;
    margin: 0 auto;
}

/* Section Headers */
.sunpf-adv-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px auto;
}

.sunpf-adv-pill-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: #e8f5e9;
    color: #129656;
    border: 1px solid #c8e6c9;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.sunpf-adv-header h2 {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.3px !important;
}

.sunpf-adv-header p {
    font-size: 15.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* Carousel Card Frame */
.sunpf-adv-carousel-wrapper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
}

/* Form Card Styling */
.sunpf-adv-form-card .sunpf-ad-form-wrapper {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 38px !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Sponsorship Presentation */
.sunpf-sponsorship-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
    box-sizing: border-box;
}

.sunpf-sponsorship-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 35px;
    flex-wrap: wrap;
}

.sunpf-sponsorship-lead h3 {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 10px 0 !important;
}

.sunpf-sponsorship-lead p {
    color: #475569;
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
    max-width: 650px;
}

.sunpf-sponsorship-tiers {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.sunpf-tier-tag {
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tier-platinum { background: #f1f5f9; color: #0f172a; border: 1px solid #cbd5e1; }
.tier-gold     { background: #fef3c7; color: #b45309; border: 1px solid #fde68a; }
.tier-silver   { background: #e2e8f0; color: #334155; border: 1px solid #cbd5e1; }
.tier-bronze   { background: #ffedd5; color: #c2410c; border: 1px solid #fed7aa; }
.tier-community{ background: #e8f5e9; color: #129656; border: 1px solid #c8e6c9; }

.sunpf-sponsorship-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.sunpf-benefit-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 18px;
    transition: all 0.25s ease;
}

.sunpf-benefit-box:hover {
    background: #ffffff;
    border-color: #129656;
    box-shadow: 0 8px 20px rgba(18, 150, 86, 0.08);
    transform: translateY(-3px);
}

.sunpf-benefit-box .benefit-icon {
    font-size: 24px;
    margin-bottom: 12px;
}

.sunpf-benefit-box h4 {
    font-family: "Work Sans", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
}

.sunpf-benefit-box p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

.sunpf-sponsorship-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e2e8f0;
    padding-top: 25px;
    gap: 20px;
    flex-wrap: wrap;
}

.sunpf-sponsorship-note {
    font-size: 14.5px;
    color: #475569;
}

/* Steps Grid (01 - 06) */
.sunpf-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.sunpf-step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 26px 22px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    display: flex;
    flex-direction: column;
}

.sunpf-step-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    border-color: #129656;
}

.sunpf-step-number {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #e8f5e9;
    color: #129656;
    font-weight: 800;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.sunpf-step-card h4 {
    font-family: "Work Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
}

.sunpf-step-card p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.55;
    margin: 0;
}

/* Policy Card */
.sunpf-policy-card {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 5px solid #d97706;
    border-radius: 12px;
    padding: 24px 28px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 35px;
}

.sunpf-policy-icon {
    font-size: 28px;
    flex-shrink: 0;
    line-height: 1;
}

.sunpf-policy-body h3 {
    font-family: "Work Sans", sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #92400e !important;
    margin: 0 0 6px 0 !important;
}

.sunpf-policy-body p {
    font-size: 14px;
    color: #78350f;
    line-height: 1.6;
    margin: 0;
}

.sunpf-adv-final-cta {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .sunpf-sponsorship-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sunpf-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .sunpf-adv-hero {
        padding: 55px 15px;
    }
    .sunpf-adv-badge-hero {
        font-size: 10px !important;
        padding: 5px 12px !important;
        letter-spacing: 0.8px !important;
        white-space: normal !important;
        text-align: center !important;
        max-width: 100% !important;
    }
    .sunpf-adv-hero-title {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }
    .sunpf-adv-hero-subtitle {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }
    .sunpf-adv-hero-cta {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .sunpf-adv-btn {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
    }
    .sunpf-adv-section {
        padding: 45px 15px;
    }
    .sunpf-adv-pill-badge {
        font-size: 10px !important;
        padding: 4px 12px !important;
    }
    .sunpf-adv-header h2 {
        font-size: 19px !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
    }
    .sunpf-adv-header p {
        font-size: 13.5px !important;
    }
    .sunpf-sponsorship-card {
        padding: 24px;
    }
    .sunpf-sponsorship-benefits-grid {
        grid-template-columns: 1fr;
    }
    .sunpf-steps-grid {
        grid-template-columns: 1fr;
    }
    .sunpf-policy-card {
        flex-direction: column;
        gap: 12px;
        padding: 20px;
    }
    .sunpf-adv-final-cta {
        flex-direction: column;
        gap: 10px;
    }
    .sunpf-adv-final-cta .sunpf-adv-btn {
        width: 100%;
    }
}

/* ========================================================
   SUN PF - Modern Donate Page Styling (Page 3193)
   ======================================================== */
.sunpf-donate-page-wrapper {
    font-family: "Work Sans", sans-serif;
    color: #1e293b;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Full Width Hero */
.sunpf-donate-hero {
    position: relative;
    background: url("../../uploads/2026/10/donate_banners/donate_banner_hero.jpg") no-repeat center center / cover;
    padding: 95px 20px;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.sunpf-donate-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.78) 0%, rgba(15, 23, 42, 0.88) 100%);
    z-index: 1;
}

.sunpf-donate-hero-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.sunpf-donate-badge-hero {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(18, 150, 86, 0.25);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.35);
    padding: 7px 18px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.sunpf-donate-hero-title {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 44px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 0 0 16px 0 !important;
}

.sunpf-donate-hero-subtitle {
    font-size: 16.5px;
    color: #e2e8f0;
    line-height: 1.65;
    max-width: 800px;
    margin: 0 auto 24px auto;
}

.sunpf-donate-hero-trust-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.sunpf-trust-pill {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 600;
    color: #f1f5f9;
    backdrop-filter: blur(4px);
}

.sunpf-donate-hero-cta {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

.sunpf-donate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.sunpf-donate-btn-primary {
    background: #129656;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.3);
}

.sunpf-donate-btn-primary:hover {
    background: #0d7c46;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(18, 150, 86, 0.4);
    color: #ffffff !important;
}

.sunpf-donate-btn-outline {
    background: transparent;
    color: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.6);
}

.sunpf-donate-btn-outline:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #ffffff;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Impact Metrics Bar */
.sunpf-donate-impact-bar {
    background: #0f172a;
    border-bottom: 1px solid #1e293b;
    padding: 26px 20px;
}

.sunpf-donate-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}

.sunpf-stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sunpf-stat-box .stat-icon {
    font-size: 26px;
    margin-bottom: 6px;
}

.sunpf-stat-box .stat-number {
    font-family: "Roboto Slab", serif;
    font-size: 26px;
    font-weight: 700;
    color: #4ade80;
    line-height: 1.2;
}

.sunpf-stat-box .stat-label {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 500;
    margin-top: 4px;
}

/* Sections & Containers */
.sunpf-donate-section {
    padding: 80px 20px;
    width: 100%;
    box-sizing: border-box;
}

.sunpf-donate-bg-white {
    background: #ffffff;
}

.sunpf-donate-bg-light {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.sunpf-donate-container {
    max-width: 1200px;
    margin: 0 auto;
}

.sunpf-donate-container-narrow {
    max-width: 820px;
    margin: 0 auto;
}

/* Section Header */
.sunpf-donate-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px auto;
}

.sunpf-donate-pill-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: #e8f5e9;
    color: #129656;
    border: 1px solid #c8e6c9;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.sunpf-donate-header h2 {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.3px !important;
}

.sunpf-donate-header p {
    font-size: 15.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* Currency Bar */
.sunpf-currency-bar {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 24px;
    margin-bottom: 45px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
}

.sunpf-currency-info .currency-title {
    display: block;
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 3px;
}

.sunpf-currency-info p {
    color: #64748b;
    font-size: 13.5px;
    margin: 0;
}

.sunpf-currency-info strong {
    display: inline !important;
    font-weight: 700;
    color: #0f172a;
}

.sunpf-currency-toggle {
    display: inline-flex;
    background: #e2e8f0;
    padding: 4px;
    border-radius: 8px;
    gap: 4px;
}

.sunpf-currency-toggle a {
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    color: #475569;
    transition: all 0.2s ease;
}

.sunpf-currency-toggle a.is-active {
    background: #129656;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(18, 150, 86, 0.3);
}

/* Campaign Cards */
.sunpf-campaigns-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 30px;
}

.sunpf-campaign-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sunpf-campaign-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}

.sunpf-campaign-card.is-selected {
    border: 2.5px solid #129656;
    box-shadow: 0 12px 28px rgba(18, 150, 86, 0.16);
}

.sunpf-campaign-media {
    position: relative;
    height: 220px;
    width: 100%;
    overflow: hidden;
    background: #0f172a;
}

.sunpf-campaign-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.5s ease;
}

.sunpf-campaign-card:hover .sunpf-campaign-media img {
    transform: scale(1.04);
}

.sunpf-campaign-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.8) 100%);
}

.sunpf-campaign-status-tag {
    position: absolute;
    top: 14px;
    left: 16px;
}

.tag-selected {
    background: #129656;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    border: 1.5px solid #86efac;
}

.tag-active {
    background: rgba(18, 150, 86, 0.92);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    backdrop-filter: blur(4px);
}

.sunpf-campaign-meta-row {
    position: absolute;
    bottom: 12px;
    left: 16px;
    right: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #ffffff;
}

.meta-location {
    font-size: 12px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.6);
    padding: 4px 10px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}

.meta-funded {
    font-size: 12px;
    font-weight: 700;
    color: #86efac;
    background: rgba(15, 23, 42, 0.75);
    padding: 4px 10px;
    border-radius: 6px;
}

.sunpf-campaign-body {
    padding: 24px 24px 16px 24px;
    flex: 1;
}

.sunpf-linked-project-tag {
    margin-bottom: 10px;
}

.sunpf-linked-project-tag a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f0fdf4;
    color: #166534;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid #bbf7d0;
    text-decoration: none !important;
}

.sunpf-campaign-body h3 {
    color: #0f172a;
    margin: 0 0 10px 0;
    font-weight: 700;
    font-size: 20px;
    font-family: "Roboto Slab", serif;
    line-height: 1.35;
}

.sunpf-campaign-body p {
    color: #475569;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.sunpf-campaign-footer {
    padding: 0 24px 24px 24px;
}

.sunpf-progress-wrap {
    margin-bottom: 18px;
}

.sunpf-progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #334155;
    flex-wrap: wrap;
    gap: 4px;
}

.sunpf-progress-labels small {
    color: #64748b;
    font-weight: 500;
}

.sunpf-progress-bar {
    background: #e2e8f0;
    border-radius: 8px;
    height: 10px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

.sunpf-progress-fill {
    height: 100%;
    border-radius: 8px;
    transition: width 0.6s ease;
}

.sunpf-select-cause-btn {
    display: block;
    text-align: center;
    padding: 13px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s ease;
    background: #f1f5f9;
    color: #0f172a !important;
    border: 1px solid #cbd5e1;
}

.sunpf-select-cause-btn.is-selected {
    background: linear-gradient(135deg, #129656 0%, #0d7945 100%);
    color: #ffffff !important;
    border: none;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.35);
}

.sunpf-select-cause-btn:hover {
    transform: translateY(-2px);
}

/* Gateway Card & GiveWP Form Overrides */
.sunpf-gateway-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 38px;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05);
}

.sunpf-gateway-header {
    text-align: center;
    margin-bottom: 28px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 22px;
    background: transparent !important;
    box-shadow: none !important;
}

.sunpf-currency-badge {
    display: inline-block;
    background: #dcfce7;
    color: #15803d;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid #bbf7d0;
    margin-bottom: 12px;
}

.sunpf-gateway-header h2 {
    font-family: "Roboto Slab", serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
}

.sunpf-gateway-header h2 strong {
    color: #129656;
}

.sunpf-gateway-header p {
    color: #64748b;
    font-size: 14px;
    margin: 0;
}

/* GiveWP Theme Overrides */
.sunpf-give-embed-wrapper .give-btn,
.sunpf-give-embed-wrapper input[type="submit"].give-submit,
.sunpf-give-embed-wrapper button[type="submit"].give-submit,
.sunpf-give-embed-wrapper #give-purchase-button {
    background: linear-gradient(135deg, #129656 0%, #0d7c46 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.28) !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    width: 100% !important;
}

.sunpf-give-embed-wrapper .give-btn:hover,
.sunpf-give-embed-wrapper input[type="submit"].give-submit:hover,
.sunpf-give-embed-wrapper button[type="submit"].give-submit:hover,
.sunpf-give-embed-wrapper #give-purchase-button:hover {
    background: linear-gradient(135deg, #0d7c46 0%, #0a6337 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(18, 150, 86, 0.38) !important;
}

.sunpf-give-embed-wrapper .give-donation-amount .give-btn.give-donation-level-btn.give-btn-selected,
.sunpf-give-embed-wrapper .give-donation-amount li.give-donation-level-btn.give-btn-selected,
.sunpf-give-embed-wrapper .give-form .give-donation-amount button.give-btn-selected {
    background: #129656 !important;
    color: #ffffff !important;
    border-color: #129656 !important;
}

/* Impact Tiers Grid */
.sunpf-impact-tiers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.sunpf-impact-tier-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 34px 24px;
    text-align: center;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sunpf-impact-tier-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.sunpf-impact-tier-card.is-featured {
    border: 2px solid #129656;
    box-shadow: 0 8px 24px rgba(18, 150, 86, 0.12);
}

.sunpf-impact-tier-card .tier-badge {
    position: absolute;
    top: -12px;
    background: #129656;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sunpf-impact-tier-card .tier-amount {
    font-family: "Roboto Slab", serif;
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 12px;
}

.sunpf-impact-tier-card .tier-amount small {
    font-size: 16px;
    color: #64748b;
    font-weight: 500;
}

.sunpf-impact-tier-card .tier-icon {
    font-size: 34px;
    margin-bottom: 14px;
}

.sunpf-impact-tier-card h4 {
    font-family: "Work Sans", sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #129656 !important;
    margin: 0 0 10px 0 !important;
}

.sunpf-impact-tier-card p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* Bank Accounts Grid */
.sunpf-bank-accounts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 25px;
}

.sunpf-bank-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.bank-logo-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 14px;
}

.bank-logo-header .bank-icon {
    font-size: 30px;
}

.bank-logo-header h4 {
    font-family: "Roboto Slab", serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 2px 0 !important;
}

.bank-tag {
    font-size: 11px;
    font-weight: 700;
    color: #129656;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bank-details-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bank-details-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #f1f5f9;
    font-size: 14px;
}

.bank-details-list li:last-child {
    border-bottom: none;
}

.bank-details-list span {
    color: #64748b;
}

.bank-details-list strong {
    color: #0f172a;
}

.bank-details-list strong.copyable {
    font-family: monospace;
    font-size: 16px;
    color: #129656;
    letter-spacing: 0.5px;
}

.sunpf-bank-notice-card {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 20px 24px;
    display: flex;
    gap: 16px;
    align-items: center;
}

.sunpf-bank-notice-card .notice-icon {
    font-size: 26px;
    flex-shrink: 0;
}

.sunpf-bank-notice-card .notice-body {
    font-size: 13.5px;
    color: #166534;
    line-height: 1.6;
}

.sunpf-bank-notice-card .notice-body a {
    color: #15803d;
    font-weight: 700;
}

/* FAQ Grid */
.sunpf-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.sunpf-faq-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 22px;
    transition: all 0.25s ease;
}

.sunpf-faq-card:hover {
    background: #ffffff;
    border-color: #129656;
    box-shadow: 0 6px 20px rgba(18, 150, 86, 0.08);
}

.sunpf-faq-card h4 {
    font-family: "Work Sans", sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
}

.sunpf-faq-card p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* Donor Assistance Box */
.sunpf-donor-assistance-box {
    background: #0f172a;
    color: #ffffff;
    border-radius: 16px;
    padding: 30px 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}

.sunpf-donor-assistance-box .assist-icon {
    font-size: 36px;
}

.sunpf-donor-assistance-box .assist-body {
    flex: 1;
    min-width: 260px;
}

.sunpf-donor-assistance-box .assist-body h4 {
    font-family: "Roboto Slab", serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 6px 0 !important;
}

.sunpf-donor-assistance-box .assist-body p {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

.sunpf-donor-assistance-box .assist-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.assist-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    background: #129656;
    color: #ffffff !important;
    transition: all 0.2s ease;
}

.assist-btn:hover {
    background: #0d7c46;
    transform: translateY(-2px);
}

.assist-btn-alt {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.assist-btn-alt:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* Mobile Responsiveness for Donate */
@media (max-width: 991px) {
    .sunpf-donate-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
    .sunpf-impact-tiers-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    .sunpf-bank-accounts-grid {
        grid-template-columns: 1fr;
    }
    .sunpf-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .sunpf-donate-hero {
        padding: 55px 15px;
    }
    .sunpf-donate-badge-hero {
        font-size: 10px !important;
        padding: 5px 12px !important;
        letter-spacing: 0.8px !important;
        white-space: normal !important;
        text-align: center !important;
        max-width: 100% !important;
    }
    .sunpf-donate-hero-title {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }
    .sunpf-donate-hero-subtitle {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }
    .sunpf-donate-hero-trust-row {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
    .sunpf-trust-pill {
        font-size: 11px;
        padding: 4px 10px;
    }
    .sunpf-donate-hero-cta {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .sunpf-donate-btn {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .sunpf-donate-section {
        padding: 45px 15px;
    }
    .sunpf-donate-pill-badge {
        font-size: 10px !important;
        padding: 4px 12px !important;
    }
    .sunpf-donate-header h2 {
        font-size: 21px !important;
    }
    .sunpf-currency-bar {
        flex-direction: column;
        text-align: center;
        padding: 16px;
    }
    .sunpf-currency-info .currency-title {
        font-size: 13.5px !important;
        line-height: 1.4 !important;
    }
    .sunpf-gateway-card {
        padding: 22px 14px;
    }
    .sunpf-gateway-header h2 {
        font-size: 19px !important;
        line-height: 1.35 !important;
    }
    .sunpf-donor-assistance-box {
        padding: 22px 18px;
        flex-direction: column;
        text-align: center;
    }
    .sunpf-donor-assistance-box .assist-actions {
        width: 100%;
        flex-direction: column;
    }
    .sunpf-donor-assistance-box .assist-actions .assist-btn {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

/* ========================================================
   SUN PF - Modern My Account & Member Portal (Page 3180)
   ======================================================== */
.sunpf-myaccount-page {
    font-family: "Work Sans", sans-serif;
    color: #1e293b;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    width: 100%;
    background: #f8fafc;
}

/* Full Width Hero */
.sunpf-myaccount-hero {
    position: relative;
    background: url("../../uploads/2026/10/contact_banners/contact_banner_secretariat.jpg") no-repeat center center / cover;
    padding: 95px 20px;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.sunpf-myaccount-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.86) 0%, rgba(15, 23, 42, 0.93) 100%);
    z-index: 1;
}

.sunpf-myaccount-hero-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.sunpf-myaccount-badge-hero {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(18, 150, 86, 0.25);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.35);
    padding: 7px 18px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.sunpf-myaccount-hero-title {
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 44px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 0 0 16px 0 !important;
}

.sunpf-myaccount-hero-subtitle {
    font-size: 16.5px;
    color: #e2e8f0;
    line-height: 1.65;
    max-width: 780px;
    margin: 0 auto 24px auto;
}

.sunpf-myaccount-hero-trust-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Portal Section */
.sunpf-myaccount-section {
    padding: 60px 20px 80px 20px;
    width: 100%;
    box-sizing: border-box;
    background: #f8fafc;
}

.sunpf-myaccount-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Card Overrides */
.sunpf-myaccount-page .sunpf-auth-container {
    margin: 0 auto !important;
    max-width: 480px !important;
}

.sunpf-myaccount-page .sunpf-auth-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 40px 34px !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
}

.sunpf-myaccount-page .sunpf-auth-tab.active {
    background: #129656 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(18, 150, 86, 0.25) !important;
}

.sunpf-myaccount-page .sunpf-btn-primary {
    background: linear-gradient(135deg, #129656 0%, #0d7c46 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(18, 150, 86, 0.28) !important;
    border: none !important;
    padding: 13px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    transition: all 0.25s ease !important;
}

.sunpf-myaccount-page .sunpf-btn-primary:hover {
    background: linear-gradient(135deg, #0d7c46 0%, #0a6337 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(18, 150, 86, 0.38) !important;
}

.sunpf-myaccount-page .sunpf-input-icon-wrap input:focus,
.sunpf-myaccount-page .sunpf-form-group input:focus,
.sunpf-myaccount-page .sunpf-form-group textarea:focus {
    border-color: #129656 !important;
    box-shadow: 0 0 0 3px rgba(18, 150, 86, 0.15) !important;
}

.sunpf-myaccount-page .sunpf-link-muted {
    color: #129656 !important;
    font-weight: 600 !important;
}

/* Support Section */
.sunpf-myaccount-support-section {
    padding: 0 20px 80px 20px;
    background: #f8fafc;
}

.sunpf-myaccount-support-box {
    max-width: 900px;
    margin: 0 auto;
    background: #0f172a;
    color: #ffffff;
    border-radius: 16px;
    padding: 30px 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.08);
}

.sunpf-myaccount-support-box .support-icon {
    font-size: 36px;
}

.sunpf-myaccount-support-box .support-body {
    flex: 1;
    min-width: 260px;
}

.sunpf-myaccount-support-box .support-body h4 {
    font-family: "Roboto Slab", serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 6px 0 !important;
}

.sunpf-myaccount-support-box .support-body p {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

.sunpf-myaccount-support-box .support-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.support-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    background: #129656;
    color: #ffffff !important;
    transition: all 0.2s ease;
}

.support-btn:hover {
    background: #0d7c46;
    transform: translateY(-2px);
}

.support-btn-alt {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.support-btn-alt:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* Mobile Responsiveness */
@media (max-width: 767px) {
    .sunpf-myaccount-hero {
        padding: 55px 15px;
    }
    .sunpf-myaccount-badge-hero {
        font-size: 10px !important;
        padding: 5px 12px !important;
        max-width: 100% !important;
    }
    .sunpf-myaccount-hero-title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
    .sunpf-myaccount-hero-subtitle {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }
    .sunpf-myaccount-hero-trust-row {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
    .sunpf-myaccount-section {
        padding: 40px 15px 50px 15px;
    }
    .sunpf-myaccount-page .sunpf-auth-card {
        padding: 28px 20px !important;
    }
    .sunpf-myaccount-support-box {
        padding: 22px 18px;
        flex-direction: column;
        text-align: center;
    }
    .sunpf-myaccount-support-box .support-actions {
        width: 100%;
        flex-direction: column;
    }
    .sunpf-myaccount-support-box .support-actions .support-btn {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}


















/* ==========================================================================
   SUN PF POLICY PAGES STYLING (Privacy, Terms, Refund)
   ========================================================================== */
.page-id-3 .entry-header,
.page-id-3191 .entry-header,
.page-id-3370 .entry-header {
    display: none !important;
}

.sunpf-policy-wrapper {
    max-width: 960px;
    margin: 25px auto 60px auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #334155;
    line-height: 1.75;
    font-size: 1.02rem;
    padding: 0 20px;
}
.sunpf-policy-header {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #ffffff !important;
    padding: 45px 35px;
    border-radius: 16px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
    position: relative;
    overflow: hidden;
}
.sunpf-policy-header::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 180px;
    height: 180px;
    background: rgba(18, 150, 86, 0.15);
    border-radius: 50%;
}
.sunpf-policy-badge {
    display: inline-block;
    background: rgba(18, 150, 86, 0.25);
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.4);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 9999px;
    margin-bottom: 14px;
}
.sunpf-policy-header h1,
.sunpf-policy-header .sunpf-policy-title,
.entry-content .sunpf-policy-header h1.sunpf-policy-title {
    font-size: 2.35rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.2 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.25) !important;
}
.sunpf-policy-header p,
.sunpf-policy-header .sunpf-policy-meta {
    font-size: 0.95rem !important;
    color: #cbd5e1 !important;
    margin: 0 !important;
}
.sunpf-policy-content h2 {
    color: #0f172a;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 35px 0 16px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sunpf-policy-content h3 {
    color: #1e293b;
    font-size: 1.2rem;
    font-weight: 700;
    margin: 25px 0 12px 0;
}
.sunpf-policy-content p {
    margin-bottom: 18px;
}
.sunpf-policy-content ul {
    margin: 0 0 22px 24px;
    padding: 0;
}
.sunpf-policy-content li {
    margin-bottom: 10px;
}
.sunpf-policy-box {
    background: #f8fafc;
    border-left: 4px solid #129656;
    border-radius: 0 12px 12px 0;
    padding: 20px 24px;
    margin: 28px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.sunpf-policy-box.highlight {
    background: #ecfdf5;
    border-left-color: #059669;
}
.sunpf-policy-box.warning {
    background: #fffbeb;
    border-left-color: #f59e0b;
}
.sunpf-policy-box h4 {
    margin: 0 0 8px 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 700;
}
.sunpf-contact-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-top: 30px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}
.sunpf-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 14px;
}
.sunpf-contact-detail {
    font-size: 0.95rem;
}
.sunpf-contact-detail strong {
    color: #0f172a;
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}
