/* KRSCMS Library microsite (layouts/library.blade.php) */
.kr-library-site {
	--lib-maroon: #6b1010;
	--lib-maroon-2: #8b1a1a;
	--lib-gold: #c9a84c;
	--lib-ink: #1f2430;
	--lib-text: #262b35;
	--lib-muted: #4b5260;
	--lib-soft: #f7f3ec;
	--lib-line: #e7e1d6;
	font-family: 'DM Sans', system-ui, sans-serif;
	color: var(--lib-ink);
	background: #fff;
}

/* ── Header ─────────────────────────────────────────────── */
.kr-lib-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.08); }
.kr-lib-topbar { background: var(--lib-maroon); color: #f3e6c8; font-size: 13px; }
.kr-lib-topbar .container { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; padding-bottom: 6px; }
.kr-lib-topbar a { color: #fff; text-decoration: none; font-weight: 600; }
.kr-lib-topbar a:hover { color: var(--lib-gold); }
.kr-lib-topbar i { margin-right: 6px; }

.kr-lib-bar .container { display: flex; align-items: center; gap: 24px; min-height: 78px; flex-wrap: wrap; }
.kr-lib-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--lib-ink); padding: 8px 0; }
.kr-lib-brand img { height: 54px; width: auto; }
.kr-lib-brand__text { display: flex; flex-direction: column; line-height: 1.15; border-left: 2px solid var(--lib-gold); padding-left: 12px; }
.kr-lib-brand__text strong { font-size: 20px; color: var(--lib-maroon); letter-spacing: .02em; text-transform: uppercase; }
.kr-lib-brand__text small { font-size: 12.5px; color: var(--lib-muted); }

.kr-lib-toggle { display: none; margin-left: auto; background: none; border: 1px solid var(--lib-line); border-radius: 8px; width: 42px; height: 42px; font-size: 18px; color: var(--lib-maroon); }

.kr-lib-nav { margin-left: auto; }
.kr-lib-nav > ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 2px; }
.kr-lib-nav__item { position: relative; }
.kr-lib-nav__item > a,
.kr-lib-nav__item > button {
	display: flex; align-items: center; gap: 6px;
	padding: 10px 12px; border: 0; background: none;
	font: inherit; font-size: 14.5px; font-weight: 600; color: var(--lib-ink);
	text-decoration: none; border-radius: 6px; cursor: pointer; white-space: nowrap;
}
.kr-lib-nav__item > button i { font-size: 10px; }
.kr-lib-nav__item > a:hover,
.kr-lib-nav__item > button:hover,
.kr-lib-nav__item.is-open > button { color: var(--lib-maroon); background: var(--lib-soft); }
.kr-lib-nav__item.is-active > a,
.kr-lib-nav__item.is-active > button { color: var(--lib-maroon); box-shadow: inset 0 -3px 0 var(--lib-gold); border-radius: 6px 6px 0 0; }

.kr-lib-nav__dropdown {
	position: absolute; top: 100%; left: 0; min-width: 250px;
	list-style: none; margin: 0; padding: 8px;
	background: #fff; border: 1px solid var(--lib-line); border-top: 3px solid var(--lib-maroon);
	border-radius: 0 0 10px 10px; box-shadow: 0 14px 30px rgba(0,0,0,.12);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease;
}
.kr-lib-nav__item.is-open > .kr-lib-nav__dropdown { opacity: 1; visibility: visible; transform: none; }
@media (min-width: 992px) {
	.kr-lib-nav__item.has-children:hover > .kr-lib-nav__dropdown { opacity: 1; visibility: visible; transform: none; }
}
.kr-lib-nav__dropdown a { display: block; padding: 8px 12px; border-radius: 6px; color: var(--lib-ink); text-decoration: none; font-size: 14px; }
.kr-lib-nav__dropdown a:hover,
.kr-lib-nav__dropdown a[aria-current="page"] { background: var(--lib-soft); color: var(--lib-maroon); }

