/*
Theme Name: ZeroDrunk
Theme URI: https://zerodrunk.site/
Description: Child theme of Twenty Twenty-Five for zerodrunk.site.
Author: jecrs687
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
Text Domain: zerodrunk
*/

:root {
	--ab-primary: #1f4d3f;
	--ab-primary-dark: #163a2f;
	--ab-accent: #f4a77a;
	--ab-accent-soft: #fde7d9;
	--ab-accent-text: #a5532a;
	--ab-soft: #eaf2ed;
	--ab-soft-2: #d7e7dd;
	--ab-ink: #1c2a25;
	--ab-muted: #4b5d56;
	--ab-line: #d5e2da;
	--ab-base: #fbfdfb;
	--ab-card: #ffffff;
	--ab-on-dark: #e9f3ee;
	--ab-on-dark-muted: #cfe2d8;
	--ab-cta-btn-bg: #f4a77a;
	--ab-cta-btn-bg-hover: #f7b993;
	--ab-cta-btn-text: #163a2f;
	--ab-radius: 18px;
	--ab-radius-sm: 12px;
	--ab-btn-radius: 999px;
	--ab-shadow: 0 1px 2px rgba(22, 58, 47, .06), 0 14px 34px -20px rgba(22, 58, 47, .28);
	--ab-shadow-hover: 0 2px 4px rgba(22, 58, 47, .08), 0 22px 44px -22px rgba(22, 58, 47, .38);
	--ab-font: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body {
	overflow-x: clip;
	background: var(--ab-base);
	color: var(--ab-ink);
	font-family: var(--ab-font);
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}

.ab-header {
	background: rgba(251, 253, 251, .94);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 2px solid var(--ab-primary);
	padding: 0 !important;
}

.ab-header-inner {
	max-width: 1200px;
	margin: 0 auto !important;
	padding: 12px 16px;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
}

.ab-logo {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.2;
}

.ab-logo a {
	color: var(--ab-primary-dark);
	text-decoration: none;
}

.ab-header-right {
	gap: 18px;
	align-items: center;
}

.ab-nav {
	font-weight: 700;
	font-size: 1rem;
	gap: 22px;
}

.ab-nav .wp-block-navigation-item__content {
	color: var(--ab-ink);
	text-decoration: none;
}

.ab-nav .wp-block-navigation-item__content:hover,
.ab-nav .wp-block-navigation-item__content:focus {
	color: var(--ab-primary);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ab-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ab-base);
	padding: 24px;
}

.ab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: 18px;
	font-size: 1.25rem;
}

.ab-btn .wp-block-button__link,
.ab-header-cta .wp-block-button__link {
	background: var(--ab-primary);
	color: #fff;
	border-radius: var(--ab-btn-radius);
	font-weight: 800;
	padding: 11px 20px;
	font-size: .95rem;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.ab-btn .wp-block-button__link:hover,
.ab-header-cta .wp-block-button__link:hover {
	background: var(--ab-primary-dark);
	color: #fff;
}

@media (max-width: 640px) {
	.ab-header-cta {
		display: none;
	}
}

.ab-main {
	margin: 0;
	padding: 0;
}

.ab-page-hero {
	background: radial-gradient(700px 300px at 90% 0%, var(--ab-accent-soft), transparent 65%), linear-gradient(180deg, var(--ab-soft), var(--ab-base));
	padding: 64px 16px 40px !important;
	text-align: center;
}

.ab-page-hero > * {
	max-width: 760px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ab-eyebrow {
	display: block;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ab-accent-text);
	margin: 0 0 10px;
}

.ab-hero-title {
	font-size: clamp(2rem, 4.6vw, 3rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.015em;
	color: var(--ab-primary-dark);
	margin: 0 0 12px;
}

.ab-hero-sub {
	color: var(--ab-muted);
	font-size: 1.12rem;
	margin: 0;
}

.ab-hero-sub p {
	margin: 0;
}

.ab-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 72px;
	box-sizing: border-box;
	width: 100%;
}

.ab-grid,
.wp-block-post-template.ab-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ab-grid > li {
	margin: 0;
	min-width: 0;
}

@media (max-width: 1024px) {
	.ab-grid,
	.wp-block-post-template.ab-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ab-grid,
	.wp-block-post-template.ab-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
}

.ab-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	box-shadow: var(--ab-shadow);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
	margin: 0;
}

