:root {
	--dv-accent: #e51d2a;
	--dv-ink: #151922;
	--dv-muted: #6f7785;
	--dv-line: #e4e7eb;
	--dv-navy: #081d3c;
	--dv-blue: #0b67b2;
	--dv-soft: #f5f7fa;
	--dv-white: #ffffff;
	--dv-radius: 8px;
	--dv-shadow: 0 18px 40px rgba(8, 29, 60, 0.12);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	color: var(--dv-ink);
	background: var(--dv-white);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.6;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: var(--dv-accent);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

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

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.topbar {
	background: var(--dv-navy);
	color: var(--dv-white);
	font-size: 13px;
}

.branding-row,
.nav-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.topbar-inner {
	min-height: 38px;
}

.branding-row {
	justify-content: center;
	padding: 28px 0 22px;
	text-align: center;
}

.site-branding {
	display: grid;
	justify-items: center;
	gap: 8px;
}

.custom-logo-link,
.custom-logo-link img {
	display: block;
}

.header-date-time {
	color: var(--dv-blue);
	font-size: 14px;
	font-weight: 700;
	text-transform: lowercase;
}

.site-title {
	display: block;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.site-title::first-letter {
	color: var(--dv-accent);
}

.site-description {
	margin: 4px 0 0;
	color: var(--dv-muted);
}

.header-ad,
.ad-box {
	display: grid;
	min-height: 86px;
	min-width: min(100%, 420px);
	place-items: center;
	border: 1px dashed #c7ced7;
	background: var(--dv-soft);
	color: var(--dv-muted);
	font-size: 14px;
}

.main-navigation {
	background: var(--dv-white);
	border-top: 1px solid var(--dv-line);
	border-bottom: 3px solid var(--dv-navy);
	box-shadow: 0 10px 24px rgba(8, 29, 60, 0.08);
}

.nav-inner {
	min-height: 58px;
	justify-content: center;
}

.menu,
.footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu a {
	position: relative;
	display: block;
	padding: 18px 14px;
	color: var(--dv-blue);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

.menu-icon {
	display: inline-block;
	color: var(--dv-blue);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
}

.menu-item-home-icon > a,
.menu-item-account-icon > a {
	min-width: 56px;
	text-align: center;
}

.menu li {
	position: relative;
	border-left: 1px solid rgba(11, 103, 178, 0.16);
	box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.75);
}

.menu li:last-child {
	border-right: 1px solid rgba(11, 103, 178, 0.16);
}

.menu a::after {
	position: absolute;
	right: 12px;
	bottom: 9px;
	left: 12px;
	height: 3px;
	border-radius: 999px;
	background: var(--dv-accent);
	content: "";
	opacity: 0;
	transform: scaleX(0.55);
	transition: opacity 160ms ease, transform 160ms ease;
}

.menu a:hover::after,
.menu a:focus::after,
.menu .current-menu-item > a::after,
.menu .current_page_item > a::after,
.menu .current-menu-ancestor > a::after {
	opacity: 1;
	transform: scaleX(1);
}

.menu-toggle {
	display: none;
	border: 0;
	background: var(--dv-navy);
	color: var(--dv-white);
	padding: 10px 14px;
	border-radius: 4px;
}

.search-form {
	display: flex;
	gap: 8px;
	align-items: center;
}

.search-field {
	width: 170px;
	max-width: 100%;
	border: 1px solid var(--dv-line);
	border-radius: 4px;
	padding: 9px 10px;
}

.search-form button,
.read-more {
	border: 0;
	border-radius: 4px;
	background: var(--dv-blue);
	color: var(--dv-white);
	padding: 9px 12px;
	font-weight: 700;
	cursor: pointer;
}

.featured-news {
	padding: 30px 0 22px;
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.featured-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.featured-card,
.post-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(11, 103, 178, 0.36);
	border-radius: var(--dv-radius);
	background: var(--dv-white);
	box-shadow: 0 10px 24px rgba(8, 29, 60, 0.07), inset 0 0 0 1px rgba(11, 103, 178, 0.04);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.featured-card:hover,
.post-card:hover {
	border-color: var(--dv-blue);
	box-shadow: 0 16px 30px rgba(8, 29, 60, 0.12), 0 0 0 1px rgba(11, 103, 178, 0.14);
}

.featured-card-1 {
	grid-column: 1 / -1;
}

.featured-media,
.post-card-media {
	display: block;
	background: #dbe4ee;
}

.featured-card .post-card-image {
	width: 100%;
	height: 100%;
	min-height: 210px;
	object-fit: cover;
}

.featured-card-1 .post-card-image {
	min-height: 430px;
}

.featured-card:not(.featured-card-1) .post-card-image {
	min-height: 210px;
}

.featured-copy {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 18px;
	color: var(--dv-white);
	background: linear-gradient(180deg, rgba(8, 29, 60, 0) 0%, rgba(8, 29, 60, 0.88) 45%, rgba(8, 29, 60, 0.96) 100%);
}

.featured-copy h2,
.post-card h2,
.single-article h1,
.section-heading h1,
.section-heading h2 {
	margin: 8px 0;
	line-height: 1.18;
	letter-spacing: 0;
}

.post-card h2 a,
.widget a {
	transition: color 160ms ease;
}

.post-card h2 a:hover,
.post-card h2 a:focus,
.widget a:hover,
.widget a:focus {
	color: var(--dv-blue);
}

.content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	padding: 34px 0;
}

.dv-baf-layout-full-width .content-grid {
	grid-template-columns: 1fr;
}

.dv-baf-layout-full-width .site-sidebar {
	display: none;
}

.section-heading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
	border: 1px solid rgba(11, 103, 178, 0.2);
	border-left: 5px solid var(--dv-blue);
	border-radius: var(--dv-radius);
	background: linear-gradient(135deg, rgba(11, 103, 178, 0.08), rgba(255, 255, 255, 0.98));
	padding: 14px 18px;
	box-shadow: 0 14px 30px rgba(8, 29, 60, 0.08);
}

.section-heading h1,
.section-heading h2 {
	display: inline-block;
	margin: 0;
	border-bottom: 0;
	color: var(--dv-blue);
	padding-bottom: 0;
	font-weight: 800;
	text-transform: uppercase;
}

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

.post-card-image {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.post-card-body {
	padding: 16px;
}

.pagination {
	margin: 28px 0 0;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	border: 1px solid var(--dv-line);
	border-radius: 4px;
	background: var(--dv-white);
	color: var(--dv-ink);
	padding: 8px 12px;
	font-weight: 700;
	line-height: 1;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.pagination .page-numbers:focus {
	border-color: var(--dv-accent);
	background: var(--dv-accent);
	color: var(--dv-white);
}

.cat-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.cat-badge {
	display: inline-block;
	border: 1px solid var(--dv-blue);
	border-radius: 3px;
	background: var(--dv-white);
	color: var(--dv-blue);
	padding: 4px 7px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.post-meta,
.post-card p,
.single-article p,
.supplement-card small {
	color: var(--dv-muted);
}

.site-sidebar {
	display: grid;
	align-content: start;
	gap: 18px;
}

.widget,
.single-article,
.comments-area {
	border: 1px solid rgba(11, 103, 178, 0.36);
	border-radius: var(--dv-radius);
	background: var(--dv-white);
	padding: 20px;
	box-shadow: inset 0 0 0 1px rgba(11, 103, 178, 0.04);
}

.widget-title,
.footer-title {
	margin: 0 0 12px;
	font-size: 18px;
}

.widget-title {
	color: var(--dv-blue);
}

.comments-area {
	position: relative;
	margin-top: 22px;
	border-color: rgba(11, 103, 178, 0.26);
	background:
		linear-gradient(180deg, rgba(245, 247, 250, 0.78), rgba(255, 255, 255, 0.98)),
		var(--dv-white);
	box-shadow: var(--dv-shadow);
}

.comments-area::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: var(--dv-radius) var(--dv-radius) 0 0;
	background: linear-gradient(90deg, var(--dv-blue), var(--dv-accent));
}

.comments-area h2,
.comment-reply-title,
.comments-title {
	margin-top: 0;
	color: var(--dv-blue);
	font-weight: 800;
	letter-spacing: 0;
}

.comment-form,
.wpcf7 form,
.wpforms-form,
.gform_wrapper form,
.nf-form-cont,
.frm_forms form {
	display: grid;
	gap: 14px;
}

.comment-form label,
.wpcf7 label,
.wpforms-form label,
.gform_wrapper label,
.nf-form-cont label,
.frm_forms label {
	color: var(--dv-navy);
	font-weight: 700;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form textarea,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="tel"],
.nf-form-cont input[type="url"],
.nf-form-cont textarea,
.frm_forms input[type="text"],
.frm_forms input[type="email"],
.frm_forms input[type="tel"],
.frm_forms input[type="url"],
.frm_forms textarea {
	width: 100%;
	border: 1px solid rgba(11, 103, 178, 0.34);
	border-radius: var(--dv-radius);
	background: var(--dv-white);
	color: var(--dv-ink);
	padding: 12px 14px;
	box-shadow: inset 0 1px 2px rgba(8, 29, 60, 0.05);
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.comment-form textarea,
.wpcf7 textarea,
.wpforms-form textarea,
.gform_wrapper textarea,
.nf-form-cont textarea,
.frm_forms textarea {
	min-height: 150px;
	resize: vertical;
}

.comment-form input:focus,
.comment-form textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.nf-form-cont input:focus,
.nf-form-cont textarea:focus,
.frm_forms input:focus,
.frm_forms textarea:focus {
	outline: 0;
	border-color: var(--dv-blue);
	background: #fbfdff;
	box-shadow: 0 0 0 4px rgba(11, 103, 178, 0.14);
}

.comment-form .submit,
.comments-area input[type="submit"],
.wpcf7-submit,
.wpforms-submit,
.gform_button,
.nf-form-cont input[type="button"],
.frm_button_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	border: 0;
	border-radius: 6px;
	background: var(--dv-blue);
	color: var(--dv-white);
	padding: 11px 18px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 10px 22px rgba(11, 103, 178, 0.24);
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.comment-form .submit:hover,
.comment-form .submit:focus,
.comments-area input[type="submit"]:hover,
.comments-area input[type="submit"]:focus,
.wpcf7-submit:hover,
.wpcf7-submit:focus,
.wpforms-submit:hover,
.wpforms-submit:focus,
.gform_button:hover,
.gform_button:focus,
.nf-form-cont input[type="button"]:hover,
.nf-form-cont input[type="button"]:focus,
.frm_button_submit:hover,
.frm_button_submit:focus {
	background: var(--dv-navy);
	color: var(--dv-white);
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(8, 29, 60, 0.26);
}

.comment-notes,
.logged-in-as,
.comment-form-cookies-consent,
.wpcf7-not-valid-tip,
.wpforms-field-description,
.gfield_description {
	color: var(--dv-muted);
	font-size: 14px;
}

.page-shell {
	padding: 36px 0;
}

.article-shell {
	min-width: 0;
}

.single-article h1 {
	font-size: clamp(32px, 5vw, 54px);
}

.single-media {
	margin: 24px 0;
}

.single-media img {
	width: 100%;
	border-radius: var(--dv-radius);
}

.entry-content a {
	color: var(--dv-blue);
	text-decoration: underline;
}

.post-navigation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 20px;
}

.post-navigation > div {
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius);
	padding: 14px;
}

.footer-supplements {
	background: #f4f6f8;
	border-top: 1px solid var(--dv-line);
	padding: 30px 0;
}

.supplements-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.supplement-card {
	display: grid;
	gap: 6px;
	min-height: 108px;
	border: 1px solid var(--dv-line);
	border-radius: var(--dv-radius);
	background: var(--dv-white);
	padding: 16px;
}

.supplement-card span {
	font-weight: 800;
}

.footer-widgets {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 24px;
}

.footer-widget-col {
	color: #d7dde7;
}

.footer-link-list {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-link-list a {
	color: #d7dde7;
	font-size: 14px;
}

.footer-link-list a:hover {
	color: var(--dv-white);
	text-decoration: underline;
}

.site-footer .footer-supplements {
	background: var(--dv-navy);
}

.site-footer .supplement-card {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.14);
	color: var(--dv-white);
}

.site-footer .supplement-card small {
	color: #c4cfdf;
}

.footer-bottom {
	background: #041124;
	color: #c9d5e6;
	padding: 18px 0;
	text-align: center;
}

.footer-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
	text-align: center;
}

.footer-logo img {
	width: auto;
	max-height: 70px;
	filter: brightness(0) invert(1);
}

.footer-site-title {
	color: var(--dv-white);
	font-size: 26px;
	font-weight: 800;
	text-transform: uppercase;
}

.footer-legal-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 6px 0 10px;
	text-align: center;
}