@media (max-width: 991.98px) {
	.kr-lib-topbar__info { display: none; }
	.kr-lib-bar .container { gap: 8px; min-height: 66px; }
	.kr-lib-brand img { height: 42px; }
	.kr-lib-brand__text strong { font-size: 17px; }
	.kr-lib-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.kr-lib-nav { display: none; flex-basis: 100%; margin: 0 0 10px; }
	.kr-lib-nav.is-open { display: block; }
	.kr-lib-nav > ul { flex-direction: column; }
	.kr-lib-nav__item > a, .kr-lib-nav__item > button { width: 100%; justify-content: space-between; white-space: normal; text-align: left; }
	.kr-lib-nav__item.is-active > a, .kr-lib-nav__item.is-active > button { box-shadow: inset 3px 0 0 var(--lib-gold); border-radius: 0; }
	.kr-lib-nav__dropdown { position: static; display: none; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-left: 2px solid var(--lib-line); border-radius: 0; margin-left: 12px; padding: 0 0 6px 8px; min-width: 0; }
	.kr-lib-nav__item.is-open > .kr-lib-nav__dropdown { display: block; }
}

/* ── Page banner (inner pages) ──────────────────────────── */
/* Same treatment as the home hero: photo shown as uploaded (no colour tint), text kept readable with a shadow. */
.kr-lib-banner { position: relative; display: flex; align-items: flex-end; min-height: 340px; padding: 48px 0; background-size: cover; background-position: center; color: #fff; }
.kr-lib-banner .container { position: relative; }
.kr-lib-banner h1, .kr-lib-banner__crumbs { text-shadow: 0 2px 12px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.5); }
.kr-lib-banner h1 { color: #fff; font-size: clamp(28px, 4.4vw, 46px); font-weight: 800; margin: 6px 0 0; }
.kr-lib-banner__crumbs { font-size: 14px; font-weight: 600; color: #fff; display: flex; gap: 8px; }
.kr-lib-banner__crumbs a { color: #fff; text-decoration: none; }
.kr-lib-banner__crumbs a:hover { text-decoration: underline; }
@media (max-width: 767.98px) { .kr-lib-banner { min-height: 240px; padding: 32px 0; } }

/* Inner page content: header menu replaces the old sidebar */
.kr-library-site .kr-lib-page { max-width: 960px; margin: 0 auto; padding: 48px 16px 64px; }
.kr-library-site .kr-lib-page h4 { color: var(--lib-maroon); }
.kr-library-site .kr-lib-page table { background: #fff; }
.kr-library-site .kr-lib-page th { background: var(--lib-soft); }

/* ── Home: hero banner ──────────────────────────────────── */
/* No colour overlay: the photo shows as uploaded; a text shadow keeps the heading readable. */
.kr-lib-hero { position: relative; display: flex; align-items: center; min-height: 560px; padding: 80px 0; background-size: cover; background-position: center; color: #fff; }
.kr-lib-hero .container { position: relative; }
.kr-lib-hero__eyebrow, .kr-lib-hero h1, .kr-lib-hero p { text-shadow: 0 2px 12px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.5); }
.kr-lib-hero__eyebrow { display: inline-block; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #fff; font-weight: 700; }
.kr-lib-hero h1 { color: #fff; font-size: clamp(34px, 6vw, 58px); font-weight: 800; margin: 10px 0 12px; line-height: 1.05; }
.kr-lib-hero p { font-size: clamp(16px, 2vw, 19px); max-width: 600px; color: #fff; margin: 0; }
@media (max-width: 991.98px) { .kr-lib-hero { min-height: 440px; } }
@media (max-width: 767.98px) { .kr-lib-hero { min-height: 360px; padding: 56px 0; } }

/* ── Home: sections ─────────────────────────────────────── */
html:has(.kr-library-site) { scroll-behavior: smooth; }
.kr-library-site .main section[id] { scroll-margin-top: 120px; }
@media (max-width: 991.98px) { .kr-library-site .main section[id] { scroll-margin-top: 105px; } }

.kr-lib-section { position: relative; padding: 96px 0; }
.kr-lib-section--alt { background: var(--lib-soft); }
@media (max-width: 767.98px) { .kr-lib-section { padding: 64px 0; } }

/* Heading block: numbered eyebrow + title with gold underline */
.kr-lib-head { max-width: 720px; margin-bottom: 44px; }
.kr-lib-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.kr-lib-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--lib-maroon); margin-bottom: 12px; }
.kr-lib-eyebrow b { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--lib-maroon); color: var(--lib-gold); font-size: 11.5px; letter-spacing: .04em; }
.kr-lib-title { font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; color: var(--lib-ink); margin: 0; }
.kr-lib-title::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--lib-gold), #e3c97a); margin-top: 16px; }
.kr-lib-head--center .kr-lib-title::after { margin-left: auto; margin-right: auto; }

/* Library text is justified (krscms-inline.css justifies all .main p/li). Short text in banners and in the
   small Infrastructure tiles / Services boxes stays left-aligned: justifying one or two lines leaves wide gaps.
   Same :not() chain so these win on specificity while inline alignment from the editor still applies. */
.kr-library-site .main p:not(.text-center):not(.text-end):not(.text-right),
.kr-library-site .main li:not(.text-center):not(.text-end):not(.text-right) { text-align: justify; text-justify: inter-word; hyphens: auto; }
.kr-library-site .main .kr-lib-hero p:not(.text-center):not(.text-end):not(.text-right),
.kr-library-site .main .kr-lib-quote p:not(.text-center):not(.text-end):not(.text-right),
.kr-library-site .main .kr-lib-features li:not(.text-center):not(.text-end):not(.text-right),
.kr-library-site .main .kr-lib-checks li:not(.text-center):not(.text-end):not(.text-right) { text-align: left; hyphens: manual; }

/* Rich text from the CMS */
.kr-lib-prose { font-size: 16px; line-height: 1.85; color: var(--lib-text); }
.kr-lib-prose--lead p:first-child { font-size: 18.5px; line-height: 1.75; color: var(--lib-ink); }
.kr-lib-prose > :last-child { margin-bottom: 0; }
.kr-lib-prose a { color: var(--lib-maroon); font-weight: 600; }
/* The theme greys every <p> (#777); library body text is dark for readability. Dark bands set their own colours. */
.kr-lib-prose p, .kr-lib-prose li, .kr-lib-page p, .kr-lib-page li, .kr-lib-page td { color: var(--lib-text); }
/* Bold text in library content stands out in dark black (white on the dark bands, see .kr-lib-vm strong). */
.kr-library-site .main strong, .kr-library-site .main b { color: #111; font-weight: 700; }
.kr-lib-prose h4 { color: var(--lib-maroon); font-weight: 800; }
.kr-lib-prose table { width: 100%; margin-bottom: 0; border-radius: 12px; overflow: hidden; }
.kr-lib-prose th { background: var(--lib-soft); color: var(--lib-maroon); }
.kr-lib-prose ul, .kr-lib-prose ol { padding-left: 1.2rem; }
.kr-lib-prose li { margin-bottom: 6px; }

.kr-lib-card { background: #fff; border: 1px solid var(--lib-line); border-radius: 18px; padding: 32px; box-shadow: 0 10px 30px rgba(42,6,6,.05); }
.kr-lib-card__title { font-size: 20px; font-weight: 800; color: var(--lib-maroon); margin-bottom: 20px; }
.kr-lib-card__title i { color: var(--lib-gold); margin-right: 8px; }

/* 01 Introduction: quote card */
.kr-lib-quote { position: relative; overflow: hidden; border-radius: 22px; padding: 44px 36px 32px; color: #fff; background: radial-gradient(120% 90% at 100% 0%, #9b2323 0%, var(--lib-maroon) 45%, #3a0808 100%); box-shadow: 0 24px 50px rgba(107,16,16,.28); }
.kr-lib-quote::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 200px; height: 200px; border-radius: 50%; border: 28px solid rgba(201,168,76,.14); }
.kr-lib-quote > i { font-size: 34px; color: var(--lib-gold); }
.kr-lib-quote p { position: relative; font-size: clamp(21px, 2.2vw, 26px); font-weight: 700; line-height: 1.35; margin: 16px 0 28px; color: #fff; }
.kr-lib-quote__stats { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kr-lib-quote__stats div { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 14px 16px; }
.kr-library-site .main .kr-lib-quote__stats strong { display: block; font-size: 28px; font-weight: 800; color: var(--lib-gold); line-height: 1.1; }
.kr-lib-quote__stats span { font-size: 13.5px; color: #f3e6c8; }

/* Tables (At a Glance, Resources, Committee): kept as real tables, styled to match the site */
.kr-lib-tablecard { background: #fff; border: 1px solid var(--lib-line); border-radius: 18px; overflow: hidden; box-shadow: 0 10px 30px rgba(42,6,6,.05); }
.kr-lib-tablecard .table-responsive { margin: 0; }
.kr-lib-tablecard table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15.5px; }
.kr-lib-tablecard thead th { background: var(--lib-maroon); color: #fff; font-weight: 700; font-size: 13.5px; letter-spacing: .04em; text-transform: uppercase; padding: 16px 22px; border: 0; white-space: nowrap; }
.kr-lib-tablecard td, .kr-lib-tablecard tbody th { padding: 14px 22px; border: 0; border-top: 1px solid var(--lib-line); color: var(--lib-text); vertical-align: middle; background: transparent; }
.kr-lib-tablecard tbody tr:first-child td, .kr-lib-tablecard tbody tr:first-child th { border-top: 0; }
.kr-lib-tablecard tbody tr:nth-child(even) { background: #fcf9f3; }
.kr-lib-tablecard tbody tr:hover { background: var(--lib-soft); }
.kr-lib-col-sr { width: 110px; text-align: center; }
td.kr-lib-col-sr { font-weight: 700; color: var(--lib-maroon) !important; }
.kr-lib-col-num { width: 160px; text-align: right; }
td.kr-lib-col-num { font-weight: 800; font-size: 17px; color: var(--lib-ink) !important; }
.kr-lib-col-name { font-weight: 700; color: var(--lib-ink) !important; }
/* Brief Information table from the CMS: Sr. No. | Details | Information */
.kr-lib-tablecard--brief th:first-child, .kr-lib-tablecard--brief td:first-child { width: 110px; text-align: center; }
.kr-lib-tablecard--brief td:first-child { font-weight: 700; color: var(--lib-maroon); }
.kr-lib-tablecard--brief td:nth-child(2) { width: 34%; font-weight: 700; color: var(--lib-ink); }
.kr-lib-tablecard--brief td a { color: #1d4ed8; overflow-wrap: anywhere; }
.kr-lib-tablecard--brief td strong { color: #111; }
@media (max-width: 767.98px) { .kr-lib-tablecard--brief table { min-width: 620px; } }

/* Two-column "label | value" table from the CMS (At a Glance) */
.kr-lib-tablecard--kv tbody th { width: 55%; font-weight: 700; color: var(--lib-ink); background: transparent; }
.kr-lib-tablecard--kv td { font-weight: 700; color: var(--lib-maroon); }
@media (max-width: 575.98px) {
	.kr-lib-tablecard thead th, .kr-lib-tablecard td, .kr-lib-tablecard tbody th { padding: 12px 14px; font-size: 14px; }
	.kr-lib-col-sr { width: 60px; }
	.kr-lib-col-num { width: auto; }
	.kr-lib-tablecard--kv tbody th { width: auto; }
}

/* 03 Vision & mission: dark band */
.kr-lib-section--dark { background: radial-gradient(80% 120% at 0% 0%, #5a0d0d 0%, #2a0606 60%, #1d0404 100%); color: #f1e7d6; }
.kr-lib-section--dark .kr-lib-title { color: #fff; }
.kr-lib-section--dark .kr-lib-eyebrow { color: var(--lib-gold); }
.kr-lib-section--dark .kr-lib-eyebrow b { background: var(--lib-gold); color: #2a0606; }
.kr-lib-vm { height: 100%; padding: 34px 30px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: background .25s, border-color .25s, transform .25s; }
.kr-lib-vm:hover { background: rgba(255,255,255,.08); border-color: rgba(201,168,76,.5); transform: translateY(-4px); }
.kr-lib-vm__icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(135deg, var(--lib-gold), #e6cd82); color: #2a0606; font-size: 21px; margin-bottom: 18px; }
.kr-lib-vm h3 { color: #fff; font-size: 22px; font-weight: 800; margin-bottom: 12px; }
.kr-lib-vm .cms-content, .kr-lib-vm .cms-content p, .kr-lib-vm .cms-content li { color: #e9dcc6; font-size: 15.5px; line-height: 1.8; }
.kr-lib-vm .cms-content > :last-child { margin-bottom: 0; }

/* 04 Infrastructure: each list item becomes an icon tile */
.kr-lib-features ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.kr-lib-features li { position: relative; margin: 0; padding: 22px 22px 22px 76px; min-height: 84px; display: flex; align-items: center; background: #fff; border: 1px solid var(--lib-line); border-radius: 16px; font-weight: 600; color: var(--lib-ink); line-height: 1.5; transition: transform .25s, box-shadow .25s; }
.kr-lib-features li:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(107,16,16,.09); }
.kr-lib-features li::before { content: "\f19c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--lib-maroon); color: var(--lib-gold); font-size: 16px; }
.kr-lib-features li:nth-child(6n+2)::before { content: "\f02d"; }
.kr-lib-features li:nth-child(6n+3)::before { content: "\f518"; }
.kr-lib-features li:nth-child(6n+4)::before { content: "\f108"; }
.kr-lib-features li:nth-child(6n+5)::before { content: "\f0ac"; }
.kr-lib-features li:nth-child(6n+6)::before { content: "\f023"; }

/* 05 Services: two-column checklist */
.kr-lib-checks ul { list-style: none; padding: 0; margin: 0; columns: 2 340px; column-gap: 20px; }
.kr-lib-checks li { break-inside: avoid; position: relative; margin: 0 0 16px; padding: 18px 20px 18px 58px; background: #fff; border: 1px solid var(--lib-line); border-radius: 14px; line-height: 1.6; }
.kr-lib-checks li::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 18px; top: 18px; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(201,168,76,.18); color: var(--lib-maroon); font-size: 12px; }
.kr-lib-checks strong { color: #111; }

/* 07 Timings & rules */
.kr-lib-hours { border-radius: 20px; padding: 30px 28px; color: #fff; background: linear-gradient(160deg, var(--lib-maroon) 0%, #3a0808 100%); box-shadow: 0 20px 44px rgba(107,16,16,.25); }
.kr-lib-hours h3 { color: #fff; font-size: 20px; font-weight: 800; margin-bottom: 18px; }
.kr-lib-hours h3 i { color: var(--lib-gold); margin-right: 8px; }
.kr-lib-hours ul { list-style: none; margin: 0; padding: 0; }
.kr-lib-hours li { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: 14.5px; line-height: 1.6; color: #f3e6c8; }
.kr-lib-hours li:first-child { border-top: 0; padding-top: 0; }
.kr-lib-rules { list-style: none; counter-reset: rule; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 28px; }
.kr-lib-rules li { counter-increment: rule; position: relative; padding: 10px 0 10px 46px; line-height: 1.65; font-size: 15px; color: var(--lib-text); border-bottom: 1px dashed var(--lib-line); }
.kr-lib-rules li::before { content: counter(rule); position: absolute; left: 0; top: 10px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--lib-soft); border: 1px solid rgba(201,168,76,.6); color: var(--lib-maroon); font-size: 13px; font-weight: 800; }
@media (max-width: 767.98px) { .kr-lib-rules { grid-template-columns: 1fr; } .kr-lib-card { padding: 24px 20px; } }

/* ── E-Resources page ───────────────────────────────────── */
/* Link tables: long URLs wrap instead of stretching the table */
.kr-lib-linktable { table-layout: fixed; }
.kr-lib-linktable .kr-lib-col-name { width: 38%; }
.kr-lib-col-url { overflow-wrap: anywhere; font-size: 14.5px; }
.kr-lib-col-url a { color: #1d4ed8; text-decoration: none; }
.kr-lib-col-url a:hover { color: var(--lib-maroon); text-decoration: underline; }
.kr-lib-badge { display: inline-block; margin-left: 6px; font-style: normal; font-weight: 700; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: rgba(201,168,76,.2); color: #7a5a0c; white-space: nowrap; }
@media (max-width: 767.98px) {
	.kr-lib-linktable { table-layout: auto; min-width: 560px; }
	.kr-lib-linktable .kr-lib-col-name { width: auto; }
}

.kr-lib-more-details { margin-top: 10px; }
.kr-lib-more-details summary { cursor: pointer; color: var(--lib-gold); font-weight: 700; font-size: 14px; list-style: none; }
.kr-lib-more-details summary::-webkit-details-marker { display: none; }
.kr-lib-more-details summary::after { content: " \2192"; }
.kr-lib-more-details[open] summary::after { content: " \2191"; }
.kr-lib-more-details[open] summary { margin-bottom: 10px; }
.kr-library-site .main .kr-lib-vm strong { color: #fff; }

.kr-lib-subjects { display: grid; gap: 14px; }
.kr-lib-subject { background: #fff; border: 1px solid var(--lib-line); border-radius: 16px; overflow: hidden; }
.kr-lib-subject summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; cursor: pointer; list-style: none; font-weight: 700; color: var(--lib-ink); }
.kr-lib-subject summary::-webkit-details-marker { display: none; }
.kr-lib-subject summary > span { flex: 1; }
.kr-lib-subject summary small { flex-shrink: 0; padding: 3px 10px; border-radius: 999px; background: var(--lib-soft); color: var(--lib-maroon); font-size: 12px; font-weight: 700; }
.kr-lib-subject summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; color: var(--lib-maroon); transition: transform .2s; }
.kr-lib-subject[open] summary::after { transform: rotate(180deg); }
.kr-lib-subject[open] summary { border-bottom: 1px solid var(--lib-line); }
/* Tables inside the collapsible subject rows: lighter header than the main tables */
.kr-lib-subject table { width: 100%; margin: 0; font-size: 15px; }
.kr-lib-subject thead th { background: var(--lib-soft); color: var(--lib-maroon); font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; padding: 12px 20px; border: 0; }
.kr-lib-subject td { padding: 12px 20px; border: 0; border-top: 1px solid var(--lib-line); color: var(--lib-text); vertical-align: middle; background: transparent; }

/* Inner pages: CMS tables (journals, events) */
.kr-library-site .kr-lib-page table { width: 100%; border-radius: 12px; overflow: hidden; margin-bottom: 10px; }
.kr-library-site .kr-lib-page h4 { margin-top: 32px; }
.kr-library-site .kr-lib-page h4:first-child { margin-top: 0; }

/* Scroll reveal (JS adds .kr-reveal-ready; without JS everything is visible) */
.kr-reveal-ready .kr-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.kr-reveal-ready .kr-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .kr-reveal-ready .kr-reveal { opacity: 1; transform: none; transition: none; } }

/* ── Footer ─────────────────────────────────────────────── */
.kr-lib-footer { background: #2a0606; color: #e9dcc6; padding: 56px 0 0; font-size: 14.5px; }
.kr-lib-footer h3 { color: var(--lib-gold); font-size: 17px; font-weight: 800; margin-bottom: 14px; }
.kr-lib-footer ul { list-style: none; padding: 0; margin: 0; }
.kr-lib-footer li { margin-bottom: 8px; }
.kr-lib-footer a { color: #f6ece0; text-decoration: none; }
.kr-lib-footer a:hover { color: var(--lib-gold); }
.kr-lib-footer i { margin-right: 6px; }
.kr-lib-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 36px; padding: 18px 0; text-align: center; font-size: 13px; color: #bfae92; }
