/**
 * Services template styles.
 *
 * Uses theme.json tokens where available:
 *   --wp--preset--color--theme-03 = #01666C (teal)
 *   --wp--preset--color--theme-06 = #FFEEEB (pink)
 *   --wp--preset--color--theme-02 = #002026 (dark)
 *   --wp--preset--font-family--dm-sans
 *   --wp--preset--font-family--butler
 */

/* ─── Hero gradient overlay ─── */
.service-hero .wp-block-cover__background {
	background: linear-gradient( 267deg, rgba( 5, 23, 9, 0 ) 10%, rgba( 0, 0, 0, 0.56 ) 95% ) !important;
	opacity: 1 !important;
}

/* ─── Sub-service tab navigation ─── */
.service-tabs {
	max-width: 1600px;
	margin: var(--wp--preset--spacing--60) auto var(--wp--preset--spacing--50);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.service-tabs::-webkit-scrollbar {
	display: none;
}

.service-tabs__list {
	display: flex;
	align-items: center;
	gap: 20px;
	white-space: nowrap;
}

.service-tabs__tab {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: var(--wp--custom--letter-spacing--extra-wide);
	line-height: 32px;
	text-transform: uppercase;
	color: var(--wp--preset--color--theme-03);
	background: none;
	border: none;
	cursor: pointer;
	padding: 26px 35px;
	border-radius: 0;
	transition: background-color 0.3s ease, border-radius 0.3s ease;
	flex-shrink: 0;
}

.service-tabs__tab:hover {
	background-color: color-mix(in srgb, var(--wp--preset--color--theme-06) 50%, transparent);
	border-radius: 70px;
}

.service-tabs__tab.is-active {
	background-color: var(--wp--preset--color--theme-06);
	border-radius: 70px;
}

/* ─── Content panels ─── */
.service-panels {
	max-width: 1600px;
	margin: 0 auto;
}

.service-panel {
	display: none;
}

.service-panel.is-active {
	display: block;
}

.service-panel__inner {
	display: flex;
	gap: 80px;
	background-color: var(--wp--preset--color--theme-06);
	padding: 60px;
	min-height: 900px;
	align-items: flex-start;
}

/* ─── Panel image ─── */
.service-panel__image {
	flex: 0 0 595px;
	max-width: 595px;
}

.service-panel__image img {
	width: 100%;
	height: 780px;
	object-fit: cover;
	display: block;
}

.service-panel__placeholder {
	width: 100%;
	height: 780px;
	background-color: #d9d9d9;
}

/* ─── Panel content ─── */
.service-panel__content {
	flex: 1;
	min-width: 0;
}

.service-panel__title {
	font-family: var(--wp--preset--font-family--butler);
	font-size: 63px;
	font-weight: 300;
	font-style: normal;
	line-height: 70px;
	color: var(--wp--preset--color--theme-03);
	margin: 0 0 56px;
}

/* ─── Content sections ─── */
.service-panel__sections {
	display: flex;
	flex-direction: column;
	gap: 88px;
}

.service-section {
	display: flex;
	flex-direction: column;
	gap: 21px;
}

.service-section__title {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: var(--wp--custom--letter-spacing--extra-wide);
	line-height: 32px;
	text-transform: uppercase;
	color: var(--wp--preset--color--theme-02);
	margin: 0;
}

.service-section__description,
.service-section__description p {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 20px;
	font-weight: 300;
	letter-spacing: var(--wp--custom--letter-spacing--tight);
	line-height: 31px;
	color: var(--wp--preset--color--theme-02);
	margin: 0;
}

.service-section__description p + p {
	margin-top: var(--wp--custom--spacing--16);
}

/* ─── Responsive ─── */
@media (max-width: 1200px) {
	.service-tabs,
	.service-panels {
		margin-left: var(--wp--preset--spacing--40);
		margin-right: var(--wp--preset--spacing--40);
	}

	.service-panel__inner {
		flex-direction: column;
		gap: 48px;
		padding: 40px;
	}

	.service-panel__image {
		flex: none;
		max-width: 100%;
	}

	.service-panel__image img {
		height: 400px;
	}

	.service-panel__placeholder {
		height: 400px;
	}

	.service-panel__title {
		font-size: 42px;
		line-height: 50px;
	}

	.service-panel__sections {
		gap: 48px;
	}
}

@media (max-width: 768px) {
	.service-tabs__tab {
		font-size: 16px;
		letter-spacing: 2px;
		padding: 16px 24px;
	}

	.service-panel__inner {
		padding: 24px;
	}

	.service-panel__image img {
		height: 300px;
	}

	.service-panel__placeholder {
		height: 300px;
	}

	.service-panel__title {
		font-size: 32px;
		line-height: 40px;
		margin-bottom: 32px;
	}

	.service-section__title {
		font-size: 16px;
		letter-spacing: 2px;
	}

	.service-section__description,
	.service-section__description p {
		font-size: 16px;
		line-height: 26px;
	}

	.service-panel__sections {
		gap: 32px;
	}
}
