/* ============================================================
   Sahib Foundation — Custom Styles
   Palette: Himalayan forest green + warm saffron terracotta
   Fonts:   Playfair Display (headings) · Lato (body)
   ============================================================ */

/* ── CSS Variables ─────────────────────────────────────────── */
:root {
    --sf-green:      #166534;   /* Primary green */
    --sf-green-dk:   #0f5132;   /* Darker green for hover / footer */
    --sf-green-lt:   #D8F3DC;   /* Pale green for tinted backgrounds */
    --sf-saffron:    #f97316;   /* Secondary orange */
    --sf-saffron-dk: #ea580c;   /* Darker orange for hover */
    --sf-gold:       #F4A261;   /* Soft gold for highlights */
    --sf-navy:       #111827;   /* Dark neutral — footer, dark sections */
    --sf-cream:      #FAF7F2;   /* Warm parchment — alt section backgrounds */
    --sf-text:       #2C2C2C;   /* Almost-black body text */
    --sf-muted:      #6B7280;
    --sf-border:     #E5E0D8;   /* Warm border */
    --sf-shadow:     0 2px 14px rgba(0,0,0,.07);
    --sf-shadow-md:  0 10px 30px rgba(0,0,0,.08);
    --sf-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --sf-radius:     1rem; /* 16px for a cleaner, modern look */
}

/* ── Typography ────────────────────────────────────────────── */
body {
    font-family: 'Inter', 'Segoe UI', sans-serif;
    font-size: 1rem;
    color: var(--sf-text);
    background: #fff;
    line-height: 1.75;
}

h1, h2, h3, h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: var(--sf-green-dk);
    line-height: 1.3;
}

a {
    color: var(--sf-green);
    text-decoration: none;
    transition: color var(--sf-transition);
}
a:hover { color: var(--sf-saffron); }

img { max-width: 100%; height: auto; }

/* ── Utility: section wrappers ─────────────────────────────── */
.sf-section { padding: 5rem 0; }
.sf-section-alt { background: var(--sf-cream); }

.sf-section-title {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--sf-green-dk);
    margin-bottom: 0.5rem;
}
.sf-section-sub {
    color: var(--sf-muted);
    font-size: 1.05rem;
    margin-bottom: 2.5rem;
}
.sf-divider {
    width: 48px;
    height: 3px;
    background: var(--sf-saffron);
    border-radius: 2px;
    margin: 0.5rem 0 1.6rem;
}
.sf-divider.mx-auto { margin-left: auto; margin-right: auto; }

/* Overline label above section titles */
.sf-label-overline {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sf-saffron);
}

/* ── Top bar ───────────────────────────────────────────────── */
.sf-topbar {
    background: var(--sf-green-dk);
    font-size: 0.8rem;
    border-bottom: 2px solid var(--sf-saffron);
    letter-spacing: 0.01em;
}
.sf-topbar-link {
    color: rgba(255,255,255,0.82);
    transition: color var(--sf-transition);
}
.sf-topbar-link:hover { color: var(--sf-gold); }

/* ── Navbar ────────────────────────────────────────────────── */
.sf-navbar {
    background: #fff;
    border-bottom: 3px solid var(--sf-saffron);
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    transition: box-shadow var(--sf-transition);
    padding: 0.4rem 0;
}
.sf-navbar.scrolled { box-shadow: 0 4px 22px rgba(0,0,0,.13); }

/* Logo image — client replaces assets/images/logo.png */
.sf-logo {
    height: 48px;
    width: auto;
    max-width: 48px;
    object-fit: contain;
    display: block;
}

.sf-brand-text {
    max-width: 135px;
}
.sf-brand-title {
    font-size: 1rem;
    line-height: 1.1;
    white-space: nowrap;
}
.sf-brand-tagline {
    font-size: 0.72rem;
    line-height: 1.1;
    color: rgba(0,0,0,0.65);
}
@media (max-width: 767px) {
    .sf-brand-text {
        max-width: 100px;
    }
    .sf-brand-title {
        white-space: normal;
        font-size: 0.9rem;
    }
    .sf-brand-tagline {
        display: none;
    }
}

