/* ============================================================
   Muro de Oración — design system Ekklesia 2026
   Paleta compartida: navy #0A192F/#132544, blue #2563EB, gold #F59E0B
   ============================================================ */

.ekk-muro-hero {
	background: linear-gradient(180deg, rgba(220, 233, 255, 0.6), rgba(248, 250, 252, 0) 60%),
		radial-gradient(ellipse 60% 50% at 70% 0%, rgba(37, 99, 235, 0.08), transparent);
	padding: 4rem 0 2.5rem;
	position: relative;
	overflow: hidden;
}
.ekk-muro-crumb {
	display: flex; align-items: center; gap: 0.5rem;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-text-2);
	margin-bottom: 1.5rem;
}
.ekk-muro-crumb a { color: var(--ekk-text-2); text-decoration: none; }
.ekk-muro-crumb a:hover { color: var(--ekk-blue); }

.ekk-muro-badge {
	display: inline-flex; align-items: center; gap: 0.5rem;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
	text-transform: uppercase;
	background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46;
	padding: 4px 12px; border-radius: 9999px; margin-bottom: 1rem;
}
.ekk-muro-badge .ekk-live-dot {
	width: 7px; height: 7px; border-radius: 50%;
	background: #059669; animation: ekk-pulse 2s infinite;
}
.ekk-muro-hero h1 {
	font-size: clamp(28px, 5vw, 56px);
	font-weight: 800; letter-spacing: -0.03em; line-height: 1.15;
	color: var(--ekk-text); margin: 0 0 1rem;
	max-width: 100%;
}
.ekk-muro-hero h1 .ekk-gold {
	color: var(--ekk-gold-dark);
}
.ekk-muro-verse {
	font-size: 15px; line-height: 26px; color: var(--ekk-text-2);
	font-style: italic; max-width: 100%; margin: 0 0 2rem;
	border-left: 3px solid var(--ekk-gold);
	padding-left: 1rem;
}
/* Dos versos lado a lado (uno por columna) */
.ekk-muro-verse-grid {
	display: grid; grid-template-columns: 1fr; gap: 1rem 2rem;
	margin-bottom: 2rem;
}
@media (min-width: 900px) { .ekk-muro-verse-grid { grid-template-columns: 1fr 1fr; } }
.ekk-muro-verse-grid .ekk-muro-verse { margin: 0; }
.ekk-muro-verse strong { color: var(--ekk-text); font-style: normal; }

