/* WordPress / WooCommerce page glue — does not change mockup layouts. */

.service-wrap.service-wrap--plain {
	margin-top: 8px;
	padding-top: 12px;
}

.service-wrap--plain > .service-page--plain,
.service-wrap--plain > article.service-page--plain {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.service-wrap--plain > .service-page--plain > h1 {
	margin-top: 0;
}

.woocommerce-page-wrap .woocommerce,
.woocommerce-page-wrap form.woocommerce-cart-form,
.woocommerce-page-wrap .woocommerce-checkout {
	width: 100%;
}

.woocommerce-page-wrap table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-page-wrap table.shop_table th,
.woocommerce-page-wrap table.shop_table td {
	padding: 10px 8px;
	border-bottom: 1px solid var(--line, #e5e7eb);
	text-align: left;
}

.woocommerce-page-wrap .button,
.woocommerce-page-wrap button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 10px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-weight: var(--fw-max, 600);
}

.footer-grid .menu,
.footer-grid ul,
.footer-links .menu,
.footer-links ul,
.footer-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.footer-grid li,
.footer-links li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-grid li::marker,
.footer-links li::marker {
	content: none;
}

.footer-grid .menu a,
.footer-grid li a,
.footer-links .menu a,
.footer-links li a {
	display: inline-flex;
	margin: 0;
	padding: 7px 0;
}

.team-card .avatar img,
.expert .avatar img,
.expert-card .avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}

