@charset "utf-8";

:root{
	--ww-ink:#f3f7ef;
	--ww-muted:#a9b7ad;
	--ww-line:#2a3a30;
	--ww-surface:#111c17;
	--ww-soft:#0a110e;
	--ww-soft-2:#17251e;
	--ww-green:#74c892;
	--ww-green-dark:#9dd9b4;
	--ww-blue:#7db7d7;
	--ww-gold:#e0aa4f;
	--ww-header:rgba(10,17,14,0.92);
	--ww-card-gradient:linear-gradient(135deg,#14221b,#0f1914);
	--ww-page-overlay:linear-gradient(180deg, rgba(10,17,14,0.86), rgba(10,17,14,0.98));
	--ww-shadow:0 18px 45px rgba(0,0,0,0.34);
}

html[data-theme="light"]{
	--ww-ink:#15201a;
	--ww-muted:#5f6b63;
	--ww-line:#dfe6dd;
	--ww-surface:#ffffff;
	--ww-soft:#f4f7f1;
	--ww-soft-2:#ffffff;
	--ww-green:#26734d;
	--ww-green-dark:#153d2c;
	--ww-blue:#2d6f93;
	--ww-gold:#d79a2b;
	--ww-header:rgba(255,255,255,0.92);
	--ww-card-gradient:linear-gradient(135deg,#fff,var(--ww-soft));
	--ww-page-overlay:linear-gradient(180deg, rgba(244,247,241,0.88), rgba(244,247,241,1));
	--ww-shadow:0 18px 45px rgba(21,32,26,0.12);
}

.site-modern{
	background:var(--ww-soft);
	color:var(--ww-ink);
}

.site-modern #page-preloader{
	background-image:none;
}

.site-modern #page-background{
	background:
		var(--ww-page-overlay),
		url("../images/course/waterworks-entrance.jpg") center top / cover fixed;
}

.site-modern.archive-page #page-background{
	background:
		linear-gradient(180deg, rgba(10,17,14,0.68), rgba(10,17,14,0.96)),
		url("../images/course/hole-14-cropped.png") center top / cover fixed;
}

html[data-theme="light"] .site-modern.archive-page #page-background{
	background:
		linear-gradient(180deg, rgba(244,247,241,0.58), rgba(244,247,241,0.94)),
		url("../images/course/hole-14-cropped.png") center top / cover fixed;
}

.site-modern .header{
	height:64px;
	background:var(--ww-header);
	border-bottom:1px solid var(--ww-line);
	box-shadow:0 8px 28px rgba(0,0,0,0.18);
	backdrop-filter:blur(16px);
}

.site-modern .header > a:first-child,
.site-modern .header > a:last-child{
	height:64px;
	width:64px;
	line-height:64px;
	color:var(--ww-ink);
}

.site-modern .header .header-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--ww-ink);
}

.site-modern .header .header-logo-mark{
	display:block;
	width:42px;
	height:42px;
	margin:0;
	line-height:1;
	background:url("../images/brand/waterworks-mark-dark.svg") center / contain no-repeat;
	-webkit-mask:none;
	mask:none;
}

html[data-theme="light"] .site-modern .header .header-logo-mark{
	background:url("../images/brand/waterworks-mark-light.svg") center / contain no-repeat;
	-webkit-mask:none;
	mask:none;
}

.site-modern .header > span{
	text-align:left;
	line-height:64px;
	font-family:'Lato', sans-serif;
	font-size:15px;
	letter-spacing:0;
	color:var(--ww-ink);
	margin-left:74px;
	margin-right:420px;
}

.sidebar-theme{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:18px 14px;
	padding:14px;
	background:rgba(255,255,255,0.04);
	border:1px solid rgba(255,255,255,0.08);
	border-radius:8px;
}

.sidebar-theme > span{
	color:#fff;
	font-family:'Lato', sans-serif;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
}

.theme-toggle{
	display:flex;
	align-items:center;
	gap:8px;
	height:38px;
	padding:0 8px 0 10px;
	background:#20252c;
	border:1px solid rgba(255,255,255,0.08);
	border-radius:999px;
	color:rgba(255,255,255,0.78);
	font-family:'Lato', sans-serif;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
	cursor:pointer;
}

.theme-toggle-track{
	width:42px;
	height:22px;
	padding:3px;
	background:#11171d;
	border:1px solid rgba(255,255,255,0.10);
	border-radius:999px;
}

.theme-toggle-thumb{
	display:block;
	width:14px;
	height:14px;
	background:var(--ww-green);
	border-radius:50%;
	box-shadow:0 0 0 3px rgba(116,200,146,0.14);
	transition:transform 180ms ease;
}

