/**
 * Google service pages — premium intro paragraph treatments.
 *
 * @package WebCircleZ_Pro
 */

.wcz-service-live-intro--centered .wcz-service-live-text {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 980px;
	margin-top: 28px;
}

.wcz-service-live-intro--centered .wcz-service-live-text p {
	position: relative;
	min-height: 100%;
	margin: 0;
	padding: 26px 28px 26px 32px;
	overflow: hidden;
	text-align: left;
	font-size: clamp(0.95rem, 1.25vw, 1.08rem);
	font-weight: 500;
	line-height: 1.8;
	color: #536173;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 254, 0.9)),
		radial-gradient(circle at 12% 12%, rgba(0, 194, 229, 0.14), transparent 34%);
	border: 1px solid rgba(0, 194, 229, 0.16);
	border-radius: 24px;
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
	backdrop-filter: blur(14px);
}

.wcz-service-live-intro--centered .wcz-service-live-text p::before {
	content: '';
	position: absolute;
	left: 0;
	top: 24px;
	bottom: 24px;
	width: 4px;
	border-radius: 0 8px 8px 0;
	background: var(--wcz-gradient);
	box-shadow: 0 0 24px rgba(0, 194, 229, 0.4);
}

.wcz-service-live-intro--centered .wcz-service-live-text p::after {
	content: '';
	position: absolute;
	right: -42px;
	bottom: -42px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: rgba(0, 194, 229, 0.08);
	pointer-events: none;
}

.wcz-service-live-intro--centered .wcz-service-live-text p:first-child {
	color: #334155;
	border-color: rgba(0, 194, 229, 0.24);
}

.wcz-service-live-faq {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 18%, rgba(0, 194, 229, 0.12), transparent 34%),
		linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);
}

.wcz-service-live-faq .wcz-section-header {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.wcz-service-live-faq-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	max-width: 1180px;
	text-align: left;
}

.wcz-service-live-faq-item {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 24px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(0, 194, 229, 0.16);
	border-radius: 24px;
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.wcz-service-live-faq-item::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 194, 229, 0.1), transparent 44%);
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

.wcz-service-live-faq-item:hover {
	transform: translateY(-6px);
	border-color: rgba(0, 194, 229, 0.3);
	box-shadow: 0 26px 68px rgba(15, 23, 42, 0.12);
}

.wcz-service-live-faq-item:hover::before {
	opacity: 1;
}

.wcz-service-live-faq-item h4 {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	flex-shrink: 0;
	margin: 0 0 16px;
	font-family: var(--wcz-font-display);
	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.4;
	text-align: left;
	color: #0f172a;
}

.wcz-service-live-faq-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: #fff;
	background: var(--wcz-gradient);
	box-shadow: 0 10px 24px rgba(0, 194, 229, 0.28);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.wcz-service-live-faq-icon svg {
	width: 18px;
	height: 18px;
}

.wcz-service-live-faq-item:hover .wcz-service-live-faq-icon {
	transform: translateY(-2px) scale(1.06);
	box-shadow: 0 14px 30px rgba(0, 194, 229, 0.36);
}

.wcz-service-live-faq-item p {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	align-items: flex-start;
	margin: 0;
	padding: 16px 16px 16px 44px;
	min-height: 148px;
	height: 100%;
	max-width: none;
	box-sizing: border-box;
	font-size: 0.93rem;
	font-weight: 500;
	line-height: 1.75;
	text-align: left;
	color: #5f6f84;
	background: rgba(241, 250, 252, 0.78);
	border: 1px solid rgba(0, 194, 229, 0.12);
	border-radius: 18px;
}

.wcz-service-live-faq-item p::before {
	content: '→';
	position: absolute;
	left: 15px;
	top: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: var(--wcz-primary-dark, #0099b8);
	background: rgba(0, 194, 229, 0.12);
	font-weight: 900;
}

.wcz-service-live-split-visual--section {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	min-height: 360px;
	box-shadow: 0 24px 56px rgba(15, 23, 42, 0.1);
	background:
		linear-gradient(135deg, rgba(0, 194, 229, 0.08), rgba(255, 255, 255, 0.2)),
		#eef6f8;
}

.wcz-service-live-split-visual--section::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, rgba(15, 23, 42, 0.08) 100%);
	pointer-events: none;
}

