/*
Theme Name:   JVF Child
Theme URI:    https://joshuavsfury.com/
Description:  Lightweight Kadence child theme for JoshuaVsFury.com. Self-hosted condensed display font, readable system body type, fight-night palette, accessible focus states and styled tables and FAQs for rich results.
Author:       JoshuaVsFury.com Editorial Team
Template:     kadence
Version:      1.1.0
Requires PHP: 8.0
License:      GPL-2.0-or-later
Text Domain:  jvf-child
*/

@font-face {
	font-family: "Oswald";
	src: url("assets/fonts/oswald-latin.woff2") format("woff2");
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}

:root {
	--jvf-ink: #0A1628;
	--jvf-ink-2: #13233D;
	--jvf-gold: #D4AF37;
	--jvf-gold-ink: #7A5E0F;
	--jvf-paper: #FFFFFF;
	--jvf-mist: #F1F4F8;
	--jvf-line: #D6DCE6;
	--jvf-text: #1A2333;
	--jvf-muted: #4A5568;
	--jvf-red: #B3202A;
	--jvf-blue: #1C4FA0;
	--jvf-display: "Oswald", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	--jvf-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--jvf-radius: 6px;

	/* Map Kadence global palette and fonts to the brand */
	--global-palette1: #1C4FA0; /* accent: links, buttons */
	--global-palette2: #0A1628; /* accent hover */
	--global-palette3: #0A1628; /* strongest text, headings */
	--global-palette4: #1A2333; /* body text */
	--global-palette5: #4A5568; /* medium text */
	--global-palette6: #6B7486; /* subtle text */
	--global-palette7: #D6DCE6; /* borders */
	--global-palette8: #F1F4F8; /* light background */
	--global-palette9: #FFFFFF; /* base */
	--global-heading-font-family: var(--jvf-display);
	--global-body-font-family: var(--jvf-body);
}

/* Base type */
body,
button,
input,
select,
textarea {
	font-family: var(--jvf-body);
	color: var(--jvf-text);
}
body {
	font-size: 1.0625rem;
	line-height: 1.65;
	background: var(--jvf-paper);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4,
.entry-title,
.site-title {
	font-family: var(--jvf-display);
	font-weight: 700;
	color: var(--jvf-ink);
	line-height: 1.12;
	letter-spacing: .005em;
}
.entry-content h2 {
	font-size: clamp(1.6rem, 3.6vw, 2.1rem);
	margin: 2.5rem 0 .9rem;
	padding-bottom: .35rem;
	border-bottom: 2px solid var(--jvf-line);
}
.entry-content h3 { font-size: clamp(1.25rem, 2.6vw, 1.45rem); margin: 1.75rem 0 .6rem; }
.entry-title { font-size: clamp(2rem, 5.5vw, 3rem); }

/* Reading layout: one comfortable column (~75 characters) so prose, tables and headings share the same edge */
#primary .content-container.site-container { max-width: 900px; }
.content-area { margin-top: 2rem; margin-bottom: 3rem; }
@media (max-width: 767px) { .content-area { margin-top: 1rem; } }

a { color: var(--jvf-blue); text-underline-offset: .18em; }
a:hover { color: var(--jvf-ink); }
:focus-visible {
	outline: 3px solid var(--jvf-gold);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Header and footer (Kadence) */
#masthead .site-main-header-wrap .site-header-row-container-inner,
#masthead .site-top-header-wrap .site-header-row-container-inner,
#mobile-header .site-main-header-wrap .site-header-row-container-inner {
	background: var(--jvf-ink);
	border-bottom: 3px solid var(--jvf-gold);
}
#masthead .site-title,
#mobile-header .site-title {
	font-family: var(--jvf-display);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: #fff;
}
#masthead .site-branding a,
#mobile-header .site-branding a { color: #fff; text-decoration: none; }
#masthead .site-description { color: #AEB9CC; }
#masthead .header-navigation .menu > li > a { color: #fff; }
#masthead .header-navigation .menu > li > a:hover,
#masthead .header-navigation .menu > li.current-menu-item > a { color: var(--jvf-gold); }
#mobile-header .menu-toggle-open,
#mobile-header .menu-toggle-open .menu-toggle-icon { color: #fff; }
#mobile-drawer .drawer-inner { background: var(--jvf-ink); }
#mobile-drawer .mobile-navigation a { color: #fff; }

.jvf-topbar {
	background: var(--jvf-gold);
	color: var(--jvf-ink);
	text-align: center;
	font-size: .9rem;
	font-weight: 600;
	padding: .45rem 1rem;
}
.jvf-topbar p { margin: 0; }

