/*
Theme Name: Desbloqueo Creativo
Theme URI: https://desbloqueocreativo.local
Author: Desbloqueo Creativo · by laidea.
Description: Block theme propio para la plataforma de cursos (WooCommerce + LearnDash). Aplica el Manual de Marca v1.0: beige cálido, casi-negro, acentos lima + violeta, Object Sans Heavy + Ngetic Modern Italic para palabras-acento.
Version: 0.7.8
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: desbloqueo-creativo
Tags: block-theme, e-commerce, education, full-site-editing
*/

/* ============================================================
   Manual de Marca · Desbloqueo Creativo v1.0
   Tokens de marca — espejo de theme.json (ver MANUAL-DE-MARCA.md)
   ============================================================ */
:root {
	--color-beige:       #EBEAE4;
	--color-casi-negro:  #211E1F;
	--color-lima:        #BCFF00;
	--color-violeta:     #735EC5;
	--color-blanco:      #FFFFFF;

	--font-inter:        'Object Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-instrument:   'Ngetic Modern Italic', ui-serif, Georgia, 'Times New Roman', serif;

	--radius-card:       4px;
	--radius-button:     4px;
	--stroke-2:          2px solid var(--color-casi-negro);
}

/* ============================================================
   Base
   ============================================================ */
body {
	margin: 0;
	background: var(--color-beige);
	color: var(--color-casi-negro);
	font-family: var(--font-inter);
	font-size: 18px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;

	/* Cursor flecha 3× — clásico blanco con contorno negro */
	cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M3 2.5 L3 19 L8 14.5 L11.5 22 L14 20.5 L10.5 13 L17 13 Z' fill='%23ffffff' stroke='%23000000' stroke-width='1.5' stroke-linejoin='round'/></svg>") 3 3, auto;
}

/* Variante pointer (mano con dedito) 3× para elementos interactivos */
a,
button,
[role="button"],
input[type="submit"],
input[type="button"],
label,
.wp-block-button__link,
.wp-block-navigation-item__content,
.dc-hero-video__player,
.dc-card,
.wp-block-woocommerce-mini-cart,
.wc-block-mini-cart__button,
.wc-block-mini-cart__button * {
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
}

/* El marker fibrón de los títulos es decorativo: nunca cursor de enlace */
.dc-marker,
.dc-marker::after {
	cursor: inherit !important;
}

/* En touch devices y reduced-motion volvemos al cursor del sistema */
@media (pointer: coarse) {
	body, a, button, [role="button"], .wp-block-button__link {
		cursor: auto !important;
	}
}

img, svg { max-width: 100%; height: auto; }

/* Don't: sin sombras, sin gradientes (manual) */
.wp-block-cover,
.wp-block-group,
.wp-block-column,
.wp-block-button__link,
.dc-card,
.dc-card--accent {
	box-shadow: none !important;
	background-image: none !important;
}

/* ============================================================
   Tipografía
   ============================================================ */
h1, h2, h3, h4 {
	font-family: var(--font-inter);
	font-weight: 900;
	letter-spacing: -0.02em;
	margin: 0 0 0.5em;
}

h1 { font-size: clamp(2.75rem, 7vw, 5.25rem); line-height: 0.95; }
h2 { font-size: clamp(2.5rem, 5vw, 3.5rem);   line-height: 1; }
h3 { font-size: 36px; line-height: 1.1; letter-spacing: -0.015em; }
h4 { font-size: 24px; line-height: 1.3; }

p { margin: 0 0 1em; }

/* Palabra-acento en titulares — serif italic */
.dc-accent,
em.dc-accent,
h1 em, h2 em, h3 em {
	font-family: var(--font-instrument);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.01em;
}

/* ============================================================
   Marker fibrón animado — pinta el bg violeta de izq a der y
   cambia las letras de negro a blanco sincronizado con el wipe.
   Uso: <span class="dc-marker" data-marker="ven">ven</span>
   JS agrega .is-highlighted cuando entra al viewport.
   ============================================================ */
.dc-marker {
	position: relative;
	display: inline-block;
	color: var(--color-casi-negro);
	padding: 0 0.15em;
	isolation: isolate;
}

.dc-marker::after {
	content: attr(data-marker);
	position: absolute;
	inset: -0.18em -0.15em -0.02em -0.15em;
	padding: 0 0.15em;
	color: var(--color-blanco);
	background: var(--color-violeta);
	border-radius: 999px;
	transform: rotate(-1.5deg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1);
	z-index: 1;
	pointer-events: none;
}

.dc-marker.is-highlighted::after {
	clip-path: inset(0 0 0 0);
}

/* Variante lima — texto base BLANCO (visible sobre fondo casi-negro),
   wipe lima + texto casi-negro al activarse */
.dc-marker--lima {
	color: var(--color-blanco);
}

.dc-marker--lima::after {
	background: var(--color-lima);
	color: var(--color-casi-negro);
	/* inset inferior mayor: la píldora cubre los descendentes (q, p, g)
	   para que no asome el texto base blanco debajo */
	inset: -0.18em -0.15em -0.16em -0.15em;
	transform: rotate(-1.5deg);
	clip-path: inset(0 100% 0 0);
}

.dc-marker--lima.is-highlighted::after {
	clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
	.dc-marker::after {
		transition: none;
	}
}

/* ============================================================
   Botones — rectangulares, Object Sans Heavy, uppercase
   ============================================================ */
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
	background: var(--color-casi-negro);
	color: var(--color-blanco) !important;
	border: var(--stroke-2);
	border-radius: var(--radius-button);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 14px 26px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.wp-block-button__link:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

.wp-block-button__link:focus-visible {
	outline: 3px solid var(--color-violeta);
	outline-offset: 2px;
}

.is-style-fill-lima .wp-block-button__link {
	background: var(--color-casi-negro);
	color: var(--color-blanco) !important;
	border-color: var(--color-casi-negro);
}
.is-style-fill-lima .wp-block-button__link:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

.is-style-fill-violeta .wp-block-button__link {
	background: var(--color-violeta);
	color: var(--color-blanco) !important;
	border-color: var(--color-casi-negro);
}
.is-style-fill-violeta .wp-block-button__link:hover {
	background: var(--color-casi-negro) !important;
}

.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--color-casi-negro) !important;
}
.is-style-outline .wp-block-button__link:hover {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
}

/* ============================================================
   Navegación — sin pills, uppercase + underline en hover
   ============================================================ */
.wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	text-decoration: none;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content,
.wp-block-navigation .current_page_item .wp-block-navigation-item__content {
	border-bottom-color: var(--color-casi-negro);
}

/* ============================================================
   Cards
   ============================================================ */
.dc-card {
	background: var(--color-blanco);
	border: var(--stroke-2);
	border-radius: var(--radius-card);
	padding: 24px;
}

.dc-card--accent {
	border: var(--stroke-2);
	border-radius: var(--radius-card);
	padding: 32px;
}

.dc-card--lima    { background: var(--color-lima);    color: var(--color-casi-negro); }
.dc-card--violeta { background: var(--color-violeta); color: var(--color-blanco); }
.dc-card--negro   { background: var(--color-casi-negro); color: var(--color-blanco); }
.dc-card--blanco  { background: var(--color-blanco);  color: var(--color-casi-negro); }

.dc-card--violeta h1, .dc-card--violeta h2, .dc-card--violeta h3,
.dc-card--negro h1,   .dc-card--negro h2,   .dc-card--negro h3 {
	color: inherit;
}

/* ============================================================
   Cómo funciona — 3 filas alternadas que se pisan un poco
   ============================================================ */
.dc-howto {
	margin-top: 0;
}

.dc-howto__rows {
	display: flex;
	flex-direction: column;
	/* acerca la primera tarjeta al título */
	margin-top: clamp(-170px, -9vw, -70px);
}

.dc-howto__row {
	position: relative;
	display: flex;
	align-items: center;
	gap: clamp(16px, 4vw, 56px);
}

.dc-howto__row--reverse {
	flex-direction: row-reverse;
}

/* solape vertical entre filas; cada fila por encima de la anterior */
.dc-howto__row + .dc-howto__row {
	margin-top: clamp(-320px, -18vw, -160px);
}
.dc-howto__row:nth-child(1) { z-index: 1; }
.dc-howto__row:nth-child(2) { z-index: 2; }
.dc-howto__row:nth-child(3) { z-index: 3; }

.dc-howto__card {
	position: relative;
	z-index: 1;
	flex: 1 1 56%;
	align-self: center;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 16px;
}

/* la foto pisa la tarjeta (queda por encima y solapa su borde) */
.dc-howto__media {
	z-index: 2;
}
.dc-howto__row .dc-howto__media {
	margin-left: clamp(-120px, -8vw, -56px);
}
.dc-howto__row--reverse .dc-howto__media {
	margin-left: 0;
	margin-right: clamp(-120px, -8vw, -56px);
}

.dc-howto__num {
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 var(--wp--preset--spacing--20);
}
.dc-howto__card h3 {
	margin: 0 0 var(--wp--preset--spacing--15);
}
.dc-howto__card p:last-child {
	margin: 0;
}

.dc-howto__media {
	position: relative;
	flex: 0 0 57%; /* imágenes ×1.3 (44% → 57%) */
	margin: 0;
	/* La flotación anima el CONTENEDOR, no la imagen filtrada: así el
	   filtro pesado (drop-shadows) se rasteriza una sola vez y el frame
	   sólo compone un transform. Evita el jank al scrollear la sección. */
	animation: dc-howto-float 5.5s ease-in-out infinite alternate;
	will-change: transform;
}
.dc-howto__row:nth-child(2) .dc-howto__media { animation-delay: -1.6s; }
.dc-howto__row:nth-child(3) .dc-howto__media { animation-delay: -3.1s; }

.dc-howto__media img:not(.dc-deco) {
	position: relative;
	z-index: 1; /* la foto por encima de las decoraciones */
	display: block;
	width: 100%;
	height: auto;
	max-height: 698px; /* ×1.3 (537 → 698) */
	object-fit: contain;
	/* contorno blanco más ancho (8 direcciones, 6px). La imagen no anima en
	   continuo (la flotación va en el contenedor) → el filtro se rasteriza
	   una sola vez, el costo extra es asumible. */
	filter:
		drop-shadow(6px 0 0 #fff)  drop-shadow(-6px 0 0 #fff)
		drop-shadow(0 6px 0 #fff)  drop-shadow(0 -6px 0 #fff)
		drop-shadow(4px 4px 0 #fff) drop-shadow(-4px 4px 0 #fff)
		drop-shadow(4px -4px 0 #fff) drop-shadow(-4px -4px 0 #fff);
}

@keyframes dc-howto-float {
	from { transform: translateY(0); }
	to   { transform: translateY(-12px); }
}
@media (prefers-reduced-motion: reduce) {
	.dc-howto__media { animation: none; }
}

@media (max-width: 860px) {
	.dc-howto__row,
	.dc-howto__row--reverse {
		flex-direction: column;
	}
	.dc-howto__row + .dc-howto__row {
		margin-top: 12px; /* filas más juntas en mobile */
	}
	.dc-howto__card,
	.dc-howto__media {
		flex: 1 1 100%;
		width: 100%;
	}
	.dc-howto__row .dc-howto__media,
	.dc-howto__row--reverse .dc-howto__media {
		margin-left: 0;
		margin-right: 0;
	}
	.dc-howto__media img:not(.dc-deco) {
		max-height: 485px; /* ×1.3 (373 → 485) */
	}
}

/* ============================================================
   Elementos decorativos — sistema .dc-deco reutilizable
   Reglas: violeta/negro en fondos claros, verde en oscuros.
   Por sección: 3 piezas (sm ~50px / md / lg ~400px).
   ============================================================ */
/* Sección que contiene decoraciones */
.dc-has-deco { position: relative; overflow: hidden; isolation: isolate; }
/* el contenido real de la sección queda por encima de las piezas */
.dc-has-deco > *:not(.dc-deco) {
	position: relative;
	z-index: 1;
}

/* Pieza decorativa */
.dc-deco {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	user-select: none;
	display: block;
	height: auto;
	/* todos los assets son ~cuadrados: reservar caja antes/aunque no cargue
	   evita colapso de alto y el lazy-load no dispara con caja de 0px */
	aspect-ratio: 1 / 1;
	object-fit: contain;
	opacity: .9;
}

/* Tamaños */
.dc-deco--sm { width: 50px; }
.dc-deco--md { width: clamp(90px, 12vw, 170px); }
.dc-deco--lg { width: clamp(180px, 30vw, 400px); }
.dc-deco--xl { width: clamp(380px, 55vw, 760px); }

/* Posiciones — sangran un poco fuera del borde; overflow:hidden recorta */
.dc-deco--tl { top: -2%;  left: -2%; }
.dc-deco--tr { top: -3%;  right: -2%; }
.dc-deco--bl { bottom: -4%; left: -2%; }
.dc-deco--br { bottom: -4%; right: -3%; }
.dc-deco--ml { top: 40%; left: -3%; }
.dc-deco--mr { top: 35%; right: -3%; }

/* Opacidades sutiles para las piezas grandes de fondo */
.dc-deco--soft  { opacity: .2; }
.dc-deco--soft2 { opacity: .25; }

/* Recoloreado de PNGs negros vía mask (color de marca exacto) */
.dc-deco--mask {
	/* span vacío: sin imagen real no tiene alto intrínseco -> forzamos ratio
	   (los PNG negros ELEMENTO-2 / ELEMENTO-6 son ~cuadrados) */
	aspect-ratio: 1 / 1;
	background-color: var(--deco-color, var(--color-casi-negro));
	-webkit-mask: var(--deco-img) center / contain no-repeat;
	        mask: var(--deco-img) center / contain no-repeat;
}
.dc-deco--violeta { --deco-color: var(--color-violeta); }
.dc-deco--lima    { --deco-color: var(--color-lima); }
.dc-deco--negro   { --deco-color: var(--color-casi-negro); }

/* Flotación sutil, escalonada con --d */
.dc-deco--float {
	animation: dc-deco-float 7s ease-in-out infinite alternate;
	animation-delay: var(--d, 0s);
}
@keyframes dc-deco-float {
	from { transform: translateY(0) rotate(0deg); }
	to   { transform: translateY(-14px) rotate(4deg); }
}

/* Móvil: aligerar para no saturar */
@media (max-width: 781px) {
	.dc-deco--lg { width: min(48vw, 220px); }
	.dc-deco--xl { width: min(80vw, 420px); }
	.dc-deco--sm { width: 40px; }
	.dc-deco--md { width: clamp(70px, 18vw, 110px); }
}
@media (prefers-reduced-motion: reduce) {
	.dc-deco--float { animation: none; }
}

/* ============================================================
   Sticker — badge "pop" para destacar (ej. "Nuestro último curso")
   ============================================================ */
.dc-sticker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 8px 16px;
	background: var(--color-lima);
	color: var(--color-casi-negro);
	border: var(--stroke-2);
	border-radius: 999px;
	box-shadow: 3px 3px 0 var(--color-casi-negro);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
	transform: rotate(-3deg);
	transform-origin: left center;
	will-change: transform;
	/* pop al aparecer + wiggle sutil continuo */
	animation:
		dc-sticker-in 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both,
		dc-sticker-wiggle 3.2s ease-in-out 0.9s infinite;
}

.dc-sticker__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--color-casi-negro);
	flex: none;
	animation: dc-sticker-pulse 1.1s ease-in-out infinite alternate;
}

@keyframes dc-sticker-in {
	from { opacity: 0; transform: rotate(-14deg) scale(0.5); }
	to   { opacity: 1; transform: rotate(-3deg) scale(1); }
}
@keyframes dc-sticker-wiggle {
	0%   { transform: rotate(-3deg) translateY(0); }
	50%  { transform: rotate(0deg)  translateY(-2px); }
	100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes dc-sticker-pulse {
	from { transform: scale(1);    opacity: 0.7; }
	to   { transform: scale(1.35); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.dc-sticker { animation: none; opacity: 1; transform: rotate(-3deg); }
	.dc-sticker__dot { animation: none; }
}

/* ============================================================
   Hero Video — reproductor full-width directamente bajo el header
   ============================================================ */
/* Hero: fondo beige sólido. El violeta lo aporta el wrapper .dc-hero-band */
/* main del home sin margen superior */
.dc-home-main {
	margin-top: 0;
}

.dc-hero-video {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	background: var(--color-blanco);
	/* padding inferior al doble (24 → 48) */
	padding: 24px 24px 48px 24px;
}

.dc-hero-video__inner {
	position: relative;
	z-index: 1;
	height: 530px;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	border: 2px solid var(--color-casi-negro);
	border-radius: 12px;
	overflow: hidden;
	background: var(--color-casi-negro);
}

@media (max-width: 1024px) {
	.dc-hero-video__inner { height: 420px; }
}
@media (max-width: 640px) {
	.dc-hero-video__inner { height: 280px; }
}


.dc-hero-video__frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* ============================================================
   Hero Video Poster — facade click-to-play
   ============================================================ */
.dc-hero-video__player {
	position: relative;
	width: 100%;
	height: 100%;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	overflow: hidden;
	background: var(--color-casi-negro);
	-webkit-tap-highlight-color: transparent;
}

.dc-hero-video__player:focus-visible {
	outline: 3px solid var(--color-lima);
	outline-offset: -3px;
}

/* Video local embebido: arranca oculto (sin controles), el poster lo tapa.
   Cuando se reproduce, se le pide controls y el poster fade-outs. */
.dc-hero-video__el {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: var(--color-casi-negro);
	display: block;
}

/* Overlay encima del primer frame del video: oscurece la placa (un poco más). */
.dc-hero-video__player::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(33, 30, 31, 0.62), rgba(33, 30, 31, 0.72));
	transition: opacity 0.25s ease;
	z-index: 1;
}

.dc-hero-video__player.is-playing::before {
	opacity: 0;
	pointer-events: none;
}

/* Patrón animado de elementos violeta (no 3D) detrás del video (fondo beige). */
/* Grilla de puntos ELEMENTO-1 detrás del video. Sin movimiento:
   cada punto sólo cambia de opacidad, con un desfase por índice que
   forma una secuencia/onda sincronizada entre todos los puntos. */
.dc-hero-video__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, 116px);
	grid-auto-rows: 116px;
	justify-content: center;
	align-content: center;
	overflow: hidden;
	filter: none;
}

