:root {
	--tcm-ink: #123d32;
	--tcm-deep: #0a2d25;
	--tcm-paper: #fffdfa;
	--tcm-cream: #f5f0e6;
	--tcm-sand: #ddc19b;
	--tcm-line: rgba(35, 61, 49, .14);
}

/* Inicio: tres imágenes, tres funciones. */
body.tcm-route-home .tep-home-hero__media {
	background-image: url("media/home-hero-1600.webp") !important;
	background-position: center 42% !important;
}

body.tcm-route-home .tep-philosophy__media {
	background-image: url("media/home-practice-1600.webp") !important;
	background-position: center 45% !important;
}

body.tcm-route-home .tep-store__media {
	background-image: url("media/home-instruments-1600.webp") !important;
	background-position: center !important;
}

/* Ruta presencial: cada nivel tiene una escena y una profundidad propias. */
body.tcm-route-level-one .tpc-hero__media {
	background-image: url("media/level-one-1600.webp") !important;
	background-position: center 38% !important;
}

body.tcm-route-level-one .tpc-intro-media {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/10/Imagen-de-WhatsApp-2025-09-22-a-las-19.02.08_34af7a85.jpg") !important;
	background-position: center !important;
}

body.tcm-route-level-two .tpc-hero__media {
	background-image: url("media/level-two-1600.webp") !important;
	background-position: center 44% !important;
}

body.tcm-route-level-two .tpc-intro-media {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/10/Imagen-de-WhatsApp-2025-09-22-a-las-19.02.07_efcfbd4c.jpg") !important;
	background-position: center !important;
}

body.tcm-route-level-three .tpc-hero__media {
	background-image: url("media/level-three-1600.webp") !important;
	background-position: center 46% !important;
}

body.tcm-route-level-three .tpc-intro-media {
	background-image: url("media/level-three-detail-1600.webp") !important;
	background-position: center !important;
}

/* Territorio, archivo, contacto, acompañamiento y escenario. */
body.tcm-route-locations .tcp-hero__media {
	background-image: url("media/locations-1600.webp") !important;
	background-position: center 45% !important;
}

body.tcm-route-history .tcp-hero__media {
	background-image: url("media/history-1600.webp") !important;
	background-position: center 38% !important;
}

body.tcm-route-history .tcp-philosophy-media {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/10/La-Marquesa-Sundays.webp") !important;
	background-position: center !important;
}

body.tcm-route-contact .tcp-hero__media {
	background-image: url("media/contact-1600.webp") !important;
	background-position: center 58% !important;
}

body.tcm-route-contact .tcp-location-map {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/10/Imagen-de-WhatsApp-2025-10-24-a-las-14.50.59_be26850a.jpg") !important;
	background-position: center !important;
}

body.tcm-route-experts .tcp-hero__media {
	background-image: url("media/experts-1600.webp") !important;
	background-position: center 28% !important;
}

body.tcm-route-concerts .tcx-hero {
	background-image: linear-gradient(90deg, rgba(12, 31, 23, .97) 0%, rgba(15, 39, 29, .84) 48%, rgba(15, 39, 29, .38) 100%), url("media/concerts-1600.webp") !important;
	background-position: center !important;
}

/* Archivo general y portada de cursos heredada de Elementor. */
body.tcm-route-courses .elementor-element-8867ece {
	background-image: linear-gradient(90deg, rgba(10, 39, 32, .78), rgba(10, 39, 32, .18)), url("media/courses-1600.webp") !important;
	background-position: center 42% !important;
}

body.tcm-route-courses .elementor-element-d7ffb77 {
	background-image: linear-gradient(90deg, rgba(10, 39, 32, .7), rgba(10, 39, 32, .15)), url("https://theelephantbowl.com/wp-content/uploads/2025/10/MG_9893.webp") !important;
	background-position: center !important;
}

body.tcm-route-billboard .elementor-element-45414f61 {
	background-image: linear-gradient(90deg, rgba(10, 39, 32, .72), rgba(10, 39, 32, .12)), url("media/billboard-1600.webp") !important;
	background-position: center !important;
}

/* Archivo online: portada y miniaturas diferentes incluso entre Parte A y B. */
body.tcm-route-online-archive .tc-online-archive__hero {
	background-image: linear-gradient(90deg, rgba(22, 30, 25, .94) 0%, rgba(22, 30, 25, .72) 48%, rgba(22, 30, 25, .24) 100%), url("https://theelephantbowl.com/wp-content/uploads/2025/10/MG_9978.webp") !important;
	background-position: center !important;
}

body.tcm-route-online-archive .tc-online-card:nth-of-type(2) .tc-online-card__image {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/10/MG_8867.webp") !important;
}

body.tcm-route-online-archive .tc-online-card:nth-of-type(3) .tc-online-card__image {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/11/IMG_3113.webp") !important;
}

/* Library/community introductions are injected without altering stored Elementor content. */
.tcm-intro {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
	align-items: stretch;
	gap: clamp(34px, 6vw, 90px);
	max-width: 1380px;
	min-height: 560px;
	margin: 0 auto;
	padding: clamp(64px, 8vw, 112px) clamp(24px, 5vw, 76px);
	color: #fff;
	background: var(--tcm-deep);
}