.ab-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ab-shadow-hover);
}

.ab-card .wp-block-post-featured-image,
.ab-card .ab-card-img {
	margin: 0;
	display: block;
	overflow: hidden;
}

.ab-card .wp-block-post-featured-image img,
.ab-card .ab-card-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.ab-card-body {
	padding: 20px 22px 22px !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ab-card-body > * {
	margin: 0 !important;
}

.ab-card-cats {
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ab-accent-text);
}

.ab-card-cats a {
	color: var(--ab-accent-text);
	text-decoration: none;
}

.ab-card-title {
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -.005em;
}

.ab-card-title a {
	color: var(--ab-ink);
	text-decoration: none;
}

.ab-card-title a:hover {
	color: var(--ab-primary);
}

.ab-card-excerpt,
.ab-card-excerpt p {
	color: var(--ab-muted);
	font-size: .97rem;
	line-height: 1.6;
	margin: 0;
}

.ab-card-excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.ab-card-date {
	margin-top: auto !important;
	font-size: .85rem;
	color: var(--ab-muted);
}

.ab-pagination {
	margin-top: 48px !important;
	gap: 8px;
	font-weight: 700;
}

.ab-pagination a,
.ab-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: var(--ab-radius-sm);
	border: 1px solid var(--ab-line);
	background: var(--ab-card);
	color: var(--ab-ink);
	text-decoration: none;
	box-sizing: border-box;
}

.ab-pagination .page-numbers.current {
	background: var(--ab-primary);
	border-color: var(--ab-primary);
	color: #fff;
}

.ab-pagination .page-numbers.dots {
	border: 0;
	background: none;
}

.ab-empty {
	text-align: center;
	color: var(--ab-muted);
	padding: 32px 0;
}

.ab-article-hero {
	max-width: 900px;
	margin: 0 auto !important;
	padding: 32px 16px 0 !important;
	text-align: center;
	box-sizing: border-box;
}

.ab-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 8px;
	font-size: .88rem;
	color: var(--ab-muted);
	margin: 0 0 18px;
}

.ab-breadcrumbs a {
	color: var(--ab-muted);
	text-decoration: none;
}

.ab-breadcrumbs a:hover {
	color: var(--ab-primary);
	text-decoration: underline;
}

.ab-breadcrumbs .ab-sep {
	opacity: .6;
}

.ab-breadcrumbs .ab-current {
	color: var(--ab-ink);
	font-weight: 700;
}

.ab-pills {
	margin: 0 0 6px !important;
}

.ab-pills a {
	display: inline-block;
	background: var(--ab-accent-soft);
	color: var(--ab-accent-text);
	border-radius: 999px;
	padding: 5px 13px;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	text-decoration: none;
	margin: 0 3px 6px;
}

.ab-pills .wp-block-post-terms__separator,
.ab-tags .wp-block-post-terms__separator {
	display: none;
}

.ab-article-title {
	font-size: clamp(1.9rem, 4.4vw, 3rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.015em;
	color: var(--ab-primary-dark);
	margin: 6px 0 16px !important;
}

.ab-article-meta {
	justify-content: center;
	flex-wrap: wrap !important;
	gap: 6px 10px !important;
	color: var(--ab-muted);
	font-size: .95rem;
	margin: 0 !important;
}

.ab-article-meta > * {
	margin: 0 !important;
}

.ab-article-meta .wp-block-post-author-name {
	font-weight: 700;
	color: var(--ab-ink);
}

.ab-dot {
	opacity: .5;
}

.ab-article-img {
	margin: 28px 0 0 !important;
}

.ab-article-img img {
	border-radius: var(--ab-radius);
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	box-shadow: var(--ab-shadow);
}

.ab-article-layout {
	max-width: 1200px;
	margin: 36px auto 0 !important;
	padding: 0 16px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: start;
	box-sizing: border-box;
}

.ab-article-layout > * {
	margin: 0 !important;
	min-width: 0;
}

@media (max-width: 1024px) {
	.ab-article-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
}

.ab-article-card {
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	box-shadow: var(--ab-shadow);
	padding: clamp(22px, 4.5vw, 48px) !important;
	box-sizing: border-box;
}

.ab-content {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--ab-ink);
	max-width: 720px;
	margin: 0 auto !important;
	overflow-wrap: break-word;
}