.dc-hero-video__pattern span {
	display: block;
	width: 100%;
	height: 100%;
	background: url("/wp-content/uploads/2026/05/ELEMENTO-1-150x150.png") center / 56px 56px no-repeat;
	opacity: 0.05;
	/* desfase negativo por índice → la secuencia ya está en régimen
	   desde t=0 (onda continua, sin esperar) */
	animation: dc-hero-twinkle 3.4s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * -0.13s);
}

/* sólo opacidad, nada de transform/posición */
@keyframes dc-hero-twinkle {
	0%, 100% { opacity: 0.04; }
	50%      { opacity: 0.20; }
}

@media (prefers-reduced-motion: reduce) {
	.dc-hero-video__pattern span { animation: none; opacity: 0.10; }
}

/* Estado vacío: no hay video cargado */
.dc-hero-video__empty {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: var(--color-beige);
	font-family: var(--font-inter);
	text-align: center;
	padding: 24px;
}

.dc-hero-video__empty p {
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 14px;
}

.dc-hero-video__cta {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	pointer-events: none;
	transition: opacity 0.25s ease;
	z-index: 2;
}

.dc-hero-video__btn {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: var(--color-lima);
	border: 3px solid var(--color-casi-negro);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease, background 0.25s ease;
}

.dc-hero-video__player:hover .dc-hero-video__btn {
	transform: scale(1.08);
	background: var(--color-blanco);
}

/* Triángulo de play (CSS puro, técnica de borders — no es icon ni glifo) */
.dc-hero-video__arrow {
	width: 0;
	height: 0;
	border-left: 26px solid var(--color-casi-negro);
	border-top: 17px solid transparent;
	border-bottom: 17px solid transparent;
	margin-left: 6px;
}

.dc-hero-video__label {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-blanco);
	text-shadow: 0 1px 2px rgba(33, 30, 31, 0.4);
}

/* Estado activo: CTA desaparece, video local queda visible con controls */
.dc-hero-video__player.is-playing .dc-hero-video__cta {
	opacity: 0;
	pointer-events: none;
}

.dc-hero-video__player.is-playing {
	cursor: default;
}

