/*
Theme Name:   NBA Finals Reports Child
Theme URI:    https://nbafinalsreports.com/
Description:  Kadence child theme for NBA Finals Reports. Blue, red and charcoal styling matched to the site logo, Barlow Condensed headings, Archivo body text.
Author:       NBA Finals Reports
Template:     kadence
Version:      1.1.2
Requires PHP: 7.4
Text Domain:  nbafinalsreports-child
*/

/* ---------- Brand tokens (override the Kadence palette) ---------- */
:root:root {
	--nfr-navy: #292A2A;      /* logo charcoal: headings, footer */
	--nfr-navy-2: #3A3B3B;
	--nfr-blue: #006BB6;      /* logo blue: links, buttons, table heads */
	--nfr-blue-2: #00508A;
	--nfr-gold: #ED174C;      /* logo red: accents */
	--nfr-gold-deep: #C8103D;
	--nfr-ink: #1B2333;
	--nfr-mute: #5B6475;
	--nfr-line: #DDE2EA;
	--nfr-mist: #F4F6F9;
	--nfr-head: "Barlow Condensed", "Arial Narrow", sans-serif;
	--nfr-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;

	--global-palette1: #006BB6;   /* accent: links, buttons */
	--global-palette2: #00508A;   /* accent hover */
	--global-palette3: #292A2A;   /* headings */
	--global-palette4: #1B2333;   /* body text */
	--global-palette5: #5B6475;   /* muted text */
	--global-palette6: #8A93A3;
	--global-palette7: #DDE2EA;   /* borders */
	--global-palette8: #F4F6F9;   /* soft background */
	--global-palette9: #FFFFFF;   /* page background */
	--global-body-font-family: var(--nfr-body);
	--global-heading-font-family: var(--nfr-head);
	--global-content-width: 1140px;
	--global-content-narrow-width: 780px;
}

body {
	font-family: var(--nfr-body);
	color: var(--nfr-ink);
	background: #FFFFFF;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	font-variant-numeric: tabular-nums;
}

/* ---------- Headings: record-book type ---------- */
h1, h2, h3, h4,
.entry-title, .site-title {
	font-family: var(--nfr-head);
	color: var(--nfr-navy);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
}
h1, .entry-hero h1.entry-title, .content-area h1.entry-title { font-size: clamp(2.1rem, 5vw, 3rem); }
.entry-content h2, .nfh h2 {
	font-size: clamp(1.6rem, 3.6vw, 2.05rem);
	margin: 2.1em 0 .55em;
	padding-top: .35em;
	border-top: 3px solid var(--nfr-navy);
	position: relative;
}
.entry-content h2::before, .nfh h2::before {
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	width: 56px;
	height: 3px;
	background: var(--nfr-gold);
}
.entry-content h3 { font-size: 1.35rem; font-weight: 700; margin: 1.6em 0 .4em; }

/* Reading column */
.entry-content > p,
.entry-content > ul,
.entry-content > ol { max-width: 72ch; }
.entry-content p { margin-bottom: 1em; }
.entry-content > p:first-child { font-size: 1.12rem; }

/* ---------- Links ---------- */
.entry-content a,
.nfh a {
	color: var(--nfr-blue);
	text-decoration: underline;
	text-decoration-color: var(--nfr-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
.entry-content a:hover,
.nfh a:hover { color: var(--nfr-gold-deep); }
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible {
	outline: 2px solid var(--nfr-gold);
	outline-offset: 2px;
}

/* ---------- Header ---------- */
.site-header,
#masthead {
	background: #FFFFFF;
	border-bottom: 1px solid var(--nfr-line);
}
.site-header .custom-logo,
.site-branding img { max-height: 46px; width: auto; }
.header-navigation .header-menu-container > ul > li > a,
.main-navigation .primary-menu-container > ul > li > a {
	font-family: var(--nfr-head);
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--nfr-navy);
	letter-spacing: .01em;
	padding-top: .6em;
	padding-bottom: .6em;
	box-shadow: inset 0 -3px 0 transparent;
	transition: box-shadow .15s ease;
}
.header-navigation .header-menu-container > ul > li > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current-menu-item > a {
	color: var(--nfr-navy);
	box-shadow: inset 0 -3px 0 var(--nfr-gold);
}

