/* ============================
   NIGHT MODE TOGGLE BUTTON
   ============================ */
.night-toggle {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #2a3a38;
    border: 2px solid #648381;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9000;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.night-toggle:hover {
    transform: scale(1.1);
    border-color: #f5a623;
}
.night-toggle i {
    font-size: 1.1rem;
    color: #f5a623;
    transition: opacity 0.2s ease;
}
.night-toggle .icon-moon { display: block; }
.night-toggle .icon-sun  { display: none; }

/* ============================
   DEEP DARK MODE
   ============================ */
body.night-mode {
    background-color: #0d0d0d;
    color: #e8e8e8;
}

/* Header */
body.night-mode .top-logo {
    background: #111 !important;
    border-bottom: 1px solid #1e1e1e;
}
body.night-mode .header-search {
    background: #1e1e1e;
    color: #e8e8e8;
}
body.night-mode .header-search:hover {
    background: #648381;
    color: #fff;
}

/* Navbar */
body.night-mode .navbar {
    background: #111 !important;
    border-top-color: #1e1e1e !important;
    border-bottom-color: #1e1e1e !important;
}
body.night-mode .navbar a {
    color: #e8e8e8 !important;
}
body.night-mode .navbar a:hover {
    color: #f5a623 !important;
}
body.night-mode .dropdown-content {
    background: #1a1a1a !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}
body.night-mode .dropdown-content a {
    color: #e8e8e8 !important;
}
body.night-mode .dropdown-content a:hover {
    background: #222 !important;
    color: #f5a623 !important;
}

/* Social dropdown */
body.night-mode .social-panel {
    background: #1a1a1a;
    box-shadow: 0 8px 28px rgba(0,0,0,0.5);
}
body.night-mode .social-panel a {
    color: #e8e8e8;
}
body.night-mode .social-panel a:hover {
    background: #222;
    color: #f5a623;
}
body.night-mode .social-panel a i {
    color: #648381;
}
body.night-mode .social-panel a:hover i {
    color: #f5a623;
}
body.night-mode .social-divider {
    background: #2a2a2a;
}

/* Toggle button in night mode */
body.night-mode .night-toggle {
    background: #f5a623;
    border-color: #f5a623;
}
body.night-mode .night-toggle i {
    color: #0d0d0d;
}
body.night-mode .night-toggle .icon-moon { display: none; }
body.night-mode .night-toggle .icon-sun  { display: block; }
body.night-mode .night-toggle:hover {
    background: #e09510;
    border-color: #e09510;
}

/* Hero */
body.night-mode .hero::before {
    background: rgba(0,0,0,0.65) !important;
}

/* Sections */
body.night-mode .upcoming-stories,
body.night-mode .stories-section,
body.night-mode .trails-section,
body.night-mode .calendar-section,
body.night-mode .nairobi-trail-section,
body.night-mode .ms-section,
body.night-mode .resources-section,
body.night-mode .top-rated-section,
body.night-mode .benefits-section,
body.night-mode .about-section {
    background: #0d0d0d !important;
}

body.night-mode .midweek-section,
body.night-mode .storytellers-section,
body.night-mode .nairobi-trail-section.alt-bg,
body.night-mode .ms-section.alt-bg,
body.night-mode .resources-section.alt-bg {
    background: #111 !important;
}

/* Cards */
body.night-mode .hike-card,
body.night-mode .story-card,
body.night-mode .trail-card,
body.night-mode .benefit-card,
body.night-mode .rated-card,
body.night-mode .storyteller-card,
body.night-mode .storyteller-full-card,
body.night-mode .policy-card,
body.night-mode .form-card,
body.night-mode .standards-card,
body.night-mode .doc-card,
body.night-mode .article-card,
body.night-mode .article-featured,
body.night-mode .nairobi-trail-card,
body.night-mode .event-modal,
body.night-mode .cal-cell {
    background: #1a1a1a !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}

body.night-mode .cal-cell.empty {
    background: transparent !important;
    box-shadow: none !important;
    border-color: #2a2a2a !important;
}
body.night-mode .cal-cell.has-event {
    border-color: #648381 !important;
}

/* Text colours */
body.night-mode h1,
body.night-mode h2,
body.night-mode h3,
body.night-mode h4,
body.night-mode .trail-body h3,
body.night-mode .nairobi-trail-body h2,
body.night-mode .cell-name,
body.night-mode .cal-date,
body.night-mode .month-title,
body.night-mode .calendar-month-header {
    color: #f0f0f0 !important;
}

body.night-mode p,
body.night-mode .trail-body p,
body.night-mode .article-excerpt,
body.night-mode .trail-desc,
body.night-mode .storyteller-content blockquote,
body.night-mode .storyteller-quote,
body.night-mode .charter-identity p,
body.night-mode .charter-item p,
body.night-mode .ethics-item p,
body.night-mode .guideline-item p,
body.night-mode .policy-body,
body.night-mode .info-val {
    color: #aaa !important;
}

/* Section labels */
body.night-mode .section-label,
body.night-mode .sub-hero-label,
body.night-mode .ms-hero-label,
body.night-mode .resources-hero-label {
    color: #f5a623 !important;
}

/* Midweek card */
body.night-mode .midweek-card {
    background: #1a1a1a !important;
}

/* Filter bar */
body.night-mode .filter-bar {
    background: #111 !important;
    border-bottom-color: #2a2a2a !important;
}
body.night-mode .filter-btn {
    border-color: #333 !important;
    color: #aaa !important;
}
body.night-mode .filter-btn.active {
    background: #648381 !important;
    border-color: #648381 !important;
    color: #fff !important;
}

/* Trail anchor nav */
body.night-mode .trail-anchor-nav,
body.night-mode .ms-anchor-bar,
body.night-mode .resources-anchor-bar {
    background: #111 !important;
    border-top-color: #1e1e1e !important;
}

/* Trail info grid */
body.night-mode .trail-info-grid {
    background: #222 !important;
}
body.night-mode .info-label {
    color: #648381 !important;
}

/* Star ratings */
body.night-mode .rating-label {
    color: #888 !important;
}

/* Storytellers */
body.night-mode .storytellers-section {
    background: #111 !important;
}
body.night-mode .storyteller-card,
body.night-mode .storyteller-full-card {
    background: #1a1a1a !important;
}

/* Forms */
body.night-mode .form-group input,
body.night-mode .form-group select,
body.night-mode .form-group textarea {
    background: #222 !important;
    border-color: #333 !important;
    color: #e8e8e8 !important;
}
body.night-mode .form-group input:focus,
body.night-mode .form-group select:focus,
body.night-mode .form-group textarea:focus {
    border-color: #648381 !important;
    background: #2a2a2a !important;
}
body.night-mode .form-group label {
    color: #ccc !important;
}
body.night-mode .form-section-label {
    color: #648381 !important;
    border-bottom-color: #2a2a2a !important;
}
body.night-mode .form-check label {
    color: #aaa !important;
}

/* Policy cards */
body.night-mode .policy-body h4 {
    color: #f0f0f0 !important;
}
body.night-mode .privacy-item strong {
    color: #f0f0f0 !important;
}

/* Charter */
body.night-mode .charter-block h3,
body.night-mode .charter-identity h3 {
    color: #f0f0f0 !important;
    border-bottom-color: #648381 !important;
}
body.night-mode .charter-num,
body.night-mode .ethics-num {
    color: #f5a623 !important;
}

/* Poem block */
body.night-mode .poem-block {
    background: #1a1a1a !important;
}

/* CTA sections */
body.night-mode .cta-section,
body.night-mode .upcoming-cta,
body.night-mode .trails-cta-banner {
    background: #111 !important;
}

/* Details strip (midweek) */
body.night-mode .details-strip {
    background: #1a2e2c !important;
}

/* Footer */
body.night-mode .footer {
    background: #0a0a0a !important;
}

/* Mobile menu overlay */
body.night-mode .mobile-menu-overlay {
    background: #111 !important;
}
body.night-mode .mobile-menu-nav > a,
body.night-mode .mobile-menu-toggle {
    color: #e8e8e8 !important;
    border-bottom-color: #2a2a2a !important;
}
body.night-mode .mobile-menu-nav > a:hover,
body.night-mode .mobile-menu-toggle:hover {
    color: #f5a623 !important;
}
body.night-mode .mobile-menu-sub {
    background: #1a1a1a !important;
}
body.night-mode .mobile-menu-sub a {
    color: #648381 !important;
    border-bottom-color: #2a2a2a !important;
}
body.night-mode .mobile-menu-close {
    color: #e8e8e8 !important;
}

/* Scrollbar in night mode */
body.night-mode ::-webkit-scrollbar {
    width: 8px;
}
body.night-mode ::-webkit-scrollbar-track {
    background: #111;
}
body.night-mode ::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 4px;
}
body.night-mode ::-webkit-scrollbar-thumb:hover {
    background: #648381;
}
body.night-mode .event-preview {
    color: #f0f0f0 !important;
}
body.night-mode .cta-section {
  background: #0d0d0d !important;
}

body.night-mode .cta-inner h2 {
  color: #f0f0f0 !important;
}

body.night-mode .cta-inner p {
  color: #aaa !important;
}
body.night-mode .upcoming-cta {
    background: #0d0d0d !important;
}

body.night-mode .upcoming-cta-inner h2 {
    color: #f0f0f0 !important;
}

body.night-mode .upcoming-cta-inner p {
    color: #aaa !important;
}