@media (max-width: 640px) {
	.dc-hero-video__btn { width: 72px; height: 72px; }
	.dc-hero-video__arrow {
		border-left: 20px solid var(--color-casi-negro);
		border-top: 13px solid transparent;
		border-bottom: 13px solid transparent;
	}
	.dc-hero-video__label { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.dc-hero-video__poster,
	.dc-hero-video__btn,
	.dc-hero-video__cta { transition: none !important; }
	.dc-hero-video__player:hover .dc-hero-video__poster,
	.dc-hero-video__player:hover .dc-hero-video__btn { transform: none; }
}

@media (max-width: 768px) {
	.dc-hero-video { padding: 12px; }
	.dc-hero-video__inner { border-radius: 8px; }
}

/* ============================================================
   Hero (texto/headline debajo del video) — legacy single-column
   ============================================================ */
.dc-hero {
	text-align: left;
	padding: clamp(60px, 8vw, 120px) 0;
}

.dc-hero h1 {
	margin: 0 0 32px;
}

.dc-hero .dc-lead {
	font-family: var(--font-inter);
	font-size: 24px;
	line-height: 1.3;
	font-weight: 400;
	max-width: 640px;
	margin: 0 0 40px;
}

/* ============================================================
   Headline section — 2 cols (texto + imagen)
   Todo alineado a la izquierda en la columna de texto.
   ============================================================ */
.dc-headline .dc-headline__text {
	text-align: left;
}

.dc-headline__text > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.dc-headline__text .dc-lead {
	max-width: none;
	font-family: var(--font-inter);
	font-size: 24px;
	line-height: 1.3;
	font-weight: 400;
}

.dc-headline__text .wp-block-buttons {
	justify-content: flex-start;
}

.dc-headline__media {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Marco blanco sobresaliente con bordes redondeados */
.dc-headline__img {
	margin: 0;
	background: var(--color-blanco);
	padding: 14px;
	border-radius: 22px;
	box-shadow: 0 22px 48px rgba(33, 30, 31, 0.16);
}

.dc-headline__img img {
	display: block;
	height: 560px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	border-radius: 12px;
}

@media (max-width: 900px) {
	.dc-headline__img img { height: auto; max-height: 420px; }
}

@media (max-width: 900px) {
	.dc-headline .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.dc-headline__text,
	.dc-headline__media {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.dc-headline__media {
		justify-content: center;
		margin-top: 40px;
	}
}

/* Banda decorativa con palabras (editorial) */
/* Marquee — wrapper externo con overflow hidden. Sin fade lateral. */
.dc-band-wrap {
	background: var(--color-casi-negro);
	overflow: hidden;
	padding: 12px 0;
	margin-top: 0 !important;
	cursor: default;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.dc-band-wrap .dc-band {
	padding: 6px 0;
}

.dc-band {
	display: inline-flex;
	white-space: nowrap;
	color: var(--color-blanco);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	align-items: center;
	will-change: transform;
	user-select: none;
}

.dc-band > span {
	flex: 0 0 auto;
	padding: 0 32px;
	display: inline-flex;
	align-items: center;
}

.dc-band > span + span {
	border-left: 2px solid rgba(235, 234, 228, 0.4);
}

.dc-band .dc-accent {
	color: var(--color-lima);
}

/* ============================================================
   Testimonios — 2 sliders marquee opuestos
   ============================================================ */
.dc-testimonios {
	background: var(--color-beige);
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ============================================================
   FAQ — acordeón. Continuidad con testimonios: mismo beige,
   sin borde/línea divisoria entre secciones.
   ============================================================ */
.dc-faq {
	background: var(--color-beige);
	border: 0;
}

.dc-faq__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: start;
}
.dc-faq__col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
@media (max-width: 781px) {
	.dc-faq__cols { grid-template-columns: 1fr; }
}

.dc-faq__item {
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.25s cubic-bezier(0.65, 0, 0.35, 1),
		box-shadow 0.25s cubic-bezier(0.65, 0, 0.35, 1);
}
.dc-faq__item:hover {
	transform: translateY(-2px);
	box-shadow: 4px 4px 0 var(--color-casi-negro);
}

.dc-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	cursor: pointer;
	list-style: none;
	padding: clamp(18px, 2.4vw, 28px) clamp(20px, 2.6vw, 32px);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: clamp(17px, 1.5vw, 22px);
	line-height: 1.25;
	color: var(--color-casi-negro);
}
.dc-faq__q::-webkit-details-marker { display: none; }
.dc-faq__q:focus-visible {
	outline: 3px solid var(--color-violeta);
	outline-offset: -3px;
}

/* Ícono "+" en círculo lima que gira a "×" al abrir */
.dc-faq__icon {
	position: relative;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--color-lima);
	border: 2px solid var(--color-casi-negro);
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1),
		background 0.25s ease;
}
.dc-faq__icon::before,
.dc-faq__icon::after {
	content: "";
	position: absolute;
	inset: 50% 9px auto 9px;
	height: 2.5px;
	background: var(--color-casi-negro);
	transform: translateY(-50%);
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
.dc-faq__icon::after { transform: translateY(-50%) rotate(90deg); }

.dc-faq__item[open] .dc-faq__icon {
	transform: rotate(135deg);
	background: var(--color-violeta);
}
.dc-faq__item[open] .dc-faq__icon::before,
.dc-faq__item[open] .dc-faq__icon::after {
	background: var(--color-blanco);
}

/* Apertura suave por grid-template-rows (0fr → 1fr) + fade */
.dc-faq__a {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.45s cubic-bezier(0.65, 0, 0.35, 1),
		opacity 0.35s ease;
}
.dc-faq__item[open] .dc-faq__a {
	grid-template-rows: 1fr;
	opacity: 1;
}
.dc-faq__a > p {
	overflow: hidden;
	min-height: 0;
	margin: 0;
	padding: 0 clamp(20px, 2.6vw, 32px) clamp(20px, 2.6vw, 28px);
	font-family: var(--font-inter);
	font-size: clamp(15px, 1.2vw, 18px);
	line-height: 1.6;
	color: var(--color-casi-negro);
}

@media (prefers-reduced-motion: reduce) {
	.dc-faq__item,
	.dc-faq__icon,
	.dc-faq__icon::before,
	.dc-faq__icon::after,
	.dc-faq__a {
		transition: none;
	}
}

.dc-testimonios h2 {
	margin: 0 0 60px;
	padding-left: var(--wp--style--root--padding-left, 30px);
	padding-right: var(--wp--style--root--padding-right, 30px);
}

.dc-testimonios__rows {
	display: flex;
	flex-direction: column;
	gap: 40px;
	overflow: hidden;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
}

.dc-testimonios__row {
	display: inline-flex;
	white-space: nowrap;
	gap: 32px;
	will-change: transform;
	padding-right: 32px;
}

.dc-testimonio {
	flex: 0 0 auto;
	width: clamp(240px, 22vw, 320px);
	white-space: normal;
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
	min-height: 0;
	color: var(--color-casi-negro);
	margin-right: 24px;
}

.dc-testimonio--lima    { background: var(--color-lima); }
.dc-testimonio--violeta { background: var(--color-violeta); color: var(--color-blanco); }
.dc-testimonio--violeta .dc-testimonio__role { color: rgba(255, 255, 255, 0.7); }

.dc-testimonio__quote {
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: inherit;
	margin: 0;
}

.dc-testimonio__quote .dc-accent {
	font-family: var(--font-instrument);
	font-style: italic;
	font-weight: 400;
}

.dc-testimonio__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dc-testimonio__name {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dc-testimonio__role {
	font-family: var(--font-inter);
	font-size: 11px;
	opacity: 0.7;
}

@media (prefers-reduced-motion: reduce) {
	.dc-testimonios__row {
		flex-wrap: wrap;
		justify-content: center;
		transform: none !important;
	}
}

/* ============================================================
   Banner de beneficios — 4 columnas tipográficas
   ============================================================ */
.dc-benefits {
	margin-top: 0 !important;
	background: var(--color-blanco);
}
.dc-benefits > .wp-block-columns,
.dc-benefits .wp-block-columns:first-child {
	margin-top: 0 !important;
}

.dc-benefits .wp-block-columns {
	gap: 0 !important;
}

.dc-benefit {
	padding: 8px 32px;
	border-right: 2px solid var(--color-casi-negro);
	flex-basis: 0 !important;
	flex-grow: 1 !important;
	/* steps centrados en horizontal; alineados ARRIBA para que número,
	   título y descripción de las 4 columnas coincidan a la misma altura */
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
}

.dc-benefit--last,
.dc-benefit:last-child {
	border-right: 0;
}

.dc-benefit p.dc-benefit__num {
	color: var(--color-casi-negro);
	font-size: 16px !important;
	/* subrayado pegado al número y separado del texto */
	margin: 0 0 30px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--color-violeta);
	display: inline-block;
}

.dc-benefit h3 {
	margin: 0 0 12px;
	line-height: 1.15;
	font-size: 30px !important;
}

/* Forzar que la palabra-acento italic vaya siempre en una segunda línea */
.dc-benefit h3 .dc-accent,
.wp-block-column.dc-card h3 .dc-accent {
	display: block;
}

/* En benefits, las palabras-acento (italic + punto) van en violeta */
.dc-benefit h3 .dc-accent {
	color: var(--color-violeta);
}

.dc-benefit p {
	color: var(--color-casi-negro);
	opacity: 0.75;
	line-height: 1.5;
	margin: 0;
	font-size: 17px !important;
}

@media (max-width: 960px) {
	.dc-benefits .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.dc-benefit {
		flex-basis: calc(50% - 0px) !important;
		border-right: 2px solid var(--color-casi-negro);
		border-bottom: 2px solid var(--color-casi-negro);
		padding: 24px 24px;
	}
	.dc-benefit:nth-child(2n) { border-right: 0; }
	.dc-benefit:nth-child(3),
	.dc-benefit:nth-child(4) { border-bottom: 0; }
}

@media (max-width: 600px) {
	.dc-benefit {
		flex-basis: 100% !important;
		border-right: 0 !important;
		border-bottom: 2px solid var(--color-casi-negro) !important;
		padding: 24px 0;
	}
	.dc-benefit:last-child { border-bottom: 0 !important; }
}

/* ============================================================
   WooCommerce overrides — rectangular editorial
   ============================================================ */
.woocommerce ul.products li.product {
	background: var(--color-blanco);
	border: var(--stroke-2);
	border-radius: var(--radius-card);
	padding: 20px !important;
}

/* Grilla de cursos en la home (Product Collection block):
   forzar que el wrapper interno ocupe todo el ancho del alignwide. */
.wp-block-woocommerce-product-collection,
.wp-block-woocommerce-product-template,
.wc-block-product-template {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-woocommerce-product-template.is-flex-container,
.wc-block-product-template.is-flex-container,
.wp-block-woocommerce-product-template.wc-block-product-template__responsive,
.wc-block-product-template.wc-block-product-template__responsive {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 24px;
	row-gap: 48px;
	width: 100% !important;
}

.wp-block-woocommerce-product-template > li,
.wc-block-product-template > li {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	list-style: none;
	display: flex !important;
	flex-direction: column;
	height: 100%;
}

/* Card interior toma el alto completo del <li> para que todas las cards midan igual. */
.wp-block-woocommerce-product-template > li > .wp-block-group,
.wc-block-product-template > li > .wp-block-group,
.wp-block-woocommerce-product-template > li .dc-card,
.wc-block-product-template > li .dc-card {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
	width: 100%;
}

/* El botón "Agregar al carrito" se pega al pie de cada card. */
.wp-block-woocommerce-product-template > li .wp-block-woocommerce-product-button,
.wc-block-product-template > li .wp-block-woocommerce-product-button {
	margin-top: auto;
}

/* ============================================================
   Cards de cursos: slots fijos, todo alineado a la izquierda
   ============================================================ */

/* Card como flex column con altura uniforme entre cards de la fila */
.wp-block-woocommerce-product-template > li .dc-card,
.wc-block-product-template > li .dc-card {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}

/* Slot 1: imagen 16:9 horizontal con stroke + radius */
.wp-block-woocommerce-product-template > li .wc-block-components-product-image,
.wc-block-product-template > li .wc-block-components-product-image {
	display: block;
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
	overflow: hidden;
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	margin: 0 !important;
}

.wp-block-woocommerce-product-template > li .wc-block-components-product-image img,
.wc-block-product-template > li .wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-woocommerce-product-template > li .wc-block-components-product-image a,
.wc-block-product-template > li .wc-block-components-product-image a {
	display: block;
	height: 100%;
}

/* Slot 2: título — min-height fija para alinear los excerpts entre cards */
.wp-block-woocommerce-product-template > li .wp-block-post-title,
.wc-block-product-template > li .wp-block-post-title {
	text-align: left !important;
	min-height: 72px;
	margin: 0 !important;
}

/* Slot 3: excerpt — altura fija de 3 líneas (clamp + height) */
.wp-block-woocommerce-product-template > li .wp-block-post-excerpt,
.wc-block-product-template > li .wp-block-post-excerpt {
	text-align: left !important;
	margin: 0 !important;
}

.wp-block-woocommerce-product-template > li .wp-block-post-excerpt__excerpt,
.wc-block-product-template > li .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--color-casi-negro);
	font-family: var(--font-inter);
	font-size: 14px;
	line-height: 1.5;
	height: 63px;
	margin: 0 !important;
	text-align: left !important;
}

/* Slot 4: botón pegado al pie + izquierda, no dependiente del contenido */
.wp-block-woocommerce-product-template > li .wp-block-read-more,
.wc-block-product-template > li .wp-block-read-more {
	display: inline-block;
	background: var(--color-casi-negro);
	color: var(--color-blanco) !important;
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 12px 22px;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
	align-self: flex-start;
	width: auto;
	margin-top: auto !important;
	text-align: left;
}

.wp-block-woocommerce-product-template > li .wp-block-read-more:hover,
.wc-block-product-template > li .wp-block-read-more:hover {
	background: var(--color-lima);
	color: var(--color-casi-negro) !important;
}

/* ============================================================
   Hover stacked cards — solo en cursos disponibles.
   Los pseudos viven en el <li> padre (sin transform, sin nuevo
   stacking context), así el ::after se queda detrás del fondo
   blanco del .dc-card cuando éste se inclina.
   ============================================================ */
.wp-block-woocommerce-product-template > li,
.wc-block-product-template > li {
	position: relative;
	overflow: visible !important;
}

.wp-block-woocommerce-product-template > li .dc-card,
.wc-block-product-template > li .dc-card {
	position: relative;
	z-index: 2;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

/* Imagen (::before) en el medio — z-index 1 (entre card blanca y violeta) */
/* Violeta (::after) detrás — z-index 0 */
.wp-block-woocommerce-product-template > li::before,
.wp-block-woocommerce-product-template > li::after,
.wc-block-product-template > li::before,
.wc-block-product-template > li::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	pointer-events: none;
	transform: rotate(0deg) translate(0, 0);
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.wp-block-woocommerce-product-template > li::before,
.wc-block-product-template > li::before {
	background: transparent url("/wp-content/uploads/2026/05/Recurso-5-e1778783604965.png") center / 100% auto no-repeat;
	border-color: transparent;
	z-index: 1;
}

.wp-block-woocommerce-product-template > li::after,
.wc-block-product-template > li::after {
	background: var(--color-lima);
	z-index: 0;
}

/* Hover */
.wp-block-woocommerce-product-template > li:hover .dc-card,
.wc-block-product-template > li:hover .dc-card {
	transform: translateY(-8px) rotate(-1deg);
}

/* Imagen: tilt leve + corrida a la izquierda y la mitad para arriba */
.wp-block-woocommerce-product-template > li:hover::before,
.wc-block-product-template > li:hover::before {
	transform: rotate(-3deg) translate(-30px, -11px) scale(1.2);
}

/* Violeta: inclinación un toque menos */
.wp-block-woocommerce-product-template > li:hover::after,
.wc-block-product-template > li:hover::after {
	transform: rotate(2deg) translate(16px, -4px);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-woocommerce-product-template > li::before,
	.wp-block-woocommerce-product-template > li::after,
	.wp-block-woocommerce-product-template > li .dc-card,
	.wc-block-product-template > li::before,
	.wc-block-product-template > li::after,
	.wc-block-product-template > li .dc-card {
		transition: none !important;
		transform: none !important;
	}
}

/* Grilla desalineada: la card del medio de cada fila de 3, más arriba */
@media (min-width: 861px) {
	.wp-block-woocommerce-product-template > li:nth-child(3n+2),
	.wc-block-product-template > li:nth-child(3n+2) {
		transform: translateY(-40px);
	}
}

@media (max-width: 900px) {
	.wp-block-woocommerce-product-template.is-flex-container,
	.wc-block-product-template.is-flex-container,
	.wp-block-woocommerce-product-template.wc-block-product-template__responsive,
	.wc-block-product-template.wc-block-product-template__responsive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.wp-block-woocommerce-product-template.is-flex-container,
	.wc-block-product-template.is-flex-container,
	.wp-block-woocommerce-product-template.wc-block-product-template__responsive,
	.wc-block-product-template.wc-block-product-template__responsive {
		grid-template-columns: 1fr;
	}
}

.woocommerce ul.products li.product a img {
	border-radius: 0;
	border-bottom: var(--stroke-2);
	margin-bottom: 16px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 20px !important;
	color: var(--color-casi-negro) !important;
	letter-spacing: -0.01em;
}

/* Sección Cursos con fondo casi-negro */
.dc-cursos {
	margin-top: 0 !important;
}
.dc-cursos h2 {
	color: var(--color-beige) !important;
}
.dc-cursos h2 .dc-accent {
	color: var(--color-beige);
}

/* Wrapper alignwide para posicionar el link a la izquierda del ancho 1500px */
.dc-cursos__more-wrap {
	margin: 60px auto 0;
	text-align: left;
}

/* Link "Ver más cursos" — flex column, 2 líneas: "Ver más" / "cursos" */
.dc-cursos__more {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	width: max-content;
	max-width: 100%;
	text-decoration: none !important;
	color: var(--color-beige);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -0.01em;
	text-align: left;
}

.dc-cursos__more .dc-accent {
	font-family: var(--font-instrument);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.01em;
	color: var(--color-beige);
}

/* Marker hover-trigger: cápsula lima inclinada +1.5° que se pinta al
   hacer hover del link padre (NO usa GSAP/ScrollTrigger). */
.dc-link-marker {
	position: relative;
	display: inline-block;
	color: var(--color-beige);
	padding: 0 0.15em;
	isolation: isolate;
}

.dc-link-marker::after {
	content: attr(data-marker);
	position: absolute;
	inset: -0.18em -0.15em -0.02em -0.15em;
	padding: 0 0.15em;
	color: var(--color-casi-negro);
	background: var(--color-lima);
	border-radius: 999px;
	transform: rotate(-1.5deg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1);
	z-index: 1;
	pointer-events: none;
}

.dc-cursos__more:hover .dc-link-marker::after,
.dc-cursos__more:focus-visible .dc-link-marker::after {
	clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
	.dc-link-marker::after {
		transition: none;
	}
}

.woocommerce ul.products li.product .price {
	color: var(--color-casi-negro);
	font-family: var(--font-inter);
	font-weight: 700;
}

/* Card de cursos en blanco: texto negro */
.wp-block-woocommerce-product-template > li .dc-card .wp-block-post-title,
.wp-block-woocommerce-product-template > li .dc-card .wp-block-post-title a,
.wp-block-woocommerce-product-template > li .dc-card .wp-block-woocommerce-product-price,
.wc-block-product-template > li .dc-card .wp-block-post-title,
.wc-block-product-template > li .dc-card .wp-block-post-title a,
.wc-block-product-template > li .dc-card .wp-block-woocommerce-product-price {
	color: var(--color-casi-negro) !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border: var(--stroke-2) !important;
	border-radius: var(--radius-button) !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	padding: 12px 22px !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-form-login input,
.woocommerce-form-register input {
	border: var(--stroke-2) !important;
	border-radius: var(--radius-card) !important;
	background: var(--color-blanco) !important;
	padding: 12px 16px !important;
	font-family: var(--font-inter) !important;
	font-size: 16px !important;
}

.woocommerce-form-login,
.woocommerce-form-register {
	background: var(--color-blanco);
	border: var(--stroke-2);
	border-radius: var(--radius-card);
	padding: 32px !important;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	border-bottom: var(--stroke-2);
	margin: 0 0 30px !important;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	list-style: none;
}

.woocommerce-MyAccount-navigation ul li::before,
.woocommerce-MyAccount-navigation ul li::marker {
	content: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	margin: 0 0 -2px !important;
	padding: 14px 18px;
	color: var(--color-casi-negro);
	text-decoration: none !important;
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
	border-bottom-color: var(--color-violeta);
	text-decoration: none !important;
	background: transparent;
}

/* ============================================================
   LearnDash overrides
   ============================================================ */
.learndash-wrapper .ld-profile-card,
.learndash-wrapper .ld-profile-stats,
.learndash-wrapper .ld-course-list-items .ld-course-list-item {
	background: var(--color-blanco) !important;
	border: var(--stroke-2) !important;
	border-radius: var(--radius-card) !important;
	box-shadow: none !important;
}

.learndash-wrapper .ld-button,
.learndash-wrapper .ld-button:not(.ld-button-reverse):not(.ld-button-transparent):not(.learndash-link-previous-incomplete) {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border: var(--stroke-2) !important;
	border-radius: var(--radius-button) !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

.learndash-wrapper .ld-button:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

.learndash-wrapper .ld-progress .ld-progress-bar-percentage,
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
	background: var(--color-lima) !important;
}

/* ============================================================
   GSAP — estados iniciales (anti-FOUC) y reduce-motion
   ============================================================ */
[data-dc-reveal],
[data-dc-stagger] > * {
	opacity: 0;
	transform: translateY(24px);
	will-change: opacity, transform;
}

[data-dc-marquee] {
	display: inline-flex;
	white-space: nowrap;
	will-change: transform;
	gap: 0;
}

[data-dc-parallax] {
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	[data-dc-reveal],
	[data-dc-stagger] > *,
	[data-dc-parallax] {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto !important;
	}
	[data-dc-marquee] {
		animation: none !important;
		transform: none !important;
	}
}

/* ============================================================
   Top bar (promo) — lima fondo, casi-negro texto
   ============================================================ */
.dc-topbar {
	font-family: var(--font-inter);
	font-size: 14px;
	line-height: 1.2;
}

.dc-topbar a { color: var(--color-casi-negro); text-decoration: none; }
.dc-topbar a:hover { text-decoration: underline; }

.dc-topbar__email {
	margin: 0;
	white-space: nowrap;
}

.dc-promo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
	font-weight: 700;
}

.dc-promo__label {
	color: var(--color-casi-negro);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dc-promo__sep { opacity: 0.6; }
.dc-promo__text { font-weight: 500; }

.dc-promo__timer {
	display: inline-flex;
	align-items: flex-end;
	gap: 4px;
	margin-left: 6px;
}

.dc-promo__unit {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	min-width: 28px;
}

.dc-promo__num {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 20px;
	color: var(--color-casi-negro);
	letter-spacing: -0.02em;
}

.dc-promo__lbl {
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 2px;
	color: var(--color-casi-negro);
}

.dc-promo__unit--muted .dc-promo__num,
.dc-promo__unit--muted .dc-promo__lbl {
	opacity: 0.55;
}

.dc-promo__colon {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 18px;
	color: var(--color-casi-negro);
	padding: 0 2px;
	transform: translateY(-6px);
}

.dc-topbar__social p { margin: 0; }
.dc-topbar__social a {
	color: var(--color-casi-negro);
	text-decoration: none !important;
	border-bottom: 3px solid transparent;
	padding-bottom: 2px;
	transition: border-color 0.15s ease;
}
.dc-topbar__social a:hover {
	text-decoration: none !important;
	border-bottom-color: var(--color-casi-negro);
}

/* ============================================================
   Main nav — casi-negro
   ============================================================ */
.dc-mainnav {
	color: var(--color-beige);
}

.dc-mainnav .wp-block-site-title a,
.dc-mainnav .wp-block-site-title {
	color: var(--color-beige) !important;
	text-decoration: none;
}

.dc-mainnav__logo,
.dc-mainnav .wp-block-site-logo {
	width: 213px !important;
	max-width: 213px !important;
}

.dc-mainnav__logo img,
.dc-mainnav .wp-block-site-logo img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
}

@media (max-width: 900px) {
	.dc-mainnav__logo,
	.dc-mainnav .wp-block-site-logo {
		width: 135px !important;
		max-width: 135px !important;
	}
}

/* Header de 3 columnas: LOGO | NAV centrada | CTA.
   Las columnas laterales son 1fr (iguales) → la nav queda centrada
   matemáticamente respecto al wrapper, que a su vez está centrado
   respecto al viewport (max-width: 1500px; margin: auto). */
.dc-mainnav > .wp-block-group.alignwide,
.dc-mainnav .alignwide.is-layout-flex {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}

.dc-mainnav__logo  { justify-self: start; }
.dc-mainnav__nav   { justify-self: center; }
.dc-mainnav__right { justify-self: end; }

/* Cluster derecho: cart + CTA en línea */
.dc-mainnav__right {
	display: inline-flex !important;
	align-items: center;
	gap: 16px;
}

/* Ocultamos el customer-account auto-inyectado (lo manejamos vía CTA) */
.dc-mainnav .wp-block-woocommerce-customer-account,
.dc-mainnav .wc-block-customer-account {
	display: none !important;
}

/* Mini-cart estilizado en el header */
.dc-mainnav__cart,
.dc-mainnav .wp-block-woocommerce-mini-cart {
	margin: 0 !important;
}

.dc-mainnav .wc-block-mini-cart__button {
	color: var(--color-beige) !important;
	background: transparent !important;
	border: 0 !important;
	padding: 6px 8px !important;
	min-width: auto !important;
	display: inline-flex !important;
	align-items: center;
}

.dc-mainnav .wc-block-mini-cart__button svg {
	width: 28px;
	height: 28px;
	fill: var(--color-beige) !important;
}

.dc-mainnav .wc-block-mini-cart__quantity-badge .wc-block-mini-cart__badge {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	min-width: 18px;
	height: 18px;
	line-height: 18px;
	font-size: 11px;
}

.dc-mainnav .wc-block-mini-cart__amount {
	display: none !important;
}

/* ============================================================
   Mini-cart drawer (panel lateral) — identidad de marca
   Scope: .wc-block-mini-cart__drawer + clases del mini-cart
   ============================================================ */

/* Overlay + panel */
.wc-block-mini-cart__drawer .components-modal__screen-overlay,
.wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
	background: rgba(33, 30, 31, 0.6) !important;
}

/* Toda la cadena del drawer en beige (evita franjas blancas detrás) */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer,
.wc-block-mini-cart__drawer .components-modal__frame,
.wc-block-mini-cart__drawer .wc-block-components-drawer__screen,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part {
	background: var(--color-beige) !important;
}

.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	width: min(440px, 92vw) !important;
	max-width: min(440px, 92vw) !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	background: var(--color-beige) !important;
	border-left: 2px solid var(--color-casi-negro) !important;
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
}

