 :root{--green:#7f9f55;--dark:#071313;--cream:#f5f0df;--white:#fff;--muted:#a8b7a8;}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f5f0;color:#14201b}a{color:inherit}.topbar{background:#071313;color:#f5f0df;font-size:14px;padding:8px 0}.container{max-width:1180px;margin:auto;padding:0 18px}.topbar .inner,.navbar .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.toplinks a{margin-left:15px;text-decoration:none}.navbar{background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.12);position:sticky;top:0;z-index:10}.logo{height:76px}.menu{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0}.menu a{text-decoration:none;font-weight:800}.dropdown{position:relative}.dropmenu{display:none;position:absolute;top:100%;left:0;background:#071313;color:#fff;min-width:210px;list-style:none;padding:8px 6px 6px;margin:0;border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.22)}.dropdown:hover .dropmenu{display:block}.dropmenu a{display:block;padding:11px 14px;border-radius:8px;transition:background .15s,color .15s}.dropmenu a:hover{background:rgba(242,183,5,.18);color:#f2b705}.hero{background:linear-gradient(90deg,rgba(7,19,19,.88),rgba(7,19,19,.45)),url('../images/header.png') center/cover no-repeat;color:#fff;padding:145px 0}.hero h1{font-size:58px;margin:0 0 12px;font-weight:900}.hero p{font-size:24px;max-width:720px}.btn{display:inline-block;background:var(--green);color:#071313;border:0;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer;line-height:1.4}.btn.dark{background:#071313;color:#fff}.section{padding:70px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}.card{background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:26px}.card h3{margin-top:0}.page-head{background:linear-gradient(90deg,rgba(7,19,19,.84),rgba(7,19,19,.55)),url('../images/header.png') center/cover no-repeat;color:#fff;padding:90px 0}.page-head h1{font-size:46px;margin:0}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #cbd2c3;border-radius:7px;margin:7px 0 16px;background:#fff}.form label{font-weight:800}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.table th,.table td{padding:13px;border-bottom:1px solid #e3e3e3;text-align:left}.badge{display:inline-block;border-radius:5px;padding:5px 9px;font-weight:800}.badge.ok{background:#dff3df;color:#145a20}.badge.warn{background:#fff1c2;color:#805a00}.badge.bad{background:#ffd6d6;color:#8a1010}.admin-actions a{margin-right:8px}.footer{background:#071313;color:#f5f0df;padding:35px 0;margin-top:40px}.editor-note{font-size:13px;color:#65705f}@media(max-width:800px){.menu{flex-direction:column;align-items:flex-start}.hero h1{font-size:38px}.hero{padding:90px 0}.topbar .inner,.navbar .inner{align-items:flex-start}}
 .top-user-menu {
    position: relative;
    display: inline-block;
}

.top-user-trigger {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}

.top-user-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    min-width: 230px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(0,0,0,.18);
    z-index: 10000;
    padding: 5px;
}

.top-user-menu:hover .top-user-dropdown,
.top-user-menu:focus-within .top-user-dropdown {
    display: block;
}

