/*
 * TradeKit Services block styles.
 */

.tk-services {
	--tk-services-columns: 3;
	--tk-services-gap: clamp(14px, 1.9vw, 24px);
	--tk-services-bg: var(--wp--preset--color--light);
	--tk-services-heading: var(--wp--preset--color--dark);
	--tk-services-body: var(--wp--preset--color--neutral-600);
	--tk-services-accent: var(--wp--preset--color--accent);
	--tk-services-card-bg: #fff;
	--tk-services-card-text: var(--wp--preset--color--dark);
	--tk-services-card-heading: var(--tk-services-card-text);
	--tk-services-card-body: color-mix(in srgb, var(--tk-services-card-text) 78%, transparent);
	--tk-services-card-link: var(--tk-services-accent);
	--tk-services-border: color-mix(in srgb, var(--tk-services-heading) 16%, transparent);
	--tk-services-radius: var(--tk-radius-default);
	--tk-services-texture-opacity: 0.14;
	--tk-services-cta-bg: var(--wp--preset--color--primary);
	--tk-services-cta-text: var(--wp--preset--color--light);
	--tk-services-cta-hover-bg: color-mix(in srgb, var(--tk-services-cta-bg) 88%, #000 12%);
	--tk-services-cta-hover-text: var(--tk-services-cta-text);
	--tk-services-cta-secondary-bg: transparent;
	--tk-services-cta-secondary-text: var(--tk-services-heading);
	--tk-services-cta-secondary-border: color-mix(in srgb, var(--tk-services-heading) 24%, transparent);
	--tk-services-cta-secondary-hover-bg: color-mix(in srgb, var(--tk-services-cta-secondary-text) 10%, transparent);
	--tk-services-cta-secondary-hover-text: var(--tk-services-cta-secondary-text);
	--tk-services-cta-secondary-hover-border: var(--tk-services-cta-secondary-border);
	--tk-services-overlay: #0f172a;
	--tk-services-overlay-opacity: 0.56;
	--tk-features-carousel-arrow-color: var(--tk-services-heading);
	--tk-features-carousel-arrow-bg: color-mix(in srgb, var(--tk-services-card-bg) 86%, transparent);
	--tk-features-carousel-arrow-border: color-mix(in srgb, var(--tk-services-heading) 18%, transparent);
	--tk-features-carousel-dot-color: color-mix(in srgb, var(--tk-services-heading) 28%, transparent);
	--tk-features-carousel-dot-active-color: var(--tk-services-accent);
	background: var(--tk-services-bg);
	color: var(--tk-services-heading);
}

.tk-services .tk-section-block__background-overlay {
	background-color: var(--tk-services-overlay);
	opacity: var(--tk-services-overlay-opacity);
}

.wp-block-tradekit-services,
.tk-services {
	max-inline-size: 100%;
	width: 100%;
}

.wp-block-tradekit-services.alignfull,
.tk-services.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	width: auto;
}

.tk-services :where(.tk-section-intro__eyebrow) {
	--tk-section-accent: var(--tk-services-accent);
}

.tk-services :where(.tk-section-intro__headline) {
	--tk-section-heading: var(--tk-services-heading);
}

.tk-services :where(.tk-section-intro__copy) {
	--tk-section-body: var(--tk-services-body);
}

.tk-services__grid {
	display: grid;
	gap: var(--tk-services-gap);
	grid-template-columns: repeat(var(--tk-services-columns), minmax(0, 1fr));
}

.tk-services--columns-1 {
	--tk-services-columns: 1;
}

.tk-services--columns-2 .tk-services__grid {
	--tk-services-columns: 2;
}

.tk-services--columns-3 .tk-services__grid {
	--tk-services-columns: 3;
}

.tk-services--columns-4 .tk-services__grid {
	--tk-services-columns: 4;
}

.tk-services--columns-5 .tk-services__grid {
	--tk-services-columns: 5;
}

.tk-services--columns-6 .tk-services__grid {
	--tk-services-columns: 6;
}

