/* ============================================================================
   Gaspar Salvavidas — Theme principal
   Diseño: sanitario, editorial y cercano. Paleta coral + turquesa + amarillo.
   ============================================================================ */

:root {
	--coral:        #D85F68;
	--coral-dark:   #B84B56;
	--turq:         #2F9F9A;
	--turq-dark:    #247D79;
	--yellow:       #F1C84B;
	--yellow-dark:  #D7AB31;
	--cream:        #F8F7F4;
	--cream-dark:   #E9E7E1;
	--ink:          #213544;
	--ink-soft:     #65747F;
	--line:         #DCE4E5;
	--white:        #ffffff;

	--shadow-sm: 0 2px 8px rgba(44, 62, 80, 0.08);
	--shadow:    0 4px 24px rgba(44, 62, 80, 0.10);
	--shadow-lg: 0 12px 48px rgba(44, 62, 80, 0.18);

	--radius-sm: 8px;
	--radius:    16px;
	--radius-lg: 24px;
	--radius-pill: 9999px;

	--display: 'Manrope', system-ui, sans-serif;
	--body:    'Nunito Sans', system-ui, sans-serif;

	--container: 1180px;

	--speed-fast: 150ms;
	--speed:      250ms;
	--speed-slow: 400ms;
	--speed-v-slow: 800ms;

	--ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ------------------- Sistema de Diseño (Spacing) ----------------------- */
:root {
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 1.5rem;
	--space-lg: 2.5rem;
	--space-xl: 4rem;
	--space-2xl: 6rem;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--cream);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body:not(.home) .site-main {
	padding-top: 104px;
}

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

a { color: var(--coral); text-decoration: none; transition: color var(--speed) var(--ease); }
a:hover { color: var(--coral-dark); }

h1, h2, h3, h4, h5 { font-family: var(--display); font-weight: 600; line-height: 1.2; margin: 0 0 1rem; color: var(--ink); }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: 1.25rem; }

p { margin: 0 0 1rem; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}

.skip-link {
	position: absolute; top: -40px; left: 0;
	background: var(--coral); color: #fff; padding: 8px 16px;
	z-index: 9999;
}
.skip-link:focus { top: 0; }

.container {
	width: 100%;
	max-width: var(--container);
	padding: 0 24px;
	margin: 0 auto;
}

/* WordPress classic themes add an inner wrapper to Group blocks. Gaspar's
 * generated visual layouts keep their grid/flex children on the styled group. */
.gaspar-block-layout > .wp-block-group__inner-container {
	display: contents;
}

.section { padding: 80px 0; }
.section--404 { padding: 120px 0; text-align: center; }
.section--cta { padding: 60px 0; }

.eyebrow {
	display: inline-block;
	font-family: var(--body);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--coral);
	margin-bottom: 12px;
}

.section-header { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.section-title { margin-bottom: 12px; }
.section-lead { color: var(--ink-soft); font-size: 1.1rem; }

/* ------------------- Botones ------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: var(--radius-pill);
	font-family: var(--body);
	font-weight: 700;
	font-size: 0.95rem;
	border: 2px solid transparent;
	cursor: pointer;
	transition: transform var(--speed-fast) var(--ease), background-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease), color var(--speed) var(--ease);
	min-height: 44px;
	text-decoration: none;
}
.btn:hover { transform: translateY(-2px) scale(1.02); color: #fff; }
.btn:active { transform: translateY(0) scale(0.99); }

.btn--primary {
	background: var(--coral);
	color: #fff;
	box-shadow: var(--shadow-sm);
}
.btn--primary:hover { background: var(--coral-dark); box-shadow: var(--shadow); }

.btn--ghost {
	background: transparent;
	color: var(--ink);
	border-color: var(--line);
}
.btn--ghost:hover { background: var(--cream-dark); color: var(--ink); }

.btn--lg { padding: 14px 28px; font-size: 1rem; }
.btn--sm { padding: 8px 16px; font-size: 0.85rem; min-height: 36px; }
.btn--block { width: 100%; }

/* ------------------- Header -------------------------------------------- */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: rgba(250, 247, 242, 0.85);
	backdrop-filter: saturate(180%) blur(15px);
	-webkit-backdrop-filter: saturate(180%) blur(15px);
	border-bottom: 1px solid transparent;
	transition: transform var(--speed) var(--ease), background var(--speed) var(--ease), padding var(--speed) var(--ease), border-color var(--speed) var(--ease);
}

body.admin-bar .site-header {
	top: 32px;
}

.site-header--scrolled {
	background: rgba(255, 255, 255, 0.95);
	padding: 4px 0;
	border-color: var(--line);
	box-shadow: var(--shadow-sm);
}

.site-header--hidden {
	transform: translateY(-100%);
}

.site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-lg);
	padding: var(--space-sm) var(--space-md);
	max-width: var(--container);
	margin: 0 auto;
}

.site-branding { 
	display: flex; 
	align-items: center; 
	gap: 12px; 
	transition: transform var(--speed) var(--ease);
}

.site-header--scrolled .site-branding {
	transform: scale(0.9);
}

.site-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--display);
	color: var(--ink);
}

.site-logo:hover { color: var(--ink); }
.site-logo__text { flex: 0 0 auto; }
.site-logo__mark { 
	display: inline-flex; 
	width: 40px; 
	height: 40px; 
	transition: transform var(--speed-fast) var(--ease);
}
.site-logo__mark img { width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: 10px; }
.site-logo:hover .site-logo__mark { transform: translateY(-1px) scale(1.04); }

.site-logo__text strong { display: block; color: var(--coral); font-size: 1.35rem; line-height: 1; }
.site-logo__text small { display: block; margin-bottom: 2px; font-size: 0.62rem; line-height: 1; font-family: var(--body); color: var(--ink-soft); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 800; white-space: nowrap; }
.eyebrow--light { color: var(--white) !important; }

.primary-nav { flex: 1; }
.primary-menu {
	display: flex; 
	gap: var(--space-xs); 
	align-items: center;
	list-style: none; padding: 0; margin: 0;
}

.primary-menu > li > a {
	display: inline-block;
	padding: 8px 10px;
	border-radius: var(--radius-pill);
	color: var(--ink);
	font-weight: 700;
	font-size: 0.9rem;
	white-space: nowrap;
	position: relative;
	transition: all var(--speed) var(--ease);
}

.primary-menu > li > a::after {
	content: '';
	position: absolute;
	bottom: 4px;
	left: 50%;
	width: 0;
	height: 2px;
	background: var(--coral);
	transition: all var(--speed) var(--ease);
	transform: translateX(-50%);
	border-radius: 2px;
}

.primary-menu > li > a:hover { color: var(--coral); }
.primary-menu > li > a:hover::after { width: 20px; }

.primary-menu > li.is-active > a { color: var(--coral); }
.primary-menu > li.is-active > a::after { width: 30px; background: var(--coral); }

.header-actions { display: flex; align-items: center; gap: var(--space-sm); }

/* Nav Toggle & Mobile Menu */
.nav-toggle {
	display: none;
	width: 40px;
	height: 40px;
	border-radius: var(--radius-sm);
	background: transparent;
	border: none;
	position: relative;
	cursor: pointer;
	z-index: 1100;
}

.nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 24px;
	background: var(--ink);
	border-radius: 2px;
	left: 8px;
	transition: all var(--speed) var(--ease);
}

.nav-toggle span:nth-child(1) { top: 14px; }
.nav-toggle span:nth-child(2) { top: 19px; width: 18px; left: 11px; }
.nav-toggle span:nth-child(3) { top: 24px; }

.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: translateX(-10px); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.mobile-menu-footer {
	display: none;
}

@media (max-width: 1024px) {
	.mobile-menu-footer {
		display: block;
		margin-top: auto;
		padding-top: 32px;
		border-top: 1px solid var(--line);
		width: 100%;
	}

	.primary-nav {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 100vh !important;
		height: 100dvh !important;
		background: var(--white) !important;
		z-index: 2000 !important;
		padding: 100px 24px 40px !important;
		transform: translateX(100%) !important;
		transition: transform var(--speed-slow) var(--ease) !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column !important;
		overflow-y: auto !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		visibility: hidden;
		pointer-events: none;
	}

	.primary-nav.is-open {
		transform: translateX(0) !important;
		width: 100% !important; /* Forzar de nuevo al abrir */
		left: 0 !important;
		visibility: visible;
		pointer-events: auto;
	}

	.primary-menu {
		flex-direction: column;
		align-items: center; /* Centrar items para aprovechar el ancho completo */
		gap: var(--space-xs);
		list-style: none;
		padding: 0;
		margin: 0;
		text-align: center;
	}

	.primary-menu > li { width: 100%; }
	.primary-menu > li > a { 
		display: block;
		font-size: 1.6rem; /* Tipografía más grande y moderna */
		padding: 16px 0; 
		width: 100%;
		border-radius: 0;
		color: var(--ink);
		font-weight: 700;
		border-bottom: 1px solid rgba(44, 62, 80, 0.05); /* Borde mucho más sutil */
	}

	.primary-menu > li > a::after { display: none; }

	.nav-toggle {
		display: flex; 
		width: 44px;
		height: 44px;
		z-index: 2100 !important; /* Sobre el nav */
		border: none; /* Quitamos el borde para un look más limpio */
		background: rgba(250, 247, 242, 0.8);
		border-radius: 50%; /* Hacemos el botón circular */
		flex-shrink: 0; 
		position: relative !important; 
		align-items: center; 
		justify-content: center;
	}

	.site-header__inner {
		padding: 10px 20px;
	}

	.header-actions {
		display: flex;
		gap: 12px;
		align-items: center;
		margin-left: auto;
		margin-right: 12px;
	}

	@media (max-width: 480px) {
		.header-actions .btn {
			display: none; /* Ocultamos botones de texto en pantallas muy pequeñas */
		}
		.site-logo__text strong { font-size: 1rem; }
		.site-logo__text small { font-size: 0.65rem; }
	}

	.header-actions .btn {
		padding: 8px 12px;
		font-size: 0.8rem;
		min-height: 36px;
	}

	.header-actions .btn--primary {
		display: none; /* Ocultamos el botón principal de registro en el header mobile para ahorrar espacio */
	}
}

