/* Theme style */

@media (max-width: 670px) {
	:root {
		--wp--custom--header-height--top: 70px;
	}
}

/* ==========================================================================
Base styles
========================================================================== */

main {
	margin-top: var(--wp--custom--header-height--total);
}

/* Headings
========================================================================== */

.has-heading-font-family {
	font-weight: 500;
	color: var(--wp--preset--color--brand-primary);
	line-height: 1.2;
}

/* Paragraphs
========================================================================== */

strong {
	font-weight: 500;
}

/* Typography spacing
========================================================================== */

:is(p, .wp-block-list) ~ h2.wp-block-heading {
	margin-top: calc(2 * var(--wp--style--block-gap));
}

.safe-svg-cover ~ .wp-block-heading {
	margin-top: var(--wp--preset--spacing--m);
}

p ~ .qt-accordion {
	margin-top: calc(2 * var(--wp--style--block-gap)) !important;
}

.wp-block-buttons ~ p {
	margin-top: var(--wp--preset--spacing--l);
}

:is(figure, iframe, video, table) ~ h2.wp-block-heading {
	margin-top: calc(2 * var(--wp--style--block-gap));
}

:is(.wp-block-list) ~ .wp-block-image {
	margin-top: var(--wp--preset--spacing--l);
}

p ~ :is(figure, iframe, video, table) {
	margin-bottom: var(--wp--preset--spacing--l);
}

@media (max-width: 670px) {
	p ~ .qt-accordion {
		margin-top: calc(1.5 * var(--wp--style--block-gap)) !important;
	}
}

/* Links
========================================================================== */

/* Arrow link */
.is-style-arrow-link {
	max-width: max-content;
	font-weight: 500;
	color: var(--wp--preset--color--brand-primary);
	line-height: normal;
	border-bottom: 1px solid currentColor;
}

.is-style-arrow-link a::after {
	background-image: none;
	content: url("data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%2210%22%20viewBox%3D%220%200%2013%2010%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.125%205.46917H0.833333C0.597222%205.46917%200.399306%205.38931%200.239583%205.22958C0.0798611%205.06986%200%204.87195%200%204.63583C0%204.39972%200.0798611%204.20181%200.239583%204.04208C0.399306%203.88236%200.597222%203.8025%200.833333%203.8025H10.125L7.75%201.4275C7.58333%201.26083%207.50347%201.06639%207.51042%200.844167C7.51736%200.621945%207.59722%200.4275%207.75%200.260833C7.91667%200.0941667%208.11458%200.00736111%208.34375%200.000416667C8.57292%20-0.00652778%208.77083%200.0733334%208.9375%200.24L12.75%204.0525C12.8333%204.13583%2012.8924%204.22611%2012.9271%204.32333C12.9618%204.42056%2012.9792%204.52472%2012.9792%204.63583C12.9792%204.74695%2012.9618%204.85111%2012.9271%204.94833C12.8924%205.04556%2012.8333%205.13583%2012.75%205.21917L8.9375%209.03167C8.77083%209.19833%208.57292%209.2782%208.34375%209.27125C8.11458%209.26431%207.91667%209.1775%207.75%209.01083C7.59722%208.84417%207.51736%208.64972%207.51042%208.4275C7.50347%208.20528%207.58333%208.01083%207.75%207.84417L10.125%205.46917Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
	margin-left: var(--wp--preset--spacing--xs);
	width: 13px;
	height: 12px;
	filter: brightness(0) saturate(100%) invert(14%) sepia(37%) saturate(2782%) hue-rotate(210deg) brightness(95%)
		contrast(102%);
}

p:has(+ .is-style-arrow-link) {
	margin-bottom: var(--wp--preset--spacing--l);
}

/* Lists
========================================================================== */

:is(ul, ol), .wp-block-list {
	margin-left: 1.25em;
}

:is(ul, ol) ::marker {
	color: var(--wp--preset--color--brand-primary);
}

/* Buttons
========================================================================== */

.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: calc(16 / 24 * var(--wp--style--block-gap));
	margin-top: var(--wp--preset--spacing--l);
}