.sf-navbar .nav-link {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--sf-text);
    padding: 0.45rem 0.85rem;
    border-radius: var(--sf-radius);
    transition: color var(--sf-transition), background var(--sf-transition);
}
.sf-navbar .nav-link:hover,
.sf-navbar .nav-link.active {
    color: var(--sf-green);
    background: rgba(45,106,79,0.08);
}
.sf-navbar .nav-link.active { color: var(--sf-green); }

/* Hover dropdowns on desktop */
@media (min-width: 992px) {
    .sf-navbar .dropdown:hover > .dropdown-menu {
        display: block;
    }
}

.sf-navbar .dropdown {
    position: relative;
}

.submenu-icon {
    margin-right: 0.25rem;
    transition: transform 0.2s;
}
.sf-navbar .dropdown.show .submenu-icon {
    transform: rotate(0deg);
}

/* Dropdown */
.sf-navbar .dropdown-menu {
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    box-shadow: var(--sf-shadow-md);
    padding: 0.4rem 0;
    min-width: 220px;
}
.sf-navbar .dropdown-item {
    font-size: 0.86rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--sf-text);
    padding: 0.55rem 1.2rem;
    transition: background var(--sf-transition), color var(--sf-transition);
}
.sf-navbar .dropdown-item:hover,
.sf-navbar .dropdown-item:focus {
    background: var(--sf-green-lt);
    color: var(--sf-green-dk);
}
.sf-navbar .dropdown-item i {
    color: var(--sf-saffron);
    width: 1.2rem;
}

/* Donate button in navbar */
.sf-btn-donate {
    background: var(--sf-saffron);
    color: #fff !important;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.45rem 1.1rem !important;
    transition: background var(--sf-transition), transform var(--sf-transition);
}
.sf-btn-donate:hover {
    background: #0a2d1a !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.sf-btn-donate:hover i {
    color: #fff !important;
}

/* Hide hero buttons on small mobile */
@media (max-width: 576px) {
    #heroCarousel .carousel-caption .sf-btn-primary,
    #heroCarousel .carousel-caption .sf-btn-outline {
        display: none !important;
    }
}

/* ── Page hero (inner pages) ───────────────────────────────── */
.sf-page-hero {
    background: linear-gradient(135deg, var(--sf-green-dk) 0%, var(--sf-green) 100%);
    color: #fff;
    padding: 3.5rem 0 2.75rem;
    border-bottom: 3px solid var(--sf-saffron);
}
.sf-page-hero h1 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #fff;
}
.sf-page-hero .breadcrumb { margin-bottom: 0; }
.sf-page-hero .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.5); }
.sf-page-hero .breadcrumb-item a { color: rgba(255,255,255,0.75); }
.sf-page-hero .breadcrumb-item.active { color: rgba(255,255,255,0.55); }

/* ── Hero Carousel ─────────────────────────────────────────── */
.sf-hero-img {
    height: 560px;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.68);
}
@media (max-width: 768px)  { .sf-hero-img { height: 420px; } }
@media (max-width: 480px)  { .sf-hero-img { height: 320px; } }

#heroCarousel .carousel-caption {
    background: linear-gradient(to top, rgba(27,67,50,0.85) 0%, transparent 100%);
    bottom: 0; left: 0; right: 0;
    text-align: left;
    padding: 4rem 2.5rem 2.5rem;
}
@media (max-width: 576px) {
    #heroCarousel .carousel-caption { padding: 1.5rem 1.25rem 2rem; }
}

.sf-hero-title {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.4rem, 6vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0,0,0,0.3);
    margin-bottom: 1rem;
    line-height: 1.1;
}
.sf-hero-sub {
    font-size: clamp(0.85rem, 3vw, 1.15rem);
    color: rgba(255,255,255,0.95);
    text-shadow: 0 1px 5px rgba(0,0,0,0.3);
    max-width: 650px;
    margin-bottom: 2rem;
    font-weight: 400;
    line-height: 1.6;
}
#heroCarousel .carousel-control-prev,
#heroCarousel .carousel-control-next { width: 5%; }