/* ------------------- Hero ---------------------------------------------- */
.hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, var(--cream) 0%, #F6E9E8 50%, var(--cream) 100%);
	padding: 120px 0 120px;
}
.hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.hero__title { max-width: 680px; font-size: clamp(2.5rem, 5vw, 4.25rem); margin-bottom: 18px; }
.hero__title--small { display: block; color: var(--ink-soft); font-weight: 500; font-size: 0.6em; }
.hero__title--big { display: block; color: var(--coral); font-weight: 700; }
.hero__lead { font-size: 1.2rem; color: var(--ink-soft); margin-bottom: 14px; max-width: 600px; }
.hero__credential { max-width: 600px; margin-bottom: 32px; color: var(--ink); font-weight: 700; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero__art { position: relative; }
.hero-illustration,
.hero__art img {
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 0 auto;
	display: block;
	object-fit: cover;
	border: 8px solid rgba(255, 255, 255, 0.72);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
}
@keyframes float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-12px); }
}
.hero__wave {
	position: absolute;
	bottom: -2px; left: 0; right: 0;
	height: 80px;
	line-height: 0;
}
.hero__wave svg { width: 100%; height: 100%; }

/* ------------------- Sections ------------------------------------------ */
.section--equipo { background: var(--white); }
.team-intro__image {
	max-width: 920px;
	margin: 0 auto 36px;
}
.team-intro__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
	object-position: center 38%;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
}
.team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 28px;
}
.team-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 32px 24px;
	text-align: center;
	box-shadow: var(--shadow-sm);
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.team-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.team-card__avatar {
	width: 120px; height: 120px;
	border-radius: 50%;
	margin: 0 auto 18px;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-family: var(--display); font-size: 2.4rem; font-weight: 600;
	box-shadow: var(--shadow);
}
.team-card__role {
	color: var(--coral);
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 8px 0 6px;
}
.team-card__specialty { margin: 0 0 16px; color: var(--ink-soft); font-weight: 700; }