.footer-legal-links a,
.footer-legal-links span {
	color: #d7dde7;
	font-size: 13px;
}

.footer-legal-links a:hover {
	color: var(--dv-white);
	text-decoration: underline;
}

.powered {
	font-size: 13px;
}

.powered a {
	color: var(--dv-white);
}

.eyebrow {
	color: var(--dv-accent);
	font-weight: 800;
	text-transform: uppercase;
}

.customizer-replica {
	width: min(420px, 100%);
	border: 1px solid #d9dee5;
	background: #ffffff;
}

.customizer-replica a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 40px;
	border-bottom: 1px solid #d9dee5;
	padding: 10px 14px;
	color: #303741;
}

.customizer-replica a:last-child {
	border-bottom: 0;
}

.woocommerce-shell {
	max-width: 1180px;
}

@media (max-width: 980px) {
	.branding-row,
	.topbar-inner,
	.nav-inner {
		align-items: stretch;
		flex-direction: column;
	}

	.menu-toggle {
		display: inline-block;
		width: max-content;
	}

	.main-navigation .menu {
		display: none;
		flex-direction: column;
		width: 100%;
	}

	.main-navigation.is-open .menu {
		display: flex;
	}

	.search-form,
	.search-field {
		width: 100%;
	}

	.featured-grid,
	.content-grid,
	.card-grid,
	.supplements-grid,
	.footer-widgets {
		grid-template-columns: 1fr;
	}

	.featured-card-1 {
		grid-row: auto;
	}

	.featured-card-1 .post-card-image {
		min-height: 260px;
	}
}

@media (max-width: 560px) {
	.container {
		width: min(100% - 20px, 1180px);
	}

	.header-ad {
		min-width: 0;
	}

	.post-navigation {
		grid-template-columns: 1fr;
	}
}
