/*
 * EC Service Detail — editorial treatment for the 6 individual service pages.
 *
 * Outer wrapper carries class "ec-services ec-service-detail-wrap" so hero,
 * closing CTA, eyebrow, and --ec-* token rules from services.css all apply
 * without duplication. This file adds only detail-page-specific rules:
 *   - Hero height / padding variant (no stats block)
 *   - Back-link breadcrumb
 *   - Body container layout
 *   - WPBakery structural resets (vc_row, vc_column-inner)
 *   - Heading / body text brand skin inside .ec-service-detail-body
 *   - Lists (override .ec-services ul reset)
 *   - FAQ accordion brand skin (.vc_tta_accordion)
 */

/* =========================================================================
 *  HERO VARIANT — tighter padding, no stats row
 * ========================================================================= */
.ec-service-detail-wrap .ec-service-detail-hero {
	padding-top: 80px;
	padding-bottom: 80px;
}

/* Back-link breadcrumb above eyebrow */
.ec-detail-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
	margin-bottom: 20px;
	transition: color 0.18s ease;
}
.ec-detail-back:hover { color: var(--ec-gold, #F9BE17); }
.ec-detail-back svg { flex-shrink: 0; }

/* =========================================================================
 *  BODY CONTENT CONTAINER
 * ========================================================================= */
.ec-service-detail-body {
	max-width: 860px;
	margin: 0 auto;
	padding: 60px 24px 40px;
}

/* WPBakery structural wrapper resets */
.ec-service-detail-body .vc_row-fluid,
.ec-service-detail-body .vc_row {
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-bottom: 1px solid rgba(4,23,26,0.07);
	padding-bottom: 2.5rem !important;
	margin-bottom: 2.5rem !important;
}
.ec-service-detail-body .vc_row:last-child { border-bottom: none; margin-bottom: 0 !important; }
.ec-service-detail-body .vc_column-inner { padding: 0 !important; }
.ec-service-detail-body .wpb_wrapper { padding: 0; }

/* =========================================================================
 *  HEADINGS
 * ========================================================================= */
.ec-service-detail-body h1,
.ec-service-detail-body h2,
.ec-service-detail-body .wpb_content_element h2 {
	font-family: 'Fraunces', Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	color: #04171A;
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.2;
	margin: 2.5rem 0 0.75rem;
}
.ec-service-detail-body h2:first-child,
.ec-service-detail-body .vc_row:first-child h2 { margin-top: 0; }

.ec-service-detail-body h3,
.ec-service-detail-body .wpb_content_element h3 {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	color: #04171A;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	line-height: 1.3;
	margin: 1.75rem 0 0.5rem;
}

/* =========================================================================
 *  BODY TEXT
 * ========================================================================= */
.ec-service-detail-body p,
.ec-service-detail-body .vc_column_text p,
.ec-service-detail-body .wpb_text_column p {
	font-size: 1rem;
	line-height: 1.75;
	color: #2a3a3c;
	margin-bottom: 1.15em;
}
.ec-service-detail-body strong { font-weight: 700; color: #04171A; }
.ec-service-detail-body a:not(.ec-cta-btn):not(.ec-detail-back) {
	color: #1a7a60;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ec-service-detail-body a:not(.ec-cta-btn):not(.ec-detail-back):hover {
	color: var(--ec-green-text);
}

/* =========================================================================
 *  LISTS — override .ec-services ul/ol reset in services.css
 * ========================================================================= */
.ec-service-detail-body ul,
.ec-service-detail-body .vc_column_text ul,
.ec-service-detail-body .wpb_text_column ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0.5em 0 1.25em !important;
}
.ec-service-detail-body ul li,
.ec-service-detail-body .vc_column_text ul li {
	padding-left: 1.4em;
	position: relative;
	margin-bottom: 0.4em;
	line-height: 1.65;
}
.ec-service-detail-body ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #39DBB0;
}

/* =========================================================================
 *  FAQ ACCORDION — brand skin over .vc_tta_accordion
 * ========================================================================= */
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel {
	border: none !important;
	margin-bottom: 6px !important;
	border-radius: 6px !important;
	overflow: hidden;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-heading {
	background: #04171A !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-title {
	margin: 0 !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-title > a {
	color: #ffffff !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	padding: 16px 48px 16px 20px !important;
	display: block !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_active .vc_tta-panel-heading {
	background: #39DBB0 !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_active .vc_tta-panel-title > a {
	color: #04171A !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-body {
	background: #f6faf9 !important;
	border: 1px solid rgba(4,23,26,0.08) !important;
	border-top: none !important;
	padding: 0 !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-body .vc_column-inner {
	padding: 16px 20px !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-body p {
	margin: 0 0 0.6em !important;
	font-size: 0.9375rem !important;
	color: #2a3a3c;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-panel-body p:last-child { margin: 0 !important; }
/* Arrow icon */
.ec-service-detail-body .vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon {
	right: 18px !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_tta-controls-icon::before,
.ec-service-detail-body .vc_tta-accordion .vc_tta-controls-icon::after {
	border-color: rgba(255,255,255,0.55) !important;
}
.ec-service-detail-body .vc_tta-accordion .vc_active .vc_tta-controls-icon::before,
.ec-service-detail-body .vc_tta-accordion .vc_active .vc_tta-controls-icon::after {
	border-color: #04171A !important;
}

/* =========================================================================
 *  CTA ROW — WPBakery [ult_buttons] wrapper spacing
 * ========================================================================= */
.ec-service-detail-body .ult-btn-block { padding: 8px 0; }
.ec-service-detail-body .ubtn-wrap { justify-content: center; }

/* =========================================================================
 *  MOBILE
 * ========================================================================= */
@media (max-width: 767px) {
	.ec-service-detail-wrap .ec-service-detail-hero {
		padding-top: 56px;
		padding-bottom: 56px;
	}
	.ec-service-detail-body {
		padding: 40px 20px 32px;
	}
	.ec-service-detail-body h2 { font-size: 1.4rem; }
	.ec-service-detail-body h3 { font-size: 1.15rem; }
	.ec-service-detail-body .vc_row {
		padding-bottom: 1.75rem !important;
		margin-bottom: 1.75rem !important;
	}
}