.wp-block-buttons .wp-block-button__link {
	display: flex;
	align-items: center;
}

.wp-block-button__link:has(img) {
	display: flex;
	gap: var(--wp--preset--spacing--xxs);
}

/* Primary button (core) */

/* Secondary button */

/* Outline button (core) */
.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--brand-primary);
	border-color: currentColor;
	opacity: 1;
}

.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--brand-primary);
}

/* Outline secondary button */

/* Text button */

/* Button on background */

/* Button on background inverted */

/* Inputs
========================================================================== */

/* Label */
label {
	font-size: var(--wp--preset--font-size--s);
}

/* Input fields */
input,
textarea,
select {
	border-radius: 4px;
	border-color: var(--wp--preset--color--light-border);
	font-size: var(--wp--preset--font-size--xs);
}

/* Select */

/* Checkbox & radio button */
[type="radio"],
[type="checkbox"] {
	border-color: var(--wp--preset--color--light-border);
}

[type="checkbox"] {
	border-radius: 3px;
}

/* Focus and active statements */

/* Acceptance */

/* Submit */
[type="submit"],
.submit [type="submit"] {
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--m);
	border-radius: 4px;
	background-color: var(--wp--preset--color--brand-primary);
	font-family: var(--wp--preset--font-family--paragraph);
	font-size: var(--wp--preset--font-size--xs);
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

/* Contact form 7
========================================================================== */

.wpcf7-radio label,
.wpcf7-checkbox label,
.wpcf7-acceptance label {
	align-items: flex-start;
}

.wpcf7-form-control-wrap:has(.wpcf7-checkbox) {
	margin-top: 0.75em;
}

/* Media
========================================================================== */

/* Images */
.wp-block-image .aligncenter,
.wp-block-image .alignleft,
.wp-block-image .alignright,
.wp-block-image.aligncenter,
.wp-block-image.alignleft,
.wp-block-image.alignright {
	display: block;
}

.is-style-invert-img {
	filter: invert(1);
}

/* Video */

/* Iframe & embedded */

/* Files */

/* Table */
.wp-block-table {
	width: 100%;
	border-collapse: collapse;
	font-family: inherit;
	margin-bottom: 1em;
}

.wp-block-table thead {
	border-bottom: 1px solid;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--wp--preset--color--light-border);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.wp-block-table th {
	background-color: var(--wp--preset--color--neutral-3);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s);
	line-height: normal;
	color: var(--wp--preset--color--brand-primary);
}

/* ==========================================================================
Layout
========================================================================== */

/* Paddings and margins
========================================================================== */

.qt-section {
	padding-left: var(--wp--preset--spacing--s);
	padding-right: var(--wp--preset--spacing--s);
}

.qt-section.has-background,
.qt-section__inner.has-background {
	padding: var(--wp--preset--spacing--xxl) var(--wp--preset--spacing--s);
}

.qt-container.has-background {
	border-radius: 10px;
	padding: var(--wp--preset--spacing--m);
}

/* Colors
========================================================================== */

:is(.has-brand-primary-background-color, .has-black-background-color) * {
	color: var(--wp--preset--color--white);
}

/* Max widths
========================================================================== */

/* Grids
========================================================================== */

.grid-col-1 {
	grid-gap: calc(2 * var(--wp--style--block-gap));
}

.grid-col-2:not(.has-background) {
	grid-column-gap: calc(2 * var(--wp--style--block-gap));
}

@media (max-width: 670px) {
	.grid-col-1 {
		grid-gap: calc(1.5 * var(--wp--style--block-gap));
	}
}

/* ==========================================================================
Announcement bar
========================================================================== */

/* ==========================================================================
Top bar
========================================================================== */

.is-style-header-topbar {
	height: var(--wp--custom--header-height--top-bar);
}

.is-style-header-topbar .qt-section__inner {
	height: 100%;
	grid-template-columns: 1fr auto;
	align-items: center;
}

