/* =============================================================
   Inner public pages (news / faq / contact / …) — design-system polish.
   Brings buttons, cards, forms, badges and type onto the teal + gold system.
   ============================================================= */
:root {
    --ip-t900:#04302a; --ip-t700:#054239; --ip-t600:#0a5d50; --ip-t500:#428177;
    --ip-gold:#b9a779; --ip-gold2:#d4af37;
    --ip-ink:#15241f; --ip-muted:#6b7a76; --ip-line:#e7efec; --ip-tint:#f4f8f7;
    --ip-sh:0 8px 24px rgba(4,48,42,.07); --ip-sh-lg:0 18px 40px rgba(4,48,42,.13);
    --ip-ease:cubic-bezier(.4,0,.2,1);
}

/* ── Buttons ───────────────────────────────────────────── */
.btn-government-green, .btn-modern, .btn-success,
.search-box .btn, .news-section .btn {
    background: linear-gradient(135deg, var(--ip-t600), var(--ip-t500)) !important;
    border: none !important; color:#fff !important;
    border-radius: 11px !important; font-weight: 600 !important;
    transition: transform .22s var(--ip-ease), box-shadow .22s var(--ip-ease), filter .22s !important;
}
.btn-government-green:hover, .btn-modern:hover, .btn-success:hover {
    filter: brightness(1.07); transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(10,93,80,.28) !important; color:#fff !important;
}
.btn-primary { background: var(--ip-t700) !important; border-color: var(--ip-t700) !important; border-radius: 11px !important; font-weight:600 !important; }
.btn-primary:hover { background: var(--ip-t900) !important; }
.btn-outline-primary, .btn-outline-secondary { border-radius: 11px !important; font-weight:600 !important; }
.btn-outline-primary { color: var(--ip-t700) !important; border-color: var(--ip-t700) !important; }
.btn-outline-primary:hover { background: var(--ip-t700) !important; border-color: var(--ip-t700) !important; color:#fff !important; }
.text-government-green, .text-success { color: var(--ip-t700) !important; }

/* ── Cards ─────────────────────────────────────────────── */
.news-card, .news-card-modern, .stat-card, .info-card,
.faq-card, .faq-item, .faq-category-card,
.contact-info-card, .contact-card, .help-card, .ask-card,
.no-results-card, .empty-state {
    border: 1px solid var(--ip-line) !important;
    border-radius: 18px !important;
    box-shadow: var(--ip-sh) !important;
    transition: transform .3s var(--ip-ease), box-shadow .3s var(--ip-ease) !important;
}
.news-card:hover, .news-card-modern:hover, .stat-card:hover,
.faq-item:hover, .faq-card:hover, .contact-card:hover {
    transform: translateY(-5px); box-shadow: var(--ip-sh-lg) !important; border-color: transparent !important;
}

/* ── Forms ─────────────────────────────────────────────── */
.form-control, .form-select, textarea.form-control {
    border-radius: 11px !important;
    border: 1px solid var(--ip-line) !important;
    padding: .72rem .95rem !important;
    font-size: .98rem !important;
    transition: border-color .2s var(--ip-ease), box-shadow .2s var(--ip-ease) !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--ip-t500) !important;
    box-shadow: 0 0 0 .2rem rgba(10,93,80,.14) !important;
}
.form-label, label { font-weight: 600 !important; color: var(--ip-ink) !important; }

/* ── Badges ────────────────────────────────────────────── */
.badge.bg-success, .badge.bg-primary, .news-badge {
    background: var(--ip-t600) !important; color:#fff !important; border-radius: 999px !important; font-weight:600 !important;
}

/* ── FAQ stat cards — clean horizontal cards, one teal badge ─────
   (override the clashing coloured Bootstrap icons) */
.faq-stats-section .stat-card {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    background: #fff !important;
    border: 1px solid var(--ip-line) !important;
    border-radius: 16px !important;
    padding: 1.15rem 1.25rem !important;
    box-shadow: var(--ip-sh) !important;
    text-align: start !important;
}
.faq-stats-section .stat-card .stat-icon {
    flex-shrink: 0 !important;
    width: 52px !important; height: 52px !important;
    min-width: 52px !important;
    border-radius: 14px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: linear-gradient(135deg, var(--ip-t600), var(--ip-t500)) !important;
    box-shadow: 0 8px 18px rgba(10, 93, 80, .22) !important;
    margin: 0 !important; line-height: 1 !important;
}
.faq-stats-section .stat-card .stat-icon i {
    color: #fff !important;             /* kill text-primary/success/warning/info */
    font-size: 1.25rem !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.faq-stats-section .stat-card .stat-number { color: var(--ip-t700) !important; font-weight: 800 !important; font-size: 1.7rem !important; margin: 0 !important; line-height: 1.1 !important; }
.faq-stats-section .stat-card .stat-label,
.faq-stats-section .stat-card label,
.faq-stats-section .stat-card small { color: var(--ip-muted) !important; font-size: .9rem !important; }

.stat-number, .stat-card h2, .stat-card .number { color: var(--ip-t700) !important; font-weight: 800 !important; }

/* ── Section titles + gold accent ──────────────────────── */
.section-title, .section-header h2, .news-section-title {
    color: var(--ip-t700) !important; font-weight: 800 !important;
    font-size: clamp(1.5rem, 2.3vw, 2.05rem) !important;
}
.section-description, .section-subtitle { color: var(--ip-muted) !important; font-size: 1.04rem !important; }

/* ── Type scale normalisation (the fonts felt uneven) ──── */
.about-page .page-header p, .page-header p, .news-page-subtitle,
.faq-page-subtitle, .contact-hero p { font-size: 1.1rem !important; }
h1 { line-height: 1.25; }
h2, h3, h4, h5 { line-height: 1.35; }
p { line-height: 1.8; }