.top-user-dropdown a {
    display: block;
    padding: 12px 14px;
    text-decoration: none;
    font-weight: 700;
    color: #1f4d35;
    border-radius: 9px;
    transition: background .15s ease, color .15s ease;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.top-user-dropdown a:hover {
    background: #f2b705;
    color: #102015;
    border-radius: 9px;
}


/* Footer and legal page update */
.site-footer {
    background: #071313;
    color: #f5f0df;
    margin-top: 40px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.15fr;
    gap: 34px;
    padding-top: 58px;
    padding-bottom: 42px;
}

.footer-logo {
    max-width: 135px;
    height: auto;
    display: block;
    margin-bottom: 18px;
}

.footer-brand p,
.footer-column p,
.footer-column li,
.footer-bottom p {
    color: rgba(245,240,223,.82);
    line-height: 1.7;
}

.footer-column h3 {
    color: #ffffff;
    font-size: 18px;
    margin: 0 0 16px;
    font-weight: 900;
}

.footer-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-column li {
    margin-bottom: 10px;
}

.footer-column a,
.footer-brand a,
.footer-bottom a {
    color: rgba(245,240,223,.88);
    text-decoration: none;
    transition: .2s ease;
}

.footer-column a:hover,
.footer-brand a:hover,
.footer-bottom a:hover {
    color: #7f9f55;
}

.footer-contact strong {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid rgba(245,240,223,.12);
    background: rgba(0,0,0,.2);
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding-top: 18px;
    padding-bottom: 18px;
    flex-wrap: wrap;
}

.footer-bottom p {
    margin: 0;
    font-size: 14px;
}

.footer-legal-links {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 800;
}

.legal-card {
    max-width: 920px;
    margin: 0 auto;
}

.legal-card h2 {
    margin-top: 0;
    font-size: 34px;
}

.legal-card h3 {
    margin-top: 28px;
    color: #1f4d35;
}

.legal-card p {
    line-height: 1.8;
    color: #24342c;
}

@media (max-width: 950px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {
    .footer-grid {
        grid-template-columns: 1fr;
        padding-top: 42px;
    }

    .footer-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-legal-links {
        flex-direction: column;
        gap: 8px;
    }
}

/* =========================
   MOBILE RESPONSIVE UPDATE
========================= */

/* ── Hamburger button ───────────────────────────────────── */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    background: #071313;
    border: 1.5px solid rgba(255,255,255,.12);
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}
.hbg-bar {
    display: block;
    width: 20px;
    height: 2px;
    background: #f5f0df;
    border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease, width .25s ease;
    transform-origin: center;
}
.mobile-menu-toggle.active .hbg-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu-toggle.active .hbg-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-menu-toggle.active .hbg-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Overlay ────────────────────────────────────────────── */
.mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 9998;
}
.mobile-overlay.active { display: block; animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── Sidebar panel ──────────────────────────────────────── */
.mobile-sidebar {
    position: fixed;
    top: 0; right: 0;
    width: 300px;
    max-width: 88vw;
    height: 100%;
    background: #0b1a18;
    background-image: linear-gradient(160deg, #0f2420 0%, #071313 60%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    box-shadow: -12px 0 40px rgba(0,0,0,.5);
    transform: translateX(100%);
    transition: transform .32s cubic-bezier(.4,0,.2,1);
}
.mobile-sidebar.active { transform: translateX(0); }

/* ── Sidebar header ─────────────────────────────────────── */
.msb-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    flex-shrink: 0;
}
.msb-logo-link { display: flex; align-items: center; }
.msb-logo { height: 44px; }
.msb-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    color: #f5f0df;
    cursor: pointer;
    transition: background .15s;
    flex-shrink: 0;
}
.msb-close:hover { background: rgba(255,255,255,.15); }

/* ── User greeting ──────────────────────────────────────── */
.msb-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: rgba(95,127,53,.14);
    border-bottom: 1px solid rgba(255,255,255,.06);
    flex-shrink: 0;
}
.msb-user-avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #5f7f35, #3a5c1e);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.msb-user-name  { font-size: 14px; font-weight: 800; color: #f5f0df; line-height: 1.2; }
.msb-user-role  { font-size: 12px; color: rgba(245,240,223,.45); margin-top: 2px; }

/* ── Nav links ──────────────────────────────────────────── */
.msb-nav {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
    gap: 2px;
    flex: 1;
}
.msb-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 10px;
    color: rgba(245,240,223,.88);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    background: none;
    border: none;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s, color .15s;
    width: 100%;
    text-align: left;
}
.msb-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.msb-icon {
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.06);
    border-radius: 8px;
    flex-shrink: 0;
    color: #7f9f55;
    transition: background .15s;
}
.msb-link:hover .msb-icon { background: rgba(95,127,53,.25); }
.msb-chevron {
    margin-left: auto;
    color: rgba(245,240,223,.35);
    transition: transform .2s ease;
}
.msb-group.open .msb-chevron { transform: rotate(180deg); }
.msb-expandable { justify-content: flex-start; }