.tcm-intro__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.tcm-intro__copy > p {
	margin: 0 0 18px;
	color: var(--tcm-sand);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.tcm-intro__copy h2 {
	max-width: 650px;
	margin: 0 0 24px;
	color: #fff;
	font-family: var(--tc-display, "Tai Heritage Pro", Georgia, serif);
	font-size: clamp(3.3rem, 6vw, 6.4rem);
	font-weight: 400;
	letter-spacing: -.05em;
	line-height: .9;
	text-wrap: balance;
}

.tcm-intro__copy > span {
	max-width: 550px;
	color: rgba(255, 255, 255, .72);
	font-size: 1rem;
	line-height: 1.7;
}

.tcm-intro figure {
	position: relative;
	min-height: 410px;
	margin: 0;
	overflow: hidden;
	border-radius: 220px 220px 24px 24px;
	background: #294d42;
}

.tcm-intro picture,
.tcm-intro img {
	display: block;
	width: 100%;
	height: 100%;
}

.tcm-intro img {
	position: absolute;
	inset: 0;
	object-fit: cover;
}

.tcm-intro--community img {
	object-position: center 48%;
}

.tcm-intro figcaption {
	position: absolute;
	z-index: 1;
	right: 18px;
	bottom: 18px;
	left: 18px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	color: #fff;
	background: rgba(10, 39, 32, .74);
	font-size: .64rem;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
}

body.tcm-route-community main.site-main {
	max-width: 1380px;
	margin: 0 auto;
	padding: clamp(56px, 7vw, 96px) clamp(20px, 5vw, 76px);
}

body.tcm-route-community main.site-main > .page-header {
	margin-bottom: 32px;
}

body.tcm-route-community main.site-main > .page-header h1 {
	margin: 0;
	color: var(--tcm-ink);
	font-family: var(--tc-display, "Tai Heritage Pro", Georgia, serif);
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 400;
	letter-spacing: -.04em;
}

body.tcm-route-community .page-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

body.tcm-route-community .page-content article.post {
	display: flex;
	min-height: 240px;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid var(--tcm-line);
	border-radius: 24px;
	background: var(--tcm-paper);
}

body.tcm-route-community .page-content article.post .entry-title {
	margin: 0 0 32px;
	font-family: var(--tc-display, "Tai Heritage Pro", Georgia, serif);
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 400;
	line-height: 1;
}

body.tcm-route-community .page-content article.post .entry-title a {
	color: var(--tcm-ink);
	text-decoration: none;
}

body.tcm-route-community .page-content article.post p {
	margin: auto 0 0;
	color: rgba(18, 61, 50, .72);
	font-size: .94rem;
	line-height: 1.6;
}

/* Recomendaciones conservadas como enlaces editoriales, sin repetir miniaturas. */
body.tcm-route-editorial-post .elementor-posts-container .elementor-post__thumbnail__link {
	display: none !important;
}

body.tcm-route-editorial-post .elementor-posts-container .elementor-post__card {
	min-height: 220px;
	justify-content: center;
	border: 1px solid var(--tcm-line);
	border-radius: 22px;
	background: var(--tcm-paper);
	box-shadow: none;
}

body.tcm-route-editorial-post .elementor-posts-container .elementor-post__text {
	padding: 28px !important;
}

@media (max-width: 900px) {
	.tcm-intro {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.tcm-intro figure {
		min-height: min(620px, 74svh);
	}

	body.tcm-route-community .page-content {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tcm-intro {
		gap: 28px;
		padding: 56px 20px;
	}

	.tcm-intro__copy h2 {
		font-size: clamp(3.1rem, 16vw, 4.6rem);
	}

	.tcm-intro figure {
		min-height: 480px;
		border-radius: 160px 160px 20px 20px;
	}

	body.tcm-route-home .tep-home-hero__media { background-image: url("media/home-hero-900.webp") !important; }
	body.tcm-route-level-one .tpc-hero__media { background-image: url("media/level-one-900.webp") !important; }
	body.tcm-route-level-two .tpc-hero__media { background-image: url("media/level-two-900.webp") !important; }
	body.tcm-route-level-three .tpc-hero__media { background-image: url("media/level-three-900.webp") !important; }
	body.tcm-route-contact .tcp-hero__media { background-image: url("media/contact-900.webp") !important; }
	body.tcm-route-history .tcp-hero__media { background-image: url("media/history-900.webp") !important; }
	body.tcm-route-locations .tcp-hero__media { background-image: url("media/locations-900.webp") !important; }
	body.tcm-route-concerts .tcx-hero {
		background-image: linear-gradient(0deg, rgba(12, 31, 23, .96), rgba(12, 31, 23, .42)), url("media/concerts-900.webp") !important;
	}

	body.tcm-route-community .page-content {
		grid-template-columns: 1fr;
	}

	body.tcm-route-community .page-content article.post {
		min-height: 190px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tcm-intro *,
	.tcm-intro *::before,
	.tcm-intro *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