.woocommerce-pagination,
.navigation.pagination {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul,
.navigation.pagination .nav-links,
.navigation.pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination li,
.navigation.pagination li {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination li::marker,
.woocommerce-pagination li::before,
.navigation.pagination li::marker,
.navigation.pagination li::before {
	content: none;
	display: none;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers,
.navigation.pagination a.page-numbers,
.navigation.pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--line, #dfe6ee);
	border-radius: 8px;
	background: var(--card, #fff);
	color: var(--primary-2, #0f665e);
	font-size: 14px;
	font-weight:600;
	line-height: 1;
	text-decoration: none;
}

.woocommerce-pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:hover {
	border-color: var(--primary, #147d72);
	background: var(--soft, #e9f6f3);
	text-decoration: none;
}

.woocommerce-pagination span.page-numbers.current,
.navigation.pagination span.page-numbers.current {
	background: var(--primary, #147d72);
	border-color: var(--primary, #147d72);
	color: #fff;
}

.woocommerce-pagination span.page-numbers.dots,
.navigation.pagination span.page-numbers.dots {
	border: 0;
	background: transparent;
	min-width: 20px;
	color: var(--muted, #6c7a89);
}

.header a.custom-logo-link.logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.header .custom-logo,
.header a.logo img {
	display: block;
	max-height: 42px;
	width: auto;
}

.footer-logo--image {
	font: inherit;
	letter-spacing: 0;
}

.footer-logo img,
.footer-logo__img {
	display: block;
	max-height: 42px;
	width: auto;
	max-width: min(220px, 100%);
}

.footer-license {
	margin: 6px 0 0;
	font-size: 12px;
	opacity: .8;
}

.footer-bottom {
	margin-top: 18px;
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-bottom .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.footer-socials {
	display: flex;
	gap: 10px;
}

@media (min-width: 901px) {
	.catalog-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalog-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.catalog-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.footer-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	font-size: 12px;
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-head,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-foot {
	background: var(--card);
	color: var(--text);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-body {
	background: var(--bg);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-item,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-close,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-qty {
	background: var(--card-tint);
	color: var(--text);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-qty span,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-qty button {
	background: var(--card);
	color: var(--text);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-head strong,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-info strong,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-total,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-total strong {
	color: var(--text);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-head small,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-info small {
	color: var(--primary-2);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .fly-cart-thumb {
	background: var(--soft);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-drawer,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-drawer-head,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-drawer-body,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-drawer-foot,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-menu-tabs,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-tab-panel {
	background: var(--card);
	color: var(--text);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-nav a,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-menu-utilities a,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-menu-tabs button {
	color: var(--text);
	border-color: var(--line);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-menu-utilities .icon,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .mobile-menu-utilities svg {
	color: inherit;
	stroke: currentColor;
}

.brief-specs.info-table {
	width: 100%;
}

.brief-specs tr[data-spec-url] {
	position: relative;
	cursor: pointer;
}

.brief-specs tr[data-spec-url] td a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.brief-specs a {
	color: var(--primary-2, #1a7a70);
	font-weight:600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.brief-specs a:hover {
	color: var(--primary);
}

.product-info .vn-bundle-list {
	list-style: none;
	margin: 16px 0 0;
	padding: 4px 0 0;
	border-top: 1px solid var(--line);
}

.product-info .vn-bundle-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
}

.product-info .vn-bundle-thumb,
.product-info .vn-bundle-thumb img,
.product-info .vn-bundle-thumb-img {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--soft, var(--card-tint));
}

.product-info .vn-bundle-copy {
	min-width: 0;
	font-size: 14px;
	line-height: 1.35;
	color: var(--text);
}

.product-info .vn-bundle-qty {
	font-weight:600;
	margin-right: 4px;
}

.product-info .vn-bundle-copy a {
	color: inherit;
	text-decoration: none;
}

.product-info .vn-bundle-copy a:hover {
	color: var(--primary-2);
	text-decoration: underline;
}

.product-info .vn-bundle-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	white-space: nowrap;
}

.product-info .vn-bundle-price s {
	color: var(--muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: line-through;
}

.product-info .vn-bundle-price b {
	font-size: 15px;
	font-weight:600;
	color: var(--primary-2, var(--primary));
}

.product-info .price-block--bundle .buybox {
	width: 100%;
	margin-top: 16px;
}

.product-info .brief-specs .vn-variations__select {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font: inherit;
	font-weight:600;
	color: inherit;
	appearance: auto;
	cursor: pointer;
}

.product-info .brief-specs .vn-variations__select:focus {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

.product-info .vn-variations__hint {
	margin: 8px 0 0;
	font-size: 13px;
	color: #b42318;
}

.product-info .cart-btn.is-locked {
	opacity: 0.55;
	cursor: not-allowed;
}

.product-info .price-old[hidden] {
	display: none !important;
}

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

.avatar .avatar-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}

.vn-expert-card {
	display: flex;
	align-items: center;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid var(--line, #e4e8ec);
	border-radius: 14px;
	background: var(--card, #fff);
	box-shadow: none;
}

.vn-expert-card--author {
	margin: 20px 0 0;
}

.product-prose > .chips {
	margin: 0 0 18px;
}

.product-experts-head {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
}

.product-experts-head .vn-expert-card {
	margin: 0;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table),
.category-text table,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table),
.wp-block-table table {
	width: 100%;
	max-width: 100%;
	margin: 20px 0 28px;
	border-collapse: separate !important;
	border-spacing: 0;
	border: 1px solid var(--line) !important;
	border-radius: 14px;
	overflow: hidden;
	background: var(--card);
	color: var(--text);
	font-size: 14.5px;
	line-height: 1.45;
}

.wp-block-table {
	margin: 20px 0 28px;
	overflow-x: auto;
}

.wp-block-table table {
	margin: 0;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) :is(th, td),
.category-text table :is(th, td),
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) :is(th, td),
.wp-block-table table :is(th, td) {
	padding: 12px 16px;
	border: 0 !important;
	border-right: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
	background: transparent;
	color: inherit;
	text-align: left;
	vertical-align: middle;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) :is(th, td):last-child,
.category-text table :is(th, td):last-child,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) :is(th, td):last-child,
.wp-block-table table :is(th, td):last-child {
	border-right: 0 !important;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) tr:last-child :is(th, td),
.category-text table tr:last-child :is(th, td),
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) tr:last-child :is(th, td),
.wp-block-table table tr:last-child :is(th, td) {
	border-bottom: 0 !important;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) tbody tr:nth-child(even) td,
.category-text table tbody tr:nth-child(even) td,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) tbody tr:nth-child(even) td,
.wp-block-table table tbody tr:nth-child(even) td {
	background: color-mix(in srgb, var(--soft) 42%, var(--card));
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) th,
.category-text table th,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) th,
.wp-block-table table th,
.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) tbody tr:first-child:not(:has(img, a, ul, ol, svg)) td,
.category-text table tbody tr:first-child:not(:has(img, a, ul, ol, svg)) td,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) tbody tr:first-child:not(:has(img, a, ul, ol, svg)) td,
.wp-block-table table tbody tr:first-child:not(:has(img, a, ul, ol, svg)) td,
.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) tbody tr:not(:has(img, a, ul, ol, svg)):has(> td :is(strong, b):only-child) > td,
.category-text table tbody tr:not(:has(img, a, ul, ol, svg)):has(> td :is(strong, b):only-child) > td {
	background: var(--soft);
	color: var(--text);
	font-weight: 650;
	font-size: 13px;
	letter-spacing: .01em;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) a,
.category-text table a,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) a,
.wp-block-table table a {
	font-weight: 600;
	text-underline-offset: 2px;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) img,
.category-text table img,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) img,
.wp-block-table table img {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: -3px;
	object-fit: contain;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) :is(ul, ol),
.category-text table :is(ul, ol),
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) :is(ul, ol) {
	margin: 2px 0;
	padding-left: 1.15em;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) li,
.category-text table li,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) li {
	margin: 0 0 4px;
}

.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) p,
.category-text table p,
.content-block table:not(.shop_table):not(.info-table):not(.specs-table) p {
	margin: 0;
}

@media (max-width: 640px) {
	.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table),
	.category-text table,
	.content-block table:not(.shop_table):not(.info-table):not(.specs-table),
	.wp-block-table table {
		font-size: 13px;
	}

	.prose table:not(.shop_table):not(.info-table):not(.specs-table):not(.form-table) :is(th, td),
	.category-text table :is(th, td),
	.content-block table:not(.shop_table):not(.info-table):not(.specs-table) :is(th, td),
	.wp-block-table table :is(th, td) {
		padding: 10px 12px;
	}
}

.vn-expert-card__photo {
	display: flex;
	flex: 0 0 64px;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 50%;
	background: #eef1f4;
	color: var(--primary-2);
	font-size: 14px;
	font-weight:600;
}

.vn-expert-card__photo img,
.vn-expert-card__photo-img {
	display: block;
	width: 64px;
	height: 64px;
	max-width: 64px;
	margin: 0;
	object-fit: cover;
	border-radius: 50%;
}

.vn-expert-card__text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	min-width: 0;
}

.vn-expert-card__title {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text);
	font-size: 15px;
	line-height: 1.35;
}

.vn-expert-card__title strong {
	font-weight:600;
}

.vn-expert-card__shield {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	color: var(--primary-2);
}

.vn-expert-card__meta {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.35;
}

.vn-expert-card__link {
	color: var(--primary-2);
	font-size: 14px;
	font-weight:600;
	line-height: 1.35;
	text-decoration: none;
}

.vn-expert-card__link:hover {
	color: var(--primary);
}

.prose > .vn-experts-row {
	margin: 0 0 22px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--line, #e4e8ec);
}

.vn-experts-row,
.product-prose .vn-experts-row,
.product-prose .asp-expert-people {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 36px;
	margin: 0;
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.vn-experts-row__person,
.product-prose .asp-expert-person {
	display: flex;
	align-items: center;
	gap: 12px;
}

.vn-experts-row__photo {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 50%;
	background: #eef1f4;
	font-size: 12px;
	font-weight:600;
	color: var(--primary-2);
}

.vn-experts-row__photo img,
.vn-experts-row__photo-img,
.product-prose .asp-expert-person__photo img {
	display: block;
	width: 48px;
	height: 48px;
	max-width: 48px;
	margin: 0;
	object-fit: cover;
	border-radius: 50%;
}

.vn-experts-row__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.vn-experts-row__info strong,
.product-prose .asp-expert-person__info strong {
	color: var(--text);
	font-size: 15px;
	font-weight:600;
	line-height: 1.25;
}

.vn-experts-row__info a,
.vn-experts-row__info span,
.product-prose .asp-expert-person__role {
	color: #2f6fed;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.vn-experts-row__info a:hover {
	text-decoration: underline;
}

.vn-experts-row__verified,
.product-prose .asp-expert-verified {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin-left: auto;
	color: var(--text);
	font-size: 14px;
	line-height: 1.35;
}

.vn-experts-row__ok,
.product-prose .asp-expert-verified__badge {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text);
	font-weight:600;
}

.vn-experts-row__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	font-size: 11px;
	font-weight:600;
	line-height: 1;
}

@media (max-width: 700px) {
	.vn-experts-row__verified,
	.product-prose .asp-expert-verified {
		margin-left: 0;
		width: 100%;
	}
}

.product-prose .experts-block {
	margin-top: 28px;
}

.product-tile__bundle {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 8px;
}

.product-tile__bundle-thumbs {
	display: flex;
	align-items: center;
}

.product-tile__bundle-thumb {
	display: block;
	width: 26px;
	height: 26px;
	overflow: hidden;
	border: 1px solid var(--card, #fff);
	border-radius: 6px;
	background: var(--soft, var(--card-tint));
}

.product-tile__bundle-thumb + .product-tile__bundle-thumb {
	margin-left: -8px;
}

.product-tile__bundle-thumb img {
	display: block;
	width: 26px;
	height: 26px;
	object-fit: cover;
}

.product-tile__bundle-count {
	font-size: 12px;
	font-weight:600;
	color: var(--muted);
}

.hero-tile--copy {
	background: var(--hero-copy, #0f665e);
	background: linear-gradient(145deg, var(--hero-copy, #0f665e) 0%, color-mix(in srgb, var(--hero-copy, #0f665e) 72%, #fff) 100%);
}

.hero-badge,
.btn-hero {
	color: var(--hero-copy, #0f665e);
}

.hero-bento--banner {
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	grid-template-areas: "copy";
	min-height: 0;
}

.hero-bento--banner .hero-tile--copy {
	min-height: 300px;
	max-width: none;
}

.hero-bento--banner .hero-tile--copy h1 {
	max-width: 22ch;
}

.hero-bento--tiles {
	grid-template-columns: 1fr 1fr 1.15fr;
	grid-template-rows: minmax(280px, 320px);
	grid-template-areas: "tile-a tile-b feature";
	min-height: 280px;
}

.hero-bento--bento-flip {
	grid-template-columns: 1.15fr 1.05fr 1.05fr;
	grid-template-areas:
		"feature copy copy"
		"feature tile-a tile-b";
}

.hero-bento--mosaic {
	grid-template-columns: .9fr 1.2fr 1.15fr;
	grid-template-areas:
		"tile-a copy feature"
		"tile-b copy feature";
}

.hero-bento--stack {
	grid-template-columns: 1fr 1fr 1.15fr;
	grid-template-rows: auto minmax(220px, 280px);
	grid-template-areas:
		"copy copy copy"
		"tile-a tile-b feature";
	min-height: 0;
}

.hero-bento--stack .hero-tile--copy {
	min-height: 240px;
}

.hero-bento--stack .hero-tile--copy h1 {
	max-width: 22ch;
}

.hero-bento--split {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: minmax(360px, 440px);
	grid-template-areas: "copy feature";
	min-height: 0;
}

.hero-bento--split .hero-tile--copy h1 {
	max-width: 14ch;
}

.hero-bento--overlay {
	position: relative;
	grid-template-columns: 1fr;
	grid-template-rows: minmax(380px, 480px);
	grid-template-areas: "copy";
	min-height: 0;
}

.hero-bento--overlay .hero-tile--feature {
	grid-area: copy;
	z-index: 0;
	border-radius: 28px;
}

.hero-bento--overlay .hero-tile--copy {
	grid-area: copy;
	z-index: 1;
	background: linear-gradient(90deg, var(--hero-copy, #0f665e) 0%, color-mix(in srgb, var(--hero-copy, #0f665e) 78%, transparent) 58%, transparent 100%);
	max-width: none;
}

.hero-bento--overlay .hero-tile--copy h1,
.hero-bento--overlay .hero-tile--copy .lead {
	max-width: 18ch;
}

.hero-bento--overlay .hero-tile-caption {
	display: none;
}

@media (max-width: 900px) {
	.hero-bento--tiles {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"feature feature"
			"tile-a tile-b";
	}

	.hero-bento--bento-flip,
	.hero-bento--mosaic {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"copy copy"
			"feature feature"
			"tile-a tile-b";
	}

	.hero-bento--stack {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"copy copy"
			"feature feature"
			"tile-a tile-b";
	}

	.hero-bento--split {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas:
			"copy"
			"feature";
	}

	.hero-bento--split .hero-tile--feature {
		min-height: 280px;
	}

	.hero-bento--overlay {
		grid-template-rows: minmax(320px, 400px);
	}

	.hero-bento--overlay .hero-tile--copy {
		background: linear-gradient(180deg, var(--hero-copy, #0f665e) 0%, color-mix(in srgb, var(--hero-copy, #0f665e) 55%, transparent) 70%, transparent 100%);
	}
}

@media (max-width: 900px) {
	.header-row {
		position: relative;
		flex-wrap: nowrap;
		gap: 8px;
	}

	.header-row > .logo,
	.header-row > .custom-logo-link {
		order: 1;
		flex: 0 1 auto;
		min-width: 0;
		max-width: 150px;
	}

	.header-row > .logo img,
	.header-row > .custom-logo-link img {
		display: block;
		max-height: 40px;
		width: auto;
		max-width: 150px;
		object-fit: contain;
	}

	.header-row > .actions,
	.header-row > .actions.header-actions {
		order: 2;
		margin-left: auto !important;
		flex: 0 0 auto;
	}

	.header-row > .menu-toggle {
		display: inline-flex !important;
		order: 3;
		margin-left: 0;
		flex: 0 0 auto;
	}

	.header-row > .search {
		display: none;
	}

	.header-row > .search.search--visible {
		display: flex;
		order: 4;
		flex: 1 1 100%;
		position: absolute;
		left: var(--container-gutter, 16px);
		right: var(--container-gutter, 16px);
		top: calc(100% + 6px);
		z-index: 6;
		flex-basis: auto;
	}

	.header-row > .actions a.header-action[data-action="account"],
	.header-row > .actions .header-action[data-action="account"],
	.header-row > .actions .header-action--account,
	.header-actions a[data-action="account"] {
		display: none !important;
	}
}

@media (max-width: 560px) {
	.hero-bento--tiles,
	.hero-bento--bento-flip,
	.hero-bento--mosaic,
	.hero-bento--stack {
		grid-template-columns: 1fr;
		grid-template-areas:
			"copy"
			"feature"
			"tile-a"
			"tile-b";
	}

	.hero-bento--tiles {
		grid-template-areas:
			"feature"
			"tile-a"
			"tile-b";
	}

	.product-info .vn-bundle-item {
		grid-template-columns: 40px minmax(0, 1fr) auto;
		gap: 8px;
	}

	.product-info .vn-bundle-thumb,
	.product-info .vn-bundle-thumb img,
	.product-info .vn-bundle-thumb-img {
		width: 40px;
		height: 40px;
	}

	.product-info .vn-bundle-copy {
		font-size: 13px;
	}
}

.category-text figure,
.category-text .wp-block-image,
.category-text .wp-caption {
	float: none;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 20px auto;
}

.category-text img,
.category-text figure img,
.category-text .wp-block-image img,
.category-text .alignleft,
.category-text .alignright,
.category-text .aligncenter,
.category-text .alignnone {
	float: none !important;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 280px;
	margin: 20px auto;
	object-fit: contain;
	object-position: center;
	border-radius: 14px;
}

.home-seo__intro,
.home-seo__lead,
.home-seo__more {
	width: 100%;
	max-width: none;
}

.home-seo__lead h1,
.home-seo__lead h2,
.home-seo__more h1,
.home-seo__more h2 {
	margin: 12px 0 14px;
	font-size: clamp(28px, 3vw, 42px);
	letter-spacing: -.035em;
	line-height: 1.15;
}

.home-seo__lead h3,
.home-seo__more h3 {
	margin: 22px 0 10px;
	font-size: 24px;
	letter-spacing: -.02em;
}

.home-seo__lead p,
.home-seo__more p,
.home-seo__lead > div,
.home-seo__more > div {
	margin: 0 0 14px;
	color: var(--muted);
	font-size: 17px;
	line-height: 1.7;
}

.home-seo__lead a,
.home-seo__more a {
	font-weight:600;
	color: var(--primary-2);
}

.home-seo .vn-seo-more {
	display: none;
}

body.vn-look-preview #wpadminbar,
body.vn-look-preview .demo-switcher {
	display: none !important;
}

html:has(body.vn-look-preview) {
	margin-top: 0 !important;
}

.trusticon img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.trusticon.trusticon--image {
	padding: 8px;
	overflow: hidden;
}

.price-filter__range {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 16px;
	margin: 4px 0 10px;
	background: transparent;
	cursor: pointer;
}

.price-filter__range::-webkit-slider-runnable-track {
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(to right, var(--primary) var(--price-fill, 100%), #d5e0e5 var(--price-fill, 100%));
}

.price-filter__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 14px;
	height: 14px;
	margin-top: -5.5px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--primary);
	box-shadow: 0 1px 3px rgba(15, 40, 36, .22);
}

.price-filter__range::-moz-range-track {
	height: 3px;
	border: 0;
	border-radius: 99px;
	background: #d5e0e5;
}

.price-filter__range::-moz-range-progress {
	height: 3px;
	border-radius: 99px;
	background: var(--primary);
}

.price-filter__range::-moz-range-thumb {
	width: 14px;
	height: 14px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--primary);
	box-shadow: 0 1px 3px rgba(15, 40, 36, .22);
}

@media (max-width: 720px) {
	.category-text img,
	.category-text figure img,
	.category-text .wp-block-image img,
	.category-text .alignleft,
	.category-text .alignright,
	.category-text .aligncenter,
	.category-text .alignnone {
		height: 200px;
	}
}

.attr-dir {
	padding-top: 18px;
	padding-bottom: 56px;
}

.attr-dir__head {
	margin-bottom: 28px;
}

.attr-dir__head h1 {
	margin: 0 0 10px;
	font-family: var(--font-heading);
	font-size: clamp(36px, 5vw, 52px);
	font-weight:600;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.attr-dir__head .breadcrumbs {
	padding: 0;
}

.attr-dir__list {
	column-count: var(--attr-dir-cols, 3);
	column-gap: 28px;
}

.attr-dir__list a {
	display: block;
	break-inside: avoid;
	padding: 7px 10px;
	text-align: center;
	color: inherit;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.35;
}

.attr-dir__list a:hover {
	color: var(--primary-2);
}

.attr-dir__empty {
	color: var(--muted);
}

@media (max-width: 900px) {
	.attr-dir__list {
		column-count: 2;
	}
}

@media (max-width: 640px) {
	.attr-dir__head,
	.attr-dir__head .breadcrumbs,
	.attr-dir__empty {
		text-align: center;
	}

	.attr-dir__list {
		column-count: 1;
	}

	.attr-dir__list a {
		text-align: center;
	}
}

.attr-dir--az {
	padding-top: 10px;
	scroll-margin-top: var(--site-sticky-top);
}

.attr-dir__head--az {
	margin-bottom: 12px;
}

.attr-dir__head--az .breadcrumbs {
	text-align: left;
}

.attr-dir__az-bar {
	margin-bottom: 4px;
	padding: 8px 0 10px;
	font-size: 18px;
	line-height: 1.3;
	color: var(--text);
}

.attr-dir__az-bar strong {
	font-weight:600;
}

.attr-dir__alpha {
	position: sticky;
	top: var(--site-sticky-top);
	z-index: 4;
	margin: 0 0 8px;
	padding: 6px 0 10px;
	background: var(--card);
	border-bottom: 1px solid var(--line);
}

.attr-dir__alpha ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2px 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.attr-dir__alpha li {
	flex: 1 0 auto;
	text-align: center;
}

.attr-dir__alpha a,
.attr-dir__alpha .is-empty {
	display: inline-block;
	padding: 4px 2px;
	color: var(--primary);
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
}

.attr-dir__alpha a:hover {
	color: var(--primary-2);
	text-decoration: underline;
}

.attr-dir__alpha .is-empty {
	color: color-mix(in srgb, var(--muted) 70%, var(--line));
}

.attr-dir__az-group {
	scroll-margin-top: calc(var(--site-sticky-top) + 52px);
	padding: 18px 0 8px;
	border-bottom: 1px solid var(--line);
}

.attr-dir__az-group:last-of-type {
	border-bottom: 0;
}

.attr-dir__az-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.attr-dir__az-head strong {
	color: var(--primary);
	font-size: 22px;
	font-weight:600;
	line-height: 1.2;
}

.attr-dir__az-head a {
	color: var(--primary-2);
	font-size: 14px;
	font-weight:600;
	text-decoration: none;
	white-space: nowrap;
}

.attr-dir__az-head a:hover {
	text-decoration: underline;
}

.attr-dir__az-cols {
	display: grid;
	grid-template-columns: repeat(var(--attr-dir-cols, 3), minmax(0, 1fr));
	gap: 12px 28px;
}

.attr-dir__az-cols ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.attr-dir__az-cols li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	line-height: 1.35;
}

.attr-dir__az-cols a {
	color: var(--text);
	font-size: 15px;
	text-decoration: none;
}

.attr-dir__az-cols a:hover {
	color: var(--primary-2);
	text-decoration: underline;
}

.attr-dir__trend {
	display: inline-flex;
	align-items: center;
	padding: 1px 7px;
	border: 1px solid #e36b6b;
	border-radius: 999px;
	color: #c94a4a;
	font-size: 11px;
	font-weight:600;
	line-height: 1.4;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.attr-dir__az-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.attr-dir__alpha {
		position: static;
	}

	.attr-dir__alpha ul {
		justify-content: flex-start;
		gap: 4px 10px;
	}

	.attr-dir__alpha li {
		flex: 0 0 auto;
	}

	.attr-dir__az-group {
		scroll-margin-top: var(--site-sticky-top);
	}

	.attr-dir__az-head {
		align-items: flex-start;
	}

	.attr-dir__az-cols {
		grid-template-columns: 1fr;
	}
}

.vn-contact {
	padding-top: 18px;
	padding-bottom: 64px;
}

.vn-contact__head {
	margin-bottom: 32px;
}

.vn-contact__head h1 {
	margin: 0 0 10px;
	font-family: var(--font-heading);
	font-size: clamp(36px, 5vw, 52px);
	font-weight:600;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.vn-contact__head .breadcrumbs {
	padding: 0;
}

.vn-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px 56px;
	align-items: start;
}

.vn-contact__map {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: 8px;
	background: #e8eef2;
}

.vn-contact__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.vn-contact__info {
	margin-top: 22px;
	font-size: 15px;
	line-height: 1.55;
}

.vn-contact__info p {
	margin: 0 0 4px;
}

.vn-contact__strong {
	font-weight:600;
}

.vn-contact__gap {
	margin-top: 18px !important;
}

.vn-contact__info a {
	color: inherit;
	text-decoration: none;
}

.vn-contact__info a:hover {
	color: var(--primary-2);
}

.vn-contact__form-title {
	margin: 8px 0 28px;
	text-align: center;
	font-size: 18px;
	font-weight:600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vn-contact__form-empty {
	color: var(--muted);
}

.vn-contact-row,
.vn-contact .wpcf7 .vn-contact-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.vn-contact .wpcf7 p {
	margin: 0 0 16px;
}

.vn-contact .wpcf7 label {
	display: block;
	font-size: 14px;
	font-weight:600;
}

.vn-contact .wpcf7 input[type="text"],
.vn-contact .wpcf7 input[type="email"],
.vn-contact .wpcf7 input[type="tel"],
.vn-contact .wpcf7 input[type="url"],
.vn-contact .wpcf7 textarea,
.vn-contact .wpcf7 select {
	width: 100%;
	min-height: 46px;
	margin-top: 6px;
	padding: 10px 12px;
	border: 1px solid #d5dde3;
	border-radius: 6px;
	background: #fff;
	box-shadow: none;
	font: inherit;
}

.vn-contact .wpcf7 textarea {
	min-height: 160px;
	resize: vertical;
}

.vn-contact .wpcf7-submit,
.vn-contact .wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--btn-height, 44px);
	padding: 0 22px;
	border: 0;
	border-radius: var(--btn-radius, 8px);
	background: var(--primary);
	color: #fff;
	font-size: 15px;
	font-weight: var(--btn-weight, 600);
	cursor: pointer;
}

.vn-contact .wpcf7-submit:hover,
.vn-contact .wpcf7 input[type="submit"]:hover {
	background: var(--primary-2);
}

@media (max-width: 860px) {
	.vn-contact__grid,
	.vn-contact-row,
	.vn-contact .wpcf7 .vn-contact-row {
		grid-template-columns: 1fr;
	}

	.vn-contact__head,
	.vn-contact__head .breadcrumbs {
		text-align: center;
	}
}

.breadcrumbs-wrap {
	padding-top: 4px;
}

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

.breadcrumbs a:hover {
	color: var(--primary-2);
}

.breadcrumbs [aria-current="page"] {
	color: var(--text);
}

.breadcrumbs__sep {
	opacity: .55;
}

.blog-index {
	padding-top: 28px;
}

.blog-index .section-head h1 {
	margin: 0;
}

.blog-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--grid-gap, 24px);
	align-items: stretch;
}

.blog-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 0;
	overflow: hidden;
}

.blog-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--soft);
	overflow: hidden;
}

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

.blog-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px 20px;
	flex: 1;
}

.blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	color: var(--muted);
	font-size: 13px;
}

.blog-card__title {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.blog-card__title a {
	color: inherit;
	text-decoration: none;
}

.blog-card__title a:hover {
	color: var(--primary-2);
}

.blog-card__excerpt {
	margin: 0;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.55;
}

.blog-card .section-link {
	margin-top: auto;
}

.blog-index__pager {
	margin-top: 28px;
}

.blog-index__pager .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

@media (max-width: 640px) {
	.blog-grid {
		grid-template-columns: 1fr;
	}
}

.blog-single {
	max-width: 820px;
	margin: 0 auto;
	padding: 8px 0 48px;
}

.blog-single__back {
	margin: 0 0 18px;
}

.blog-single__media {
	margin: 0 0 22px;
	border-radius: var(--card-radius, 16px);
	overflow: hidden;
	background: var(--soft);
}

.blog-single__media img {
	display: block;
	width: 100%;
	height: auto;
}

.blog-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0 0 10px;
	color: var(--muted);
	font-size: 14px;
}

.blog-single__meta a {
	color: inherit;
}

.blog-single > h1 {
	margin: 0 0 20px;
}

.blog-single__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 28px 0 0;
}

.blog-single__tags a {
	display: inline-flex;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--soft);
	color: inherit;
	text-decoration: none;
	font-size: 13px;
}

.blog-single__pages {
	margin-top: 24px;
}

.blog-comments {
	max-width: 820px;
	margin: 0 auto 48px;
}

.blog-comments h2 {
	margin: 0 0 16px;
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .vn-expert-card__meta,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .blog-card__meta,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .breadcrumbs a,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .home-seo__lead p,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .home-seo__more p {
	color: var(--muted);
}

body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .blog-card__body,
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .blog-card__body :is(h2, h3, a),
body:is([data-color="21"], [data-color="22"], [data-color="23"], [data-color="24"]) .breadcrumbs [aria-current="page"] {
	color: var(--text);
}

/* FAQ: question text vertically centered with the icon */
.faq-list details {
	display: block;
}
.faq-list summary {
	display: flex;
	align-items: center;
	min-height: 56px;
	padding: 14px 52px 14px 2px;
	line-height: 1.35;
	list-style: none;
}
.faq-list summary::-webkit-details-marker,
.faq-list summary::marker {
	display: none;
	content: "";
}

.product-toc a,
.category-toc a,
.toc .asp-toc-list a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	align-items: start;
	column-gap: 10px;
	min-width: 0;
	min-height: 40px;
	padding: 6px 8px;
	border-radius: 9px;
	line-height: 1.35;
	text-decoration: none;
}

.product-toc__icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	align-self: start;
	border-radius: 8px;
	background: var(--soft);
	color: var(--primary-2);
}