.offer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}
.offer-card {
	background: var(--white);
	border-radius: var(--radius-lg);
	padding: 32px 28px;
	box-shadow: var(--shadow-sm);
	border: 1px solid transparent;
	transition: all var(--speed) var(--ease);
}
.offer-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--line); }
.offer-card__icon {
	width: 64px; height: 64px;
	border-radius: var(--radius);
	background: rgba(255, 107, 107, 0.1);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 18px;
}
.offer-card__link { display: inline-block; margin-top: 12px; color: var(--coral); font-weight: 700; }
.gaspar-action { margin: 0; }
.team-card__avatar--carmen { background: linear-gradient(135deg,#E6A45A,#D85F68); }
.team-card__avatar--jesus { background: linear-gradient(135deg,#2F9F9A,#327F78); }

.section--viaja-con-gaspar { background: linear-gradient(180deg, var(--cream), #FFE9D6); }
.viaja-con-gaspar__inner { display: grid; gap: 56px; }
.section--colab { padding: 0; }
.colab-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.colab-card { background: var(--white); padding: 28px; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.colab-card h3 { color: var(--turq-dark); font-size: 1.1rem; }

.section--testimonios { padding: 0; }
.testimonial-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 28px;
}
.testimonial {
	margin: 0;
	background: var(--cream);
	padding: 32px 28px;
	border-radius: var(--radius-lg);
	border-left: 6px solid var(--yellow);
	position: relative;
}
.testimonial::before {
	content: '"';
	position: absolute; top: -10px; left: 16px;
	font-family: var(--display);
	font-size: 5rem;
	color: var(--yellow);
	line-height: 1;
	opacity: 0.6;
}
.testimonial p { font-size: 1.05rem; font-style: italic; }
.testimonial cite { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-style: normal; }
.testimonial cite strong { display: block; font-family: var(--display); font-size: 1.05rem; }
.testimonial cite > span:last-child { color: var(--ink-soft); font-size: 0.88rem; }
.testimonial__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--turq-dark);
	color: #fff;
	font: 800 0.78rem/1 var(--body);
	letter-spacing: 0.03em;
}

.cta-box {
	background: linear-gradient(135deg, var(--coral), var(--coral-dark));
	color: #fff;
	border-radius: var(--radius-lg);
	padding: 56px;
	text-align: center;
	box-shadow: var(--shadow-lg);
}
.cta-box h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.4rem); margin-bottom: 8px; }
.cta-box p { color: rgba(255,255,255,0.9); margin-bottom: 28px; }
.cta-box .btn--ghost { border-color: #fff; color: #fff; }
.cta-box .btn--ghost:hover { background: rgba(255,255,255,0.15); color: #fff; }
.cta-box .btn--primary { background: var(--yellow); color: var(--ink); }
.cta-box .btn--primary:hover { background: var(--yellow-dark); }
.cta-box__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ------------------- Book recommended ---------------------------------- */
.cta-box--book {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	gap: 40px;
	align-items: center;
	text-align: left;
	padding: 48px;
}
.cta-box--book__cover img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-md);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
	background: #fff;
	padding: 8px;
}
.cta-box--book__content .eyebrow { display: inline-block; margin-bottom: 8px; }
.cta-box--book__content h2 { margin-bottom: 16px; }
.cta-box--book__description { color: rgba(255, 255, 255, 0.95); margin-bottom: 20px; font-size: 1.02rem; line-height: 1.6; }
.cta-box--book__cta { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 8px; }
.cta-box--book__price { color: #fff; font-family: var(--display); font-size: 1.6rem; font-weight: 700; margin: 0; text-align: center; }
.cta-box--book__action { display: flex; justify-content: center; }
@media (max-width: 768px) {
	.cta-box--book { grid-template-columns: 1fr; gap: 28px; text-align: center; padding: 32px 24px; }
	.cta-box--book__cover { max-width: 260px; margin: 0 auto; }
	.cta-box--book__content .cta-box__actions { justify-content: center; }
}

/* ------------------- Course cards -------------------------------------- */
.curso-grid, .post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}
.curso-card {
	background: var(--white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--line);
	transition: all var(--speed) var(--ease);
	display: flex; flex-direction: column;
}
.curso-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.curso-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}
.curso-card__media img,
.curso-card__media .gaspar-placeholder-thumb {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform var(--speed-slow) var(--ease);
}
.curso-card:hover .curso-card__media img { transform: scale(1.05); }
.curso-card__badge {
	position: absolute; top: 12px; left: 12px;
	background: rgba(255,255,255,0.95);
	color: var(--ink);
	padding: 6px 12px;
	border-radius: var(--radius-pill);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.curso-card__badge.is-unlimited { background: var(--turq); color: #fff; }
.curso-card__badge.is-limited { background: var(--yellow); color: var(--ink); }
.curso-card__badge.is-sale { background: var(--coral); color: #fff; }
.curso-card__body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.curso-card__body h3 { font-size: 1.1rem; margin-bottom: 8px; }
.curso-card__body h3 a { color: var(--ink); }
.curso-card__body h3 a:hover { color: var(--coral); }
.curso-card__body p { color: var(--ink-soft); font-size: 0.92rem; flex: 1; }
.curso-card__meta { display: flex; gap: 12px; color: var(--ink-soft); font-size: 0.85rem; margin: 8px 0 16px; }
.curso-card__meta span { display: inline-flex; gap: 4px; align-items: center; }
.curso-card__footer {
	display: flex; align-items: center; justify-content: space-between;
	border-top: 1px solid var(--line);
	padding-top: 14px;
	margin-top: auto;
}
.curso-card__precio { font-family: var(--display); font-size: 1.15rem; color: var(--coral); font-weight: 700; }
.curso-card .price del { color: var(--ink-soft); margin-right: 8px; }
.curso-card .price ins { text-decoration: none; color: var(--coral); font-weight: 700; }

.gaspar-placeholder-thumb {
	display: flex; align-items: center; justify-content: center;
	background: var(--cream);
}
.gaspar-placeholder-thumb svg { width: 100%; height: 100%; }

/* ------------------- Single Curso / Detail ---------------------------- */
.page-header {
	max-width: 760px;
	margin: 0 auto 32px;
	text-align: center;
}
.page-title { font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 8px; }

.filter-pills {
	display: flex; gap: 8px; flex-wrap: wrap; justify-content: center;
	margin-top: 24px;
}
.filter-pill {
	padding: 8px 18px;
	border-radius: var(--radius-pill);
	background: var(--white);
	color: var(--ink);
	font-weight: 600;
	font-size: 0.88rem;
	border: 1px solid var(--line);
	transition: all var(--speed) var(--ease);
}
.filter-pill:hover { background: var(--cream-dark); }
.filter-pill.is-active { background: var(--coral); color: #fff; border-color: var(--coral); }

.empty-state { text-align: center; padding: 40px; color: var(--ink-soft); font-size: 1.05rem; }

.curso-detail {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) 1fr;
	gap: 48px;
	align-items: start;
}
.curso-detail__media {
	border-radius: var(--radius-lg);
	overflow: hidden;
	position: relative;
	box-shadow: var(--shadow);
}
.curso-detail__media img { width: 100%; height: auto; }
.curso-detail__title { font-size: clamp(1.6rem, 3vw, 2.4rem); margin-bottom: 16px; }
.curso-detail__duracion {
	display: inline-flex; gap: 6px; align-items: center;
	color: var(--ink-soft);
	font-size: 0.92rem;
	margin-bottom: 20px;
}
.curso-detail__desc { margin-bottom: 28px; }
.curso-detail__cta {
	background: var(--cream);
	border-radius: var(--radius);
	padding: 24px;
	margin-bottom: 24px;
}
.curso-detail__precio small { display: block; color: var(--ink-soft); font-size: 0.85rem; }
.curso-detail__precio strong { display: block; font-family: var(--display); font-size: 2rem; color: var(--coral); }
.curso-detail__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }

.curso-detail__owned {
	background: rgba(78, 205, 196, 0.12);
	border: 1px solid var(--turq);
	border-radius: var(--radius);
	padding: 20px;
}
.curso-detail__owned p { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }

/* ------------------- Player -------------------------------------------- */
.player-wrapper { max-width: 980px; margin: 0 auto; }
.player-wrapper__title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.player-wrapper__title h1 { margin: 0; }
.curso-progress {
	display: inline-flex; gap: 6px; align-items: center;
	background: var(--yellow);
	color: var(--ink);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 0.88rem;
	font-weight: 700;
}
.video-frame {
	position: relative;
	padding-top: 56.25%;
	background: var(--ink);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow);
}
.video-frame iframe,
.video-frame video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.video-placeholder {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff; padding: 24px;
	text-align: center;
}

/* ------------------- Canonical course product & classroom -------------- */
.course-product { background: var(--cream); min-height: 70vh; padding: 34px 0 72px; }
.is-course-player { background: #111827; }
.is-course-player .site-header { display: none; }
.is-course-player .site-footer { display: none; }
.is-course-player .site-main { min-height: 100vh; padding-top: 0 !important; }
.classroom { --classroom-sidebar: 390px; background: #111827; color: #fff; min-height: 100vh; }
.classroom__access-wrap { min-height: 100vh; }
.is-course-player .classroom__breadcrumbs { display: none; }
.classroom__breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .9rem; color: var(--ink-soft); margin-bottom: 28px; }
.classroom__breadcrumbs a { color: var(--ink-soft); font-weight: 700; }
.classroom__breadcrumbs a:hover { color: var(--coral); }
.classroom__notice { max-width: 680px; margin: 0 auto; transform: translateY(64px); align-items: flex-start; color: var(--ink); }
.classroom__notice h1 { margin: 0; }
.classroom__topbar { position: relative; z-index: 950; height: 72px; display: grid; grid-template-columns: 42px minmax(180px, 1fr) minmax(180px, 320px) auto; gap: 16px; align-items: center; padding: 0 24px; background: #fff; color: var(--ink); border-bottom: 1px solid #e4e8ed; }
.classroom__back { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.classroom__back:hover { color: var(--coral); border-color: var(--coral); }
.classroom__brand { display: flex; align-items: center; min-width: 0; gap: 10px; }
.classroom__brand-mark { width: 34px; height: 34px; border-radius: 10px; background: var(--coral); color: var(--yellow); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.classroom__brand div { min-width: 0; }
.classroom__brand small, .classroom__brand strong { display: block; }
.classroom__brand small { color: var(--ink-soft); font-size: .7rem; line-height: 1; margin-bottom: 3px; text-transform: uppercase; letter-spacing: .08em; }
.classroom__brand strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .94rem; }
.classroom__top-progress { min-width: 0; }
.classroom__progress-copy { color: var(--ink-soft); text-align: right; font-size: .72rem; margin-bottom: 5px; }
.classroom__progress-copy span { color: var(--ink); font-weight: 800; }
.classroom__progress-track { height: 6px; border-radius: 10px; background: #e7ebef; overflow: hidden; }
.classroom__progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--turq), var(--coral)); transition: width .25s ease; }
.classroom__exit { color: var(--ink); border: 1px solid var(--line); padding: 8px 13px; border-radius: var(--radius-pill); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.classroom__exit:hover { color: var(--coral); border-color: var(--coral); }
.classroom__layout { min-height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0, 1fr) var(--classroom-sidebar); background: #f5f6f7; color: var(--ink); }
.classroom__stage { min-width: 0; }
.classroom__video-zone { background: #0b111c; padding: clamp(18px, 3vw, 42px); display: flex; align-items: center; justify-content: center; }
.classroom-player { width: min(100%, 1120px); padding-top: min(56.25%, 630px); border-radius: 6px; box-shadow: 0 20px 55px rgba(0,0,0,.4); background: #000; }
.classroom__lesson-bar { min-height: 94px; display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 17px clamp(22px, 4vw, 48px); background: #fff; border-bottom: 1px solid var(--line); }
.classroom__lesson-heading { min-width: 0; }
.classroom__lesson-heading small { color: var(--coral); font-weight: 800; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.classroom__lesson-heading h1 { margin: 3px 0 0; font-size: clamp(1.15rem, 2vw, 1.55rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.classroom__lesson-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.classroom__nav-button, .classroom__complete-button, .classroom__contents-toggle { min-height: 40px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: 700 .82rem var(--body); padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; cursor: pointer; }
.classroom__nav-button:hover:not(:disabled), .classroom__contents-toggle:hover { border-color: var(--coral); color: var(--coral); }
.classroom__nav-button:disabled { opacity: .4; cursor: not-allowed; }
.classroom__complete-button { color: #16756d; border-color: rgba(78,205,196,.5); background: rgba(78,205,196,.1); }
.classroom__complete-button.is-complete { color: #fff; background: #198b81; border-color: #198b81; }
.classroom__complete-icon { width: 20px; height: 20px; border-radius: 50%; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; }
.classroom__contents-toggle { display: none; }
.classroom__lesson-info { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 42px; padding: 38px clamp(22px, 4vw, 48px) 64px; max-width: 1180px; }
.classroom__info-main h2 { font-size: 1.45rem; margin: 7px 0 14px; }
.classroom__course-description { color: var(--ink-soft); max-width: 760px; }
.classroom__course-description > :last-child { margin-bottom: 0; }
.classroom__certificate {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-top: 28px;
	padding: 17px;
	border: 1px solid rgba(244, 215, 90, 0.65);
	border-radius: 16px;
	background: linear-gradient(120deg, rgba(255, 230, 109, 0.2), rgba(255, 255, 255, 0.9));
	box-shadow: 0 8px 24px rgba(44, 62, 80, 0.08);
}
.classroom__certificate[hidden] { display: none !important; }
.classroom__certificate.is-earned { animation: certificateReveal .45s var(--ease-out); }
.classroom__certificate-seal { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--coral); color: var(--yellow); font-size: 1.45rem; }
.classroom__certificate small,
.classroom__certificate strong,
.classroom__certificate [data-certificate-code] { display: block; }
.classroom__certificate small { color: var(--coral-dark); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.classroom__certificate strong { font: 700 1.05rem/1.3 var(--display); }
.classroom__certificate [data-certificate-code] { color: var(--ink-soft); font-size: .7rem; }
@keyframes certificateReveal {
	from { opacity: 0; transform: translateY(10px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
.classroom__info-meta { border-left: 1px solid var(--line); padding-left: 26px; display: flex; flex-direction: column; gap: 24px; }
.classroom__info-meta small, .classroom__info-meta strong { display: block; }
.classroom__info-meta small { color: var(--ink-soft); font-size: .75rem; margin-bottom: 3px; }
.classroom__info-meta strong { font-size: .95rem; }
.classroom__info-meta .curso-progress { display: block; background: none; padding: 0; border-radius: 0; color: var(--ink); }
.classroom__curriculum { position: sticky; top: 0; height: 100vh; background: #fff; border-left: 1px solid #dfe3e8; overflow: hidden; display: flex; flex-direction: column; }
.classroom__curriculum-head { display: flex; align-items: center; gap: 12px; padding: 20px; border-bottom: 1px solid var(--line); }
.classroom__curriculum-head > div { min-width: 0; }
.classroom__curriculum-head small, .classroom__curriculum-head strong { display: block; }
.classroom__curriculum-head small { color: var(--ink-soft); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.classroom__curriculum-head strong { font: 700 1.25rem var(--display); }
.classroom__curriculum-head > span { margin-left: auto; font-size: .75rem; color: var(--ink-soft); white-space: nowrap; }
.classroom__curriculum-close { display: none; border: 0; background: none; font-size: 1.8rem; color: var(--ink-soft); cursor: pointer; }
.classroom__curriculum-progress { padding: 15px 20px; background: #f8fafb; border-bottom: 1px solid var(--line); }
.classroom__curriculum-progress > div:first-child { display: flex; justify-content: space-between; gap: 10px; color: var(--ink-soft); font-size: .75rem; margin-bottom: 7px; }
.classroom__curriculum-progress strong { color: var(--ink); }
.classroom__module-list { flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.course-module { border-bottom: 1px solid var(--line); }
.course-module:last-child { border-bottom: 0; }
.course-module summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 16px 20px; cursor: pointer; font-weight: 700; background: #fbfcfc; }
.course-module summary::-webkit-details-marker { display: none; }
.course-module summary::after { content: ''; width: 8px; height: 8px; border-right: 2px solid var(--ink-soft); border-bottom: 2px solid var(--ink-soft); transform: rotate(45deg); margin-left: 3px; transition: transform .2s ease; }
.course-module[open] summary::after { transform: rotate(225deg); }
.course-module summary > span { flex: 1; min-width: 0; }
.course-module summary small { display: block; color: var(--coral); font-weight: 800; font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 2px; }
.course-module summary em { color: var(--ink-soft); font-size: .7rem; font-style: normal; font-weight: 600; white-space: nowrap; }
.course-module__lessons { padding: 6px 0; }
.course-lesson { width: 100%; min-height: 66px; border: 0; border-left: 4px solid transparent; display: flex; align-items: center; gap: 11px; text-align: left; background: transparent; padding: 10px 16px; color: var(--ink); cursor: pointer; font: inherit; }
.course-lesson:hover { background: #f8f9fa; }
.course-lesson.is-active { border-left-color: var(--coral); background: rgba(255,107,107,.07); }
.course-lesson__status { width: 28px; height: 28px; border: 1px solid #cbd2d9; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--ink-soft); font-size: .72rem; }
.course-lesson__check { display: none; }
.course-lesson.is-complete .course-lesson__status { background: #198b81; border-color: #198b81; color: #fff; }
.course-lesson.is-complete .course-lesson__number { display: none; }
.course-lesson.is-complete .course-lesson__check { display: inline; }
.course-lesson__copy { min-width: 0; flex: 1; }
.course-lesson__copy strong, .course-lesson__copy small { display: block; }
.course-lesson__copy strong { font-size: .84rem; line-height: 1.3; }
.course-lesson__copy small { color: var(--ink-soft); font-size: .68rem; margin-top: 3px; }
.course-lesson__active-icon { color: var(--coral); font-size: .7rem; opacity: 0; }
.course-lesson.is-active .course-lesson__active-icon { opacity: 1; }
.classroom__scrim { display: none; }
.course-product__hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.course-product__media { border-radius: var(--radius-lg); overflow: hidden; min-height: 280px; background: var(--white); box-shadow: var(--shadow); }
.course-product__media img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.course-product__body h1 { font-size: clamp(2rem, 5vw, 3.6rem); margin: 8px 0 18px; }
.course-product__facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.course-product__facts span { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 7px 11px; color: var(--ink-soft); font-size: .86rem; }
.course-product__description { color: var(--ink-soft); font-size: 1.05rem; }
.course-product__description > :last-child { margin-bottom: 0; }
.course-product__purchase { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 28px; padding: 20px; background: var(--white); border-radius: var(--radius); border: 1px solid var(--line); }
.course-product__purchase small, .course-product__purchase strong { display: block; }
.course-product__purchase small { color: var(--ink-soft); font-size: .84rem; }
.course-product__purchase strong { color: var(--coral); font: 700 1.65rem var(--display); }
.course-product__program { margin-top: 72px; }
.course-product__program h2 { margin: 8px 0 24px; font-size: clamp(1.6rem, 3vw, 2.35rem); }
.course-product__program-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.course-product__program-grid article { background: var(--white); border: 1px solid var(--line); border-top: 5px solid var(--turq); border-radius: var(--radius); padding: 22px; }
.course-product__program-grid h3 { font-size: 1.1rem; margin-bottom: 12px; }
.course-product__program-grid ol { padding-left: 20px; margin: 0; color: var(--ink-soft); }
.course-product__program-grid li + li { margin-top: 7px; }

/* ------------------- Notificaciones ----------------------------------- */
.notice {
	border-radius: var(--radius);
	padding: 18px 22px;
	margin: 16px 0;
	display: flex; gap: 16px;
	flex-direction: column;
}
.notice p { margin: 4px 0; }
.notice--warning { background: #FFF8DC; border: 1px solid var(--yellow-dark); color: #6A5300; }
.notice--error   { background: #FEE; border: 1px solid var(--coral); color: var(--coral-dark); }
.notice--success { background: rgba(78, 205, 196, 0.15); border: 1px solid var(--turq); color: #1F6E68; }
.notice--info    { background: var(--cream); border: 1px solid var(--line); }

/* ------------------- Auth (login/registro) ---------------------------- */
.auth-page {
	min-height: 70vh;
	display: flex; align-items: center; justify-content: center;
	padding: 60px 20px;
}
.auth-card {
	background: var(--white);
	border-radius: var(--radius-lg);
	padding: 40px;
	max-width: 440px;
	width: 100%;
	box-shadow: var(--shadow);
	border-top: 6px solid var(--coral);
}
.contact-card {
	max-width: 680px; /* Ancho mayor para el formulario de contacto */
}
.auth-card__head { text-align: center; margin-bottom: 28px; }
.auth-card__head h1 { font-size: 1.6rem; margin: 16px 0 8px; }
.auth-card__head p { color: var(--ink-soft); margin: 0; }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-field { display: flex; flex-direction: column; gap: 6px; }
.auth-field span { font-weight: 600; font-size: 0.88rem; color: var(--ink-soft); }
.auth-field input,
.auth-field select,
.auth-field textarea {
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	font-size: 1rem;
	font-family: var(--body);
	background: var(--white);
	width: 100%;
	transition: border var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.auth-field input:focus,
.auth-field select:focus,
.auth-field textarea:focus {
	outline: 0;
	border-color: var(--coral);
	box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15);
}
.auth-field select {
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3E50' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px;
	cursor: pointer;
}
.auth-field textarea {
	resize: vertical;
}
.auth-field small { color: var(--ink-soft); font-size: 0.78rem; }
.contact-form__section { margin: 8px 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(246, 248, 248, .72); }
.contact-form__section legend { padding: 0 8px; color: var(--ink); font-size: 1rem; font-weight: 800; }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.contact-form__section .auth-field { margin-top: 12px; }
@media (max-width: 640px) {
	.contact-form__section { padding: 14px; }
	.contact-form__grid { grid-template-columns: 1fr; gap: 0; }
}
.auth-checkbox { display: flex; gap: 8px; align-items: center; font-size: 0.92rem; color: var(--ink-soft); }
.auth-card__foot {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
	text-align: center;
	font-size: 0.92rem;
}
.auth-card__foot p { margin: 6px 0; }
.auth-card__foot a { color: var(--coral); font-weight: 700; }

/* ------------------- Account Content ----------------------------------- */
.account-tab-panel { display: none; }
.account-tab-panel.is-active { display: block; animation: fadeIn 0.4s ease; }
.account-tab-panel,
.auth-card,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
#contacto-form {
	scroll-margin-top: 120px;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ------------------- Student Account Hub ------------------------------ */
.account-hub {
	padding-top: 34px;
	padding-bottom: 88px;
}

.account-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	overflow: hidden;
	min-height: 172px;
	padding: 30px clamp(24px, 4vw, 46px);
	border-radius: 26px;
	background:
		radial-gradient(circle at 88% -25%, rgba(255, 230, 109, 0.3) 0 26%, transparent 27%),
		linear-gradient(135deg, #24384c 0%, var(--ink) 62%, #355269 100%);
	box-shadow: 0 16px 38px rgba(35, 54, 72, 0.2);
	color: var(--white);
}

.account-hero::after {
	content: '';
	position: absolute;
	right: 19%;
	bottom: -55px;
	width: 150px;
	height: 150px;
	border: 26px solid rgba(78, 205, 196, 0.1);
	border-radius: 50%;
}

.account-hero__identity {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
}

.account-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 76px;
	width: 76px;
	height: 76px;
	border: 4px solid rgba(255, 255, 255, 0.2);
	border-radius: 24px;
	background: linear-gradient(145deg, var(--coral), #ff8a80);
	box-shadow: 0 9px 24px rgba(0, 0, 0, 0.18);
	font: 700 2rem/1 var(--display);
	color: var(--white);
}

.account-hero__eyebrow {
	display: block;
	margin-bottom: 4px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yellow);
}

.account-hero h1 {
	margin-bottom: 5px;
	font-size: clamp(1.7rem, 4vw, 2.4rem);
	color: var(--white);
}

.account-hero__identity p {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
}

.account-logout {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 0 0 auto;
	min-height: 46px;
	padding: 10px 17px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	font-weight: 700;
	backdrop-filter: blur(8px);
}

.account-logout svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.account-logout:hover {
	border-color: var(--coral);
	background: var(--coral);
	color: var(--white);
}

.account-hero__notice {
	position: absolute;
	right: 32px;
	bottom: 10px;
}

.account-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	margin-top: 30px;
}

.account-sidebar {
	position: sticky;
	top: 112px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: var(--white);
	box-shadow: var(--shadow-sm);
}

.account-sidebar__label {
	display: block;
	padding: 4px 10px 12px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.account-nav {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.account-nav__link {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 16px;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 8px 10px;
	border-radius: 13px;
	color: var(--ink-soft);
	font-size: 0.91rem;
	font-weight: 700;
	transition: color var(--speed) var(--ease), background var(--speed) var(--ease), transform var(--speed) var(--ease);
}

.account-nav__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--cream);
	color: var(--ink-soft);
	transition: color var(--speed) var(--ease), background var(--speed) var(--ease);
}

.account-nav__icon svg,
.account-nav__arrow {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.account-nav__arrow {
	width: 15px;
	height: 15px;
	opacity: 0.45;
}

.account-nav__link:hover {
	background: rgba(255, 107, 107, 0.07);
	color: var(--coral-dark);
	transform: translateX(2px);
}

.account-nav__link.is-active {
	background: linear-gradient(110deg, rgba(255, 107, 107, 0.14), rgba(255, 230, 109, 0.14));
	color: var(--coral-dark);
}

.account-nav__link.is-active .account-nav__icon {
	background: var(--coral);
	color: var(--white);
}

.account-sidebar__help {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-top: 20px;
	padding: 15px 12px;
	border-top: 1px solid var(--line);
}

.account-sidebar__help > span {
	display: grid;
	place-items: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(78, 205, 196, 0.14);
	color: var(--turq-dark);
	font-weight: 800;
}

.account-sidebar__help strong,
.account-sidebar__help a {
	display: block;
	font-size: 0.78rem;
	line-height: 1.4;
}

.account-sidebar__help a { color: var(--coral-dark); }

.account-content {
	min-width: 0;
	width: 100%;
	padding: clamp(24px, 3.5vw, 38px);
	border: 1px solid var(--line);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.64);
	box-shadow: var(--shadow-sm);
}

.account-content__heading {
	margin-bottom: 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--line);
}

.account-content__heading .eyebrow {
	display: block;
	margin-bottom: 6px;
}

.account-content__heading h2 {
	margin-bottom: 7px;
	font-size: clamp(1.55rem, 3vw, 2rem);
}

.account-content__heading p {
	max-width: 640px;
	margin: 0;
	color: var(--ink-soft);
}

/* Account: courses */
[data-account-view="mis-cursos"] .mis-cursos__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

[data-account-view="mis-cursos"] .curso-owned {
	border-radius: 18px;
	box-shadow: 0 5px 18px rgba(44, 62, 80, 0.08);
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}

[data-account-view="mis-cursos"] .curso-owned:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 28px rgba(44, 62, 80, 0.13);
}

[data-account-view="mis-cursos"] .curso-owned__media { aspect-ratio: 16 / 8.5; }
[data-account-view="mis-cursos"] .curso-owned__media::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 18% 22%, rgba(255, 230, 109, 0.8) 0 14%, transparent 15%),
		linear-gradient(135deg, rgba(78, 205, 196, 0.14), rgba(255, 107, 107, 0.12));
	pointer-events: none;
}

[data-account-view="mis-cursos"] .curso-owned__media::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 54px;
	height: 54px;
	border: 3px solid rgba(255, 255, 255, 0.92);
	border-radius: 50%;
	background: rgba(44, 62, 80, 0.78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='m9 7 8 5-8 5V7Z'/%3E%3C/svg%3E") center / 23px no-repeat;
	box-shadow: 0 7px 20px rgba(44, 62, 80, 0.2);
	transform: translate(-50%, -50%);
	pointer-events: none;
}
[data-account-view="mis-cursos"] .curso-owned__body { padding: 22px; }
[data-account-view="mis-cursos"] .curso-owned__body h3 { font-size: 1.12rem; }
[data-account-view="mis-cursos"] .curso-owned__progress-bar { height: 8px; }

/* Account: diplomas */
.diplomas-summary {
	display: grid;
	grid-template-columns: 62px auto minmax(220px, 1fr);
	align-items: center;
	gap: 17px;
	margin-bottom: 24px;
	padding: 22px 24px;
	border-radius: 18px;
	background:
		radial-gradient(circle at 92% 10%, rgba(255, 230, 109, 0.3), transparent 27%),
		linear-gradient(125deg, var(--ink), #39546b);
	color: var(--white);
	box-shadow: 0 12px 28px rgba(44, 62, 80, 0.16);
}

.diplomas-summary__seal {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border: 2px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	background: var(--coral);
	color: var(--yellow);
	font-size: 1.8rem;
	box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.08);
}

.diplomas-summary > div { display: flex; flex-direction: column; min-width: 150px; }
.diplomas-summary strong { font-size: 2rem; line-height: 1; }
.diplomas-summary span:not(.diplomas-summary__seal) { margin-top: 4px; color: rgba(255, 255, 255, 0.78); font-size: 0.82rem; font-weight: 700; }
.diplomas-summary p { justify-self: end; max-width: 350px; margin: 0; color: rgba(255, 255, 255, 0.76); font-size: 0.88rem; line-height: 1.55; }

.diplomas-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.diploma-card {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 19px;
	background: var(--white);
	box-shadow: 0 6px 22px rgba(44, 62, 80, 0.09);
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}

.diploma-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 32px rgba(44, 62, 80, 0.14);
}

.diploma-card__visual {
	position: relative;
	display: flex;
	min-height: 205px;
	padding: 30px 26px;
	border-bottom: 1px solid rgba(44, 62, 80, 0.1);
	background:
		radial-gradient(circle at 8% 12%, rgba(255, 230, 109, 0.68) 0 12%, transparent 12.6%),
		radial-gradient(circle at 102% 0, transparent 0 17%, rgba(255, 107, 107, 0.14) 17.5% 24%, transparent 24.5%),
		linear-gradient(145deg, #fffdfa, #faf6ef);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

.diploma-card__visual::after {
	content: '';
	position: absolute;
	inset: 12px;
	border: 2px solid rgba(44, 62, 80, 0.75);
	pointer-events: none;
}

.diploma-card__verified {
	position: absolute;
	z-index: 1;
	top: 21px;
	right: 21px;
	padding: 5px 9px;
	border-radius: var(--radius-pill);
	background: rgba(78, 205, 196, 0.16);
	color: var(--turq-dark);
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.diploma-card__star {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 47px;
	height: 47px;
	margin-bottom: 10px;
	border-radius: 50%;
	background: var(--coral);
	color: var(--yellow);
	font-size: 1.4rem;
}

.diploma-card__brand,
.diploma-card__visual > strong { position: relative; z-index: 1; }
.diploma-card__brand { color: var(--coral); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.diploma-card__visual > strong { max-width: 310px; margin-top: 8px; color: var(--ink); font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.15; }

.diploma-card__body { padding: 22px; }
.diploma-card__eyebrow { color: var(--coral-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.diploma-card__body h3 { min-height: 2.8em; margin: 7px 0 18px; font-size: 1.08rem; line-height: 1.4; }
.diploma-card__meta { display: grid; gap: 10px; margin: 0; }
.diploma-card__meta > div { display: flex; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px dashed var(--line); }
.diploma-card__meta dt { color: var(--ink-soft); font-size: 0.75rem; }
.diploma-card__meta dd { margin: 0; color: var(--ink); font-size: 0.75rem; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.diploma-card__meta > div:last-child dd { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.7rem; }
.diploma-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.diploma-card__course-link { color: var(--ink-soft); font-size: 0.79rem; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(93, 107, 122, 0.35); text-underline-offset: 3px; }
.diploma-card__course-link:hover { color: var(--coral-dark); }

.diplomas-empty {
	max-width: 570px;
	margin: 12px auto;
	padding: 46px 28px;
	border: 1px dashed rgba(78, 205, 196, 0.55);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(78, 205, 196, 0.07), rgba(255, 230, 109, 0.1));
	text-align: center;
}

.diplomas-empty__seal { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 18px; border-radius: 50%; background: var(--coral); color: var(--yellow); font-size: 2rem; }
.diplomas-empty h3 { margin-bottom: 8px; }
.diplomas-empty p { max-width: 430px; margin: 0 auto 22px; color: var(--ink-soft); }

/* Account: addresses */
.account-content--settings .account-tab-panel > p:first-child {
	margin: -2px 0 22px;
	padding: 14px 17px;
	border-radius: 13px;
	background: rgba(78, 205, 196, 0.09);
	color: var(--ink-soft);
	font-size: 0.92rem;
}

.account-content--settings .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.account-content--settings .woocommerce-Addresses::before,
.account-content--settings .woocommerce-Addresses::after {
	display: none !important;
}

.account-content--settings .woocommerce-Address {
	float: none !important;
	width: auto !important;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 17px;
	background: var(--white);
	box-shadow: 0 4px 14px rgba(44, 62, 80, 0.06);
}

.account-content--settings .woocommerce-Address-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}

.account-content--settings .woocommerce-Address-title h2 {
	margin: 0;
	font-size: 1.08rem;
}

.account-content--settings .woocommerce-Address-title .edit {
	float: none;
	flex: 0 0 auto;
	padding: 6px 11px;
	border-radius: var(--radius-pill);
	background: rgba(255, 107, 107, 0.1);
	color: var(--coral-dark);
	font-size: 0.78rem;
	font-weight: 800;
}

.account-content--settings .woocommerce-Address address {
	min-height: 76px;
	font-style: normal;
	color: var(--ink-soft);
}

.account-content--settings .woocommerce-address-fields {
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--line);
	border-radius: 18px;
	background: var(--white);
}

.account-content--settings .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.account-content--settings .woocommerce-address-fields .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.account-content--settings .woocommerce-address-fields .form-row-wide,
.account-content--settings .woocommerce-address-fields > p {
	grid-column: 1 / -1;
}

.account-content--settings .woocommerce-address-fields label {
	display: block;
	margin-bottom: 7px;
	font-size: 0.86rem;
	font-weight: 700;
}

.account-content--settings .woocommerce-address-fields input,
.account-content--settings .woocommerce-address-fields select {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--line);
	border-radius: 11px;
	background: #fdfcf9;
	font: 600 0.94rem/1.4 var(--body);
}

.account-content--settings .woocommerce-address-fields input:focus,
.account-content--settings .woocommerce-address-fields select:focus {
	outline: 0;
	border-color: var(--coral);
	box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.12);
}

.account-content--settings .select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--line);
	border-radius: 11px;
	background: #fdfcf9;
}

.account-content--settings .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 9px 40px 9px 14px;
	color: var(--ink);
	font: 600 0.94rem/1.9 var(--body);
}

.account-content--settings .select2-container .select2-selection--single .select2-selection__arrow {
	top: 10px;
	right: 10px;
}

.account-content--settings .woocommerce-address-fields button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 22px;
	padding: 11px 22px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--coral);
	box-shadow: 0 8px 20px rgba(229, 90, 90, 0.2);
	color: var(--white);
	font: 700 0.94rem/1 var(--body);
	cursor: pointer;
}

.account-content--settings .woocommerce-address-fields button[type="submit"]:hover {
	background: var(--coral-dark);
}

/* Account: orders */
[data-account-view="orders"] .woocommerce-info {
	min-height: 112px;
	padding: 24px 26px !important;
	border: 1px dashed #d8cda9 !important;
	border-left: 6px solid var(--yellow) !important;
	border-radius: 17px !important;
	background: linear-gradient(120deg, #fffdf3, var(--white)) !important;
}

[data-account-view="orders"] .woocommerce-orders-table {
	overflow: hidden;
	width: 100%;
	border: 1px solid var(--line) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 16px;
	background: var(--white);
	box-shadow: var(--shadow-sm);
}

[data-account-view="orders"] .woocommerce-orders-table th {
	padding: 14px 16px !important;
	border: 0 !important;
	background: var(--ink);
	color: var(--white);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

[data-account-view="orders"] .woocommerce-orders-table td {
	padding: 15px 16px !important;
	border-width: 0 0 1px !important;
	border-color: var(--line) !important;
}

/* ------------------- Account Profile Form ----------------------------- */
.account-content--settings {
	max-width: 960px;
	margin-inline: auto;
}

.account-settings { display: grid; gap: 28px; }
.account-settings__tabs {
	display: flex;
	gap: 8px;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #f6f8f8;
}
.account-settings__tab {
	flex: 1 1 0;
	min-height: 44px;
	padding: 10px 14px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--ink-soft);
	font: inherit;
	font-size: .91rem;
	font-weight: 800;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.account-settings__tab:hover { color: var(--ink); }
.account-settings__tab.is-active {
	background: var(--white);
	box-shadow: 0 2px 7px rgba(15, 35, 35, .1);
	color: var(--ink);
}
.account-settings__tab:focus-visible { outline: 3px solid rgba(78, 205, 196, .52); outline-offset: 2px; }
.account-settings__section { min-width: 0; }
.account-settings__section[hidden] { display: none; }
.account-settings__section > header { margin: 0 0 18px; }
.account-settings__section > header .eyebrow { margin-bottom: 7px; }
.account-settings__section > header h3 { margin: 0; font-size: clamp(1.18rem, 2vw, 1.42rem); }
.account-settings__section > header p { margin: 7px 0 0; color: var(--ink-soft); }

.account-content--settings .woocommerce-message,
.account-content--settings .woocommerce-error {
	margin: 0 0 22px;
	padding: 15px 18px 15px 46px;
	border: 1px solid rgba(78, 205, 196, 0.36);
	border-left: 4px solid var(--turq);
	border-radius: 14px;
	background: #f2fbfa;
	box-shadow: none;
	color: var(--ink);
	font-weight: 600;
}

.account-content--settings .woocommerce-message::before {
	top: 15px;
	left: 17px;
	color: var(--turq-dark);
}

.account-content--settings .woocommerce-message:focus {
	outline: 3px solid rgba(78, 205, 196, 0.2);
	outline-offset: 2px;
}

.account-content--settings .woocommerce-error {
	border-color: rgba(229, 90, 90, 0.35);
	border-left-color: var(--coral);
	background: #fff5f5;
}

.account-content--settings .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid rgba(229, 222, 208, 0.9);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: 0 12px 40px rgba(44, 62, 80, 0.09);
}

.account-content--settings .woocommerce-EditAccountForm .form-row {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.account-content--settings .woocommerce-EditAccountForm .form-row-wide,
.account-content--settings .woocommerce-EditAccountForm fieldset,
.account-content--settings .woocommerce-EditAccountForm > p:last-child {
	grid-column: 1 / -1;
}

.account-content--settings .woocommerce-EditAccountForm .clear {
	display: none;
}

.account-content--settings .woocommerce-EditAccountForm label {
	display: block;
	margin: 0 0 7px;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--ink);
}

.account-content--settings .woocommerce-EditAccountForm .required {
	color: var(--coral-dark);
}

.account-content--settings .woocommerce-EditAccountForm input[type="text"],
.account-content--settings .woocommerce-EditAccountForm input[type="email"],
.account-content--settings .woocommerce-EditAccountForm input[type="password"] {
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 12px 15px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fdfcf9;
	color: var(--ink);
	font: 600 0.96rem/1.4 var(--body);
	box-shadow: inset 0 1px 2px rgba(44, 62, 80, 0.03);
	transition: border-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease), background var(--speed) var(--ease);
}

.account-content--settings .woocommerce-EditAccountForm input:hover {
	border-color: #cec4b4;
}

.account-content--settings .woocommerce-EditAccountForm input:focus {
	outline: 0;
	border-color: var(--coral);
	background: var(--white);
	box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.13);
}

.account-content--settings .woocommerce-EditAccountForm em {
	display: block;
	margin-top: 7px;
	font-size: 0.8rem;
	font-style: normal;
	line-height: 1.45;
	color: var(--ink-soft);
}

.account-content--settings .woocommerce-EditAccountForm fieldset {
	min-width: 0;
	margin: 8px 0 2px;
	padding: 24px;
	border: 1px solid rgba(78, 205, 196, 0.28);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(78, 205, 196, 0.08), rgba(250, 247, 242, 0.82));
}

.account-content--settings .woocommerce-EditAccountForm fieldset legend {
	padding: 0 10px;
	font-family: var(--display);
	font-size: 1.08rem;
	font-weight: 600;
	color: var(--ink);
}

.account-content--settings .woocommerce-EditAccountForm fieldset .form-row + .form-row {
	margin-top: 17px;
}

.account-content--settings .woocommerce-EditAccountForm .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.account-content--settings .woocommerce-EditAccountForm .show-password-input {
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.account-content--settings .woocommerce-EditAccountForm > p:last-child {
	display: flex;
	justify-content: flex-end;
	margin: 2px 0 0;
}

.account-content--settings .woocommerce-EditAccountForm button[type="submit"] {
	min-height: 50px;
	padding: 12px 24px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--coral);
	box-shadow: 0 8px 20px rgba(229, 90, 90, 0.22);
	color: var(--white);
	font: 700 0.96rem/1 var(--body);
	cursor: pointer;
	transition: background var(--speed) var(--ease), box-shadow var(--speed) var(--ease), transform var(--speed) var(--ease);
}

.account-content--settings .woocommerce-EditAccountForm button[type="submit"]:hover {
	background: var(--coral-dark);
	box-shadow: 0 10px 24px rgba(229, 90, 90, 0.3);
	transform: translateY(-2px);
}

.account-content--settings .woocommerce-EditAccountForm button[type="submit"]:focus-visible {
	outline: 3px solid rgba(255, 107, 107, 0.28);
	outline-offset: 3px;
}

.mis-cursos__grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}
.curso-owned {
	display: flex; flex-direction: column;
	background: var(--white);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--line);
}
.curso-owned__media { aspect-ratio: 16/10; background: var(--cream); position: relative; }
.curso-owned__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.curso-owned__body h3 { margin-bottom: 8px; font-size: 1.05rem; }
.curso-owned__progress { margin: 14px 0; }
.curso-owned__progress-bar { height: 6px; background: var(--line); border-radius: 3px; overflow: hidden; }
.curso-owned__progress-fill { height: 100%; background: var(--coral); transition: width var(--speed-slow) var(--ease); }
.curso-owned__progress-text {
	display: flex; justify-content: space-between;
	font-size: 0.78rem; color: var(--ink-soft);
	margin-top: 6px;
}
.curso-owned__certificate {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 15px 0;
	padding: 11px 12px;
	border: 1px solid rgba(244, 215, 90, 0.58);
	border-radius: 12px;
	background: rgba(255, 230, 109, 0.15);
}
.curso-owned__certificate > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: var(--coral); color: var(--yellow); }
.curso-owned__certificate small,
.curso-owned__certificate a { display: block; line-height: 1.35; }
.curso-owned__certificate small { color: var(--ink-soft); font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.curso-owned__certificate a { color: var(--coral-dark); font-size: .86rem; font-weight: 800; }
.curso-owned__diploma-progress { display: flex; justify-content: space-between; gap: 10px; margin: 14px 0; padding-top: 11px; border-top: 1px dashed var(--line); color: var(--ink-soft); font-size: .76rem; }
.curso-owned__diploma-progress strong { color: var(--ink); }

.error-404__icon { width: 160px; margin: 0 auto 24px; }
.error-404 h1 { font-size: 2rem; }
.error-404__actions { display: flex; gap: 12px; justify-content: center; margin-top: 18px; }

/* ------------------- Footer -------------------------------------------- */
.site-footer {
	background: var(--ink);
	color: var(--cream);
	padding: 64px 0 0;
}
.site-footer h4 { color: var(--yellow); font-size: 0.95rem; letter-spacing: 0.08em; }
.site-footer p, .site-footer li { color: rgba(250, 247, 242, 0.75); font-size: 0.92rem; }
.site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(2, 1fr);
	gap: 36px;
	padding-bottom: 36px;
}
.footer-menu, .footer-contact, .footer-collab { list-style: none; padding: 0; margin: 0; }
.footer-menu li, .footer-contact li, .footer-collab li { margin-bottom: 8px; }
.footer-menu a { color: var(--cream); }
.footer-menu a:hover { color: var(--yellow); }
.site-footer__bottom {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding: 24px 0;
	font-size: 0.85rem;
}

.site-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.footer-legal {
	display: flex;
	gap: 24px;
}

.footer-legal a {
	color: rgba(250, 247, 242, 0.6);
	font-weight: 600;
	transition: color var(--speed) var(--ease);
}

.footer-legal a:hover {
	color: var(--yellow);
}

@media (max-width: 768px) {
	.site-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
	}
	.footer-legal {
		justify-content: center;
		gap: 16px;
	}
}

/* ------------------- Footer UX Improvements --------------------------- */
.footer-col h4 {
	position: relative;
	padding-bottom: 8px;
	margin-bottom: 20px;
}

.footer-col h4::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 30px;
	height: 2px;
	background: var(--coral);
	border-radius: 2px;
}

.footer-menu li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: transform var(--speed) var(--ease);
}

.footer-menu li a:hover {
	transform: translateX(5px);
}

.footer-menu li a::before {
	content: '→';
	font-size: 0.8em;
	opacity: 0;
	transition: opacity var(--speed) var(--ease);
}

.footer-menu li a:hover::before {
	opacity: 1;
}

/* ------------------- Interactive Components UX ------------------------ */
.team-card, .offer-card, .curso-card, .colab-card {
	transition: all var(--speed) var(--ease-out);
	will-change: transform, box-shadow;
}

.team-card:hover, .offer-card:hover, .curso-card:hover {
	transform: translateY(-10px) scale(1.02);
	box-shadow: var(--shadow-lg);
}

.btn--primary {
	position: relative;
	overflow: hidden;
}

.btn--primary::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 300%;
	height: 300%;
	background: rgba(255,255,255,0.2);
	transform: translate(-50%, -50%) rotate(45deg) translateY(100%);
	transition: transform 0.6s var(--ease);
}

.btn--primary:hover::after {
	transform: translate(-50%, -50%) rotate(45deg) translateY(-100%);
}

/* ------------------- Responsive --------------------------------------- */
.section--shop { padding: 56px 0 96px; }

.shop-banner {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #FFD9CC 0%, var(--yellow) 50%, var(--cream) 100%);
	color: var(--ink);
	padding: 56px 0 120px;
}
.shop-banner__inner { position: relative; z-index: 1; }
.shop-breadcrumbs {
	display: flex; align-items: center; gap: 6px;
	font-size: 0.85rem;
	color: var(--ink-soft);
	margin-bottom: 24px;
}
.shop-breadcrumbs a { color: var(--ink-soft); }
.shop-breadcrumbs a:hover { color: var(--coral); }
.shop-breadcrumbs span[aria-current] { color: var(--coral); font-weight: 700; }
.shop-breadcrumbs span[aria-hidden] { opacity: 0.5; }

.shop-banner__head { max-width: 760px; }
.shop-banner__title { font-size: clamp(2rem, 5vw, 3.4rem); margin: 8px 0 14px; color: var(--ink); }
.shop-banner__lead { font-size: 1.15rem; color: var(--ink-soft); margin: 0 0 32px; max-width: 640px; }

.shop-banner__stats { display: flex; gap: 32px; flex-wrap: wrap; align-items: center; }
.shop-banner__stats .stat { display: inline-flex; gap: 8px; align-items: center; }
.shop-banner__stats .stat strong {
	font-family: var(--display);
	font-size: 2rem;
	color: var(--coral);
	line-height: 1;
}
.shop-banner__stats .stat small {
	font-size: 0.92rem;
	color: var(--ink-soft);
	font-weight: 600;
}

.shop-banner__wave {
	position: absolute;
	bottom: -2px; left: 0; right: 0;
	height: 60px;
	line-height: 0;
	z-index: 0;
}
.shop-banner__wave svg { width: 100%; height: 100%; }

.shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 16px 22px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	margin-bottom: 28px;
	box-shadow: var(--shadow-sm);
}

/* Ocultar elementos de WooCommerce que se inyectan via hooks pero que ya manejamos manualmente */
.container.section--shop > .woocommerce-result-count,
.container.section--shop > .woocommerce-ordering {
	display: none !important;
}
.shop-result-count { margin: 0; color: var(--ink-soft); font-size: 0.95rem; }
.shop-ordering select,
.shop-ordering .orderby {
	padding: 8px 30px 8px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius-pill);
	background: var(--cream);
	font-family: var(--body);
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--ink);
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3E50' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 14px;
}

.shop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
}

.shop-pagination { margin-top: 48px; display: flex; justify-content: center; }
.shop-pagination ul { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.shop-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: var(--radius-pill);
	background: var(--white);
	color: var(--ink);
	border: 1px solid var(--line);
	font-weight: 600;
	font-size: 0.92rem;
	transition: all var(--speed) var(--ease);
}
.shop-pagination a.page-numbers:hover { background: var(--cream-dark); border-color: var(--coral); color: var(--coral); }
.shop-pagination .page-numbers.current {
	background: var(--coral);
	color: #fff;
	border-color: var(--coral);
	box-shadow: var(--shadow-sm);
}

.shop-empty {
	text-align: center;
	background: var(--white);
	border: 1px dashed var(--line);
	border-radius: var(--radius-lg);
	padding: 64px 24px;
	max-width: 520px;
	margin: 24px auto;
}
.shop-empty h2 { margin-bottom: 8px; }
.shop-empty p { color: var(--ink-soft); margin-bottom: 20px; }

/* ------------------- Responsive --------------------------------------- */
@media (max-width: 1024px) {
	.hero__inner { grid-template-columns: 1fr; text-align: center; }
	.hero__lead { margin: 0 auto 32px; }
	.hero__art { max-width: 480px; margin: 0 auto; }
	.hero__cta { justify-content: center; }
	.curso-detail { grid-template-columns: 1fr; }
	.classroom__topbar { grid-template-columns: 42px minmax(0, 1fr) minmax(150px, 240px) auto; padding: 0 16px; }
	.classroom__layout { display: block; position: relative; }
	.classroom__curriculum { position: fixed; z-index: 2500; top: 0; right: 0; width: min(390px, 88vw); height: 100vh; transform: translateX(100%); transition: transform .25s ease; box-shadow: -16px 0 50px rgba(0,0,0,.2); }
	.classroom.is-curriculum-open .classroom__curriculum { transform: translateX(0); }
	.classroom__curriculum-close { display: block; }
	.classroom__contents-toggle { display: inline-flex; }
	.classroom__scrim { position: fixed; z-index: 2400; inset: 0; background: rgba(9,16,27,.56); opacity: 0; pointer-events: none; display: block; transition: opacity .25s ease; }
	.classroom.is-curriculum-open .classroom__scrim { opacity: 1; pointer-events: auto; }
	.course-product__hero { grid-template-columns: 1fr; }
	.account-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 22px; }
	.account-sidebar { padding: 14px; }
	.account-nav__link { grid-template-columns: 32px minmax(0, 1fr) 14px; gap: 8px; padding-inline: 8px; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
	body:not(.home) .site-main { padding-top: 84px; }
	.section { padding: 56px 0; }
	.site-header__inner { padding: var(--space-sm) var(--space-md); }
	.account-hub { padding-top: 20px; padding-bottom: 64px; }
	.account-hero { min-height: 150px; padding: 25px 24px; border-radius: 22px; }
	.account-avatar { flex-basis: 64px; width: 64px; height: 64px; border-radius: 20px; }
	.account-shell { grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
	.account-sidebar { position: static; padding: 10px; }
	.account-sidebar__label, .account-sidebar__help { display: none; }
	.account-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	.account-nav__link {
		grid-template-columns: 1fr;
		gap: 5px;
		min-height: 72px;
		padding: 8px 5px;
		text-align: center;
		font-size: 0.78rem;
	}
	.account-nav__icon { margin-inline: auto; }
	.account-nav__arrow { display: none; }
	.account-nav__link:hover { transform: none; }
	.account-content { padding: 26px 22px; }
	.diplomas-summary { grid-template-columns: 58px auto; }
	.diplomas-summary__seal { width: 58px; height: 58px; }
	.diplomas-summary p { grid-column: 1 / -1; justify-self: start; max-width: none; }
	.diplomas-grid { grid-template-columns: 1fr; }
	.account-content--settings .woocommerce-Addresses { grid-template-columns: 1fr; }
	.account-content--settings .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.account-content--settings .woocommerce-address-fields .form-row { grid-column: 1 / -1; }
	.account-content--settings .woocommerce-EditAccountForm { grid-template-columns: 1fr; }
	.account-content--settings .woocommerce-EditAccountForm .form-row { grid-column: 1 / -1; }
	.account-settings { gap: 22px; }
	.account-settings__tabs { gap: 4px; padding: 4px; }
	.account-settings__tab { min-height: 46px; padding: 8px 9px; font-size: .8rem; line-height: 1.15; }
	
	.auth-card { padding: 28px 22px; }
	.cta-box { padding: 36px 24px; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 24px; }
	.page-header { text-align: left; }
	.team-grid { grid-template-columns: 1fr; }
	.course-product { padding: 22px 0 52px; }
	.classroom__breadcrumbs { margin-bottom: 20px; }
	.classroom__topbar { height: 62px; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; padding: 0 12px; }
	.is-course-player .site-main { padding-top: 0 !important; }
	.classroom__back { width: 36px; height: 36px; }
	.classroom__brand-mark { display: none; }
	.classroom__brand strong { font-size: .83rem; }
	.classroom__top-progress { display: none; }
	.classroom__exit { font-size: 0; width: 36px; height: 36px; border-radius: 50%; padding: 0; }
	.classroom__exit::before { content: '×'; font-size: 1.45rem; line-height: 1; }
	.classroom__video-zone { padding: 0; }
	.classroom-player { width: 100%; border-radius: 0; box-shadow: none; }
	.classroom__lesson-bar { min-height: 0; display: block; padding: 17px 18px; }
	.classroom__lesson-heading h1 { white-space: normal; font-size: 1.25rem; }
	.classroom__lesson-actions { margin-top: 16px; display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px 48px; gap: 7px; }
	.classroom__nav-button, .classroom__contents-toggle { padding: 8px; }
	.classroom__nav-button span, .classroom__contents-toggle span { display: none; }
	.classroom__complete-button { padding: 8px 10px; }
	.classroom__lesson-info { grid-template-columns: 1fr; gap: 26px; padding: 28px 18px 48px; }
	.classroom__certificate { grid-template-columns: 42px minmax(0, 1fr); }
	.classroom__certificate-seal { width: 42px; height: 42px; }
	.classroom__certificate .btn { grid-column: 1 / -1; width: 100%; }
	.classroom__info-meta { border-left: 0; border-top: 1px solid var(--line); padding: 20px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.course-product__purchase { align-items: stretch; flex-direction: column; }
	.course-product__purchase .btn { width: 100%; }
	.course-product__program { margin-top: 48px; }
}

@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}

@media (max-width: 480px) {
	.curso-card__footer { flex-direction: column; gap: 12px; align-items: stretch; }
	.curso-card__footer .btn { width: 100%; }
	.account-hub { width: 100%; padding-top: 42px; }
	.account-hero {
		flex-wrap: wrap;
		gap: 18px;
		padding: 24px 18px;
		border-radius: 0 0 22px 22px;
	}
	.account-hero__identity { flex-basis: 100%; gap: 14px; }
	.account-avatar { flex-basis: 54px; width: 54px; height: 54px; border-radius: 17px; font-size: 1.55rem; }
	.account-hero h1 { font-size: 1.5rem; }
	.account-hero__identity p { overflow: hidden; font-size: 0.86rem; text-overflow: ellipsis; }
	.account-logout { min-height: 42px; margin-left: auto; padding: 8px 14px; font-size: 0.86rem; }
	.account-shell { padding-inline: 12px; }
	.account-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.account-nav__link { grid-template-columns: 32px minmax(0, 1fr); min-height: 50px; text-align: left; }
	.account-nav__icon { margin: 0; }
	.account-content { padding: 22px 15px; border-radius: 18px; }
	.account-content__heading { margin-bottom: 22px; padding-bottom: 18px; }
	.account-content__heading p { font-size: 0.9rem; }
	[data-account-view="mis-cursos"] .mis-cursos__grid { grid-template-columns: 1fr; }
	.diplomas-summary { padding: 19px 17px; }
	.diploma-card__body { padding: 19px 17px; }
	.diploma-card__body h3 { min-height: 0; }
	.diploma-card__actions { align-items: stretch; flex-direction: column; }
	.diploma-card__actions .btn, .diploma-card__course-link { width: 100%; text-align: center; }
	.account-content--settings .woocommerce-Address { padding: 18px 16px; }
	.account-content--settings .woocommerce-Address-title {
		flex-direction: column;
		align-items: flex-start;
	}
	.account-content--settings .woocommerce-Address-title .edit {
		align-self: stretch;
		white-space: normal;
		text-align: center;
	}
	.account-content--settings .woocommerce-address-fields button[type="submit"] { width: 100%; }
	[data-account-view="orders"] .woocommerce-info { display: block !important; padding: 20px !important; }
	[data-account-view="orders"] .woocommerce-info .button { width: 100%; margin-top: 14px !important; }
	.account-content--settings .woocommerce-EditAccountForm { padding: 20px 16px; gap: 17px; }
	.account-content--settings .woocommerce-EditAccountForm fieldset { padding: 19px 15px; }
	.account-content--settings .woocommerce-EditAccountForm > p:last-child,
	.account-content--settings .woocommerce-EditAccountForm button[type="submit"] { width: 100%; }
	.classroom__brand small { display: none; }
	.classroom__brand strong { font-size: .78rem; }
	.classroom__complete-button { font-size: .76rem; }
	.classroom__complete-icon { width: 18px; height: 18px; }
	.classroom__curriculum { width: 94vw; }
}

/* Single Product Layout */
.single-product div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	padding: 40px 0;
	align-items: start;
}

.single-product .woocommerce-product-gallery {
	width: 100% !important;
	margin: 0 !important;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow);
}

.single-product .summary {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.single-product .product_title {
	font-size: 2.5rem;
	margin-bottom: 15px;
	line-height: 1.1;
}

.single-product .price {
	font-family: var(--display) !important;
	font-size: 2rem !important;
	color: var(--coral) !important;
	margin-bottom: 25px !important;
}

.single-product .woocommerce-product-details__short-description {
	margin-bottom: 30px;
	font-size: 1.1rem;
	color: var(--ink-soft);
}

.single-product form.cart {
	display: flex;
	gap: 15px;
	align-items: center;
	margin-bottom: 40px !important;
}

.single-product .quantity input {
	padding: 10px;
	border-radius: var(--radius);
	border: 1px solid var(--line);
	width: 70px;
	height: 48px;
}

.single-product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 40px;
	border-top: 1px solid var(--line);
	padding-top: 40px;
}

.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 20px;
	padding: 0;
	margin: 0 0 30px;
	list-style: none;
	border: 0;
}

