/*
 * Readable text for wisebooks.in (loaded after the theme's styles.css).
 * The theme sets body text at 14px in a pale blue-grey (#5a6a85) and uses 12-14px for most descriptions.
 * Comparable sites read at 16-18px in near-black (ClearTax articles ~18px, IndiaFilings / Zauba 15-16px),
 * so: 16px body, darker text, larger small sizes, and an 18px reading size for blog articles.
 */
:root {
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.65;
    --bs-body-color: #2f394d;
    --bs-secondary-color: #4f5a70;
}
body { font-size: 1rem; line-height: 1.65; color: #2f394d; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Utility sizes used across pages for descriptions and captions */
.fs-1 { font-size: .8125rem !important; }   /* was 10px */
.fs-2 { font-size: .875rem !important; }    /* was 12px */
.fs-3 { font-size: .975rem !important; }    /* was 14px */
.text-muted, .text-body-secondary { color: #556078 !important; }   /* was #7c8fac: too light to read comfortably */
p { overflow-wrap: break-word; }
small, .small { font-size: .9em; }

/* Forms and buttons: 16px inputs also stop phones zooming in when a field is tapped */
.form-control, .form-select { font-size: 1rem; }
.btn { font-size: .975rem; }
.btn-sm { font-size: .9rem; }
.form-label { font-size: .95rem; color: #2f394d; }

/* Blog articles: long-form reading size and rhythm */
.blog-content { font-size: 1.125rem; line-height: 1.8; color: #1f2737; max-width: 72ch; }
.blog-content p, .blog-content li { font-size: inherit; line-height: inherit; color: inherit; }
.blog-content p { margin-bottom: 1.15em; }
.blog-content li { margin-bottom: .45em; }
.blog-content h2 { font-size: 1.6rem; line-height: 1.3; margin: 2rem 0 .8rem; color: #141b2b; font-weight: 700; }
.blog-content h3 { font-size: 1.3rem; line-height: 1.35; margin: 1.6rem 0 .6rem; color: #141b2b; font-weight: 700; }
.blog-content h4 { font-size: 1.12rem; margin: 1.3rem 0 .5rem; color: #141b2b; font-weight: 700; }
.blog-content a { text-decoration: underline; text-underline-offset: 2px; }
.blog-content table { font-size: 1rem; width: 100%; margin: 1.2rem 0; border-collapse: collapse; }
.blog-content th, .blog-content td { padding: .6rem .75rem; border: 1px solid #e3e8f0; vertical-align: top; }
.blog-content th { background: #f6f8fc; color: #141b2b; font-weight: 600; }
.blog-content blockquote { border-left: 4px solid var(--bs-primary); padding: .4rem 0 .4rem 1rem; color: #2f394d; font-style: normal; }
.blog-content code { font-size: .92em; }
@media (max-width: 575.98px) {
    .blog-content { font-size: 1.0625rem; line-height: 1.75; }
    .blog-content h2 { font-size: 1.4rem; }
    .blog-content h3 { font-size: 1.2rem; }
}

/* Tables on content pages */
.table { font-size: .975rem; color: #232b3b; }