.product-toc__label {
	min-width: 0;
	padding-top: 5px;
	line-height: 1.35;
}

.product-toc a:hover,
.category-toc a:hover,
.toc .asp-toc-list a:hover {
	background: var(--soft);
	color: inherit;
	text-decoration: none;
}

.product-toc a:hover .product-toc__icon,
.category-toc a:hover .product-toc__icon {
	background: var(--primary);
	color: #fff;
}

.category-toc .asp-toc-list,
.product-toc .asp-toc-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Search: dropdown must not be clipped; mobile field text stays centered */
.search,
.mobile-drawer-search {
	overflow: visible;
}
.search-dropdown {
	z-index: 120;
}

@media (max-width: 900px) {
	.header-row > .search.search--visible {
		overflow: visible;
		z-index: 30;
		align-items: center;
		background: #fff;
		border: 1px solid #3e4044;
		border-radius: 999px;
	}
	.header-row > .search.search--visible input,
	.header-row > .search.search--visible input[type="search"] {
		height: 48px;
		min-height: 48px;
		padding: 0 16px;
		line-height: 48px;
		border: 0;
		background: transparent;
		font-size: 16px;
	}
	.header-row > .search.search--visible button {
		align-self: center;
		min-height: 40px;
		height: 40px;
		margin: 4px 4px 4px 0;
		border-radius: 999px !important;
	}
}