/* ── Buttons ───────────────────────────────────────────────── */
.sf-btn-primary {
    background: var(--sf-saffron);
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.6rem 1.5rem;
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background var(--sf-transition), transform var(--sf-transition);
    display: inline-block;
}
.sf-btn-primary:hover {
    background: var(--sf-saffron-dk);
    color: #fff;
    transform: translateY(-2px);
}
.sf-btn-outline {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.75);
    border-radius: 4px;
    padding: 0.55rem 1.5rem;
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background var(--sf-transition), border-color var(--sf-transition);
    display: inline-block;
}
.sf-btn-outline:hover {
    background: rgba(255,255,255,0.12);
    border-color: #fff;
    color: #fff;
}

/* Bootstrap overrides */
.btn-sf-primary {
    background: var(--sf-green);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
}
.btn-sf-primary:hover { background: var(--sf-green-dk); color: #fff; }

.btn-sf-accent {
    background: var(--sf-saffron);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
}
.btn-sf-accent:hover { background: var(--sf-saffron-dk); color: #fff; }

.btn-sf-outline-green {
    background: transparent;
    color: var(--sf-green);
    border: 2px solid var(--sf-green);
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.85rem;
}
.btn-sf-outline-green:hover { background: var(--sf-green); color: #fff; }

/* ── Programme card image top ──────────────────────────────── */
.sf-prog-card-img {
    height: 200px;
    overflow: hidden;
    border-radius: var(--sf-radius) var(--sf-radius) 0 0;
    margin: -1rem -1rem 1rem -1rem; /* cancel card padding on three sides */
}
.sf-prog-card-img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.35s ease;
}
.sf-prog-card:hover .sf-prog-card-img img { transform: scale(1.04); }

/* Coloured placeholder when no photo yet */
.sf-prog-card-img-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 0.5rem;
    font-size: 0.78rem; color: rgba(255,255,255,0.75);
}
.sf-prog-card-img-placeholder i { font-size: 2.4rem; opacity: 0.8; }

/* ── Programme cards ───────────────────────────────────────── */
.sf-prog-card {
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    box-shadow: var(--sf-shadow);
    background: #fff;
    transition: transform var(--sf-transition), box-shadow var(--sf-transition),
                border-color var(--sf-transition);
    height: 100%;
}
.sf-prog-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--sf-shadow-md);
    border-color: var(--sf-green);
}
.sf-prog-icon {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--sf-green-lt);
    color: var(--sf-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    transition: background var(--sf-transition), color var(--sf-transition);
    flex-shrink: 0;
}
.sf-prog-card:hover .sf-prog-icon {
    background: var(--sf-green);
    color: #fff;
}
.sf-prog-card .card-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: var(--sf-green-dk);
    font-size: 1.05rem;
}

/* ── Bharatiya Organic Farming block ───────────────────────── */
.sf-bof-block {
    background: linear-gradient(135deg, #ebf5ee 0%, var(--sf-green-lt) 100%);
    border-left: 5px solid var(--sf-green);
    border-radius: var(--sf-radius);
    padding: 2.5rem;
}
.sf-bof-badge {
    display: inline-block;
    background: var(--sf-green);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.25rem 0.8rem;
    border-radius: 3px;
    margin-bottom: 0.8rem;
}
.sf-bof-block h2, .sf-bof-block h3 {
    font-family: 'Inter', sans-serif;
    color: var(--sf-green-dk);
}
.sf-bof-principle {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--sf-green-dk);
}
.sf-bof-principle i { color: var(--sf-saffron); font-size: 1.05rem; flex-shrink: 0; }

.sf-bof-placeholder {
    background: linear-gradient(135deg, #d0ead8 0%, #b8dfc2 100%);
    border-radius: var(--sf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--sf-green);
    min-height: 300px;
    font-size: 0.88rem;
}
.sf-bof-placeholder i { font-size: 3.5rem; margin-bottom: 0.75rem; opacity: 0.55; }

/* ── Stats bar ─────────────────────────────────────────────── */
.sf-stats-bar {
    background: linear-gradient(135deg, var(--sf-green-dk) 0%, var(--sf-green) 100%);
    color: #fff;
    padding: 3.5rem 0;
    border-top: 3px solid var(--sf-saffron);
    border-bottom: 3px solid var(--sf-saffron);
}
.sf-stat-number {
    font-family: 'Inter', sans-serif;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    font-weight: 700;
    color: var(--sf-gold);
    line-height: 1;
    display: block;
}
.sf-stat-label {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0.3rem;
    display: block;
}

/* ── CTA strip ─────────────────────────────────────────────── */
.sf-cta-strip {
    background: var(--sf-cream);
    padding: 4.5rem 0;
    text-align: center;
    color: var(--sf-text);
}
.sf-cta-strip h2 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.2rem);
    color: var(--sf-text);
    margin-bottom: 0.5rem;
}
.sf-cta-strip p { color: var(--sf-muted); }
.sf-cta-strip .sf-btn-primary {
    background: var(--sf-saffron);
    padding: 0.8rem 2.5rem;
    font-size: 1rem;
}
.sf-cta-strip .sf-btn-primary:hover { background: var(--sf-saffron-dk); }
.sf-cta-strip .sf-btn-outline,
.sf-cta-strip .btn-sf-outline-green {
    padding: 0.8rem 2.5rem;
    font-size: 1rem;
    color: var(--sf-text);
    border-color: var(--sf-border);
}