.wcz-service-live-split-visual--section .wcz-service-live-photo {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	object-position: center;
}

.wcz-service-live-split--image-first .wcz-service-live-split-visual {
	order: -1;
}

@media (max-width: 900px) {
	.wcz-service-live-split-visual--section,
	.wcz-service-live-split-visual--section .wcz-service-live-photo {
		min-height: 280px;
	}
}

.wcz-service-live-why--creative {
	background: #fff;
}

.wcz-service-live-why--creative .wcz-section-header {
	max-width: 680px;
	margin: 0 auto;
	text-align: center;
}

.wcz-service-live-why--creative .wcz-section-title--live {
	font-weight: 700;
	color: #0f172a;
}

.wcz-service-live-why--creative .wcz-works-divider {
	margin: 16px auto 0;
}

.wcz-service-live-why--creative .wcz-service-live-why-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 980px;
	margin: 32px auto 0;
}

.wcz-service-live-why--creative .wcz-service-live-why-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 28px 26px 28px 30px;
	overflow: visible;
	text-align: left;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wcz-service-live-why--creative .wcz-service-live-why-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 22px;
	bottom: 22px;
	width: 3px;
	border-radius: 0 4px 4px 0;
	background: var(--wcz-gradient);
}

.wcz-service-live-why--creative .wcz-service-live-why-item:hover {
	border-color: rgba(0, 194, 229, 0.35);
	box-shadow: 0 12px 32px rgba(0, 194, 229, 0.1);
}

.wcz-service-live-why--creative .wcz-service-live-why-head {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
}

.wcz-service-live-why--creative .wcz-service-live-why-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 12px;
	color: var(--wcz-primary, #00c2e5);
	background: rgba(0, 194, 229, 0.1);
}

.wcz-service-live-why--creative .wcz-service-live-why-head h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.wcz-service-live-why--creative .wcz-service-live-why-item > p {
	margin: 0;
	font-size: 0.94rem;
	font-weight: 400;
	line-height: 1.75;
	color: #64748b;
}

/* Process icons — simple creative cards */
.wcz-process-icons {
	background: #fff;
}

.wcz-process-icons .wcz-max-title-heading {
	font-weight: 700;
	color: #0f172a;
}

.wcz-process-icons .wcz-works-divider {
	margin: 16px auto 0;
}

.wcz-process-icons-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	max-width: 1080px;
	margin: 32px auto 0;
}

.wcz-process-icons-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: none;
	max-width: none;
	padding: 28px 24px 28px 28px;
	text-align: left;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wcz-process-icons-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 22px;
	bottom: 22px;
	width: 3px;
	border-radius: 0 4px 4px 0;
	background: var(--wcz-gradient);
}

.wcz-process-icons-item:hover {
	border-color: rgba(0, 194, 229, 0.35);
	box-shadow: 0 12px 32px rgba(0, 194, 229, 0.1);
}

.wcz-process-icons-icon {
	width: 48px;
	height: 48px;
	margin: 0 0 16px;
	border-radius: 12px;
	color: var(--wcz-primary, #00c2e5);
	background: rgba(0, 194, 229, 0.1);
}

.wcz-process-icons-icon svg {
	width: 22px;
	height: 22px;
}

.wcz-process-icons-item h3 {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.wcz-process-icons-item p {
	margin: 0;
	font-size: 0.94rem;
	font-weight: 400;
	line-height: 1.75;
	color: #64748b;
}

@media (max-width: 760px) {
	.wcz-service-live-intro--centered .wcz-service-live-text {
		grid-template-columns: 1fr;
	}

	.wcz-service-live-intro--centered .wcz-service-live-text p {
		padding: 22px 22px 22px 26px;
	}

	.wcz-service-live-faq-grid {
		grid-template-columns: 1fr;
	}

	.wcz-service-live-faq-item p {
		min-height: 120px;
	}

	.wcz-service-live-why--creative .wcz-service-live-why-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 24px;
	}

	.wcz-service-live-why--creative .wcz-service-live-why-item {
		padding: 22px 20px 22px 24px;
	}

	.wcz-process-icons-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 24px;
	}

	.wcz-process-icons-item {
		padding: 22px 20px 22px 24px;
	}
}

/* --------------------------------------------------------------------------
   Google Ads — laptop hero (matches Services page banner height)
   -------------------------------------------------------------------------- */
