/* The Pines Post 2.0: styles theme.json can't express. */

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--forest);
	outline-offset: 2px;
}

/* ---------- Header ---------- */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 20;
}
.pp2-header {
	background: rgba(246, 244, 238, 0.95);
	backdrop-filter: saturate(1.2) blur(6px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.pp2-wordmark .wp-block-site-title a::after {
	content: ".";
	color: var(--wp--preset--color--forest);
}

/* Latest strip */
.pp2-latest .wp-block-post-title a {
	color: #ffffff;
}
.pp2-latest .wp-block-post-title a:hover {
	color: var(--wp--preset--color--mint);
}
.pp2-latest .wp-block-post-template {
	margin: 0;
}

/* Section chips */
.pp2-chips .wp-block-navigation-item__content {
	display: inline-block;
	padding: 0.45rem 0.85rem;
	border: 1px solid #d8d4c8;
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	line-height: 1.2;
}
.pp2-chips .wp-block-navigation-item__content:hover,
.pp2-chips .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* ---------- Labels and pills ---------- */
.pp2-pill,
.pp2-label {
	display: inline-block;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}
.pp2-label {
	margin: 0;
}

/* Category pills from post-terms */
.pp2-cat a {
	display: inline-block;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--forest);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.pp2-cat a:hover {
	background: var(--wp--preset--color--forest-dark);
	color: #ffffff;
	text-decoration: none;
}
.pp2-cat .wp-block-post-terms__separator {
	display: none;
}
.pp2-cat a + a {
	margin-left: 0.35rem;
}

/* Status pills from tags (Open now / Coming soon / Closed) */
.pp2-status a {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}
.pp2-status a[href*="/tag/open-now"] {
	background: var(--wp--preset--color--forest);
	border-color: var(--wp--preset--color--forest);
	color: #ffffff;
}
.pp2-status a[href*="/tag/closed"] {
	background: var(--wp--preset--color--stone);
	border-color: var(--wp--preset--color--stone);
	color: var(--wp--preset--color--muted);
}
.pp2-status .wp-block-post-terms__separator {
	display: none;
}
.pp2-status a + a {
	margin-left: 0.35rem;
}

/* ---------- Cards ---------- */
.pp2-card {
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
	overflow: hidden;
}
.pp2-card .wp-block-post-featured-image,
.pp2-card .wp-block-post-featured-image img {
	border-radius: 0;
}
.pp2-lead .wp-block-post-featured-image img,
.pp2-grid .wp-block-post-featured-image img,
.pp2-card .wp-block-post-featured-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.pp2-lead .wp-block-post-featured-image {
	border-radius: 24px;
	overflow: hidden;
}

/* Dark rundown card */
.pp2-rundown ol {
	list-style: none;
	counter-reset: rd;
	padding: 0;
	margin: 0;
}
.pp2-rundown ol li {
	counter-increment: rd;
	display: flex;
	gap: 0.875rem;
	padding: 0.875rem 0 0;
	margin: 0.875rem 0 0;
	border-top: 1px solid #24443a;
	line-height: 1.45;
}
.pp2-rundown ol li::before {
	content: counter(rd);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1.1;
	color: var(--wp--preset--color--mint);
	min-width: 1.5rem;
}

/* Story lists */
.pp2-list .wp-block-post-template > li + li {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 0.875rem;
}

/* Scores table */
.pp2-scores table {
	border-collapse: collapse;
	width: 100%;
}
.pp2-scores td,
.pp2-scores th {
	border: 0;
	border-top: 1px solid #ece9e0;
	padding: 0.7rem 0;
	text-align: left;
}
.pp2-scores td:last-child,
.pp2-scores th:last-child {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.pp2-scores thead th {
	border-top: 0;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Poll options */
.pp2-option {
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 14px;
	padding: 0.8rem 1rem;
	margin: 0;
	font-weight: 600;
}

/* Weekend date badge */
.pp2-badge {
	flex-shrink: 0;
	width: 64px;
	text-align: center;
}

/* Sponsor slots */
.pp2-sponsor {
	border: 1px dashed #b9b5a8;
}
.pp2-ad-tile {
	aspect-ratio: 4 / 3;
	border: 1px dashed #b9b5a8;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--wp--preset--color--card);
}
.pp2-ad-tile:has(img) {
	border: 0;
	background: transparent;
}
.pp2-ad-tile img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid currentColor;
	background: transparent;
}
.pp2-on-dark .wp-block-button.is-style-outline > .wp-block-button__link {
	color: #ffffff;
}
.pp2-on-light .wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--ink);
}
.pp2-on-light .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* Links on dark backgrounds */
.pp2-on-dark a:not(.wp-element-button) {
	color: var(--wp--preset--color--mint);
}

/* Footer */
.pp2-footer .wp-block-navigation a {
	color: var(--wp--preset--color--ink);
}
.pp2-footer .wp-block-navigation a:hover {
	color: var(--wp--preset--color--forest);
}

/* Post navigation */
.wp-block-post-navigation-link a {
	color: var(--wp--preset--color--ink);
	font-weight: 700;
}
.wp-block-post-navigation-link a:hover {
	color: var(--wp--preset--color--forest);
}

.wp-block-post-content a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.wp-block-post-content img {
	height: auto;
	border-radius: 16px;
}

/* ---------- Phones ---------- */
@media (max-width: 781px) {
	.pp2-header-row {
		row-gap: 0.5rem !important;
	}
	.pp2-chips .wp-block-navigation__container {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 2px;
	}
	.pp2-chips .wp-block-navigation__container::-webkit-scrollbar {
		display: none;
	}
	.pp2-chips {
		width: 100%;
	}
	.pp2-hide-mobile {
		display: none !important;
	}
}

@media (max-width: 600px) {
	.pp2-grid .wp-block-post-template > li > .wp-block-group {
		display: grid;
		grid-template-columns: 104px 1fr;
		column-gap: 0.875rem;
		row-gap: 0.25rem;
		align-content: start;
	}
	.pp2-grid .wp-block-post-template > li > .wp-block-group > * {
		margin-block-start: 0;
		grid-column: 2;
	}
	.pp2-grid .wp-block-post-template > li > .wp-block-group > .wp-block-post-featured-image {
		grid-column: 1;
		grid-row: 1 / span 4;
		aspect-ratio: 1 / 1 !important;
		border-radius: 14px;
		overflow: hidden;
	}
	.pp2-grid .wp-block-post-template > li > .wp-block-group > .wp-block-post-featured-image img {
		aspect-ratio: 1 / 1 !important;
	}
	.pp2-grid .wp-block-post-title {
		font-size: 1.0625rem !important;
	}
	.pp2-grid .wp-block-post-excerpt {
		display: none;
	}
}

/* ---------- Archive heads and grids ---------- */
.pp2-archive-head {
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.pp2-grid .wp-block-post-featured-image {
	border-radius: 20px;
	overflow: hidden;
}
.pp2-sidebar > * + * {
	margin-block-start: 2rem;
}
.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 0.7rem 1rem;
	background: var(--wp--preset--color--card);
}
.wp-block-search__button {
	margin-left: 0.5rem;
}
.wp-block-post-author-name {
	color: var(--wp--preset--color--ink);
}
.pp2-chips .wp-block-navigation-item__content {
	white-space: nowrap;
}
.pp2-badge p {
	margin: 0;
	width: 100%;
}
