:root {
	--checklist-ink: #172016;
	--checklist-muted: #596154;
	--checklist-line: #d8dccf;
	--checklist-paper: #f8f7f1;
	--checklist-surface: #ffffff;
	--checklist-accent: #5c7021;
	--checklist-accent-dark: #36440f;
	--checklist-highlight: #d9e7a8;
	--checklist-sand: #ece7d8;
}

.checklistPage,
.checklistArchive {
	color: var(--checklist-ink);
	background: var(--checklist-paper);
	font-family: "DM Sans", sans-serif;
}

.checklistContainer {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.checklistHero,
.checklistArchiveHero {
	position: relative;
	overflow: hidden;
	padding: 46px 0 64px;
	color: #f8f7f1;
	background:
		linear-gradient(105deg, rgba(15, 22, 14, 0.98), rgba(35, 45, 27, 0.93)),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 14px);
}

.checklistHero::after,
.checklistArchiveHero::after {
	position: absolute;
	right: -120px;
	bottom: -210px;
	width: 480px;
	height: 480px;
	border: 1px solid rgba(217, 231, 168, 0.18);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(217, 231, 168, 0.03), 0 0 0 120px rgba(217, 231, 168, 0.025);
	content: "";
}

.checklistBreadcrumbs {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	align-items: center;
	margin-bottom: 42px;
	color: rgba(248, 247, 241, 0.64);
	font: 600 12px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.checklistBreadcrumbs a {
	color: #d9e7a8;
	text-decoration: none;
}

.checklistBreadcrumbs a:hover,
.checklistBreadcrumbs a:focus-visible {
	text-decoration: underline;
}

.checklistHero__layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.65fr);
	gap: 64px;
	align-items: end;
}