.is-style-header-topbar .menu > .menu-item:not(.mega-menu-item) {
	height: var(--wp--custom--header-height--top-bar);
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--xxs);
}

.is-style-header-topbar .menu-item,
.is-style-header-topbar .menu-item a {
	font-size: var(--wp--preset--font-size--xs);
}

.is-style-header-topbar .menu-item::before {
	line-height: 0;
	filter: brightness(0) saturate(100%) invert(87%) sepia(5%) saturate(3282%) hue-rotate(178deg) brightness(103%)
		contrast(99%);
}

.is-style-header-topbar .menu-item:nth-child(1)::before {
	content: url(../images/ecg-heart.svg);
}

.is-style-header-topbar .menu-item:nth-child(2)::before {
	content: url(../images/phone-call.svg);
}

@media (max-width: 670px) {
	.is-style-header-topbar .qt-section__inner {
		grid-gap: 0;
	}

	.is-style-header-topbar .qt-container:first-of-type {
		display: none;
	}

	.is-style-header-topbar .menu {
		grid-gap: var(--wp--style--block-gap);
		justify-content: flex-end;
	}
}

/* ==========================================================================
Header
========================================================================== */

header .menu .menu-item a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	opacity: 1;
}

header .menu {
	grid-gap: calc(1.5 * var(--wp--style--block-gap));
}

.is-style-header-top {
	border-color: var(--wp--preset--color--light-border);
}

/* Desktop menu
========================================================================== */

.is-style-header-top .menu .menu-item a,
.is-style-header-top .menu .menu-item span {
	font-size: var(--wp--preset--font-size--s);
}

header .menu {
	margin-left: 0;
}

/* Site logo */

/* Header button */

/* Hamburger icon
========================================================================== */

/* User toolbar
========================================================================== */

/* Search bar
========================================================================== */

#header-search-bar.is-visible {
	top: var(--wp--custom--header-height--total);
}

/* ==========================================================================
Footer
========================================================================== */

footer .qt-section:not(.is-style-footer-bottom) .qt-section__inner {
	border-bottom: 1px solid var(--wp--preset--color--dark-border);
	padding-bottom: var(--wp--preset--spacing--xl);
}

footer .qt-section:nth-child(1) .qt-container {
	display: flex;
	grid-template-columns: auto 1fr;
	gap: 0 var(--wp--style--block-gap);
}

footer .qt-section:nth-child(1) .wp-block-safe-svg-svg-icon {
	grid-column: 1;
}

footer .qt-section:nth-child(1) :is(p) {
	grid-column: 2;
	margin: 0;
}

.is-style-footer-top .grid {
	grid-template-columns: 5fr repeat(3, 2fr);
	gap: calc(2 * var(--wp--style--block-gap));
}

.is-style-footer-bottom .grid {
	grid-template-columns: auto auto;
}

.is-style-footer-bottom .qt-container {
	display: flex;
	gap: var(--wp--style--block-gap);
}

.is-style-footer-bottom .qt-container:last-of-type {
	justify-content: flex-end;
}

@media (max-width: 980px) {
	.is-style-footer-top .grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.is-style-footer-top .qt-container:first-of-type {
		grid-column: 1 / -1;
		max-width: var(--wp--custom--maxwidth--s);
	}
}

@media (max-width: 768px) {
	.is-style-footer-top .grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 670px) {
	.is-style-footer-top .grid {
		grid-template-columns: 1fr;
		gap: var(--wp--style--block-gap);
	}

	footer .qt-section:nth-child(1) .grid {
		grid-template-columns: 1fr;
	}

	.is-style-footer-bottom .grid {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--xs);
	}

	.is-style-footer-bottom .qt-container {
		justify-content: center !important;
	}
}

/* Navigation
========================================================================== */

p.is-style-footer-heading,
.footer-heading {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--m);
	margin-bottom: 0.5em !important;
}

