/*
Theme Name: Jason George (Kadence child)
Template: kadence
Description: Child theme for jasongeorge.net — subtitles, footnotes and site styles.
Version: 1.1
*/

/* Subtitle under post titles (custom field "subtitle") */
.jg-subtitle {
	font-size: 1.3em;
	line-height: 1.35;
	color: var(--global-palette5);
	margin: 0.3em 0 0;
}

/* Footnote markers in the text */
.entry-content a[rel="footnote"] {
	font-family: 'Instrument Sans', system-ui, sans-serif;
	font-size: 0.65em;
	vertical-align: super;
	line-height: 0;
	text-decoration: none;
	padding: 0 0.15em;
}

/* Notes section at the end of a post (custom field "footnote") */
.jg-footnotes {
	margin-top: 3em;
	padding-top: 1.25em;
	border-top: 1px solid var(--global-palette7);
	font-size: 0.85em;
	color: var(--global-palette5);
}
.jg-footnotes .jg-footnotes-title {
	font-family: 'Instrument Sans', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--global-palette3);
	margin: 0 0 0.75em;
}
.jg-footnotes ol { padding-left: 1.25em; }
.jg-footnotes li { margin-bottom: 0.6em; }

/* Share line at the end of a post */
.jg-share {
	margin: 3em 0 0;
	padding-top: 1.25em;
	border-top: 1px solid var(--global-palette7);
	font-family: 'Instrument Sans', system-ui, sans-serif;
	font-size: 15px;
	color: var(--global-palette5);
}
.jg-share-label { font-weight: 600; color: var(--global-palette3); margin-right: 0.25em; }
.jg-share-sep { margin: 0 0.35em; color: var(--global-palette6); }
.jg-share a,
.jg-share button {
	font: inherit;
	color: var(--global-palette1);
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	box-shadow: none;
	line-height: inherit;
}
.jg-share a:hover,
.jg-share button:hover { text-decoration: underline; text-underline-offset: 3px; background: none; color: var(--global-palette1); box-shadow: none; }
/* Lists of posts (homepage, Essays page) */
.jg-list, .entry-content ul.jg-list { list-style: none; margin: 0 0 2em; padding: 0; }
.jg-list-item { padding: 0.7em 0; border-bottom: 1px solid var(--global-palette7); }
.jg-list-item:last-child { border-bottom: 0; }
.jg-list-title { display: block; font-weight: 600; font-size: 1.1em; line-height: 1.3; text-decoration: none; color: var(--global-palette3); }
.jg-list-title:hover { color: var(--global-palette1); }
.jg-list-sub { display: block; color: var(--global-palette5); font-size: 0.92em; margin-top: 0.2em; }
.jg-list-date { display: block; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; color: var(--global-palette6); margin-top: 0.25em; }
.jg-count { color: var(--global-palette5); }
.jg-year { font-size: 1.1em; font-family: 'Instrument Sans', system-ui, sans-serif; color: var(--global-palette5); margin: 1.8em 0 0.2em; }