.wcz-page-hero-google-ads.wcz-page-hero-banner--live,
.wcz-page-hero-google-ads.wcz-page-hero-service-picture {
	height: var(--wcz-page-banner-height);
	min-height: var(--wcz-page-banner-height);
	max-height: var(--wcz-page-banner-height);
	padding: 0;
	overflow: hidden;
}

.wcz-page-hero-google-ads.wcz-page-hero--laptop .wcz-page-hero-screen-stage {
	display: block;
	background: #2a2420;
}

.wcz-page-hero-google-ads .wcz-page-hero-laptop-shot {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wcz-page-hero-google-ads .wcz-page-hero-laptop-photo {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center center;
}

/* --------------------------------------------------------------------------
   GMB Optimization — full desk hero photo (matches Services page banner height)
   -------------------------------------------------------------------------- */
.wcz-page-hero-gmb.wcz-page-hero-banner--live,
.wcz-page-hero-gmb.wcz-page-hero-service-picture {
	height: var(--wcz-page-banner-height);
	min-height: var(--wcz-page-banner-height);
	max-height: var(--wcz-page-banner-height);
	padding: 0;
	overflow: hidden;
}

.wcz-page-hero-gmb .wcz-page-hero-banner-bg {
	position: absolute;
	inset: 0;
}

.wcz-page-hero-gmb .wcz-page-hero-banner-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 45%;
}

.wcz-page-hero-gmb.wcz-page-hero--laptop .wcz-page-hero-screen-stage {
	display: block;
	background: #2a2420;
}

.wcz-page-hero-gmb .wcz-page-hero-laptop-shot {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wcz-page-hero-gmb .wcz-page-hero-laptop-photo {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center center;
}

/* --------------------------------------------------------------------------
   Google Platform Suite — full desk hero photo (matches Services page banner height)
   -------------------------------------------------------------------------- */
.wcz-page-hero-google-platform.wcz-page-hero-banner--live,
.wcz-page-hero-google-platform.wcz-page-hero-service-picture {
	height: var(--wcz-page-banner-height);
	min-height: var(--wcz-page-banner-height);
	max-height: var(--wcz-page-banner-height);
	padding: 0;
	overflow: hidden;
}

.wcz-page-hero-google-platform .wcz-page-hero-banner-bg {
	position: absolute;
	inset: 0;
}

.wcz-page-hero-google-platform .wcz-page-hero-banner-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 45%;
}

.wcz-page-hero-google-platform.wcz-page-hero--laptop .wcz-page-hero-screen-stage {
	display: block;
	background: #2a2420;
}

.wcz-page-hero-google-platform .wcz-page-hero-laptop-shot {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wcz-page-hero-google-platform .wcz-page-hero-laptop-photo {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center center;
}

/* Dark mode — process / why cards */
html.wcz-dark-mode .wcz-process-icons {
	background: var(--wcz-bg, #070b14) !important;
}

html.wcz-dark-mode .wcz-process-icons-item,
html.wcz-dark-mode .wcz-service-live-why--creative .wcz-service-live-why-item {
	background: rgba(8, 12, 22, 0.96) !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

html.wcz-dark-mode .wcz-process-icons-item h3,
html.wcz-dark-mode .wcz-service-live-why--creative .wcz-service-live-why-head h3,
html.wcz-dark-mode .wcz-process-icons .wcz-max-title-heading {
	color: #ffffff !important;
}

html.wcz-dark-mode .wcz-process-icons-item p,
html.wcz-dark-mode .wcz-service-live-why--creative .wcz-service-live-why-item > p {
	color: #93a0b4 !important;
}

html.wcz-dark-mode .wcz-service-live-faq {
	background: var(--wcz-bg, #070b14) !important;
}

html.wcz-dark-mode .wcz-service-live-faq-item {
	background: rgba(8, 12, 22, 0.96) !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

html.wcz-dark-mode .wcz-service-live-faq-item h4 {
	color: #ffffff !important;
}

html.wcz-dark-mode .wcz-service-live-faq-item p {
	background: rgba(4, 8, 16, 0.92) !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
	color: #c8d0dc !important;
}

html.wcz-dark-mode .wcz-service-live-faq-item p::before {
	color: #00c2e5 !important;
	background: rgba(0, 194, 229, 0.16) !important;
}