.footer-menu .menu {
	display: block;
	line-height: 1.75;
	margin: 0.75em 0 0;
	color: var(--wp--preset--color--white);
}

.footer-menu .menu-item a {
	font-size: var(--wp--preset--font-size--xs);
	text-decoration: none;
	opacity: 1;
}

.footer-menu .menu-item a:hover {
	text-decoration: underline;
}

/* ==========================================================================
Utility classes
========================================================================== */

/* ==========================================================================
Components and modules
========================================================================== */

/* Breadcrumbs
========================================================================== */

.is-style-breadcrumbs {
	padding-bottom: var(--wp--preset--spacing--xxl);
}

.is-style-breadcrumbs:has(+ .entry-content > .qt-section.is-style-subhero.has-background),
main > .is-style-breadcrumbs:has(+ .qt-section.is-style-subhero.has-background) {
	background-color: var(--wp--preset--color--accent-1);
	padding-bottom: 0;
}

.rank-math-breadcrumb a,
.rank-math-breadcrumb a:hover {
	color: currentColor;
	opacity: 1;
}

.rank-math-breadcrumb .separator {
	padding-inline-start: var(--wp--preset--spacing--tiny);
	padding-inline-end: var(--wp--preset--spacing--tiny);
}

/* Pagination
========================================================================== */

/* Current, hover */

/* Prev, next */

/* Accordion
========================================================================== */

.qt-accordion .grid {
	gap: 0;
}

/* Accordion item */
.accordion-item {
	height: -moz-fit-content;
	height: fit-content;
	cursor: pointer;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--light-border);
}

.accordion-item:last-of-type {
	margin-bottom: 0;
}

.qt-accordion .accordion-item:first-of-type {
	border-top: 1px solid var(--wp--preset--color--light-border);
}

/* Accordion heading */
.accordion-item__heading * {
	pointer-events: auto !important;
}

.accordion-item__heading {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	grid-gap: var(--wp--style--block-gap);
	line-height: normal;
	width: 100%;
}

.accordion-item__heading.wp-block-heading {
	line-height: normal;
	margin: 0;
}

button[data-accordion="accordion-trigger"] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: var(--wp--preset--spacing--xs) 0;
	border: none;
	background-color: transparent;

	font-size: var(--wp--preset--font-size--m);
	font-weight: 500;
	font-family: inherit;
	line-height: 1.2;
}

.qt-accordion:not(.is-style-chevron) button[data-accordion="accordion-trigger"] {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	grid-gap: var(--wp--preset--spacing--s);
	font-size: var(--wp--preset--font-size--s);
}

/* Accordion icon */
.qt-accordion:not(.is-style-chevron) span.accordion-item__icon {
	background-color: var(--wp--preset--color--brand-primary);
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	grid-row: 1;
}

.accordion-icon__inner {
	display: block;
	position: relative;
	width: 10px;
	height: 10px;
}

.accordion-icon__inner::before,
.accordion-icon__inner::after {
	content: "";
	display: block;
	background-color: var(--wp--preset--color--white);
	position: absolute;
	top: 50%;
	left: 0;
	transition: all 150ms linear;
	width: 100%;
	height: 1.5px;
}

.accordion-icon__inner:before {
	transform: translatey(-50%);
}

.accordion-item .accordion-item__heading[data-is-open="true"] .accordion-icon__inner:before {
	transform: translatey(-50%) rotate(-90deg);
	opacity: 0;
}

.accordion-icon__inner:after {
	transform: translatey(-50%) rotate(90deg);
}

.accordion-item .accordion-item__heading[data-is-open="true"] .accordion-icon__inner:after {
	transform: translatey(-50%) rotate(0);
}

/* chevron style */
.is-style-chevron span.accordion-icon__inner {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjM1NSAzTDcgOC41NjI3NUwxLjY0NSAzTDAgNC43MTI1NUw3IDEyTDE0IDQuNzEyNTVMMTIuMzU1IDNaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K);
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 150ms linear;
	width: 12px;
	height: 12px;
	filter: brightness(0) saturate(100%) invert(12%) sepia(18%) saturate(7250%) hue-rotate(216deg) brightness(97%)
		contrast(99%);
}