.checklistHero__eyebrow,
.checklistArchiveHero__eyebrow,
.checklistSectionHeader > span {
	margin-bottom: 12px;
	color: #bdcf76;
	font: 700 12px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.checklistHero__title,
.checklistArchiveHero h1 {
	max-width: 820px;
	margin: 0;
	color: #fff;
	font: 700 clamp(44px, 6vw, 78px)/0.96 "Barlow Condensed", sans-serif;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.checklistHero__summary,
.checklistArchiveHero__summary {
	max-width: 750px;
	margin: 24px 0 0;
	color: rgba(248, 247, 241, 0.82);
	font-size: 18px;
	line-height: 1.65;
}

.checklistArchiveHero__summary p {
	margin: 0;
}

.checklistHero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.checklistHero__meta span {
	padding: 8px 11px;
	border: 1px solid rgba(217, 231, 168, 0.32);
	border-radius: 3px;
	color: #d9e7a8;
	font: 700 11px/1 "Share Tech Mono", monospace;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.checklistHero__audience {
	padding: 24px;
	border-top: 3px solid #bdcf76;
	background: rgba(255, 255, 255, 0.07);
	backdrop-filter: blur(6px);
}

.checklistHero__audience strong {
	display: block;
	margin-bottom: 8px;
	color: #bdcf76;
	font: 700 11px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.checklistHero__audience p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.6;
}

.checklistPage__content,
.checklistDirectory {
	padding-top: 48px;
	padding-bottom: 88px;
}

.checklistProgress {
	position: sticky;
	top: 84px;
	z-index: 20;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 28px;
	align-items: center;
	margin: -80px 0 46px;
	padding: 22px 24px;
	border: 1px solid var(--checklist-line);
	border-top: 4px solid var(--checklist-accent);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 14px 32px rgba(24, 33, 22, 0.12);
	backdrop-filter: blur(12px);
}

body.admin-bar .checklistProgress {
	top: 116px;
}

.checklistProgress__summary {
	display: grid;
	grid-template-columns: minmax(190px, 0.5fr) minmax(180px, 1fr);
	gap: 24px;
	align-items: center;
}

.checklistProgress__summary strong,
.checklistProgress__label {
	display: block;
}

.checklistProgress__label {
	margin-bottom: 4px;
	color: var(--checklist-muted);
	font: 700 10px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.checklistProgress__summary strong {
	font: 700 17px/1.35 "Barlow Condensed", sans-serif;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.checklistProgress progress {
	width: 100%;
	height: 10px;
	border: 0;
	border-radius: 999px;
	background: #e5e8df;
	accent-color: var(--checklist-accent);
}

.checklistProgress progress::-webkit-progress-bar {
	border-radius: 999px;
	background: #e5e8df;
}

.checklistProgress progress::-webkit-progress-value {
	border-radius: 999px;
	background: var(--checklist-accent);
}

.checklistProgress progress::-moz-progress-bar {
	border-radius: 999px;
	background: var(--checklist-accent);
}

.checklistProgress__actions {
	display: flex;
	gap: 9px;
}

.checklistButton {
	min-height: 42px;
	padding: 10px 15px;
	border: 1px solid var(--checklist-accent-dark);
	border-radius: 2px;
	font: 700 11px/1.2 "Share Tech Mono", monospace;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.checklistButton--secondary {
	color: #fff;
	background: var(--checklist-accent-dark);
}

.checklistButton--quiet {
	color: var(--checklist-accent-dark);
	background: transparent;
}

.checklistButton:hover,
.checklistButton:focus-visible {
	box-shadow: 0 0 0 3px rgba(92, 112, 33, 0.22);
}

.checklistButton:disabled {
	border-color: #c9cec3;
	color: #8a9185;
	cursor: not-allowed;
	box-shadow: none;
}

.checklistProgress__privacy {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--checklist-muted);
	font-size: 11px;
}

.checklistSections {
	display: grid;
	gap: 28px;
}

.checklistSection {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--checklist-line);
	background: var(--checklist-surface);
	box-shadow: 0 8px 26px rgba(27, 37, 24, 0.06);
}

.checklistSection legend {
	display: flex;
	gap: 14px;
	align-items: center;
	width: calc(100% + 2px);
	margin: -1px;
	padding: 18px 24px;
	color: #fff;
	background: #232e20;
	font: 700 24px/1.15 "Barlow Condensed", sans-serif;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.checklistSection__number {
	color: #bdcf76;
	font: 700 12px/1 "Share Tech Mono", monospace;
}

.checklistSection__description {
	margin: 0;
	padding: 18px 24px;
	border-bottom: 1px solid var(--checklist-line);
	color: var(--checklist-muted);
	font-size: 14px;
	line-height: 1.6;
}

.checklistSection__items {
	display: grid;
}

.checklistItem {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	border-bottom: 1px solid #e8eadf;
}

.checklistItem:last-child {
	border-bottom: 0;
}

.checklistItem__control {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.checklistItem__label {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	min-width: 0;
	padding: 19px 24px;
	cursor: pointer;
}

.checklistItem__box {
	position: relative;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	border: 2px solid #687061;
	border-radius: 2px;
	background: #fff;
}

.checklistItem__control:focus-visible + .checklistItem__label .checklistItem__box {
	outline: 3px solid rgba(92, 112, 33, 0.28);
	outline-offset: 3px;
}

.checklistItem__control:checked + .checklistItem__label {
	background: #f3f7e8;
}

.checklistItem__control:checked + .checklistItem__label .checklistItem__box {
	border-color: var(--checklist-accent);
	background: var(--checklist-accent);
}

.checklistItem__control:checked + .checklistItem__label .checklistItem__box::after {
	position: absolute;
	top: 3px;
	left: 7px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	content: "";
}

.checklistItem__control:checked + .checklistItem__label strong {
	color: #56604b;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.checklistItem__content,
.checklistItem__description,
.checklistItem__quantity {
	display: block;
}

.checklistItem__heading {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}

.checklistItem__heading strong {
	font-size: 15px;
	line-height: 1.45;
}

.checklistItem__priority {
	flex: 0 0 auto;
	padding: 4px 7px;
	border-radius: 2px;
	font: 700 9px/1 "Share Tech Mono", monospace;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.checklistItem__priority--essential {
	color: #7b2e24;
	background: #f7e2dd;
}

.checklistItem__priority--recommended {
	color: #40510e;
	background: #e7efc9;
}

.checklistItem__priority--optional {
	color: #596154;
	background: #ebede7;
}

.checklistItem__description {
	margin-top: 5px;
	color: var(--checklist-muted);
	font-size: 13px;
	line-height: 1.55;
}

.checklistItem__quantity {
	margin-top: 7px;
	color: var(--checklist-accent-dark);
	font: 700 10px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.checklistItem__product {
	margin-right: 24px;
	color: var(--checklist-accent-dark);
	font: 700 10px/1.4 "Share Tech Mono", monospace;
	text-transform: uppercase;
}

.checklistGuidance {
	max-width: 820px;
	margin: 64px auto 0;
	font-size: 17px;
	line-height: 1.75;
}

.checklistGuidance h2 {
	margin: 42px 0 12px;
	font: 700 34px/1.1 "Barlow Condensed", sans-serif;
	text-transform: uppercase;
}

.checklistSafety {
	max-width: 920px;
	margin: 48px auto 0;
	padding: 24px 28px;
	border-left: 5px solid var(--checklist-accent);
	background: var(--checklist-sand);
}

.checklistSafety strong {
	font: 700 20px/1.2 "Barlow Condensed", sans-serif;
	text-transform: uppercase;
}

.checklistSafety p {
	margin: 7px 0;
	color: var(--checklist-muted);
	line-height: 1.6;
}

.checklistSafety a,
.checklistItem__product {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.checklistRelated {
	margin-top: 72px;
}

.checklistSectionHeader {
	margin-bottom: 26px;
}

.checklistSectionHeader > span {
	display: block;
	color: var(--checklist-accent);
}

.checklistSectionHeader h2 {
	margin: 0;
	font: 700 clamp(32px, 4vw, 48px)/1 "Barlow Condensed", sans-serif;
	text-transform: uppercase;
}

.checklistRelated__grid,
.checklistDirectory__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.checklistRelated__card,
.checklistCard {
	border: 1px solid var(--checklist-line);
	background: #fff;
	box-shadow: 0 8px 24px rgba(27, 37, 24, 0.05);
}

.checklistRelated__card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
}

.checklistRelated__image {
	display: block;
	min-height: 138px;
	overflow: hidden;
}

.checklistRelated__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.checklistRelated__body {
	padding: 20px;
}

.checklistRelated__body > span,
.checklistCard__topline {
	color: var(--checklist-accent);
	font: 700 10px/1.4 "Share Tech Mono", monospace;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.checklistRelated__body h3 {
	margin: 8px 0 0;
	font: 700 21px/1.18 "Barlow Condensed", sans-serif;
}

.checklistRelated__body a,
.checklistCard h3 a {
	color: var(--checklist-ink);
	text-decoration: none;
}

.checklistArchiveHero {
	padding-bottom: 58px;
}

.checklistArchiveHero h1 {
	max-width: 900px;
}

.checklistFilters {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 32px;
}

.checklistFilters__item {
	padding: 10px 14px;
	border: 1px solid rgba(217, 231, 168, 0.35);
	border-radius: 2px;
	color: #e9eed4;
	font: 700 10px/1 "Share Tech Mono", monospace;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.checklistFilters__item:hover,
.checklistFilters__item:focus-visible,
.checklistFilters__item--active {
	color: #1a2217;
	background: #d9e7a8;
}

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

.checklistCard {
	display: flex;
	min-height: 300px;
	padding: 26px;
	flex-direction: column;
	border-top: 5px solid var(--checklist-accent);
}

.checklistCard__topline,
.checklistCard__footer {
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.checklistCard h3 {
	margin: 30px 0 12px;
	font: 700 31px/1.03 "Barlow Condensed", sans-serif;
	text-transform: uppercase;
}

.checklistCard p {
	margin: 0;
	color: var(--checklist-muted);
	font-size: 14px;
	line-height: 1.65;
}

.checklistCard__footer {
	align-items: center;
	margin-top: auto;
	padding-top: 24px;
	border-top: 1px solid var(--checklist-line);
	color: var(--checklist-muted);
	font: 700 10px/1.4 "Share Tech Mono", monospace;
	text-transform: uppercase;
}

.checklistCard__footer a {
	color: var(--checklist-accent-dark);
	font-weight: 700;
}

.checklistNotice {
	padding: 24px;
	border: 1px solid var(--checklist-line);
	background: #fff;
}

.checklistCallout {
	margin: 38px 0;
	padding: 24px 26px;
	border: 1px solid #d8dccf;
	border-left: 5px solid #5c7021;
	color: #172016;
	background: #f3f5ea;
}

.checklistCallout strong {
	font: 700 22px/1.2 "Barlow Condensed", sans-serif;
	text-transform: uppercase;
}

.checklistCallout p {
	margin: 8px 0 12px;
}

.checklistCallout a {
	color: #36440f;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 900px) {
	.checklistHero__layout,
	.checklistDirectory__grid {
		grid-template-columns: 1fr;
	}

	.checklistHero__audience {
		max-width: 620px;
	}

	.checklistProgress {
		position: relative;
		top: auto;
		grid-template-columns: 1fr;
	}

	body.admin-bar .checklistProgress {
		top: auto;
	}

	.checklistProgress__actions {
		justify-content: flex-start;
	}

	.checklistRelated__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.checklistContainer {
		width: min(100% - 24px, 1180px);
	}

	.checklistHero,
	.checklistArchiveHero {
		padding: 28px 0 54px;
	}

	.checklistBreadcrumbs {
		margin-bottom: 30px;
	}

	.checklistHero__layout {
		gap: 34px;
	}

	.checklistHero__title,
	.checklistArchiveHero h1 {
		font-size: 44px;
	}

	.checklistHero__summary,
	.checklistArchiveHero__summary {
		font-size: 16px;
	}

	.checklistPage__content {
		padding-top: 30px;
	}

	.checklistProgress {
		margin: -60px 0 30px;
		padding: 18px;
	}

	.checklistProgress__summary {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.checklistProgress__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.checklistSection legend {
		padding: 16px 18px;
		font-size: 21px;
	}

	.checklistSection__description {
		padding: 15px 18px;
	}

	.checklistItem {
		grid-template-columns: 1fr;
	}

	.checklistItem__label {
		padding: 17px 18px;
	}

	.checklistItem__heading {
		align-items: flex-start;
	}

	.checklistItem__product {
		margin: -6px 18px 18px 60px;
	}

	.checklistRelated__card {
		grid-template-columns: 105px minmax(0, 1fr);
	}
}

@media print {
	.site-header,
	.site-footer,
	.checklistBreadcrumbs,
	.checklistProgress__actions,
	.checklistProgress__privacy,
	.checklistRelated,
	.checklistSafety,
	.checklistItem__product {
		display: none !important;
	}

	.checklistPage,
	.checklistHero,
	.checklistPage__content {
		color: #000;
		background: #fff;
	}

	.checklistHero {
		padding: 0 0 20px;
	}

	.checklistHero__title,
	.checklistHero__summary,
	.checklistHero__meta span {
		color: #000;
	}

	.checklistHero__audience {
		border: 1px solid #777;
		color: #000;
		background: #fff;
	}

	.checklistHero__audience strong,
	.checklistHero__audience p {
		color: #000;
	}

	.checklistProgress {
		position: static;
		margin: 0 0 20px;
		box-shadow: none;
	}

	.checklistSection {
		break-inside: avoid;
		box-shadow: none;
	}

	.checklistSection legend {
		color: #000;
		background: #eee;
	}

	.checklistItem__control:checked + .checklistItem__label {
		background: #fff;
	}

	.checklistGuidance {
		font-size: 12pt;
	}
}
