/* ABC Money Pro: section fronts, author, tag, date, search, 404 and pages (helper ARCHIVE). */

/* ------------------------------------------------------------------ Archive header */
.abc-ahead { padding: 32px var(--gut) 0; display: flex; flex-direction: column; gap: 12px; }
.abc-ahead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
.abc-ahead__l { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.abc-ahead__t { margin: 0; font: 800 44px/1.05 var(--f-sans); letter-spacing: -0.035em; text-wrap: balance; overflow-wrap: anywhere; }
.abc-ahead__tag { font: italic 400 18px/1.4 var(--f-serif); color: var(--t4); max-width: 640px; }
.abc-ahead__meta { font: 500 12px/1.4 var(--f-sans); color: var(--meta); white-space: nowrap; flex: none; }
.abc-ahead__note { font: 400 15px/1.5 var(--f-serif); color: var(--t2); max-width: 720px; }
.abc-ahead__note a { color: var(--accent); font: 600 13px/1.5 var(--f-sans); white-space: nowrap; }
.abc-ahead__note a:hover { color: var(--ink); }

/* Quiet partner header: smaller title, grey */
.abc-ahead--quiet .abc-ahead__t { font-size: 32px; color: var(--t2); }
.abc-ahead--quiet .abc-ahead__row { border-bottom-width: 1px; border-bottom-color: var(--line); }

/* Related sections bar */
.abc-asub { display: flex; align-items: center; gap: 20px; padding: 0 0 12px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-top: -2px; }
.abc-asub::-webkit-scrollbar { display: none; }
.abc-asub__l { flex: none; font: 700 10px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--meta); }
.abc-asub ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.abc-asub li { flex: none; }
.abc-asub a { display: block; padding: 4px 0; font: 600 13px/1.2 var(--f-sans); white-space: nowrap; }