.site-footer .site-footer-row-container-inner {
	background: var(--jvf-ink);
	color: #C9D3E3;
}
.site-footer a { color: #fff; }
.jvf-disclaimer {
	margin: 0;
	padding: 1rem;
	background: var(--jvf-ink);
	color: #AEB9CC;
	font-size: .85rem;
	text-align: center;
	border-top: 1px solid var(--jvf-ink-2);
}

/* Page title banner (inner pages): navy with gold rule */
.entry-hero.page-hero-section .entry-hero-container-inner,
.entry-hero.post-hero-section .entry-hero-container-inner {
	background: var(--jvf-ink);
	border-bottom: 3px solid var(--jvf-gold);
}
.entry-hero .entry-title { color: #fff; }
.entry-hero .entry-hero-container-inner .hero-section-overlay { background: transparent; }

/* Premium footer */
.jvf-has-footer #colophon { display: none; }
.jvf-footer { background: var(--jvf-ink); color: #C9D3E3; border-top: 3px solid var(--jvf-gold); font-size: .95rem; }
.jvf-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 1.5rem 2rem;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.1fr .9fr;
	gap: 2.5rem;
}
.jvf-footer__col ul { list-style: none; margin: 0; padding: 0; }
.jvf-footer__col li { margin: 0 0 .55rem; }
.jvf-footer a { color: #fff; text-decoration: none; }
.jvf-footer a:hover, .jvf-footer a:focus-visible { color: var(--jvf-gold); text-decoration: underline; text-underline-offset: .2em; }
.jvf-footer__title { margin: 0 0 1rem; font-family: var(--jvf-display); font-size: 1.05rem; font-weight: 600; color: var(--jvf-gold); letter-spacing: .02em; }
.jvf-footer__logo { display: block; width: 200px; height: auto; margin: 0 0 1rem; }
.jvf-footer__name { display: block; font-family: var(--jvf-display); font-size: 1.6rem; font-weight: 700; color: #fff; margin: 0 0 1rem; }
.jvf-footer__brand p { margin: 0 0 .8rem; line-height: 1.6; max-width: 34ch; }
.jvf-footer__contact a { color: var(--jvf-gold); }
.jvf-footer__facts { margin: 0; }
.jvf-footer__facts div { margin: 0 0 .8rem; }
.jvf-footer__facts dt { font-size: .78rem; font-weight: 600; color: #8C99B0; margin: 0 0 .15rem; }
.jvf-footer__facts dd { margin: 0; color: #fff; font-weight: 500; line-height: 1.45; }
.jvf-footer__menu { list-style: none; margin: 0; padding: 0; }
.jvf-footer__bar {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.25rem 1.5rem 1.5rem;
	border-top: 1px solid rgba(255,255,255,.08);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .5rem 2rem;
	font-size: .82rem;
	color: #8C99B0;
}
.jvf-footer__bar p { margin: 0; }
.jvf-footer__disclaimer { max-width: 70ch; }
@media (max-width: 1024px) {
	.jvf-footer__inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
	.jvf-footer__inner { grid-template-columns: 1fr; padding-top: 2.25rem; }
	.jvf-footer__bar { flex-direction: column; }
}

/* Core tables: same look as hub tables */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	border: 1px solid var(--jvf-line);
}
.wp-block-table th,
.wp-block-table td {
	padding: .7rem .9rem;
	border: 0;
	border-bottom: 1px solid var(--jvf-line);
	text-align: left;
}
.wp-block-table thead { border-bottom: 3px solid var(--jvf-gold); }
.wp-block-table thead th { background: var(--jvf-ink); color: #fff; }
.wp-block-table tbody tr:nth-child(even) { background: var(--jvf-mist); }
.wp-block-table td:first-child strong { color: var(--jvf-ink); }
.wp-block-table { overflow-x: auto; }

/* Rank Math FAQ */
.rank-math-faq-item {
	border: 1px solid var(--jvf-line);
	border-left: 4px solid var(--jvf-gold);
	border-radius: var(--jvf-radius);
	padding: 1rem 1.15rem;
	margin: 0 0 .75rem;
	background: var(--jvf-paper);
}
.rank-math-faq-item .rank-math-question {
	font-family: var(--jvf-body);
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 .35rem;
	color: var(--jvf-ink);
}
.rank-math-faq-item .rank-math-answer p:last-child { margin-bottom: 0; }

/* Lists and buttons */
.entry-content ul li::marker { color: var(--jvf-gold-ink); }
.wp-block-button__link,
button,
input[type="submit"] {
	background: var(--jvf-ink);
	color: #fff;
	border-radius: var(--jvf-radius);
}
.wp-block-button__link:hover { background: var(--jvf-ink-2); color: var(--jvf-gold); }

/* Images never overflow */
img, video, iframe { max-width: 100%; height: auto; }

@media (max-width: 544px) {
	body { font-size: 1rem; }
	.entry-content h2 { margin-top: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.site-header, #mobile-header, .site-footer, .jvf-footer, .jvf-topbar, .jvf-count { display: none !important; }
	body { color: #000; }
}
