/* EFI Archive v0.1.0: loaded only on /archive/ routes. Every selector is prefixed .efia-. */
.efia-root {
	--efia-navy: #171754;
	--efia-green: #6EB797;
	--efia-purple: #4F4FAA;
	--efia-sky: #A6E2F7;
	--efia-mist: #EDF0F7;
	--efia-text: #4B4F58;
	--efia-group-band: #E4F6FD; /* 0.2.3: group-heading band, the site sky #A6E2F7 at ~30% on white */
	--efia-link-green: #2A7552; /* 0.4.1: green for text (links, button hover); 5.58:1 on white, 4.89:1 on mist. #6EB797 stays for fills and borders */
	--efia-radius: 8px;
	width: 100%;
	color: var(--efia-text);
}
.efia-root *, .efia-root *::before, .efia-root *::after { box-sizing: border-box; }
.efia-wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.efia-preview { background: #fff7d6; color: #5a4a00; text-align: center; font-size: 14px; padding: 8px 16px; border-bottom: 1px solid #e8d48a; }

/* Header band */
.efia-band { background: var(--efia-purple); color: #fff; padding: 36px 0 84px; text-align: center; }
.efia-band .efia-title { color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin: 8px 0 10px; }
.efia-kicker { margin: 6px 0 0; font-weight: 700; letter-spacing: .02em; color: var(--efia-sky); }
.efia-sub { margin: 0 auto; max-width: 760px; color: #fff; opacity: .92; font-size: 17px; }
.efia-rule { display: block; width: 64px; height: 3px; background: var(--efia-green); margin: 18px auto 0; border-radius: 2px; }
.efia-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; font-size: 13px; }
.efia-crumbs li + li::before { content: "›"; margin-right: 6px; opacity: .7; }
.efia-root .efia-crumbs a, .efia-root .efia-crumbs span { color: #fff; opacity: .88; text-decoration: none; }
.efia-crumbs a:hover, .efia-crumbs a:focus { text-decoration: underline; opacity: 1; }

/* Content card overlapping the band */
.efia-card-wrap { background: #fff; border-radius: 34px; margin-top: -56px; padding-top: 32px; padding-bottom: 48px; position: relative; box-shadow: 0 2px 16px rgba(23, 23, 84, .08); }
.efia-section { margin-top: 36px; }
.efia-root h2 { color: var(--efia-navy); font-size: 26px; margin: 0 0 14px; }
.efia-root h3 { color: var(--efia-navy); font-size: 18px; margin: 0 0 8px; }
.efia-prose p, .efia-prose li, .efia-prose dd { font-size: 17px; line-height: 1.65; }
.efia-prose { max-width: 820px; overflow-wrap: anywhere; }
.efia-meta td, .efia-box, .efia-card { overflow-wrap: anywhere; }
.efia-lede { font-size: 18px !important; }
.efia-note { background: var(--efia-mist); border-left: 4px solid var(--efia-purple); padding: 10px 14px; border-radius: 4px; font-size: 15px !important; }
.efia-muted { color: #62666E; }
.efia-small { font-size: 14px; line-height: 1.55; }
.efia-root a { color: var(--efia-purple); }
.efia-root code { font-size: 13px; background: var(--efia-mist); padding: 1px 4px; border-radius: 3px; word-break: break-all; }

/* Buttons (live-site pill style) */
.efia-btn { display: inline-block; background: var(--efia-green); color: var(--efia-navy) !important; border: 2px solid var(--efia-navy); border-radius: 50px; box-shadow: 2px 2px 0 var(--efia-navy); padding: 10px 22px; font-weight: 700; font-style: italic; text-decoration: none !important; line-height: 1.3; transition: background .15s, color .15s; }
.efia-btn:hover, .efia-btn:focus { background: #fff; color: var(--efia-link-green) !important; }
.efia-btn--ghost { background: #fff; }
.efia-btn--ghost:hover, .efia-btn--ghost:focus { background: var(--efia-green); color: var(--efia-navy) !important; }
.efia-btn--block { display: block; text-align: center; margin: 0 0 10px; }
.efia-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 8px 0 0; }
.efia-link { font-weight: 700; text-decoration: none; color: var(--efia-link-green) !important; }
.efia-link:hover { text-decoration: underline; }

/* Landing */
.efia-stats { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.efia-stats li { background: var(--efia-mist); border-radius: var(--efia-radius); padding: 14px; text-align: center; font-size: 15px; margin: 0; }
.efia-stats strong { display: block; color: var(--efia-navy); font-size: 24px; }
.efia-cards { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 18px; }
.efia-card { border: 1px solid var(--efia-green); border-radius: var(--efia-radius); padding: 18px 20px; background: #fff; }
.efia-card p { font-size: 15px; line-height: 1.6; }
.efia-card h3 a { color: var(--efia-navy); text-decoration: none; }
.efia-card--soon { border-style: dashed; border-color: #b9bdd0; background: #fafbfd; }
.efia-howto dt { font-weight: 700; color: var(--efia-navy); margin-top: 10px; }
.efia-howto dd { margin: 2px 0 0; }

/* Badges */
.efia-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 20px; background: var(--efia-mist); color: var(--efia-navy); margin: 0 4px 4px 0; line-height: 1.5; }
.efia-badge--live { background: #e3f3eb; color: #1f6b47; }
.efia-badge--purple { background: #e6e6f6; color: var(--efia-purple); }
.efia-badge--warn { background: #fff1c9; color: #6b5200; }

/* Year index */
.efia-intro p { font-size: 16px; }
.efia-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 8px; font-size: 14px; }
.efia-jump a { border: 1px solid var(--efia-navy); border-radius: 20px; padding: 3px 12px; text-decoration: none; color: var(--efia-navy) !important; }
.efia-jump a:hover, .efia-jump a:focus { background: var(--efia-navy); color: #fff !important; }
.efia-decade { margin-top: 28px; scroll-margin-top: 100px; }
.efia-decade h2 small { font-size: 14px; color: #62666E; font-weight: 400; }
.efia-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.efia-tile { margin: 0; }
.efia-tile a { display: flex; flex-direction: column; gap: 2px; height: 100%; border: 1px solid #cfd3e3; border-radius: var(--efia-radius); padding: 10px 12px; text-decoration: none; color: var(--efia-text) !important; background: #fff; transition: border-color .15s, box-shadow .15s; }
.efia-tile a:hover, .efia-tile a:focus { border-color: var(--efia-green); box-shadow: 0 2px 8px rgba(23, 23, 84, .12); }
.efia-tile__head { display: flex; justify-content: space-between; align-items: baseline; }
.efia-tile__year { color: var(--efia-navy); font-size: 20px; font-weight: 800; }
.efia-tile__vol { font-size: 12px; color: #62666E; }
.efia-tile__city { font-size: 13px; line-height: 1.3; }
.efia-tile__meta { font-size: 12px; color: #62666E; }
.efia-tile__badges { margin-top: 6px; }
.efia-tile--pending a { background: #fffbea; border-color: #e8d48a; }
.efia-tile--special a { border-color: var(--efia-purple); }

/* Volume and item pages. Scoped to .efia-root: <body> carries route classes, and in 0.1.x the
   body class "efia-volume" matched this grid rule, which squeezed the whole page to the left. */
.efia-root .efia-volume { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.efia-box { border: 1px solid #cfd3e3; border-radius: 14px; padding: 18px; margin-bottom: 18px; background: #fff; }
.efia-box--pending { background: #fffbea; border-color: #e8d48a; }
.efia-box h2 { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; }
.efia-box h3 { font-size: 14px; margin: 14px 0 6px; }
.efia-dl-extra { display: block; margin: 4px 0 8px; font-size: 14px; }
.efia-facts { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; margin: 10px 0 0; font-size: 14px; }
.efia-facts dt { color: #62666E; }
.efia-facts dd { margin: 0; text-align: right; color: var(--efia-navy); font-weight: 700; }
.efia-hash { margin: 0 0 8px; font-size: 12px; line-height: 1.4; }
.efia-hash span { display: block; color: #62666E; }
.efia-hash code { display: block; font-size: 11px; }
.efia-cite { border-top: 1px solid var(--efia-mist); padding-top: 10px; margin-top: 10px; }
.efia-cite__text { font-size: 14px; line-height: 1.5; background: var(--efia-mist); padding: 10px; border-radius: 6px; margin: 0 0 6px; overflow-wrap: anywhere; }
.efia-copy { font-size: 13px; border: 1px solid var(--efia-navy); background: #fff; color: var(--efia-navy); border-radius: 20px; padding: 2px 12px; cursor: pointer; }
.efia-copy:hover, .efia-copy:focus { background: var(--efia-navy); color: #fff; }
.efia-meta { width: 100%; border-collapse: collapse; font-size: 15px; }
.efia-meta th, .efia-meta td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--efia-mist); }
.efia-meta th { width: 34%; color: var(--efia-navy); font-weight: 700; }
.efia-rights p { font-size: 16px; }
.efia-rights > strong { display: block; margin-bottom: 2px; }
.efia-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 36px; }
.efia-prevnext a { border: 1px solid #cfd3e3; border-radius: var(--efia-radius); padding: 12px 14px; text-decoration: none; color: var(--efia-navy) !important; }
.efia-prevnext a:hover, .efia-prevnext a:focus { border-color: var(--efia-green); }
.efia-prevnext small { display: block; color: #62666E; }
.efia-prevnext span { font-weight: 800; }
.efia-prevnext__next { text-align: right; grid-column: 2; }

/* About */
.efia-toc { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; margin-bottom: 18px; }
.efia-root .efia-about h2 { margin-top: 34px; scroll-margin-top: 100px; }

/* Responsive */
@media (max-width: 1024px) {
	.efia-tiles { grid-template-columns: repeat(4, 1fr); }
	.efia-root .efia-volume { grid-template-columns: 1fr; }
	.efia-cards { grid-template-columns: 1fr 1fr; }
	.efia-card--live { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.efia-band { padding: 24px 0 72px; }
	.efia-card-wrap { border-radius: 22px; padding-top: 22px; }
	.efia-stats { grid-template-columns: 1fr 1fr; }
	.efia-tiles { grid-template-columns: 1fr 1fr; }
	.efia-cards { grid-template-columns: 1fr; }
	.efia-meta th { width: 40%; }
	.efia-prose p, .efia-prose li, .efia-prose dd { font-size: 16px; }
}
@media print {
	.efia-band { background: none; color: #000; padding: 0; }
	.efia-band .efia-title, .efia-sub, .efia-crumbs a, .efia-crumbs span { color: #000; }
	.efia-card-wrap { box-shadow: none; margin: 0; }
	.efia-copy, .efia-preview { display: none; }
}

/* 0.2.0: series groups on the landing page, series listings, item pages, licenses. */
.efia-group { margin-bottom: 18px; }
.efia-group h3 { margin: 4px 0 2px; }
.efia-group__sum { color: #555a66; margin-bottom: 10px; }
/* 0.2.2: the series groups sit in a 2-column grid of whole group blocks, 1 column below 720px. Grid items
   never split, so a group heading cannot be left at the foot of a column (no CSS multi-column).
   The template adds efia-subgroups--rows-N (N = half the groups, rounded up), so the groups fill
   column 1 and then column 2 in reading order: NEA = Proceedings + Journals | Departments + Commissions
   (11 and 13 series; measured shorter and better balanced than filling row by row). Same grid on both
   cards. Without a rows class (more than 12 groups) the grid simply fills row by row. */
.efia-root .efia-subgroups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 40px; align-items: start; }
.efia-root .efia-subgroups--rows-1 { grid-auto-flow: column; grid-template-rows: auto; }
.efia-root .efia-subgroups--rows-2 { grid-auto-flow: column; grid-template-rows: repeat(2, auto); }
.efia-root .efia-subgroups--rows-3 { grid-auto-flow: column; grid-template-rows: repeat(3, auto); }
.efia-root .efia-subgroups--rows-4 { grid-auto-flow: column; grid-template-rows: repeat(4, auto); }
.efia-root .efia-subgroups--rows-5 { grid-auto-flow: column; grid-template-rows: repeat(5, auto); }
.efia-root .efia-subgroups--rows-6 { grid-auto-flow: column; grid-template-rows: repeat(6, auto); }
.efia-root .efia-subgroup { min-width: 0; break-inside: avoid; }
@media (max-width: 719px) {
	.efia-root .efia-subgroups,
	.efia-root .efia-subgroups[class*="efia-subgroups--rows-"] { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; gap: 0; }
}
/* 0.2.3: group headings outrank the bold series links under them: navy 800 on a pale sky band (full column
   width, not a pill, so it cannot be read as a badge; distinct from the yellow license and green Online-now chips). */
.efia-root .efia-subgroup h4 { font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--efia-navy); text-transform: uppercase; letter-spacing: .04em; margin: 16px 0 4px; padding: 8px 12px; background: var(--efia-group-band); border-radius: 6px; }
.efia-serieslist { list-style: none; margin: 0 0 8px; padding: 0; }
.efia-serieslist li { margin: 0; padding: 6px 0; border-bottom: 1px solid #eceef4; font-size: 15px; line-height: 1.45; }
.efia-serieslist li:last-child { border-bottom: 0; }
.efia-serieslist a { font-weight: 700; color: var(--efia-navy) !important; }
.efia-serieslist__meta { display: block; font-size: 13px; color: #62666E; }
.efia-serieslist .efia-badge { margin: 4px 0 0; }
.efia-year { margin-top: 26px; scroll-margin-top: 90px; }
.efia-year h2 { font-size: 22px; border-bottom: 2px solid var(--efia-green); padding-bottom: 4px; margin-bottom: 6px; }
.efia-year h2 small { font-size: 14px; font-weight: 400; color: #62666E; }
.efia-rows { list-style: none; margin: 0; padding: 0; }
.efia-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; margin: 0; padding: 8px 0; border-bottom: 1px solid #eceef4; }
.efia-row__title { flex: 1 1 320px; font-weight: 600; color: var(--efia-navy) !important; }
.efia-row__meta { flex: 0 1 auto; font-size: 13px; color: #62666E; }
.efia-row__meta .efia-badge { margin: 0 0 0 4px; }
.efia-license-note { background: #fffbea; border-left: 4px solid #e8d48a; padding: 10px 14px; }
.efia-license, .efia-attribution { margin: 0 0 10px; }
.efia-attribution { background: #f5f6fa; border-left: 4px solid var(--efia-navy); padding: 10px 14px; font-size: 15px; }
.efia-research { margin: 6px 0 12px; font-size: 15px; }
.efia-research summary { cursor: pointer; color: var(--efia-navy); font-weight: 600; }
.efia-research p { margin: 6px 0 0; color: #444; }
.efia-alt-links { margin: 0 0 8px 1.2em; }
@media (max-width: 640px) {
	.efia-row__title { flex-basis: 100%; }
	.efia-row__meta .efia-badge { margin: 4px 4px 0 0; }
	.efia-year h2 { font-size: 20px; }
}

/* 0.3.0: search. The bar in the header band of every archive page except the search page, and the
   search page itself (form, advanced filters, results, pager). Everything is scoped under .efia-root;
   buttons and inputs set their own colors and borders so theme form styles cannot restyle them. */
.efia-root .efia-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.efia-root .efia-searchbar { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 10px; max-width: 620px; margin: 18px auto 0; }
.efia-root .efia-searchbar__input, .efia-root .efia-sform__input { flex: 1 1 240px; min-width: 0; height: 46px; margin: 0; padding: 0 16px; font-size: 16px; line-height: 1.2; color: var(--efia-navy); background: #fff; border: 2px solid var(--efia-navy); border-radius: 50px; box-shadow: none; }
.efia-root .efia-searchbar__input:focus, .efia-root .efia-sform__input:focus, .efia-root .efia-sform__year:focus, .efia-root .efia-sform__select:focus { outline: 3px solid var(--efia-sky); outline-offset: 1px; }
.efia-root .efia-searchbar__input::placeholder, .efia-root .efia-sform__input::placeholder { color: #62666E; opacity: 1; }
.efia-root button.efia-btn { height: 46px; margin: 0; padding: 0 24px; font-family: inherit; font-size: 16px; cursor: pointer; text-transform: none; letter-spacing: normal; }
.efia-root .efia-searchbar__adv { flex-basis: 100%; font-size: 14px; color: #fff !important; opacity: .9; text-decoration: underline; }
.efia-root .efia-searchbar__adv:hover, .efia-root .efia-searchbar__adv:focus { opacity: 1; }
.efia-root .efia-sform { max-width: none; } /* 0.3.1: keyword row and Advanced panel fill the card, like the results */
.efia-root .efia-sform__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.efia-root .efia-sform__label { flex-basis: 100%; font-weight: 700; color: var(--efia-navy); }
.efia-root .efia-sform__hint { margin: 8px 0 0; }
.efia-root .efia-adv { margin-top: 16px; border: 1px solid #cfd3e3; border-radius: 14px; background: #fff; }
.efia-root .efia-adv > summary { cursor: pointer; padding: 12px 18px; font-weight: 700; color: var(--efia-navy); }
.efia-root .efia-adv > summary .efia-badge { margin: 0 0 0 6px; }
.efia-root .efia-adv[open] > summary { border-bottom: 1px solid var(--efia-mist); }
.efia-root .efia-adv__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(230px, calc((100% - 56px) / 3)), 1fr)); gap: 6px 28px; padding: 6px 18px 0; } /* 0.3.1: at most 3 columns, each at least 230px (2 in a narrow card) */
.efia-root .efia-adv__set { min-width: 0; margin: 0; padding: 10px 0 0; border: 0; }
.efia-root .efia-adv__set--wide { grid-column: 1 / -1; }
.efia-root .efia-adv__set legend { padding: 0; margin-bottom: 6px; font-size: 15px; font-weight: 700; color: var(--efia-navy); }
.efia-root .efia-adv__more > summary { cursor: pointer; width: fit-content; font-size: 15px; font-weight: 600; color: var(--efia-navy); text-decoration: underline; text-underline-offset: 3px; }
.efia-root .efia-adv__more[open] > summary { margin-bottom: 4px; }
.efia-root .efia-adv__org { margin: 8px 0 2px; font-size: 13px; font-weight: 700; color: #62666E; text-transform: uppercase; letter-spacing: .04em; }
.efia-root .efia-checks { list-style: none; margin: 0; padding: 0; }
.efia-root .efia-checks li { margin: 0; padding: 3px 0; font-size: 15px; line-height: 1.4; }
.efia-root .efia-checks input { margin: 0 4px 0 0; vertical-align: -1px; }
.efia-root .efia-checks--cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.efia-root .efia-years { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.efia-root .efia-sform__year, .efia-root .efia-sform__select { height: 40px; margin: 0; padding: 0 10px; font-size: 15px; color: var(--efia-navy); background: #fff; border: 1px solid #9ea3b8; border-radius: 6px; box-shadow: none; }
.efia-root .efia-sform__year { width: 96px; min-width: 64px; flex: 0 1 96px; }
.efia-root .efia-sform__select { width: 100%; max-width: 280px; }
.efia-root .efia-adv__actions { display: flex; align-items: center; gap: 18px; padding: 16px 18px 18px; }
.efia-root .efia-sres h2 { font-size: 22px; }
.efia-root .efia-sres__q { color: var(--efia-purple); }
.efia-root .efia-sres__meta { margin: 0 0 8px; }
.efia-root .efia-tips li { font-size: 16px; line-height: 1.6; }
.efia-root .efia-results { list-style: none; margin: 0; padding: 0; }
.efia-root .efia-result { margin: 0; padding: 10px 0; border-bottom: 1px solid #eceef4; }
.efia-root .efia-result__title { font-size: 17px; font-weight: 700; color: var(--efia-navy) !important; }
.efia-root .efia-result__meta { display: block; margin-top: 2px; font-size: 14px; color: #62666E; }
.efia-root .efia-result .efia-badge { margin: 6px 4px 0 0; }
.efia-root .efia-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 22px; font-size: 15px; }
.efia-root .efia-pager a, .efia-root .efia-pager__cur { min-width: 38px; padding: 6px 12px; border: 1px solid #cfd3e3; border-radius: 20px; text-align: center; text-decoration: none; color: var(--efia-navy) !important; }
.efia-root .efia-pager a:hover, .efia-root .efia-pager a:focus { border-color: var(--efia-green); }
.efia-root .efia-pager__cur { background: var(--efia-navy); border-color: var(--efia-navy); color: #fff !important; font-weight: 700; }
.efia-root .efia-pager__gap { padding: 0 2px; color: #62666E; }
@media (max-width: 900px) {
	.efia-root .efia-adv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.efia-root .efia-adv__grid, .efia-root .efia-checks--cols { grid-template-columns: minmax(0, 1fr); }
	.efia-root .efia-searchbar__input, .efia-root .efia-sform__input { flex-basis: 100%; }
	.efia-root .efia-searchbar button.efia-btn, .efia-root .efia-sform__row button.efia-btn { flex: 1 1 100%; }
}
@media print {
	.efia-root .efia-searchbar, .efia-root .efia-sform, .efia-root .efia-pager { display: none; }
}
/* 0.4.0: "Search inside the text" (search page only; the switch and results are shown by efi-archive-fulltext.js) */
.efia-root .efia-ftmode { margin: 10px 0 0; font-size: 16px; font-weight: 600; color: var(--efia-navy); }
.efia-root .efia-ftmode input { margin: 0 6px 0 0; vertical-align: -1px; }
.efia-root fieldset.efia-ftmode { display: flex; flex-wrap: wrap; gap: 6px 22px; border: 0; padding: 0; min-width: 0; } /* 0.4.1: text / titles radios */
.efia-root .efia-ftmode[hidden], .efia-root .efia-ftres[hidden], .efia-root .efia-sres[hidden], .efia-root .efia-ftnote[hidden], .efia-root .efia-ftres__more[hidden] { display: none; }
.efia-root .efia-ftnote { margin: 0 0 16px; padding: 10px 14px; border-left: 4px solid var(--efia-purple); background: var(--efia-mist); font-size: 15px; }
.efia-root .efia-ftres h2 { font-size: 22px; }
.efia-root .efia-ftres__snip { margin: 6px 0 4px; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.efia-root .efia-ftres__snip mark { background: #FFF1A8; color: inherit; padding: 0 1px; border-radius: 2px; }
.efia-root .efia-ftres__pages { margin: 0; overflow-wrap: anywhere; }
.efia-root button.efia-ftres__more { margin-top: 16px; }

/* ---- 0.4.1 (pre-launch audit) ---- */
/* Full-text link on title results and no-results (3.1). */
.efia-root .efia-ftlink { margin: 4px 0 14px; }
.efia-root .efia-ftlink .efia-btn { white-space: normal; text-align: center; }
/* Full-text option in the band search bar (3.1): white on the purple band. */
.efia-root .efia-searchbar__mode { flex-basis: 100%; font-size: 15px; color: #fff; }
.efia-root .efia-searchbar__mode input { margin: 0 6px 0 0; vertical-align: -1px; }
.efia-root .efia-searchbar__mode label { color: #fff; cursor: pointer; }
/* Search help block (3.1). */
.efia-root .efia-shelp ul { padding-left: 1.2em; }
.efia-root .efia-shelp li { margin: 0 0 8px; }
/* Full-text hits (3.2): "and N more" as a text button; "scan page" explanation. */
.efia-root button.efia-ftres__expand { display: inline; margin: 0; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--efia-purple); text-decoration: underline; cursor: pointer; }
.efia-root button.efia-ftres__expand:hover, .efia-root button.efia-ftres__expand:focus { color: var(--efia-navy); }
.efia-root button.efia-ftres__expand:focus-visible { outline: 2px solid var(--efia-purple); outline-offset: 2px; }
.efia-root .efia-ftres__rest[hidden] { display: none; }
.efia-root .efia-ftres__explain { margin: 0 0 8px; }
/* Sibling scans of one issue (3.3); JSONL explanation (3.5). */
.efia-root .efia-scans a { white-space: nowrap; }
.efia-root .efia-dl-note { margin: -4px 0 10px; font-size: 13px; line-height: 1.45; color: #62666E; }
/* Archive 404 (3.7). */
.efia-root .efia-notfound ul { padding-left: 1.2em; }
/* Landing (3.10): paragraph spacing in the intro. */
.efia-root .efia-landing-intro p { margin: 0 0 1em; }
.efia-root .efia-landing-intro p:last-child { margin-bottom: 0; }
/* Landing (3.10): the theme's fixed "Our Commentary" button (Elementor; hidden by the site's own CSS below
   768px) sits over the bottom right of the window. Space at the foot of the archive content lets every
   line of it scroll clear of the button; the button itself is not touched. */
@media (min-width: 768px) {
	.efia-root { padding-bottom: 96px; }
}

/* ---- 0.4.2: colours that must outrank the site's Elementor kit ----
   On live, the kit stylesheet (uploads/elementor/css/post-6.css) loads after this file and sets
   .elementor-kit-6 a { color: #6EB797 } (0,1,1), .elementor-kit-6 a:hover (0,2,1),
   .elementor-kit-6 button { background: #6EB797; color: #fff; border-color: navy } (0,1,1) and
   .elementor-kit-6 button:hover/:focus { background: #fff; color: #6EB797 } (0,2,1), i.e. #6EB797 on white (2.36:1).
   Equal specificity loses to the later file, so each rule below is at least one class stronger than the kit rule
   it meets: .efia-root.efia-root (the same class twice) gives (0,2,1) for links and (0,3,1)+ for states, still scoped
   to .efia-root, with no body-class or kit selectors and no !important. Rules that already use !important
   (.efia-btn, .efia-link, tiles, series lists, rows, results, pager, prev/next, jump links) are unaffected. */
/* Plain links (prose, cite titles, About contents, file links, "Item page"/"Volume page", scan-page links). */
.efia-root.efia-root a, .efia-root.efia-root a:hover { color: var(--efia-purple); }
/* Breadcrumbs: white on the purple band, also on hover (the kit hover green is 2.93:1 on the band). */
.efia-root.efia-root .efia-crumbs a, .efia-root.efia-root .efia-crumbs a:hover { color: #fff; }
/* Landing card headings: navy, also on hover. */
.efia-root.efia-root .efia-card h3 a, .efia-root.efia-root .efia-card h3 a:hover { color: var(--efia-navy); }
/* Copy-citation buttons: navy on white, white on navy when hovered or focused. */
.efia-root.efia-root button.efia-copy { background: #fff; color: var(--efia-navy); border-color: var(--efia-navy); }
.efia-root.efia-root button.efia-copy:hover, .efia-root.efia-root button.efia-copy:focus { background: var(--efia-navy); color: #fff; }
/* Pill buttons (search, "Show more results"): fill and border stated outright, not inherited from the kit's
   identical values (the text colour is already !important on .efia-btn). */
.efia-root.efia-root button.efia-btn { background: var(--efia-green); border-color: var(--efia-navy); }
.efia-root.efia-root button.efia-btn:hover, .efia-root.efia-root button.efia-btn:focus { background: #fff; }
.efia-root.efia-root button.efia-btn--ghost { background: #fff; }
.efia-root.efia-root button.efia-btn--ghost:hover, .efia-root.efia-root button.efia-btn--ghost:focus { background: var(--efia-green); }
/* "and N more" text button: no fill when hovered or focused (the kit's hover fill is white). */
.efia-root.efia-root button.efia-ftres__expand:hover, .efia-root.efia-root button.efia-ftres__expand:focus { background: none; }
