/*
Theme Name: PAFLL 2026
Theme URI: https://pafll.com/
Author: Western PA FLL
Description: Accessible block theme for the Western Pennsylvania FIRST LEGO League 2026 BIOGLOW season.
Version: 0.7.7
Requires at least: 6.9
Requires PHP: 8.3
Text Domain: pafll-2026
*/

:root {
	--pafll-shadow: 0 18px 45px rgba(8, 32, 52, 0.12);
}

html {
	scroll-behavior: smooth;
}

body {
	text-wrap: pretty;
}

/* WooCommerce renders this heading even when no cross-sell products exist. */
.wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	display: none;
}

.pafll-policy-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
}

.pafll-policy-page {
	max-width: 900px;
}

.pafll-policy-page h2 {
	margin-top: 2.25rem;
}

.pafll-resource-checklist li {
	margin-bottom: .65rem;
}

/* The cart is intentionally a single-purpose Season Pass checkout. */
body.woocommerce-cart .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wp-block-heading:has(+ .wp-block-woocommerce-product-collection),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .is-style-dots {
	display: none !important;
}

a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--wp--preset--color--bio-cyan);
	outline-offset: 3px;
}

.pafll-site-header {
	position: relative;
	z-index: 5;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.pafll-hero {
	position: relative;
	overflow: hidden;
	gap: 0;
	background: #2c5535;
}

.pafll-hero-copy::after {
	position: absolute;
	right: -7rem;
	bottom: -9rem;
	width: 25rem;
	height: 25rem;
	border: 4rem solid rgba(240, 233, 115, 0.12);
	border-radius: 52% 48% 62% 38%;
	content: "";
	pointer-events: none;
	transform: rotate(22deg);
}

.pafll-hero-copy,
.pafll-hero-art {
	position: relative;
	min-height: 620px;
}

.pafll-hero-copy {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	overflow: hidden;
}

.pafll-hero-copy > * {
	position: relative;
	z-index: 1;
}

.pafll-hero-art {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background-color: #c6de94;
	background-image: linear-gradient(145deg, rgba(112, 163, 52, 0.16) 0 2px, transparent 2px 100%);
	background-size: 7rem 7rem;
}

.pafll-hero-logo {
	display: block;
	width: min(100%, 780px);
	height: auto;
	filter: drop-shadow(0 22px 32px rgba(0, 0, 0, 0.18));
}

.pafll-edition-note {
	max-width: 38rem;
	margin-right: auto;
	margin-left: auto;
}

.pafll-eyebrow {
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.pafll-card {
	height: 100%;
	border: 1px solid rgba(11, 59, 96, 0.12);
	box-shadow: var(--pafll-shadow);
}

.pafll-callout {
	border-left: 6px solid var(--wp--preset--color--bio-green);
}

.pafll-page-hero {
	border-radius: 0 0 28px 28px;
}

.pafll-page-hero .wp-block-heading {
	max-width: 900px;
}

.pafll-step {
	position: relative;
	height: 100%;
	border-top: 6px solid var(--wp--preset--color--bio-green);
	box-shadow: var(--pafll-shadow);
}

.pafll-policy-table td,
.pafll-policy-table th {
	padding: 1rem;
	border-bottom: 1px solid rgba(20, 32, 43, 0.14);
	vertical-align: top;
}

.pafll-division-intro {
	margin-top: clamp(3rem, 7vw, 6rem);
	margin-bottom: 2rem;
}

.pafll-division-table {
	margin-bottom: clamp(3rem, 7vw, 6rem);
}

.pafll-division-table thead th:nth-child(2) {
	background: var(--wp--preset--color--bio-light-green);
}

.pafll-division-table thead th:nth-child(3) {
	background: var(--wp--preset--color--bio-purple);
	color: var(--wp--preset--color--white);
}

.pafll-division-table th:first-child {
	width: 19%;
}

.pafll-division-card {
	margin-bottom: 1.25rem;
	box-shadow: var(--pafll-shadow);
}

.pafll-division-card__label {
	margin: 0 0 .4rem;
	font-size: .78rem;
	letter-spacing: .12em;
}

@media (max-width: 781px) {
	.pafll-division-table {
		font-size: .9rem;
	}

	.pafll-division-table td,
	.pafll-division-table th {
		padding: .7rem;
	}
}

.pafll-section-kicker {
	letter-spacing: .12em;
	text-transform: uppercase;
}

.wp-block-button__link {
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.wp-block-button__link:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

.pafll-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: #fff;
	color: #fff;
}

.pafll-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: #14202b;
	background: #fff;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.wp-block-button__link {
		transition: none;
	}
}

@media (max-width: 781px) {
	.pafll-hero-copy,
	.pafll-hero-art {
		min-height: auto;
	}

	.pafll-hero-copy {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}

	.pafll-hero-art {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}
}