/* ---------- Page title area ---------- */
.entry-hero-container-inner { background: var(--nfr-mist); }
.content-bg,
.entry.single-entry,
body.content-style-unboxed .site { background: #FFFFFF; }
.entry.single-entry { box-shadow: none; }

/* Byline injected by functions.php */
.nfr-byline {
	font-size: .9rem;
	color: var(--nfr-mute);
	margin: 0 0 1.4em;
	padding-bottom: .9em;
	border-bottom: 1px solid var(--nfr-line);
}
.nfr-byline strong { color: var(--nfr-ink); font-weight: 600; }

/* ---------- Tables (core table block) ---------- */
.entry-content .wp-block-table { margin: 1.2em 0 .4em; overflow-x: auto; }
.entry-content .wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	font-size: .95rem;
	border: 1px solid var(--nfr-line);
}
.entry-content .wp-block-table thead th {
	background: var(--nfr-blue);
	color: #FFFFFF;
	font-weight: 600;
	text-align: left;
	border: 0;
	border-bottom: 2px solid var(--nfr-gold);
	padding: 10px 12px;
	white-space: nowrap;
}
.entry-content .wp-block-table td {
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid var(--nfr-line);
	vertical-align: top;
}
.entry-content .wp-block-table tbody tr:nth-child(even) { background: var(--nfr-mist); }
.entry-content .nfh-verify,
.nfh-verify {
	font-size: .82rem;
	color: var(--nfr-mute);
	margin-top: .4em;
}

/* ---------- Lists ---------- */
.entry-content ul.wp-block-list li::marker { color: var(--nfr-gold-deep); }
.entry-content ul.wp-block-list li,
.entry-content ol.wp-block-list li { margin-bottom: .45em; }

/* ---------- Rank Math FAQ as an accordion-style list ---------- */
.rank-math-block {
	border: 1px solid var(--nfr-line);
	border-radius: 6px;
	overflow: hidden;
}
.rank-math-block .rank-math-faq-item,
.wp-block-rank-math-faq-block .rank-math-faq-item {
	padding: 14px 18px;
	border-bottom: 1px solid var(--nfr-line);
	margin: 0;
}
.rank-math-block .rank-math-faq-item:last-child { border-bottom: 0; }
.rank-math-block h3.rank-math-question {
	font-family: var(--nfr-body);
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--nfr-navy);
	margin: 0 0 .35em;
	line-height: 1.4;
}
.rank-math-block .rank-math-answer { color: var(--nfr-ink); }
.rank-math-block .rank-math-answer p:last-child { margin-bottom: 0; }

/* ---------- Buttons ---------- */
.wp-block-button__link,
.button,
button[type="submit"],
input[type="submit"] {
	background: var(--nfr-blue);
	color: #FFFFFF;
	border-radius: 4px;
	font-weight: 600;
	box-shadow: inset 0 -3px 0 var(--nfr-gold);
}
.wp-block-button__link:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--nfr-blue-2);
	color: #FFFFFF;
}