/* Sin íconos en todo el drawer (regla del manual) */
.wc-block-mini-cart__drawer svg {
	display: none !important;
}

/* Header: botón cerrar como texto */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
	display: flex !important;
	justify-content: flex-end !important;
	padding: 24px 28px 10px !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close,
.wc-block-mini-cart__drawer button[aria-label="Cerrar"],
.wc-block-mini-cart__drawer button[aria-label="Close"] {
	width: auto !important;
	height: auto !important;
	padding: 8px 14px !important;
	background: transparent !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	line-height: 1 !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close::after,
.wc-block-mini-cart__drawer button[aria-label="Cerrar"]::after,
.wc-block-mini-cart__drawer button[aria-label="Close"]::after {
	content: "Cerrar";
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover,
.wc-block-mini-cart__drawer button[aria-label="Cerrar"]:hover,
.wc-block-mini-cart__drawer button[aria-label="Close"]:hover {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
}

/* Título + contador */
.wc-block-mini-cart__title {
	display: flex !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 1.35rem !important;
	letter-spacing: -0.01em !important;
	color: var(--color-casi-negro) !important;
	margin: 0 !important;
	padding: 8px 28px 18px !important;
	border-bottom: 2px solid var(--color-casi-negro) !important;
}

.wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block,
.wc-block-mini-cart__title-items-counter-block {
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	text-transform: none !important;
	opacity: 0.6 !important;
}

/* Lista de ítems */
.wc-block-mini-cart__items {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	padding: 8px 28px 20px !important;
	min-height: 0 !important;
}

.wc-block-mini-cart__items table,
.wc-block-mini-cart__items thead,
.wc-block-mini-cart__items tbody,
.wc-block-mini-cart__items .wc-block-cart-items {
	display: block !important;
	width: 100% !important;
}

.wc-block-mini-cart__items thead {
	display: none !important;
}

.wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 64px 1fr auto;
	gap: 16px !important;
	align-items: start !important;
	padding: 20px 0 !important;
	border-bottom: 1px solid rgba(33, 30, 31, 0.15) !important;
	width: 100% !important;
}

.wc-block-cart-items__row:last-child {
	border-bottom: 0 !important;
}

.wc-block-cart-items__row > td,
.wc-block-cart-items__row > .wc-block-cart-item__image,
.wc-block-cart-items__row > .wc-block-cart-item__product,
.wc-block-cart-items__row > .wc-block-cart-item__total {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Imagen del producto: real → 64px con stroke; placeholder → se oculta */
.wc-block-cart-item__image {
	width: 64px !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	background: var(--color-blanco) !important;
	overflow: hidden !important;
	align-self: start;
}
.wc-block-cart-item__image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.wc-block-cart-items__row:has(.wc-block-cart-item__image img[src*="woocommerce-placeholder"]) {
	grid-template-columns: 1fr auto;
}
.wc-block-cart-items__row:has(.wc-block-cart-item__image img[src*="woocommerce-placeholder"]) .wc-block-cart-item__image {
	display: none !important;
}

/* Detalle del ítem */
.wc-block-cart-item__product .wc-block-cart-item__wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.wc-block-cart-items__row .wc-block-components-product-name,
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a,
.wc-block-cart-items__row a.wc-block-components-product-name {
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 15px !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em;
	text-decoration: none !important;
	transition: color 0.15s ease;
}
.wc-block-cart-items__row .wc-block-components-product-name:hover {
	color: var(--color-violeta) !important;
}

.wc-block-cart-item__prices,
.wc-block-cart-items__row .wc-block-components-product-price {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	color: var(--color-casi-negro) !important;
	opacity: 0.75;
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-cart-items__row .wc-block-components-product-metadata p {
	font-family: var(--font-inter) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	color: var(--color-casi-negro) !important;
	opacity: 0.65;
}

/* Cantidad + quitar en una fila */
.wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 6px !important;
}

.wc-block-components-quantity-selector {
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	background: var(--color-blanco) !important;
	overflow: hidden !important;
	display: inline-flex !important;
	height: 36px !important;
}
.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector input {
	color: var(--color-casi-negro) !important;
	background: transparent !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 14px !important;
	width: 36px !important;
	text-align: center;
	border: 0 !important;
}
.wc-block-components-quantity-selector__button {
	color: var(--color-casi-negro) !important;
	background: transparent !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	width: 32px !important;
	border: 0 !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.15s ease;
}
.wc-block-components-quantity-selector__button:hover {
	background: var(--color-lima) !important;
}

/* "Quitar" como texto (sin tacho) */
.wc-block-cart-item__remove-link,
.wc-block-cart-item__remove-button,
.wc-block-mini-cart__drawer button[aria-label*="Eliminar"],
.wc-block-mini-cart__drawer button[aria-label*="Remove"] {
	font-size: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	color: var(--color-casi-negro) !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
}
.wc-block-cart-item__remove-link::after,
.wc-block-cart-item__remove-button::after,
.wc-block-mini-cart__drawer button[aria-label*="Eliminar"]::after,
.wc-block-mini-cart__drawer button[aria-label*="Remove"]::after {
	content: "Quitar";
	font-size: 12px;
	font-family: var(--font-inter);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-casi-negro);
	border-bottom: 2px solid var(--color-violeta);
	padding-bottom: 1px;
	transition: color 0.15s ease;
}
.wc-block-cart-item__remove-link:hover::after,
.wc-block-cart-item__remove-button:hover::after {
	color: var(--color-violeta);
}
/* Sin tacho: ocultar el SVG nativo (regla de marca: cero iconos) */
.wc-block-cart-item__remove-link svg,
.wc-block-cart-item__remove-button svg,
.wc-block-cart-items__row .wc-block-cart-item__remove-link img,
.wc-block-cart-items__row .wc-block-cart-item__remove-button img {
	display: none !important;
}

/* Precio total del ítem (derecha) */
.wc-block-cart-item__total,
.wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-cart-item__total .wc-block-components-product-price {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 15px !important;
	color: var(--color-casi-negro) !important;
	opacity: 1 !important;
	text-align: right;
	white-space: nowrap;
}

/* Footer: subtotal + botones */
.wc-block-mini-cart__footer,
.wc-block-components-totals-wrapper {
	border-top: 2px solid var(--color-casi-negro) !important;
	background: var(--color-beige) !important;
	padding: 24px 28px !important;
	flex: 0 0 auto !important;
}

.wc-block-mini-cart__footer-subtotal {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	margin-bottom: 6px !important;
}
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label,
.wc-block-mini-cart__footer-subtotal-label {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--color-casi-negro) !important;
}
.wc-block-mini-cart__footer .wc-block-components-formatted-money-amount,
.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 1.4rem !important;
	color: var(--color-casi-negro) !important;
}
.wc-block-mini-cart__footer .wc-block-components-totals-item__description {
	font-family: var(--font-inter) !important;
	font-size: 12px !important;
	color: var(--color-casi-negro) !important;
	opacity: 0.65 !important;
	margin: 0 0 18px !important;
}

.wc-block-mini-cart__footer-actions {
	display: flex !important;
	gap: 12px !important;
}

.wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-mini-cart__footer .wp-block-button__link,
.wc-block-mini-cart__footer a.wc-block-components-button {
	flex: 1 1 0 !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-size: 13px !important;
	padding: 15px 18px !important;
	border: 2px solid var(--color-casi-negro) !important;
	text-align: center !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

/* "Ver carrito" — outline */
.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer .wp-block-button:first-child .wp-block-button__link {
	background: var(--color-beige) !important;
	color: var(--color-casi-negro) !important;
}
.wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__footer .wp-block-button:first-child .wp-block-button__link:hover {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
}

/* "Ir al checkout" — fill negro → hover lima */
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer .wp-block-button:last-child .wp-block-button__link {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
}
.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__footer .wp-block-button:last-child .wp-block-button__link:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

/* Estado vacío */
.wc-block-mini-cart__empty-cart-wrapper,
.wp-block-woocommerce-empty-mini-cart-contents-block {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro) !important;
	text-align: center;
	padding: 48px 28px !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.wc-block-mini-cart__empty-cart-wrapper p {
	font-weight: 900 !important;
	font-size: 18px !important;
	margin: 0 !important;
}
.wc-block-mini-cart__shopping-button a,
.wc-block-mini-cart__empty-cart-wrapper .wc-block-components-button {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-size: 13px !important;
	padding: 14px 28px !important;
	text-decoration: none !important;
}

@media (max-width: 480px) {
	.wc-block-mini-cart__drawer .components-modal__content,
	.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
		width: 100vw !important;
		max-width: 100vw !important;
	}
	.wc-block-mini-cart__title,
	.wc-block-mini-cart__items,
	.wc-block-mini-cart__footer,
	.wc-block-components-drawer__close-wrapper {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* Forzar que la nav nunca colapse a hamburguesa en desktop */
@media (min-width: 901px) {
	.dc-mainnav .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.dc-mainnav .wp-block-navigation__responsive-container {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		display: flex !important;
		background: transparent !important;
		padding: 0 !important;
	}
	.dc-mainnav .wp-block-navigation__responsive-container-close {
		display: none !important;
	}
	.dc-mainnav .wp-block-navigation__container {
		display: flex !important;
		flex-direction: row !important;
		gap: var(--wp--preset--spacing--40, 40px);
		flex-wrap: nowrap;
	}
}

.dc-mainnav .wp-block-navigation .wp-block-navigation-item__content {
	--dc-nav-rotation: -1.5deg;
	position: relative;
	isolation: isolate;
	color: var(--color-beige) !important;
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 12px !important;
	transition: color 0.2s ease;
	border-bottom: 0 !important;
}

/* Marca de fibrón: pseudo-elemento violeta detrás del texto */
.dc-mainnav .wp-block-navigation .wp-block-navigation-item__content::before {
	content: "";
	position: absolute;
	inset: -2px -4px;
	background: var(--color-violeta);
	border-radius: 999px;
	transform: rotate(var(--dc-nav-rotation)) scaleX(0);
	transform-origin: left center;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
	z-index: -1;
}

.dc-mainnav .wp-block-navigation .wp-block-navigation-item__content:hover::before,
.dc-mainnav .wp-block-navigation .current-menu-item .wp-block-navigation-item__content::before,
.dc-mainnav .wp-block-navigation .current_page_item .wp-block-navigation-item__content::before {
	transform: rotate(var(--dc-nav-rotation)) scaleX(1);
}

.dc-mainnav .wp-block-navigation .wp-block-navigation-item__content:hover,
.dc-mainnav .wp-block-navigation .current-menu-item .wp-block-navigation-item__content,
.dc-mainnav .wp-block-navigation .current_page_item .wp-block-navigation-item__content {
	color: var(--color-blanco) !important;
}


.dc-mainnav__cta .wp-block-button__link {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
	border-color: var(--color-violeta) !important;
	border-radius: 999px !important;
	padding: 12px 28px !important;
}

.dc-mainnav__cta .wp-block-button__link:hover {
	background: var(--color-beige) !important;
	border-color: var(--color-beige) !important;
	color: var(--color-casi-negro) !important;
}

/* ============================================================
   CTA Contacto — banda lima antes del footer
   ============================================================ */
.dc-cta-contacto {
	border-top: 2px solid var(--color-casi-negro) !important;
	border-bottom: 2px solid var(--color-casi-negro) !important;
	border-top-style: solid !important;
	border-bottom-style: solid !important;
}

.dc-cta-contacto h2 {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.dc-cta-contacto__btn .wp-block-button__link {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border-color: var(--color-casi-negro) !important;
	border-radius: 999px !important;
	padding: 16px 36px !important;
	font-size: 14px !important;
}

.dc-cta-contacto__btn .wp-block-button__link:hover {
	background: var(--color-beige) !important;
	border-color: var(--color-casi-negro) !important;
	color: var(--color-casi-negro) !important;
}

/* ============================================================
   Footer editorial multi-zona
   ============================================================ */
.dc-footer {
	color: var(--color-beige);
	margin-top: 0 !important;
}

/* El wrapper externo del template-part de WordPress también sin margin-top */
footer.wp-block-template-part,
.wp-block-template-part:has(.dc-footer) {
	margin-top: 0 !important;
}

/* ============================================================
   Single de producto (single-product.html)
   ============================================================ */

/* HERO — imagen + texto en 2 columnas */
.dc-product-hero {
	background: var(--color-beige);
}

.dc-product-hero__media {
	display: flex;
	align-items: center;
}

.dc-product-hero__image,
.dc-product-hero .wc-block-components-product-image {
	width: 100%;
	aspect-ratio: 16 / 11;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	overflow: hidden;
	background: var(--color-blanco);
	display: block;
	margin: 0;
}

/* Cadena WC: el bloque product-image envuelve la <img> en <a>/wrappers
   que por defecto no toman el alto completo → forzar 100% para que la
   imagen llene y se centre dentro del contenedor 16/11. */
.dc-product-hero__image a,
.dc-product-hero__image > *,
.dc-product-hero .wc-block-components-product-image a,
.dc-product-hero .wc-block-components-product-image > *,
.dc-product-hero .wp-block-woocommerce-product-image,
.dc-product-hero .wp-block-woocommerce-product-image > * {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

.dc-product-hero__image img,
.dc-product-hero .wc-block-components-product-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
}

.dc-product-hero__text h1 {
	margin: 0 0 var(--wp--preset--spacing--20, 20px);
}

.dc-product-hero__text .wc-block-components-product-summary,
.dc-product-hero__text .wp-block-woocommerce-product-summary {
	font-family: var(--font-inter) !important;
	font-size: 20px !important;
	line-height: 1.35;
	color: var(--color-casi-negro);
	margin: 0 0 var(--wp--preset--spacing--30, 30px) !important;
}

.dc-product-hero__text .wp-block-woocommerce-product-price,
.dc-product-hero__text .wc-block-components-product-price {
	color: var(--color-casi-negro);
	font-weight: 900;
	margin: 0 0 var(--wp--preset--spacing--40, 40px) !important;
}

.dc-product-hero__text .wp-block-woocommerce-product-price .woocommerce-Price-currencySymbol {
	font-family: var(--font-instrument);
	font-style: italic;
	font-weight: 400;
	color: var(--color-violeta);
	margin-right: 6px;
}

.dc-product-hero__text .wp-block-buttons {
	gap: 12px;
}

/* Anchor scroll smoothing */
html { scroll-behavior: smooth; }

/* ============================================================
   "Qué te llevás" — chips/cards horizontales
   ============================================================ */
.dc-product-includes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0 auto;
	max-width: 1500px;
}

.dc-product-include {
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 140px;
}

.dc-product-include--lima    { background: var(--color-lima); }
.dc-product-include--violeta { background: var(--color-violeta); color: var(--color-blanco); }
.dc-product-include--blanco  { background: var(--color-blanco); }

.dc-product-include__num {
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--color-casi-negro);
	display: inline-block;
	width: max-content;
}

.dc-product-include--violeta .dc-product-include__num {
	border-bottom-color: var(--color-blanco);
}

.dc-product-include__text {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.dc-product-include__text .dc-accent {
	display: inline;
	color: inherit;
}

@media (max-width: 900px) {
	.dc-product-includes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 540px) {
	.dc-product-includes {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   CTA inferior (banda casi-negro con botón lima)
   ============================================================ */
.dc-product-cta h2 {
	max-width: 900px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.dc-product-cta h2 .dc-accent {
	color: var(--color-lima);
}

/* ============================================================
   Sección "Sobre el curso" — descripción larga
   ============================================================ */
.dc-product-content {
	background: var(--color-beige);
}

.dc-product-content h2 {
	max-width: 1500px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.dc-product-content .wp-block-post-content {
	max-width: 760px;
	margin-left: 0 !important;
	margin-right: 0 !important;
	font-size: 18px;
	line-height: 1.6;
	color: var(--color-casi-negro);
	text-align: left !important;
}

.dc-product-content .wp-block-post-content p {
	margin: 0 0 1em;
	text-align: left !important;
}

/* "Qué te llevás." alineado a la izquierda (igual que "Sobre el curso.") */
.dc-product-includes-section h2 {
	max-width: 1500px;
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
}

/* ============================================================
   Relacionados
   ============================================================ */
.dc-product-related {
	background: var(--color-beige);
}

.dc-product-related h2 {
	max-width: 1500px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Mobile responsive del hero */
@media (max-width: 900px) {
	.dc-product-hero .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.dc-product-hero__media,
	.dc-product-hero__text {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.dc-product-hero__image {
		aspect-ratio: 16/9;
	}
}

/* ============================================================
   Dashboard alumno LD — rebranding del shortcode [ld_profile]
   ============================================================ */
.learndash-wrapper.ld-profile {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro);
	background: transparent;
	margin: 40px 0 0;
	width: 100% !important;
	max-width: none !important;
}

/* Wrapper alignwide del dashboard: que sus hijos llenen el ancho completo */
.dc-dashboard-ld,
.dc-dashboard-ld .entry-content,
.dc-dashboard-ld > * {
	width: 100% !important;
	max-width: none !important;
}

/* Bloque de stats + avatar + edit profile — TODO OCULTO */
.learndash-wrapper .ld-profile-summary,
.learndash-wrapper .ld-profile-card,
.learndash-wrapper .ld-profile-avatar,
.learndash-wrapper .ld-profile-edit-link,
.learndash-wrapper .ld-profile-stats,
.learndash-wrapper .ld-profile-stat {
	display: none !important;
}

/* Section heading "Tus cursos" */
.learndash-wrapper .ld-section-heading {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 40px !important;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.learndash-wrapper .ld-section-heading h3 {
	font-family: var(--font-inter) !important;
	font-size: clamp(2rem, 4vw, 2.75rem) !important;
	font-weight: 900 !important;
	letter-spacing: -0.02em !important;
	color: var(--color-casi-negro) !important;
	margin: 0 !important;
}

/* Botones del header de la lista (Expand All, search) — ocultos para vista limpia */
.learndash-wrapper .ld-item-list-actions {
	display: none !important;
}

.learndash-wrapper .ld-item-search {
	display: none !important;
}

/* Lista de cursos: 2 columnas en grilla */
.learndash-wrapper .ld-item-list-items {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 760px) {
	.learndash-wrapper .ld-item-list-items {
		grid-template-columns: 1fr;
	}
}

/* Card individual de curso */
.learndash-wrapper .ld-item-list-item.ld-item-list-item-course {
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	margin: 0 !important;
	padding: 28px !important;
	box-shadow: none !important;
	transition: transform 0.2s ease;
	position: relative;
}

/* Toda la card es clickeable: el ::after del link del título cubre toda la card */
.learndash-wrapper .ld-item-list-item-course .ld-item-name::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
}

/* Cualquier elemento interactivo interno por encima del overlay */
.learndash-wrapper .ld-item-list-item-course .ld-expand-button,
.learndash-wrapper .ld-item-list-item-course .ld-item-list-item-preview a,
.learndash-wrapper .ld-item-list-item-course .ld-primary-color {
	position: relative;
	z-index: 2;
}

.learndash-wrapper .ld-item-list-item.ld-item-list-item-course:hover {
	transform: translateY(-2px);
}

.learndash-wrapper .ld-item-list-item-preview {
	display: block !important;
}

/* Status icon (incomplete/complete) — ocultar */
.learndash-wrapper .ld-status-icon {
	display: none !important;
}

/* Título del curso */
.learndash-wrapper .ld-course-title {
	font-family: var(--font-inter) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	color: var(--color-casi-negro) !important;
	letter-spacing: -0.01em;
}

.learndash-wrapper .ld-item-name {
	text-decoration: none !important;
	color: var(--color-casi-negro) !important;
	display: flex !important;
	align-items: center;
	gap: 12px;
	flex: 1;
}

.learndash-wrapper .ld-item-name:hover .ld-course-title {
	color: var(--color-violeta) !important;
}

/* Botón Expand + área expandible + barras de progreso — TODO OCULTO */
.learndash-wrapper .ld-expand-button,
.learndash-wrapper .ld-item-details,
.learndash-wrapper .ld-item-list-item-expanded,
.learndash-wrapper .ld-progress,
.learndash-wrapper .ld-progress-heading,
.learndash-wrapper .ld-progress-label,
.learndash-wrapper .ld-progress-percentage,
.learndash-wrapper .ld-progress-steps,
.learndash-wrapper .ld-progress-bar,
.learndash-wrapper .ld-progress-bar-percentage,
.learndash-wrapper .ld-course-status,
.learndash-wrapper .ld-course-status-segment {
	display: none !important;
}

/* Nav: link "Mis cursos" oculto si no estás logueado */
body:not(.logged-in) .dc-nav-logged-in {
	display: none !important;
}

/* Mis cursos: header del dashboard sin fondo lima ni borde, pegado a la izq */
.dc-dashboard-header,
.wp-block-group.alignwide.dc-dashboard-header {
	max-width: 760px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
}

.dc-dashboard-header > *,
.dc-dashboard-header .wp-block-heading,
.dc-dashboard-header p {
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Ocultar el heading "Tus Cursos" del [ld_profile] — redundante con "Mis cursos." de arriba */
.learndash-wrapper .ld-section-heading {
	display: none !important;
}

/* Imagen agregada via PHP filter en cada card de curso */
.dc-ld-card-image,
.learndash-wrapper .ld-item-list-item-course .dc-ld-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	margin: 0 0 20px;
	background: var(--color-blanco);
}

.dc-ld-card-image--placeholder {
	background: var(--color-beige);
}

/* ============================================================
   Archive de productos (archive-product.html)
   ============================================================ */
.dc-archive-hero {
	background: var(--color-beige);
	text-align: left;
}

.dc-archive-hero,
.dc-archive-hero .alignwide,
.dc-archive-hero .alignwide > *,
.dc-archive-hero h1,
.dc-archive-hero p,
.dc-archive-hero .has-caption-font-size {
	text-align: left !important;
}

.dc-archive-hero .alignwide > p,
.dc-archive-hero .has-caption-font-size {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.dc-archive-hero > .alignwide,
.dc-archive-hero .wp-block-group.alignwide {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: 1100px;
}

.dc-archive-hero h1 {
	max-width: 1100px;
	margin-left: 0 !important;
}

.dc-archive-hero .dc-lead {
	font-family: var(--font-inter);
	font-size: 24px;
	line-height: 1.3;
	font-weight: 400;
	max-width: 720px;
	color: var(--color-casi-negro);
	margin-left: 0 !important;
}

.dc-archive-grid {
	background: var(--color-casi-negro);
	margin-top: 0 !important;
}

/* Sección "¿No sabés cuál elegir?" — banda casi-negro intermedia */
.dc-archive-help {
	border-top: 2px solid var(--color-casi-negro);
	border-bottom: 2px solid var(--color-casi-negro);
}

.dc-archive-help h2 {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.dc-archive-help .dc-lead {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	color: var(--color-casi-negro);
	opacity: 0.85;
}

.dc-archive-help .dc-accent {
	color: var(--color-violeta);
}

.dc-archive-help .wp-block-buttons {
	justify-content: flex-start;
}

/* Botón "Escribinos" en violeta (sobre el nuevo fondo blanco) */
.dc-archive-help .wp-block-button__link {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
	border-color: var(--color-violeta) !important;
}

.dc-archive-help .wp-block-button__link:hover {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border-color: var(--color-casi-negro) !important;
}

@media (max-width: 900px) {
	.dc-archive-hero h1 {
		max-width: none;
	}
}

.dc-footer a {
	color: var(--color-beige);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.dc-footer a:hover {
	border-bottom-color: var(--color-lima);
	color: var(--color-lima);
}

/* Zona 1 — claim + contacto (no centrado, flex con extremos) */
.dc-footer__hero {
	gap: 40px;
	margin-bottom: 60px;
	align-items: flex-end;
}

.dc-footer__claim {
	color: var(--color-beige) !important;
	max-width: 760px;
}

.dc-footer__claim .dc-accent {
	color: var(--color-lima);
}

.dc-footer__contacto {
	gap: 0 !important;
	text-align: right;
	margin-left: auto;
}

.dc-footer__contacto p {
	text-align: right;
}

/* Separadores */
.dc-footer__sep {
	border: 0;
	height: 1px;
	background: var(--color-beige);
	opacity: 0.25;
	margin: 40px auto;
	max-width: 1500px;
}

/* Zona 2 — grid de 3 columnas */
.dc-footer__cols {
	display: grid !important;
	grid-template-columns: 1.2fr 1fr 1.4fr;
	gap: 60px;
	margin: 0 auto;
}

.dc-footer__col {
	gap: 0 !important;
}

.dc-footer__label {
	color: var(--color-lima) !important;
	font-size: 12px !important;
}

.dc-footer__col p:not(.dc-footer__label) {
	color: rgba(235, 234, 228, 0.85);
}

/* Zona 3 — barra inferior */
.dc-footer__bottom {
	gap: 24px;
	margin-top: 40px;
}

.dc-footer__brand {
	gap: 16px !important;
	align-items: center !important;
}

.dc-footer__logo {
	margin: 0 !important;
}

.dc-footer__logo img {
	display: block;
	height: 32px;
	width: auto;
	max-width: 140px;
}

.dc-footer__bottom p,
.dc-footer__tag {
	color: rgba(235, 234, 228, 0.7);
}

.dc-footer__bottom .dc-accent {
	color: var(--color-lima);
}

/* Responsive */
@media (max-width: 900px) {
	.dc-footer__hero {
		flex-direction: column;
		align-items: flex-start;
	}
	.dc-footer__contacto,
	.dc-footer__contacto p {
		text-align: left;
		margin-left: 0;
	}
	.dc-footer__cols {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
	.dc-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 540px) {
	.dc-footer__cols {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Responsive */
@media (max-width: 960px) {
	.dc-promo {
		font-size: 12px;
	}
	.dc-promo__num { font-size: 16px; }
	.dc-promo__text { display: none; }
}

@media (max-width: 768px) {
	.dc-topbar__email .has-caption-font-size,
	.dc-topbar__email a {
		font-size: 12px;
	}
	.dc-promo__sep,
	.dc-promo__text { display: none; }
}

/* ============================================================
   Single de curso (alumno) — /courses/<slug>/
   Scope: body.single-sfwd-courses + .dc-course-*
   No contamina los estilos del dashboard ([ld_profile])
   ============================================================ */

/* HERO del curso */
.dc-course-hero {
	background: var(--color-beige);
}

.dc-course-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.dc-course-hero__image .wp-block-post-featured-image {
	margin: 0;
}

.dc-course-hero__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	background: var(--color-blanco);
}

/* Si el shortcode no devolvió imagen NI video, ocultar la columna y colapsar el grid */
.dc-course-hero__grid:not(:has(.dc-course-hero__image img)):not(:has(.dc-course-hero__image .dc-video-facade)) {
	grid-template-columns: 1fr !important;
}
.dc-course-hero__grid:not(:has(.dc-course-hero__image img)):not(:has(.dc-course-hero__image .dc-video-facade)) .dc-course-hero__image {
	display: none !important;
}

/* Video facade en el slot del hero del curso — mismo aspect ratio + stroke que la imagen */
.dc-course-hero__image .dc-video-facade {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	overflow: hidden;
	background: var(--color-casi-negro);
}

.dc-course-hero__image .dc-video-facade__play {
	all: unset;
	display: block;
	width: 100%;
	height: 100%;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	position: relative;
}

.dc-course-hero__image .dc-video-facade__poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.dc-course-hero__image .dc-video-facade__play:hover .dc-video-facade__poster {
	transform: scale(1.02);
}

.dc-course-hero__image .dc-video-facade__btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--color-lima);
	color: var(--color-casi-negro);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 16px 28px;
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: background 0.2s ease;
}

.dc-course-hero__image .dc-video-facade__play:hover .dc-video-facade__btn {
	background: var(--color-blanco);
}

.dc-course-hero__image .dc-video-facade__iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Si no hay featured image, el bloque sigue vacío — ocultar la columna y centrar */
.dc-course-hero__image:empty,
.dc-course-hero__image .wp-block-post-featured-image:empty {
	display: none;
}

.dc-course-hero__content > * {
	max-width: 600px;
}

.dc-course-hero__title.wp-block-post-title {
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--30);
}

.dc-course-hero__excerpt {
	color: var(--color-casi-negro);
	opacity: 0.85;
}

/* Progress bar dentro del hero — el shortcode [ld_course_progress] renderiza .ld-progress */
.dc-course-hero__content .ld-progress {
	margin: 30px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.dc-course-hero__content .ld-progress-heading {
	margin-bottom: 12px !important;
}

.dc-course-hero__content .ld-progress-stats,
.dc-course-hero__content .ld-progress-label,
.dc-course-hero__content .ld-progress-percentage,
.dc-course-hero__content .ld-progress-steps {
	font-family: var(--font-inter) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--color-casi-negro) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dc-course-hero__content .ld-progress-bar {
	background: rgba(33, 30, 31, 0.12) !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden;
	box-shadow: none !important;
	border: 0 !important;
}

.dc-course-hero__content .ld-progress-bar-percentage,
.dc-course-hero__content .ld-progress-bar .ld-secondary-background {
	background: var(--color-lima) !important;
	height: 100% !important;
}

@media (max-width: 900px) {
	.dc-course-hero__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.dc-course-hero__content > * { max-width: none; }
}

/* CUERPO del curso */
.dc-course-body {
	background: var(--color-beige);
}

.dc-course-body__inner,
.dc-course-body__inner .entry-content,
.dc-course-body__inner > * {
	width: 100% !important;
	max-width: none !important;
}

/* INFOBAR superior — OCULTO (la barra de progreso ya está en el hero) */
body.single-sfwd-courses .learndash-shortcode-wrap-ld_infobar {
	display: none !important;
}

/* Si el [ld_course_progress] del hero NO carga (curso sin progress), no roto el layout */
body.single-sfwd-courses .ld-course-status {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* TABS Contenido / Materiales */
body.single-sfwd-courses .ld-tabs {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin: 40px 0 !important;
}

body.single-sfwd-courses .ld-tabs-navigation {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--color-casi-negro) !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
}

body.single-sfwd-courses .ld-tab {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 16px 24px !important;
	margin: 0 !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: 12px !important;
	color: var(--color-casi-negro) !important;
	position: relative;
	box-shadow: none !important;
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

body.single-sfwd-courses .ld-tab:hover {
	opacity: 0.9;
}

body.single-sfwd-courses .ld-tab.ld-active {
	opacity: 1;
}

body.single-sfwd-courses .ld-tab.ld-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 4px;
	background: var(--color-lima);
}

/* Sin íconos en las tabs */
body.single-sfwd-courses .ld-tab .ld-icon,
body.single-sfwd-courses .ld-icon-content,
body.single-sfwd-courses .ld-icon-materials {
	display: none !important;
}

/* Tab content */
body.single-sfwd-courses .ld-tabs-content {
	background: transparent !important;
	border: 0 !important;
	padding: 32px 0 0 !important;
	margin: 0 !important;
}

body.single-sfwd-courses .ld-tab-content p {
	font-family: var(--font-inter);
	font-size: 17px;
	line-height: 1.55;
	color: var(--color-casi-negro);
}

/* Materiales como lista editorial */
body.single-sfwd-courses .ld-tab-content ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 24px 0 !important;
}

body.single-sfwd-courses .ld-tab-content li {
	border-bottom: 1px solid rgba(33, 30, 31, 0.15);
	padding: 16px 0;
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 16px;
	color: var(--color-casi-negro);
}

body.single-sfwd-courses .ld-tab-content li:last-child {
	border-bottom: 0;
}

/* SECTION HEADING "Contenido Content" — redundante con tabs/lista, OCULTO */
body.single-sfwd-courses .ld-section-heading {
	display: none !important;
}

/* Esconder acciones de expandir / buscar */
body.single-sfwd-courses .ld-item-list-actions,
body.single-sfwd-courses .ld-item-search {
	display: none !important;
}

/* LISTA DE LECCIONES — vertical (sobrescribir el grid 2-cols del dashboard) */
body.single-sfwd-courses .ld-item-list-items {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	counter-reset: dc-lesson;
}

/* CARD DE LECCIÓN */
body.single-sfwd-courses .ld-item-list-item.ld-item-list-item-lesson {
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 28px !important;
	margin: 0 !important;
	box-shadow: none !important;
	position: relative;
	transition: transform 0.2s ease;
	counter-increment: dc-lesson;
}

body.single-sfwd-courses .ld-item-list-item.ld-item-list-item-lesson:hover {
	transform: translateY(-2px);
}

body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-list-item-preview {
	padding: 0 !important;
	background: transparent !important;
}

body.single-sfwd-courses .ld-item-list-item-lesson .ld-tooltip {
	display: block !important;
}

/* Layout del <a> con número + título + status */
body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-name {
	text-decoration: none !important;
	color: var(--color-casi-negro) !important;
	display: grid !important;
	grid-template-columns: 80px 1fr auto;
	gap: 24px;
	align-items: center;
	background: transparent !important;
	padding: 0 !important;
}

/* Número de lección via counter */
body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-name::before {
	content: counter(dc-lesson, decimal-leading-zero);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 48px;
	line-height: 1;
	color: var(--color-casi-negro);
	opacity: 0.4;
}

/* Status texto a la derecha */
body.single-sfwd-courses .ld-item-list-item-lesson.learndash-incomplete .ld-item-name::after {
	content: "Sin empezar";
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	opacity: 0.6;
}

body.single-sfwd-courses .ld-item-list-item-lesson.learndash-complete .ld-item-name::after {
	content: "Completada";
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-violeta);
}

body.single-sfwd-courses .ld-item-list-item-lesson.learndash-in-progress .ld-item-name::after {
	content: "En curso";
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
}

/* Ocultar el ícono de status nativo */
body.single-sfwd-courses .ld-item-list-item-lesson .ld-status-icon {
	display: none !important;
}

/* Título de la lección */
body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-title {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 20px !important;
	letter-spacing: -0.01em;
	color: var(--color-casi-negro) !important;
	transition: color 0.2s ease;
}

body.single-sfwd-courses .ld-item-list-item-lesson:hover .ld-item-title {
	color: var(--color-violeta) !important;
}

/* Ocultar details que LD podría inyectar dentro de la card */
body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-details {
	display: none !important;
}

@media (max-width: 760px) {
	body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-name {
		grid-template-columns: 60px 1fr;
		grid-template-rows: auto auto;
	}
	body.single-sfwd-courses .ld-item-list-item-lesson .ld-item-name::before {
		font-size: 36px;
		grid-row: span 2;
	}
	body.single-sfwd-courses .ld-item-list-item-lesson.learndash-incomplete .ld-item-name::after,
	body.single-sfwd-courses .ld-item-list-item-lesson.learndash-complete .ld-item-name::after,
	body.single-sfwd-courses .ld-item-list-item-lesson.learndash-in-progress .ld-item-name::after {
		grid-column: 2;
		margin-top: 4px;
	}
}

/* ============================================================
   Single de lección (alumno) — /courses/<curso>/lessons/<leccion>/
   Scope: body.single-sfwd-lessons + .dc-lesson-*
   ============================================================ */

.dc-lesson-single {
	background: var(--color-beige);
}

.dc-lesson-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 60px;
	align-items: start;
}

/* SIDEBAR — lista de lecciones */
.dc-lesson-sidebar {
	position: sticky;
	top: 100px;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	padding-right: 8px;
}

.dc-lesson-sidebar__back {
	display: inline-block;
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	text-decoration: none;
	margin-bottom: 24px;
	opacity: 0.75;
	transition: opacity 0.2s ease;
}

.dc-lesson-sidebar__back:hover {
	opacity: 1;
	color: var(--color-violeta);
}

.dc-lesson-sidebar__kicker {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-casi-negro);
	margin: 0 0 16px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--color-casi-negro);
}

.dc-lesson-sidebar__list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.dc-lesson-sidebar__item {
	margin: 0;
	border-bottom: 1px solid rgba(33, 30, 31, 0.12);
}

.dc-lesson-sidebar__item:last-child {
	border-bottom: 0;
}

.dc-lesson-sidebar__item a {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 12px;
	align-items: baseline;
	padding: 14px 12px;
	text-decoration: none;
	color: var(--color-casi-negro);
	transition: background 0.15s ease;
}

.dc-lesson-sidebar__item a:hover {
	background: rgba(33, 30, 31, 0.04);
}

.dc-lesson-sidebar__item.is-current a {
	background: var(--color-lima);
}

.dc-lesson-sidebar__item.is-current {
	border-bottom-color: transparent;
}

.dc-lesson-sidebar__num {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	line-height: 1.3;
	color: var(--color-casi-negro);
	opacity: 0.5;
}

.dc-lesson-sidebar__item.is-current .dc-lesson-sidebar__num {
	opacity: 1;
}

.dc-lesson-sidebar__title {
	font-family: var(--font-inter);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.35;
	color: var(--color-casi-negro);
}

.dc-lesson-sidebar__item.is-current .dc-lesson-sidebar__title {
	font-weight: 900;
}

/* CONTENIDO de la lección */
.dc-lesson-content {
	max-width: 760px;
	width: 100%;
}

.dc-lesson-content > *:first-child {
	margin-top: 0;
}

.dc-lesson-kicker {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	margin: 0 0 var(--wp--preset--spacing--20) !important;
}

.dc-lesson-title.wp-block-post-title {
	margin: 0 0 var(--wp--preset--spacing--40) !important;
}

/* VIDEO FACADE */
.dc-lesson-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	overflow: hidden;
	background: var(--color-casi-negro);
	margin: 0 0 var(--wp--preset--spacing--60);
}

.dc-lesson-video__play {
	all: unset;
	display: block;
	width: 100%;
	height: 100%;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	position: relative;
}

.dc-lesson-video__poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.dc-lesson-video__play:hover .dc-lesson-video__poster {
	transform: scale(1.02);
}

.dc-lesson-video__btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--color-lima);
	color: var(--color-casi-negro);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 16px 28px;
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: background 0.2s ease;
}

.dc-lesson-video__play:hover .dc-lesson-video__btn {
	background: var(--color-blanco);
}

.dc-lesson-video__iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* POST CONTENT — tipografía */
.dc-lesson-content .entry-content p,
.dc-lesson-content .wp-block-post-content p {
	font-family: var(--font-inter);
	font-size: 17px;
	line-height: 1.55;
	color: var(--color-casi-negro);
	margin: 0 0 1em;
}

.dc-lesson-content h2,
.dc-lesson-content h3 {
	font-family: var(--font-inter);
	font-weight: 900;
	color: var(--color-casi-negro);
	letter-spacing: -0.01em;
	margin: 48px 0 16px;
}

.dc-lesson-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.dc-lesson-content h3 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); }