/* ── Mission / Vision quote boxes ──────────────────────────── */
.sf-quote-box {
    border-left: 5px solid var(--sf-green);
    background: var(--sf-cream);
    padding: 1.75rem 2rem;
    border-radius: 0 var(--sf-radius) var(--sf-radius) 0;
}
.sf-quote-box.saffron { border-left-color: var(--sf-saffron); }
.sf-quote-box h5 {
    font-family: 'Inter', sans-serif;
    color: var(--sf-green-dk);
    font-size: 1.05rem;
    margin-bottom: 0.6rem;
}
.sf-quote-box.saffron h5 { color: var(--sf-saffron-dk); }

/* ── Team cards ────────────────────────────────────────────── */
.sf-team-card {
    border: 1px solid var(--sf-border);
    box-shadow: var(--sf-shadow);
    border-radius: var(--sf-radius);
    text-align: center;
    background: #fff;
    transition: transform var(--sf-transition);
}
.sf-team-card:hover { transform: translateY(-4px); }
.sf-team-avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--sf-saffron);
}

/* ── Info / address cards ──────────────────────────────────── */
.sf-info-card {
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    padding: 1.6rem;
    box-shadow: var(--sf-shadow);
    background: #fff;
    height: 100%;
}
.sf-info-card h6 {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sf-saffron);
    border-bottom: 2px solid var(--sf-border);
    padding-bottom: 0.6rem;
    margin-bottom: 1.1rem;
}
.sf-info-row {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.8rem;
    align-items: flex-start;
}
.sf-info-row i { color: var(--sf-saffron); flex-shrink: 0; margin-top: 0.15rem; }