/* ── Sub-menu (Events) ──────────────────────────────────── */
.msb-sub {
    display: none;
    flex-direction: column;
    gap: 1px;
    padding: 4px 0 4px 46px;
}
.msb-group.open .msb-sub { display: flex; }
.msb-sublink {
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    color: rgba(245,240,223,.65);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.msb-sublink:hover { background: rgba(255,255,255,.06); color: rgba(245,240,223,.95); }

/* ── Divider ────────────────────────────────────────────── */
.msb-divider {
    height: 1px;
    background: rgba(255,255,255,.07);
    margin: 4px 20px;
    flex-shrink: 0;
}

/* ── Donate button ──────────────────────────────────────── */
.msb-donate {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 10px 16px;
    padding: 13px 20px;
    background: linear-gradient(135deg, #5f7f35, #3a5c1e);
    color: #fff !important;
    font-weight: 900;
    font-size: 15px;
    text-decoration: none !important;
    border-radius: 10px;
    border: 1px solid #4a6828;
    box-shadow: 0 4px 14px rgba(60,90,28,.4);
    transition: opacity .15s, transform .15s;
    flex-shrink: 0;
}
.msb-donate:hover { opacity: .88; transform: translateY(-1px); }

/* ── Footer links ───────────────────────────────────────── */
.msb-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 20px 20px;
    border-top: 1px solid rgba(255,255,255,.07);
    flex-shrink: 0;
    flex-wrap: wrap;
}
.msb-footer-link {
    font-size: 13px;
    color: rgba(245,240,223,.5);
    text-decoration: none;
    font-weight: 600;
    transition: color .15s;
}
.msb-footer-link:hover { color: rgba(245,240,223,.9); }
.msb-lang { display: flex; gap: 6px; margin-left: auto; }
.msb-lang-btn {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(245,240,223,.6);
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.12);
    transition: background .15s, color .15s;
}
.msb-lang-btn:hover { background: rgba(255,255,255,.1); color: #fff; }

@media (max-width: 900px) {

    .mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .navbar .menu {
        display: none;
    }

    .navbar .inner {
        justify-content: space-between;
    }

    .logo {
        height: 62px;
    }

    .hero {
        padding: 90px 0;
    }

    .hero h1 {
        font-size: 42px;
        line-height: 1.1;
    }

    .hero p {
        font-size: 21px;
    }

    .home-block-card.has-image,
    .home-block-card.image-left {
        grid-template-columns: 1fr;
    }

    .home-block-image img {
        height: 240px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .topbar .inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .toplinks {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .toplinks a {
        margin-left: 0;
    }

    .grid {
        grid-template-columns: 1fr;
    }

    .table {
        display: block;
        overflow-x: auto;
    }
}

/* Event editor/image update */
.event-editor-card {
    max-width: 980px;
    margin: 0 auto;
}

.event-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.editor-help {
    background: #f5f0df;
    border-left: 5px solid var(--green, #7f9f55);
    border-radius: 12px;
    padding: 16px 18px;
    margin: -4px 0 22px;
}

.editor-help h3 {
    margin: 0 0 12px;
    color: #1f4d35;
    font-size: 17px;
}

.tag-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 14px;
}

.tag-grid code {
    display: block;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 8px;
    padding: 8px 10px;
    color: #14201b;
    font-size: 13px;
    white-space: normal;
}

.current-event-image {
    margin: 8px 0 24px;
}

.current-event-image img {
    width: 100%;
    max-width: 360px;
    height: auto;
    border-radius: 14px;
    display: block;
    margin-bottom: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.14);
}

.event-card-image {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
    margin-bottom: 18px;
}

.event-content {
    line-height: 1.75;
}

@media (max-width: 750px) {
    .event-form-grid,
    .tag-grid {
        grid-template-columns: 1fr;
    }

    .event-card-image {
        height: 210px;
    }
}

/* Event cards, detail page, likes, and homepage latest rows */
.event-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.event-card {
    display: flex;
    flex-direction: column;
}

.event-card-image {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 16px;
    display: block;
}

.event-card h3 a,
.home-mini-card h3 a {
    color: inherit;
    text-decoration: none;
}

.event-card h3 a:hover,
.home-mini-card h3 a:hover {
    color: var(--green, #7f9f55);
}

.event-meta {
    color: #244c32;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.event-card-footer,
.event-detail-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.event-like-form {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

.event-like-button {
    border: 0;
    background: #f5f0df;
    color: #071313;
    border-radius: 999px;
    width: 38px;
    height: 38px;
    cursor: pointer;
    font-size: 17px;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
    transition: .2s ease;
}

.event-like-button:hover {
    background: var(--green, #7f9f55);
    transform: translateY(-1px);
}

.event-like-button.large {
    width: 46px;
    height: 46px;
    font-size: 21px;
}

.event-like-count,
.event-like-inline {
    color: #244c32;
    font-weight: 900;
}

.event-detail-image {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 24px;
    display: block;
}

.event-detail-content {
    line-height: 1.85;
    margin: 24px 0;
}


/* Event date/admission field styling */
.event-info-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

..event-pills {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin:25px 0;
}

.event-pill{
    background:#eef4e5;
    border:1px solid #a6c27a;
    border-radius:12px;
    padding:14px;
}

.event-pill-label{
    font-size:12px;
    text-transform:uppercase;
    color:#4b6d3a;
    margin-bottom:6px;
    font-weight:700;
}

.event-pill-value{
    font-size:16px;
    font-weight:700;
    color:#13211a;
}

.event-wide-box{
    background:#eef4e5;
    border:1px solid #a6c27a;
    border-radius:12px;
    padding:16px;
    margin-bottom:14px;
}

@media (max-width: 650px) {
    .event-info-fields {
        grid-template-columns: 1fr;
    }
}

.pagination-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    background: #fff;
    color: #071313;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(0,0,0,.1);
}

.pagination-link.active,
.pagination-link:hover {
    background: var(--green, #7f9f55);
}

@media (max-width: 1000px) {
    .event-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .event-card-grid {
        grid-template-columns: 1fr;
    }

    .event-card-footer,
    .event-detail-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Newsletter footer/admin update */
.newsletter-form{display:grid;gap:10px}
.newsletter-form input{width:100%;border:1px solid rgba(245,240,223,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:12px 13px}
.newsletter-form input::placeholder{color:rgba(245,240,223,.65)}
.newsletter-form button{background:var(--green,#7f9f55);color:#071313;border:0;border-radius:8px;padding:12px 16px;font-weight:900;cursor:pointer}
.newsletter-editor-card{max-width:1060px;margin:0 auto}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.newsletter-tag-help{margin:-6px 0 24px}

/* Logged-in account dropdown: open to the RIGHT of the user name on mobile */
.top-user-dropdown {
    left: 0 !important;
    right: auto !important;
}

@media (max-width: 800px) {
    .top-user-dropdown {
        left: 0 !important;
        right: auto !important;
        text-align: left;
    }
}

/* =============================================
   iOS-STYLE TOGGLE SWITCHES (replaces checkboxes in admin forms)
============================================= */
.ios-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 10px 0 20px;
}

.ios-toggle-wrap label {
    font-weight: 800;
    color: #14201b;
    cursor: pointer;
    user-select: none;
    margin: 0;
}

.ios-toggle {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 30px;
    flex-shrink: 0;
}

.ios-toggle input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    margin: 0;
}

.ios-slider {
    position: absolute;
    inset: 0;
    background: #cdd8c5;
    border-radius: 999px;
    cursor: pointer;
    transition: background .25s ease;
}

.ios-slider::before {
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,.22);
    transition: transform .25s ease;
}

.ios-toggle input:checked + .ios-slider {
    background: var(--green, #7f9f55);
}

.ios-toggle input:checked + .ios-slider::before {
    transform: translateX(24px);
}

.ios-toggle input:focus-visible + .ios-slider {
    outline: 3px solid var(--green, #7f9f55);
    outline-offset: 2px;
}

/* Row-select checkboxes in tables stay as native checkboxes */
.row-check {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--green, #7f9f55);
    cursor: pointer;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
}

/* =============================================
   ADMIN ACTION BUTTONS (Edit / Delete / Approve)
============================================= */
.admin-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 7px;
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: opacity .18s ease, transform .12s ease;
    line-height: 1;
}

.admin-btn:hover {
    opacity: .85;
    transform: translateY(-1px);
}

.admin-btn-edit {
    background: #eef4e5;
    color: #1f4d35;
    border: 1.5px solid #a6c27a;
}

.admin-btn-approve {
    background: #dff3df;
    color: #145a20;
    border: 1.5px solid #7fc87f;
}

.admin-btn-delete {
    background: #ffd6d6;
    color: #8a1010;
    border: 1.5px solid #f4a0a0;
}

/* =============================================
   CONTACT PAGE - Info card styling & map
============================================= */
.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 30px;
}

.contact-info-card {
    background: linear-gradient(135deg, #1f4d35 0%, #0d2e1e 100%);
    color: #f5f0df;
    border-radius: 14px;
    padding: 28px 22px;
    box-shadow: 0 14px 36px rgba(7,19,19,.22);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-info-card .contact-icon {
    font-size: 30px;
    line-height: 1;
}

.contact-info-card h3 {
    margin: 0;
    color: var(--green, #7f9f55);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 900;
}

.contact-info-card p,
.contact-info-card a {
    margin: 0;
    color: #f5f0df;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.contact-info-card a:hover {
    color: var(--green, #7f9f55);
}

.contact-map-wrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(0,0,0,.14);
    margin-bottom: 34px;
    border: 3px solid #e3ead7;
}

.contact-map-wrap iframe {
    display: block;
    width: 100%;
    height: 340px;
    border: 0;
}

@media (max-width: 750px) {
    .contact-info-grid {
        grid-template-columns: 1fr;
    }
    .contact-map-wrap iframe {
        height: 260px;
    }
}


/* Admin action buttons */
.admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-action-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:8px;border:1px solid rgba(127,159,85,.35);background:#f7faf5;color:#1f6b3a;font-weight:900;text-decoration:none;line-height:1;cursor:pointer;font:inherit;box-shadow:0 1px 0 rgba(0,0,0,.03);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.admin-action-btn:hover{background:#eef6ea;border-color:rgba(127,159,85,.65);transform:translateY(-1px)}
.admin-action-btn.delete{border-color:#efb5b5;background:#fff7f7;color:#c92626}
.admin-action-btn.delete:hover{background:#fff0f0;border-color:#e57373}
.admin-action-btn .icon{font-size:14px;line-height:1}
.table .badge.ok,.table .expiry-badge.expiry-future{border-radius:999px}


/* UI polish: real admin action buttons and reusable iOS switches */
.admin-actions,.table td.admin-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.admin-action-btn,.admin-action-btn:visited{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:38px!important;padding:9px 15px!important;border-radius:8px!important;border:1px solid rgba(127,159,85,.45)!important;background:#f7faf5!important;color:#1f6b3a!important;font-weight:900!important;font-size:14px!important;text-decoration:none!important;line-height:1!important;cursor:pointer!important;box-shadow:0 1px 0 rgba(0,0,0,.04)!important;font-family:inherit!important}
.admin-action-btn:hover{background:#eef6ea!important;border-color:rgba(127,159,85,.75)!important;text-decoration:none!important}
.admin-action-btn.delete,.admin-action-btn.delete:visited{border-color:#efb5b5!important;background:#fff7f7!important;color:#c92626!important}
.admin-action-btn.delete:hover{background:#fff0f0!important;border-color:#e57373!important}
.admin-action-btn .icon{font-size:14px!important;line-height:1!important}
.table th.actions-col,.table td.actions-col{width:210px!important;text-align:left!important}
.ios-toggle-wrap{display:flex!important;align-items:center!important;gap:14px!important;margin:12px 0 24px!important}
.ios-toggle-wrap .ios-toggle-text{font-weight:800!important;color:#14201b!important;cursor:pointer!important;margin:0!important}
.ios-toggle{position:relative!important;display:inline-block!important;width:54px!important;height:30px!important;flex:0 0 54px!important;margin:0!important;vertical-align:middle!important}
.ios-toggle input[type="checkbox"]{position:absolute!important;opacity:0!important;width:0!important;height:0!important;margin:0!important;padding:0!important;pointer-events:none!important}
.ios-slider{position:absolute!important;inset:0!important;background:#c7c9ca!important;border-radius:999px!important;cursor:pointer!important;transition:background .22s ease!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.15)!important}
.ios-slider:before{content:""!important;position:absolute!important;width:24px!important;height:24px!important;left:3px!important;top:3px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 2px 6px rgba(0,0,0,.25)!important;transition:transform .22s ease!important}
.ios-toggle input[type="checkbox"]:checked + .ios-slider{background:var(--green,#7f9f55)!important}
.ios-toggle input[type="checkbox"]:checked + .ios-slider:before{transform:translateX(24px)!important}


/* Admin dashboard cards */
.admin-dashboard-grid {
    align-items: stretch;
}

.card.admin-dashboard-card {
    background: #f7f1df;
    border: 1px solid #e5dcc2;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    min-height: 156px;
    padding: 28px 24px;
}

.card.admin-dashboard-card p {
    margin: 0;
    color: #26302a;
    line-height: 1.45;
    max-width: 245px;
}

.card.admin-dashboard-card .admin-card-btn,
.card.admin-dashboard-card .admin-card-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #5f7f35;
    color: #ffffff !important;
    padding: 12px 18px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 800;
    min-width: 210px;
    max-width: 100%;
    text-align: center;
    border: 1px solid #4e692c;
    box-shadow: 0 4px 10px rgba(95,127,53,.20);
}

.card.admin-dashboard-card .admin-card-btn:hover,
.card.admin-dashboard-card .admin-card-btn:focus {
    background: #4f6f2d;
    color: #ffffff !important;
    transform: translateY(-1px);
}


/* Global card styling */
.card,
.admin-card,
.post-card,
.list-card {
    background: #f6f1e7 !important;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 18px;
}

/* Admin posts spacing */
.admin-post-item,
.post-row,
.posts-card {
    margin-bottom: 20px !important;
    padding: 20px !important;
}



/* Social follow and sharing */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.social-follow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.social-follow-label{font-weight:900;color:#1f4d35;margin-right:2px}
.social-btn,.social-btn:visited,.share-popover a,.share-popover button{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border-radius:999px;border:0;background:#1f4d35;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font:inherit;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:transform .15s ease,opacity .15s ease,background .15s ease,color .15s ease}
.social-icon{display:block;width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.social-btn:hover,.share-popover a:hover,.share-popover button:hover{opacity:.9;transform:translateY(-1px)}
.blog-social-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(31,77,53,.14)}
.blog-social-tools .social-follow{margin-top:0}
.blog-social-tools .social-follow-label{color:#1f4d35}
.blog-social-tools .social-btn{background:#1f4d35;color:#fff!important}
.share-widget{position:relative;display:inline-flex;align-items:center}
.share-toggle{background:#1f4d35!important;color:#fff!important}
.share-popover{position:absolute;right:0;bottom:calc(100% + 10px);z-index:20;display:grid;grid-template-columns:repeat(4,34px);gap:8px;width:auto;padding:10px;background:#f6f1e7;border:1px solid rgba(31,77,53,.2);border-radius:16px;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.share-popover[hidden]{display:none!important}
.share-popover .share-copy-status{grid-column:1/-1;font-size:12px;font-weight:800;color:#244c32;line-height:1.35;min-height:1em}
.footer-column .social-follow,.footer-brand .social-follow{margin-top:16px}
.footer-brand .social-follow{gap:10px}
.footer-brand .social-follow-label{color:#f6f1e7;font-weight:900}
.footer-brand .social-btn{background:#1f4d35!important;border:1.5px solid rgba(246,241,231,.22)!important;box-shadow:0 2px 6px rgba(0,0,0,.25)!important;color:#fff!important;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:999px!important}
.footer-brand .social-icon{width:18px;height:18px}
.footer-brand .social-btn:hover{opacity:.85;transform:translateY(-2px)}
@media (max-width:650px){.blog-social-tools{align-items:flex-start}.share-popover{left:0;right:auto;grid-template-columns:repeat(4,34px)}}

/* ── Donate button ── */
.nav-donate-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;background:linear-gradient(135deg,#5f7f35 0%,#3a5c1e 100%);color:#fff!important;font-weight:900;font-size:14px;text-decoration:none!important;border-radius:8px;border:1.5px solid #4a6828;box-shadow:0 3px 10px rgba(60,90,28,.35);white-space:nowrap;transition:transform .15s,box-shadow .15s;letter-spacing:.01em}
.nav-donate-btn:hover{background:linear-gradient(135deg,#4e6f2a,#2c4715);box-shadow:0 5px 16px rgba(60,90,28,.48);transform:translateY(-1px);color:#fff!important}


/* ═══════════════════════════════════════════════════════════
   Enhanced page banner  (.ph-enhanced)
   Matches the jobs page banner style across all pages.
   ═══════════════════════════════════════════════════════════ */
.page-head.ph-enhanced {
    padding: 72px 0 76px;
    position: relative;
    overflow: hidden;
}

/* Subtle animated shimmer overlay */
.page-head.ph-enhanced::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        rgba(127,159,85,.12) 0%,
        transparent 50%,
        rgba(127,159,85,.06) 100%
    );
    pointer-events: none;
}

/* Decorative grid lines (very subtle) */
.page-head.ph-enhanced::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}

.ph-inner {
    display: flex;
    align-items: center;
    gap: 26px;
    position: relative;
    z-index: 1;
}

.ph-icon-wrap {
    font-size: 52px;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.35));
    user-select: none;
}

.ph-text {
    flex: 1;
    min-width: 0;
}

.ph-title {
    font-size: 46px !important;
    margin: 0 0 8px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em;
    text-shadow: 0 2px 12px rgba(0,0,0,.3);
}

.ph-subtitle {
    font-size: 17px;
    margin: 0;
    color: rgba(245,240,223,.85);
    max-width: 680px;
    line-height: 1.55;
    font-weight: 500;
}

.ph-extra {
    margin-top: 14px;
}

/* breadcrumb inside banner */
.ph-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: rgba(245,240,223,.6);
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.ph-breadcrumb a {
    color: rgba(245,240,223,.7);
    text-decoration: none;
    transition: color .15s;
}
.ph-breadcrumb a:hover { color: #a8c878; }
.ph-breadcrumb-sep { opacity: .4; }

/* admin badge in banner */
.ph-admin-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(95,127,53,.28);
    border: 1px solid rgba(168,200,120,.3);
    color: #a8c878;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
}

@media (max-width: 640px) {
    .page-head.ph-enhanced { padding: 50px 0 54px; }
    .ph-icon-wrap { font-size: 36px; }
    .ph-title { font-size: 30px !important; }
    .ph-subtitle { font-size: 15px; }
    .ph-inner { gap: 16px; }
}