/* LD-CONTENT: course status, tabs, materiales reusando estilos del single-sfwd-courses */
body.single-sfwd-lessons .learndash-shortcode-wrap-ld_infobar,
body.single-sfwd-lessons .ld-status-icon {
	display: none !important;
}

body.single-sfwd-lessons .ld-course-status {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 var(--wp--preset--spacing--40) !important;
}

body.single-sfwd-lessons .ld-progress {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

body.single-sfwd-lessons .ld-progress-bar {
	background: rgba(33, 30, 31, 0.12) !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden;
	box-shadow: none !important;
	border: 0 !important;
}

body.single-sfwd-lessons .ld-progress-bar-percentage,
body.single-sfwd-lessons .ld-progress-bar .ld-secondary-background {
	background: var(--color-lima) !important;
	height: 100% !important;
}

body.single-sfwd-lessons .ld-progress-stats,
body.single-sfwd-lessons .ld-progress-label,
body.single-sfwd-lessons .ld-progress-percentage,
body.single-sfwd-lessons .ld-progress-steps {
	font-family: var(--font-inter) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--color-casi-negro) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Tabs (Contenido / Materiales) — mismo styling que single-sfwd-courses */
body.single-sfwd-lessons .ld-tabs {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin: 40px 0 !important;
}

body.single-sfwd-lessons .ld-tabs-navigation {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--color-casi-negro) !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
}

body.single-sfwd-lessons .ld-tab {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 16px 24px !important;
	margin: 0 !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: 12px !important;
	color: var(--color-casi-negro) !important;
	position: relative;
	box-shadow: none !important;
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

body.single-sfwd-lessons .ld-tab:hover { opacity: 0.9; }
body.single-sfwd-lessons .ld-tab.ld-active { opacity: 1; }

body.single-sfwd-lessons .ld-tab.ld-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 4px;
	background: var(--color-lima);
}

body.single-sfwd-lessons .ld-tab .ld-icon {
	display: none !important;
}

body.single-sfwd-lessons .ld-tabs-content {
	background: transparent !important;
	border: 0 !important;
	padding: 32px 0 0 !important;
	margin: 0 !important;
}

body.single-sfwd-lessons .ld-tab-content ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 24px 0 !important;
}

body.single-sfwd-lessons .ld-tab-content li {
	border-bottom: 1px solid rgba(33, 30, 31, 0.15);
	padding: 16px 0;
	font-family: var(--font-inter);
	font-weight: 700;
	font-size: 16px;
	color: var(--color-casi-negro);
}

body.single-sfwd-lessons .ld-tab-content li:last-child {
	border-bottom: 0;
}

/* Lista de tópicos (si existen) — cards beige */
body.single-sfwd-lessons .ld-item-list-items {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	counter-reset: dc-topic;
}

body.single-sfwd-lessons .ld-item-list-item-topic {
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 20px !important;
	margin: 0 !important;
	position: relative;
	counter-increment: dc-topic;
	transition: transform 0.2s ease;
}

body.single-sfwd-lessons .ld-item-list-item-topic:hover {
	transform: translateY(-1px);
}

body.single-sfwd-lessons .ld-item-list-item-topic .ld-item-name {
	text-decoration: none !important;
	color: var(--color-casi-negro) !important;
	display: grid !important;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	align-items: center;
}

body.single-sfwd-lessons .ld-item-list-item-topic .ld-item-name::before {
	content: counter(dc-topic, decimal-leading-zero);
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 24px;
	line-height: 1;
	color: var(--color-casi-negro);
	opacity: 0.4;
}

body.single-sfwd-lessons .ld-item-list-item-topic .ld-item-title {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 16px !important;
	letter-spacing: -0.005em;
}

body.single-sfwd-lessons .ld-item-list-item-topic:hover .ld-item-title {
	color: var(--color-violeta) !important;
}

/* MARK COMPLETE button */
body.single-sfwd-lessons .learndash_mark_complete_button,
body.single-sfwd-lessons .ld-button.learndash_mark_complete_button {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 18px 36px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	box-shadow: none !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.2s ease, color 0.2s ease;
	margin: 60px 0 0 !important;
}

body.single-sfwd-lessons .learndash_mark_complete_button:hover {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
}

/* Sin íconos dentro del botón "Marcar como completada" */
body.single-sfwd-lessons .learndash_mark_complete_button svg,
body.single-sfwd-lessons .learndash_mark_complete_button .ld-icon {
	display: none !important;
}

/* BARRA DE STATUS de la lección (breadcrumb + badge "In Progress") */
body.single-sfwd-lessons .ld-lesson-status,
body.single-sfwd-lessons .learndash-shortcode-wrap-ld_lesson_status {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--color-casi-negro) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 16px 0 !important;
	margin: 0 0 var(--wp--preset--spacing--40) !important;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* Breadcrumb */