.tk-services--overflow-stack .tk-services__grid {
	margin-inline: auto;
	max-inline-size: 100%;
}

.tk-services:is(.tk-services--overflow-carousel, .tk-services--overflow-stack-mobile-carousel).tk-services--carousel-active .tk-features__carousel {
	padding-inline: clamp(52px, 5.5vw, 76px);
	position: relative;
}

.tk-services .tk-features--carousel-static {
	padding-inline: 0;
}

.tk-services .tk-features--carousel-static .tk-features__viewport {
	overflow: visible;
}

.tk-services .tk-features--carousel-static .tk-features__items--carousel {
	flex-wrap: wrap;
	justify-content: center;
	transform: none !important;
	will-change: auto;
}

.tk-services .tk-features--carousel-static .tk-features__slide {
	flex: 0 1 calc((100% - (var(--tk-services-gap) * (var(--tk-features-static-columns, 1) - 1))) / var(--tk-features-static-columns, 1));
	max-width: calc((100% - (var(--tk-services-gap) * (var(--tk-features-static-columns, 1) - 1))) / var(--tk-features-static-columns, 1));
}

.tk-services:is(.tk-services--overflow-carousel, .tk-services--overflow-stack-mobile-carousel).tk-services--carousel-active .tk-features__viewport {
	margin-inline: auto;
	overflow: hidden;
	width: 100%;
}

.tk-services:is(.tk-services--overflow-carousel, .tk-services--overflow-stack-mobile-carousel).tk-services--carousel-active .tk-features__items--carousel {
	display: flex;
	gap: var(--tk-services-gap);
	min-width: 0;
	overflow: visible;
	padding: 4px 0;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}

.tk-services:is(.tk-services--overflow-carousel, .tk-services--overflow-stack-mobile-carousel).tk-services--carousel-active .tk-features__slide {
	flex: 0 0 calc((100% - (var(--tk-services-gap) * (var(--tk-features-per-view) - 1))) / var(--tk-features-per-view));
	max-width: calc((100% - (var(--tk-services-gap) * (var(--tk-features-per-view) - 1))) / var(--tk-features-per-view));
}

.tk-services .tk-features__carousel-arrow {
	align-items: center;
	background: var(--tk-features-carousel-arrow-bg);
	border: 1px solid var(--tk-features-carousel-arrow-border);
	border-radius: 999px;
	color: var(--tk-features-carousel-arrow-color);
	display: inline-flex;
	height: 2.6rem;
	justify-content: center;
	width: 2.6rem;
}

.tk-services .tk-features__carousel-dots {
	display: flex;
	gap: 8px;
}

.tk-services .tk-features__carousel-dot {
	background: var(--tk-features-carousel-dot-color);
	border: 0;
	border-radius: 999px;
	height: 8px;
	padding: 0;
	width: 8px;
}

.tk-services .tk-features__carousel-dot.is-active {
	background: var(--tk-features-carousel-dot-active-color);
}