html[data-theme="light"] .theme-toggle{
	background:#f4f7f1;
	border-color:#dfe6dd;
	color:var(--ww-green-dark);
}

html[data-theme="light"] .theme-toggle-track{
	background:#e8f1e8;
	border-color:rgba(38,115,77,0.22);
}

html[data-theme="light"] .theme-toggle-thumb{
	transform:translateX(18px);
	background:var(--ww-gold);
	box-shadow:0 0 0 3px rgba(215,154,43,0.18);
}

.top-nav{
	position:absolute;
	top:0;
	right:72px;
	height:64px;
	display:flex;
	align-items:center;
	gap:4px;
}

.site-modern .header .top-nav a{
	display:flex;
	align-items:center;
	height:38px;
	width:auto;
	position:static;
	top:auto;
	right:auto;
	left:auto;
	line-height:1;
	padding:0 12px;
	border-radius:6px;
	color:var(--ww-muted);
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:0;
}

.site-modern .header .top-nav a:hover,
.site-modern .header .top-nav a.is-active{
	background:var(--ww-soft);
	color:var(--ww-green-dark);
}

.site-modern .submenu .submenu-placeholder{
	display:block;
	height:40px;
	line-height:40px;
	margin-top:-2px;
	padding-left:50px;
	border-top:solid 1px rgba(0,0,0,0.3);
	border-bottom:solid 1px rgba(255,255,255,0.05);
	color:rgba(255,255,255,0.36);
	font-size:10px;
	text-transform:uppercase;
	cursor:default;
}

.site-modern .page-content{
	padding-top:64px;
	min-height:100vh;
}

.site-modern .content{
	max-width:1040px;
	margin:0 auto;
	padding:24px;
}

.archive-hero{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
	align-items:center;
	margin:14px 0 18px;
	padding:28px 32px;
	min-height:0;
	overflow:hidden;
	background:#102319;
	border:1px solid rgba(116,200,146,0.18);
	border-radius:8px;
	box-shadow:var(--ww-shadow);
	color:#fff;
}

html[data-theme="light"] .archive-hero{
	background:var(--ww-surface);
	border-color:var(--ww-line);
	color:var(--ww-ink);
}

.hero-logo{
	width:176px;
	max-width:48vw;
	margin:0 0 18px;
	border-radius:8px;
	box-shadow:0 12px 30px rgba(0,0,0,0.26);
}

.archive-hero .hero-logo{
	width:144px;
}

.archive-eyebrow{
	margin-bottom:10px;
	font-size:12px;
	font-weight:900;
	letter-spacing:0;
	text-transform:uppercase;
	color:#cfe6d8;
}

.archive-hero h1{
	max-width:620px;
	margin:0;
	font-size:38px;
	line-height:1.08;
	font-weight:900;
	color:#fff;
}

html[data-theme="light"] .archive-hero h1{
	color:var(--ww-ink);
}

.archive-hero p{
	max-width:620px;
	margin:0;
	color:rgba(255,255,255,0.84);
	font-size:16px;
	line-height:1.65;
}

html[data-theme="light"] .archive-hero p{
	color:var(--ww-muted);
}

.archive-note{
	margin-top:14px !important;
	color:var(--ww-gold) !important;
	font-size:13px !important;
}

.archive-note:empty{
	display:none;
}

.home-hero{
	display:flex;
	align-items:center;
	min-height:0;
	margin:18px 0 24px;
	padding:34px 38px;
	overflow:hidden;
	background:
		linear-gradient(90deg, rgba(13,28,20,0.90), rgba(13,28,20,0.38)),
		url("../images/course/waterworks-entrance.jpg") center / cover;
	border-radius:8px;
	box-shadow:var(--ww-shadow);
	color:#fff;
}

.home-hero-content{
	max-width:680px;
}

.home-hero h1{
	margin:0 0 14px;
	font-size:48px;
	line-height:1.02;
	font-weight:900;
	color:#fff;
}

.home-hero p{
	max-width:620px;
	margin:0;
	color:rgba(255,255,255,0.84);
	font-size:16px;
	line-height:1.65;
}

.home-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:24px;
}

.home-page .button-gold{
	background:var(--ww-gold);
	border-color:var(--ww-gold);
	color:#1d1607;
}

.home-kicker{
	display:block;
	margin-bottom:12px;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
	color:var(--ww-green);
	letter-spacing:0;
}

.league-week-stack{
	display:grid;
	gap:14px;
	margin-bottom:24px;
}

.week-card{
	background:var(--ww-surface);
	border:1px solid var(--ww-line);
	border-radius:8px;
	box-shadow:0 10px 30px rgba(21,32,26,0.06);
}