/* ── Bank details box ──────────────────────────────────────── */
.sf-bank-box {
    background: #fff;
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    overflow: hidden;
    box-shadow: var(--sf-shadow);
}
.sf-bank-box-header {
    background: var(--sf-green-dk);
    color: #fff;
    padding: 1.1rem 1.5rem;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.03em;
}
.sf-bank-table { margin: 0; }
.sf-bank-table td { padding: 0.65rem 1.5rem; border-color: var(--sf-border); }
.sf-bank-table td:first-child {
    color: var(--sf-muted);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.sf-bank-table td:last-child {
    font-weight: 700;
    color: var(--sf-text);
    font-family: 'Courier New', monospace;
    font-size: 0.92rem;
}

/* ── Documents page ────────────────────────────────────────── */
.sf-doc-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.sf-doc-badge.pdf  { background: #fde8e8; color: #b91c1c; }
.sf-doc-badge.doc,
.sf-doc-badge.docx { background: #dbeafe; color: #1e40af; }
.sf-doc-badge.xls,
.sf-doc-badge.xlsx { background: #dcfce7; color: #166534; }
.sf-doc-badge.img  { background: #fef3c7; color: #92400e; }
.sf-doc-badge.other{ background: #f3f4f6; color: #374151; }

/* ── Programme detail pages ────────────────────────────────── */
.sf-prog-placeholder {
    background: var(--sf-cream);
    border-radius: var(--sf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--sf-muted);
    min-height: 280px;
    border: 2px dashed var(--sf-border);
}
.sf-prog-placeholder i { font-size: 3rem; margin-bottom: 0.5rem; opacity: 0.35; }
.sf-prog-placeholder span { font-size: 0.8rem; }

.sf-activity-list { list-style: none; padding: 0; margin: 0; }
.sf-activity-list li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--sf-border);
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}
.sf-activity-list li:last-child { border-bottom: none; }
.sf-activity-list li i { color: var(--sf-saffron); margin-top: 0.2rem; flex-shrink: 0; }

/* ── Get Involved landing cards ────────────────────────────── */
.sf-involve-card {
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    padding: 2.5rem 2rem;
    text-align: center;
    background: #fff;
    box-shadow: var(--sf-shadow);
    transition: transform var(--sf-transition), box-shadow var(--sf-transition);
}
.sf-involve-card:hover { transform: translateY(-4px); box-shadow: var(--sf-shadow-md); }
.sf-involve-icon {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: var(--sf-green-lt);
    color: var(--sf-green);
    font-size: 1.8rem;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem;
}
.sf-involve-card h3 {
    font-family: 'Inter', sans-serif;
    color: var(--sf-green-dk);
    font-size: 1.3rem;
}

/* ── Contact info only ─────────────────────────────────────── */
.sf-contact-block {
    background: #fff;
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    padding: 2rem;
    box-shadow: var(--sf-shadow);
    height: 100%;
}
.sf-contact-block h6 {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sf-saffron);
    margin-bottom: 0.5rem;
}
.sf-contact-block .sf-contact-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--sf-green-dk);
}
.sf-contact-block a.sf-contact-value { color: var(--sf-green-dk); }
.sf-contact-block a.sf-contact-value:hover { color: var(--sf-saffron); }

/* ── Back link ─────────────────────────────────────────────── */
.sf-back-link {
    color: var(--sf-green);
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.03em;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.sf-back-link i { transition: transform var(--sf-transition); }
.sf-back-link:hover { color: var(--sf-saffron); }
.sf-back-link:hover i { transform: translateX(-3px); }

/* ── Flash messages ────────────────────────────────────────── */
.sf-alert-success {
    background: #f0fdf4; border: 1px solid #86efac;
    border-radius: var(--sf-radius); color: #166534;
    padding: 1rem 1.25rem;
}
.sf-alert-error {
    background: #fef2f2; border: 1px solid #fca5a5;
    border-radius: var(--sf-radius); color: #991b1b;
    padding: 1rem 1.25rem;
}

/* ── Footer ────────────────────────────────────────────────── */
.sf-footer {
    background: var(--sf-navy);
    color: rgba(255,255,255,0.78);
}
.sf-footer-brand {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}
.sf-footer-heading {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    color: var(--sf-gold);
    margin-bottom: 1.1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.sf-footer-text, .sf-footer-vision {
    color: rgba(255,255,255,0.65);
    font-size: 0.88rem;
    line-height: 1.7;
}
.sf-footer-links { margin: 0; padding: 0; list-style: none; }
.sf-footer-links li { margin-bottom: 0.45rem; border-bottom: 1px dotted rgba(244, 162, 97, 0.36); }
.sf-footer-links li:last-child { border-bottom: none; }
.sf-footer-links a {
    color: rgba(255,255,255,0.68);
    font-size: 0.88rem;
    transition: color var(--sf-transition);
}
.sf-footer-links a:hover { color: var(--sf-gold); }

.sf-footer-contact { margin: 0; padding: 0; list-style: none; }
.sf-footer-contact li {
    display: flex; gap: 0.65rem;
    margin-bottom: 0.85rem;
    font-size: 0.87rem;
    color: rgba(255,255,255,0.68);
    align-items: flex-start;
}
.sf-footer-contact li .iconify { color: var(--sf-gold); flex-shrink: 0; margin-top: 0.2rem; font-size: 1.15rem; }
.sf-footer-contact a { color: rgba(255,255,255,0.8); }
.sf-footer-contact a:hover { color: var(--sf-gold); }
.sf-footer-contact li { align-items: flex-start; }

.sf-footer-bottom {
    background: rgba(0,0,0,0.3);
    border-top: 1px solid rgba(255,255,255,0.07);
    color: rgba(255,255,255,0.45);
    font-size: 0.8rem;
}
.sf-footer-bof-link { color: rgba(255,255,255,0.55); font-size: 0.8rem; }
.sf-footer-bof-link:hover { color: var(--sf-gold); }