/* ---------- Footer ---------- */
.nfr-hide-kadence-footer #colophon { display: none; }
.nfr-footer {
	background: #1E1F1F;
	color: #B9BEC6;
	font-size: .95rem;
	line-height: 1.6;
	border-top: 4px solid var(--nfr-blue);
	position: relative;
}
.nfr-footer::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 120px;
	height: 4px;
	background: var(--nfr-gold);
}
.nfr-footer-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 48px 24px 36px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr .8fr;
	gap: 40px;
}
.nfr-footer a { color: #E8EAED; text-decoration: none; }
.nfr-footer a:hover,
.nfr-footer a:focus-visible { color: #FFFFFF; text-decoration: underline; text-decoration-color: var(--nfr-gold); text-underline-offset: 3px; }
.nfr-f-mark {
	display: inline-block;
	font-family: var(--nfr-head);
	font-size: 1.7rem;
	line-height: 1;
	letter-spacing: .01em;
	margin-bottom: 12px;
}
.nfr-f-mark span { color: #FFFFFF; font-weight: 700; }
.nfr-f-mark strong { color: var(--nfr-gold); font-weight: 800; }
.nfr-f-brand p { margin: 0 0 14px; max-width: 38ch; font-size: .92rem; }
.nfr-f-champ {
	display: inline-block;
	padding: 8px 12px;
	border-left: 3px solid var(--nfr-gold);
	background: rgba(255, 255, 255, .04);
	color: #FFFFFF;
	font-weight: 600;
}
.nfr-f-champ span {
	display: block;
	font-size: .78rem;
	font-weight: 400;
	color: #9AA1AB;
}
.nfr-f-title {
	font-family: var(--nfr-head);
	font-size: 1.15rem;
	font-weight: 700;
	color: #FFFFFF;
	margin: 0 0 12px;
}
.nfr-f-col ul { list-style: none; margin: 0; padding: 0; }
.nfr-f-col li { margin: 0 0 9px; font-size: .92rem; }
.nfr-f-bottom { border-top: 1px solid rgba(255, 255, 255, .08); background: #181919; }
.nfr-f-bottom .nfr-footer-inner {
	padding: 16px 24px 18px;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 6px 16px;
	font-size: .82rem;
	color: #8E959F;
}
.nfr-f-bottom p { margin: 0; }
.nfr-f-note { grid-column: 1 / -1; font-size: .78rem; color: #767D87; }
.nfr-f-top { font-weight: 600; white-space: nowrap; justify-self: end; }

@media (max-width: 900px) {
	.nfr-footer-inner { grid-template-columns: 1fr 1fr; }
	.nfr-f-brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.nfr-footer-inner { grid-template-columns: 1fr; gap: 24px; padding: 36px 20px 28px; }
	.nfr-f-bottom .nfr-footer-inner { grid-template-columns: 1fr auto; }
}

/* ---------- Plugin (NBA Finals Hub) pages: logo colours ---------- */
.nfh {
	--nfh-navy: #006BB6;
	--nfh-gold: #ED174C;
	--nfh-gold-deep: #C8103D;
	--nfh-ink: #292A2A;
}
.nfh-plate { background: #006BB6; box-shadow: none; }
.nfh-plate-year { background: #ED174C; color: #FFFFFF; }
.nfh .nfh-plate-title,
.nfh .nfh-plate-meta { color: #DCEBF7; }
.nfh-pip.is-champ { background: #FFFFFF; border-color: #FFFFFF; }
.nfh-pip.is-other { background: #00467A; border-color: #00467A; }
.nfh-table thead th { background: #006BB6; border-bottom-color: #ED174C; }
.nfh-answer { border-left-color: #ED174C; }

/* ---------- Plugin pages share the type system ---------- */
.nfh { font-family: var(--nfr-body); }
.nfh-plate-year,
.nfh .nfh-plate-champ { font-family: var(--nfr-head); }
.nfh .nfh-plate-champ { font-size: clamp(1.7rem, 4.6vw, 2.4rem); letter-spacing: .005em; }
.nfh-plate-year { font-size: clamp(3rem, 8vw, 4.8rem); }

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	body { font-size: 16px; }
	.entry-content > p:first-child { font-size: 1.05rem; }
	.entry-content .wp-block-table td,
	.entry-content .wp-block-table thead th { padding: 9px 10px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

@media print {
	.site-header, .site-footer, .nfr-footer { display: none; }
}