.is-style-chevron .accordion-item__heading[data-is-open="true"] span.accordion-icon__inner {
	transform: rotate(180deg);
}

.is-style-chevron span.accordion-icon__inner::before,
.is-style-chevron span.accordion-icon__inner::after {
	display: none;
}

/* Accordion content */
.accordion-item__content.is-vertically-aligned-top {
	align-self: flex-start;
}

.accordion-item__content.is-vertically-aligned-center {
	align-self: center;
}

.accordion-item__content.is-vertically-aligned-bottom {
	align-self: flex-end;
}

.accordion-item__content {
	max-height: 0;
	transition: max-height 150ms linear;
	overflow: hidden;
	max-width: 100%;
	height: -moz-fit-content;
	height: fit-content;
	padding: 0;
	cursor: default;
}

.accordion-item__content * {
	font-size: var(--wp--preset--font-size--s);
}

.accordion-item__content hr {
	border: none;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--wp--preset--color--light-border), transparent);
	margin: var(--wp--preset--spacing--s) 0;
}

.accordion-content__inner {
	padding: 0 0 var(--wp--preset--spacing--s);
}

/* Accordion icon */

/* Tabs
========================================================================== */

/* Splide slider
========================================================================== */

.splide__list .splide__slide {
	padding: 0;
}

.splide .splide__arrow {
	border-radius: 4px;
	background-color: var(--wp--preset--color--brand-primary);
}

.splide__arrow:hover:not(:disabled) {
	opacity: 1;
	background-color: var(--wp--preset--color--brand-primary);
}

.splide .splide__arrow img {
	display: none;
}

.splide__arrow svg {
	display: none;
}

.splide__arrow::before {
	filter: invert(1) brightness(100);
	width: 18px;
	height: 16px;
}

.splide__arrow--prev::before {
	content: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.5146%208.76945H0.0742188V7.23069H12.5146L6.67114%201.38725L7.76802%200.306274L15.4618%208.00007L7.76802%2015.6939L6.67114%2014.6129L12.5146%208.76945Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
	transform: rotate(180deg);
}

.splide__arrow--next::before {
	content: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.5146%208.76945H0.0742188V7.23069H12.5146L6.67114%201.38725L7.76802%200.306274L15.4618%208.00007L7.76802%2015.6939L6.67114%2014.6129L12.5146%208.76945Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
}

/* Slider header */

/* Blockquote
========================================================================== */

.wp-block-pullquote {
	padding: 0;
	margin: 0 auto;
	max-width: var(--wp--custom--maxwidth--m);
	position: relative;
}

.wp-block-pullquote p::before {
	content: url("../images/quote-left.svg");
	position: absolute;
	left: -1em;
	bottom: 0;
	z-index: -1;
}

.wp-block-pullquote p::after {
	content: url("../images/quote-right.svg");
	position: absolute;
	top: -0.5em;
	right: -1em;
	z-index: -1;
}

.wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 500;
	line-height: 1.2;
	color: var(--wp--preset--color--brand-primary);
	position: relative;
}

.wp-block-pullquote cite {
	font-size: var(--wp--preset--font-size--m);
	font-style: normal;
	margin-top: 1em;
}

/* ==========================================================================
Styles for pages, sections, blocks and others.
========================================================================== */

/* Page: Search results 
========================================================================== */

.search-results .wp-block-post {
	padding: 0;
	border: none;
	list-style: none;
	margin: 0;
}

.search-results .products-block-post-template {
	margin: 0;
}

