/* =========================================================================
 * CCW Teaching — "Experience The Collective Code": text + buttons | video.
 * ===================================================================== */

.ccw-teach { position: relative; width: 100%; overflow: hidden; }
.ccw-teach::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-teach__inner {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 48px;
	padding-block: var(--ccw-space-7);
}
.ccw-teach--media-left .ccw-teach__media { order: -1; }

/* ---- Content ---- */
.ccw-teach__content { display: flex; flex-direction: column; align-items: flex-start; }
.ccw-teach__eyebrow {
	font-family: var(--ccw-font-body);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ccw-rose-deep);
}
.ccw-teach__title {
	font-family: var(--ccw-font-display);
	font-size: var(--ccw-fs-h2);
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #2A1E2C;
	margin: 4px 0 4px;
}
.ccw-teach__subtitle {
	font-family: var(--ccw-font-body);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ccw-rose-deep);
	margin: 0 0 16px;
}
.ccw-teach__body { font-size: 0.98rem; line-height: 1.7; color: #4A3F49; }
.ccw-teach__body p { margin: 0 0 1em; }
.ccw-teach__accent { font-size: 0.95rem; line-height: 1.6; color: #9C8AA0; margin: 4px 0 22px; }

/* ---- Button ---- */
.ccw-teach__btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 14px 30px;
	font-family: var(--ccw-font-body);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	background: var(--ccw-rose-deep);
	border-radius: 50px;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(192, 57, 122, 0.32);
	transition: transform 0.22s var(--ccw-ease-out), box-shadow 0.22s ease, background 0.22s ease;
}
.ccw-teach__btn:hover { background: var(--ccw-rose-strong); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(192, 57, 122, 0.45); }
.ccw-teach__btn-icon { display: inline-flex; align-items: center; }
.ccw-teach__btn-icon svg { width: 0.9em; height: 0.9em; fill: currentColor; }

/* ---- Video ---- */
.ccw-teach__media { display: flex; justify-content: center; }
.ccw-teach__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 72vh;
	border-radius: var(--ccw-radius-lg);
	overflow: hidden;
	box-shadow: var(--ccw-shadow-lg);
	background: radial-gradient(circle at 50% 45%, #3a2b3c 0%, #211622 70%);
}
.ccw-teach__video,
.ccw-teach__iframe,
.ccw-teach__frame .ccw-yt__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; background: #000; }
.ccw-teach__play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; display: block; }
.ccw-teach__play--noimg { display: flex; align-items: center; justify-content: center; }
.ccw-teach__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.ccw-teach__playbtn {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px; height: 72px;
	padding-left: 4px;
	border-radius: 50%;
	background-color: var(--ccw-rose-deep);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	transition: transform 0.25s var(--ccw-ease-out);
}
.ccw-teach__play:hover .ccw-teach__playbtn { transform: translate(-50%, -50%) scale(1.08); }

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.ccw-teach__inner { grid-template-columns: 1fr; gap: 30px; }
	.ccw-teach--media-left .ccw-teach__media, .ccw-teach__media { order: 1; }
	.ccw-teach__content { align-items: flex-start; }
}
@media (max-width: 600px) {
	.ccw-teach__title { font-size: clamp(1.6rem, 7vw, 2.1rem); }
	.ccw-teach__btn { align-self: stretch; justify-content: center; }
}

/* TikTok: open on platform (no broken inline embed) — clean poster + tag. */
.ccw-teach__play--tiktok { text-decoration: none; }
.ccw-teach__play--noimg { background: radial-gradient(circle at 50% 45%, #3a2b3c 0%, #211622 70%); }
.ccw-teach__tiktok-tag {
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 16px;
	font-family: var(--ccw-font-body);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(20, 12, 22, 0.72);
	border-radius: 50px;
	backdrop-filter: blur(4px);
}
.ccw-teach__tiktok-tag svg { fill: currentColor; }
