/* =========================================================================
 * CCW Heading — luxury centered heading + heart divider + script lines.
 * ===================================================================== */

.ccw-hdg { position: relative; width: 100%; overflow: hidden; }
.ccw-hdg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 1;
	pointer-events: none;
	z-index: 0;
}

.ccw-hdg__inner {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 16px;
	padding-block: var(--ccw-space-6);
}

.ccw-hdg__eyebrow {
	font-family: var(--ccw-font-body);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ccw-rose-deep);
}

.ccw-hdg__title {
	font-family: var(--ccw-font-display);
	font-size: var(--ccw-fs-h2);
	line-height: 1.18;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ccw-rose-deep);
	margin: 0;
}

/* ---- Heart divider ---- */
.ccw-hdg__divider { display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%; }
.ccw-hdg__rule { display: block; width: 60px; max-width: 22vw; height: 1.5px; background: var(--ccw-gold); border-radius: 2px; }
.ccw-hdg__heart { display: inline-flex; align-items: center; color: var(--ccw-rose-deep); font-size: 16px; line-height: 1; }
.ccw-hdg__heart svg { width: 1em; height: 1em; }

/* ---- Script ---- */
.ccw-hdg__script {
	font-family: var(--ccw-font-script);
	font-size: clamp(1.3rem, 2.6vw, 1.9rem);
	line-height: 1.5;
	color: var(--ccw-rose-deep);
	margin: 0;
}

.ccw-hdg__sub {
	font-size: var(--ccw-fs-body);
	line-height: var(--ccw-lh-body);
	color: var(--ccw-text);
	max-width: 60ch;
}
.ccw-hdg__sub p { margin: 0 0 0.7em; }
.ccw-hdg__sub p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
	.ccw-hdg__title { font-size: clamp(1.5rem, 7vw, 2rem); }
	.ccw-hdg__rule { width: 44px; }
}