/* WP adds body.search on results pages. Theme form uses class="search" too.
   Form chrome must stay on form.search only — never on body.search button/input. */
body.search,
body.search-results,
body.search:focus-within,
body.search-results:focus-within {
	display: block !important;
	flex: none;
	align-items: stretch;
	overflow-x: clip;
	overflow-y: visible;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: var(--bg);
	color: var(--text);
	min-width: 0;
}
form.search {
	display: flex;
}

.search-page {
	display: block;
	width: min(var(--container-max), calc(100% - var(--container-gutter)));
	max-width: 100%;
	padding-bottom: 48px;
}
.search-page__head {
	margin: 8px 0 22px;
}
.search-page__head h1 {
	margin: 0 0 8px;
	font-size: clamp(26px, 3vw, 36px);
	letter-spacing: -0.03em;
}
.search-page__head p {
	margin: 0;
	color: var(--muted);
}
.search-page__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
}
.search-page__cats a {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--card);
	color: var(--text);
	text-decoration: none;
	font-size: 14px;
}
.search-page__cats a:hover {
	background: var(--soft);
	text-decoration: none;
}
.search-page .catalog-grid {
	margin-top: 8px;
}
.search-page__pager {
	margin-top: 28px;
	margin-bottom: 8px;
}

/* Pattern is visible in empty gutters; only the text columns get a local wash. */
body[data-graphic]:not([data-graphic="0"]) .topbar::before,
body[data-graphic]:not([data-graphic="0"]) .footer::before {
	opacity: 0.28;
	z-index: 0;
}
body[data-graphic]:not([data-graphic="0"]) .topbar::after {
	background: color-mix(in srgb, var(--topbar-bg) 18%, transparent);
}
body[data-graphic]:not([data-graphic="0"]) .footer::after {
	background: transparent;
}
body[data-graphic]:not([data-graphic="0"]) .footer {
	text-shadow: 0 0 12px var(--footer-bg), 0 1px 1px var(--footer-bg);
}
body[data-graphic]:not([data-graphic="0"]) .topbar-right,
body[data-graphic]:not([data-graphic="0"]) .topbar-promo-left,
body[data-graphic]:not([data-graphic="0"]) .topbar-promo-center,
body[data-graphic]:not([data-graphic="0"]) .topbar-promo-right {
	background: color-mix(in srgb, var(--topbar-bg) 88%, transparent);
	box-shadow: 0 0 16px 10px color-mix(in srgb, var(--topbar-bg) 88%, transparent);
}
body[data-graphic]:not([data-graphic="0"]) .footer-brand,
body[data-graphic]:not([data-graphic="0"]) .footer-links,
body[data-graphic]:not([data-graphic="0"]) .footer-warning,
body[data-graphic]:not([data-graphic="0"]) .footer-bottom > .container {
	background: color-mix(in srgb, var(--footer-bg) 82%, transparent);
	box-shadow: 0 0 16px 10px color-mix(in srgb, var(--footer-bg) 82%, transparent);
}
body[data-graphic]:not([data-graphic="0"]) .footer-review-btn,
body[data-graphic]:not([data-graphic="0"]) .footer-payments span,
body[data-graphic]:not([data-graphic="0"]) .footer-socials a {
	text-shadow: none;
}