/* Homepage */
.jg-home-intro { font-size: 1.25em; line-height: 1.5; margin-bottom: 2em; }
.jg-section-title { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px !important; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--global-palette5); margin: 2.5em 0 0.5em; }
.jg-word { background: var(--global-palette8); border-left: 4px solid var(--global-palette1); padding: 1.2em 1.4em; margin: 1em 0 2em; }
.jg-word-label { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--global-palette5); margin: 0 0 0.3em; }
.jg-word-term { font-size: 1.6em; font-weight: 600; margin: 0 0 0.3em; line-height: 1.2; }
.jg-word-term a { text-decoration: none; color: var(--global-palette3); }
.jg-word-def { margin: 0 0 0.6em; }
.jg-word-more { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 15px; margin: 0; }
.jg-signup { background: var(--global-palette3); color: #fff; padding: 1.6em 1.6em 1.4em; margin: 2.5em 0; border-radius: 4px; }
.jg-signup h2 { color: #fff; margin-top: 0; font-size: 1.5em; }
.jg-signup p { color: #dfe4ef; }
.jg-signup .wp-block-button__link { background: #fff; color: var(--global-palette3); font-family: 'Instrument Sans', system-ui, sans-serif; font-weight: 600; }
.jg-work { border-top: 1px solid var(--global-palette7); padding-top: 1.5em; }
.home .entry-hero, .home .entry-header { display: none; }
/* Footnote jumps: land a little below the top edge and briefly highlight the target */
.entry-content [id^="fnref:"], .jg-footnotes li[id^="fn:"] { scroll-margin-top: 90px; }
.jg-footnotes li:target, .entry-content a[id^="fnref:"]:target { background: #FFF4C2; transition: background 1.5s; }
/* Footnote pop-ups */
.jg-notes-popup .entry-content a[rel="footnote"] {
	display: inline-block; min-width: 1.5em; padding: 0 0.35em; margin: 0 0.1em;
	border-radius: 999px; background: var(--global-palette8); border: 1px solid var(--global-palette7);
	text-align: center; line-height: 1.5; vertical-align: super; font-size: 0.62em; cursor: pointer;
}
.jg-notes-popup .entry-content a[rel="footnote"].is-open,
.entry-content a[rel="footnote"]:hover { background: var(--global-palette1); border-color: var(--global-palette1); color: #fff; }
.jg-notes-popup .entry-content { position: relative; }
.jg-pop {
	display: block; position: absolute; z-index: 50; width: min(440px, 100%); box-sizing: border-box;
	margin: 0; padding: 0.9em 1.1em;
	background: #fff; border: 1px solid var(--global-palette7); border-left: 3px solid var(--global-palette1);
	border-radius: 4px; box-shadow: 0 6px 20px rgba(20, 33, 61, 0.12);
	font-size: 0.82em; line-height: 1.55; color: var(--global-palette4);
	animation: jg-pop-in 0.15s ease-out;
}
.jg-pop-num {
	font-family: 'Instrument Sans', system-ui, sans-serif; font-weight: 600; font-size: 0.85em;
	color: var(--global-palette1); margin-right: 0.5em;
}
@keyframes jg-pop-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* References block: same look as Notes */
.jg-references {
	margin-top: 3em;
	padding-top: 1.25em;
	border-top: 1px solid var(--global-palette7);
	font-size: 0.85em;
	color: var(--global-palette5);
}
.jg-references p { margin: 0 0 0.6em; }
.jg-references .jg-footnotes-title {
	font-family: 'Instrument Sans', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--global-palette3);
	margin: 0 0 0.75em;
}
.jg-footnotes + .jg-references { margin-top: 2em; }
/* Theme paragraph spacing outranks .jg-share; restate it with more specificity */
.single-content p.jg-share, .entry-content p.jg-share { margin: 2em 0 0; }
/* Even spacing around the gray lines between end sections: same gap above and below each line */
.single-content .jg-footnotes + .jg-references { margin-top: 0.95em; }
.single-content .jg-footnotes li:last-child { margin-bottom: 0; }
.single-content p.jg-share, .entry-content p.jg-share { margin-top: 0.97em; padding-top: 1.05em; }
/* Essay section headings: now H2 for structure, same size as before */
.single-post .entry-content > h2 { font-size: 24px; line-height: 1.3; margin-top: 1.6em; }
@media (max-width: 767px) { .single-post .entry-content > h2 { font-size: 21px; } }

/* Reading time and updated date in the line under the title */
.entry-meta .jg-readtime, .entry-meta .jg-updated { display: inline-flex; align-items: center; }

/* End card: author note + newsletter */
.single-content .jg-endcard {
	margin: 2.5em 0 0; padding: 1.2em 1.4em; background: var(--global-palette8);
	border-radius: 4px; font-size: 0.9em;
}
.single-content .jg-endcard p { margin: 0; }
.jg-endcard-about { color: var(--global-palette4); }
.jg-endcard-sub { margin-top: 0.8em !important; display: flex; flex-wrap: wrap; gap: 0.6em 1em; align-items: center; color: var(--global-palette5); }
.jg-endcard-btn {
	display: inline-block; padding: 0.35em 1em; border-radius: 4px; background: var(--global-palette1); color: #fff !important;
	font-family: 'Instrument Sans', system-ui, sans-serif; font-weight: 600; font-size: 15px; text-decoration: none !important;
}
.jg-endcard-btn:hover { background: var(--global-palette2); }

/* Related list */
.single-content .jg-related { margin-top: 2.5em; }
.single-content .jg-related .jg-related-title {
	font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--global-palette5); margin: 0 0 0.3em;
}
.single-content .jg-related .jg-list { font-size: 0.95em; }

/* Previous / Next */
.post-navigation { margin-top: 1em; border-top: 1px solid var(--global-palette7); padding-top: 1.25em; }
.post-navigation .post-navigation-sub small {
	font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--global-palette5);
}
.post-navigation a { text-decoration: none; color: var(--global-palette3); font-size: 18px; line-height: 1.35; }
.post-navigation a:hover { color: var(--global-palette1); }
.post-navigation .nav-links { gap: 2em; }
/* Footer */
.jg-footer { text-align: center; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 15px; color: var(--global-palette5); padding: 1.5em 0 0.5em; }
.jg-footer p { margin: 0 0 0.7em; }
.jg-footer a { color: var(--global-palette1); text-decoration: none; }
.jg-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.jg-foot-cta { font-family: var(--global-body-font-family); font-size: 18px; color: var(--global-palette4); }
.jg-foot-cta a { font-weight: 600; }
.jg-foot-copy { color: var(--global-palette6); font-size: 14px; }
.site-footer { border-top: 1px solid var(--global-palette7); }

/* Keyboard focus: always visible */
a:focus-visible, button:focus-visible, input:focus-visible, .menu-toggle-open:focus-visible {
	outline: 2px solid var(--global-palette1); outline-offset: 2px; border-radius: 2px;
}
/* Jeopardy series */
.jg-series-tag { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; color: var(--global-palette5); margin: 0.6em 0 0; }
.jg-series-tag a { color: var(--global-palette1); text-decoration: none; }
.jg-series-tag a:hover { text-decoration: underline; text-underline-offset: 3px; }
.single-content .jg-series { margin-top: 2.5em; }
.single-content .jg-series-nextnav { margin: 2.2em 0 0; }
.single-content .jg-series-next {
	display: block; padding: 1em 1.2em; margin: 0; border-radius: 4px; text-decoration: none;
	background: var(--global-palette8); border-left: 3px solid var(--global-palette1);
}
.jg-series-next:hover { background: #ECEFF5; }
.jg-series-label { display: block; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--global-palette5); margin-bottom: 0.25em; }
.jg-series-next-title { display: block; font-weight: 600; font-size: 1.1em; line-height: 1.35; color: var(--global-palette3); }
.single-content ol.jg-series-list { margin: 0.4em 0 0; padding-left: 1.5em; font-size: 0.95em; }
.jg-series-list li { margin: 0 0 0.45em; padding-left: 0.2em; }
.jg-series-list a { color: var(--global-palette3); text-decoration: none; }
.jg-series-list a:hover { color: var(--global-palette1); text-decoration: underline; text-underline-offset: 3px; }
.jg-series-here { font-weight: 600; color: var(--global-palette3); }
.jg-series-you { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--global-palette1); margin-left: 0.4em; }
.entry-content ol.jg-series-page { padding-left: 1.6em; }
.jg-series-page li { margin-bottom: 1.1em; }
.jg-series-page li::marker { font-family: 'Instrument Sans', system-ui, sans-serif; font-weight: 600; color: var(--global-palette5); }
/* Series heading uses the same small label as "More essays" */
.single-content .jg-series .jg-related-title {
	font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--global-palette5); margin: 0 0 0.3em;
}
/* Footer links: no underline at rest, even spacing around separators */
.site-footer .jg-footer a { text-decoration: none; }
.site-footer .jg-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.jg-foot-links span { margin: 0 0.45em; color: var(--global-palette6); }

/* Topic and tag pages: a quiet heading in the column instead of the grey band */
.post-archive-title { margin: 0 0 2.4em; padding-bottom: 1.3em; border-bottom: 1px solid var(--global-palette7); }
.post-archive-title::before { content: "Topic"; display: block; font: 600 13px/1.2 'Instrument Sans', system-ui, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--global-palette5); margin-bottom: 0.6em; }
.tag .post-archive-title::before { content: "Tag"; }
.post-archive-title .archive-title { font-size: 32px; line-height: 1.2; margin: 0; }
.post-archive-title .archive-description { margin-top: 0.6em; color: var(--global-palette4); font-size: 17px; }
.post-archive-title .archive-description p { margin: 0 0 0.5em; }
.jg-tag-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45em 0.5em; margin-top: 1em !important; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; }
.jg-tag-row span { color: var(--global-palette5); margin-right: 0.25em; }
.jg-tag-row a, .single .entry-tags .tag-link { padding: 0.2em 0.75em; border: 1px solid var(--global-palette7); border-radius: 999px; color: var(--global-palette3); text-decoration: none; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 14px; }
.jg-tag-row a:hover, .single .entry-tags .tag-link:hover { border-color: var(--global-palette1); color: var(--global-palette1); }
.single .entry-tags .tag-hash { display: none; }
/* The topic is in the heading, so it isn't repeated above every item */
.archive.category .loop-entry .entry-taxonomies { display: none; }

/* Light top bar with a dark-blue rule under it */
#masthead .site-main-header-wrap, #mobile-header .site-main-header-wrap { border-bottom: 2px solid #14213D !important; }
#masthead .main-navigation .menu > li.current-menu-item > a { color: #14213D; text-decoration: underline; text-decoration-color: #2C4A9A; text-decoration-thickness: 2px; text-underline-offset: 8px; }

/* Small run-in headings on pages (e.g. "Where I help"): sit close to what follows */
.entry-content p.jg-label { margin-bottom: 0.35em; }
.entry-content p.jg-label + ul { margin-top: 0; }