@media (max-width: 600px) {
	.search ul.products-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
	
/* Section: Hero
========================================================================== */

main > .qt-section:first-of-type:is(.is-style-hero.has-background),
.entry-content > .qt-section:first-of-type:is(.is-style-hero.has-background) {
	padding-top: var(--wp--preset--spacing--xxl);
}

.is-style-hero .grid-col-1 {
	grid-gap: calc(4 * var(--wp--style--block-gap));
}

@media (max-width: 768px) {
	.is-style-hero .grid-col-3 .qt-container:nth-of-type(3) {
		display: none;
	}
}

@media (max-width: 510px) {
	.is-style-hero .grid-col-3 .qt-container:nth-of-type(2) {
		display: none;
	}
}

/* Section: Subhero
========================================================================== */

/* Subhero with border */
.is-style-subhero:not(.has-background) {
	border-bottom: 1px solid var(--wp--preset--color--light-border);
	margin-bottom: var(--wp--preset--spacing--xxl);
}

/* Subhero with background */
.entry-content > .qt-section:first-of-type:is(.is-style-subhero.has-background) {
	padding-top: var(--wp--preset--spacing--xxl);
}

/* Section: Stacked boxes
========================================================================== */

.is-style-image-column .wp-block-image img {
	border-radius: 6px;
}

/* Text column is first column */
.is-style-text-column:first-child,
.is-style-stacked-boxes .is-style-text-column.has-background:first-child {
	padding-left: 0;
	padding-right: 0;
}

/* Text column is not first column */
.is-style-text-column:not(:first-child),
.is-style-stacked-boxes .is-style-text-column.has-background:not(:first-child) {
	padding-right: 0;
	padding-left: 0;
}

/* Section - Section header
========================================================================== */

.qt-section .grid:has(.is-style-section-header) {
	grid-gap: calc(2 * var(--wp--style--block-gap));
}

.is-style-section-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-column-gap: var(--wp--style--block-gap);
	align-items: center;
}

.is-style-section-header .wp-block-heading {
	margin: 0;
}

.is-style-section-header .wp-block-buttons {
	margin: 0;
	display: flex;
	align-content: flex-end;
	justify-content: flex-end;
}

@media (max-width: 570px) {
	.is-style-section-header {
		grid-template-columns: minmax(0, 1fr);
		grid-gap: var(--wp--style--block-gap);
	}

	.is-style-section-header .wp-block-buttons {
		justify-content: flex-start;
	}
}

/* Section - Intro with button
========================================================================== */

.is-style-intro-with-button {
	display: grid;
	grid-template-columns: minmax(0, var(--wp--custom--maxwidth--s)) 1fr;
	grid-column-gap: var(--wp--style--block-gap);
}

.is-style-intro-with-button p {
	grid-column: 1;
}

.is-style-intro-with-button .wp-block-buttons {
	margin: 0;
	display: flex;
	align-content: flex-end;
	justify-content: flex-end;
}

@media (max-width: 768px) {
	.is-style-intro-with-button {
		grid-template-columns: minmax(0, 1fr);
	}

	.is-style-intro-with-button .wp-block-buttons {
		margin-top: var(--wp--preset--spacing--l);
		justify-content: flex-start;
	}
}

/* Slider - Logos
========================================================================== */

/* Archive: Category / Taxonomy
========================================================================== */

.category__description {
	font-size: var(--wp--preset--font-size--m);
}

/* Page: Articles
========================================================================== */

/* Card */

/* Single: Article
========================================================================== */

.single-article .grid-col-1 {
	grid-gap: var(--wp--preset--spacing--l);
}

/* Post meta */
.single .post-meta {
	margin-top: var(--wp--preset--spacing--m);
}

.post-meta__terms {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--s);
}

ul.post-meta__terms li {
	margin: 0;
	padding: 0;
}

ul.post-meta__terms .is-style-tag {
	background-color: var(--wp--preset--color--brand-secondary);
	border-radius: 4px;
	padding: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--xs);
	line-height: 0;

	text-transform: uppercase;
	font-weight: 500;
	color: var(--wp--preset--color--brand-primary);
	font-size: var(--wp--preset--font-size--xxs);
	text-decoration: none;
	letter-spacing: 0.04em;

	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--xxs);
}

