/*
Theme Name: CFP Rankings Today
Theme URI: https://cfprankingstoday.com/
Description: Lightweight Kadence child theme for cfprankingstoday.com. Scoreboard hero, condensed sports type, fast head, Rank Math breadcrumbs.
Author: CFP Rankings Today
Template: kadence
Version: 1.0.0
Requires PHP: 8.0
Text Domain: cfprt-child
*/

/* ---------- Tokens (shared with the CFP Rankings Hub plugin) ---------- */
html:root {
	--cfpt-ink: #14213d;
	--cfpt-ink-2: #1d2e52;
	--cfpt-turf: #1f6b43;
	--cfpt-gold: #b7862c;
	--cfpt-wash: #f3f5f8;
	--cfpt-line: #d9dee6;
	--cfpt-muted: #5a6676;
	--cfpt-cond: "Saira Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;

	/* Kadence global palette */
	--global-palette1: #1f6b43;
	--global-palette2: #17553a;
	--global-palette3: #14213d;
	--global-palette4: #24324d;
	--global-palette5: #46526a;
	--global-palette6: #5a6676;
	--global-palette7: #e7ebf0;
	--global-palette8: #f3f5f8;
	--global-palette9: #ffffff;
	--global-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--global-heading-font-family: var(--cfpt-cond);
}

body { font-size: 17px; line-height: 1.6; color: var(--cfpt-ink); background: var(--cfpt-wash); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .entry-title, .site-title { font-family: var(--cfpt-cond); font-weight: 700; letter-spacing: .005em; color: var(--cfpt-ink); }
.entry-content h2 { font-size: clamp(1.5rem, 2.6vw, 1.9rem); line-height: 1.2; margin: 2em 0 .6em; padding-top: .2em; scroll-margin-top: 90px; }
.entry-content h3 { font-size: 1.25rem; margin: 1.5em 0 .4em; }
.entry-content p, .entry-content li { max-width: 72ch; }
a { color: var(--cfpt-turf); text-underline-offset: 2px; }
a:hover { color: #17553a; }
:focus-visible { outline: 2px solid var(--cfpt-gold); outline-offset: 2px; }

/* ---------- Header ---------- */
.site-main-header-wrap .site-header-row-container-inner,
.site-mobile-header-wrap .site-header-row-container-inner { background: var(--cfpt-ink); }
.site-header .site-title,
.site-header .site-title a,
.site-branding a.brand { color: #fff; }
.site-header .site-title { font-size: 1.45rem; }
.header-navigation .header-menu-container ul li.menu-item > a,
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus { color: rgba(255,255,255,.88); }
.header-navigation .header-menu-container ul li.menu-item > a:hover,
.header-navigation .header-menu-container ul li.current-menu-item > a { color: #fff; }
.header-navigation .header-menu-container ul li.current-menu-item > a { box-shadow: inset 0 -3px 0 var(--cfpt-gold); }
#mobile-drawer .drawer-inner { background: var(--cfpt-ink); }

/* ---------- Front page hero: the scoreboard ---------- */
.cfpt-hero {
	color: #fff;
	background:
		repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), rgba(255,255,255,.07) calc(10% - 1px) 10%),
		linear-gradient(180deg, var(--cfpt-ink) 0%, var(--cfpt-ink-2) 100%);
	border-bottom: 4px solid var(--cfpt-turf);
	padding: clamp(28px, 5vw, 52px) 0 clamp(22px, 4vw, 36px);
}
.cfpt-hero .cfprh-updated { color: rgba(255,255,255,.7); margin: 0 0 6px; font-size: .9rem; }
.cfpt-hero h1 { color: #fff; margin: 0; font-size: clamp(2.3rem, 6vw, 3.6rem); line-height: 1.02; }
.cfpt-hero-lede { margin: 8px 0 0; color: rgba(255,255,255,.82); font-size: 1.08rem; max-width: 60ch; }
.cfpt-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0 0; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; overflow: hidden; background: rgba(0,0,0,.18); }
.cfpt-cell { padding: 12px 16px; border-left: 1px solid rgba(255,255,255,.12); }
.cfpt-cell:first-child { border-left: 0; }
.cfpt-cell-label { display: block; font-size: .78rem; color: rgba(255,255,255,.65); }
.cfpt-cell-value { display: block; font-family: var(--cfpt-cond); font-weight: 700; font-size: 1.45rem; line-height: 1.2; color: #fff; }
.cfpt-cell.is-no1 .cfpt-cell-value { color: #f1d38c; }
.cfpt-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.cfpt-jump li { margin: 0; }
.cfpt-jump a { display: inline-block; padding: 6px 14px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; text-decoration: none; font-size: .92rem; }
.cfpt-jump a:hover { background: #fff; color: var(--cfpt-ink); }

/* ---------- Content surfaces ---------- */
.content-bg, body.content-style-unboxed .site { background: transparent; }
.entry.content-bg { background: #fff; border-radius: 10px; box-shadow: 0 1px 0 var(--cfpt-line); }
.home .content-area { margin-top: 24px; }
.cfpt-crumbs { font-size: .88rem; color: var(--cfpt-muted); margin: 0 0 12px; }
.cfpt-crumbs a { color: var(--cfpt-muted); }
.cfpt-crumbs .separator { margin: 0 6px; }

/* ---------- Footer ---------- */
.cfpt-note { background: var(--cfpt-ink); color: rgba(255,255,255,.75); font-size: .88rem; padding: 18px 0; border-top: 4px solid var(--cfpt-turf); }
.cfpt-note p { margin: 0; max-width: 90ch; }
.cfpt-note a { color: #fff; }
.site-footer .site-footer-row-container-inner { background: var(--cfpt-ink); color: rgba(255,255,255,.7); }
.site-footer a { color: #fff; }

@media (max-width: 700px) {
	body { font-size: 16px; }
	.cfpt-board { grid-template-columns: 1fr 1fr; }
	.cfpt-cell.is-next { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
	.cfpt-cell-value { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
@media print { .cfpt-hero { background: none; color: #000; } .cfpt-hero h1 { color: #000; } .cfpt-jump, .cfpt-board, .site-header, .cfpt-note { display: none; } }


/* Header nav: force light text over Kadence palette colors */
.site-header .header-navigation .header-menu-container ul li.menu-item > a,
.site-header .header-navigation .header-menu-container ul li.menu-item.current-menu-item > a,
.site-header .header-navigation .header-menu-container ul li.menu-item > a:hover { color: #fff !important; background: transparent !important; }
.site-header .header-navigation .header-menu-container ul li.menu-item > a { opacity: .88; }
.site-header .header-navigation .header-menu-container ul li.menu-item.current-menu-item > a,
.site-header .header-navigation .header-menu-container ul li.menu-item > a:hover { opacity: 1; }
.site-header .mobile-toggle-open-container .menu-toggle-open { color: #fff !important; }
#mobile-drawer .drawer-inner a { color: #fff !important; }
