/*
Theme Name: KOT845 Sports
Theme URI: https://kot845.com/
Author: Kings of the 845
Description: Custom sports and community news theme for KOT845.
Version: 1.1.4
Text Domain: kot845
*/

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 16px;
	clip: auto;
	background: #f3ba18;
	color: #090909;
	font-weight: 900;
	text-decoration: none;
}

:root {
	--kot-black: #08090a;
	--kot-ink: #111318;
	--kot-charcoal: #191c21;
	--kot-gold: #f5b800;
	--kot-gold-dark: #b88700;
	--kot-white: #ffffff;
	--kot-light: #f2f3f5;
	--kot-gray: #626872;
	--kot-border: #d9dce1;
	--kot-shell: 1200px;
	--kot-shadow: 0 14px 38px rgba(0, 0, 0, 0.09);
}

/* Original Day 1 homepage design, mapped to the current dynamic template. */
.kot-main{background:#fff}
.kot-hero{min-height:660px;display:flex;align-items:flex-end;color:#fff}
.kot-hero .kot-hero-inner{width:min(100% - 48px,var(--kot-shell));padding-top:150px;padding-bottom:88px}
.kot-hero h1{max-width:980px;margin:0;color:#fff;font-size:clamp(2.75rem,6.5vw,6.7rem);font-weight:950;letter-spacing:-.055em;line-height:.93;text-transform:uppercase}
.kot-hero p{max-width:700px;margin:28px 0 0;color:#e6e7e9;font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.55}
.kot-kicker{display:block;margin-bottom:14px;color:var(--kot-gold);font-size:.76rem;font-weight:900;letter-spacing:.18em;line-height:1.3;text-transform:uppercase}
.kot-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.kot-btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 24px;border:2px solid transparent;font-size:.83rem;font-weight:900;letter-spacing:.06em;line-height:1;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease}
.kot-btn:hover,.kot-btn:focus{transform:translateY(-2px)}
.kot-btn-gold{background:var(--kot-gold);color:var(--kot-black)}
.kot-btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}
.kot-btn-dark{background:var(--kot-black);color:#fff}
.kot-ticker{background:var(--kot-gold);border:0}
.kot-ticker-inner{display:flex;align-items:center;gap:16px;min-height:48px}
.kot-ticker strong{flex:0 0 auto;padding:7px 10px;background:var(--kot-black);color:var(--kot-gold);font-size:.72rem;font-weight:950;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.kot-ticker span{color:var(--kot-black);font-weight:800;line-height:1.35}
.kot-section{padding:64px 0 24px}
.kot-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px;padding-bottom:14px;border-bottom:3px solid var(--kot-black)}
.kot-section-head h2{margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:950;letter-spacing:-.045em;line-height:.95;text-transform:uppercase}
.kot-section-head>a,.kot-text-link{flex:0 0 auto;color:var(--kot-black);font-size:.75rem;font-weight:900;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}
.kot-feature-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:repeat(2,minmax(215px,auto));gap:10px}
.kot-feature-grid .story-card.large{grid-row:1 / 3;min-height:530px}
.kot-feature-grid .story-card:nth-child(4){grid-column:2 / 4}
.story-card{position:relative;min-height:250px;overflow:hidden;background-color:var(--kot-charcoal);background-position:center;background-size:cover;color:#fff}
.story-card::before{position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.18) 76%);pointer-events:none}
.story-link{position:relative;z-index:1;display:flex;width:100%;height:100%;min-height:inherit;align-items:flex-end;padding:24px;color:#fff;text-decoration:none}
.story-link:hover,.story-link:focus{color:#fff}
.story-content h3{margin:8px 0 10px;color:#fff;font-size:clamp(1.2rem,1.8vw,1.75rem);line-height:1.05}
.story-card.large .story-content h3{font-size:clamp(1.75rem,3vw,3rem)}
.story-content p{margin:0;color:#e5e7eb;line-height:1.48}
.story-meta{color:var(--kot-gold);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.kot-rankings{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:46px;margin:64px 0 70px;padding:52px;background:var(--kot-gold)}
.kot-rankings h2{margin-bottom:16px;font-size:clamp(2.2rem,4vw,4.2rem);font-weight:950;line-height:.92;text-transform:uppercase}
.rank-list{display:flex;flex-direction:column;background:#fff}
.rank-item{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;min-height:82px;padding:14px 20px;border-bottom:1px solid var(--kot-border);color:var(--kot-black);text-decoration:none}
.rank-item:last-child{border-bottom:0}.rank-item>span{color:var(--kot-gold-dark);font-size:1.55rem;font-weight:950}.rank-item>strong{line-height:1.25}.rank-item>em{font-size:.7rem;font-style:normal;font-weight:900;text-transform:uppercase}
.kot-partners-section{margin:40px 0 70px;padding:48px;background:var(--kot-black);border-top:5px solid var(--kot-gold);color:#fff}
.kot-partners-section .kot-section-head{border-bottom-color:rgba(255,255,255,.72)}
.kot-partners-section .kot-section-head h2,.kot-partners-section .kot-section-head p{color:#fff}
.kot-partners-section .kot-partner-card{background:#fff;color:var(--kot-black);border-left:4px solid var(--kot-gold)}
.kot-partner-card h3{margin:0 0 12px;font-size:1.35rem;line-height:1.1}.kot-partner-card p{color:var(--kot-gray);line-height:1.5}
@media(max-width:920px){.kot-hero{min-height:580px}.kot-feature-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.kot-feature-grid .story-card.large,.kot-feature-grid .story-card:nth-child(4){grid-column:auto;grid-row:auto;min-height:380px}.kot-rankings{grid-template-columns:1fr;gap:30px;padding:36px}}
@media(max-width:650px){.kot-hero .kot-hero-inner{width:min(100% - 34px,var(--kot-shell));padding-top:105px;padding-bottom:58px}.kot-hero h1{font-size:clamp(2.55rem,12vw,4rem)}.kot-hero p{font-size:1rem}.kot-actions,.kot-btn{width:100%}.kot-ticker-inner,.kot-section-head{align-items:flex-start;flex-direction:column}.kot-ticker-inner{gap:8px;padding-top:12px;padding-bottom:12px}.kot-section{padding:46px 0 14px}.kot-feature-grid{grid-template-columns:1fr}.story-card,.kot-feature-grid .story-card.large{min-height:350px}.story-link{padding:22px}.kot-rankings,.kot-partners-section{margin:46px 0 50px;padding:27px 20px}.rank-item{grid-template-columns:46px 1fr}.rank-item>em{display:none}}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--kot-white);
	color: var(--kot-ink);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.admin-bar .site-header {
	top: 32px;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	max-width: 100%;
	margin: 0 0 1.5rem;
}

iframe,
video {
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration-color: var(--kot-gold);
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: var(--kot-gold-dark);
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.65em;
	color: var(--kot-black);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

h1 {
	font-size: clamp(2.25rem, 5.5vw, 5rem);
}

h2 {
	font-size: clamp(1.75rem, 3.5vw, 3.25rem);
}

h3 {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
}

p,
ul,
ol {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.kot-shell,
.content-wrap {
	width: min(100% - 48px, var(--kot-shell));
	margin-inline: auto;
}

.site-header {
	position: relative;
	z-index: 9999;
	width: 100%;
	background: var(--kot-black);
	border-bottom: 4px solid var(--kot-gold);
	color: var(--kot-white);
}

.header-inner {
	display: flex;
	min-height: 78px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-title {
	display: inline-block;
	color: var(--kot-white);
	font-size: clamp(1.2rem, 2.4vw, 1.7rem);
	font-weight: 950;
	letter-spacing: -0.045em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-title:hover,
.site-title:focus {
	color: var(--kot-gold);
}

.main-nav {
	margin-left: auto;
}

.primary-menu,
.primary-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
}

.primary-menu > li {
	position: relative;
}

.primary-menu a {
	display: flex;
	min-height: 78px;
	align-items: center;
	padding: 0 12px;
	color: var(--kot-white);
	font-size: 0.73rem;
	font-weight: 900;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.primary-menu > li > a:hover,
.primary-menu > li > a:focus,
.primary-menu > .current-menu-item > a,
.primary-menu > .current-menu-ancestor > a {
	background: rgba(255, 255, 255, 0.06);
	color: var(--kot-gold);
}

.primary-menu .menu-item-has-children > a::after {
	content: "▾";
	margin-left: 7px;
	color: var(--kot-gold);
	font-size: 0.7rem;
}

.primary-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10000;
	min-width: 225px;
	visibility: hidden;
	overflow: hidden;
	background: var(--kot-charcoal);
	border-top: 4px solid var(--kot-gold);
	box-shadow: 0 18px 35px rgba(0, 0, 0, 0.28);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.primary-menu .sub-menu a {
	min-height: 0;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	font-size: 0.72rem;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus,
.primary-menu .sub-menu .current-menu-item > a {
	background: var(--kot-gold);
	color: var(--kot-black);
}

.menu-toggle {
	display: none;
	min-height: 44px;
	padding: 0 16px;
	background: var(--kot-gold);
	border: 0;
	color: var(--kot-black);
	cursor: pointer;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

main,
.site-main {
	display: block;
}

.content-wrap {
	padding-top: 64px;
	padding-bottom: 76px;
}

.entry-header,
.page-header {
	margin-bottom: 30px;
}

.entry-title,
.page-title {
	max-width: 980px;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.entry-meta,
.post-meta,
.posted-on {
	color: var(--kot-gray);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.entry-content {
	max-width: 900px;
}

.entry-content > * {
	max-width: 100%;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	font-size: 1.08rem;
}

.entry-content a {
	font-weight: 700;
}

.entry-content img,
.wp-post-image,
.attachment-post-thumbnail {
	max-width: 100%;
	height: auto;
}

.single .content-wrap,
.single-post .content-wrap {
	max-width: 1000px;
}

.single .entry-content,
.single-post .entry-content {
	max-width: 780px;
	margin-inline: auto;
}

.single .entry-header,
.single-post .entry-header {
	max-width: 960px;
	margin-inline: auto;
	margin-bottom: 34px;
}

.single .entry-header + .wp-post-image,
.single-post .entry-header + .wp-post-image,
.single article > .wp-post-image {
	width: 100%;
	max-height: 620px;
	margin: 0 auto 38px;
	object-fit: cover;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text,
figcaption {
	margin-top: 8px;
	color: var(--kot-gray);
	font-size: 0.82rem;
}

.alignleft {
	float: left;
	margin: 0 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: 0 0 1rem 1.5rem;
}

.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.alignwide {
	width: min(1100px, 100vw - 48px);
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.navigation.pagination,
.post-navigation {
	margin: 40px 0;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.page-numbers,
.post-navigation a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	padding: 8px 15px;
	background: var(--kot-black);
	color: var(--kot-white);
	font-weight: 800;
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover,
.post-navigation a:hover {
	background: var(--kot-gold);
	color: var(--kot-black);
}

.site-footer {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 64px 0 22px;
	background: var(--kot-black);
	border-top: 7px solid var(--kot-gold);
	color: rgba(255, 255, 255, 0.72);
}

.footer-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(145px, 0.75fr));
	gap: 44px;
	padding-bottom: 42px;
}

.site-footer h3 {
	margin-bottom: 18px;
	color: var(--kot-white);
	font-size: 1rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.footer-brand h3 {
	color: var(--kot-gold);
	font-size: 1.4rem;
}

.footer-brand p {
	max-width: 470px;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li {
	margin-bottom: 9px;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--kot-gold);
}

.site-footer > .kot-shell:last-child {
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer small {
	font-size: 0.75rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.screen-reader-text:focus {
	top: 5px;
	left: 5px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 15px 23px;
	clip: auto;
	background: var(--kot-white);
	color: var(--kot-black);
	font-weight: 700;
}

@media (max-width: 1080px) {
	.primary-menu a {
		padding-inline: 8px;
		font-size: 0.67rem;
	}
}

@media (max-width: 900px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	.header-inner {
		position: relative;
		min-height: 70px;
	}

	.menu-toggle {
		display: inline-flex;
		align-items: center;
	}

	.main-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		background: var(--kot-black);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 18px 35px rgba(0, 0, 0, 0.28);
	}

	.menu-toggle[aria-expanded="true"] + .main-nav,
	.main-nav.toggled,
	.main-nav.is-open {
		display: block;
	}

	.primary-menu {
		display: block;
	}

	.primary-menu a {
		min-height: 0;
		padding: 15px 22px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.09);
		font-size: 0.74rem;
	}

	.primary-menu .sub-menu {
		position: static;
		display: block;
		visibility: visible;
		min-width: 0;
		background: rgba(255, 255, 255, 0.045);
		border-top: 0;
		box-shadow: none;
		opacity: 1;
		transform: none;
	}

	.primary-menu .sub-menu a {
		padding-left: 38px;
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.kot-shell,
	.content-wrap {
		width: min(100% - 34px, var(--kot-shell));
	}

	body.admin-bar .site-header {
		top: 0;
	}

	.site-title {
		font-size: 1.05rem;
	}

	.content-wrap {
		padding-top: 42px;
		padding-bottom: 52px;
	}

	.entry-content > p,
	.entry-content > ul,
	.entry-content > ol {
		font-size: 1rem;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 0 auto 1.25rem;
	}
}