@media (min-width: 768px) {
	.ab-content {
		font-size: 1.125rem;
	}
}

.ab-content > * {
	margin-top: 0;
	margin-bottom: 1.15em;
}

.ab-content > *:last-child {
	margin-bottom: 0;
}

.ab-content h2 {
	font-size: clamp(1.45rem, 2.6vw, 1.75rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--ab-primary-dark);
	margin: 2.1em 0 .65em;
	padding-bottom: .35em;
	border-bottom: 2px solid var(--ab-soft);
	scroll-margin-top: 96px;
}

.ab-content h3 {
	font-size: clamp(1.2rem, 2.1vw, 1.35rem);
	font-weight: 800;
	line-height: 1.3;
	color: var(--ab-ink);
	margin: 1.7em 0 .5em;
	scroll-margin-top: 96px;
}

.ab-content h4 {
	font-size: 1.08rem;
	font-weight: 800;
	margin: 1.5em 0 .4em;
}

.ab-content > h2:first-child,
.ab-content > h3:first-child {
	margin-top: 0;
}

.ab-content a {
	color: var(--ab-primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font-weight: 600;
}

.ab-content a:hover {
	color: var(--ab-primary-dark);
	text-decoration-thickness: 2px;
}

.ab-content ul,
.ab-content ol {
	padding-left: 1.4em;
}

.ab-content li {
	margin: .4em 0;
}

.ab-content li::marker {
	color: var(--ab-primary);
	font-weight: 700;
}

.ab-content strong {
	font-weight: 800;
}

.ab-content blockquote,
.ab-content .wp-block-quote {
	border-left: 4px solid var(--ab-accent);
	background: var(--ab-soft);
	padding: 18px 22px;
	border-radius: 0 var(--ab-radius-sm) var(--ab-radius-sm) 0;
	margin: 1.6em 0;
	font-style: normal;
	font-size: 1.05em;
}

.ab-content blockquote p:last-child {
	margin-bottom: 0;
}

.ab-content blockquote cite {
	display: block;
	margin-top: 8px;
	font-size: .85em;
	color: var(--ab-muted);
	font-style: normal;
}

.ab-content .wp-block-table,
.ab-content .table-wrap,
.ab-content .comparison-table {
	overflow-x: auto;
	margin: 1.6em 0;
}

.ab-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .94em;
	line-height: 1.5;
	background: var(--ab-card);
}

.ab-content th,
.ab-content td {
	border: 1px solid var(--ab-line);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.ab-content th {
	background: var(--ab-soft);
	font-weight: 800;
	color: var(--ab-primary-dark);
}

.ab-content tbody tr:nth-child(even) td {
	background: #fafcfb;
}

@media (max-width: 640px) {
	.ab-content > table {
		display: block;
		overflow-x: auto;
	}
}

.ab-content code {
	background: var(--ab-soft);
	padding: .12em .4em;
	border-radius: 6px;
	font-size: .88em;
}

.ab-content pre {
	background: #142621;
	color: #eaf2ed;
	padding: 18px 20px;
	border-radius: var(--ab-radius-sm);
	overflow-x: auto;
	font-size: .88em;
	line-height: 1.6;
}

.ab-content pre code {
	background: none;
	padding: 0;
	color: inherit;
}

.ab-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--ab-radius-sm);
}

.ab-content figure {
	margin: 1.6em 0;
}

.ab-content figcaption,
.ab-content .wp-element-caption {
	font-size: .86rem;
	color: var(--ab-muted);
	text-align: center;
	margin-top: 8px;
}

.ab-content .alignwide,
.ab-content .alignfull {
	max-width: 100%;
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

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

.ab-content .wp-block-embed__wrapper iframe,
.ab-content iframe[src*='youtube'] {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--ab-radius-sm);
}

.ab-content hr {
	border: 0;
	border-top: 1px solid var(--ab-line);
	margin: 2.2em 0;
}

