/*
 * Open Budget Kenya – shared styles for text-only pages.
 * Use for Privacy Policy, Sources, Terms of Use and future editorial pages.
 * Requires Bootstrap 5 for the surrounding site layout.
 */

:root {
    --obk-green: #087F5B;
    --obk-green-dark: #056044;
    --obk-navy: #12344D;
    --obk-gold: #D99A2B;
    --obk-bg: #F7F8F3;
    --obk-text: #263238;
    --obk-muted: #667085;
    --obk-border: #DDE7E2;
    --obk-content-width: 900px;
}

.obk-text-page {
    min-height: 70vh;
    padding: 3rem 1rem 4rem;
    background: var(--obk-bg);
    color: var(--obk-text);
}

.obk-text-page__container {
    width: 100%;
    max-width: var(--obk-content-width);
    margin: 0 auto;
}

.obk-text-page__header {
    margin-bottom: 1.5rem;
    padding: clamp(2rem, 5vw, 3.5rem);
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, var(--obk-green), var(--obk-green-dark), var(--obk-navy));
}

.obk-text-page__eyebrow {
    display: inline-block;
    margin-bottom: .75rem;
    color: rgba(255, 255, 255, .82);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.obk-text-page__title {
    margin: 0 0 .75rem;
    font-size: clamp(2rem, 5vw, 2.8rem);
    font-weight: 750;
    line-height: 1.15;
}

.obk-text-page__intro {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: 1.05rem;
    line-height: 1.7;
}

.obk-text-page__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
    margin-top: 1.25rem;
    color: rgba(255, 255, 255, .82);
    font-size: .875rem;
}

.obk-text-page__content {
    padding: clamp(1.5rem, 4vw, 3rem);
    overflow-wrap: anywhere;
    border: 1px solid var(--obk-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(18, 52, 77, .045);
    font-size: 1rem;
    line-height: 1.8;
}

.obk-text-page__content > :first-child {
    margin-top: 0;
}

.obk-text-page__content h2 {
    margin: 2.25rem 0 .85rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--obk-border);
    color: var(--obk-navy);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.35;
}

.obk-text-page__content h3 {
    margin: 1.5rem 0 .5rem;
    color: var(--obk-green-dark);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.45;
}

.obk-text-page__content p {
    margin: 0 0 1rem;
}

.obk-text-page__content ul,
.obk-text-page__content ol {
    margin: .5rem 0 1.25rem;
    padding-left: 1.5rem;
}

.obk-text-page__content li {
    margin-bottom: .45rem;
    padding-left: .2rem;
}

.obk-text-page__content a {
    color: var(--obk-green-dark);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}

.obk-text-page__content a:hover {
    color: var(--obk-navy);
}

.obk-text-page__content strong {
    color: var(--obk-navy);
}

.obk-text-page__content blockquote {
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--obk-green);
    border-radius: 0 8px 8px 0;
    background: #F1F7F4;
}

.obk-text-page__content hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid var(--obk-border);
}

.obk-text-page__footer {
    margin-top: 1.5rem;
    color: var(--obk-muted);
    font-size: .875rem;
    text-align: center;
}

@media (max-width: 576px) {
    .obk-text-page {
        padding: 1.5rem .75rem 2.5rem;
    }

    .obk-text-page__header {
        margin-bottom: 1rem;
        border-radius: 12px;
    }

    .obk-text-page__content {
        padding: 1.25rem;
        border-radius: 12px;
        font-size: .96rem;
    }

    .obk-text-page__content h2 {
        margin-top: 1.8rem;
        font-size: 1.22rem;
    }
}




