/* Schemes Implemented: the page's original inline styles (from templates/core/social_forestry/schemes_implemented.html), unchanged. */
.schemes-page { padding: 40px 0; }
.schemes-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #f2ede1;
    box-shadow: 0 10px 25px rgba(0,0,0,0.04);
    padding: 32px;
    margin-bottom: 35px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.schemes-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
    border-color: #e6dfcd;
}
.schemes-header {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 2px solid #f2ede1;
    padding-bottom: 18px;
    margin-bottom: 20px;
}
.schemes-num {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #1a472a, #1a472a);
    color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.25rem;
    box-shadow: 0 4px 12px rgba(26, 71, 42,0.2);
}
.schemes-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: #1a472a;
    margin: 0;
}
.schemes-body {
    font-size: 1rem;
    color: #1f2a22;
    line-height: 1.7;
}
.schemes-table-wrap {
    margin-top: 24px;
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid #f2ede1;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.schemes-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.95rem;
}
.schemes-table th {
    background: #1a472a;
    color: #ffffff;
    font-weight: 700;
    padding: 14px 18px;
    white-space: nowrap;
}
.schemes-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #f2ede1;
    color: #1f2a22;
}
.schemes-table tr:nth-child(even) { background: #f2ede1; }
.schemes-table tr:hover { background: #f2ede1; }
.schemes-badge {
    display: inline-block;
    background: #f2ede1;
    color: #1a472a;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 99px;
    font-size: 0.85rem;
    border: 1px solid #e3ece1;
}
.schemes-subcard {
    background: #fef7d6;
    border-left: 4px solid #b8900f;
    padding: 16px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 15px;
}

/* Force Centering & Screen Fit */
.bs-wrap.schemes-page {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-left: 4% !important;
    padding-right: 4% !important;
}

.page-hero .wrap {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 4% !important;
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.page-hero h1 {
    text-align: center !important;
}

/* Frame glue (not in the original): every card sits in its own .bs-wrap.schemes-page, so the original single wrapper's
   40px top/bottom padding is kept only at the top and bottom; card numbers count the cards in page order;
   paragraphs after the first keep the original 12px top margin. */
.bs-page > .schemes-page + .schemes-page { padding-top: 0 !important; }
.bs-page > .schemes-page:has(+ .schemes-page) { padding-bottom: 0 !important; }
.bs-page { counter-reset: schemes-card; }
.schemes-num { counter-increment: schemes-card; }
.schemes-num::before { content: counter(schemes-card); }
.schemes-body > p + p { margin-top: 12px; }

/* The frame's wing stylesheet sets the site font (Plus Jakarta Sans) on the page; the original page used boards_shared.css's font. */
.dz-page.bs-page { font-family: 'Plus Jakarta Sans', sans-serif; }
/* In the categories card the paragraph just above the table had a 20px top margin. */
.schemes-card.d2 .schemes-body > p:last-of-type:not(:first-of-type) { margin-top: 20px; }

/* the tables' heading rows: deep green with bold yellow text (as on Parks & Gardens, Joint Forest Management) */
html body .dz-page.bs-page .st-table thead th { background: #0b3d2c !important; color: #f1c40f !important; font-weight: 700 !important; }

/* the tabs: the open one stays solid green; the others get a thin green border on white */
html body .bs-page .st-tab { background: #fff; color: #1a472a; border: 1px solid #1a472a; padding: 7px 15px; }
html body .bs-page .st-tab:hover { background: #e3ece1; }
html body .bs-page .st-tab.is-on { background: #1a472a; color: #fff; }

/* thin light lines between the green heading cells, and under a group heading */
html body .dz-page.bs-page .st-table thead th { box-shadow: inset 1px 0 0 rgba(241, 196, 15, .35) !important; }
html body .dz-page.bs-page .st-table thead tr:first-child th:first-child { box-shadow: none !important; }
html body .dz-page.bs-page .st-table thead th.st-group-head { box-shadow: inset 1px 0 0 rgba(241, 196, 15, .35), inset 0 -1px 0 rgba(241, 196, 15, .35) !important; }
