/* Services page (page-services.php / page-servicios.php). Loaded conditionally. */

.sss-services-hero {
	scroll-margin-top: 60px;
}

.sss-services-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
	gap: var(--sss-space-6);
	align-items: center;
	padding-block: 80px 72px;
}

.sss-services-hero__text p {
	font-size: 1.1875rem;
	line-height: 1.6;
}

.sss-services-hero__media {
	position: relative;
	border-radius: var(--sss-radius-lg);
	overflow: hidden;
	box-shadow: var(--sss-shadow-md);
}

.sss-services-hero__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.sss-service-detail {
	padding-block: 88px;
	scroll-margin-top: 60px;
}

.sss-service-detail--band,
.sss-service-detail--tint {
	background: var(--sss-cloud);
}

.sss-service-detail--band h2 {
	max-width: 32ch;
}

/* Life-safety detection — centered, with a hairline divider up top since
   the section above (video, --tint) shares the exact same cloud
   background and would otherwise run straight into this one. */
#life-safety-detection {
	border-top: 1px solid var(--sss-line);
}

#life-safety-detection .sss-container {
	text-align: center;
}

#life-safety-detection h2 {
	margin-inline: auto;
}

#life-safety-detection .sss-feature-list {
	justify-content: center;
}

#life-safety-detection .sss-feature-list__item {
	text-align: left;
}

.sss-service-detail--dark {
	background: var(--sss-navy);
}

.sss-service-detail--dark h2 {
	color: var(--sss-white);
}

.sss-service-detail--dark .sss-service-detail__points li {
	color: var(--sss-cloud);
}

.sss-service-detail--dark .sss-service-detail__points li::before {
	background: var(--sss-cyan);
}

/* Intentionally no max-width rule here: this class is only ever combined
   with .sss-container (base.css), which already caps width at
   --sss-content-wide and centers it — the media-split sections below rely
   on that cap directly, matching the equivalent Home Security / Business
   Security detail-page sections. A stray max-width: var(--sss-content-max)
   override used to live here and silently shrank these four sections to
   720px, far narrower than every other section on the page. See CLAUDE.md
   "Section Width Consistency". */

.sss-service-detail__points {
	display: grid;
	gap: var(--sss-space-3);
	margin-top: var(--sss-space-4);
}

.sss-service-detail__text > .sss-btn {
	margin-top: var(--sss-space-4);
}

.sss-service-detail__points li {
	padding-left: 18px;
	position: relative;
	color: var(--sss-slate);
	font-size: 1.0625rem;
	line-height: 1.55;
}

.sss-service-detail__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 10px;
	height: 2px;
	background: var(--sss-slate);
}

.sss-service-detail__inner--media {
	/* Do not set max-width here. This element carries the .sss-container
	   class (base.css), which already caps width at --sss-content-wide and
	   centers it — overriding max-width to `none` on the SAME element
	   cancels that cap, so the section silently becomes far wider than
	   every other section on the page (near-full-viewport instead of the
	   standard content width). See CLAUDE.md "Section Width Consistency". */
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
	gap: var(--sss-space-6);
	align-items: center;
}

.sss-service-detail__inner--reverse .sss-service-detail__media {
	order: -1;
}

.sss-service-detail__media {
	position: relative;
	border-radius: var(--sss-radius-lg);
	overflow: hidden;
}

.sss-service-detail__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Water filtration + final CTA, side by side with a diagonal seam. The
   water column is clipped on its right edge and pulled over the seam
   with a negative margin so the cut sits flush against the final-CTA
   column's solid background — no gap ever shows through. */
.sss-services-cta-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sss-services-cta-split__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-block: 88px;
	color: var(--sss-white);
}

.sss-services-cta-split__col h2 {
	color: var(--sss-white);
	max-width: 22ch;
}

.sss-services-cta-split__col p {
	color: var(--sss-cloud);
	font-size: 1.0625rem;
}

.sss-services-cta-split__col .sss-btn {
	margin-top: var(--sss-space-4);
}

.sss-services-cta-split__col--final {
	background: var(--sss-ink);
	padding-left: 140px;
	padding-right: max(var(--sss-gutter-desktop), calc((100vw - var(--sss-content-wide)) / 2 + var(--sss-gutter-desktop)));
}

.sss-services-cta-split--single {
	display: block;
}

.sss-services-cta-split--single .sss-services-cta-split__col--final {
	padding-inline: var(--sss-gutter-desktop);
	align-items: center;
	text-align: center;
}

.sss-services-cta-split--single .sss-services-cta-split__col--final h2 {
	max-width: none;
}

@media (max-width: 1023px) {
	.sss-services-cta-split {
		grid-template-columns: 1fr;
	}

	.sss-services-cta-split__col--final {
		padding-inline: var(--sss-gutter-tablet);
	}
}

/* Security configurations — the .sss-config tab/panel component itself
   now lives in components.css (shared with the Security Cameras page's
   camera-type tabs), not duplicated here. */

@media (max-width: 1023px) {
	.sss-services-hero__inner {
		grid-template-columns: 1fr;
	}

	.sss-service-detail__inner--media {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.sss-service-detail {
		padding-block: 64px;
	}

	.sss-services-hero__inner {
		padding-block: 48px 40px;
	}

	.sss-services-cta-split__col {
		padding-block: 48px;
	}

	/* Center on mobile (client direction) — the text side of every
	   text+image service section (Home Alarm, Automation, Video, Business),
	   left-aligned by default, plus its pill-style feature list. */
	.sss-services-hero__text,
	.sss-service-detail__text,
	.sss-services-cta-split__col {
		text-align: center;
	}

	.sss-service-detail__text .sss-feature-list {
		justify-content: center;
	}
}