@media (min-width: 1200px) {

	.tk-services--overflow-stack:not(.tk-services--layout-editorial) .tk-services__grid {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.tk-services--overflow-stack:not(.tk-services--layout-editorial) .tk-services__card {
		flex: 0 1 calc((100% - (var(--tk-services-gap) * (var(--tk-services-columns) - 1))) / var(--tk-services-columns));
		max-width: calc((100% - (var(--tk-services-gap) * (var(--tk-services-columns) - 1))) / var(--tk-services-columns));
	}

	.tk-services--overflow-stack-mobile-carousel .tk-features__carousel {
		padding-inline: 0;
	}

	.tk-services--overflow-stack-mobile-carousel .tk-features__viewport {
		overflow: visible;
	}

	.tk-services--overflow-stack-mobile-carousel .tk-features__items--carousel {
		display: flex;
		flex-wrap: wrap;
		gap: var(--tk-services-gap);
		justify-content: center;
		transform: none !important;
		will-change: auto;
	}

	.tk-services--overflow-stack-mobile-carousel .tk-features__slide {
		flex: 0 1 calc((100% - (var(--tk-services-gap) * (var(--tk-services-columns) - 1))) / var(--tk-services-columns));
		max-width: calc((100% - (var(--tk-services-gap) * (var(--tk-services-columns) - 1))) / var(--tk-services-columns));
		min-width: 0;
	}

	.tk-services--overflow-stack-mobile-carousel .tk-features__carousel-controls {
		display: none;
	}
}

.tk-services__card {
	background: var(--tk-services-card-bg);
	border: 1px solid var(--tk-services-border);
	border-radius: var(--tk-services-radius);
	color: var(--tk-services-card-text);
	display: grid;
	overflow: hidden;
	position: relative;
}

:where(.tk-services--card-image-left, .tk-services--card-image-right) .tk-services__card {
	align-items: stretch;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.tk-services--card-background-off .tk-services__card {
	background: transparent;
}

.tk-services--card-outline-none .tk-services__card {
	border: 0;
}

.tk-services__card-content {
	display: grid;
	gap: var(--wp--preset--spacing--xs);
	padding: clamp(16px, 2vw, 24px);
}

.tk-services--card-align-center .tk-services__card-content {
	text-align: center;
}

.tk-services__card-title {
	color: var(--tk-services-card-heading);
	font-size: var(--wp--preset--font-size--h4);
	line-height: 1.2;
	margin: 0;
}

.tk-services__card-title a {
	color: inherit;
	text-decoration: none;
}

.tk-services__card-copy {
	color: var(--tk-services-card-body);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.tk-services__card-copy p {
	margin: 0;
}

.tk-services__card-link {
	color: var(--tk-services-card-link);
	font-family: var(--wp--preset--font-family--utility);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-top: var(--wp--preset--spacing--xs);
	text-decoration: none;
	text-transform: uppercase;
}

.tk-services__card-link::after {
	content: " \2192";
}

.tk-services__card-media {
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	margin: 0;
	min-height: clamp(180px, 16vw, 280px);
	overflow: hidden;
}

.tk-services__card-media-link {
	display: block;
	height: 100%;
	text-decoration: none;
	width: 100%;
}

:where(.tk-services--card-image-left, .tk-services--card-image-right) .tk-services__card-media {
	aspect-ratio: auto;
	height: auto;
	min-height: 0;
}

.tk-services--card-height-compact .tk-services__card-media {
	min-height: clamp(130px, 12vw, 190px);
}

.tk-services--card-height-standard .tk-services__card-media {
	min-height: clamp(180px, 16vw, 280px);
}

.tk-services--card-height-tall .tk-services__card-media {
	min-height: clamp(240px, 21vw, 360px);
}

.tk-services__card-image {
	height: 100%;
	max-height: 100%;
	max-width: 100%;
	object-position: center;
	object-fit: contain;
	width: 100%;
}

.tk-services--ratio-landscape .tk-services__card-media {
	aspect-ratio: 4 / 3;
}

.tk-services--ratio-widescreen .tk-services__card-media {
	aspect-ratio: 16 / 9;
}

.tk-services--ratio-square .tk-services__card-media {
	aspect-ratio: 1 / 1;
}

.tk-services--ratio-portrait .tk-services__card-media {
	aspect-ratio: 3 / 4;
}

.tk-services--ratio-original .tk-services__card-media {
	aspect-ratio: auto;
	min-height: 0;
}

.tk-services--ratio-original .tk-services__card-image {
	height: auto;
	max-height: none;
	object-fit: contain;
	width: 100%;
}

.tk-services--layout-image-cards .tk-services__card-content {
	padding: clamp(14px, 1.6vw, 22px);
}

.tk-services--layout-image-cards .tk-services__card-title {
	font-size: var(--wp--preset--font-size--h3);
}

.tk-services--geometry-cut .tk-services__card {
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}

.tk-services--layout-editorial .tk-services__grid {
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
}

.tk-services--layout-editorial .tk-services__card:first-child {
	grid-row: span 2;
}

.tk-services--layout-editorial .tk-services__card:first-child .tk-services__card-title {
	font-size: clamp(1.75rem, 2.2vw, 2.4rem);
}

.tk-services--card-image-right .tk-services__card-media {
	order: 2;
}

.tk-services--card-image-right .tk-services__card-content {
	order: 1;
}

.tk-services--card-spread-wide .tk-services__grid {
	gap: clamp(20px, 2.5vw, 40px);
}

.tk-services--card-spread-wide .tk-services__container {
	max-inline-size: 100%;
}

.tk-services.alignfull .tk-services__container.tk-container--wide {
	max-inline-size: 100%;
}

.tk-services--surface-light {
	--tk-services-bg: var(--wp--preset--color--light);
	--tk-services-heading: var(--wp--preset--color--dark);
	--tk-services-body: var(--wp--preset--color--neutral-600);
	--tk-services-accent: var(--wp--preset--color--accent);
	--tk-services-card-bg: #fff;
	--tk-services-card-text: var(--wp--preset--color--dark);
	--tk-services-card-heading: var(--wp--preset--color--dark);
	--tk-services-card-body: var(--wp--preset--color--neutral-600);
	--tk-services-card-link: var(--wp--preset--color--accent);
}

.tk-services--surface-dark {
	--tk-services-bg: var(--wp--preset--color--dark);
	--tk-services-heading: var(--wp--preset--color--light);
	--tk-services-body: var(--wp--preset--color--neutral-100);
	--tk-services-accent: var(--wp--preset--color--accent);
	--tk-services-card-bg: color-mix(in srgb, var(--wp--preset--color--dark) 78%, #1e293b 22%);
	--tk-services-card-text: var(--wp--preset--color--light);
	--tk-services-card-heading: var(--wp--preset--color--light);
	--tk-services-card-body: color-mix(in srgb, var(--wp--preset--color--neutral-100) 88%, transparent);
	--tk-services-card-link: var(--wp--preset--color--accent);
}

.tk-services--surface-brand {
	--tk-services-bg: var(--wp--preset--color--primary);
	--tk-services-heading: var(--wp--preset--color--light);
	--tk-services-body: var(--wp--preset--color--neutral-100);
	--tk-services-accent: var(--wp--preset--color--light);
	--tk-services-card-bg: color-mix(in srgb, var(--wp--preset--color--light) 94%, var(--wp--preset--color--primary) 6%);
	--tk-services-card-text: var(--wp--preset--color--dark);
	--tk-services-card-heading: var(--wp--preset--color--dark);
	--tk-services-card-body: var(--wp--preset--color--neutral-600);
	--tk-services-card-link: var(--wp--preset--color--primary);
}

.tk-services .tk-section-block__texture {
	inset: 0;
	mix-blend-mode: overlay;
	opacity: var(--tk-services-texture-opacity);
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.tk-services .tk-section-block__texture--site {
	background-image:
		linear-gradient(135deg, rgb(255 255 255 / 20%) 0, rgb(255 255 255 / 0%) 45%),
		repeating-linear-gradient(45deg, rgb(255 255 255 / 10%) 0, rgb(255 255 255 / 10%) 1px, transparent 1px, transparent 11px);
	background-size: cover, auto;
	background-position: center, center;
	background-repeat: no-repeat, repeat;
}

.tk-services--texture-intensity-subtle {
	--tk-services-texture-opacity: 0.14;
}

.tk-services--texture-intensity-normal {
	--tk-services-texture-opacity: 0.22;
}

.tk-services--texture-intensity-strong {
	--tk-services-texture-opacity: 0.3;
}

.tk-services--texture-intensity-full {
	--tk-services-texture-opacity: 1;
}

.tk-services--texture-fit-repeat .tk-section-block__texture--custom {
	background-repeat: repeat;
	background-size: auto;
}

.tk-services--texture-fit-cover .tk-section-block__texture--custom {
	background-repeat: no-repeat;
	background-size: cover;
}

.tk-services .tk-services__cta--primary.tk-button--primary {
	background-color: var(--tk-services-cta-bg);
	border-color: var(--tk-services-cta-bg);
	color: var(--tk-services-cta-text);
}

.tk-services .tk-services__cta--secondary.tk-button--secondary {
	background-color: var(--tk-services-cta-secondary-bg);
	border-color: var(--tk-services-cta-secondary-border);
	color: var(--tk-services-cta-secondary-text);
}

.tk-services .tk-services__cta--primary.tk-button--primary:hover,
.tk-services .tk-services__cta--primary.tk-button--primary:focus-visible {
	background-color: var(--tk-services-cta-hover-bg);
	border-color: var(--tk-services-cta-hover-bg);
	color: var(--tk-services-cta-hover-text);
}

.tk-services .tk-services__cta--secondary.tk-button--secondary:hover,
.tk-services .tk-services__cta--secondary.tk-button--secondary:focus-visible {
	background-color: var(--tk-services-cta-secondary-hover-bg);
	border-color: var(--tk-services-cta-secondary-hover-border);
	color: var(--tk-services-cta-secondary-hover-text);
}

.tk-services--surface-dark:not(.tk-services--color-custom) .tk-services__cta--secondary,
.tk-services--surface-brand:not(.tk-services--color-custom) .tk-services__cta--secondary {
	background: color-mix(in srgb, var(--wp--preset--color--light) 9%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--light) 68%, transparent);
	color: var(--wp--preset--color--light);
}

.tk-services--geometry-inherit,
.tk-services--geometry-clean {
	--tk-services-radius: var(--tk-radius-clean);
}

.tk-services--geometry-soft {
	--tk-services-radius: var(--tk-radius-soft);
}

.tk-services--geometry-cut {
	--tk-services-radius: var(--tk-radius-cut);
}

.tk-services--background-fixed .tk-section-block__background-image {
	background-attachment: fixed;
}

.tk-services-editor__item {
	border: 1px solid rgb(148 163 184 / 42%);
	border-radius: 6px;
	margin-top: 12px;
	padding: 12px;
}

.tk-services-editor__item-title {
	font-weight: 700;
	margin: 0 0 8px;
}

.tk-services-editor__item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

@media (max-width: 1023px) {

	.tk-services--columns-6 .tk-services__grid,
	.tk-services--columns-5 .tk-services__grid,
	.tk-services--columns-4 .tk-services__grid,
	.tk-services--columns-3 .tk-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tk-services--layout-editorial .tk-services__grid {
		grid-template-columns: 1fr;
	}

	:where(.tk-services--card-image-left, .tk-services--card-image-right) .tk-services__card {
		grid-template-columns: 1fr;
	}

	:where(.tk-services--card-image-left, .tk-services--card-image-right) .tk-services__card-media {
		aspect-ratio: inherit;
		height: auto;
		min-height: 0;
	}

	.tk-services--layout-editorial .tk-services__card:first-child {
		grid-row: auto;
	}

	.tk-services--card-image-right .tk-services__card-media,
	.tk-services--card-image-right .tk-services__card-content {
		order: initial;
	}
}

@media (max-width: 699px) {

	.tk-services__grid,
	.tk-services--columns-2 .tk-services__grid,
	.tk-services--columns-3 .tk-services__grid,
	.tk-services--columns-4 .tk-services__grid,
	.tk-services--columns-5 .tk-services__grid,
	.tk-services--columns-6 .tk-services__grid {
		grid-template-columns: 1fr;
	}

	.tk-services__card-content {
		padding: 16px;
	}

	.tk-section-intro__actions :where(.wp-element-button, .wp-block-button__link) {
		width: 100%;
	}

	.tk-services--background-fixed .tk-section-block__background-image {
		background-attachment: scroll;
	}

	.tk-services--texture-fixed .tk-section-block__texture {
		background-attachment: scroll;
	}
}