.ab-content .quick-answer,
.ab-content .tldr,
.ab-content .summary-box {
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-left: 5px solid var(--ab-primary);
	border-radius: var(--ab-radius-sm);
	padding: 20px 24px;
	margin: 0 0 1.8em;
}

.ab-content .key-takeaways,
.ab-content .takeaways,
.ab-content .highlights {
	background: var(--ab-accent-soft);
	border: 1px solid var(--ab-accent);
	border-radius: var(--ab-radius-sm);
	padding: 20px 24px;
	margin: 1.8em 0;
}

.ab-content .toc,
.ab-content .table-of-contents {
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius-sm);
	padding: 18px 24px;
	margin: 1.8em 0;
	font-size: .95em;
}

.ab-content .toc a,
.ab-content .table-of-contents a {
	text-decoration: none;
	font-weight: 600;
}

.ab-content .toc ol,
.ab-content .toc ul,
.ab-content .table-of-contents ol,
.ab-content .table-of-contents ul {
	margin: 6px 0 0;
}

.ab-content .callout,
.ab-content .info-box,
.ab-content .tip,
.ab-content .tip-box,
.ab-content .note {
	background: var(--ab-soft);
	border-left: 4px solid var(--ab-primary);
	border-radius: 0 var(--ab-radius-sm) var(--ab-radius-sm) 0;
	padding: 18px 22px;
	margin: 1.6em 0;
}

.ab-content .warning,
.ab-content .warning-box,
.ab-content .callout-warning {
	background: #fff4ec;
	border-left: 4px solid #e3895a;
	border-radius: 0 var(--ab-radius-sm) var(--ab-radius-sm) 0;
	padding: 18px 22px;
	margin: 1.6em 0;
}

.ab-content .quick-answer > :last-child,
.ab-content .key-takeaways > :last-child,
.ab-content .takeaways > :last-child,
.ab-content .toc > :last-child,
.ab-content .table-of-contents > :last-child,
.ab-content .callout > :last-child,
.ab-content .info-box > :last-child,
.ab-content .tip > :last-child,
.ab-content .note > :last-child,
.ab-content .warning > :last-child,
.ab-content .product-box > :last-child,
.ab-content .product-card > :last-child,
.ab-content .cta-box > :last-child {
	margin-bottom: 0;
}

.ab-content .quick-answer h2,
.ab-content .key-takeaways h2,
.ab-content .takeaways h2,
.ab-content .toc h2,
.ab-content .table-of-contents h2 {
	border: 0;
	padding: 0;
	margin: 0 0 .5em;
	font-size: 1.2rem;
}

.ab-content .faq,
.ab-content .faq-section {
	margin: 1.8em 0;
}

.ab-content details {
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius-sm);
	padding: 0 18px;
	margin: 0 0 10px;
	background: var(--ab-card);
}

.ab-content summary {
	cursor: pointer;
	font-weight: 800;
	padding: 14px 0;
	color: var(--ab-primary-dark);
}

.ab-content details[open] summary {
	border-bottom: 1px solid var(--ab-line);
	margin-bottom: 12px;
}

.ab-content details > :last-child {
	margin-bottom: 14px;
}

.ab-content .faq-item {
	border-bottom: 1px solid var(--ab-line);
	padding: 12px 0;
}

.ab-content .product-box,
.ab-content .product-card,
.ab-content .product,
.ab-content .cta-box,
.ab-content .authenova-product {
	border: 2px solid var(--ab-primary);
	border-radius: var(--ab-radius);
	padding: 22px 24px;
	margin: 2em 0;
	background: linear-gradient(135deg, var(--ab-soft), #fff);
}

.ab-content .pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 1.6em 0;
}

.ab-content .pros-cons > * {
	background: var(--ab-soft);
	border-radius: var(--ab-radius-sm);
	padding: 16px 18px;
	margin: 0;
}

@media (max-width: 640px) {
	.ab-content .pros-cons {
		grid-template-columns: 1fr;
	}
}

.ab-content .wp-block-button__link,
.ab-content .button,
.ab-content .btn {
	display: inline-block;
	background: var(--ab-primary);
	color: #fff;
	border-radius: var(--ab-btn-radius);
	padding: 12px 22px;
	font-weight: 800;
	text-decoration: none;
}