.upcoming-week-card{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:18px;
	align-items:center;
	padding:22px;
	background:var(--ww-card-gradient);
}

.week-card h2{
	margin:0 0 10px;
	color:var(--ww-ink);
	font-size:26px;
	line-height:1.14;
	font-weight:900;
}

.week-card p{
	margin:0;
	color:var(--ww-muted);
	line-height:1.55;
}

.week-card-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:flex-end;
}

.previous-week-card{
	padding:0;
	overflow:hidden;
}

.previous-week-card summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	min-height:72px;
	padding:18px 22px;
	cursor:pointer;
	list-style:none;
}

.previous-week-card summary::-webkit-details-marker{
	display:none;
}

.previous-week-card summary strong{
	display:block;
	color:var(--ww-ink);
	font-size:20px;
	line-height:1.15;
	font-weight:900;
}

.previous-week-card summary i{
	color:var(--ww-green);
	transition:transform 180ms ease;
}

.previous-week-card[open] summary i{
	transform:rotate(180deg);
}

.previous-week-body{
	padding:0 22px 20px;
	border-top:1px solid var(--ww-line);
}

.previous-week-actions{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	margin-top:16px;
}

.previous-weeks-dropdown{
	display:block;
}

.previous-weeks-toggle{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:46px;
	padding:0 16px;
	background:var(--ww-surface);
	border:1px dashed var(--ww-line);
	border-radius:8px;
	color:var(--ww-green-dark);
	font-weight:900;
	cursor:pointer;
	list-style:none;
}

.previous-weeks-toggle::-webkit-details-marker{
	display:none;
}

.previous-weeks-toggle strong{
	color:var(--ww-ink);
}

.previous-weeks-toggle i{
	color:var(--ww-green);
	transition:transform 180ms ease;
}

.previous-weeks-dropdown[open] > .previous-weeks-toggle i{
	transform:rotate(180deg);
}

.previous-weeks-list{
	display:grid;
	gap:10px;
	margin-top:12px;
}

.previous-weeks-dropdown:not([open]) .previous-weeks-list{
	display:none;
}

.home-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:16px;
	color:var(--ww-blue);
	font-weight:900;
}

.course-section{
	margin:24px 0;
}

.section-heading{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(280px,420px);
	gap:18px;
	align-items:end;
	margin-bottom:16px;
}

.section-heading .home-kicker{
	grid-column:1 / -1;
	margin-bottom:-8px;
}

.section-heading h2{
	margin:0;
	color:var(--ww-ink);
	font-size:28px;
	line-height:1.16;
	font-weight:900;
}

.section-heading p{
	margin:0;
	color:var(--ww-muted);
	line-height:1.55;
}

.course-gallery{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

.course-gallery article{
	overflow:hidden;
	background:var(--ww-surface);
	border:1px solid var(--ww-line);
	border-radius:8px;
	box-shadow:0 10px 30px rgba(21,32,26,0.06);
}

.course-gallery img{
	width:100%;
	height:210px;
	object-fit:cover;
}

.course-gallery div{
	padding:18px;
}

.course-gallery h3{
	margin:0 0 8px;
	color:var(--ww-ink);
	font-size:18px;
	font-weight:900;
}

.course-gallery p{
	margin:0;
	color:var(--ww-muted);
	line-height:1.55;
}

.home-band{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1px;
	overflow:hidden;
	margin-bottom:24px;
	background:var(--ww-line);
	border:1px solid var(--ww-line);
	border-radius:8px;
}

.home-band a{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:58px;
	padding:12px;
	background:var(--ww-surface);
	color:var(--ww-ink);
	font-weight:900;
	text-align:center;
}

.home-band a:hover{
	color:var(--ww-green);
}

.archive-toolbar{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	margin-bottom:24px;
	padding:18px;
	background:var(--ww-surface);
	border:1px solid var(--ww-line);
	border-radius:8px;
	box-shadow:0 10px 30px rgba(21,32,26,0.06);
}

.archive-toolbar p{
	margin:0;
	color:var(--ww-muted);
	line-height:1.5;
}

.season-nav{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
	gap:10px;
	align-items:center;
	margin:20px 0 0;
}

.season-nav a,
.season-nav span{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-width:92px;
	height:42px;
	padding:0 16px;
	border:1px solid var(--ww-line);
	border-radius:6px;
	background:var(--ww-surface);
	color:var(--ww-muted);
	font-weight:900;
	line-height:1;
}

.season-nav .season-nav-link{
	color:var(--ww-green-dark);
}

.season-nav .season-nav-prev{
	justify-self:start;
}

.season-nav .season-nav-next{
	justify-self:end;
}

.season-nav .season-nav-current{
	min-width:86px;
	background:var(--ww-green-dark);
	border-color:var(--ww-green-dark);
	color:#fff;
}

.season-nav .season-nav-empty{
	opacity:0.58;
}

.archive-page .button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:auto;
	min-width:116px;
	height:42px;
	line-height:1;
	padding:0 16px;
	border-radius:6px;
	box-shadow:none;
	font-weight:900;
	letter-spacing:0;
	text-transform:none;
}