body.single-sfwd-lessons .ld-lesson-status .ld-breadcrumbs,
body.single-sfwd-lessons .ld-lesson-status .ld-breadcrumbs-segment,
body.single-sfwd-lessons .ld-lesson-status a,
body.single-sfwd-lessons .ld-lesson-status span:not(.ld-status) {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	color: var(--color-casi-negro) !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	background: transparent !important;
}

body.single-sfwd-lessons .ld-lesson-status a:hover {
	color: var(--color-violeta) !important;
}

body.single-sfwd-lessons .ld-lesson-status .ld-breadcrumbs-segment + .ld-breadcrumbs-segment::before {
	content: " · ";
	opacity: 0.5;
	margin: 0 4px;
}

/* Badge "In Progress" / "Sin empezar" / "Completada" */
body.single-sfwd-lessons .ld-status,
body.single-sfwd-lessons .ld-lesson-status .ld-status {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 999px !important;
	padding: 6px 14px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 10px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	box-shadow: none !important;
	white-space: nowrap;
}

body.single-sfwd-lessons .ld-status.ld-status-complete,
body.single-sfwd-lessons .ld-status-complete {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
	border-color: var(--color-casi-negro) !important;
}

body.single-sfwd-lessons .ld-status.ld-status-incomplete,
body.single-sfwd-lessons .ld-status-incomplete {
	background: var(--color-blanco) !important;
	color: var(--color-casi-negro) !important;
	border-color: var(--color-casi-negro) !important;
}

/* Ocultar el link "Back to Course" (redundante con el de la sidebar) */
body.single-sfwd-lessons .ld-content-actions .learndash-back-to-course-link,
body.single-sfwd-lessons .ld-content-actions a[href*="/courses/"]:not([href*="/lessons/"]):not([href*="/topic/"]) {
	display: none !important;
}

/* Ocultar el link "Back to Course" (redundante con el de la sidebar) */
body.single-sfwd-lessons .ld-content-actions .learndash-back-to-course-link,
body.single-sfwd-lessons .ld-content-actions a[href*="/courses/"]:not([href*="/lessons/"]):not([href*="/topic/"]) {
	display: none !important;
}

/* Nav prev/next al pie */
body.single-sfwd-lessons .ld-content-actions {
	display: flex !important;
	justify-content: space-between;
	gap: 24px;
	margin: 60px 0 0 !important;
	padding: 30px 0 0 !important;
	border-top: 2px solid var(--color-casi-negro);
	background: transparent !important;
}

body.single-sfwd-lessons .ld-content-actions .ld-content-action {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.single-sfwd-lessons .ld-content-actions a,
body.single-sfwd-lessons .ld-content-actions .ld-button {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--color-casi-negro) !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	transition: color 0.2s ease;
}

body.single-sfwd-lessons .ld-content-actions a:hover,
body.single-sfwd-lessons .ld-content-actions .ld-button:hover {
	color: var(--color-violeta) !important;
}

body.single-sfwd-lessons .ld-content-actions .ld-icon {
	display: none !important;
}

/* Mobile */
@media (max-width: 900px) {
	.dc-lesson-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.dc-lesson-sidebar {
		position: static;
		max-height: none;
		overflow-y: visible;
	}
	.dc-lesson-content {
		max-width: 100%;
	}
	body.single-sfwd-lessons .ld-content-actions {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ============================================================
   LD Alerts (step-completed, success) — rebrand sin íconos
   Aplica en single lesson, single course y cualquier página LD.
   ============================================================ */
.ld-alert,
.ld-alert.ld-alert-success,
.ld-alert.ld-alert--step-completed,
.ld-alert.ld-alert-certificate {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 24px !important;
	box-shadow: none !important;
	margin: 40px 0 !important;
}

.ld-alert .ld-alert-content {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

/* Sin íconos en los alerts */
.ld-alert .ld-alert-icon,
.ld-alert .ld-svgicon,
.ld-alert .ld-icon,
.ld-alert .ld-button .ld-icon {
	display: none !important;
}

.ld-alert .ld-alert-messages {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
	color: var(--color-casi-negro) !important;
	letter-spacing: -0.01em;
	flex: 1 1 auto;
	text-align: left;
}

.ld-alert .ld-button,
.ld-alert a.ld-button {
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 14px 24px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.2s ease, color 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ld-alert .ld-button:hover {
	background: var(--color-blanco) !important;
	color: var(--color-casi-negro) !important;
}

/* ============================================================
   Página de Contacto + rebrand Gravity Forms
   Scope: .dc-contacto (no afecta otros forms del sitio)
   ============================================================ */

.dc-contacto .dc-archive-hero {
	background: var(--color-beige);
}

.dc-contacto-wrap {
	background: var(--color-beige);
}

.dc-contacto__grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 64px;
	align-items: start;
}

/* Columna izquierda — info */
.dc-contacto__info > * {
	max-width: 360px;
}

.dc-contacto__kicker {
	font-family: var(--font-inter) !important;
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-casi-negro);
	margin: 0 0 12px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--color-casi-negro);
}

.dc-contacto__email {
	font-family: var(--font-inter);
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.dc-contacto__email a {
	color: var(--color-casi-negro);
	text-decoration: none;
	border-bottom: 2px solid var(--color-lima);
	transition: color 0.2s ease;
}

.dc-contacto__email a:hover {
	color: var(--color-violeta);
}

.dc-contacto__social {
	font-family: var(--font-inter);
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	margin: 0;
}

.dc-contacto__social a {
	color: var(--color-casi-negro);
	text-decoration: none;
	transition: color 0.2s ease;
}

.dc-contacto__social a:hover {
	color: var(--color-violeta);
}

.dc-contacto__micro {
	font-family: var(--font-inter);
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-casi-negro);
	opacity: 0.85;
	margin: 0;
}

/* ---------- Gravity Forms rebrand ---------- */

.dc-contacto .gform_wrapper {
	--gf-color-primary: var(--color-casi-negro);
	--gf-color-primary-rgb: 33,30,31;
	--gf-color-primary-contrast: #ffffff;
	--gf-color-secondary: var(--color-lima);
	--gf-color-secondary-contrast: var(--color-casi-negro);
	--gf-color-out-ctrl-light: var(--color-casi-negro);
	--gf-color-out-ctrl-dark: var(--color-casi-negro);
	--gf-radius: 4px;
	font-family: var(--font-inter) !important;
	margin: 0 !important;
}

.dc-contacto .gform_wrapper form {
	margin: 0;
}

/* Lista de campos */
.dc-contacto .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 22px !important;
}

/* Email, teléfono, mensaje y submit ocupan fila completa; nombre/apellido 50/50 */
.dc-contacto .gform_wrapper .gfield--type-email,
.dc-contacto .gform_wrapper .gfield--type-phone,
.dc-contacto .gform_wrapper .gfield--type-textarea {
	grid-column: 1 / -1;
}

/* Labels */
.dc-contacto .gform_wrapper .gfield_label {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro) !important;
	margin: 0 0 8px !important;
}

/* Asterisco de obligatorio en violeta, sin rojo */
.dc-contacto .gform_wrapper .gfield_required,
.dc-contacto .gform_wrapper .gfield_required_text {
	color: var(--color-violeta) !important;
}

/* Inputs / textarea */
.dc-contacto .gform_wrapper input[type="text"],
.dc-contacto .gform_wrapper input[type="email"],
.dc-contacto .gform_wrapper input[type="tel"],
.dc-contacto .gform_wrapper input[type="url"],
.dc-contacto .gform_wrapper textarea {
	font-family: var(--font-inter) !important;
	font-size: 16px !important;
	color: var(--color-casi-negro) !important;
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 13px 14px !important;
	box-shadow: none !important;
	width: 100% !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dc-contacto .gform_wrapper textarea {
	min-height: 140px;
	resize: vertical;
}

.dc-contacto .gform_wrapper input:focus,
.dc-contacto .gform_wrapper textarea:focus {
	border-color: var(--color-violeta) !important;
	outline: 3px solid rgba(188, 255, 0, 0.45) !important;
	outline-offset: 0 !important;
}

.dc-contacto .gform_wrapper ::placeholder {
	color: rgba(33, 30, 31, 0.45);
}

/* Sublabels / descripciones */
.dc-contacto .gform_wrapper .gform_fields .gfield_description,
.dc-contacto .gform_wrapper .ginput_complex label {
	font-family: var(--font-inter) !important;
	font-size: 12px !important;
	color: rgba(33, 30, 31, 0.6) !important;
}

/* Footer + botón submit */
.dc-contacto .gform_wrapper .gform_footer {
	padding: 0 !important;
	margin: 28px 0 0 !important;
}

.dc-contacto .gform_wrapper .gform_button {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	padding: 16px 40px !important;
	box-shadow: none !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.2s ease, color 0.2s ease;
	width: auto !important;
}

.dc-contacto .gform_wrapper .gform_button:hover {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
}

/* Validación — sin rojo, sin iconos */
.dc-contacto .gform_wrapper .gform_validation_errors {
	background: var(--color-lima) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
}

.dc-contacto .gform_wrapper .gform_validation_errors h2,
.dc-contacto .gform_wrapper .gform_validation_errors a {
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
}

.dc-contacto .gform_wrapper .gfield_validation_message,
.dc-contacto .gform_wrapper .validation_message {
	background: transparent !important;
	border: 0 !important;
	color: var(--color-violeta) !important;
	font-family: var(--font-inter) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	padding: 6px 0 0 !important;
}

.dc-contacto .gform_wrapper .gfield_error input,
.dc-contacto .gform_wrapper .gfield_error textarea {
	border-color: var(--color-violeta) !important;
}

.dc-contacto .gform_wrapper .gfield_error .gfield_label {
	color: var(--color-casi-negro) !important;
}

/* Sin iconos de GF (regla del manual) */
.dc-contacto .gform_wrapper svg,
.dc-contacto .gform_wrapper .gform-icon,
.dc-contacto .gform_wrapper .gfield_validation_message::before,
.dc-contacto .gform_wrapper .gform_validation_errors::before {
	display: none !important;
}

/* Confirmación post-envío */
.dc-contacto .gform_confirmation_message,
.dc-contacto .gform_confirmation_wrapper {
	background: var(--color-beige);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 32px;
	font-family: var(--font-inter);
	font-size: 18px;
	line-height: 1.55;
	color: var(--color-casi-negro);
}

@media (max-width: 900px) {
	.dc-contacto__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.dc-contacto__info > * {
		max-width: none;
	}
}

@media (max-width: 600px) {
	.dc-contacto .gform_wrapper .gform_fields {
		grid-template-columns: 1fr;
	}
	.dc-contacto .gform_wrapper .gfield--type-text {
		grid-column: 1 / -1;
	}
	.dc-contacto .gform_wrapper .gform_button {
		width: 100% !important;
	}
}



/* ============================================================
   Dashboard de usuario — WooCommerce My Account rebrand
   Scope: .woocommerce-account / .dc-acc-*
   (las tabs ya están estiladas en .woocommerce-MyAccount-navigation)
   ============================================================ */

.woocommerce-account .woocommerce-MyAccount-content {
	font-family: var(--font-inter);
	color: var(--color-casi-negro);
}

/* Ocultar el texto default de WooCommerce en el Resumen
   (saludo + "Desde el escritorio de tu cuenta…"); ya tenemos
   nuestro dashboard branded en .dc-acc-dash */
.woocommerce-account .woocommerce-MyAccount-content:has(.dc-acc-dash) > p {
	display: none !important;
}

/* Resumen — saludo + cards de acceso rápido */
.dc-acc-dash__kicker {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-casi-negro);
	opacity: 0.6;
	margin: 0 0 10px;
}

.dc-acc-dash__hello {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: clamp(2rem, 4vw, 3rem) !important;
	letter-spacing: -0.02em;
	color: var(--color-casi-negro) !important;
	margin: 0 0 12px !important;
}

.dc-acc-dash__intro {
	font-family: var(--font-inter);
	font-size: 17px;
	line-height: 1.55;
	color: var(--color-casi-negro);
	opacity: 0.85;
	margin: 0 0 36px;
}

.dc-acc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.dc-acc-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	text-decoration: none;
	transition: transform 0.2s ease;
}

.dc-acc-card:hover {
	transform: translateY(-2px);
}

.dc-acc-card__label {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 18px;
	letter-spacing: -0.01em;
	color: var(--color-casi-negro);
	transition: color 0.2s ease;
}

.dc-acc-card:hover .dc-acc-card__label {
	color: var(--color-violeta);
}

.dc-acc-card__desc {
	font-family: var(--font-inter);
	font-size: 14px;
	color: var(--color-casi-negro);
	opacity: 0.7;
}

/* Tabla de pedidos / compras */
.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-inter);
	margin: 0;
}

.woocommerce-account .woocommerce-orders-table thead th {
	font-weight: 900;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	text-align: left;
	padding: 14px 12px;
	border-bottom: 2px solid var(--color-casi-negro);
}