.ab-content .wp-block-button__link:hover,
.ab-content .button:hover,
.ab-content .btn:hover {
	background: var(--ab-primary-dark);
	color: #fff;
}

.ab-tags {
	margin: 32px auto 0 !important;
	max-width: 720px;
	font-size: .9rem;
}

.ab-tags .wp-block-post-terms__prefix {
	font-weight: 800;
	margin-right: 6px;
	color: var(--ab-muted);
}

.ab-tags a {
	display: inline-block;
	background: var(--ab-soft);
	border-radius: 999px;
	padding: 4px 12px;
	color: var(--ab-primary-dark);
	text-decoration: none;
	margin: 0 4px 6px 0;
	font-weight: 700;
}

.ab-tags a:hover {
	background: var(--ab-soft-2);
}

.ab-safety {
	max-width: 720px;
	margin: 28px auto 0 !important;
	background: #fff4ec;
	border: 1px solid #f0c3a6;
	border-radius: var(--ab-radius-sm);
	padding: 16px 20px !important;
	font-size: .93rem;
	line-height: 1.6;
	color: #3d2a20;
	box-sizing: border-box;
}

.ab-safety p {
	margin: 0;
}

.ab-safety a {
	color: #7a2f0c;
	font-weight: 700;
}

.ab-postnav {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 24px 0 0 !important;
	flex-wrap: wrap;
}

.ab-postnav .post-navigation-link-previous,
.ab-postnav .post-navigation-link-next {
	flex: 1 1 240px;
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius-sm);
	padding: 14px 18px;
	font-size: .95rem;
	margin: 0;
}

.ab-postnav .post-navigation-link-next {
	text-align: right;
}

.ab-postnav a {
	color: var(--ab-ink);
	font-weight: 700;
	text-decoration: none;
}

.ab-postnav a:hover {
	color: var(--ab-primary);
}

.ab-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-sidebar > * {
	margin: 0 !important;
}

@media (min-width: 1025px) and (min-height: 860px) {
	.ab-sidebar {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 92px);
	}
}

.ab-side-cta {
	background: radial-gradient(400px 200px at 100% 0%, rgba(244, 167, 122, .35), transparent 60%), linear-gradient(140deg, var(--ab-primary), var(--ab-primary-dark));
	color: var(--ab-on-dark);
	border-radius: var(--ab-radius);
	padding: 26px 24px !important;
	box-shadow: var(--ab-shadow);
}

.ab-side-cta > * {
	margin: 0 0 12px !important;
}

.ab-side-cta > :last-child {
	margin-bottom: 0 !important;
}

.ab-side-cta-title {
	font-size: 1.28rem;
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
}

.ab-side-cta p {
	color: var(--ab-on-dark-muted);
	font-size: .97rem;
	line-height: 1.55;
}

.ab-side-cta .ab-eyebrow {
	color: var(--ab-accent);
	margin-bottom: 6px !important;
}

.ab-cta-btn .wp-block-button__link {
	background: var(--ab-cta-btn-bg);
	color: var(--ab-cta-btn-text);
	border-radius: var(--ab-btn-radius);
	font-weight: 800;
	padding: 12px 22px;
	text-decoration: none;
}

.ab-cta-btn .wp-block-button__link:hover {
	background: var(--ab-cta-btn-bg-hover);
	color: var(--ab-cta-btn-text);
}

.ab-ghost-btn .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: var(--ab-btn-radius);
	font-weight: 700;
	padding: 11px 20px;
	text-decoration: none;
}

.ab-side-box {
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	padding: 22px !important;
}

.ab-side-title {
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .13em;
	color: var(--ab-accent-text);
	margin: 0 0 10px !important;
}