.single-product .woocommerce-tabs ul.tabs li {
	padding: 0;
	background: transparent;
	border: 0;
}

.single-product .woocommerce-tabs ul.tabs li a {
	padding: 10px 0;
	font-weight: 700;
	font-family: var(--display);
	color: var(--ink-soft);
	border-bottom: 3px solid transparent;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--coral);
	border-bottom-color: var(--coral);
}

@media (max-width: 992px) {
	.single-product div.product {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.single-product .product_title {
		font-size: 1.8rem;
	}
	
	.single-product form.cart {
		flex-direction: column;
		align-items: stretch;
	}
	
	.single-product .quantity input {
		width: 100%;
	}
}

/* ------------------- WooCommerce Integration -------------------------- */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
	text-align: center;
	margin-bottom: 40px;
	font-size: 2.5rem;
}

.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
	border-radius: var(--radius) !important;
	padding: 18px 24px !important;
	border: 1px solid var(--line) !important;
	background-color: var(--white) !important;
	box-shadow: var(--shadow-sm) !important;
	font-family: var(--body) !important;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
	margin: 0 !important;
	order: 2;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
}

.woocommerce-message { border-left: 6px solid var(--turq) !important; }
.woocommerce-info { border-left: 6px solid var(--yellow) !important; }
.woocommerce-error { border-left: 6px solid var(--coral) !important; list-style: none !important; }