.archive-page .button-dark{
	background:var(--ww-green-dark);
	border-color:var(--ww-green-dark);
}

.archive-list{
	display:grid;
	gap:14px;
}

.archive-page .decoration{
	display:none;
}

.archive-page .toggle{
	display:block;
	clear:none;
	position:relative;
	overflow:hidden;
	background:var(--ww-surface);
	border:1px solid var(--ww-line);
	border-radius:8px;
	box-shadow:0 10px 30px rgba(21,32,26,0.06);
}

.archive-page .toggle-title{
	float:none;
	position:relative;
	width:auto;
	min-height:58px;
	padding:16px 64px 14px 20px;
	margin:0;
	line-height:1.2;
	font-size:15px;
	color:var(--ww-ink);
}

.archive-page .toggle-trigger{
	position:absolute;
	top:0;
	right:0;
	width:58px;
	height:58px;
	margin:0;
	float:none;
	display:flex;
	align-items:center;
	justify-content:center;
}

.archive-page .toggle-trigger i{
	font-size:13px;
	color:var(--ww-green);
}

.archive-page .toggle-active .toggle-trigger i{
	color:var(--ww-green);
}

.archive-page .toggle-content{
	padding:4px 18px 18px;
	border-top:1px solid var(--ww-line);
	background:linear-gradient(180deg,var(--ww-surface),var(--ww-soft));
}

.archive-page .toggle-content:after{
	content:"";
	display:block;
	clear:both;
}

.archive-page .toggle-content .one-half{
	display:flex;
	align-items:center;
	gap:10px;
	width:calc(50% - 8px);
	min-height:54px;
	margin:8px 16px 8px 0;
	padding:10px;
	background:var(--ww-soft-2);
	border:1px solid rgba(38,115,77,0.14);
	border-radius:8px;
	color:var(--ww-muted);
	font-weight:700;
}

.archive-page .toggle-content .one-half:nth-child(even),
.archive-page .toggle-content .last-column{
	margin-right:0;
}

.archive-page .toggle-content .button{
	min-width:96px;
	height:36px;
	padding:0 12px;
}

.archive-page .button-disabled{
	background:var(--ww-soft);
	border:1px solid var(--ww-line);
	color:var(--ww-muted);
	cursor:default;
	pointer-events:none;
}

.scorecard-date{
	display:inline-block;
	color:var(--ww-muted);
	font-size:12px;
	font-weight:900;
}

.scorecard-note{
	display:block;
	color:var(--ww-muted);
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
}

.archive-page .copyright-text{
	margin:32px 0 0;
	color:var(--ww-muted);
}

@media (max-width:1100px){
	.site-modern .header > span{
		text-align:center;
		margin-left:50px;
		margin-right:50px;
	}

	.top-nav{
		display:none;
	}
}

@media (max-width:760px){
	.site-modern .content{
		padding:14px;
	}

	.site-modern .header > span{
		text-align:left;
		margin-left:50px;
		margin-right:50px;
	}

	.top-nav{
		display:none;
	}

	.archive-hero{
		grid-template-columns:1fr;
		min-height:0;
		padding:24px;
		align-items:center;
	}

	.archive-hero h1{
		font-size:32px;
	}

	.home-hero{
		min-height:0;
		padding:28px;
	}

	.home-hero h1{
		font-size:36px;
	}

	.upcoming-week-card,
	.home-band,
	.course-gallery,
	.section-heading{
		grid-template-columns:1fr;
	}

	.week-card-actions{
		justify-content:flex-start;
	}

	.section-heading .home-kicker{
		margin-bottom:0;
	}

	.archive-toolbar{
		grid-template-columns:1fr;
	}

	.archive-toolbar .button{
		width:100%;
	}

	.archive-page .toggle-content .one-half{
		width:100%;
		margin-right:0;
	}
}

@media (max-width:420px){
	.site-modern .header > span{
		font-size:13px;
	}

	.archive-hero{
		min-height:0;
		padding:20px;
	}

	.archive-hero h1{
		font-size:28px;
	}

	.home-hero{
		min-height:0;
		padding:22px;
	}

	.home-hero h1{
		font-size:32px;
	}

	.hero-logo{
		width:136px;
	}

	.archive-hero p{
		font-size:14px;
	}

	.home-hero p{
		font-size:14px;
	}
}