/* ------------------------------------------------------------------ Body: main + 340px rail */
.abc-abody { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; padding: 28px var(--gut) 0; align-items: start; }
.abc-abody__main { display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.abc-ablock { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

/* Lead + list */
.abc-alead { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--ink); }
.abc-alead__main { display: flex; flex-direction: column; gap: 12px; color: var(--ink); min-width: 0; }
.abc-alead__main:hover { color: var(--ink); }
.abc-alead__main:hover .abc-alead__t { color: var(--accent); }
.abc-alead__t { margin: 4px 0 0; font: 800 30px/1.12 var(--f-sans); letter-spacing: -0.03em; text-wrap: pretty; }
.abc-alead__d { font: 400 16px/1.5 var(--f-serif); color: var(--t2); text-wrap: pretty; }
.abc-alead__list { display: flex; flex-direction: column; border-left: 1px solid var(--line); padding-left: 24px; min-width: 0; }
.abc-alead__list .abc-li { padding: 12px 0; }
.abc-alead__list .abc-li:first-child { padding-top: 0; }
.abc-alead__list .abc-li:last-child { border-bottom: 0; }

/* Card grid */
.abc-agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.abc-agrid .abc-card__t { font-size: 18px; line-height: 1.25; }
.abc-agrid .abc-dek { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.abc-card--partner .abc-kicker { color: var(--t3); }

/* Chronological rows: date column, 72px thumb, kicker, headline, dek, byline */
.abc-alist { display: flex; flex-direction: column; }
.abc-arow { border-bottom: 1px solid var(--line-2); }
.abc-arow__a { display: grid; grid-template-columns: 64px 72px minmax(0, 1fr); gap: 18px; align-items: start; padding: 16px 0; color: var(--ink); }
.abc-arow--nodate .abc-arow__a { grid-template-columns: 72px minmax(0, 1fr); }
.abc-arow__a:hover { color: var(--ink); }
.abc-arow__a:hover .abc-arow__t { color: var(--accent); }
.abc-arow__date { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; font-variant-numeric: tabular-nums; }
.abc-arow__date b { font: 700 13px/1 var(--f-sans); letter-spacing: -0.01em; color: var(--ink); white-space: nowrap; }
.abc-arow__date span { font: 600 11px/1 var(--f-sans); color: var(--accent); }
.abc-arow__b { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.abc-arow__t { margin: 0; font: 700 17px/1.3 var(--f-sans); letter-spacing: -0.015em; text-wrap: pretty; overflow-wrap: anywhere; }
.abc-arow__d { font: 400 14px/1.5 var(--f-serif); color: var(--t2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.abc-arow__mdate { display: none; }
.abc-arow--nodate .abc-arow__mdate { display: inline; }

/* Pager */
.abc-apager { margin-top: 4px; padding-top: 24px; }
.abc-apager__nums { display: contents; }
.abc-apager__of { display: none; font: 600 13px/1 var(--f-sans); color: var(--t3); padding: 0 8px; }
.abc-apager__pn { padding: 0 16px; }

/* Empty states and notes */
.abc-aempty { padding: 24px 0 0; text-align: left; }
.abc-aempty p + p { margin-top: 16px; }
.abc-anote { font: 400 17px/1.55 var(--f-serif); color: var(--t2); max-width: 640px; }

/* ------------------------------------------------------------------ Author */
.abc-auth { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 28px; align-items: start; padding-bottom: 24px; border-bottom: 2px solid var(--ink); margin: 0 var(--gut); padding-left: 0; padding-right: 0; }
.abc-auth__av { font-weight: 800; }
.abc-auth__b { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.abc-auth__t { font-size: 40px; }
.abc-auth__beat { font: 600 14px/1.3 var(--f-sans); color: var(--accent); }
.abc-auth__bio { font: 400 17px/1.55 var(--f-serif); color: var(--t2); max-width: 680px; }
.abc-auth__meta { display: flex; flex-wrap: wrap; gap: 6px 24px; font: 500 13px/1.4 var(--f-sans); color: var(--t3); margin-top: 4px; }
.abc-auth__meta a { color: var(--accent); overflow-wrap: anywhere; }
.abc-auth__meta a:hover { color: var(--ink); }

/* ------------------------------------------------------------------ Search and 404 */
.abc-asearch { padding-bottom: 24px; border-bottom: 2px solid var(--ink); margin: 0 var(--gut); padding-left: 0; padding-right: 0; }
.abc-asearch__t { font-size: 40px; }
.abc-asearch__f .abc-searchform { max-width: 720px; margin: 8px 0 0; }
.abc-asearch__f .abc-searchform input[type="search"] { padding: 16px 18px; font-size: 18px; min-height: 56px; }
.abc-asearch__f .abc-searchform button { padding: 0 28px; font-size: 14px; min-height: 56px; }
.abc-a404__d { font-style: normal; color: var(--t2); font-size: 17px; }
.abc-asub--404 { border-bottom: 0; padding: 4px 0 0; margin: 0; }
.abc-asecs { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }

/* ------------------------------------------------------------------ Pages */
.abc-pg { padding: 40px var(--gut) 0; }
.abc-pg__head { max-width: 720px; display: flex; flex-direction: column; gap: 12px; padding-bottom: 18px; border-bottom: 2px solid var(--ink); }
.abc-pg__t { margin: 0; font: 800 40px/1.08 var(--f-sans); letter-spacing: -0.035em; text-wrap: balance; overflow-wrap: anywhere; }
.abc-pg__grid { display: grid; grid-template-columns: minmax(0, 720px) 260px; gap: 72px; margin-top: 28px; align-items: start; }
.abc-pg__body { min-width: 0; }
.abc-pg__prose { font-size: 17px; }
.abc-pg__prose h2 { font-size: 22px; }
.abc-pg__prose h3 { font-size: 18px; }
.abc-pg__prose ol, .abc-pg__prose ul { padding-left: 1.4em; }
.abc-pg__contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 32px; background: var(--line); border: 1px solid var(--line); }
.abc-pg__contact > div { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; background: var(--tint); min-width: 0; }
.abc-pg__contact .abc-kicker { color: var(--t3); }
.abc-pg__contact a { font: 700 16px/1.3 var(--f-sans); color: var(--accent); overflow-wrap: anywhere; }
.abc-pg__contact a:hover { color: var(--ink); }

.abc-pgnav { display: flex; flex-direction: column; gap: 28px; position: sticky; top: 24px; }
.abc-pgnav__h { font-size: 15px; }
.abc-pgnav ul { list-style: none; margin: 0; padding: 0; }
.abc-pgnav a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line-2); font: 600 13px/1.35 var(--f-sans); }
.abc-pgnav a.is-current { color: var(--accent); border-left: 2px solid var(--accent); padding-left: 10px; }
.abc-pgnav--wide { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; max-width: 720px; margin-top: 48px; }

/* Elementor pages: Elementor's own layout, kept inside the page frame */
.abc-pg--el .abc-pg__el { margin-top: 24px; min-width: 0; overflow-wrap: break-word; }
.abc-pg__el .elementor-section.elementor-section-stretched, .abc-pg__el .e-con-full { left: auto !important; width: auto !important; }
.abc-pg__el img { height: auto; }

/* ------------------------------------------------------------------ Newsletters page */
.abc-nlp__head { max-width: 760px; }
.abc-nlp__dek { font: 400 19px/1.5 var(--f-serif); color: var(--t2); }
.abc-nlp__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; margin-top: 32px; align-items: start; max-width: 1100px; }
.abc-nlp__about { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.abc-nlp__lede { font: 400 19px/1.55 var(--f-serif); color: #1b1b1b; max-width: 620px; }
.abc-nlp__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 4px 0 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.abc-nlp__facts > div { padding: 14px 16px 14px 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.abc-nlp__facts > div + div { padding-left: 16px; border-left: 1px solid var(--line-2); }
.abc-nlp__facts dt { font: 700 10px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--meta); }
.abc-nlp__facts dd { margin: 0; font: 700 15px/1.3 var(--f-sans); letter-spacing: -0.01em; }
.abc-nlp__h { margin: 8px 0 0; font: 800 18px/1 var(--f-sans); letter-spacing: -0.03em; }
.abc-nlp__list { list-style: none; margin: 0; padding: 0; counter-reset: abcnl; }
.abc-nlp__list li { counter-increment: abcnl; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line-2); font: 400 16px/1.5 var(--f-serif); color: var(--t2); }
.abc-nlp__list li::before { content: counter(abcnl); font: 800 22px/1 var(--f-sans); letter-spacing: -0.04em; color: var(--accent); font-variant-numeric: tabular-nums; }
.abc-nlp__list b { font: 700 15px/1.5 var(--f-sans); color: var(--ink); }
.abc-nlp__fine { font: 500 13px/1.5 var(--f-sans); color: var(--t3); }
.abc-nlp__fine a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.abc-nlp__panel { position: sticky; top: 24px; }

/* ------------------------------------------------------------------ Responsive */
@media (max-width: 1279px) {
	.abc-ahead__t { font-size: 40px; }
	.abc-alead__t { font-size: 26px; }
	.abc-pg__grid { gap: 48px; grid-template-columns: minmax(0, 720px) 220px; }
}
@media (max-width: 1199px) and (min-width: 1024px) {
	.abc-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abc-alead { grid-template-columns: minmax(0, 1fr); }
	.abc-alead__list { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
	.abc-alead__list .abc-li:first-child { padding-top: 12px; }
}
@media (max-width: 1023px) {
	.abc-abody { grid-template-columns: minmax(0, 1fr); }
	.abc-arc .abc-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: start; padding-top: 12px; border-top: 1px solid var(--ink); }
	.abc-pg__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; max-width: 720px; }
	.abc-pgnav { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
	.abc-nlp__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 720px; }
	.abc-nlp__panel { position: static; }
}
@media (max-width: 767px) {
	.abc-ahead { padding-top: 22px; gap: 10px; }
	.abc-ahead__row { flex-direction: column; align-items: flex-start; gap: 10px; padding-bottom: 14px; }
	.abc-ahead__t, .abc-asearch__t, .abc-auth__t, .abc-pg__t { font-size: 30px; line-height: 1.1; }
	.abc-ahead--quiet .abc-ahead__t { font-size: 26px; }
	.abc-ahead__tag { font-size: 16px; }
	.abc-ahead__meta { white-space: normal; }
	.abc-abody { padding-top: 20px; gap: 40px; }
	.abc-abody__main { gap: 36px; }
	.abc-alead { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-bottom: 20px; }
	.abc-alead__t { font-size: 23px; }
	.abc-alead__list { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
	.abc-alead__list .abc-li:first-child { padding-top: 12px; }
	.abc-agrid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.abc-agrid .abc-card__t { font-size: 19px; }
	.abc-arow__a { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 14px 0; }
	.abc-arow__date { display: none; }
	.abc-arow__mdate { display: inline; }
	.abc-arow__t { font-size: 15px; }
	.abc-arow__d { font-size: 13.5px; }
	.abc-apager__nums { display: none; }
	.abc-apager__of { display: inline-flex; }
	.abc-apager { justify-content: space-between; }
	.abc-apager .page-numbers { min-height: 44px; }
	.abc-arc .abc-rail { grid-template-columns: minmax(0, 1fr); }
	.abc-arc .abc-nl { padding: 24px 20px; }
	.abc-auth { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 24px; }
	.abc-auth__bio { font-size: 16px; }
	.abc-asearch__f .abc-searchform input[type="search"] { font-size: 16px; padding: 14px; min-height: 50px; }
	.abc-asearch__f .abc-searchform button { padding: 0 18px; min-height: 50px; }
	.abc-asecs { flex-wrap: wrap; gap: 4px 20px; }
	.abc-asecs a { padding: 10px 0; }
	.abc-asub--404 { flex-direction: column; align-items: flex-start; gap: 8px; overflow: visible; }
	.abc-asub a { padding: 12px 0; }
	.abc-asub { padding-bottom: 0; }
	.abc-pg { padding-top: 24px; }
	.abc-pg__prose { font-size: 16.5px; }
	.abc-pg__contact { grid-template-columns: minmax(0, 1fr); }
	.abc-pgnav, .abc-pgnav--wide { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.abc-pgnav a { padding: 13px 0; }
	.abc-nlp__dek, .abc-nlp__lede { font-size: 17px; }
	.abc-nlp__facts { grid-template-columns: minmax(0, 1fr); }
	.abc-nlp__facts > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-2); }
	.abc-nlp__facts > div { flex-direction: row; justify-content: space-between; align-items: baseline; padding: 12px 0; }
}

/* Opinion front: argument headlines in italic serif, as in the homepage rail */
.abc-arc--opinion .abc-alead__t, .abc-arc--opinion .abc-card__t, .abc-arc--opinion .abc-arow__t { font-family: var(--f-serif); font-style: italic; font-weight: 600; letter-spacing: -0.01em; }

/* Elementor pages: house typefaces and controls without touching Elementor's layout */
.abc-pg__el .elementor-heading-title { font-family: var(--f-sans) !important; font-weight: 800 !important; letter-spacing: -0.03em !important; }
.abc-pg__el .elementor-widget-text-editor, .abc-pg__el .elementor-widget-text-editor p, .abc-pg__el .elementor-widget-text-editor li { font-family: var(--f-sans) !important; }
.abc-pg__el .elementor-field-label { font: 600 13px/1.3 var(--f-sans) !important; }
.abc-pg__el .elementor-field-textual, .abc-pg__el .elementor-field-group select { border-radius: 0 !important; border: 1px solid rgba(0, 0, 0, .3) !important; font-family: var(--f-sans) !important; min-height: 44px; }
.abc-pg__el .elementor-field-textual:focus { border-color: var(--ink) !important; outline: 2px solid var(--accent); outline-offset: 1px; }
.abc-pg__el .elementor-button, .abc-pg__el button[type="submit"] { background: var(--ink) !important; color: #fff !important; border-radius: 0 !important; border: 0 !important; font: 700 13px/1 var(--f-sans) !important; padding: 15px 24px !important; min-height: 44px; }
.abc-pg__el .elementor-button:hover, .abc-pg__el button[type="submit"]:hover { background: var(--accent) !important; }
.abc-pg__el a:not(.elementor-button) { color: var(--accent); }