.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border-radius: var(--radius-pill);
	font-family: var(--body);
	font-weight: 700;
	background-color: var(--coral);
	color: #fff;
	border: none;
	cursor: pointer;
	transition: all var(--speed) var(--ease);
}

.woocommerce a.button:hover, 
.woocommerce button.button:hover {
	background-color: var(--coral-dark);
	transform: translateY(-2px);
	box-shadow: var(--shadow);
	color: #fff;
}

.woocommerce a.button.alt, 
.woocommerce button.button.alt {
	background-color: var(--ink);
}

.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover {
	background-color: var(--ink-soft);
}

/* Cart Table */
.woocommerce-cart-form {
	background: var(--white);
	padding: 32px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	border: 1px solid var(--line);
}

.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border: 0 !important;
}

.shop_table thead th {
	background: var(--cream);
	padding: 16px !important;
	font-family: var(--display);
	color: var(--ink);
	border-bottom: 2px solid var(--line) !important;
}

.shop_table td {
	padding: 20px 16px !important;
	border-bottom: 1px solid var(--line) !important;
}

.cart_totals {
	background: var(--cream);
	padding: 32px;
	border-radius: var(--radius-lg);
	border: 1px solid var(--line);
}

.cart_totals h2 {
	font-size: 1.5rem;
	margin-bottom: 20px;
}