/* Panel actividad en tiempo real */
.ekk-muro-live {
	background: #fff; border: 1px solid var(--ekk-border);
	border-radius: 24px; padding: 1.5rem;
	box-shadow: 0 4px 20px -2px rgba(15, 38, 74, 0.05);
}
.ekk-muro-live-head {
	display: flex; align-items: center; justify-content: space-between;
	padding-bottom: 0.75rem; margin-bottom: 1rem;
	border-bottom: 1px solid var(--ekk-border);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--ekk-blue);
}
.ekk-muro-live-row {
	display: flex; justify-content: space-between; align-items: center;
	font-size: 14px; color: var(--ekk-text-2); padding: 0.375rem 0;
}
.ekk-muro-live-row strong { color: var(--ekk-text); font-weight: 600; }
.ekk-muro-live .ekk-on { color: #059669; font-weight: 600; }

/* Stats hero */
.ekk-muro-hero-stats {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: 1rem; margin-top: 2rem;
}
@media (min-width: 768px) { .ekk-muro-hero-stats { grid-template-columns: repeat(4, 1fr); } }
.ekk-muro-hstat {
	background: #fff; border: 1px solid var(--ekk-border);
	border-radius: 16px; padding: 1.25rem; text-align: center;
}
.ekk-muro-hstat .num {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 28px; font-weight: 800; letter-spacing: -0.02em;
	color: var(--ekk-navy); display: block;
}
.ekk-muro-hstat .lbl {
	font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--ekk-text-muted);
	display: block; margin-top: 4px;
}
.ekk-muro-hstat .trend { color: #059669; font-weight: 700; }

/* Secciones */
.ekk-muro-section { padding: 4rem 0; }
.ekk-muro-section-alt { background: var(--ekk-surface); border-top: 1px solid var(--ekk-border); border-bottom: 1px solid var(--ekk-border); }

/* Cards de categorías */
.ekk-muro-cats {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 3rem;
}
@media (min-width: 600px) { .ekk-muro-cats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ekk-muro-cats { grid-template-columns: repeat(3, 1fr); } }
.ekk-muro-cat {
	background: #fff; border: 1px solid var(--ekk-border);
	border-radius: 16px; padding: 1.75rem;
	box-shadow: 0 1px 3px 0 rgba(15,23,42,.04), 0 6px 16px -4px rgba(15,38,74,.06);
	transition: all 0.3s ease; border-top: 4px solid var(--ekk-gold);
}
.ekk-muro-cat:hover {
	box-shadow: 0 4px 6px -1px rgba(15,23,42,.05), 0 16px 28px -6px rgba(15,38,74,.10);
	transform: translateY(-2px);
}
.ekk-muro-cat h3 {
	font-size: 20px; font-weight: 700; margin: 0 0 0.75rem; color: var(--ekk-text);
}
.ekk-muro-cat p { font-size: 14px; line-height: 22px; color: var(--ekk-text-2); margin: 0; }

/* Formulario compartición de carga */
.ekk-muro-form {
	background: #fff; border: 1px solid var(--ekk-border);
	border-radius: 24px; padding: 2rem;
	box-shadow: 0 4px 20px -2px rgba(15, 38, 74, 0.05);
	max-width: 720px; margin: 3rem auto 0;
}
.ekk-muro-form label {
	display: block; font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-text);
	margin-bottom: 0.375rem;
}
.ekk-muro-form label .req { color: #DC2626; }
.ekk-muro-form input[type=text],
.ekk-muro-form input[type=email],
.ekk-muro-form textarea,
.ekk-muro-form select {
	width: 100%; height: 44px;
	background: #fff; border: 1.5px solid var(--ekk-border);
	border-radius: 8px; padding: 0 0.875rem;
	font-size: 16px; color: var(--ekk-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}
.ekk-muro-form textarea { height: auto; min-height: 120px; padding: 0.875rem; resize: vertical; }
.ekk-muro-form input:focus,
.ekk-muro-form textarea:focus,
.ekk-muro-form select:focus {
	border-color: var(--ekk-blue);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
	outline: none;
}
.ekk-muro-form input::placeholder,
.ekk-muro-form textarea::placeholder { color: var(--ekk-text-muted); }
.ekk-muro-form .fgroup { margin-bottom: 1.25rem; }

/* Pills de categoría (form + filtros) */
.ekk-muro-pills {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem;
}
@media (min-width: 600px) { .ekk-muro-pills { grid-template-columns: repeat(4, 1fr); } }
.ekk-muro-pill {
	display: flex; align-items: center; gap: 0.375rem;
	padding: 0.5rem 0.75rem; border-radius: 8px;
	background: var(--ekk-surface); border: 1.5px solid var(--ekk-border);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-text-2);
	cursor: pointer; transition: all 0.2s ease; text-align: left;
}
.ekk-muro-pill:hover { background: var(--ekk-surface, #F8FAFC); border-color: var(--ekk-border-prom); }
.ekk-muro-pill.active {
	background: #EFF6FF; border-color: var(--ekk-blue); color: var(--ekk-blue);
}

/* El plugin genera un solo hijo .wsl_prayer_engine dentro del grid del feed → anular grid */
.ekk-muro-feed .wsl_prayer_engine { grid-column: 1 / -1; }

/* Filtros del muro */
.ekk-muro-filters {
	display: flex; gap: 0.5rem; flex-wrap: wrap;
	margin: 2rem 0 1.5rem;
}
.ekk-muro-filter {
	padding: 0.375rem 1rem; border-radius: 9999px;
	background: #fff; border: 1.5px solid var(--ekk-border);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-text-2);
	cursor: pointer; transition: all 0.2s ease; white-space: nowrap;
}
.ekk-muro-filter:hover { background: var(--ekk-surface); }
.ekk-muro-filter.active {
	background: var(--ekk-navy); border-color: var(--ekk-navy); color: #fff;
}

/* Grid de peticiones (muro) */
.ekk-muro-feed {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px) { .ekk-muro-feed { grid-template-columns: repeat(2, 1fr); } }
.ekk-muro-card {
	background: #fff; border: 1px solid var(--ekk-border);
	border-radius: 24px; padding: 1.5rem;
	box-shadow: 0 1px 3px 0 rgba(15,23,42,.04);
	display: flex; flex-direction: column; gap: 1rem;
	transition: all 0.3s ease;
}
.ekk-muro-card:hover {
	box-shadow: 0 4px 6px -1px rgba(15,23,42,.05), 0 16px 28px -6px rgba(15,38,74,.10);
}
.ekk-muro-card.hidden-cat { display: none; }
.ekk-muro-card-head {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem;
}
.ekk-muro-who { display: flex; align-items: center; gap: 0.625rem; }
.ekk-muro-avatar {
	width: 40px; height: 40px; border-radius: 9999px;
	background: var(--ekk-navy); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14px; font-weight: 700; flex-shrink: 0;
}
.ekk-muro-who .name {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15px; font-weight: 600; color: var(--ekk-navy);
}
.ekk-muro-who .meta { font-size: 13px; color: var(--ekk-text-muted); }
.ekk-muro-catbadge {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px; font-weight: 700; letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px; border-radius: 9999px;
	background: var(--ekk-surface); color: var(--ekk-navy);
	white-space: nowrap;
}
.ekk-muro-card .ptext {
	font-size: 16px; line-height: 26px; color: var(--ekk-text);
	margin: 0; flex: 1;
}
.ekk-muro-card-actions {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--ekk-border);
}
.ekk-muro-pray {
	display: inline-flex; align-items: center; gap: 0.375rem;
	padding: 0.375rem 0.875rem; border-radius: 8px;
	background: #EFF4FF; border: none;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-navy);
	cursor: pointer; transition: all 0.2s ease;
}
.ekk-muro-pray:hover { background: var(--ekk-blue); color: #fff; }
.ekk-muro-pray.prayed { background: #ECFDF5; color: #065F46; }
.ekk-muro-pray svg { width: 14px; height: 14px; }
.ekk-muro-bless-toggle {
	background: none; border: none; cursor: pointer;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-blue);
	display: inline-flex; align-items: center; gap: 0.375rem;
	padding: 0.375rem 0;
}
.ekk-muro-bless-toggle svg { width: 14px; height: 14px; }
.ekk-muro-bless-list { display: flex; flex-direction: column; gap: 0.75rem; }
.ekk-muro-bless {
	background: var(--ekk-surface); border-radius: 12px; padding: 0.875rem;
}
.ekk-muro-bless .who {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13px; font-weight: 600; color: var(--ekk-navy);
}
.ekk-muro-bless .when { font-size: 11px; color: var(--ekk-text-muted); }
.ekk-muro-bless p { font-size: 14px; line-height: 22px; color: var(--ekk-text-2); margin: 0.375rem 0 0; font-style: italic; }
.ekk-muro-bless-input {
	width: 100%; border: 1.5px solid var(--ekk-border);
	border-radius: 8px; padding: 0.5rem 0.75rem;
	font-size: 13px; box-sizing: border-box;
}
.ekk-muro-bless-input:focus { border-color: var(--ekk-blue); outline: none; }

/* Canal pastoral */
.ekk-muro-pastoral {
	background: var(--ekk-navy); border-radius: 24px;
	padding: 3rem 2rem; color: #fff; text-align: center;
	position: relative; overflow: hidden;
}
.ekk-muro-pastoral h2 {
	font-size: clamp(24px, 4vw, 32px); font-weight: 700;
	margin: 0 0 0.75rem; letter-spacing: -0.015em;
	color: #FFFFFF;
}
.ekk-muro-pastoral .vs {
	font-size: 14px; line-height: 22px; color: #CBD5E1;
	font-style: italic; max-width: 68ch; margin: 0 auto 1rem;
}
.ekk-muro-pastoral .sub {
	font-size: 15px; color: #CBD5E1; max-width: 56ch; margin: 0 auto 1.75rem;
}
.ekk-muro-pastoral .ekk-btn { position: relative; z-index: 1; }

/* CTA App */
.ekk-muro-app {
	display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center;
}
@media (min-width: 1024px) { .ekk-muro-app { grid-template-columns: 1.2fr 1fr; } }
.ekk-muro-app h2 {
	font-size: clamp(28px, 4vw, 40px); font-weight: 800;
	letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 1rem;
	color: var(--ekk-text);
}
.ekk-muro-app .lead { font-size: 18px; line-height: 28px; color: var(--ekk-text-2); margin: 0 0 1.5rem; }
.ekk-muro-app ul { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.ekk-muro-app li {
	display: flex; align-items: center; gap: 0.625rem;
	font-size: 15px; font-weight: 600; color: var(--ekk-text);
}
.ekk-muro-app li svg { width: 20px; height: 20px; color: #059669; flex-shrink: 0; }

/* ---------- Mini dashboard tiempo real ---------- */
.ekk-rt-grid {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem; margin-top: 0.25rem;
}
@media (min-width: 600px) { .ekk-rt-grid { grid-template-columns: repeat(4, 1fr); } }
.ekk-rt-cell {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 2px; padding: 1rem 0.75rem;
	background: var(--ekk-surface); border: 1px solid var(--ekk-border);
	border-radius: 14px; text-align: center;
}
.ekk-rt-cell .num,
.ekk-rt-cell .ekk-rt-num {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 24px; font-weight: 800; letter-spacing: -0.02em;
	color: var(--ekk-navy); line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.ekk-rt-cell .lbl, .ekk-rt-cell .ekk-rt-lbl {
	font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--ekk-text-muted);
	display: inline-flex; align-items: center; gap: 6px;
}
.ekk-rt-online-cell {
	background: linear-gradient(135deg, #ECFDF5, #F0FDF4);
	border-color: #A7F3D0;
}
.ekk-rt-online-cell .ekk-rt-num { color: #059669; }
.ekk-rt-online-cell .ekk-live-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: #059669; display: inline-block;
	animation: ekk-pulse 2s infinite;
}

/* Responsive muro */
@media (max-width: 767px) {
	.ekk-muro-hero { padding: 2.5rem 0 2rem; }
	.ekk-muro-section { padding: 3rem 0; }
	.ekk-muro-form { padding: 1.25rem; }
	.ekk-muro-pastoral { padding: 2rem 1.25rem; }
}

/* Anular layout flex de Astra para que el design system controle el ancho */
.page-template-page-muro-de-oracion .site-content .ast-container {
	display: block;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* ---------- Form plugin UPR: reset floats, layout vertical limpio ---------- */
.ekk-muro-form .wpgmp-frontend { float: none; padding: 0; }
.ekk-muro-form .wpgmp-frontend .form-group {
	display: block !important; width: 100%; float: none;
	margin-bottom: 1.25rem;
}
.ekk-muro-form .col-md-3,
.ekk-muro-form .col-md-8 {
	float: none; width: 100%; max-width: 100%; padding: 0; margin: 0;
}
.ekk-muro-form .form-group::after { content: none; }
.ekk-muro-form label { display: inline; margin-bottom: 0.25rem; }
.ekk-muro-form .inline-star { color: #DC2626; margin-left: 2px; }
.ekk-muro-form .form-control,
.ekk-muro-form select.postform,
.ekk-muro-form textarea {
	float: none; height: 44px; padding: 0 0.875rem;
	border: 1.5px solid var(--ekk-border); border-radius: 8px;
	font-size: 16px; color: var(--ekk-text); background: #fff;
	box-shadow: none; box-sizing: border-box; width: 100%; max-width: 100%;
}
.ekk-muro-form textarea { height: auto; min-height: 120px; padding: 0.875rem; }
.ekk-muro-form .help-block:empty { display: none; }
.ekk-muro-form input[type="submit"] {
	float: none; margin-left: 0;
	border: none; border-radius: 10px;
	background: var(--ekk-blue); color: #fff;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15px; font-weight: 700;
	padding: 0.75rem 2rem; cursor: pointer;
	transition: background 0.2s ease;
}
.ekk-muro-form input[type="submit"]:hover { background: #1D4ED8; }

/* ---------- Feed peticiones: cards blancas en vez de grises flotantes ---------- */
.ekk-muro-feed .wsl_prayer_engine { margin: 0; }
.ekk-muro-feed .wsl_prayer_engine h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 700; color: var(--ekk-text); }
.ekk-muro-feed .wsl_prayer_enginelist { float: none; width: 100%; }
.ekk-muro-feed .wsl_prayer_engine ul { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin: 0; padding: 0; align-items: start; }
@media (min-width: 900px) { .ekk-muro-feed .wsl_prayer_engine ul { grid-template-columns: repeat(2, 1fr); } }
.ekk-muro-feed .wsl_prayer_engine li {
	float: none; width: 100%; margin: 0; padding: 1.5rem;
	background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px;
	box-shadow: 0 1px 3px 0 rgba(15,23,42,.04), 0 6px 16px -4px rgba(15,38,74,.06);
	list-style: none; box-sizing: border-box;
}
.ekk-muro-feed .wsl_prayer_left { float: none; width: 100%; }
.ekk-muro-feed .wsl_prayer_left h5 { display: none; }
.ekk-muro-feed .wsl_prayer_left {
	font-size: 15px; line-height: 25px; color: var(--ekk-text); text-align: left;
}
.ekk-muro-feed .wsl_prayer_right { float: none; width: 100%; text-align: left; margin-top: 0.875rem; }
.ekk-muro-feed .wsl_prayer_right input[type="submit"],
.ekk-muro-feed .wsl_prayer_right input.prayed {
	background: #EFF4FF; color: var(--ekk-navy);
	border: none; border-radius: 8px; padding: 0.5rem 1.25rem;
	font-size: 14px; font-weight: 700; cursor: pointer; margin: 0;
}
.ekk-muro-feed .wsl_prayer_right input.prayed { background: #ECFDF5; color: #065F46; cursor: default; }
.ekk-muro-feed .wsl_prayer_left .postmeta {
	color: var(--ekk-text-muted); font-size: 13px; margin-top: 0.75rem;
	padding-top: 0.75rem; border-top: 1px solid var(--ekk-border);
}
.ekk-muro-feed .reply { margin-top: 0.5rem; }
.ekk-muro-feed .reply a {
	font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 600;
	color: var(--ekk-blue); text-decoration: none;
}

/* ---------- Pulido final form + feed ---------- */
/* hover consistente en cards del feed */
.ekk-muro-feed .wsl_prayer_engine li { transition: box-shadow 0.3s ease, transform 0.3s ease; }
.ekk-muro-feed .wsl_prayer_engine li:hover {
	box-shadow: 0 4px 6px -1px rgba(15,23,42,.05), 0 16px 28px -6px rgba(15,38,74,.10);
	transform: translateY(-2px);
}
/* margen uniforme entre form-groups y aire antes del submit */
.ekk-muro-form .wpgmp-frontend .form-group { margin-bottom: 1.25rem; }
.ekk-muro-form .wpgmp-frontend .form-group:last-of-type { margin-bottom: 1.75rem; }
/* botón flotante Astra scroll-to-top: no tapar el form en esta página */
.page-template-page-muro-de-oracion #ast-scroll-top { bottom: 24px; right: 24px; }

@keyframes ekk-pulse { 0%,100%{opacity:1; transform:scale(1)} 50%{opacity:.35; transform:scale(.7)} }
.ekk-rt-online-cell { grid-column: 1 / -1; }
/* fila 2 tiene 3 celdas: repartir ancho completo */
.ekk-rt-grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 600px) { .ekk-rt-grid { grid-template-columns: 2fr 1fr 1fr 1fr; } }.ekk-pray-done {
  opacity: .75; cursor: default !important;
  background: #059669 !important; color: #fff !important;
  border-color: #059669 !important;
}

/* ===== Blog archive (page_for_posts) ===== */
.ekk-blog { background: var(--ekk-surface); }
.ekk-blog-hero { background: linear-gradient(180deg, #FFFFFF 0%, var(--ekk-surface) 100%); padding: 3.5rem 0 2.5rem; }
.ekk-blog-hero-in { max-width: 900px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; gap: 1rem; align-items: center; padding: 0 1.5rem; }
.ekk-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ekk-blue); display: inline-flex; align-items: center; gap: 8px; }
.ekk-eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--ekk-gold); border-radius: 2px; }
.ekk-eyebrow-2 { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ekk-blue); }
.ekk-blog-hero h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4.5vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ekk-text); margin: 0; max-width: 100%; }
.ekk-blog-sub { font-size: 17px; line-height: 1.65; color: var(--ekk-text-2); max-width: 720px; margin: 0; }
.ekk-blog-badges { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: .5rem; width: 100%; }
@media (max-width: 899px) { .ekk-blog-badges { grid-template-columns: repeat(2, 1fr); } }
.ekk-blog-badge { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--ekk-border); border-radius: 14px; padding: 10px 16px; box-shadow: var(--ekk-shadow-card); text-align: left; }
.ekk-blog-badge .ic { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }
.ekk-blog-badge .ic-blue { background: #EFF6FF; color: var(--ekk-blue); }
.ekk-blog-badge .ic-gold { background: #FEF3C7; color: var(--ekk-gold-dark); }
.ekk-blog-badge strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700; color: var(--ekk-text); line-height: 1.2; }
.ekk-blog-badge small { display: block; font-size: 10px; letter-spacing: .08em; color: var(--ekk-text-muted); font-weight: 600; }
.ekk-blog-tools { padding: 1.5rem 0 0.5rem; }
.ekk-blog-tools-in { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; display: flex; flex-direction: column; gap: 14px; }
.ekk-blog-search { display: flex; gap: 8px; }
.ekk-blog-search input[type="search"] { flex: 1; height: 46px; border: 1.5px solid var(--ekk-border); border-radius: 12px; padding: 0 16px; font-size: 14px; color: var(--ekk-text); background: #fff; }
.ekk-blog-search input[type="search"]:focus { outline: none; border-color: var(--ekk-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.ekk-blog-search button { height: 46px; padding: 0 22px; background: var(--ekk-blue); color: #fff; border: none; border-radius: 12px; font-weight: 700; font-size: 14px; cursor: pointer; }
.ekk-blog-search button:hover { background: var(--ekk-blue-dark); }
.ekk-blog-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ekk-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 9999px; border: 1px solid var(--ekk-border); background: #fff; font-size: 12px; font-weight: 600; color: var(--ekk-text-2); text-decoration: none; }
.ekk-chip b { font-weight: 700; color: var(--ekk-text-muted); }
.ekk-chip:hover { border-color: var(--ekk-blue); color: var(--ekk-blue); }
.ekk-chip.active { background: var(--ekk-blue); border-color: var(--ekk-blue); color: #fff; }
.ekk-chip.active b { color: rgba(255,255,255,.8); }
.ekk-blog-featured-sec { padding: 1.5rem 0; }
.ekk-blog-featured-sec .ekk-container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.ekk-bfeat { display: grid; grid-template-columns: 1fr; background: #fff; border: 1px solid var(--ekk-border); border-radius: 20px; overflow: hidden; box-shadow: var(--ekk-shadow-card); }
@media (min-width: 820px) { .ekk-bfeat { grid-template-columns: 45% 55%; } }
.ekk-bfeat-img { position: relative; min-height: 260px; background: var(--ekk-navy-card); }
.ekk-bfeat-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ekk-bfeat-cat { position: absolute; top: 16px; left: 16px; background: var(--ekk-gold); color: var(--ekk-navy); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; border-radius: 9999px; }
.ekk-bfeat-time { position: absolute; bottom: 12px; right: 12px; background: rgba(10,25,47,.8); color: #fff; font-size: 11px; font-weight: 600; padding: 5px 10px; border-radius: 8px; }
.ekk-bfeat-body { padding: 2rem; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ekk-bfeat-pill { background: #EFF6FF; border: 1px solid #DBEAFE; color: #1E40AF; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 5px 12px; border-radius: 9999px; }
.ekk-bfeat-body h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 30px); font-weight: 700; letter-spacing: -.015em; line-height: 1.2; margin: 0; }
.ekk-bfeat-body h2 a { color: var(--ekk-text); text-decoration: none; }
.ekk-bfeat-body h2 a:hover { color: var(--ekk-blue); }
.ekk-bfeat-excerpt { font-size: 15px; line-height: 1.65; color: var(--ekk-text-2); margin: 0; }
.ekk-btn-blue { display: inline-flex; align-items: center; gap: 8px; background: var(--ekk-blue); color: #fff; padding: 12px 24px; border-radius: 12px; font-weight: 700; font-size: 14px; text-decoration: none; }
.ekk-btn-blue:hover { background: var(--ekk-blue-dark); }
.ekk-blog-grid-sec { padding: 2.5rem 0 3.5rem; }
.ekk-blog-grid-sec .ekk-container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.ekk-blog-grid-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 1.75rem; }
.ekk-blog-grid-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 28px); font-weight: 700; color: var(--ekk-text); margin: 0; letter-spacing: -.01em; }
.ekk-blog-count { font-size: 12px; color: var(--ekk-text-muted); font-weight: 600; }
.ekk-blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.ekk-bcard { background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px; overflow: hidden; box-shadow: var(--ekk-shadow-card); transition: box-shadow .3s, transform .3s; display: flex; flex-direction: column; }
.ekk-bcard:hover { box-shadow: var(--ekk-shadow-hover); transform: translateY(-2px); }
.ekk-bcard-img { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--ekk-navy-card); }
.ekk-bcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ekk-bcard:hover .ekk-bcard-img img { transform: scale(1.05); }
.ekk-bcard-cat { position: absolute; top: 14px; left: 14px; background: rgba(255,255,255,.92); color: var(--ekk-blue-dark); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 11px; border-radius: 9999px; }
.ekk-bcard-time { position: absolute; bottom: 12px; right: 12px; background: rgba(10,25,47,.8); color: #fff; font-size: 10px; font-weight: 600; padding: 4px 9px; border-radius: 7px; }
.ekk-bcard-body { padding: 1.35rem; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.ekk-bcard-meta { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ekk-text-muted); font-weight: 600; }
.ekk-bcard-title { font-size: 17px; font-weight: 700; line-height: 1.35; margin: 0; }
.ekk-bcard-title a { color: var(--ekk-text); text-decoration: none; }
.ekk-bcard-title a:hover { color: var(--ekk-blue); }
.ekk-bcard-excerpt { font-size: 13px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; flex: 1; }
.ekk-bcard-foot { padding-top: 6px; }
.ekk-bcard-more { display: inline-flex; align-items: center; gap: 5px; color: var(--ekk-blue); font-size: 13px; font-weight: 700; text-decoration: none; }
.ekk-bcard-more .arr { transition: transform .25s; }
.ekk-bcard-more:hover .arr { transform: translateX(4px); }
.ekk-blog-empty { text-align: center; color: var(--ekk-text-2); padding: 2rem 0; }
.ekk-blog-pagi { display: flex; justify-content: center; gap: 6px; margin-top: 2.25rem; flex-wrap: wrap; }
.ekk-blog-pagi .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--ekk-border); border-radius: 10px; background: #fff; color: var(--ekk-text-2); font-weight: 600; font-size: 13px; text-decoration: none; }
.ekk-blog-pagi .page-numbers.current { background: var(--ekk-blue); border-color: var(--ekk-blue); color: #fff; }
.ekk-blog-pagi .page-numbers:hover:not(.current) { border-color: var(--ekk-blue); color: var(--ekk-blue); }

/* Categorías del blog: mismo ancho/plantilla que /blog/ */
body.category .ast-separate-container .ast-container,
body.category #primary { max-width: 1240px; width: 100%; margin: 0 auto; padding: 0 1.5rem; }
body.category .ast-separate-container .ast-article-post { padding: 0; background: transparent; border: 0; }
body.category .ast-separate-container #primary { margin-top: 0; }
body.category .site-main { max-width: none; }
body.category .ast-container,
body.category .ast-separate-container.ast-two-container .ast-container { max-width: 1240px !important; }
body.category div.ast-container { max-width: 1240px !important; }
/* Igualar layout boxed->fullwidth del blog en categorías */
body.category .ast-separate-container .ast-container { max-width: 100% !important; padding: 0; }
body.category .ast-separate-container #primary,
body.category .ast-separate-container .site-main { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.category .ast-separate-container .ast-article-post,
body.category .ast-separate-container .entry-content { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.category .ast-container > .ekk-blog { grid-column: 1 / -1; }
body.blog.paged .ast-container > .ekk-blog,
body.archive .ast-container > .ekk-blog { flex: 1 1 100%; }
body.category .ast-container > .ekk-blog,
body.blog.paged .ast-container > .ekk-blog,
body.archive .ast-container > .ekk-blog { width: 100%; max-width: none; }

/* Descripción de categoría: texto profesional estructurado */
.ekk-blog-catdesc { max-width: 760px; font-size: 14px; line-height: 1.7; color: var(--ekk-text-2); text-align: center; margin: 0; }
.ekk-blog-catdesc p { margin: 0 0 10px; }
.ekk-blog-catdesc p:last-child { margin-bottom: 0; }
.ekk-blog-catdesc ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: left; }
@media (max-width: 767px) { .ekk-blog-catdesc ul { grid-template-columns: 1fr; } }
.ekk-blog-catdesc li { background: #fff; border: 1px solid var(--ekk-border); border-radius: 12px; padding: 12px 14px; font-size: 12.5px; line-height: 1.55; color: var(--ekk-text-2); box-shadow: var(--ekk-shadow-card); }
.ekk-blog-catdesc li b, .ekk-blog-catdesc li strong { display: block; color: var(--ekk-blue-dark); font-size: 12px; letter-spacing: .03em; text-transform: uppercase; margin-bottom: 3px; }
.ekk-blog-catdesc > p:first-child { font-size: 15px; color: var(--ekk-text-2); }
.ekk-blog-catdesc > p:last-child:not(:nth-child(2)) { margin-top: 12px; }

/* ===== Single article (Diseño2026/Articulos) ===== */
body.post-template-default .ast-container > * { max-width: 100% !important; }
.ekk-single { background: var(--ekk-surface); }
.ekk-single-hero { background: linear-gradient(180deg, #fff, var(--ekk-surface)); padding: 3rem 0 2rem; }
.ekk-single-hero-in { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.ekk-single-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.ekk-sbadge { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 9999px; }
.ekk-sbadge-blue { background: #EFF6FF; color: #1E40AF; border: 1px solid #DBEAFE; }
.ekk-sbadge-gold { background: #FEF3C7; color: #92400E; border: 1px solid #FDE68A; }
.ekk-sbadge-gray { background: #E5EEFF; color: #44474E; }
.ekk-single-hero h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(26px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ekk-navy); margin: 0; max-width: 900px; }
.ekk-single-authorbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: .5rem; }
.ekk-single-author { display: flex; align-items: center; gap: 12px; }
.ekk-savatar { width: 46px; height: 46px; border-radius: 50%; background: var(--ekk-navy); color: var(--ekk-gold); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; font-family: 'Plus Jakarta Sans', sans-serif; }
.ekk-sauthor-name { display: block; font-weight: 700; font-size: 14px; color: var(--ekk-text); font-family: 'Plus Jakarta Sans', sans-serif; }
.ekk-sauthor-tag { background: #E5EEFF; color: #32476C; font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; padding: 2px 7px; border-radius: 6px; margin-left: 6px; vertical-align: 1px; }
.ekk-sauthor-sub { display: block; font-size: 12px; color: var(--ekk-text-muted); margin-top: 2px; }
.ekk-single-actions { display: flex; gap: 8px; }
.ekk-saction { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--ekk-border); color: var(--ekk-text); font-size: 13px; font-weight: 700; padding: 10px 16px; border-radius: 12px; text-decoration: none; box-shadow: var(--ekk-shadow-card); }
.ekk-saction:hover { border-color: var(--ekk-blue); color: var(--ekk-blue); }
.ekk-single-wrap { max-width: 1240px; margin: 0 auto; padding: 1.5rem 1.5rem 3.5rem; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 32px; align-items: start; }
@media (max-width: 1023px) { .ekk-single-wrap { grid-template-columns: 1fr; } }
.ekk-single-thumb { margin: 0 0 1.75rem; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px -10px rgba(15,38,74,.25); aspect-ratio: 16/9; background: var(--ekk-navy); }
.ekk-single-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ekk-single-content { background: #fff; border: 1px solid var(--ekk-border); border-radius: 20px; padding: clamp(1.5rem, 4vw, 3rem); box-shadow: var(--ekk-shadow-card); }
.ekk-single-content h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 25px; font-weight: 700; color: var(--ekk-navy); margin: 2rem 0 .75rem; letter-spacing: -.01em; padding-top: 1.25rem; border-top: 1px solid var(--ekk-border); scroll-margin-top: 90px; }
.ekk-single-content h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.ekk-single-content h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--ekk-navy); margin: 1.75rem 0 .6rem; scroll-margin-top: 90px; }
.ekk-single-content p { font-size: 16px; line-height: 1.75; color: var(--ekk-text-2); margin: 0 0 1rem; }
.ekk-single-content strong, .ekk-single-content b { color: var(--ekk-text); font-weight: 700; }
.ekk-single-content a { color: var(--ekk-blue); }
.ekk-single-content ul, .ekk-single-content ol { padding-left: 1.4rem; margin: 0 0 1rem; }
.ekk-single-content li { font-size: 16px; line-height: 1.7; color: var(--ekk-text-2); margin-bottom: 6px; }
.ekk-single-content blockquote { border-left: 3px solid var(--ekk-gold); background: #F8FAFC; margin: 1.25rem 0; padding: 14px 20px; border-radius: 0 12px 12px 0; font-style: italic; color: #334155; }
.ekk-single-content img { max-width: 100%; height: auto; border-radius: 12px; }
.ekk-single-content hr { border: 0; border-top: 1px solid var(--ekk-border); margin: 2rem 0; }
.ekk-single-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 2rem; }
.ekk-snav { background: #fff; border: 1px solid var(--ekk-border); border-radius: 14px; padding: 14px 18px; text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.ekk-snav small { color: var(--ekk-blue); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ekk-snav strong { font-size: 13.5px; color: var(--ekk-text); font-weight: 700; line-height: 1.4; }
.ekk-snav:hover { border-color: var(--ekk-blue); }
.ekk-snav-next { text-align: right; }
.ekk-single-aside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 100px; }
@media (max-width: 1023px) { .ekk-single-aside { position: static; } }
.ekk-aside-box { background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px; padding: 20px; box-shadow: var(--ekk-shadow-card); }
.ekk-aside-title { display: block; font-weight: 700; font-size: 14px; color: var(--ekk-navy); margin-bottom: 12px; font-family: 'Plus Jakarta Sans', sans-serif; }
.ekk-aside-title-light { display: block; font-weight: 700; font-size: 14px; color: #fff; margin-bottom: 10px; font-family: 'Plus Jakarta Sans', sans-serif; }
.ekk-toc { display: flex; flex-direction: column; gap: 2px; }
.ekk-toc a { display: flex; gap: 8px; align-items: baseline; padding: 7px 10px; border-radius: 10px; font-size: 13px; color: var(--ekk-text-2); text-decoration: none; line-height: 1.4; }
.ekk-toc a span { color: var(--ekk-text-muted); font-size: 11px; font-weight: 700; }
.ekk-toc a:hover { background: #E5EEFF; color: var(--ekk-blue-dark); }
.ekk-aside-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ekk-aside-meta li { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--ekk-text-2); border-bottom: 1px dashed var(--ekk-border); padding-bottom: 8px; }
.ekk-aside-meta li:last-child { border-bottom: 0; padding-bottom: 0; }
.ekk-aside-meta b { color: var(--ekk-text-muted); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.ekk-aside-cta { display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: 14px; background: var(--ekk-blue); color: #fff; font-size: 13px; font-weight: 700; padding: 11px; border-radius: 12px; text-decoration: none; }
.ekk-aside-cta:hover { background: var(--ekk-blue-dark); }
.ekk-aside-navy { background: linear-gradient(135deg, var(--ekk-navy), #1E3A8A); border: 0; color: #CBD5E1; }
.ekk-aside-navy p { font-size: 13px; line-height: 1.6; margin: 0 0 12px; }
.ekk-aside-navy a { color: var(--ekk-gold); font-weight: 700; font-size: 13px; text-decoration: none; }
body.single .ast-container > .ekk-single { grid-column: 1 / -1; width: 100%; max-width: none; }
body.single .ast-separate-container .ast-container { max-width: 100% !important; padding: 0; background: transparent; }
body.single .ast-separate-container #primary,
body.single .ast-separate-container .site-main { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.single .ast-separate-container .ast-article-post,
body.single .ast-separate-container .entry-content { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.single .ast-container { max-width: 1240px !important; width: 100% !important; }
body.single .site-content .ast-container { max-width: 1240px !important; }

/* Header siempre visible al hacer scroll */
#masthead.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 999 !important;
	box-shadow: 0 2px 12px -4px rgba(15, 38, 74, 0.12);
}
/* ancla: los #section de los artículos no quedan tapados por el header */
.ekk-single-content h2, .ekk-single-content h3 { scroll-margin-top: 110px; }

/* ===== Tablas del sitio (posts, software, páginas) ===== */
.entry-content table,
.ekk-single-content table,
table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: 14px;
	border: 1px solid var(--ekk-border);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: var(--ekk-shadow-card);
}
.entry-content thead th,
.ekk-single-content thead th,
table thead th,
.entry-content table th,
.ekk-single-content table th,
table th {
	background: var(--ekk-navy);
	color: #fff;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-align: left;
	padding: 12px 16px;
}
.entry-content td, .ekk-single-content td, table td {
	padding: 11px 16px;
	border-bottom: 1px solid var(--ekk-border);
	color: var(--ekk-text-2);
	vertical-align: top;
	line-height: 1.55;
}
.entry-content tr:last-child td, .ekk-single-content tr:last-child td,
table tr:last-child td { border-bottom: 0; }
.entry-content tbody tr:nth-child(even) td,
.ekk-single-content tbody tr:nth-child(even) td,
table tbody tr:nth-child(even) td { background: #F8FAFC; }
.entry-content tbody tr:hover td,
.ekk-single-content tbody tr:hover td,
table tbody tr:hover td { background: #EFF6FF; }
.entry-content td:first-child, .ekk-single-content td:first-child,
table td:first-child { font-weight: 600; color: var(--ekk-text); }

/* responsive: scroll horizontal en móvil */
@media (max-width: 767px) {
	.entry-content table, .ekk-single-content table, table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border-radius: 12px;
	}
	.entry-content td, .ekk-single-content td, table td { min-width: 140px; }
}

/* ===== Menú: pulido de submenús ===== */
/* Items "Ver todo →" como CTA diferenciado */
.ast-desktop .main-header-menu .sub-menu a[href$="/apps/"],
.ast-desktop .main-header-menu .sub-menu a[href*="/apps/"]:last-child {
	font-weight: 700;
	color: var(--ekk-blue) !important;
	border-top: 1px solid var(--ekk-border);
	margin-top: 6px;
	padding-top: 10px;
}
.ast-desktop .main-header-menu .sub-menu a:hover { color: var(--ekk-blue) !important; }
/* sub-submenú (3er nivel) desplegable a la derecha */
.ast-desktop .main-header-menu .sub-menu .sub-menu {
	left: 100%;
	top: -10px;
	border-radius: 12px;
}
/* títulos cortos ya aplicados; separador visual para grupo */
.ast-desktop .main-header-menu .sub-menu .menu-item-has-children > a {
	font-weight: 700;
	color: var(--ekk-navy) !important;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: .06em;
	pointer-events: none;
}

/* ===== Página /apps/ — Diseño2026/Software ===== */
.ekk-sw-hero { background: linear-gradient(180deg, #fff, var(--ekk-surface)); padding: 3.5rem 0 2.5rem; }
.ekk-sw-hero-in { max-width: 900px; margin: 0 auto; text-align: center; padding: 0 1.5rem; display: flex; flex-direction: column; gap: 1rem; align-items: center; }
.ekk-sw-pill { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--ekk-gold); color: var(--ekk-gold-dark); background: #FEF3C7; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 6px 16px; border-radius: 9999px; }
.ekk-sw-hero h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4.5vw, 46px); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; color: var(--ekk-navy); margin: 0; }
.ekk-sw-sub { font-size: 16px; line-height: 1.65; color: var(--ekk-text-2); max-width: 720px; margin: 0; }
.ekk-sw-featured-sec { padding: 1.5rem 0; }
.ekk-sw-featured-sec .ekk-container, .ekk-sw-grid-sec .ekk-container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.ekk-sw-feat-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 1.25rem; }
.ekk-sw-feat-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 28px); font-weight: 700; color: var(--ekk-navy); margin: 0; letter-spacing: -.01em; }
.ekk-sw-eyebrow-gold { display: block; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ekk-gold-dark); margin-bottom: 4px; }
.ekk-sw-eyebrow-blue { display: block; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ekk-blue); margin-bottom: 4px; }
.ekk-sw-verified { font-size: 12px; font-weight: 600; color: #065F46; background: #ECFDF5; border: 1px solid #A7F3D0; padding: 6px 14px; border-radius: 9999px; }
.ekk-sw-feat { display: grid; grid-template-columns: 1fr; background: linear-gradient(120deg, #0A192F, #132544 55%, #0f172a); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 50px -15px rgba(10,25,47,.5); }
@media (min-width: 900px) { .ekk-sw-feat { grid-template-columns: 5fr 7fr; } }
.ekk-sw-feat-img { padding: 2rem; display: flex; align-items: center; justify-content: center; position: relative; }
.ekk-sw-feat-img::before { content: ''; position: absolute; inset: 22px; background: linear-gradient(120deg, rgba(245,158,11,.35), rgba(37,99,235,.35)); border-radius: 16px; filter: blur(24px); opacity: .55; }
.ekk-sw-feat-img img { position: relative; width: 100%; max-width: 380px; aspect-ratio: 16/10; object-fit: cover; border-radius: 14px; box-shadow: 0 24px 48px -12px rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.12); }
.ekk-sw-feat-body { padding: clamp(1.5rem, 4vw, 2.75rem); color: #fff; display: flex; flex-direction: column; gap: 16px; }
.ekk-sw-feat-tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ekk-sw-tag-gold { background: rgba(245,158,11,.18); color: #FCD34D; border: 1px solid rgba(245,158,11,.35); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 5px 12px; border-radius: 8px; }
.ekk-sw-tag-check { font-size: 12.5px; color: #6EE7B7; font-weight: 600; }
.ekk-sw-feat-body h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -.015em; margin: 0; line-height: 1.15; }
.ekk-sw-feat-body h3 a { color: #fff; text-decoration: none; }
.ekk-sw-feat-body h3 a:hover { color: #FCD34D; }
.ekk-sw-feat-desc { font-size: 14.5px; line-height: 1.7; color: #CBD5E1; margin: 0; }
.ekk-sw-feat-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); padding: 14px 0; }
@media (max-width: 640px) { .ekk-sw-feat-stats { grid-template-columns: repeat(2, 1fr); } }
.ekk-sw-feat-stats small { display: block; font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: #94A3B8; font-weight: 600; }
.ekk-sw-feat-stats strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 800; color: #fff; }
.ekk-sw-feat-cta { display: flex; flex-wrap: wrap; gap: 10px; }
.ekk-sw-btn-light { background: #fff; color: var(--ekk-navy); font-weight: 700; font-size: 13.5px; padding: 12px 22px; border-radius: 12px; text-decoration: none; }
.ekk-sw-btn-light:hover { background: #F1F5F9; }
.ekk-sw-btn-ghost { color: #CBD5E1; font-weight: 700; font-size: 13.5px; padding: 12px 10px; text-decoration: none; }
.ekk-sw-btn-ghost:hover { color: #fff; }
.ekk-sw-grid-sec { padding: 2.5rem 0 4rem; }
.ekk-sw-grid-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 1.5rem; }
.ekk-sw-grid-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 28px); font-weight: 700; color: var(--ekk-navy); margin: 0; letter-spacing: -.01em; }
.ekk-sw-grid-note { font-size: 12.5px; color: var(--ekk-text-muted); margin: 0; }
.ekk-sw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.ekk-sw-card { background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px; overflow: hidden; box-shadow: var(--ekk-shadow-card); transition: box-shadow .3s, transform .3s; display: flex; flex-direction: column; }
.ekk-sw-card:hover { box-shadow: var(--ekk-shadow-hover); transform: translateY(-2px); }
.ekk-sw-card-img { display: block; aspect-ratio: 16/9; overflow: hidden; background: #F1F5F9; border-bottom: 1px solid var(--ekk-border); }
.ekk-sw-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .5s; }
.ekk-sw-card:hover .ekk-sw-card-img img { transform: scale(1.05); }
.ekk-sw-card-body { padding: 1.4rem; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ekk-sw-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ekk-sw-tag-green { background: #ECFDF5; color: #065F46; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 9999px; border: 1px solid #A7F3D0; }
.ekk-sw-tag-blue { background: #EFF6FF; color: var(--ekk-blue-dark); font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 9999px; border: 1px solid #DBEAFE; }
.ekk-sw-card-body h3 { font-size: 18px; font-weight: 700; margin: 0; font-family: 'Plus Jakarta Sans', sans-serif; }
.ekk-sw-card-body h3 a { color: var(--ekk-text); text-decoration: none; }
.ekk-sw-card-body h3 a:hover { color: var(--ekk-blue); }
.ekk-sw-card-desc { font-size: 13.5px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; flex: 1; }
.ekk-sw-card-foot { display: flex; justify-content: space-between; align-items: center; padding: 14px 1.4rem; border-top: 1px solid var(--ekk-border); font-size: 12px; color: var(--ekk-text-muted); }
.ekk-sw-card-foot a { color: var(--ekk-navy); font-weight: 700; text-decoration: none; }
.ekk-sw-card-foot a:hover { color: var(--ekk-blue); }
.ekk-sw-card-cta { border: 2px dashed var(--ekk-border-prom); background: #F8FAFC; box-shadow: none; align-items: center; justify-content: center; text-align: center; padding: 2rem; gap: 12px; }
.ekk-sw-card-cta:hover { transform: none; border-color: var(--ekk-blue); }
.ekk-sw-plus { width: 52px; height: 52px; border-radius: 50%; background: var(--ekk-navy); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; }
.ekk-sw-card-cta h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; color: var(--ekk-navy); margin: 0; }
.ekk-sw-card-cta p { font-size: 13px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; }
.ekk-sw-card-cta a { display: inline-block; border: 1.5px solid var(--ekk-blue); color: var(--ekk-blue); font-weight: 700; font-size: 13px; padding: 10px 20px; border-radius: 12px; text-decoration: none; }
.ekk-sw-card-cta a:hover { background: var(--ekk-blue); color: #fff; }

/* Bloque SEO textual /apps/ */
.ekk-sw-seo { background: #fff; border-top: 1px solid var(--ekk-border); padding: 3rem 0; }
.ekk-sw-seo .ekk-container { max-width: 900px; margin: 0 auto; padding: 0 1.5rem; }
.ekk-sw-seo h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--ekk-navy); margin: 0 0 12px; }
.ekk-sw-seo h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--ekk-navy); margin: 1.5rem 0 8px; }
.ekk-sw-seo p { font-size: 14.5px; line-height: 1.75; color: var(--ekk-text-2); margin: 0 0 10px; }
.ekk-sw-seo strong { color: var(--ekk-text); }

/* ===== 404 (Diseño2026/Error-page) ===== */
.ekk-404 { background: var(--ekk-surface); }
.ekk-404-main { padding: 3.5rem 0; }
.ekk-404-grid { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 900px) { .ekk-404-grid { grid-template-columns: 1fr 1.1fr; align-items: start; } }
.ekk-404-card { background: #fff; border: 1px solid var(--ekk-border); border-radius: 18px; overflow: hidden; box-shadow: var(--ekk-shadow-card); }
.ekk-404-illus-head { background: var(--ekk-navy); color: var(--ekk-gold); font-family: 'Courier New', monospace; font-weight: 700; font-size: 13px; letter-spacing: .1em; padding: 12px 18px; display: flex; align-items: center; gap: 8px; }
.ekk-404-illus-head::before { content: '● ● ●'; color: #475569; letter-spacing: 3px; font-size: 10px; }
.ekk-404-illus img { display: block; width: 100%; height: auto; }
.ekk-404-status { font-family: 'Courier New', monospace; font-weight: 700; font-size: 13px; color: #DC2626; background: #FEF2F2; border-top: 1px solid var(--ekk-border); padding: 10px 18px; }
.ekk-404-illus-foot { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--ekk-text-2); background: #F8FAFC; padding: 10px 18px; border-top: 1px solid var(--ekk-border); }
.ekk-404-illus-foot .ok { color: #059669; font-weight: 700; }
.ekk-404-content { display: flex; flex-direction: column; gap: 18px; }
.ekk-404-pill { align-self: flex-start; background: #FEF3C7; border: 1px solid var(--ekk-gold); color: var(--ekk-gold-dark); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 7px 14px; border-radius: 9999px; }
.ekk-404-content h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4vw, 40px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ekk-navy); margin: 0; }
.ekk-404-lead { font-size: 15.5px; line-height: 1.7; color: var(--ekk-text-2); margin: 0; }
.ekk-404-verse { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--ekk-border); border-left: 3px solid var(--ekk-gold); border-radius: 12px; padding: 16px 20px; margin: 0; }
.ekk-404-verse .ico { font-size: 22px; }
.ekk-404-verse p { margin: 0; font-style: italic; font-size: 14.5px; color: #334155; line-height: 1.6; }
.ekk-404-verse small { display: block; margin-top: 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--ekk-gold-dark); }
.ekk-404-search label { display: block; font-size: 13px; font-weight: 600; color: var(--ekk-text); margin-bottom: 8px; }
.ekk-404-search div { display: flex; gap: 8px; }
.ekk-404-search input { flex: 1; height: 46px; border: 1.5px solid var(--ekk-border); border-radius: 12px; padding: 0 16px; font-size: 14px; }
.ekk-404-search input:focus { outline: none; border-color: var(--ekk-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.ekk-404-search button { height: 46px; padding: 0 22px; background: var(--ekk-blue); color: #fff; border: 0; border-radius: 12px; font-weight: 700; font-size: 14px; cursor: pointer; }
.ekk-404-search button:hover { background: var(--ekk-blue-dark); }
.ekk-404-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ekk-404-btns a { display: inline-flex; align-items: center; gap: 7px; padding: 12px 20px; border-radius: 12px; font-size: 13.5px; font-weight: 700; text-decoration: none; }
.btn-navy { background: var(--ekk-navy); color: #fff; }
.btn-navy:hover { background: #132544; }
.btn-ghost { border: 1.5px solid var(--ekk-border); color: var(--ekk-text); background: #fff; }
.btn-ghost:hover { border-color: var(--ekk-blue); color: var(--ekk-blue); }
.ekk-404-paths { padding: 3rem 0 4rem; }
.ekk-404-paths .ekk-container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.ekk-404-paths-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 1.75rem; }
.ekk-404-paths-head .eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ekk-blue); margin-bottom: 4px; }
.ekk-404-paths-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 28px); font-weight: 700; color: var(--ekk-navy); margin: 0; }
.ekk-404-paths-head p { font-size: 13px; color: var(--ekk-text-muted); margin: 0; max-width: 380px; }
.ekk-404-paths-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.ekk-404-paths-grid article { background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--ekk-shadow-card); transition: transform .3s, box-shadow .3s; }
.ekk-404-paths-grid article:hover { transform: translateY(-3px); box-shadow: var(--ekk-shadow-hover); }
.ekk-404-paths-grid .ic { width: 44px; height: 44px; border-radius: 12px; background: #EFF6FF; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.ekk-404-paths-grid h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--ekk-navy); margin: 0; }
.ekk-404-paths-grid p { font-size: 13px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; flex: 1; }
.ekk-404-paths-grid a { color: var(--ekk-blue); font-size: 13px; font-weight: 700; text-decoration: none; }
.ekk-404-paths-grid a:hover { text-decoration: underline; }
.ekk-404-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 2.5rem; background: var(--ekk-navy); border-radius: 16px; padding: 22px; }
@media (max-width: 767px) { .ekk-404-metrics { grid-template-columns: repeat(2, 1fr); } }
.ekk-404-metrics div { text-align: center; }
.ekk-404-metrics strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: var(--ekk-gold); }
.ekk-404-metrics span { font-size: 10.5px; letter-spacing: .07em; color: #94A3B8; font-weight: 600; }

/* ===== Catálogo cursos WPCW ===== */
.wpcw-shortcode-courses .wpcw-courses {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px;
}
.wpcw-shortcode-courses .wpcw-course {
	background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px;
	padding: 24px; box-shadow: var(--ekk-shadow-card);
	display: flex; flex-direction: column; gap: 10px;
	transition: transform .3s, box-shadow .3s;
}
.wpcw-shortcode-courses .wpcw-course:hover { transform: translateY(-3px); box-shadow: var(--ekk-shadow-hover); }
.wpcw-shortcode-courses .wpcw-course-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 700; margin: 0; }
.wpcw-shortcode-courses .wpcw-course-title a { color: var(--ekk-navy); text-decoration: none; }
.wpcw-shortcode-courses .wpcw-course-title a:hover { color: var(--ekk-blue); }
.wpcw-shortcode-courses .wpcw-course-desc { font-size: 13.5px; line-height: 1.6; color: var(--ekk-text-2); }
.wpcw-shortcode-courses .wpcw-course-desc p { margin: 0; }
.wpcw-shortcode-courses .wpcw-course-enrollment-button { margin-top: auto; padding-top: 8px; }
.wpcw-shortcode-courses .wpcw-course-enrollment-button a {
	display: inline-block; background: #059669; color: #fff !important;
	font-weight: 700; font-size: 13px; padding: 10px 18px; border-radius: 10px;
	text-decoration: none !important; border: 0;
}
.wpcw-shortcode-courses .wpcw-course-enrollment-button a:hover { background: #047857; }
.wpcw-shortcode-courses .wpcw-course-thumbnail { display: none; }
/* unidades de curso */
.single-course_unit .entry-content h2 {
	font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 700;
	color: var(--ekk-navy); margin: 2rem 0 .75rem; border-top: 1px solid var(--ekk-border); padding-top: 1.5rem;
}
.single-course_unit .entry-content p { font-size: 16px; line-height: 1.75; color: var(--ekk-text-2); }
.single-course_unit .entry-content strong { color: var(--ekk-text); }
.single-course_unit .lesson-header { display: none; }

/* Página /cursos/ a ancho completo */
body.page-id-47553 .ast-container > *, body.page-id-38 .ast-container > * { max-width: 100%; }
body.page-id-47553 .ast-separate-container .ast-article-single,
body.page-id-47553 .entry-content,
body.page-id-38 .ast-separate-container .ast-article-single,
body.page-id-38 .entry-content { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; max-width: 100% !important; }

/* Plugin WPCW limita el grid interno — anular */
.wpcw-shortcode-courses .wpcw-courses {
	max-width: 100% !important;
	width: 100% !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
	float: none !important;
}

/* Estructura real WPCW: shortcode es contenedor, courses es el grid */
.wpcw-shortcode-courses.wpcw-shortcode { display: block !important; }
.wpcw-shortcode-courses .wpcw-courses {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: none !important;
}

/* ===== WPCW: páginas de cursos (estudiante) ===== */
/* Tabla progreso: encabezados eran blanco sobre gris claro */
.wpcw_fe_table th, .wpcw_fe_table thead th,
table.wpcw_fe_table th {
	background: var(--ekk-navy) !important;
	color: #fff !important;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
}
.wpcw_fe_table td { border-color: var(--ekk-border); }
.wpcw_fe_table tr:nth-child(even) td { background: #F8FAFC; }
/* N/A y textos apagados */
.wpcw_fe_course_progress_grade, .wpcw_fe_table .wpcw_fe_progress_no_grade { color: #64748B !important; }
/* Barras de progreso */
.wpcw_fe_progress_bar_wrapper, .wpcw_fe_summary_course_progress .wpcw_fe_progress_bar {
	background: #E2E8F0 !important; border-radius: 999px; overflow: hidden; border: 0;
}
.wpcw_fe_progress_bar_completed, .wpcw_fe_progress_bar_wrapper .completed {
	background: #059669 !important; border-radius: 999px;
}
/* Título de módulo (fila gris sobre gris) */
.wpcw_fe_module_title, tr.wpcw_fe_module > td, .wpcw_fe_course_progress_module {
	background: #F1F5F9 !important;
	color: var(--ekk-navy) !important;
	font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700;
}
/* Unidades */
.wpcw_fe_unit_pending, .wpcw_fe_unit_complete { color: var(--ekk-text-2); }
.wpcw_fe_unit a { color: var(--ekk-blue); text-decoration: none; }
.wpcw_fe_unit a:hover { color: var(--ekk-navy); text-decoration: underline; }
/* Botón Mark as Completed: verde esmeralda AA */
.fe_btn_completion, .btn_completion, .wpcw_fe_complete_btn {
	background: #059669 !important; color: #fff !important;
	border-radius: 10px !important; border: 0 !important;
	font-weight: 700; font-size: 13px; padding: 10px 18px;
}
.fe_btn_completion:hover { background: #047857 !important; }
/* Caja que lo contiene: sin tinte verde, tarjeta neutra */
.wpcw_fe_complete_box, .wpcw_fe_course_complete_box, .wpcw_fe_nav_box {
	background: #F8FAFC !important; border: 1px solid var(--ekk-border) !important;
	border-radius: 16px;
}
/* Nav siguiente unidad: navy en vez de morado */
.fe_btn_navigation, .btn_navigation, .wpcw_fe_nav a {
	background: var(--ekk-navy) !important; color: #fff !important;
	border-radius: 10px !important; font-weight: 700; font-size: 13px;
	padding: 10px 18px; text-decoration: none !important; border: 0 !important;
}
.fe_btn_navigation:hover, .wpcw_fe_nav a:hover { background: var(--ekk-blue) !important; }
/* Mensajes de estado (enrolled, etc.) */
.wpcw_fe_enrolled, .wpcw_fe_message, .wpcw_fe_progress_box {
	background: #ECFDF5 !important; border: 1px solid #A7F3D0 !important;
	color: #065F46 !important; border-radius: 12px;
}
.wpcw_fe_progress_box_error, .wpcw_fe_error {
	background: #FEF2F2 !important; border: 1px solid #FECACA !important;
	color: #991B1B !important; border-radius: 12px;
}

/* Meta del curso: subir contraste de fecha/lectura */
.ekk-single .ekk-single-meta, .ekk-single .ekk-single-date { color: #64748B !important; }
/* "Unit N" label dentro del outline */
.wpcw_fe_unit_number, .wpcw_fe_unit .wpcw_fe_unit_label { color: #94A3B8; }

/* ===== WPCW: widget de notas — de overlay full-width a pestaña compacta ===== */
.wpcw-toaster {
	left: auto !important; right: 24px !important; bottom: 0 !important; top: auto !important;
	width: 340px !important; max-width: calc(100vw - 32px) !important;
	background: #fff !important; border: 1px solid var(--ekk-border) !important;
	border-bottom: 0 !important; border-radius: 16px 16px 0 0 !important;
	box-shadow: 0 -8px 30px rgba(10,25,47,.12) !important; z-index: 999 !important;
}
.wpcw-toaster .main-note-section {
	display: none; width: 100% !important; max-height: 50vh; overflow-y: auto;
	background: #fff; padding: 14px;
}
.wpcw-toaster.ets-expand .main-note-section, .wpcw-toaster .main-note-section[style*="block"] { display: block; }
.wpcw-toaster #wpcw-beg-btn {
	display: block; width: 100%; background: var(--ekk-navy) !important; color: #fff !important;
	border: 0; border-radius: 16px 16px 0 0; padding: 10px; cursor: pointer;
}
/* En móvil: por defecto colapsado y más bajo */
@media (max-width: 600px) {
	.wpcw-toaster { right: 12px !important; }
	.wpcw-toaster .main-note-section { max-height: 45vh; }
}

/* Botón de notas: pestaña compacta con icono pequeño */
.wpcw-toaster #wpcw-beg-btn {
	position: static !important;
	width: 100% !important; height: auto !important;
	padding: 8px 14px !important;
	background: var(--ekk-navy) !important; color: #fff !important;
	font-size: 13px; font-weight: 700;
}
.wpcw-toaster #wpcw-beg-btn .beg-icon { font-size: 14px !important; }
.wpcw-toaster #wpcw-beg-btn::before { content: "Notas del estudio  "; font-family: 'Plus Jakarta Sans', sans-serif; }
/* Botón expandir colapsado por defecto: sin alto fantasma */
.wpcw-toaster.ets-collapse { min-height: 0; }
.wpcw-toaster.ets-collapse #wpcw-beg-btn { height: 34px !important; }

/* ===== Página /cursos/ según Diseño2026/Cursos ===== */
.material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; font-size: 20px; vertical-align: middle; user-select: none; }

.ekk-cur-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #00112E 0%, var(--ekk-navy) 45%, var(--ekk-navy-card) 100%); padding: 3.5rem 0 4rem; color: #fff; }
.ekk-cur-hero-glow { position: absolute; border-radius: 50%; filter: blur(110px); pointer-events: none; }
.ekk-cur-glow-blue { top: -140px; left: 50%; transform: translateX(-50%); width: 700px; height: 340px; background: rgba(49,107,243,.16); }
.ekk-cur-glow-gold { bottom: -100px; right: 40px; width: 380px; height: 380px; background: rgba(245,158,11,.09); }
.ekk-cur-hero-in { position: relative; z-index: 1; max-width: 1240px; display: flex; flex-direction: column; align-items: flex-start; }
.ekk-cur-crumb { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #b2c7f4; margin-bottom: 1.25rem; }
.ekk-cur-crumb a { color: #b2c7f4; text-decoration: none; }
.ekk-cur-crumb a:hover { color: #fff; }
.ekk-cur-crumb span { color: #7a8eb8; }
.ekk-cur-crumb em { font-style: normal; color: var(--ekk-gold); }
.ekk-cur-badge-top { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: rgba(245,158,11,.15); border: 1px solid rgba(245,158,11,.25); color: var(--ekk-gold); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.25rem; }
.ekk-cur-hero h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(30px, 4.5vw, 56px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; color: #fff; max-width: 980px; margin: 0 0 1.25rem; }
.ekk-cur-hero-sub { font-size: 18px; line-height: 1.7; color: #cbd5e1; max-width: 1020px; margin: 0 0 3rem; }
.ekk-cur-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ekk-cur-metric { background: rgba(10,25,47,.72); backdrop-filter: blur(8px); border: 1px solid rgba(71,85,105,.55); border-radius: 16px; padding: 1.25rem; display: flex; flex-direction: column; gap: .9rem; transition: border-color .3s; }
.ekk-cur-metric:hover { border-color: var(--ekk-blue); }
.ekk-cur-metric-green:hover { border-color: #059669; }
.ekk-cur-metric-gold:hover { border-color: var(--ekk-gold); }
.ekk-cur-metric-head { display: flex; align-items: center; justify-content: space-between; }
.ekk-cur-metric-head .material-symbols-outlined { font-size: 28px; color: #b4c5ff; }
.ekk-cur-metric-green .ekk-cur-metric-head .material-symbols-outlined { color: #34d399; }
.ekk-cur-metric-gold .ekk-cur-metric-head .material-symbols-outlined { color: var(--ekk-gold); }
.ekk-cur-metric-light .ekk-cur-metric-head .material-symbols-outlined { color: #93c5fd; }
.ekk-cur-metric-head small { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ekk-gold); }
.ekk-cur-metric-green .ekk-cur-metric-head small { color: #34d399; }
.ekk-cur-metric-light .ekk-cur-metric-head small { color: #93c5fd; }
.ekk-cur-metric strong { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.ekk-cur-metric > div > span { display: block; font-size: 13px; font-weight: 600; color: #dbe5f0; margin-top: 2px; }
.ekk-cur-metric p { font-size: 12px; line-height: 1.55; color: #b8c4d4; margin: 8px 0 0; }

.ekk-cur-catalog { padding: 4rem 0; }
.ekk-cur-catalog-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 2rem; }
.ekk-cur-eyebrow { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ekk-blue); }
.ekk-cur-catalog-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 700; letter-spacing: -.015em; color: var(--ekk-text); margin: 4px 0 0; }
.ekk-cur-catalog-head > p { font-size: 14px; color: var(--ekk-text-2); margin: 0; }
.ekk-cur-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.ekk-cur-card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--ekk-shadow-card); border: 1px solid var(--ekk-border); display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.ekk-cur-card:hover { transform: translateY(-3px); box-shadow: var(--ekk-shadow-hover); }
.ekk-cur-card-media { position: relative; height: 256px; overflow: hidden; background: var(--ekk-navy); }
.ekk-cur-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ekk-cur-card:hover .ekk-cur-card-media img { transform: scale(1.05); }
.ekk-cur-card-grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,25,47,.88) 0%, rgba(10,25,47,.28) 55%, transparent 100%); }
.ekk-cur-card-tags-top { position: absolute; top: 16px; left: 16px; display: flex; gap: 8px; flex-wrap: wrap; }
.ekk-cur-card-tags-bottom { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; align-items: center; justify-content: space-between; }
.ekk-cur-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .05em; }
.ekk-cur-pill-blue { background: #EFF6FF; color: var(--ekk-blue); }
.ekk-cur-pill-gold { background: var(--ekk-gold); color: var(--ekk-navy); }
.ekk-cur-pill-plain { background: #d3e4fe; color: var(--ekk-navy); }
.ekk-cur-pill-dark { background: rgba(10,25,47,.82); backdrop-filter: blur(4px); color: #fff; }
.ekk-cur-pill-green { background: rgba(5,150,105,.92); color: #fff; }
.ekk-cur-horas { display: inline-flex; align-items: center; gap: 5px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 12px; font-weight: 600; color: var(--ekk-gold); }
.ekk-cur-horas .material-symbols-outlined { font-size: 15px; }
.ekk-cur-card-body { padding: 1.4rem 1.6rem .4rem; flex: 1; }
.ekk-cur-card-fac { display: flex; align-items: center; gap: 6px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ekk-text-muted); margin-bottom: 8px; }
.ekk-cur-card-fac .material-symbols-outlined { font-size: 15px; color: var(--ekk-blue); }
.ekk-cur-card-body h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.01em; margin: 0 0 10px; }
.ekk-cur-card-body h3 a { color: var(--ekk-text); text-decoration: none; transition: color .3s; }
.ekk-cur-card-body h3 a:hover { color: var(--ekk-blue); }
.ekk-cur-card-desc { font-size: 14px; line-height: 1.65; color: var(--ekk-text-2); margin: 0 0 16px; }
.ekk-cur-card-temas { background: var(--ekk-surface); border-radius: 12px; padding: 14px 16px; }
.ekk-cur-temas-label { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ekk-text); margin-bottom: 8px; }
.ekk-cur-card-temas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.ekk-cur-card-temas li { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ekk-text-2); }
.ekk-cur-card-temas li .material-symbols-outlined { font-size: 15px; color: var(--ekk-blue); flex-shrink: 0; }
.ekk-cur-card-actions { display: flex; gap: 10px; padding: 1.25rem 1.6rem 1.6rem; margin-top: auto; }
.ekk-cur-btn-main { flex: 1; display: inline-flex; align-items: center; justify-content: center; height: 46px; border-radius: 12px; background: var(--ekk-blue); color: #fff !important; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700; text-decoration: none !important; box-shadow: 0 4px 12px -2px rgba(37,99,235,.35); transition: background .3s, box-shadow .3s; }
.ekk-cur-btn-main:hover { background: #1D4ED8; box-shadow: 0 8px 18px -4px rgba(37,99,235,.4); }
.ekk-cur-btn-sec { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 18px; border-radius: 12px; background: #e5eeff; color: var(--ekk-text-2) !important; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 600; text-decoration: none !important; transition: background .3s, color .3s; }
.ekk-cur-btn-sec:hover { background: #dce9ff; color: var(--ekk-blue) !important; }

.ekk-cur-ruta { padding: 4.5rem 0; background: var(--ekk-surface); border-top: 1px solid var(--ekk-border); border-bottom: 1px solid var(--ekk-border); }
.ekk-cur-ruta-head { text-align: center; max-width: 680px; margin: 0 auto 2.5rem; }
.ekk-cur-pill-route { background: #dbe1ff; color: #00174b; letter-spacing: .1em; text-transform: uppercase; }
.ekk-cur-ruta-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 700; letter-spacing: -.015em; color: var(--ekk-text); margin: 12px 0 8px; }
.ekk-cur-ruta-head p { font-size: 15px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; }
.ekk-cur-ruta-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ekk-cur-paso { background: #fff; border-radius: 20px; padding: 1.5rem; box-shadow: var(--ekk-shadow-card); border: 1px solid var(--ekk-border); transition: box-shadow .3s; }
.ekk-cur-paso:hover { box-shadow: var(--ekk-shadow-hover); }
.ekk-cur-paso-num { width: 40px; height: 40px; border-radius: 50%; background: var(--ekk-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; margin-bottom: 1rem; }
.ekk-cur-paso-eyebrow { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ekk-blue); margin-bottom: 5px; }
.ekk-cur-paso h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--ekk-text); margin: 0 0 8px; }
.ekk-cur-paso p { font-size: 12.5px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; }

.ekk-cur-why { padding: 4.5rem 0; }
.ekk-cur-why-head { max-width: none; margin-bottom: 2.5rem; }
.ekk-cur-why-head h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(26px, 3.2vw, 36px); font-weight: 700; letter-spacing: -.02em; color: var(--ekk-text); margin: 6px 0 10px; }
.ekk-cur-why-head p { font-size: 16px; line-height: 1.6; color: var(--ekk-text-2); margin: 0; }
.ekk-cur-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.ekk-cur-why-card { background: #fff; border: 1px solid var(--ekk-border); border-radius: 20px; padding: 2rem; box-shadow: var(--ekk-shadow-card); transition: box-shadow .3s; }
.ekk-cur-why-card:hover { box-shadow: var(--ekk-shadow-hover); }
.ekk-cur-why-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.1rem; }
.ekk-cur-why-icon .material-symbols-outlined { font-size: 28px; }
.ekk-cur-wi-blue { background: #EFF6FF; color: var(--ekk-blue); }
.ekk-cur-wi-gold { background: #FEF3C7; color: var(--ekk-gold-dark); }
.ekk-cur-wi-navy { background: #dce9ff; color: var(--ekk-navy); }
.ekk-cur-why-card h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--ekk-text); margin: 0 0 8px; }
.ekk-cur-why-card p { font-size: 13.5px; line-height: 1.65; color: var(--ekk-text-2); margin: 0; }

.ekk-cur-cta { position: relative; overflow: hidden; background: linear-gradient(90deg, #00112E, var(--ekk-navy) 50%, #0F264A); padding: 4.5rem 0; color: #fff; }
.ekk-cur-cta-glow { position: absolute; right: -80px; bottom: -80px; width: 320px; height: 320px; background: rgba(245,158,11,.12); border-radius: 50%; filter: blur(80px); pointer-events: none; }
.ekk-cur-cta-in { position: relative; z-index: 1; text-align: center; max-width: 760px; display: flex; flex-direction: column; align-items: center; gap: 1.1rem; }
.ekk-cur-cta-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: rgba(245,158,11,.18); color: var(--ekk-gold); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ekk-cur-cta-pill .material-symbols-outlined { font-size: 14px; }
.ekk-cur-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin: 0; color: #fff; }
.ekk-cur-cta-in > p { font-size: 16px; line-height: 1.65; color: #cbd5e1; max-width: 560px; margin: 0; }
.ekk-cur-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; padding-top: 6px; }
.ekk-cur-btn-gold { display: inline-flex; align-items: center; justify-content: center; padding: 13px 30px; border-radius: 12px; background: var(--ekk-gold); color: var(--ekk-navy) !important; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 800; text-decoration: none !important; box-shadow: 0 10px 24px -6px rgba(245,158,11,.4); transition: background .3s, color .3s, transform .3s; }
.ekk-cur-btn-gold:hover { background: var(--ekk-gold-dark); color: #fff !important; transform: translateY(-2px); }
.ekk-cur-btn-ghost { display: inline-flex; align-items: center; justify-content: center; padding: 13px 30px; border-radius: 12px; background: rgba(255,255,255,.08); color: #fff !important; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: background .3s; }
.ekk-cur-btn-ghost:hover { background: rgba(255,255,255,.16); }
.ekk-cur-cta-checks { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; padding-top: 4px; }
.ekk-cur-cta-checks span { display: inline-flex; align-items: center; gap: 5px; }
.ekk-cur-cta-checks .material-symbols-outlined { font-size: 15px; color: #34d399; }

@media (max-width: 1024px) {
	.ekk-cur-metrics { grid-template-columns: repeat(2, 1fr); }
	.ekk-cur-grid { grid-template-columns: 1fr; }
	.ekk-cur-ruta-grid { grid-template-columns: repeat(2, 1fr); }
	.ekk-cur-why-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ekk-cur-hero { padding: 2.5rem 0 3rem; }
	.ekk-cur-metrics { grid-template-columns: 1fr; }
	.ekk-cur-ruta-grid { grid-template-columns: 1fr; }
	.ekk-cur-card-actions { flex-direction: column; }
	.ekk-cur-catalog, .ekk-cur-ruta, .ekk-cur-why, .ekk-cur-cta { padding: 3rem 0; }
}

/* Secciones con fondo se extienden edge-to-edge dentro del contenedor al 100% */
body.page-id-47553 .entry-content .ekk-cur-hero,
body.page-id-47553 .entry-content .ekk-cur-cta,
body.page-id-38 .entry-content .ekk-sw-hero {
	margin-left: calc(50% - 50vw);
	width: 100vw;
}
body.page-id-47553 .entry-content .ekk-cur-ruta,
body.page-id-38 .entry-content .ekk-sw-featured-sec,
body.page-id-38 .entry-content .ekk-sw-grid-sec {
	margin-left: calc(50% - 50vw);
	width: 100vw;
}

/* Full-bleed: contenedor Astra sin límites en /cursos/ */
body.page-id-47553 .site-content .ast-container,
body.page-id-38 .site-content .ast-container { max-width: 100% !important; padding: 0 !important; }

/* Astra limita hijos de entry-content con --ast-content-width-size: anular en secciones full-bleed */
body.page-id-47553 .entry-content .ekk-cur-hero,
body.page-id-47553 .entry-content .ekk-cur-cta,
body.page-id-47553 .entry-content .ekk-cur-ruta,
body.page-id-38 .entry-content .ekk-sw-hero,
body.page-id-38 .entry-content .ekk-sw-featured-sec,
body.page-id-38 .entry-content .ekk-sw-grid-sec {
	max-width: none !important;
}

/* Hero pegado al header: sin margen superior de content-area en páginas con hero full-bleed */
body.page-id-47553 .site-content .content-area,
body.page-id-38 .site-content .content-area,
body.page-id-39740 .site-content .content-area { margin-top: 0 !important; padding-top: 0 !important; }

/* Home: contenedor y entry-content full-width para que .ekk-hero muera contra el header */
body.page-id-39740 .site-content .ast-container { max-width: 100% !important; padding: 0 !important; }
body.page-id-39740 .ast-container > * { max-width: 100%; }
body.page-id-39740 .entry-content { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; max-width: 100% !important; }
body.page-id-39740 .ast-separate-container .ast-article-single { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.page-id-39740 .entry-content .ekk-hero { margin-left: calc(50% - 50vw); width: 100vw; max-width: none !important; }

/* ===== Portal del estudiante /account/courses/ según Diseño2026/MisCursos ===== */
.ekk-pt-head { background: #fff; border: 1px solid var(--ekk-border); border-radius: 20px; padding: 1.5rem; box-shadow: var(--ekk-shadow-card); display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 1.75rem; }
.ekk-pt-user { display: flex; align-items: center; gap: 16px; }
.ekk-pt-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--ekk-navy-card); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; font-weight: 800; box-shadow: 0 0 0 4px #dce9ff; flex-shrink: 0; }
.ekk-pt-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(22px, 3vw, 30px); font-weight: 800; letter-spacing: -.02em; color: var(--ekk-navy); margin: 0; }
.ekk-pt-welcome { font-size: 14px; color: var(--ekk-text-2); margin: 4px 0 0; }
.ekk-pt-welcome strong { color: var(--ekk-text); }
.ekk-pt-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ekk-pt-metric { background: var(--ekk-surface); border: 1px solid var(--ekk-border); border-radius: 14px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 12px; }
.ekk-pt-metric-ic { width: 44px; height: 44px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ekk-pt-metric-ic .material-symbols-outlined { font-size: 22px; }
.ekk-pt-mi-blue { background: #EFF6FF; color: var(--ekk-blue); }
.ekk-pt-mi-gold { background: #FEF3C7; color: var(--ekk-gold-dark); }
.ekk-pt-mi-green { background: #ECFDF5; color: #059669; }
.ekk-pt-mi-navy { background: #dce9ff; color: var(--ekk-navy); }
.ekk-pt-metric small { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ekk-text-muted); }
.ekk-pt-metric strong { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; color: var(--ekk-navy); line-height: 1.15; }

/* Navegación del plugin → tabs del diseño */
.wpcw-shortcode-account .wpcw-student-account-navigation ul { display: flex; gap: 4px; overflow-x: auto; list-style: none; margin: 0 0 1.5rem; padding: 0; border: 0; }
.wpcw-shortcode-account .wpcw-student-account-navigation li { margin: 0; }
.wpcw-shortcode-account .wpcw-student-account-navigation a {
	display: inline-flex; align-items: center; padding: 10px 16px; border-radius: 10px;
	font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 600;
	color: var(--ekk-text-2) !important; text-decoration: none !important; white-space: nowrap; transition: all .25s;
}
.wpcw-shortcode-account .wpcw-student-account-navigation a:hover { color: var(--ekk-navy) !important; background: #e5eeff; }
.wpcw-shortcode-account .wpcw-student-account-navigation li.is-active a,
.wpcw-student-account .wpcw-student-account-navigation ul li.is-active a { background: var(--ekk-navy) !important; color: #fff !important; box-shadow: 0 2px 8px -2px rgba(10,25,47,.4); }
/* Título "Enrolled Courses" del plugin: oculto (ya está en el portal header) */
.wpcw-shortcode-account .wpcw-student-account-content > h2 { display: none; }

/* Tabla → card con filas tipo lista del diseño */
.wpcw-shortcode-account .wpcw_fe_table { background: #fff; border: 1px solid var(--ekk-border); border-radius: 16px; overflow: hidden; box-shadow: var(--ekk-shadow-card); border-collapse: separate; border-spacing: 0; width: 100%; }
.wpcw-shortcode-account .wpcw_fe_table thead th {
	background: var(--ekk-navy) !important; color: #fff !important;
	font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .09em; padding: 13px 18px !important; border: 0 !important;
}
.wpcw-shortcode-account .wpcw_fe_table tbody td { border-bottom: 1px solid var(--ekk-border) !important; padding: 16px 18px !important; vertical-align: middle; }
.wpcw-shortcode-account .wpcw_fe_table tbody tr:last-child td { border-bottom: 0 !important; }
.wpcw-shortcode-account .wpcw_fe_course_progress_course a { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 700; color: var(--ekk-blue) !important; text-decoration: none !important; }
.wpcw-shortcode-account .wpcw_fe_course_progress_course a:hover { text-decoration: underline !important; }
/* Barras de progreso */
.wpcw-shortcode-account .wpcw_progress_wrap { display: flex; align-items: center; gap: 10px; }
.wpcw-shortcode-account .wpcw_progress { flex: 1; background: #E2E8F0; border-radius: 999px; height: 10px; overflow: hidden; }
.wpcw-shortcode-account .wpcw_progress_bar { background: var(--ekk-blue) !important; border-radius: 999px; height: 100%; }
.wpcw-shortcode-account .wpcw_progress_percent { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 700; color: var(--ekk-navy); }
/* Certificado disponible */
.wpcw-shortcode-account .wpcw_fe_course_progress_certificate a {
	display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px; border-radius: 9px;
	background: #059669; color: #fff !important; font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px; font-weight: 700; text-decoration: none !important;
}
/* Not available → muted */
.wpcw-shortcode-account td.wpcw_fe_course_progress_certificate { color: var(--ekk-text-muted); font-size: 13px; }
/* Detalle expandible (unidades) */
.wpcw-shortcode-account .wpcw_fe_course_progress_detail { background: var(--ekk-surface); }
.wpcw-shortcode-account .wpcw_fe_course_progress_detail .wpcw_fe_table { box-shadow: none; background: transparent; }
.wpcw-shortcode-account .wpcw_fe_course_progress_detail td { border: 0 !important; }
.wpcw-shortcode-account .wpcw_fe_course_progress_detail .module-title, .wpcw-shortcode-account .wpcw_fe_course_progress_detail [class*=module] { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; color: var(--ekk-navy); }
.wpcw-shortcode-account .wpcw_fe_unit_available a { color: var(--ekk-blue) !important; font-weight: 600; text-decoration: none !important; }
.wpcw-shortcode-account .wpcw_fe_unit_available a:hover { text-decoration: underline !important; }

@media (max-width: 900px) {
	.ekk-pt-metrics { grid-template-columns: repeat(2, 1fr); }
	.ekk-pt-head { padding: 1.1rem; }
}
@media (max-width: 520px) {
	.ekk-pt-metrics { grid-template-columns: 1fr; }
	.ekk-pt-user { flex-direction: row; }
}

.ekk-pt-avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
/* Grade N/A unificado */
.wpcw-shortcode-account td.wpcw_fe_course_progress_grade { color: var(--ekk-text-muted); font-size: 13px; }