ul.post-meta__terms .is-style-tag::before {
	content: url(../images/bookmark.svg);
	filter: brightness(0) saturate(100%) invert(14%) sepia(37%) saturate(2782%) hue-rotate(210deg) brightness(95%)
		contrast(102%);
}

/* Featured image */
.single .wp-block-post-featured-image {
	margin-top: calc(2 * var(--wp--style--block-gap));
}

.single .wp-block-post-featured-image img {
	aspect-ratio: var(--wp--custom--aspect-ratio--landscape);
	object-fit: cover;
	border-radius: 6px;
}

/* Section: Employees
========================================================================== */

/* Section: Testimonial slider
========================================================================== */

/* Testimonial card */

/* Section: Image gallery with lightbox
========================================================================== */

/* Section: FAQ
========================================================================== */

/* Card: FAQ */

/* Card: Customer support
========================================================================== */

.is-style-card-customer-support .safe-svg-cover svg {
	background-color: var(--wp--preset--color--white);
	border-radius: 50px;
}

.is-style-card-customer-support .safe-svg-cover path {
	fill: var(--wp--preset--color--brand-primary);
}

.is-style-card-customer-support {
	display: flex;
	flex-direction: column;
}

.is-style-card-customer-support .is-style-arrow-link {
	margin-top: auto;
}

/* Section: Benefits
========================================================================== */

.qt-section .grid:has(.is-style-card-benefits) {
	grid-gap: calc(2 * var(--wp--style--block-gap));
}

.is-style-card-benefits .safe-svg-cover svg {
	background-color: var(--wp--preset--color--accent-1);
	border-radius: 50px;
}

.is-style-card-benefits .safe-svg-cover path {
	fill: var(--wp--preset--color--brand-primary);
}

.is-style-card-benefits h3 + p {
	text-align: center;
}

/* Card: Link
========================================================================== */

.card--link {
	border-radius: 6px;
	overflow: hidden;
	gap: 0;
	text-decoration: none;
}

.card--link:hover {
	opacity: 1;
}

.card--link .card__title {
	margin: 0;
}

.card--link .card__media {
	position: relative;
	line-height: 0;
	overflow: hidden;
}

.card--link .card__media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: all 150ms linear;
}

.card--link:hover .card__media img {
	transform: scale(1.05);
}

.card--link .card__arrow {
	background-color: var(--wp--preset--color--white);
	width: 40px;
	height: 40px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card--link .card__arrow path {
	fill: var(--wp--preset--color--brand-primary);
}

@media (max-width: 980px) {
	.grid-col-3:has(.card--link.is-style-landscape) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 670px) {
	.grid-col-3:has(.card--link.is-style-landscape) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Link - Landscape */
.card--link.is-style-landscape {
	background-color: var(--wp--preset--color--accent-1);
}

.card--link.is-style-landscape .card__content {
	padding: var(--wp--preset--spacing--m);
	min-height: 127px;
}

.card--link.is-style-landscape .card__media img {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	aspect-ratio: var(--wp--custom--aspect-ratio--landscape);
}

.card--link.is-style-landscape .card__arrow {
	position: absolute;
	bottom: var(--wp--preset--spacing--m);
	right: var(--wp--preset--spacing--m);
}

/* Link - Portrait */
.card--link.is-style-portrait {
	position: relative;
	border-radius: 6px;
	overflow: hidden;
}

.card--link.is-style-portrait .card__content {
	position: absolute;
	bottom: 0;
	padding: 0 var(--wp--preset--spacing--m) var(--wp--preset--spacing--m);
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 2;
}

.card--link.is-style-portrait .card__title {
	color: var(--wp--preset--color--white);
}

.card--link.is-style-portrait .card__media img {
	aspect-ratio: var(--wp--custom--aspect-ratio--portrait);
}

.card--link.is-style-portrait .card__media {
	position: relative;
}

.card--link.is-style-portrait .card__media::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 33%, rgba(0, 0, 0, 0.4)) 33%;
	pointer-events: none;
	z-index: 1;
}