/* Checkout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	background: var(--white);
	padding: 40px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	border: 1px solid var(--line);
	margin-bottom: 32px;
}

.woocommerce-billing-fields__field-wrapper input,
.woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout #order_review input {
	padding: 12px 16px;
	border-radius: var(--radius);
	border: 1px solid var(--line);
	background: var(--cream);
}

.woocommerce-checkout #order_review {
	border-top: 6px solid var(--turq);
}

@media (max-width: 768px) {
	.woocommerce-cart-form, .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review {
		padding: 24px 16px;
	}
}
.classroom__learning-tools{margin-top:28px;border:1px solid #e4e8eb;border-radius:18px;background:#fff;overflow:hidden}.classroom__tool-tabs{display:flex;gap:4px;padding:6px;border-bottom:1px solid #e4e8eb;background:#f6f8f9;overflow-x:auto}.classroom__tool-tabs button{padding:10px 16px;border:0;border-radius:11px;background:transparent;color:#5d6b7a;font:700 14px/1 var(--font-body,Arial);white-space:nowrap;cursor:pointer}.classroom__tool-tabs button.is-active{background:#fff;color:#263746;box-shadow:0 2px 10px rgba(44,62,80,.08)}.classroom__tool-panel{display:none;padding:20px;line-height:1.7}.classroom__tool-panel.is-active{display:block}.classroom__tool-panel textarea{width:100%;margin:12px 0;padding:14px;border:1px solid #d7dee3;border-radius:12px;resize:vertical}.classroom__bookmark{display:flex;align-items:center;gap:8px;font-weight:700}.classroom__tool-panel [data-note-status]{margin-left:12px;color:#26877f;font-weight:700}.classroom__tool-panel ul{margin:0;padding-left:20px}.classroom__search{display:block;padding:12px 16px 6px}.classroom__search input{width:100%;padding:11px 13px;border:1px solid #d7dee3;border-radius:11px;background:#fff}.course-assessments{margin:28px;padding:28px;border-radius:22px;background:#f5f8f9}.course-assessments>header{margin-bottom:20px}.course-assessments h2{margin:6px 0}.course-assessments__list{display:grid;gap:16px}.assessment-card{padding:22px;border:1px solid #dfe5e8;border-radius:18px;background:#fff}.assessment-card>header{display:grid;gap:5px}.assessment-card>header>span{color:#e45d5d;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.assessment-card>header>strong{font-size:20px}.assessment-card>header>small{color:#657482}.assessment-card fieldset{margin:20px 0;padding:0;border:0}.assessment-card legend{display:flex;gap:10px;margin-bottom:12px;font-weight:800}.assessment-card legend>span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#263746;color:#fff}.assessment-card fieldset label{display:flex;gap:10px;margin:7px 0;padding:11px;border:1px solid #e0e6e9;border-radius:10px;cursor:pointer}.assessment-card__footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.assessment-card.is-passed{border-color:#4ecdc4;background:#effbf9}.assessment-card__passed{margin-top:15px;color:#26877f;font-weight:800}.course-product__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:34px 0}.course-product__details article{padding:26px;border:1px solid #e3e7ea;border-radius:20px;background:#fff}.course-product__details article:only-child{grid-column:1/-1}.course-product__details h2{margin:5px 0 14px}.course-product__details li{margin:7px 0}.course-product__details details{padding:12px 0;border-bottom:1px solid #e5e8ea}.course-product__details summary{font-weight:800;cursor:pointer}.course-product__reviews{margin:34px 0}.classroom__complete-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1024px){.course-assessments{margin:22px 18px}.classroom__learning-tools{margin-top:20px}}
@media(max-width:768px){.course-product__details{grid-template-columns:1fr}.course-assessments{margin:16px 12px;padding:18px}.assessment-card{padding:17px}.assessment-card fieldset label{align-items:flex-start}.classroom__tool-panel{padding:16px}.classroom__lesson-actions{display:grid;grid-template-columns:1fr 1fr}.classroom__lesson-actions .classroom__complete-button,.classroom__lesson-actions .classroom__contents-toggle{grid-column:auto}.classroom__lesson-bar{align-items:stretch}.classroom__lesson-heading h1{font-size:20px}}
.learning-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.learning-overview article{display:grid;gap:4px;padding:18px;border:1px solid #e1e6e9;border-radius:16px;background:#fff}.learning-overview small,.curso-owned__next small{color:#647482;font-weight:700}.learning-overview strong{font-size:28px;color:#263746}.curso-owned__next{display:grid;gap:2px;margin:12px 0}.curso-owned__views{margin:0;color:#647482;font-size:13px}.diploma-card--revoked{filter:grayscale(.45);opacity:.82}.diploma-card--revoked .diploma-card__verified{background:#fff0f0;color:#c74949}@media(max-width:700px){.learning-overview{grid-template-columns:1fr}.learning-overview article{grid-template-columns:1fr auto;align-items:center}.learning-overview article span{grid-column:1/-1}}
