/**
 * Marketing layout — all section content aligns to .ws-container edges (same as header/footer).
 * Scope: body.ws-marketing only (excludes auth + portal).
 *
 * Agents: do not add max-width / margin-inline:auto on direct .ws-container children
 * unless the block is intentionally inset (rare). See CarlsUpdate.md FE-330 / QA-109.
 *
 * VIS rhythm (3 tiers — CarlsUpdate VIS-101):
 *   Canvas  — --ws-marketing-canvas: default page field (most sections)
 *   Surface — --ws-marketing-surface: cards/plans/tables only (not full-bleed bands)
 *   Accent  — --ws-marketing-accent: hero + one mid-page navy (domains) + footer CTA
 * Rule: no adjacent full-bleed white bands; avoid ws-section--alt as a page background.
 */

.ws-marketing {
	--ws-marketing-canvas: var(--ws-bg);
	--ws-marketing-surface: var(--ws-surface);
	--ws-marketing-accent: var(--ws-navy);
}

.ws-marketing .ws-section--alt {
	background: var(--ws-marketing-canvas);
}

.ws-marketing .ws-section--canvas,
.ws-marketing .ws-home-hosting-hub,
.ws-marketing .ws-home-support-cluster,
.ws-marketing .ws-home-insights,
.ws-marketing .ws-home-why-us {
	background: var(--ws-marketing-canvas);
}

.ws-marketing .ws-section--compact {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 3rem;
}

.ws-marketing .ws-home-hosting-hub__block > .ws-section__head {
	margin-bottom: 1.5rem;
}

.ws-marketing .ws-home-support-cluster__block + .ws-home-support-cluster__block,
.ws-marketing .ws-home-insights__block + .ws-home-insights__block {
	border-top: 1px solid var(--ws-border);
	padding-top: 3rem;
	margin-top: 3rem;
}

/* PERF-113: reserve space before FAQ accordion opens */
.ws-marketing .ws-faq__item summary {
	min-height: 3.25rem;
}

.ws-marketing .ws-section__head,
.ws-marketing .ws-section__head--center {
	max-width: none;
	margin-inline: 0;
}

.ws-marketing .ws-section__head--center {
	text-align: center;
}

.ws-marketing .ws-page__content,
.ws-marketing .ws-news-single__content {
	max-width: none;
}

.ws-marketing .ws-page-hero__lead {
	max-width: none;
}

.ws-marketing .ws-bolt-ons-grid,
.ws-marketing .ws-bolt-ons-section__note,
.ws-marketing .ws-faq__list,
.ws-marketing .ws-why-expect,
.ws-marketing .ws-testimonials__disclaimer {
	max-width: none;
	margin-inline: 0;
}

.ws-marketing .ws-bolt-ons-section__note,
.ws-marketing .ws-testimonials__disclaimer {
	text-align: center;
}

.ws-marketing .ws-cta-band__lead {
	max-width: none;
}

.ws-marketing .ws-header__city-line,
.ws-marketing .ws-footer__city-line {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--ws-muted);
}

.ws-marketing .ws-header__city-line {
	flex: 0 0 auto;
	align-self: center;
	padding-inline: 0.5rem 0;
}

/* Domains / hosting section headers */
.ws-marketing .ws-domain-tlds-section .ws-section__head,
.ws-marketing .ws-domain-features-section .ws-section__head,
.ws-marketing .ws-domain-how-section .ws-section__head,
.ws-marketing .ws-domain-bundles-section .ws-section__head,
.ws-marketing .ws-domain-alts-section .ws-section__head,
.ws-marketing .ws-hosting-features-section .ws-section__head {
	max-width: none;
	margin-inline: 0;
}

/* ENG-101: sticky mobile CTA */
.ws-sticky-cta {
	display: none;
}

@media (max-width: 768px) {
	.ws-marketing .ws-sticky-cta {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		gap: 0.5rem;
		padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
		background: rgba(15, 23, 42, 0.96);
		border-top: 1px solid var(--ws-border);
		box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.2);
	}

	.ws-sticky-cta__btn {
		flex: 1;
		text-align: center;
		padding: 0.75rem 1rem;
		border-radius: var(--ws-radius);
		font-weight: 600;
		font-size: 0.95rem;
		text-decoration: none;
	}

	.ws-sticky-cta__btn--primary {
		background: var(--ws-primary);
		color: #fff;
	}

	.ws-sticky-cta__btn--outline {
		border: 1px solid rgba(255, 255, 255, 0.35);
		color: #e2e8f0;
	}

	body.ws-marketing {
		padding-bottom: 4.5rem;
	}
}

.ws-news-card__plan {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--ws-primary);
	text-decoration: none;
}

.ws-news-card__plan:hover {
	text-decoration: underline;
}