.woocommerce-account .woocommerce-orders-table tbody td {
	padding: 18px 12px;
	border-bottom: 1px solid rgba(33, 30, 31, 0.15);
	font-size: 15px;
	color: var(--color-casi-negro);
	vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	font-weight: 700;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button,
.woocommerce-account .woocommerce-orders-table .button {
	display: inline-block;
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	padding: 9px 18px !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-account .woocommerce-orders-table .button:hover {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
}

/* Forms — Mis datos / login / reset (mismo patrón que el form de contacto) */
.woocommerce-account .woocommerce-MyAccount-content form label,
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-ResetPassword label {
	display: block;
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro) !important;
	margin: 0 0 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-ResetPassword input[type="text"],
.woocommerce-account .woocommerce-ResetPassword input[type="password"] {
	font-family: var(--font-inter) !important;
	font-size: 16px !important;
	color: var(--color-casi-negro) !important;
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	padding: 13px 14px !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 460px;
	transition: border-color 0.15s ease, outline 0.15s ease;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-ResetPassword input:focus {
	border-color: var(--color-violeta) !important;
	outline: 3px solid rgba(188, 255, 0, 0.45) !important;
	outline-offset: 0 !important;
}

.woocommerce-account .woocommerce-form-row,
.woocommerce-account .woocommerce-EditAccountForm p,
.woocommerce-account .woocommerce-form-login p {
	margin: 0 0 20px;
}

.woocommerce-account fieldset {
	border: 0;
	border-top: 2px solid var(--color-casi-negro);
	margin: 32px 0 0;
	padding: 28px 0 0;
}

.woocommerce-account fieldset legend {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-casi-negro);
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .em,
.woocommerce-account span.description,
.woocommerce-account .woocommerce-form__label-for-checkbox {
	font-family: var(--font-inter);
	font-size: 13px;
	color: rgba(33, 30, 31, 0.6);
}

/* Botones de los forms */
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-ResetPassword button[type="submit"],
.woocommerce-account .woocommerce-Button {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	padding: 15px 38px !important;
	box-shadow: none !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-form-login button[type="submit"]:hover,
.woocommerce-account .woocommerce-ResetPassword button[type="submit"]:hover,
.woocommerce-account .woocommerce-Button:hover {
	background: var(--color-violeta) !important;
	color: var(--color-blanco) !important;
}

/* Link "¿Olvidaste tu contraseña?" */
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
	color: var(--color-violeta);
	font-weight: 700;
	text-decoration: none;
}

/* Mensajes WC — sin verde/rojo default, sin iconos */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-notice {
	background: var(--color-beige) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-left: 6px solid var(--color-lima) !important;
	border-radius: 4px !important;
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
	box-shadow: none !important;
	padding: 16px 20px !important;
}

.woocommerce-account .woocommerce-error {
	border-left-color: var(--color-violeta) !important;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-notice::before,
.woocommerce-account .woocommerce-MyAccount-content svg {
	display: none !important;
}

/* El endpoint Mis cursos reusa el rebrand de [ld_profile] (.learndash-wrapper) */
.woocommerce-account .woocommerce-MyAccount-content .learndash-wrapper {
	margin-top: 0;
}

@media (max-width: 760px) {
	.dc-acc-grid {
		grid-template-columns: 1fr;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-wrap: nowrap;
		overflow-x: auto;
	}
	.woocommerce-account .woocommerce-orders-table thead {
		display: none;
	}
	.woocommerce-account .woocommerce-orders-table tbody td {
		display: block;
		border-bottom: 0;
		padding: 6px 0;
	}
	.woocommerce-account .woocommerce-orders-table tbody tr {
		display: block;
		border-bottom: 2px solid var(--color-casi-negro);
		padding: 16px 0;
	}
}

/* Dashboard a 100% ancho, contenido alineado a la izquierda */
.dc-account-main,
.dc-account-main > *,
.dc-account-main .woocommerce,
.dc-account-main .woocommerce-account,
.dc-account-main .woocommerce-MyAccount-navigation,
.dc-account-main .woocommerce-MyAccount-content {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}

.dc-account-main .woocommerce-MyAccount-navigation,
.dc-account-main .woocommerce-MyAccount-content {
	float: none !important;
}

.dc-account-main .woocommerce-MyAccount-navigation ul {
	justify-content: flex-start;
}

/* ============================================================
   Header fijo con hide/show on scroll (solo .dc-mainnav)
   ============================================================ */
.dc-mainnav {
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}
.dc-mainnav.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	/* !important para ganarle al transform inline que deja GSAP (gsap.from en animations.js) */
	transform: translateY(0) !important;
}
.dc-mainnav.is-hidden {
	transform: translateY(-100%) !important;
}
.dc-nav-spacer { display: none; }
.dc-nav-spacer.is-active { display: block; }

@media (prefers-reduced-motion: reduce) {
	.dc-mainnav { transition: none; }
}

/* ============================================================
   Curso de 1 módulo: video embebido arriba del certificado
   ============================================================ */
.dc-course-single-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	overflow: hidden;
	background: var(--color-casi-negro);
	margin: 0 0 var(--wp--preset--spacing--40);
}

.dc-course-single-video .dc-video-facade__play {
	all: unset;
	display: block;
	width: 100%;
	height: 100%;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	position: relative;
}

.dc-course-single-video .dc-video-facade__poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.dc-course-single-video .dc-video-facade__play:hover .dc-video-facade__poster {
	transform: scale(1.02);
}

.dc-course-single-video .dc-video-facade__btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--color-lima);
	color: var(--color-casi-negro);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 16px 28px;
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: background 0.2s ease;
}

.dc-course-single-video .dc-video-facade__play:hover .dc-video-facade__btn {
	background: var(--color-blanco);
}

.dc-course-single-video .dc-video-facade__iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Curso de 1 módulo: ocultar la tab "Contenido", su descripción y la
   lista de módulos. Mantener visible la pestaña "Materiales". El alert
   del certificado NO se toca. */
body.dc-course-1mod .ld-tabs-navigation .ld-tab[data-ld-tab*="tab-content-"],
body.dc-course-1mod .ld-tab-content[id*="tab-content-"],
body.dc-course-1mod .ld-item-list,
body.dc-course-1mod .ld-item-list-items,
body.dc-course-1mod .ld-lesson-list,
body.dc-course-1mod .ld-section-heading {
	display: none !important;
}

/* Materiales: forzar su panel visible (LD lo oculta porque "Contenido"
   era la tab activa por defecto) y marcar su botón como activo. */
body.dc-course-1mod .ld-tab-content[id*="tab-materials-"] {
	display: block !important;
}
body.dc-course-1mod .ld-tabs-navigation .ld-tab[data-ld-tab*="tab-materials-"] {
	opacity: 1 !important;
	position: relative;
}
body.dc-course-1mod .ld-tabs-navigation .ld-tab[data-ld-tab*="tab-materials-"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 4px;
	background: var(--color-lima);
}

/* ============================================================
   My Account — panel aclaratorio "cuenta se crea con la compra"
   ============================================================ */
.dc-acc-register-note {
	margin-top: 32px;
	padding: 28px;
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	max-width: 560px;
}
.dc-acc-register-note__kicker {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-casi-negro);
	margin: 0 0 14px;
}
.dc-acc-register-note__text {
	font-family: var(--font-inter);
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-casi-negro);
	margin: 0 0 12px;
}
.dc-acc-register-note__text strong {
	font-weight: 900;
}
.dc-acc-register-note__btn {
	display: inline-block;
	margin-top: 8px;
	background: var(--color-lima);
	color: var(--color-casi-negro);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 14px 28px;
	text-decoration: none;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
.dc-acc-register-note__btn:hover {
	background: var(--color-violeta);
	color: var(--color-blanco);
}

/* My Account (deslogueado): login + nota de registro en 2 columnas */
body:not(.logged-in) .dc-account-main .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
}
body:not(.logged-in) .dc-account-main .woocommerce-notices-wrapper {
	flex: 1 1 100%;
}
body:not(.logged-in) .dc-account-main .woocommerce-form-login,
body:not(.logged-in) .dc-account-main .dc-acc-register-note {
	flex: 1 1 360px;
	max-width: none;
	margin-top: 0;
}
@media (max-width: 760px) {
	body:not(.logged-in) .dc-account-main .woocommerce-form-login,
	body:not(.logged-in) .dc-account-main .dc-acc-register-note {
		flex: 1 1 100%;
	}
}

/* ============================================================
   CHECKOUT — header minimal de marca + branding del bloque
   ============================================================ */

/* Header minimal (banda oscura, solo logo) */
.dc-checkout-header {
	border-bottom: 2px solid #000;
}
.dc-checkout-header .dc-checkout-header__logo img {
	display: block;
	height: auto;
}
.dc-checkout-header__safe {
	color: var(--color-beige);
	font-size: 12px !important;
	opacity: 0.85;
}

/* "Último" lleva tilde en mayúscula: subimos el borde superior de la
   píldora para que el acento no quede afuera. Scopeado al checkout. */
.dc-checkout-main .dc-marker::after {
	inset: -0.34em -0.15em -0.02em -0.15em;
}

/* Ancho completo + alineado a la izquierda (mismo padding lateral que la
   home: spacing|30 desde el template). Anulamos el centrado del layout
   constrained para que el texto y las 2 columnas tiren a la izquierda. */
.dc-checkout-main {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.dc-checkout-main > *,
.dc-checkout-main > .entry-content,
.dc-checkout-main .entry-content,
.dc-checkout-main .wp-block-woocommerce-checkout,
.dc-checkout-main .wc-block-checkout {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}
.dc-checkout-main .wc-block-components-sidebar-layout {
	width: 100% !important;
	max-width: none !important;
}

/* Layout 2 columnas (form + resumen sticky) ya lo maneja WC; solo color */
.dc-checkout-main .wc-block-checkout__sidebar {
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 24px 26px !important;
}

/* Títulos de paso + resumen */
.dc-checkout-main .wc-block-components-checkout-step__title,
.dc-checkout-main .wc-block-components-checkout-order-summary__title-text,
.dc-checkout-main .wc-block-components-title {
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 15px !important;
	color: var(--color-casi-negro) !important;
}
.dc-checkout-main .wc-block-components-checkout-step__heading {
	margin-bottom: 14px !important;
}
.dc-checkout-main .wc-block-checkout__login-prompt {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	color: var(--color-casi-negro) !important;
	border-bottom: 2px solid var(--color-violeta) !important;
	text-decoration: none !important;
}

/* Inputs + selects: misma estética que el carrito (blanco, borde negro) */
.dc-checkout-main .wc-block-components-text-input input,
.dc-checkout-main .wc-blocks-components-select__select,
.dc-checkout-main .wc-block-components-text-input textarea {
	background: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	color: var(--color-casi-negro) !important;
	font-family: var(--font-inter) !important;
	font-size: 15px !important;
	box-shadow: none !important;
}
.dc-checkout-main .wc-block-components-text-input input:focus,
.dc-checkout-main .wc-blocks-components-select__select:focus {
	outline: 0 !important;
	border-color: var(--color-violeta) !important;
}
.dc-checkout-main .wc-block-components-text-input label,
.dc-checkout-main .wc-blocks-components-select__label {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro) !important;
	opacity: 0.75;
}

/* Select: caret tipográfico (sin SVG) */
.dc-checkout-main .wc-blocks-components-select__container {
	position: relative;
}
.dc-checkout-main .wc-blocks-components-select__container::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--color-casi-negro);
	border-bottom: 2px solid var(--color-casi-negro);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}
.dc-checkout-main .wc-blocks-components-select__select {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding-right: 40px !important;
}

/* CERO ICONOS: ocultar todos los SVG nativos del checkout */
.dc-checkout-main .wc-blocks-components-select__expand,
.dc-checkout-main .wc-block-components-checkbox__mark,
.dc-checkout-main .wc-block-components-checkout-return-to-cart-button svg,
.dc-checkout-main .wc-block-components-panel__button-icon,
.dc-checkout-main .wc-block-components-checkout-order-summary__title-icon,
.dc-checkout-main .wc-block-components-checkout-order-summary__title svg {
	display: none !important;
}

/* Checkbox: caja propia (sin SVG) */
.dc-checkout-main .wc-block-components-checkbox__input {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 3px !important;
	background: var(--color-blanco) !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	flex: 0 0 auto;
}
.dc-checkout-main .wc-block-components-checkbox__input:checked {
	background: var(--color-lima) !important;
}
.dc-checkout-main .wc-block-components-checkbox__label {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro) !important;
	font-size: 14px !important;
}

/* Totales / resumen */
.dc-checkout-main .wc-block-components-totals-item__label,
.dc-checkout-main .wc-block-components-product-name,
.dc-checkout-main .wc-block-components-product-metadata,
.dc-checkout-main .wc-block-components-totals-item__value,
.dc-checkout-main .wc-block-components-formatted-money-amount {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro) !important;
}
.dc-checkout-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.dc-checkout-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 900 !important;
	font-size: 1.2rem !important;
}
.dc-checkout-main .wc-block-components-panel__button {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 12px !important;
	color: var(--color-casi-negro) !important;
}

/* Botón "Confirmar compra" — botón de marca (negro → hover lima) */
.dc-checkout-main .wc-block-components-checkout-place-order-button {
	width: 100% !important;
	background: var(--color-casi-negro) !important;
	color: var(--color-blanco) !important;
	border: 2px solid var(--color-casi-negro) !important;
	border-radius: 4px !important;
	font-family: var(--font-inter) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-size: 14px !important;
	padding: 17px 22px !important;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.dc-checkout-main .wc-block-components-checkout-place-order-button:hover {
	background: var(--color-lima) !important;
	color: var(--color-casi-negro) !important;
}

/* "Volver al carrito" — solo texto, subrayado violeta */
.dc-checkout-main .wc-block-components-checkout-return-to-cart-button {
	font-family: var(--font-inter) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 12px !important;
	color: var(--color-casi-negro) !important;
	border-bottom: 2px solid var(--color-violeta) !important;
	text-decoration: none !important;
}

/* Términos: links subrayados violeta */
.dc-checkout-main .wc-block-checkout__terms a {
	color: var(--color-casi-negro) !important;
	border-bottom: 2px solid var(--color-violeta);
	text-decoration: none !important;
}

/* Defensivo: ocultar bloques de envío/pickup vacíos */
.dc-checkout-main .wp-block-woocommerce-checkout-shipping-method-block:empty,
.dc-checkout-main .wp-block-woocommerce-checkout-pickup-options-block:empty {
	display: none !important;
}

/* ============================================================
   ORDER-RECEIVED (gracias) — branded
   ============================================================ */

/* Ancho completo + izquierda (mismo enfoque que checkout) */
.dc-orderconf-main {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.dc-orderconf-main > *:not(.dc-orderconf-note) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

/* Panel de marca: aviso de mail + condicional */
.dc-orderconf-note {
	margin: 0 0 48px;
	padding: 28px 30px;
	background: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	width: auto;
	max-width: 620px;
	box-sizing: border-box;
}
.dc-orderconf-note__kicker {
	font-family: var(--font-inter);
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-casi-negro);
	margin: 0 0 12px;
}
.dc-orderconf-note__text {
	font-family: var(--font-inter);
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-casi-negro);
	margin: 0 0 12px;
}
.dc-orderconf-note__text:last-of-type {
	margin-bottom: 0;
}
.dc-orderconf-note__btn {
	display: inline-block;
	margin-top: 18px;
	background: var(--color-casi-negro);
	color: var(--color-blanco);
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	font-family: var(--font-inter);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 13px;
	padding: 14px 24px;
	text-decoration: none;
	cursor: url("assets/cursors/pointer.svg") 23 4, pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.dc-orderconf-note__btn:hover {
	background: var(--color-lima);
	color: var(--color-casi-negro);
}

/* Datos formales (summary + totals) con tipografía de marca */
.dc-orderconf-main .wc-block-order-confirmation-summary,
.dc-orderconf-main .wc-block-order-confirmation-summary-list,
.dc-orderconf-main .wp-block-woocommerce-order-confirmation-totals-wrapper,
.dc-orderconf-main .wc-block-order-confirmation-totals__table {
	font-family: var(--font-inter) !important;
	color: var(--color-casi-negro) !important;
}
.dc-orderconf-main .wc-block-order-confirmation-summary-list__key,
.dc-orderconf-main .wc-block-order-confirmation-totals__table th {
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 12px !important;
}
.dc-orderconf-main .wc-block-order-confirmation-totals__table {
	width: 100%;
	border-collapse: collapse;
}
.dc-orderconf-main .wc-block-order-confirmation-totals__table th,
.dc-orderconf-main .wc-block-order-confirmation-totals__table td {
	border-bottom: 2px solid var(--color-casi-negro) !important;
	padding: 14px 4px !important;
	text-align: left;
}
.dc-orderconf-main .wc-block-order-confirmation-totals__table td:last-child,
.dc-orderconf-main .wc-block-order-confirmation-totals__table th:last-child {
	text-align: right;
}
.dc-orderconf-main .wc-block-order-confirmation-summary-list {
	border: 2px solid var(--color-casi-negro);
	border-radius: 4px;
	padding: 18px 22px;
	margin-bottom: 32px;
}

/* Cero iconos: ocultar cualquier SVG del order-confirmation */
.dc-orderconf-main svg {
	display: none !important;
}