.ab-recent,
.ab-cats {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ab-recent li,
.ab-cats li {
	padding: 10px 0;
	border-bottom: 1px solid var(--ab-line);
	margin: 0;
	line-height: 1.4;
}

.ab-recent li:last-child,
.ab-cats li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ab-recent a,
.ab-cats a {
	color: var(--ab-ink);
	font-weight: 700;
	text-decoration: none;
	font-size: .97rem;
}

.ab-recent a:hover,
.ab-cats a:hover {
	color: var(--ab-primary);
}

.ab-recent .wp-block-latest-posts__post-date {
	display: block;
	font-size: .8rem;
	color: var(--ab-muted);
	margin-top: 2px;
}

.ab-related {
	max-width: 1200px;
	margin: 64px auto 0;
	padding: 0 16px;
	box-sizing: border-box;
}

.ab-related-title {
	text-align: center;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--ab-primary-dark);
	margin: 0 0 28px;
}

.ab-related .ab-card-title {
	margin: 0;
}

.ab-cta-band {
	margin: 72px 0 0 !important;
	background: radial-gradient(700px 320px at 100% 0%, rgba(244, 167, 122, .3), transparent 60%), linear-gradient(140deg, var(--ab-primary-dark), var(--ab-primary));
	color: var(--ab-on-dark);
	text-align: center;
	padding: 64px 16px !important;
}

.ab-cta-band > * {
	max-width: 680px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ab-cta-band h2 {
	color: #fff;
	font-size: clamp(1.6rem, 3.4vw, 2.2rem);
	font-weight: 800;
	margin-top: 0;
	margin-bottom: 12px;
}

.ab-cta-band p {
	color: var(--ab-on-dark-muted);
	font-size: 1.08rem;
}

.ab-cta-band .wp-block-buttons {
	justify-content: center;
	margin-top: 22px;
}

.ab-page-wrap {
	background: linear-gradient(180deg, var(--ab-soft), var(--ab-base) 360px);
	padding: 56px 16px 80px !important;
}

.ab-page-card {
	max-width: 820px;
	margin: 0 auto !important;
	background: var(--ab-card);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	box-shadow: var(--ab-shadow);
	padding: clamp(24px, 5vw, 56px) !important;
	box-sizing: border-box;
}

.ab-page-title {
	text-align: center;
	font-size: clamp(2rem, 4.4vw, 2.8rem);
	font-weight: 800;
	color: var(--ab-primary-dark);
	margin: 0 0 28px !important;
	line-height: 1.15;
}

.ab-search-form {
	max-width: 560px;
	margin: 24px auto 0 !important;
}

.ab-search-form .wp-block-search__input {
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius-sm);
	padding: 12px 16px;
	font-size: 1rem;
	background: #fff;
}

.ab-search-form .wp-block-search__button {
	background: var(--ab-primary);
	color: #fff;
	border: 0;
	border-radius: var(--ab-radius-sm);
	font-weight: 800;
	padding: 12px 20px;
	margin-left: 8px;
}

.ab-404 {
	text-align: center;
	padding: 96px 16px 104px !important;
}

.ab-404 .wp-block-buttons {
	justify-content: center;
	margin-top: 28px;
}

.ab-404-code {
	font-size: clamp(4rem, 12vw, 7rem);
	font-weight: 800;
	line-height: 1;
	color: var(--ab-accent);
	margin: 0 0 8px !important;
}

.ab-footer {
	background: var(--ab-primary-dark);
	color: var(--ab-on-dark-muted);
	padding: 52px 16px 28px !important;
	font-size: .95rem;
}

.ab-footer-inner {
	max-width: 1200px;
	margin: 0 auto !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 28px;
}

.ab-footer-inner > * {
	margin: 0 !important;
}

.ab-footer-brand {
	max-width: 420px;
}

.ab-footer-brand > * {
	margin: 0 0 10px !important;
}

.ab-footer-logo {
	font-size: 1.35rem;
	font-weight: 800;
	color: #fff;
}

.ab-footer-logo a {
	color: #fff;
	text-decoration: none;
}

.ab-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	align-items: flex-start;
}

.ab-footer a {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.ab-footer a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ab-footer-bottom {
	max-width: 1200px;
	margin: 32px auto 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .16);
	padding-top: 18px;
	font-size: .86rem;
	color: var(--ab-on-dark-muted);
}

.ab-footer-bottom a {
	font-weight: 600;
}

.ab-landing {
	margin-top: 0;
}

.ab-landing > .wp-block-post-content {
	margin-top: 0;
}
