/*!
 * EDIARA — Design System
 * Dirección visual: EDIARA Future Light
 * Versión: 0.1.0
 * No modifica ningún dato educativo — solo presentación.
 */

/* ============ TOKENS GLOBALES ============ */
:root{
  /* Superficies */
  --ediara-ink-950:#0B1220;
  --ediara-ink-900:#121B30;
  /* Identidad visual de Masterclass (revisión final: azul hielo claro y translúcido, "premium
     luminoso y moderno" — nunca oscuro/nocturno; sustituye a la dirección cinematográfica oscura
     de Misión T/T.1/T.2, que el propietario revisó visualmente y pidió cambiar). Escopados a
     Masterclass — nunca sustituyen a --ediara-ink-*/--ediara-indigo/etc. usados en el resto de la
     plataforma (Cursos con Diploma, App Shell, botones). */
  --ediara-mc-bg-top:#F2F7FE;
  --ediara-mc-bg-bottom:#E6EFFB;
  --ediara-mc-ink:#16243C;
  --ediara-mc-ink-soft:#5B6C87;
  --ediara-mc-line:rgba(28,58,94,.14);
  --ediara-mc-accent:#1C6E8C;
  --ediara-paper:#F6F8FC;
  --ediara-surface:#FFFFFF;
  --ediara-surface-2:#EEF2F9;
  --ediara-line:#E7ECF3;
  --ediara-line-strong:#D7E0F0;

  /* Texto */
  --ediara-text-900:#0E1626;
  --ediara-text-600:#4C5A70;
  --ediara-text-400:#5F6D84;
  --ediara-on-dark:#F2F5FA;
  --ediara-on-dark-soft:#AEBBD1;

  /* Identidad */
  --ediara-indigo:#2B4FE0;
  --ediara-indigo-600:#1E3EC8;
  --ediara-cyan:#14C9D9;
  --ediara-grad:linear-gradient(135deg,var(--ediara-indigo) 0%,var(--ediara-cyan) 100%);

  /* Estados semánticos */
  --ediara-success:#17A673; --ediara-success-soft:#DEF5EA; --ediara-success-ink:#0F7A54;
  --ediara-warning:#DA9A22; --ediara-warning-soft:#FBEED2;
  --ediara-error:#E15252;   --ediara-error-soft:#FBE0DF;
  --ediara-locked:#5F6D84;  --ediara-locked-soft:#EEF1F5;

  /* Radios / sombras / espaciado */
  --ediara-r-sm:8px; --ediara-r-md:16px; --ediara-r-lg:22px; --ediara-r-full:999px;
  /* Identidad visual definitiva de Edy (misión "Edy Definitivo", 2026-09-16): chasis squircle
     premium — curvatura continua, nunca un círculo perfecto — validado en 2 rondas de comparativa
     visual real (Artifact) frente a orb/cápsula/pebble. Único punto de verdad del radio: cualquier
     ajuste futuro del chasis se hace aquí, nunca repitiendo el porcentaje en cada selector. */
  --ediara-r-edy-chasis:29%;
  --ediara-sh-xs:0 1px 2px rgba(15,23,42,.05);
  --ediara-sh-soft:0 8px 24px -14px rgba(15,23,42,.16);
  --ediara-sh-lift:0 18px 38px -16px rgba(15,23,42,.22);
  --ediara-sh-glow:0 10px 26px -10px rgba(43,79,224,.35);
  --ediara-sp-1:4px; --ediara-sp-2:8px; --ediara-sp-3:12px; --ediara-sp-4:16px;
  --ediara-sp-5:24px; --ediara-sp-6:32px; --ediara-sp-7:48px; --ediara-sp-8:64px;

  /* Tipografía */
  --ediara-font-display:'Manrope', system-ui, sans-serif;
  --ediara-font-body:'Public Sans', system-ui, sans-serif;
  --ediara-font-mono:'IBM Plex Mono', 'SFMono-Regular', monospace;

  /* Sistema de composición común (2026-09-26 · comodidad visual). Una sola escala para toda la plataforma:
     lecciones, práctica, Lab y páginas de la app la usan en vez de valores sueltos. */
  --ediara-fs-kicker:11.5px;  /* etiquetas en mayúsculas (usar con moderación: una por bloque) */
  --ediara-fs-meta:13.5px;    /* metadatos, ayudas breves */
  --ediara-fs-small:14.5px;   /* texto secundario */
  --ediara-fs-body:16px;      /* lectura */
  --ediara-fs-lead:17.5px;    /* entradilla */
  --ediara-fs-h3:clamp(17px, 4.4vw, 19px);
  --ediara-fs-h2:clamp(22px, 5.8vw, 28px);
  --ediara-fs-h1:clamp(26px, 6.8vw, 36px);
  --ediara-lh-read:1.62;
  --ediara-lh-tight:1.25;
  --ediara-measure:68ch;      /* ancho máximo de línea de lectura */
  --ediara-text-read:#26344D; /* texto de lectura sobre blanco (≈ 11:1) */
  --ediara-gap-section:52px;  /* entre secciones/fases principales (móvil) */
  --ediara-gap-block:28px;    /* entre bloques de una sección */
  --ediara-gap-card:24px;     /* entre tarjetas relacionadas */
  --ediara-gap-head:14px;     /* encabezado → su contenido */
  --ediara-pad-card:20px;     /* relleno interior de tarjetas */
  --ediara-tap:44px;          /* tamaño mínimo de pulsación */
  --ediara-z-sticky:40; --ediara-z-float:60; --ediara-z-pop:80; --ediara-z-dialog:100;
  --ediara-safe-b:env(safe-area-inset-bottom, 0px);
}
@media (min-width:821px){
  :root{ --ediara-gap-section:72px; --ediara-gap-block:32px; --ediara-gap-card:28px; --ediara-pad-card:24px; --ediara-gap-head:16px; }
}

/* ============ RESET LOCAL (solo dentro de .ediara-app) ============ */
.ediara-app *{ box-sizing:border-box; }
.ediara-app{ font-family:var(--ediara-font-body); color:var(--ediara-text-900); line-height:1.55; }
.ediara-app img{ max-width:100%; display:block; }
.ediara-app a{ color:inherit; }
/* Restaura el comportamiento nativo de [hidden]: varios componentes (.ediara-card,
   .ediara-empty-state, .ediara-search-clear) fijan su propio "display" con una clase de autor,
   que en el cascade gana siempre a la regla [hidden]{display:none} de la hoja del navegador
   aunque la especificidad sea igual — por eso el buscador en vivo actualizaba el contador pero
   las tarjetas ocultadas por JS (elemento.hidden = true) seguían viéndose. Con esta regla,
   cualquier elemento dentro de .ediara-app que reciba el atributo hidden se oculta de verdad. */
.ediara-app [hidden]{ display:none !important; }
.ediara-app :focus-visible{ outline:2px solid var(--ediara-cyan); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  .ediara-app *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ============ BOTONES ============ */
.ediara-btn{ font-family:var(--ediara-font-body); font-weight:700; font-size:14px; border:1.5px solid transparent; cursor:pointer; padding:11px 22px; border-radius:var(--ediara-r-full); display:inline-flex; align-items:center; gap:7px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease; }
/* PRIMARY — vidrio azul claro premium (corrección 2026-09-17: la versión anterior, degradado sólido
   `--ediara-grad` + texto blanco + glow, se sentía oscura/pesada como acción principal en toda la
   app; se sustituye por un lenguaje translúcido — mismo tono que ya usaba `.ediara-plan-trial-badge`
   (rgba(43,79,224,.08–.18)) — con texto en `--ediara-indigo-600` para mantener alto contraste sin
   recurrir a blanco sobre color sólido. Única fuente de verdad: cambia aquí, se aplica a los ~35
   usos de `.ediara-btn-primary` en toda la plataforma (Mi Panel, Cursos, Masterclass, Mis Títulos,
   Mi Cuenta, Edy) sin tocar ningún componente PHP. */
.ediara-btn-primary{ background:rgba(43,79,224,.08); border-color:rgba(43,79,224,.18); color:var(--ediara-indigo-600); box-shadow:none; }
.ediara-btn-primary:hover{ background:rgba(43,79,224,.14); border-color:rgba(43,79,224,.30); box-shadow:var(--ediara-sh-xs); transform:translateY(-1px); }
.ediara-btn-primary:active{ background:rgba(43,79,224,.20); border-color:rgba(43,79,224,.38); transform:translateY(0); }
.ediara-btn-secondary{ background:var(--ediara-ink-950); color:var(--ediara-on-dark); }
.ediara-btn-outline{ background:#fff; border:1.5px solid var(--ediara-line-strong); color:var(--ediara-text-900); }
.ediara-btn-outline:hover{ border-color:var(--ediara-indigo); color:var(--ediara-indigo); }
.ediara-btn[disabled]{ opacity:.5; cursor:not-allowed; }

/* ============ INPUTS ============ */
.ediara-input{ width:100%; padding:12px 16px; border-radius:var(--ediara-r-full); border:1px solid var(--ediara-line); background:#fff; font-family:var(--ediara-font-body); font-size:13.5px; color:var(--ediara-text-900); }
.ediara-input::placeholder{ color:var(--ediara-text-400); }
.ediara-input:focus-visible{ outline:2px solid var(--ediara-cyan); outline-offset:1px; }

/* ============ BADGES / CHIPS ============ */
.ediara-badge{ display:inline-flex; align-items:center; font-family:var(--ediara-font-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:600; padding:4px 10px; border-radius:var(--ediara-r-full); background:rgba(255,255,255,.94); color:var(--ediara-indigo); }
.ediara-chip{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:3px 10px; border-radius:var(--ediara-r-full); }
.ediara-chip-success{ background:var(--ediara-success-soft); color:var(--ediara-success); }
.ediara-chip-warning{ background:var(--ediara-warning-soft); color:var(--ediara-warning); }
.ediara-chip-error{ background:var(--ediara-error-soft); color:var(--ediara-error); }
.ediara-chip-locked{ background:var(--ediara-locked-soft); color:var(--ediara-locked); }

/* ============ ESTADO VACÍO ============ */
.ediara-empty-state{ text-align:center; padding:var(--ediara-sp-8) var(--ediara-sp-5); color:var(--ediara-text-400); background:var(--ediara-surface); border:1px dashed var(--ediara-line-strong); border-radius:var(--ediara-r-lg); }
.ediara-empty-state p{ font-size:14px; margin:0; }

/* ============ SKELETON / LOADING ============ */
.ediara-skeleton{ background:linear-gradient(90deg, var(--ediara-surface-2) 25%, var(--ediara-line) 37%, var(--ediara-surface-2) 63%); background-size:400% 100%; animation:ediaraSkeleton 1.4s ease infinite; border-radius:var(--ediara-r-sm); }
@keyframes ediaraSkeleton{ 0%{background-position:100% 50%;} 100%{background-position:0 50%;} }
@media (prefers-reduced-motion: reduce){ .ediara-skeleton{ animation:none; background:var(--ediara-surface-2); } }

/* ============ CATÁLOGO ============ */
.ediara-catalog{ max-width:1360px; margin:0 auto; padding:var(--ediara-sp-7) var(--ediara-sp-5) var(--ediara-sp-8); background:var(--ediara-paper); }
.ediara-catalog-eyebrow{ font-family:var(--ediara-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ediara-indigo); margin:0 0 var(--ediara-sp-2); }
.ediara-catalog-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(26px,3.4vw,36px); color:var(--ediara-ink-950); margin:0 0 var(--ediara-sp-2); text-wrap:balance; }
.ediara-catalog-context{ font-size:15px; color:var(--ediara-text-600); max-width:70ch; margin:0 0 var(--ediara-sp-5); }
.ediara-catalog-search{ max-width:420px; margin:0 0 var(--ediara-sp-6); }
.ediara-search-field{ position:relative; }
.ediara-search-field .ediara-input{ padding-right:40px; }
.ediara-search-clear{ position:absolute; top:50%; right:6px; transform:translateY(-50%); width:28px; height:28px; border-radius:var(--ediara-r-full); border:none; background:var(--ediara-surface-2); color:var(--ediara-text-600); font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ediara-search-clear:hover{ background:var(--ediara-line-strong); color:var(--ediara-text-900); }
.ediara-search-status{ margin:8px 0 0; font-size:12px; color:var(--ediara-text-400); min-height:16px; }
.ediara-empty-state{ display:flex; flex-direction:column; align-items:center; gap:var(--ediara-sp-4); }
.ediara-catalog-count{ font-family:var(--ediara-font-mono); font-size:12px; color:var(--ediara-text-400); margin:0 0 var(--ediara-sp-4); }

/* ============ GRID RESPONSIVE REAL ============ */
.ediara-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(268px, 1fr)); gap:var(--ediara-sp-5); align-items:start; }
@media (max-width:560px){ .ediara-grid{ grid-template-columns:1fr; } }

/* ============ TARJETA DE CURSO — componente reutilizable ============ */
.ediara-card{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); overflow:hidden; box-shadow:var(--ediara-sh-soft); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; display:flex; flex-direction:column; }
.ediara-card:hover{ transform:translateY(-3px); box-shadow:var(--ediara-sh-lift); border-color:var(--ediara-line-strong); }
.ediara-card-media{ position:relative; display:block; aspect-ratio:16/10; background:linear-gradient(135deg,#EDF1FA,#E3E9F7); overflow:hidden; }
.ediara-card-media img{ width:100%; height:100%; object-fit:cover; }
.ediara-card-media-fallback{ width:100%; height:100%; background:linear-gradient(135deg,var(--ediara-ink-950),var(--ediara-ink-900)); }
.ediara-card-badge{ position:absolute; top:12px; left:12px; }
.ediara-card-body{ padding:var(--ediara-sp-5); display:flex; flex-direction:column; gap:var(--ediara-sp-2); flex:1; }
.ediara-card-title{ margin:0; font-family:var(--ediara-font-display); font-weight:800; font-size:16px; line-height:1.35; color:var(--ediara-text-900); overflow-wrap:break-word; }
.ediara-card-title a{ text-decoration:none; color:inherit; }
.ediara-card-title a:hover{ color:var(--ediara-indigo); }
.ediara-card-excerpt{ margin:0; font-size:13px; color:var(--ediara-text-600); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ediara-card-cta{ margin-top:auto; padding-top:var(--ediara-sp-2); display:inline-flex; align-items:center; justify-content:center; width:100%; gap:6px; font-family:var(--ediara-font-body); font-weight:700; font-size:13px; color:var(--ediara-indigo); text-decoration:none; }
.ediara-card-cta:hover{ text-decoration:underline; }

/* Progreso real — sin valores fabricados; solo se pinta cuando hay dato real */
.ediara-progress{ margin-top:var(--ediara-sp-1); }
.ediara-progress-track{ height:6px; background:var(--ediara-surface-2); border-radius:var(--ediara-r-full); overflow:hidden; }
.ediara-progress-fill{ height:100%; background:var(--ediara-grad); border-radius:var(--ediara-r-full); }
.ediara-progress-meta{ display:flex; justify-content:space-between; margin-top:6px; }
.ediara-progress-pct{ font-family:var(--ediara-font-mono); font-size:11.5px; font-weight:600; color:var(--ediara-ink-950); }
.ediara-progress-steps{ font-family:var(--ediara-font-body); font-size:11px; color:var(--ediara-text-400); }

/* Estado bloqueado (listo para cuando exista regla real de acceso) */
.ediara-card.is-locked{ filter:grayscale(.25) brightness(.98); }
.ediara-card.is-locked .ediara-card-cta{ color:var(--ediara-locked); }

/* ============================================================
   CATÁLOGO PREMIUM — categorías temáticas + tarjeta enriquecida
   (Misión S, 2026-09-16)
   ============================================================ */

/* Navegación por categoría — chips desplazables, misma fila en desktop, scroll horizontal
   con snap en móvil (sin selector nativo ni dropdown: los chips caben y se sienten más premium
   que un <select>, y el desplazamiento horizontal es un patrón ya conocido en móvil). */
.ediara-topic-nav{ margin:0 0 var(--ediara-sp-5); }
.ediara-topic-nav-track{
  display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; scrollbar-width:none;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
}
.ediara-topic-nav-track::-webkit-scrollbar{ display:none; }
.ediara-topic-chip{
  flex:none; scroll-snap-align:start; font-family:var(--ediara-font-body); font-weight:600; font-size:13px;
  color:var(--ediara-text-600); background:var(--ediara-surface); border:1.5px solid var(--ediara-line);
  padding:9px 16px; border-radius:var(--ediara-r-full); cursor:pointer; white-space:nowrap;
  transition:border-color .15s ease, color .15s ease, background-color .15s ease;
}
.ediara-topic-chip:hover{ border-color:var(--ediara-line-strong); color:var(--ediara-text-900); }
.ediara-topic-chip.is-active{ background:var(--ediara-ink-950); border-color:var(--ediara-ink-950); color:#fff; }

/* Etiqueta de categoría temática dentro de la tarjeta — eyebrow discreto, no otro badge más. */
.ediara-card-topic{
  margin:0; font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ediara-indigo);
}

/* Respaldo visual de portada cuando no hay imagen real todavía (p. ej. Cursos 49-50) — degradado
   de marca con la inicial real del título, nunca una imagen inventada. */
.ediara-card-media-fallback-mark{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--ediara-font-display); font-weight:800; font-size:40px; color:rgba(255,255,255,.32);
}

/* Progreso dentro de la tarjeta — reutiliza .ediara-progress, solo ajusta el espaciado local. */
.ediara-card-progress{ margin:2px 0 0; }

/* Estado "completado" — discreto, nunca oculta el curso (sigue con su CTA "Repasar curso"). */
.ediara-card-state{
  display:inline-flex; align-items:center; gap:6px; font-family:var(--ediara-font-mono); font-size:11.5px;
  font-weight:600; color:var(--ediara-success); background:var(--ediara-success-soft);
  padding:5px 11px; border-radius:var(--ediara-r-full); width:fit-content; margin:2px 0 0;
}
.ediara-card-state svg{ width:13px; height:13px; }

/* Resumen desplegable — mismo patrón de acordeón ya probado en .ediara-module (detalle nativo,
   accesible por teclado sin ARIA manual: <details>/<summary> comunica su propio estado), en una
   versión compacta pensada para vivir dentro de una tarjeta, no de una página de curso completa. */
.ediara-card-panel{ margin-top:2px; }
.ediara-card-panel-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:8px; list-style:none;
  cursor:pointer; padding:8px 0; font-family:var(--ediara-font-body); font-weight:700; font-size:13px;
  color:var(--ediara-indigo); -webkit-tap-highlight-color:transparent;
}
.ediara-card-panel-toggle::-webkit-details-marker{ display:none; }
.ediara-card-panel-toggle svg{ width:14px; height:14px; flex:none; transition:transform .25s ease; }
.ediara-card-panel[open] .ediara-card-panel-toggle svg{ transform:rotate(180deg); }
.ediara-card-panel-toggle:hover{ color:var(--ediara-indigo-600); }
.ediara-card-panel-body{
  padding:2px 0 14px; border-top:1px solid var(--ediara-line); margin-top:2px; padding-top:12px;
  display:flex; flex-direction:column; gap:10px;
}
.ediara-card-panel-desc{ margin:0; font-size:13px; line-height:1.55; color:var(--ediara-text-600); }
.ediara-card-panel-label{
  margin:0; font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-text-400);
}
.ediara-card-panel-outcomes{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.ediara-card-panel-outcomes li{
  font-size:13px; line-height:1.4; color:var(--ediara-text-900); padding-left:22px; position:relative;
}
.ediara-card-panel-outcomes li::before{
  content:'✓'; position:absolute; left:0; top:0; color:var(--ediara-success); font-weight:700; font-size:12px;
}
.ediara-card-panel-meta{ margin:0; font-family:var(--ediara-font-mono); font-size:11px; color:var(--ediara-text-400); }

@media (max-width:640px){
  /* Objetivo táctil cómodo (~44px de alto real) — el texto se reduce un poco, el padding vertical
     no, para que seguir tocando un chip en movil no sea impreciso. */
  .ediara-topic-chip{ font-size:12.5px; padding:12px 16px; }
  .ediara-card-panel-toggle{ padding:12px 0; }
}

/* ============================================================
   MASTERCLASS — catálogo e identidad visual propia
   (Misión T, ajustada en revisiones posteriores). Azul hielo
   claro, translúcido, premium — nunca comparte superficie con
   el catálogo de Cursos con Diploma (paleta distinta: azul hielo
   frente al blanco/paper de Diploma), pero tampoco es una zona
   oscura/nocturna — la diferencia de producto vive en el tono
   frío-vs-neutro y en la tipografía de tarjeta, no en luz/oscuridad.
   ============================================================ */

.ediara-mc-catalog{
  max-width:1360px; margin:0 auto; padding:var(--ediara-sp-7) var(--ediara-sp-5) var(--ediara-sp-8);
  background:linear-gradient(180deg, var(--ediara-mc-bg-top) 0%, var(--ediara-mc-bg-bottom) 100%);
  border-radius:var(--ediara-r-lg); color:var(--ediara-mc-ink);
}
.ediara-mc-catalog-eyebrow{ font-family:var(--ediara-font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ediara-mc-accent); margin:0 0 var(--ediara-sp-2); }
.ediara-mc-catalog-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(28px,3.8vw,40px); color:var(--ediara-mc-ink); margin:0 0 var(--ediara-sp-2); text-wrap:balance; }
.ediara-mc-catalog-context{ font-size:15px; color:var(--ediara-mc-ink-soft); max-width:70ch; margin:0 0 var(--ediara-sp-5); }
.ediara-mc-catalog-search{ max-width:420px; margin:0 0 var(--ediara-sp-6); }
.ediara-mc-catalog-search .ediara-input{ background:rgba(255,255,255,.75); border-color:var(--ediara-mc-line); color:var(--ediara-mc-ink); }
.ediara-mc-catalog-search .ediara-input::placeholder{ color:var(--ediara-mc-ink-soft); }
.ediara-mc-catalog-count{ font-family:var(--ediara-font-mono); font-size:12px; color:var(--ediara-mc-ink-soft); margin:0 0 var(--ediara-sp-4); }

/* Chips de categoría sobre fondo azul hielo — mismo componente `.ediara-topic-chip`, tema propio. */
.ediara-mc-topic-nav .ediara-topic-chip{ background:rgba(255,255,255,.55); border-color:var(--ediara-mc-line); color:var(--ediara-mc-ink-soft); }
.ediara-mc-topic-nav .ediara-topic-chip:hover{ border-color:rgba(28,110,140,.4); color:var(--ediara-mc-ink); }
.ediara-mc-topic-nav .ediara-topic-chip.is-active{ background:var(--ediara-grad); border-color:transparent; color:#fff; }

.ediara-mc-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(268px, 1fr)); gap:var(--ediara-sp-5); align-items:start; }
@media (max-width:560px){ .ediara-mc-grid{ grid-template-columns:1fr; } }

/* Tarjeta "póster" — la portada domina, el título vive sobre la imagen con degradado inferior,
   igual que una plataforma de vídeo premium — nunca el patrón "imagen arriba, texto en caja
   blanca debajo" que usan las tarjetas de Cursos con Diploma. La superficie de la tarjeta en sí
   es cristal claro (blanco/azul muy suave translúcido), destacando con sutileza sobre el fondo
   azul hielo del catálogo — nunca una tarjeta oscura sobre fondo claro. */
.ediara-mc-card{
  position:relative;
  background:linear-gradient(165deg, rgba(255,255,255,.68) 0%, rgba(219,234,251,.42) 100%);
  border:1px solid rgba(28,58,94,.10);
  border-radius:var(--ediara-r-lg); overflow:hidden; box-shadow:0 10px 26px -18px rgba(28,58,94,.28);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; display:flex; flex-direction:column;
}
.ediara-mc-card:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -22px rgba(28,58,94,.32); border-color:rgba(28,58,94,.2); }
.ediara-mc-card-media{ position:relative; display:block; aspect-ratio:16/10; overflow:hidden; text-decoration:none; }
.ediara-mc-card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.ediara-mc-card:hover .ediara-mc-card-media img{ transform:scale(1.04); }
.ediara-mc-card-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  display:inline-flex; align-items:center; font-family:var(--ediara-font-mono); font-size:10.5px;
  letter-spacing:.04em; text-transform:uppercase; font-weight:600; padding:4px 10px;
  border-radius:var(--ediara-r-full); background:rgba(18,30,50,.68); border:1px solid rgba(255,255,255,.22);
  color:#fff;
}
.ediara-mc-card-media-fallback{ position:absolute; inset:0; background:var(--ediara-grad); display:flex; align-items:center; justify-content:center; }
.ediara-mc-card-media-fallback-mark{ font-family:var(--ediara-font-display); font-weight:800; font-size:56px; color:rgba(255,255,255,.4); }
.ediara-mc-card-media-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,18,32,0) 35%, rgba(11,18,32,.92) 100%); }
.ediara-mc-card-media-text{ position:absolute; left:0; right:0; bottom:0; padding:var(--ediara-sp-4); }
.ediara-mc-card-topic{ margin:0 0 4px; font-family:var(--ediara-font-mono); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ediara-cyan); }
.ediara-mc-card-title{ margin:0; font-family:var(--ediara-font-display); font-weight:800; font-size:17px; line-height:1.3; color:#fff; text-wrap:balance; }

.ediara-mc-card-body{ padding:var(--ediara-sp-5); display:flex; flex-direction:column; gap:var(--ediara-sp-2); flex:1; }
.ediara-mc-card-excerpt{ margin:0; font-size:13px; line-height:1.5; color:var(--ediara-mc-ink-soft); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.ediara-mc-card-progress{ display:flex; align-items:center; gap:10px; margin:2px 0 0; }
.ediara-mc-card-progress .ediara-progress-track{ flex:1; background:rgba(28,58,94,.1); }
.ediara-mc-card-progress-label{ font-family:var(--ediara-font-mono); font-size:11px; color:var(--ediara-mc-ink-soft); flex:none; }
.ediara-mc-card-state{
  display:inline-flex; align-items:center; gap:6px; font-family:var(--ediara-font-mono); font-size:11.5px;
  font-weight:600; color:var(--ediara-success); background:rgba(23,166,115,.14);
  padding:5px 11px; border-radius:var(--ediara-r-full); width:fit-content; margin:2px 0 0;
}
.ediara-mc-card-state svg{ width:13px; height:13px; }

.ediara-mc-card-panel{ margin-top:2px; }
.ediara-mc-card-panel-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:8px; list-style:none;
  cursor:pointer; padding:8px 0; font-family:var(--ediara-font-body); font-weight:700; font-size:13px;
  color:var(--ediara-mc-accent); -webkit-tap-highlight-color:transparent;
}
.ediara-mc-card-panel-toggle::-webkit-details-marker{ display:none; }
.ediara-mc-card-panel-toggle svg{ width:14px; height:14px; flex:none; transition:transform .25s ease; }
.ediara-mc-card-panel[open] .ediara-mc-card-panel-toggle svg{ transform:rotate(180deg); }
.ediara-mc-card-panel-body{
  padding-top:12px; border-top:1px solid var(--ediara-mc-line); margin-top:2px;
  display:flex; flex-direction:column; gap:10px;
}
.ediara-mc-card-panel-desc{ margin:0; font-size:13px; line-height:1.55; color:var(--ediara-mc-ink-soft); }
.ediara-mc-card-panel-label{ margin:0; font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(28,58,94,.55); }
.ediara-mc-card-panel-outcomes{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.ediara-mc-card-panel-outcomes li{ font-size:13px; line-height:1.4; color:var(--ediara-mc-ink); padding-left:18px; position:relative; }
.ediara-mc-card-panel-outcomes li::before{ content:'—'; position:absolute; left:0; top:0; color:var(--ediara-mc-accent); }
.ediara-mc-card-panel-meta{ margin:0; font-family:var(--ediara-font-mono); font-size:11px; color:rgba(28,58,94,.55); }

.ediara-mc-card-cta{ margin-top:auto; justify-content:center; width:100%; }

@media (max-width:900px){ .ediara-mc-catalog{ padding:var(--ediara-sp-6) var(--ediara-sp-4) var(--ediara-sp-7); } }
@media (max-width:560px){
  .ediara-mc-catalog{ padding:var(--ediara-sp-5) var(--ediara-sp-3) var(--ediara-sp-6); }
  .ediara-mc-catalog-search{ max-width:100%; }
}

/* ---------- Página individual de Masterclass — misma identidad azul hielo continua de
   principio a fin (cabecera, tira de datos, cuerpo con las 5 clases) ---------- */

.ediara-mc-single{ background:linear-gradient(180deg, var(--ediara-mc-bg-top) 0%, var(--ediara-mc-bg-bottom) 100%); }

.ediara-mc-hero{ background:linear-gradient(135deg,var(--ediara-mc-bg-top),var(--ediara-mc-bg-bottom)); color:var(--ediara-mc-ink); padding:var(--ediara-sp-7) var(--ediara-sp-5); }
.ediara-mc-hero-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr; gap:var(--ediara-sp-7); align-items:center; }
.ediara-mc-hero-copy{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.ediara-mc-hero-kicker{ font-family:var(--ediara-font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ediara-mc-accent); margin-bottom:6px; }
.ediara-mc-hero-badge{ background:rgba(255,255,255,.7); border:1px solid var(--ediara-mc-line); color:var(--ediara-mc-accent); margin-bottom:12px; }
.ediara-mc-hero-copy h1{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(28px,3.8vw,42px); margin:6px 0 var(--ediara-sp-4); max-width:22ch; text-wrap:balance; line-height:1.15; color:var(--ediara-mc-ink); }
.ediara-mc-hero-desc{ font-size:15px; line-height:1.65; color:var(--ediara-mc-ink-soft); max-width:56ch; margin:0 0 var(--ediara-sp-5); }
.ediara-mc-hero-progress{ max-width:340px; margin-bottom:var(--ediara-sp-5); }
.ediara-mc-hero-progress .ediara-progress-track{ background:rgba(28,58,94,.1); }
.ediara-mc-hero-progress .ediara-progress-pct{ color:var(--ediara-mc-ink); }
.ediara-mc-hero-progress .ediara-progress-steps{ color:var(--ediara-mc-ink-soft); }
.ediara-mc-hero-cta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ediara-mc-hero-cta-note{ font-size:13px; color:var(--ediara-mc-ink-soft); }
.ediara-mc-hero-media{ position:relative; aspect-ratio:3/4; border-radius:var(--ediara-r-lg); overflow:hidden; border:1px solid var(--ediara-mc-line); box-shadow:0 24px 48px -26px rgba(28,58,94,.35); }
.ediara-mc-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ediara-mc-hero-media-fallback{ width:100%; height:100%; background:var(--ediara-grad); display:flex; align-items:center; justify-content:center; }
.ediara-mc-hero-media-fallback span{ font-family:var(--ediara-font-display); font-weight:800; font-size:80px; color:rgba(255,255,255,.4); }
@media (max-width:820px){ .ediara-mc-hero-grid{ grid-template-columns:1fr; } .ediara-mc-hero-media{ max-width:320px; margin:0 auto; order:-1; } }

.ediara-mc-info-strip{ background:rgba(255,255,255,.4); border-bottom:1px solid var(--ediara-mc-line); }
.ediara-mc-info-grid{ max-width:1200px; margin:0 auto; padding:var(--ediara-sp-4) var(--ediara-sp-5); display:grid; grid-template-columns:repeat(4,1fr); gap:var(--ediara-sp-4); }
.ediara-mc-info-item{ display:flex; flex-direction:column; gap:2px; }
.ediara-mc-info-item .k{ font-family:var(--ediara-font-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-mc-ink-soft); }
.ediara-mc-info-item .v{ font-family:var(--ediara-font-display); font-weight:800; font-size:17px; color:var(--ediara-mc-ink); }
@media (max-width:640px){ .ediara-mc-info-grid{ grid-template-columns:repeat(2,1fr); } }

.ediara-mc-body{ max-width:900px; margin:0 auto; padding:var(--ediara-sp-8) var(--ediara-sp-5); }
.ediara-mc-section-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:22px; color:var(--ediara-mc-ink); margin:0 0 var(--ediara-sp-5); }

/* Timeline vertical de las 5 clases reales — número/check en un riel, contenido a la derecha.
   Misma superficie de cristal claro que .ediara-mc-card: la lista de clases vive en la misma
   identidad azul hielo continua que la cabecera y el catálogo, sin costuras entre secciones. */
.ediara-mc-timeline{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.ediara-mc-timeline-item{ display:flex; gap:var(--ediara-sp-4); position:relative; padding-bottom:var(--ediara-sp-6); }
.ediara-mc-timeline-item:last-child{ padding-bottom:0; }
.ediara-mc-timeline-item:not(:last-child)::before{
  content:''; position:absolute; left:19px; top:44px; bottom:0; width:2px; background:var(--ediara-mc-line);
}
.ediara-mc-timeline-item.is-completed:not(:last-child)::before{ background:rgba(23,166,115,.5); }
.ediara-mc-timeline-marker{
  flex:none; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--ediara-font-mono); font-weight:700; font-size:14px; background:rgba(255,255,255,.6);
  color:var(--ediara-mc-ink-soft); border:2px solid var(--ediara-mc-line); z-index:1;
}
.ediara-mc-timeline-item.is-current .ediara-mc-timeline-marker{ background:var(--ediara-grad); color:#fff; border-color:transparent; box-shadow:var(--ediara-sh-glow); }
.ediara-mc-timeline-item.is-completed .ediara-mc-timeline-marker{ background:rgba(23,166,115,.16); color:var(--ediara-success); border-color:transparent; }
.ediara-mc-timeline-item.is-completed .ediara-mc-timeline-marker svg{ width:18px; height:18px; }
.ediara-mc-timeline-body{
  flex:1; min-width:0; border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5);
  background:linear-gradient(165deg, rgba(255,255,255,.62) 0%, rgba(219,234,251,.38) 100%);
  border:1px solid rgba(28,58,94,.1);
}
.ediara-mc-timeline-item.is-current .ediara-mc-timeline-body{ border-color:rgba(28,110,140,.45); box-shadow:0 0 0 1px rgba(28,110,140,.12), 0 8px 20px -16px rgba(28,58,94,.3); }
.ediara-mc-timeline-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
.ediara-mc-timeline-eyebrow{ margin:0; font-family:var(--ediara-font-mono); font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-mc-accent); }
.ediara-mc-timeline-state{ font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:600; padding:3px 10px; border-radius:var(--ediara-r-full); background:rgba(28,58,94,.06); color:var(--ediara-mc-ink-soft); }
.ediara-mc-timeline-state-current{ background:rgba(28,110,140,.12); color:var(--ediara-mc-accent); }
.ediara-mc-timeline-state-completed{ background:rgba(23,166,115,.14); color:var(--ediara-success); }
.ediara-mc-timeline-title{ margin:0 0 8px; font-family:var(--ediara-font-display); font-weight:800; font-size:17px; color:var(--ediara-mc-ink); }
.ediara-mc-timeline-desc{ margin:0 0 var(--ediara-sp-3); font-size:14px; line-height:1.6; color:var(--ediara-mc-ink-soft); }

/* Slot de vídeo — nunca un embed roto, siempre una promesa elegante y honesta de "aún no". */
.ediara-mc-video-slot{
  display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.4); border:1px dashed rgba(28,58,94,.2);
  border-radius:var(--ediara-r-md); padding:12px 16px; margin-bottom:var(--ediara-sp-3);
}
.ediara-mc-video-slot-icon{ flex:none; width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.7); border:1px solid var(--ediara-mc-line); display:flex; align-items:center; justify-content:center; color:var(--ediara-mc-ink-soft); }
.ediara-mc-video-slot-icon svg{ width:14px; height:14px; }
.ediara-mc-video-slot-label{ font-family:var(--ediara-font-mono); font-size:12px; color:var(--ediara-mc-ink-soft); }

/* Resumen desplegable por clase — mismo patrón <details>/<summary> premium ya aprobado en
   .ediara-mc-card-panel, reescalado a fila de timeline (algo más de aire, texto algo mayor: aquí
   es el contenido principal de la fila, no un extra de tarjeta de catálogo). */
.ediara-mc-timeline-panel{ margin-top:10px; }
.ediara-mc-timeline-panel-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:8px; list-style:none;
  cursor:pointer; padding:9px 0; font-family:var(--ediara-font-body); font-weight:700; font-size:13.5px;
  color:var(--ediara-mc-accent); -webkit-tap-highlight-color:transparent;
}
.ediara-mc-timeline-panel-toggle::-webkit-details-marker{ display:none; }
.ediara-mc-timeline-panel-toggle svg{ width:15px; height:15px; flex:none; transition:transform .25s ease; }
.ediara-mc-timeline-panel[open] .ediara-mc-timeline-panel-toggle svg{ transform:rotate(180deg); }
.ediara-mc-timeline-panel-toggle:hover{ color:#154F63; }
.ediara-mc-timeline-panel-body{
  padding-top:13px; border-top:1px solid var(--ediara-mc-line); margin-top:2px;
  display:flex; flex-direction:column; gap:11px;
}
.ediara-mc-timeline-panel-desc{ margin:0; font-size:13.5px; line-height:1.6; color:var(--ediara-mc-ink-soft); }
.ediara-mc-timeline-panel-label{ margin:0; font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(28,58,94,.55); }
.ediara-mc-timeline-panel-outcomes{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px; }
.ediara-mc-timeline-panel-outcomes li{ font-size:13.5px; line-height:1.45; color:var(--ediara-mc-ink); padding-left:22px; position:relative; }
.ediara-mc-timeline-panel-outcomes li::before{ content:'✓'; position:absolute; left:0; top:1px; color:var(--ediara-mc-accent); font-weight:700; font-size:12px; }
.ediara-mc-timeline-panel-connect{ margin:0; padding-top:11px; border-top:1px dashed var(--ediara-mc-line); font-size:12.5px; line-height:1.5; color:var(--ediara-mc-ink-soft); }
.ediara-mc-timeline-panel-connect strong{ color:var(--ediara-mc-accent); font-weight:600; }

.ediara-mc-completed-banner{
  display:flex; align-items:center; gap:14px; background:rgba(23,166,115,.1); border:1px solid rgba(23,166,115,.28);
  border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5); margin-top:var(--ediara-sp-6); color:var(--ediara-success);
}
.ediara-mc-completed-banner svg{ flex:none; width:28px; height:28px; }
.ediara-mc-completed-title{ margin:0; font-family:var(--ediara-font-display); font-weight:800; font-size:15px; color:var(--ediara-mc-ink); }
.ediara-mc-completed-desc{ margin:2px 0 0; font-size:13px; color:var(--ediara-mc-ink-soft); }

@media (max-width:560px){
  .ediara-mc-hero{ padding:var(--ediara-sp-6) var(--ediara-sp-4); }
  .ediara-mc-body{ padding:var(--ediara-sp-6) var(--ediara-sp-4); }
  .ediara-mc-timeline-item{ gap:var(--ediara-sp-3); }
  .ediara-mc-timeline-item:not(:last-child)::before{ left:15px; }
  .ediara-mc-timeline-marker{ width:32px; height:32px; font-size:12px; }
  .ediara-mc-timeline-body{ padding:var(--ediara-sp-4); }
}

/* ---------- Página individual de CLASE de Masterclass ----------
   Experiencia audiovisual propia, nunca una lección de Curso con Diploma: sin PDF, sin test, sin
   examen, sin diploma. Misma identidad azul hielo continua que el catálogo y la página de
   Masterclass, ancho de lectura cómodo (820px) en vez del ancho completo del shell. */
.ediara-mc-lesson{
  background:linear-gradient(180deg, var(--ediara-mc-bg-top) 0%, var(--ediara-mc-bg-bottom) 100%);
  min-height:100vh; padding:var(--ediara-sp-7) var(--ediara-sp-5) var(--ediara-sp-8); color:var(--ediara-mc-ink);
}
.ediara-mc-lesson-shell{ max-width:820px; margin:0 auto; }

.ediara-mc-lesson-crumb{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-family:var(--ediara-font-mono);
  font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ediara-mc-ink-soft);
  margin:0 0 var(--ediara-sp-4);
}
.ediara-mc-lesson-crumb a{ color:var(--ediara-mc-accent); text-decoration:none; }
.ediara-mc-lesson-crumb a:hover{ text-decoration:underline; }
.ediara-mc-lesson-crumb .sep{ opacity:.5; }

.ediara-mc-lesson-position{ font-family:var(--ediara-font-mono); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ediara-mc-accent); margin:0 0 8px; }
.ediara-mc-lesson-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(24px,3.4vw,34px); line-height:1.22; color:var(--ediara-mc-ink); margin:0 0 14px; text-wrap:balance; }
.ediara-mc-lesson-intro{ font-size:15px; line-height:1.65; color:var(--ediara-mc-ink-soft); max-width:64ch; margin:0 0 var(--ediara-sp-6); }

/* Área del vídeo — placeholder premium honesto, nunca un embed roto/pantalla negra/iframe vacío;
   ocupa exactamente el espacio real donde irá el vídeo futuro (16:9, como cualquier reproductor). */
.ediara-mc-lesson-media{
  position:relative; aspect-ratio:16/9; border-radius:var(--ediara-r-lg); overflow:hidden; margin-bottom:var(--ediara-sp-6);
  background:linear-gradient(160deg, rgba(255,255,255,.65) 0%, rgba(219,234,251,.4) 100%);
  border:1px solid rgba(28,58,94,.1);
  display:flex; align-items:center; justify-content:center;
}
.ediara-mc-lesson-media-inner{ display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; padding:var(--ediara-sp-5); }
.ediara-mc-lesson-media-icon{ width:60px; height:60px; border-radius:50%; background:rgba(255,255,255,.7); border:1px solid var(--ediara-mc-line); display:flex; align-items:center; justify-content:center; color:var(--ediara-mc-accent); }
.ediara-mc-lesson-media-icon svg{ width:24px; height:24px; }
.ediara-mc-lesson-media-label{ font-family:var(--ediara-font-mono); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-mc-ink-soft); }
.ediara-mc-lesson-media-note{ font-size:12px; color:rgba(28,58,94,.5); max-width:36ch; margin:0; }

.ediara-mc-lesson-block{ margin-bottom:var(--ediara-sp-6); }
.ediara-mc-lesson-block-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:16px; color:var(--ediara-mc-ink); margin:0 0 10px; }
.ediara-mc-lesson-desc{ font-size:14.5px; line-height:1.7; color:var(--ediara-mc-ink-soft); margin:0; max-width:68ch; }
.ediara-mc-lesson-outcomes{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.ediara-mc-lesson-outcomes li{ font-size:14px; line-height:1.5; color:var(--ediara-mc-ink); padding-left:24px; position:relative; }
.ediara-mc-lesson-outcomes li::before{ content:'✓'; position:absolute; left:0; top:1px; color:var(--ediara-mc-accent); font-weight:700; }
.ediara-mc-lesson-connect{ margin:14px 0 0; padding-top:14px; border-top:1px dashed var(--ediara-mc-line); font-size:13px; line-height:1.55; color:var(--ediara-mc-ink-soft); max-width:68ch; }
.ediara-mc-lesson-connect strong{ color:var(--ediara-mc-accent); font-weight:600; }

/* Navegación entre las 5 clases — puntos de posición + anterior/siguiente. */
.ediara-mc-lesson-dots{ display:flex; align-items:center; justify-content:center; gap:8px; margin:var(--ediara-sp-7) 0 var(--ediara-sp-5); }
.ediara-mc-lesson-dot{ width:9px; height:9px; border-radius:50%; background:rgba(28,58,94,.18); transition:all .2s ease; }
.ediara-mc-lesson-dot.is-current{ background:var(--ediara-cyan); width:22px; border-radius:5px; }
.ediara-mc-lesson-dot.is-completed{ background:var(--ediara-success); }

.ediara-mc-lesson-nav{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-top:var(--ediara-sp-5); border-top:1px solid var(--ediara-mc-line); }
.ediara-mc-lesson-nav-link{ display:flex; flex-direction:column; gap:3px; text-decoration:none; max-width:44%; min-width:0; }
.ediara-mc-lesson-nav-link .eyebrow{ font-family:var(--ediara-font-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-mc-ink-soft); }
.ediara-mc-lesson-nav-link .label{ font-size:13.5px; font-weight:700; color:var(--ediara-mc-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ediara-mc-lesson-nav-link:hover .label{ color:var(--ediara-mc-accent); }
.ediara-mc-lesson-nav-link.is-next{ text-align:right; align-items:flex-end; margin-left:auto; }
.ediara-mc-lesson-nav-back{ text-align:center; margin-top:var(--ediara-sp-4); }
.ediara-mc-lesson-nav-back a{ font-family:var(--ediara-font-mono); font-size:12px; color:var(--ediara-mc-ink-soft); text-decoration:none; }
.ediara-mc-lesson-nav-back a:hover{ color:var(--ediara-mc-accent); }

/* Estado sin acceso — CTA coherente, nunca un error genérico de WordPress/LearnDash. */
.ediara-mc-lesson-locked{
  max-width:440px; margin:var(--ediara-sp-8) auto; text-align:center; padding:var(--ediara-sp-6);
  background:linear-gradient(165deg, rgba(255,255,255,.65) 0%, rgba(219,234,251,.4) 100%);
  border:1px solid rgba(28,58,94,.1); border-radius:var(--ediara-r-lg);
}
.ediara-mc-lesson-locked p{ font-size:14px; line-height:1.6; color:var(--ediara-mc-ink-soft); margin:0 0 var(--ediara-sp-4); }

@media (max-width:640px){
  .ediara-mc-lesson{ padding:var(--ediara-sp-6) var(--ediara-sp-4) var(--ediara-sp-7); }
  .ediara-mc-lesson-nav-link .label{ max-width:120px; }
}

/* ---------- Botones premium unificados — Cursos con Diploma + Masterclass ----------
   Misión "Pulido de App" (2026-09-17), historial de 2 pasadas:
   1) El cristal translúcido azul muy claro con texto oscuro usado aquí antes
      (rgba(196,220,247,...) + #16324F) tenía contraste mediocre → se retiró el override para que
      estos CTA PRIMARY cayeran al `.ediara-btn-primary` global.
   2) Esa base global era entonces un degradado sólido (`--ediara-grad`) + texto blanco + glow, que
      tras verse en producción resultó demasiado oscuro/pesado como lenguaje de acción principal en
      toda la app. Corrección definitiva: `.ediara-btn-primary` (línea ~88) ahora usa el vidrio azul
      claro translúcido con BUEN contraste (rgba(43,79,224,.08) + texto `--ediara-indigo-600`), no
      la versión de contraste pobre del paso 1. Sigue sin existir override local aquí: una única
      fuente de verdad. Las reglas de `.ediara-btn-outline` de abajo NO se tocan (no eran el
      problema reportado: fondo casi blanco + texto oscuro ya tiene contraste correcto). */

.ediara-card-cta.ediara-btn-outline,
.ediara-course-hero-cta .ediara-btn-outline,
.ediara-course-cta.ediara-btn-outline,
.ediara-mc-hero-cta .ediara-btn-outline,
.ediara-mc-timeline-cta.ediara-btn-outline{
  background:rgba(255,255,255,.5); border:1px solid rgba(28,58,94,.18); color:#16324F;
  box-shadow:none; transition:background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.ediara-card-cta.ediara-btn-outline:hover,
.ediara-course-hero-cta .ediara-btn-outline:hover,
.ediara-course-cta.ediara-btn-outline:hover,
.ediara-mc-hero-cta .ediara-btn-outline:hover,
.ediara-mc-timeline-cta.ediara-btn-outline:hover{
  background:rgba(255,255,255,.75); border-color:rgba(28,58,94,.3); transform:translateY(-1px);
}
.ediara-mc-hero-cta .ediara-btn-outline:hover,
.ediara-mc-timeline-cta.ediara-btn-outline:hover{
  background:rgba(255,255,255,.8); border-color:rgba(28,58,94,.38); transform:translateY(-1px); color:var(--ediara-mc-ink);
}

/* ============================================================
   APP SHELL — sidebar fija + topbar + área principal
   ============================================================ */
:root{ --ediara-sidebar-w:264px; --ediara-topbar-h:66px; }

.ediara-skip-link{ position:absolute; left:-9999px; top:0; background:var(--ediara-ink-950); color:#fff; padding:10px 16px; z-index:200; border-radius:0 0 var(--ediara-r-sm) 0; }
.ediara-skip-link:focus{ left:0; }

.ediara-sidebar{
  position:fixed; top:0; left:0; width:var(--ediara-sidebar-w); height:100vh; z-index:60;
  background:var(--ediara-surface); border-right:1px solid var(--ediara-line);
  padding:22px 16px; overflow-y:auto; display:flex; flex-direction:column;
}
.ediara-logo-mark{ font-family:var(--ediara-font-display); font-weight:800; font-size:19px; color:var(--ediara-ink-950); text-decoration:none; display:block; }
.ediara-logo-mark .accent{ background:var(--ediara-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ediara-logo-tag{ font-family:var(--ediara-font-body); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ediara-text-400); margin-top:2px; display:block; }

.ediara-shell-nav{ margin-top:26px; flex:1; }
.ediara-shell-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.ediara-shell-nav > ul > li > a{
  display:flex; align-items:center; gap:10px; font-family:var(--ediara-font-body); font-weight:600; font-size:13.5px;
  color:var(--ediara-text-600); text-decoration:none; padding:9px 12px; border-radius:var(--ediara-r-sm);
}
.ediara-shell-nav svg{ width:18px; height:18px; flex:none; }
.ediara-shell-nav > ul > li > a:hover{ background:var(--ediara-surface-2); color:var(--ediara-ink-950); }
.ediara-shell-nav > ul > li.is-active > a{ background:var(--ediara-surface-2); color:var(--ediara-indigo); font-weight:700; }
.ediara-nav-logout{ margin-top:10px; padding-top:12px; border-top:1px solid var(--ediara-line); }
.ediara-nav-logout > a{ color:var(--ediara-text-400) !important; }
.ediara-nav-logout > a:hover{ color:var(--ediara-error,#E15252) !important; background:var(--ediara-error-soft,#FBE0DF) !important; }
.ediara-subnav{ list-style:none; margin:2px 0 6px; padding-left:30px; border-left:1px solid var(--ediara-line); }
.ediara-subnav a{ display:block; padding:6px 10px; font-size:12.5px; font-weight:500; color:var(--ediara-text-600); text-decoration:none; border-radius:var(--ediara-r-sm); }
.ediara-subnav a:hover{ color:var(--ediara-indigo); background:var(--ediara-surface-2); }

.ediara-assistant-card{ margin-top:auto; background:linear-gradient(160deg,#F3F6FF,#EAF0FE); border:1px solid var(--ediara-line-strong); border-radius:var(--ediara-r-md); padding:16px; }
.ediara-badge-mini{ display:inline-block; font-family:var(--ediara-font-mono); font-size:9px; font-weight:700; letter-spacing:.06em; background:var(--ediara-grad); color:#fff; padding:2px 8px; border-radius:var(--ediara-r-full); margin-bottom:8px; }
.ediara-assistant-card h4{ font-family:var(--ediara-font-display); font-weight:800; font-size:13.5px; margin:0 0 4px; color:var(--ediara-ink-950); }
.ediara-assistant-card p{ font-size:11.5px; color:var(--ediara-text-600); margin:0; line-height:1.4; }

.ediara-shell-main{ margin-left:var(--ediara-sidebar-w); min-height:100vh; background:var(--ediara-paper); }
.ediara-topbar{
  position:sticky; top:0; z-index:40; height:var(--ediara-topbar-h);
  background:rgba(246,248,252,.9); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ediara-line); display:flex; align-items:center; justify-content:flex-end;
  padding:0 28px; gap:20px;
}
.ediara-topbar-search{ position:relative; flex:1; max-width:460px; display:flex; align-items:center; }
.ediara-topbar-search svg{ position:absolute; left:14px; width:16px; height:16px; color:var(--ediara-text-400); pointer-events:none; }
.ediara-topbar-search .ediara-input{ padding-left:38px; background:var(--ediara-surface); }
.ediara-topbar-account{ display:flex; align-items:center; gap:12px; flex:none; }
.ediara-account-chip{ display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--ediara-text-900); font-size:13px; font-weight:600; }
.ediara-account-chip img{ border-radius:50%; }
.ediara-logout-link{ font-size:12.5px; color:var(--ediara-text-400); text-decoration:none; }
.ediara-logout-link:hover{ color:var(--ediara-error); }

.ediara-sidebar-toggle{ display:none; position:fixed; top:14px; left:14px; z-index:70; background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-sm); width:40px; height:40px; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--ediara-sh-soft); }
.ediara-sidebar-toggle svg{ width:20px; height:20px; }
.ediara-sidebar-scrim{ position:fixed; inset:0; background:rgba(11,18,32,.4); z-index:55; }

@media (max-width:1024px){
  .ediara-sidebar{ transform:translateX(-100%); transition:transform .25s ease; box-shadow:var(--ediara-sh-lift); }
  .ediara-sidebar.is-open{ transform:translateX(0); }
  .ediara-shell-main{ margin-left:0; }
  .ediara-sidebar-toggle{ display:flex; }
  .ediara-topbar{ padding-left:66px; }
  /* El botón hamburguesa es fixed (top:14px;left:14px;40x40 -> hasta x=54px) e independiente
     del padding del sidebar (16px), por lo que cuando el sidebar se abre ambos caen en la misma
     esquina. Se reserva el ancho real del botón (54px) + una separación deliberada (10px) menos
     el padding que el sidebar ya aporta (16px) = 48px de margen — logo y botón quedan siempre en
     la misma fila, uno junto al otro, sin solaparse nunca. */
  .ediara-logo-mark{ margin-left:48px; }
}
@media (max-width:600px){
  .ediara-topbar{ padding:0 16px 0 60px; height:60px; }
  .ediara-topbar-account span{ display:none; }
}

/* ============================================================
   CURSO INDIVIDUAL
   ============================================================ */
.ediara-course-hero{ background:linear-gradient(135deg,var(--ediara-ink-950),var(--ediara-ink-900)); color:var(--ediara-on-dark); padding:var(--ediara-sp-7) var(--ediara-sp-5); }
.ediara-course-hero-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr; gap:var(--ediara-sp-7); align-items:center; }
.ediara-course-hero h1{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(26px,3.6vw,38px); margin:10px 0 var(--ediara-sp-4); max-width:24ch; text-wrap:balance; line-height:1.15; color:var(--ediara-on-dark); }
.ediara-course-hero p,
.ediara-course-hero span,
.ediara-course-hero div{ color:inherit; }
.ediara-course-hero .ediara-badge{ background:rgba(255,255,255,.12); color:var(--ediara-on-dark-soft); }
.ediara-course-hero-desc{ font-size:15px; line-height:1.65; color:var(--ediara-on-dark-soft); max-width:56ch; margin:0 0 var(--ediara-sp-5); }
.ediara-course-hero-media{ position:relative; aspect-ratio:4/3; border-radius:var(--ediara-r-lg); overflow:hidden; border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 60px -24px rgba(0,0,0,.5); }
.ediara-course-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ediara-course-hero-media-fallback{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(43,79,224,.35),rgba(20,201,217,.28)); }
.ediara-course-hero-media-fallback svg{ width:56px; height:56px; color:rgba(255,255,255,.55); }
.ediara-course-hero-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:var(--ediara-sp-5); }
.ediara-course-hero-cta .ediara-btn{ min-width:200px; justify-content:center; }
.ediara-course-hero-cta-note{ font-size:12.5px; color:var(--ediara-on-dark-soft); }

.ediara-course-info-strip{ max-width:1200px; margin:calc(var(--ediara-sp-6) * -1) auto 0; padding:0 var(--ediara-sp-5); position:relative; z-index:2; }
.ediara-course-info-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); padding:18px 20px; box-shadow:var(--ediara-sh-soft); }
.ediara-course-info-item{ text-align:left; }
.ediara-course-info-item + .ediara-course-info-item{ border-left:1px solid var(--ediara-line); padding-left:16px; }
.ediara-course-info-item .k{ display:block; font-family:var(--ediara-font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ediara-text-400); margin-bottom:4px; }
.ediara-course-info-item .v{ display:block; font-family:var(--ediara-font-display); font-weight:800; font-size:19px; color:var(--ediara-ink-950); }
.ediara-progress-hero{ max-width:340px; margin-bottom:var(--ediara-sp-5); }
.ediara-progress-hero .ediara-progress-track{ background:rgba(255,255,255,.14); }
.ediara-progress-hero .ediara-progress-pct{ color:#fff; }
.ediara-progress-hero .ediara-progress-steps{ color:var(--ediara-on-dark-soft); }
.ediara-course-layout{ max-width:1200px; margin:0 auto; padding:var(--ediara-sp-7) var(--ediara-sp-5) var(--ediara-sp-8); display:grid; grid-template-columns:1fr 280px; gap:var(--ediara-sp-6); align-items:start; }
.ediara-course-section-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:20px; color:var(--ediara-ink-950); margin:0 0 4px; }
.ediara-course-section-meta{ font-size:13px; color:var(--ediara-text-400); margin:0 0 var(--ediara-sp-4); }
.ediara-lesson-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; counter-reset:none; }
.ediara-lesson-row a{ display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); text-decoration:none; color:var(--ediara-text-900); transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.ediara-lesson-row a:hover{ border-color:var(--ediara-indigo); background:var(--ediara-surface-2); transform:translateX(2px); }
.ediara-lesson-row-num{ font-family:var(--ediara-font-mono); font-size:10.5px; color:var(--ediara-text-400); flex:none; width:16px; }
.ediara-lesson-index{ width:26px; height:26px; border-radius:50%; background:var(--ediara-surface-2); color:var(--ediara-text-600); font-family:var(--ediara-font-mono); font-size:12px; display:flex; align-items:center; justify-content:center; flex:none; }
.ediara-lesson-row.is-complete .ediara-lesson-index{ background:var(--ediara-success-soft); color:var(--ediara-success); }
.ediara-lesson-title{ font-size:13.5px; font-weight:600; flex:1; }
.ediara-lesson-flags{ display:flex; align-items:center; gap:6px; flex:none; }
.ediara-lesson-flag{ display:flex; color:var(--ediara-text-400); }
.ediara-lesson-flag svg{ width:15px; height:15px; }
.ediara-lesson-row.is-complete .ediara-lesson-flag{ color:var(--ediara-success); }
.ediara-course-side{ position:sticky; top:calc(var(--ediara-topbar-h) + 20px); display:flex; flex-direction:column; gap:14px; }

/* ============ CUERPO DEL CURSO — "Sobre este curso" + temario, rediseño editorial premium.
   Nace visualmente del hero (mismo fondo paper, sin salto brusco) y sube el nivel muy por
   encima del listado plano anterior, sin tocar el contenido real ni la lógica de LearnDash. */
.ediara-course-body{ background:var(--ediara-paper); }

.ediara-course-about{ padding:88px var(--ediara-sp-5) 72px; border-bottom:1px solid var(--ediara-line); }
.ediara-course-about-inner{ max-width:680px; margin:0 auto; }
.ediara-course-about-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(26px,3vw,32px); color:var(--ediara-ink-950); letter-spacing:-.01em; margin:0 0 36px; text-wrap:balance; }
.ediara-course-description{ font-size:17px; line-height:1.9; color:var(--ediara-text-600); }
/* LearnDash inserta su propia barra de progreso ([ld_infobar]) y su propio listado nativo de
   lecciones ([course_content]) dentro del contenido real del curso — ambos duplican elementos
   ya propios de EDIARA (progreso del hero, temario premium de abajo). Se ocultan SOLO
   visualmente (display:none): el contenido real y ambos shortcodes reales siguen intactos y
   siguen ejecutándose exactamente igual, solo no se muestra su salida redundante. */
.ediara-course-description .ld-course-status,
.ediara-course-description .ld-item-list.ld-lesson-list,
.ediara-course-description [class*="learndash-shortcode-wrap-course_content"]{ display:none; }
.ediara-course-description p{ margin:0 0 26px; }
.ediara-course-description p:last-child{ margin-bottom:0; }
.ediara-course-description h1,
.ediara-course-description h2,
.ediara-course-description h3,
.ediara-course-description h4{ font-family:var(--ediara-font-display); font-weight:800; color:var(--ediara-ink-950); line-height:1.3; margin:44px 0 16px; letter-spacing:-.005em; }
.ediara-course-description h1:first-child,
.ediara-course-description h2:first-child,
.ediara-course-description h3:first-child{ margin-top:0; }
.ediara-course-description h1{ font-size:23px; } .ediara-course-description h2{ font-size:21px; } .ediara-course-description h3{ font-size:18px; }
.ediara-course-description ul,
.ediara-course-description ol{ margin:0 0 26px; padding-left:24px; display:flex; flex-direction:column; gap:11px; }
.ediara-course-description li{ line-height:1.75; }
.ediara-course-description strong{ color:var(--ediara-ink-950); font-weight:700; }
.ediara-course-description a{ color:var(--ediara-indigo); text-underline-offset:2px; }
.ediara-course-description hr{ border:none; border-top:1px solid var(--ediara-line); margin:40px 0; }

.ediara-syllabus-head{ margin-bottom:var(--ediara-sp-6); }
.ediara-syllabus-head .ediara-course-section-title{ font-size:24px; margin-bottom:7px; }
.ediara-course-section-meta{ font-size:13px; color:var(--ediara-text-400); margin:0; }

.ediara-syllabus{ display:flex; flex-direction:column; gap:16px; }
.ediara-module{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); overflow:hidden; transition:border-color .2s ease; }
.ediara-module[open]{ border-color:var(--ediara-line-strong); }
.ediara-module-head{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; cursor:pointer; transition:background .15s ease; -webkit-tap-highlight-color:transparent; }
.ediara-module-head::-webkit-details-marker{ display:none; }
.ediara-module-head:hover{ background:var(--ediara-surface-2); }
.ediara-module-heading{ display:flex; align-items:baseline; gap:14px; min-width:0; }
.ediara-module-eyebrow{ font-family:var(--ediara-font-mono); font-size:11px; letter-spacing:.04em; color:var(--ediara-indigo); flex:none; }
.ediara-module-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:16px; color:var(--ediara-ink-950); line-height:1.4; }
.ediara-module-meta{ display:flex; align-items:center; gap:14px; flex:none; }
.ediara-module-count{ font-family:var(--ediara-font-mono); font-size:11.5px; color:var(--ediara-text-400); }
.ediara-module-progress{ font-family:var(--ediara-font-mono); font-size:11.5px; color:var(--ediara-text-600); background:var(--ediara-surface-2); padding:3px 10px; border-radius:var(--ediara-r-full); }
.ediara-module-progress.is-complete{ background:var(--ediara-success-soft); color:var(--ediara-success); }
.ediara-module-meta svg{ width:15px; height:15px; color:var(--ediara-text-400); transition:transform .25s ease; }
.ediara-module[open] .ediara-module-meta svg{ transform:rotate(180deg); }

/* Cuerpo del módulo: listado limpio con separadores de línea, sin tarjetas anidadas dentro de
   la tarjeta del módulo — evita la sensación de "cajas dentro de cajas". */
.ediara-module-body{ padding:4px 24px 14px; border-top:1px solid var(--ediara-line); }
.ediara-module-body .ediara-lesson-list{ margin:0; gap:0; }
.ediara-module-body .ediara-lesson-row{ border-bottom:1px solid var(--ediara-line); }
.ediara-module-body .ediara-lesson-row:last-child{ border-bottom:none; }
.ediara-module-body .ediara-lesson-row a{ padding:15px 4px; border:none; background:none; border-radius:0; transform:none !important; }
.ediara-module-body .ediara-lesson-row a:hover{ background:none; }
.ediara-module-body .ediara-lesson-row a:hover .ediara-lesson-title{ color:var(--ediara-indigo); }
.ediara-module-body .ediara-lesson-index{ background:none; color:var(--ediara-text-400); border:1px solid var(--ediara-line); font-size:10.5px; }
.ediara-module-body .ediara-lesson-row.is-complete .ediara-lesson-index{ background:var(--ediara-success-soft); border-color:transparent; }
.ediara-module-body .ediara-lesson-title{ transition:color .15s ease; }

/* Módulo único real (curso sin agrupación real detectable): sin cabecera de acordeón, solo el listado. */
.ediara-module:has(> .ediara-module-body:only-child){ border:none; background:none; border-radius:0; }
.ediara-module:has(> .ediara-module-body:only-child) .ediara-module-body{ padding:0; border-top:none; }

@media (max-width:600px){
  .ediara-module-head{ padding:18px 16px; }
  .ediara-module-body{ padding:0 16px 6px; }
  .ediara-module-body .ediara-lesson-row a{ padding:16px 2px; }
  .ediara-module-heading{ flex-wrap:wrap; gap:4px 12px; }
}

@media (max-width:600px){
  .ediara-course-about{ padding:var(--ediara-sp-6) var(--ediara-sp-4) var(--ediara-sp-6); }
  .ediara-course-description{ font-size:15.5px; }
  .ediara-module-head{ padding:16px; }
  .ediara-module-body{ padding:0 16px 16px; }
}
.ediara-course-cta{ width:100%; justify-content:center; }
.ediara-side-card{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:16px; }
.ediara-side-card h4{ font-family:var(--ediara-font-display); font-size:13.5px; font-weight:800; margin:0 0 6px; color:var(--ediara-ink-950); }
.ediara-side-card p{ font-size:12.5px; color:var(--ediara-text-600); margin:0; }
@media (max-width:860px){
  .ediara-course-layout{ grid-template-columns:1fr; }
  .ediara-course-side{ position:static; }
  .ediara-course-hero-grid{ grid-template-columns:1fr; gap:var(--ediara-sp-5); }
  .ediara-course-hero-media{ order:-1; aspect-ratio:16/9; }
}
@media (max-width:600px){
  .ediara-course-hero{ padding:var(--ediara-sp-6) var(--ediara-sp-4) var(--ediara-sp-7); }
  .ediara-course-layout{ padding:var(--ediara-sp-5) var(--ediara-sp-4) var(--ediara-sp-7); }
  .ediara-course-info-strip{ padding:0 var(--ediara-sp-4); margin-top:calc(var(--ediara-sp-5) * -1); }
  .ediara-course-info-grid{ grid-template-columns:repeat(2,1fr); padding:14px 16px; }
  .ediara-course-info-item + .ediara-course-info-item:nth-child(2n+1){ border-left:none; padding-left:0; }
  .ediara-course-hero-cta .ediara-btn{ width:100%; }
}

/* ============ DASHBOARD ============ */
.ediara-dash-stats{ display:flex; flex-wrap:wrap; gap:12px; margin:var(--ediara-sp-5) 0; }
.ediara-stat-tile{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:14px 20px; min-width:140px; flex:1; }
.ediara-stat-tile .n{ display:block; font-family:var(--ediara-font-mono); font-weight:600; font-size:24px; color:var(--ediara-indigo); }
.ediara-stat-tile .l{ display:block; font-size:11.5px; color:var(--ediara-text-400); margin-top:2px; }
.ediara-quick-links{ display:flex; flex-wrap:wrap; gap:10px; }

/* ============ CUENTA / CREDENCIALES ============ */
.ediara-account-header{ display:flex; align-items:center; gap:16px; margin-bottom:var(--ediara-sp-6); }
.ediara-account-header img{ border-radius:50%; }
.ediara-account-header h1{ margin:0; font-family:var(--ediara-font-display); font-weight:800; font-size:24px; color:var(--ediara-ink-950); }
.ediara-account-header p{ margin:2px 0 0; color:var(--ediara-text-400); font-size:13px; }
.ediara-account-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:var(--ediara-sp-6); }
.ediara-account-field{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:14px 16px; }
.ediara-account-field .k{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ediara-text-400); margin-bottom:4px; }
.ediara-account-field .v{ font-size:14px; font-weight:600; color:var(--ediara-text-900); }

.ediara-credential-card{ background:linear-gradient(135deg,var(--ediara-ink-950),var(--ediara-ink-900)); color:#fff; border-radius:var(--ediara-r-lg); padding:22px; position:relative; overflow:hidden; }
.ediara-credential-card::before{ content:""; position:absolute; inset:7px; border:1px solid rgba(255,255,255,.14); border-radius:14px; pointer-events:none; }
.ediara-credential-card .k{ font-family:var(--ediara-font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#7FD8E0; }
.ediara-credential-card h4{ font-family:var(--ediara-font-display); font-weight:800; font-size:17px; margin:8px 0 16px; }
.ediara-credential-card .row{ display:flex; justify-content:space-between; align-items:flex-end; gap:10px; }
.ediara-credential-card .code{ font-family:var(--ediara-font-mono); font-size:11px; color:var(--ediara-on-dark-soft); word-break:break-all; }
.ediara-credential-card .ediara-chip{ background:rgba(255,255,255,.12); color:#fff; }
.ediara-credentials-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:var(--ediara-sp-5); }
.ediara-legacy-note{ font-size:11.5px; color:var(--ediara-text-400); margin-top:6px; }

/* ============ RESPONSIVE — tablet / móvil ============ */
@media (max-width:900px){ .ediara-catalog{ padding:var(--ediara-sp-6) var(--ediara-sp-4) var(--ediara-sp-7); } }
@media (max-width:560px){
  .ediara-catalog{ padding:var(--ediara-sp-5) var(--ediara-sp-3) var(--ediara-sp-6); }
  .ediara-catalog-search{ max-width:100%; }
}

/* ============ AUTH (login / recuperar contraseña) — diseñado mobile-first ============
   Reutiliza el formulario REAL (pmpro_login / pmpro_member_profile_edit / ld_reset_password);
   esto solo re-viste sus clases reales con CSS — cero lógica reimplementada. */
.ediara-auth-shell{
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--ediara-paper); padding:28px 16px; box-sizing:border-box;
}
.ediara-auth-brand{ display:flex; align-items:center; gap:9px; margin-bottom:28px; }
.ediara-auth-brand .mark{ width:34px; height:34px; border-radius:10px; background:var(--ediara-grad); display:flex; align-items:center; justify-content:center; flex:none; }
.ediara-auth-brand .mark span{ font-family:var(--ediara-font-display); font-weight:800; color:#fff; font-size:16px; }
.ediara-auth-brand .word{ font-family:var(--ediara-font-display); font-weight:800; font-size:19px; letter-spacing:.01em; color:var(--ediara-ink-950); }

.ediara-auth-card{
  width:100%; max-width:420px; background:var(--ediara-surface); border:1px solid var(--ediara-line);
  border-radius:var(--ediara-r-xl,24px); box-shadow:var(--ediara-sh-lift,0 24px 60px -20px rgba(15,23,42,.22));
  padding:28px 22px; box-sizing:border-box;
}
.ediara-auth-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:23px; color:var(--ediara-ink-950); margin:0 0 6px; text-wrap:balance; }
.ediara-auth-subtitle{ font-family:var(--ediara-font-body); font-size:14px; color:var(--ediara-text-400); margin:0 0 24px; line-height:1.5; }
.ediara-auth-foot{ margin-top:22px; text-align:center; font-size:12.5px; color:var(--ediara-text-400); }
.ediara-auth-foot a{ color:var(--ediara-indigo); text-decoration:none; font-weight:600; }
.ediara-auth-foot a:hover{ text-decoration:underline; }

/* Reviste el formulario real de PMPro (pmpro_login / pmpro_member_profile_edit) sin tocar su HTML/JS. */
.ediara-auth-card .pmpro_card{ background:none; border:none; box-shadow:none; padding:0; margin:0; }
.ediara-auth-card .pmpro_card_title{ display:none; } /* el título real lo aporta .ediara-auth-title */
.ediara-auth-card .pmpro_card_content{ padding:0; }
.ediara-auth-card .pmpro_card_content > p,
.ediara-auth-card .pmpro-form-field{ margin:0 0 16px; }
.ediara-auth-card label{ display:block; font-family:var(--ediara-font-body); font-weight:600; font-size:12.5px; color:var(--ediara-text-900); margin-bottom:6px; }
.ediara-auth-card input[type="text"],
.ediara-auth-card input[type="email"],
.ediara-auth-card input[type="password"],
.ediara-auth-card input[type="tel"]{
  width:100%; box-sizing:border-box; padding:13px 15px; border-radius:12px; border:1.5px solid var(--ediara-line);
  background:#fff; font-family:var(--ediara-font-body); font-size:16px; color:var(--ediara-text-900);
  -webkit-appearance:none; appearance:none; transition:border-color .15s ease, box-shadow .15s ease;
}
.ediara-auth-card input:focus-visible{ outline:none; border-color:var(--ediara-indigo); box-shadow:0 0 0 3px rgba(43,79,224,.14); }
.ediara-auth-card .login-password{ position:relative; }
.ediara-auth-card .pmpro_form_field-password-toggle{ margin-top:8px; }
.ediara-auth-card .pmpro_btn-password-toggle-1,
.ediara-auth-card .pmpro_form_field-password-toggle button{
  background:none; border:none; padding:0; font-family:var(--ediara-font-body); font-size:12.5px; font-weight:600;
  color:var(--ediara-text-400); display:inline-flex; align-items:center; gap:6px; cursor:pointer;
}
.ediara-auth-card .pmpro_form_field-password-toggle button:hover{ color:var(--ediara-indigo); }
.ediara-auth-card .pmpro_form_field-password-toggle svg{ width:16px; height:16px; }
.ediara-auth-card .login-remember{ display:flex; align-items:center; }
.ediara-auth-card .login-remember label{ display:flex; align-items:center; gap:8px; font-weight:500; font-size:13px; color:var(--ediara-text-400); margin:0; cursor:pointer; }
.ediara-auth-card .login-remember input[type="checkbox"]{ width:16px; height:16px; accent-color:var(--ediara-indigo); }
.ediara-auth-card .login-submit{ margin-top:22px !important; }
.ediara-auth-card input[type="submit"],
.ediara-auth-card .pmpro_btn-submit{
  box-sizing:border-box; width:100%; padding:14px 20px; border:1.5px solid rgba(43,79,224,.18); border-radius:var(--ediara-r-full);
  background:rgba(43,79,224,.08); color:var(--ediara-indigo-600); font-family:var(--ediara-font-body); font-weight:700; font-size:15px; cursor:pointer;
  box-shadow:none; transition:transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.ediara-auth-card input[type="submit"]:hover{ background:rgba(43,79,224,.14); border-color:rgba(43,79,224,.30); transform:translateY(-1px); }
.ediara-auth-card input[type="submit"]:active{ background:rgba(43,79,224,.20); border-color:rgba(43,79,224,.38); transform:translateY(0); }
.ediara-auth-card input[type="submit"]:focus-visible{ outline:2px solid var(--ediara-cyan); outline-offset:2px; }
.ediara-auth-card .pmpro_card_actions{ margin-top:18px; text-align:center; }
.ediara-auth-card .pmpro_actions_nav{ display:flex; justify-content:center; gap:6px; flex-wrap:wrap; font-size:13px; color:var(--ediara-text-400); }
.ediara-auth-card .pmpro_actions_nav a{ color:var(--ediara-indigo); text-decoration:none; font-weight:600; }
.ediara-auth-card .pmpro_actions_nav a:hover{ text-decoration:underline; }
/* Mensajes de error/aviso reales (WP/PMPro) — mismos elementos, presentación elegante. */
.ediara-auth-card #login_error,
.ediara-auth-card .pmpro_message,
.ediara-auth-card .pmpro_alert{
  background:var(--ediara-error-soft,#FDE8E8); color:var(--ediara-error,#C0362C); border:1px solid rgba(192,54,44,.18);
  border-radius:12px; padding:12px 14px; font-size:13px; margin:0 0 18px; line-height:1.5;
}
.ediara-auth-card .pmpro_message.pmpro_success{ background:var(--ediara-success-soft,#E3F6EA); color:var(--ediara-success,#1D8A4E); border-color:rgba(29,138,78,.18); }

@media (min-width:480px){ .ediara-auth-card{ padding:38px 34px; } .ediara-auth-title{ font-size:25px; } }

/* ============ MI PANEL — home privada premium ============ */
.ediara-panel{ max-width:1200px; margin:0 auto; padding:var(--ediara-sp-6) var(--ediara-sp-5) var(--ediara-sp-8); display:flex; flex-direction:column; gap:var(--ediara-sp-7); }

.ediara-panel-hero{
  position:relative; overflow:hidden; background:var(--ediara-surface); border:1px solid var(--ediara-line);
  border-radius:var(--ediara-r-xl,24px); padding:var(--ediara-sp-7) var(--ediara-sp-6); box-shadow:var(--ediara-sh-soft);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ediara-sp-5);
}
.ediara-panel-hero::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--ediara-grad);
}
.ediara-panel-hero-copy{ max-width:60ch; }
.ediara-panel-hero h1{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(24px,3vw,32px); color:var(--ediara-ink-950); margin:8px 0 10px; text-wrap:balance; }
.ediara-panel-hero-sub{ font-size:14.5px; color:var(--ediara-text-400); margin:0; line-height:1.6; }
.ediara-panel-hero-cta{ flex:none; }

.ediara-panel-section{ display:flex; flex-direction:column; gap:var(--ediara-sp-4); }

.ediara-quick-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.ediara-quick-card{
  position:relative; display:flex; flex-direction:column; gap:8px; background:var(--ediara-surface);
  border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); padding:20px 20px 22px; text-decoration:none;
  color:var(--ediara-text-900); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ediara-quick-card:hover{ transform:translateY(-3px); box-shadow:var(--ediara-sh-lift); border-color:var(--ediara-indigo); }
.ediara-quick-card-icon{
  width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--ediara-grad); color:#fff; margin-bottom:4px;
}
.ediara-quick-card-icon svg{ width:20px; height:20px; }
.ediara-quick-card-label{ font-family:var(--ediara-font-display); font-weight:800; font-size:15px; color:var(--ediara-ink-950); }
.ediara-quick-card-desc{ font-size:12.5px; color:var(--ediara-text-400); line-height:1.5; }
.ediara-quick-card-arrow{ position:absolute; top:20px; right:18px; width:16px; height:16px; color:var(--ediara-text-400); transition:transform .18s ease, color .18s ease; }
.ediara-quick-card-arrow svg{ width:100%; height:100%; }
.ediara-quick-card:hover .ediara-quick-card-arrow{ transform:translateX(3px); color:var(--ediara-indigo); }

@media (max-width:700px){
  .ediara-panel-hero{ flex-direction:column; align-items:flex-start; }
  .ediara-panel-hero-cta{ width:100%; text-align:center; }
}
@media (max-width:600px){ .ediara-panel{ padding:var(--ediara-sp-5) var(--ediara-sp-4) var(--ediara-sp-7); gap:var(--ediara-sp-6); } }

/* ============ PLANES / PRECIOS — diseñado mobile-first ============ */
.ediara-pricing{ max-width:1080px; margin:0 auto; padding:var(--ediara-sp-7) var(--ediara-sp-4) var(--ediara-sp-8); display:flex; flex-direction:column; gap:var(--ediara-sp-8); }

.ediara-pricing-hero{ text-align:center; max-width:640px; margin:0 auto; }
.ediara-pricing-hero h1{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(26px,4vw,36px); color:var(--ediara-ink-950); margin:8px 0 14px; text-wrap:balance; line-height:1.2; }
.ediara-pricing-hero-sub{ font-size:15px; color:var(--ediara-text-400); line-height:1.65; margin:0; }

.ediara-pricing-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
.ediara-plan-card{
  position:relative; background:var(--ediara-surface); border:1.5px solid var(--ediara-line); border-radius:var(--ediara-r-xl,24px);
  padding:28px 24px; display:flex; flex-direction:column; gap:6px; text-align:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.ediara-plan-card.is-recommended{
  border-color:var(--ediara-indigo); box-shadow:0 24px 55px -20px rgba(43,79,224,.35);
  background:linear-gradient(180deg,#FBFCFF,var(--ediara-surface) 140px);
}
.ediara-plan-ribbon{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--ediara-grad); color:#fff;
  font-family:var(--ediara-font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 14px; border-radius:var(--ediara-r-full); box-shadow:var(--ediara-sh-glow);
}
.ediara-plan-name{ font-family:var(--ediara-font-display); font-weight:800; font-size:17px; color:var(--ediara-ink-950); margin:10px 0 4px; }
.ediara-plan-trial-badge{
  display:inline-block; align-self:center; font-family:var(--ediara-font-mono); font-size:10.5px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--ediara-indigo); background:rgba(43,79,224,.08);
  border:1px solid rgba(43,79,224,.18); padding:4px 12px; border-radius:var(--ediara-r-full); margin:0 0 10px;
}
.ediara-plan-price--trial .amount{ font-size:38px; }
.ediara-plan-price--trial .period{ text-transform:lowercase; }
.ediara-plan-trial-cancel{ font-size:12.5px; font-weight:600; color:var(--ediara-text-400); margin:0 0 14px; }
.ediara-plan-after{ font-family:var(--ediara-font-body); font-size:12.5px; color:var(--ediara-text-400); margin:0 0 4px; }
.ediara-plan-card-fineprint{ font-size:11px; color:var(--ediara-text-400); opacity:.85; margin:8px 0 0; }
.ediara-plan-price{ display:flex; align-items:baseline; justify-content:center; gap:6px; margin-bottom:4px; }
.ediara-plan-price .amount{ font-family:var(--ediara-font-display); font-weight:800; font-size:34px; color:var(--ediara-ink-950); }
.ediara-plan-price .period{ font-family:var(--ediara-font-body); font-size:13px; color:var(--ediara-text-400); font-weight:600; }
.ediara-plan-equiv{ font-family:var(--ediara-font-mono); font-size:11.5px; color:var(--ediara-text-400); margin:0 0 8px; }
.ediara-plan-saving{ font-size:12px; font-weight:700; color:var(--ediara-success); background:var(--ediara-success-soft); display:inline-block; margin:0 auto 18px; padding:4px 12px; border-radius:var(--ediara-r-full); }
.ediara-plan-cta{ width:100%; justify-content:center; margin-top:auto; }

.ediara-pricing-section{ display:flex; flex-direction:column; gap:var(--ediara-sp-4); }
.ediara-pricing-includes{ display:grid; grid-template-columns:1fr; gap:12px; }
.ediara-includes-item{ display:flex; align-items:center; gap:12px; background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:14px 16px; font-size:13.5px; color:var(--ediara-text-900); font-weight:600; }
.ediara-includes-item svg{ width:20px; height:20px; flex:none; color:var(--ediara-indigo); }
.ediara-includes-item.ediara-includes-soon{ opacity:.6; }
.ediara-includes-item.ediara-includes-soon svg{ color:var(--ediara-text-400); }

.ediara-pricing-faq{ display:flex; flex-direction:column; gap:10px; }
.ediara-faq-item{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:16px 18px; }
.ediara-faq-item h4{ font-family:var(--ediara-font-display); font-weight:700; font-size:14px; color:var(--ediara-ink-950); margin:0 0 6px; }
.ediara-faq-item p{ font-size:13px; color:var(--ediara-text-400); line-height:1.6; margin:0; }

@media (min-width:640px){
  .ediara-pricing-includes{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:860px){
  .ediara-pricing-grid{ grid-template-columns:repeat(3,1fr); align-items:stretch; }
  .ediara-plan-card.is-recommended{ transform:translateY(-10px); }
  .ediara-pricing-includes{ grid-template-columns:repeat(3,1fr); }
}

/* ============ CHECKOUT — reviste el formulario REAL [pmpro_checkout] (PMPro+Stripe), sin
   tocar su HTML/JS. Bloque autocontenido (no comparte selectores con .ediara-auth-card) para
   no arriesgar ningún efecto secundario en la pantalla de login. Diseñado mobile-first. ============ */
.ediara-checkout-shell{
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center;
  background:var(--ediara-paper); padding:28px 16px 48px; box-sizing:border-box;
}
.ediara-checkout-card{
  width:100%; max-width:560px; background:var(--ediara-surface); border:1px solid var(--ediara-line);
  border-radius:var(--ediara-r-xl,24px); box-shadow:var(--ediara-sh-lift,0 24px 60px -20px rgba(15,23,42,.22));
  padding:26px 20px; box-sizing:border-box;
}
.ediara-checkout-topnote{ margin:0 0 18px; }
.ediara-checkout-change-plan{ font-family:var(--ediara-font-body); font-size:12.5px; font-weight:600; color:var(--ediara-text-400); text-decoration:none; }
.ediara-checkout-change-plan:hover{ color:var(--ediara-indigo); }
.ediara-checkout-trust{ margin:20px 0 0; text-align:center; font-size:12px; color:var(--ediara-text-400); line-height:1.6; }

/* Cada sección real de PMPro (Membership Information / Account Information / pago) como
   bloque propio, claramente separado — "agrupa los campos en bloques claros". */
.ediara-checkout-card .pmpro_card{ background:var(--ediara-surface-2,#F6F8FC); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); padding:18px 16px; margin:0 0 16px; }
.ediara-checkout-card .pmpro_card_title{ font-family:var(--ediara-font-display); font-weight:800; font-size:15px; color:var(--ediara-ink-950); margin:0 0 12px; }
.ediara-checkout-card .pmpro_level_name_text,
.ediara-checkout-card .pmpro_level_cost_text p{ font-size:13.5px; color:var(--ediara-text-600); margin:0; line-height:1.6; }
.ediara-checkout-card .pmpro_level_cost_text strong{ color:var(--ediara-indigo); }
.ediara-checkout-card fieldset{ border:none; padding:0; margin:0; }
.ediara-checkout-card legend{ width:100%; }
.ediara-checkout-card .pmpro_form_legend h2{ font-family:var(--ediara-font-display); font-weight:800; font-size:15px; color:var(--ediara-ink-950); margin:0 0 12px; }

.ediara-checkout-card label{ display:block; font-family:var(--ediara-font-body); font-weight:600; font-size:12.5px; color:var(--ediara-text-900); margin-bottom:6px; }
.ediara-checkout-card input[type="text"],
.ediara-checkout-card input[type="email"],
.ediara-checkout-card input[type="password"],
.ediara-checkout-card input[type="tel"],
.ediara-checkout-card select{
  width:100%; box-sizing:border-box; padding:12px 14px; border-radius:12px; border:1.5px solid var(--ediara-line);
  background:#fff; font-family:var(--ediara-font-body); font-size:16px; color:var(--ediara-text-900);
  -webkit-appearance:none; appearance:none; transition:border-color .15s ease, box-shadow .15s ease; margin-bottom:14px;
}
.ediara-checkout-card input:focus-visible,
.ediara-checkout-card select:focus-visible{ outline:none; border-color:var(--ediara-indigo); box-shadow:0 0 0 3px rgba(43,79,224,.14); }

.ediara-checkout-card input[type="submit"],
.ediara-checkout-card .pmpro_btn-submit-checkout{
  box-sizing:border-box; width:100%; padding:15px 20px; border:1.5px solid rgba(43,79,224,.18); border-radius:var(--ediara-r-full);
  background:rgba(43,79,224,.08); color:var(--ediara-indigo-600); font-family:var(--ediara-font-body); font-weight:700; font-size:15.5px; cursor:pointer;
  box-shadow:none; transition:transform .15s ease, background-color .15s ease, border-color .15s ease; margin-top:8px;
}
.ediara-checkout-card input[type="submit"]:hover{ background:rgba(43,79,224,.14); border-color:rgba(43,79,224,.30); transform:translateY(-1px); }
.ediara-checkout-card input[type="submit"]:active{ background:rgba(43,79,224,.20); border-color:rgba(43,79,224,.38); transform:translateY(0); }

.ediara-checkout-card .pmpro_card_actions{ margin-top:16px; text-align:center; font-size:13px; color:var(--ediara-text-400); }
.ediara-checkout-card .pmpro_card_actions a{ color:var(--ediara-indigo); text-decoration:none; font-weight:600; }
.ediara-checkout-card .pmpro_card_actions a:hover{ text-decoration:underline; }

.ediara-checkout-card #pmpro_message,
.ediara-checkout-card .pmpro_message,
.ediara-checkout-card .pmpro_alert{
  background:var(--ediara-error-soft,#FBE0DF); color:var(--ediara-error,#E15252); border:1px solid rgba(225,82,82,.2);
  border-radius:12px; padding:12px 14px; font-size:13px; margin:0 0 16px; line-height:1.5;
}
.ediara-checkout-card #pmpro_processing_message{ text-align:center; font-size:13px; color:var(--ediara-text-400); margin-top:10px; }

@media (min-width:480px){ .ediara-checkout-card{ padding:36px 32px; } }

/* ============ MI CUENTA ============ */
.ediara-account{ max-width:900px; margin:0 auto; padding:var(--ediara-sp-6) var(--ediara-sp-5) var(--ediara-sp-8); display:flex; flex-direction:column; gap:var(--ediara-sp-5); }

.ediara-account-hero{ display:flex; align-items:center; gap:20px; padding-bottom:var(--ediara-sp-2); }
.ediara-account-hero img{ border-radius:50%; box-shadow:var(--ediara-sh-soft); flex-shrink:0; }
.ediara-account-hero h1{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(22px,3vw,28px); color:var(--ediara-ink-950); margin:4px 0 8px; }
.ediara-account-hero-sub{ margin:0 0 6px; color:var(--ediara-text-600); font-size:14px; max-width:52ch; }
.ediara-account-hero-email{ margin:0; font-family:var(--ediara-font-mono); font-size:12.5px; color:var(--ediara-text-400); }

.ediara-account-card{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); box-shadow:var(--ediara-sh-soft); padding:var(--ediara-sp-5); }
.ediara-account-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:var(--ediara-sp-4); }
.ediara-account-card-head h2{ font-family:var(--ediara-font-display); font-weight:800; font-size:18px; color:var(--ediara-ink-950); margin:0 0 4px; }
.ediara-account-card-head p{ margin:0; font-size:13px; color:var(--ediara-text-400); }

.ediara-account-readonly-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:var(--ediara-sp-4); }
.ediara-account-readonly-grid > div{ display:flex; flex-direction:column; gap:4px; }
.ediara-account-readonly-grid .k{ font-family:var(--ediara-font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ediara-text-400); }
.ediara-account-readonly-grid .v{ font-size:15px; font-weight:600; color:var(--ediara-text-900); word-break:break-word; }
.ediara-account-plan-grid{ padding:var(--ediara-sp-4); background:var(--ediara-surface-2); border-radius:var(--ediara-r-md); margin-bottom:var(--ediara-sp-4); }

.ediara-account-inline-form{ margin-top:var(--ediara-sp-5); padding-top:var(--ediara-sp-5); border-top:1px dashed var(--ediara-line-strong); }
.ediara-account-note{ font-size:13px; color:var(--ediara-text-400); }

.ediara-account-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.ediara-btn-sm{ padding:8px 16px; font-size:13px; }
.ediara-btn-plain{ background:transparent; color:var(--ediara-text-600); border:1.5px solid transparent; padding:11px 8px; }
.ediara-btn-plain:hover{ color:var(--ediara-text-900); text-decoration:underline; }
.ediara-btn-danger{ background:var(--ediara-error,#E15252); box-shadow:none; }
.ediara-account-cancel-trigger{ margin-left:auto; }

.ediara-badge-success{ background:var(--ediara-success-soft); color:var(--ediara-success-ink,#0F7A54); } /* texto verde con contraste AA sobre su fondo */
.ediara-badge-warning{ background:var(--ediara-warning-soft); color:var(--ediara-warning); }

.ediara-account-notice{ padding:14px 16px; border-radius:var(--ediara-r-md); margin-bottom:var(--ediara-sp-4); font-size:13.5px; line-height:1.55; }
.ediara-account-notice p{ margin:0 0 4px; }
.ediara-account-notice p:last-child{ margin-bottom:0; }
.ediara-account-notice-warning{ background:var(--ediara-warning-soft); color:#7A4A0A; border:1px solid rgba(180,83,9,.18); }
.ediara-badge-muted{ background:var(--ediara-locked-soft); color:var(--ediara-locked); }

.ediara-table-scroll{ overflow-x:auto; }
.ediara-account-orders-table{ width:100%; border-collapse:collapse; min-width:480px; }
.ediara-account-orders-table th{ text-align:left; font-family:var(--ediara-font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ediara-text-400); padding:0 10px 10px; }
.ediara-account-orders-table td{ padding:12px 10px; border-top:1px solid var(--ediara-line); font-size:13.5px; }
.ediara-account-orders-table a{ color:var(--ediara-indigo); text-decoration:none; font-weight:600; }
.ediara-account-orders-table a:hover{ text-decoration:underline; }

.ediara-account-secondary{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:var(--ediara-sp-4) var(--ediara-sp-5); background:var(--ediara-surface-2); border-radius:var(--ediara-r-lg); }
.ediara-account-secondary-stats{ display:flex; gap:28px; }
.ediara-account-secondary-stats > div{ display:flex; flex-direction:column; gap:2px; }
.ediara-account-secondary-stats .v{ font-family:var(--ediara-font-display); font-weight:800; font-size:22px; color:var(--ediara-ink-950); }
.ediara-account-secondary-stats .k{ font-size:12px; color:var(--ediara-text-400); }

.ediara-account-footer-actions{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:var(--ediara-sp-3); }
.ediara-account-footer-actions h3{ font-family:var(--ediara-font-display); font-weight:700; font-size:14px; color:var(--ediara-text-600); margin:0; }

@media (max-width:640px){
  .ediara-account-hero{ flex-direction:column; align-items:flex-start; text-align:left; }
  .ediara-account-card-head{ flex-direction:column; }
  .ediara-account-cancel-trigger{ margin-left:0; }
  .ediara-account-secondary{ flex-direction:column; align-items:flex-start; }
  .ediara-account-orders-table thead{ display:none; }
  .ediara-account-orders-table, .ediara-account-orders-table tbody, .ediara-account-orders-table tr, .ediara-account-orders-table td{ display:block; width:100%; min-width:0; }
  .ediara-account-orders-table tr{ border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md); margin-bottom:10px; padding:6px 10px; }
  .ediara-account-orders-table td{ border-top:none; padding:6px 0; display:flex; justify-content:space-between; gap:12px; }
  .ediara-account-orders-table td::before{ content:attr(data-label); font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ediara-text-400); }
}

/* ============ MODAL (confirmación de cancelación) ============ */
.ediara-modal{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:20px; }
.ediara-modal-scrim{ position:absolute; inset:0; background:rgba(11,18,32,.55); backdrop-filter:blur(2px); }
.ediara-modal-panel{ position:relative; background:var(--ediara-surface); border-radius:var(--ediara-r-lg); box-shadow:var(--ediara-sh-lift); padding:var(--ediara-sp-6); max-width:440px; width:100%; }
.ediara-modal-panel h2{ font-family:var(--ediara-font-display); font-weight:800; font-size:20px; color:var(--ediara-ink-950); margin:0 0 12px; }
.ediara-modal-panel p{ font-size:14px; color:var(--ediara-text-600); line-height:1.6; margin:0 0 24px; }
.ediara-modal-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
@media (max-width:480px){ .ediara-modal-actions{ flex-direction:column-reverse; } .ediara-modal-actions .ediara-btn{ width:100%; justify-content:center; } }

/* ============ REESTILADO PMPro → EDIARA (formularios reales embebidos en Mi Cuenta y páginas
   nativas de PMPro que siguen siendo el destino real y necesario de esos formularios/enlaces:
   actualizar método de pago, cancelación, facturas — mismo patrón ya usado en checkout.php) ============ */
.pmpro{ font-family:var(--ediara-font-body); color:var(--ediara-text-900); }
.pmpro_section_content > .pmpro_card,
.pmpro_card{ background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); box-shadow:var(--ediara-sh-soft); padding:var(--ediara-sp-5); margin-bottom:var(--ediara-sp-4); }
.pmpro_card_title, .pmpro_section_title, .pmpro_form_heading{ font-family:var(--ediara-font-display); font-weight:800; color:var(--ediara-ink-950); margin:0 0 12px; }
.pmpro_form_label{ font-family:var(--ediara-font-body); font-weight:600; font-size:13px; color:var(--ediara-text-600); display:block; margin-bottom:6px; }
.pmpro_form_field{ margin-bottom:16px; }
.pmpro_form_input,
.pmpro_form input[type="text"], .pmpro_form input[type="email"], .pmpro_form input[type="password"],
.pmpro_form input[type="tel"], .pmpro_form select, .pmpro_form textarea{
  width:100%; padding:11px 14px; border-radius:var(--ediara-r-md); border:1.5px solid var(--ediara-line-strong);
  font-family:var(--ediara-font-body); font-size:14px; background:#fff; color:var(--ediara-text-900);
}
.pmpro_form_input:focus, .pmpro_form input:focus, .pmpro_form select:focus, .pmpro_form textarea:focus{ outline:2px solid var(--ediara-cyan); outline-offset:1px; border-color:var(--ediara-indigo); }
.pmpro_btn, .pmpro_btn-submit,
.pmpro_form input[type="submit"], .pmpro_form button[type="submit"]{
  box-sizing:border-box; font-family:var(--ediara-font-body); font-weight:700; font-size:14px; border:1.5px solid rgba(43,79,224,.18); cursor:pointer;
  padding:11px 22px; border-radius:var(--ediara-r-full); background:rgba(43,79,224,.08); color:var(--ediara-indigo-600);
  box-shadow:none; text-decoration:none; display:inline-flex; align-items:center; gap:7px; transition:background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.pmpro_btn:hover, .pmpro_btn-submit:hover,
.pmpro_form input[type="submit"]:hover, .pmpro_form button[type="submit"]:hover{
  background:rgba(43,79,224,.14); border-color:rgba(43,79,224,.30);
}
.pmpro_btn-cancel, .pmpro_btn-plain,
.pmpro_form input[type="button"]{
  background:#fff; border:1.5px solid var(--ediara-line-strong); color:var(--ediara-text-900);
  box-shadow:none; margin-left:8px; font-family:var(--ediara-font-body); font-weight:700; font-size:14px;
  padding:11px 22px; border-radius:var(--ediara-r-full); cursor:pointer;
}
.pmpro_message{ padding:12px 16px; border-radius:var(--ediara-r-md); font-size:14px; margin-bottom:16px; line-height:1.5; }
.pmpro_success{ background:var(--ediara-success-soft); color:var(--ediara-success); }
.pmpro_error, .pmpro_alert{ background:var(--ediara-error-soft); color:var(--ediara-error); }
.pmpro_table{ width:100%; border-collapse:collapse; }
.pmpro_table th, .pmpro_table td{ padding:10px 8px; border-bottom:1px solid var(--ediara-line); text-align:left; font-size:13px; }
.pmpro_asterisk{ color:var(--ediara-error); }
.pmpro_form_hint{ font-size:12px; color:var(--ediara-text-400); }
.pmpro_list-plain{ list-style:none; margin:0; padding:0; }
.pmpro_card_actions{ margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.pmpro_card_action_separator{ display:none; }
.pmpro_tag{ display:inline-flex; font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; font-weight:600; padding:3px 10px; border-radius:var(--ediara-r-full); }
.pmpro_tag-success{ background:var(--ediara-success-soft); color:var(--ediara-success); }
.pmpro_tag-alert{ background:var(--ediara-warning-soft); color:var(--ediara-warning); }
.pmpro_tag-error{ background:var(--ediara-error-soft); color:var(--ediara-error); }

/* ============ ONBOARDING (Misión Y) ============
   Premium, simple, sin gamificación — una pregunta por pantalla, opciones grandes, transición
   suave, indicador discreto de progreso. Usa los mismos tokens que el resto de la plataforma. */
.ediara-onb{
  max-width:640px; margin:0 auto; padding:var(--ediara-sp-7) var(--ediara-sp-4) var(--ediara-sp-8);
  display:flex; flex-direction:column; gap:var(--ediara-sp-5); min-height:60vh; justify-content:center;
}
.ediara-onb-progress{ text-align:center; }
.ediara-onb-progress-text{
  font-family:var(--ediara-font-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ediara-text-400);
}
.ediara-onb-step, .ediara-onb-result{ display:flex; flex-direction:column; gap:var(--ediara-sp-5); text-align:center; }
.ediara-onb-step h1, .ediara-onb-result h1{
  font-family:var(--ediara-font-display); font-size:clamp(24px, 4vw, 32px); font-weight:800;
  color:var(--ediara-text-900); margin:0; text-wrap:balance;
}
.ediara-onb-options{
  display:flex; flex-direction:column; gap:var(--ediara-sp-3); margin-top:var(--ediara-sp-2);
}
.ediara-onb-option{
  appearance:none; border:1.5px solid var(--ediara-line-strong); background:var(--ediara-surface);
  border-radius:var(--ediara-r-lg); padding:18px 24px; font-family:var(--ediara-font-body);
  font-weight:600; font-size:16px; color:var(--ediara-text-900); text-align:left; cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ediara-onb-option:hover{ border-color:var(--ediara-indigo); box-shadow:var(--ediara-sh-soft); }
.ediara-onb-option:focus-visible{ outline:3px solid var(--ediara-indigo); outline-offset:2px; }
.ediara-onb-option.is-selected{
  border-color:var(--ediara-indigo); background:linear-gradient(135deg, rgba(43,79,224,.07) 0%, rgba(20,201,217,.07) 100%);
  color:var(--ediara-indigo-600); transform:translateY(-1px); box-shadow:var(--ediara-sh-glow);
}
.ediara-onb-back{
  appearance:none; background:none; border:none; align-self:center; margin-top:var(--ediara-sp-2);
  font-family:var(--ediara-font-body); font-weight:600; font-size:13px; color:var(--ediara-text-400);
  cursor:pointer; padding:8px 12px;
}
.ediara-onb-back:hover, .ediara-onb-back:focus-visible{ color:var(--ediara-text-900); }
.ediara-onb-skip{
  appearance:none; background:none; border:none; align-self:center; margin-top:var(--ediara-sp-4);
  font-family:var(--ediara-font-body); font-weight:600; font-size:13px; color:var(--ediara-text-400);
  cursor:pointer; padding:10px 16px; text-decoration:underline; text-underline-offset:3px;
}
.ediara-onb-skip:hover, .ediara-onb-skip:focus-visible{ color:var(--ediara-text-900); }
.ediara-onb-why{
  font-family:var(--ediara-font-body); font-size:15px; line-height:1.6; color:var(--ediara-text-600);
  max-width:52ch; margin:0 auto;
}
.ediara-onb-result-course, .ediara-onb-result-mc{ margin:0 auto; width:100%; justify-content:center; }
.ediara-onb-mc-label{
  font-family:var(--ediara-font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ediara-text-400); margin:0 0 var(--ediara-sp-2);
}
.ediara-onb-goto-panel{ align-self:center; margin-top:var(--ediara-sp-2); }
.ediara-onb-invite-card{
  background:var(--ediara-surface-2); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg);
  padding:var(--ediara-sp-5); display:flex; flex-direction:column; gap:var(--ediara-sp-3); align-items:flex-start;
}
.ediara-onb-invite-card p{ margin:0; font-size:14px; color:var(--ediara-text-600); line-height:1.5; }
.ediara-onb-route.is-secondary{ opacity:.94; }

@media (max-width: 640px){
  .ediara-onb{ padding:var(--ediara-sp-6) var(--ediara-sp-3) var(--ediara-sp-7); min-height:auto; }
  .ediara-onb-option{ padding:16px 18px; font-size:15px; }
}

/* ============ RUTAS DE APRENDIZAJE (Misión Y.1) ============ */

/* La fase de resultado ya no es un solo panel estrecho — necesita más ancho para 3 rutas. */
.ediara-onb:has(.ediara-onb-result:not([hidden])),
.ediara-onb[data-already-done="1"]{ max-width:1080px; }

.ediara-onb-transition{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--ediara-sp-4);
  text-align:center; min-height:40vh; animation:ediaraOnbFadeIn .4s ease both;
}
.ediara-onb-transition-mark{
  width:44px; height:44px; border-radius:var(--ediara-r-full);
  background:var(--ediara-grad); opacity:.85;
  animation:ediaraOnbPulse 1.4s ease-in-out infinite;
}
.ediara-onb-transition h2{ font-family:var(--ediara-font-display); font-size:20px; font-weight:800; color:var(--ediara-text-900); margin:0; }
.ediara-onb-transition p{ font-family:var(--ediara-font-body); font-size:14px; color:var(--ediara-text-600); margin:0; max-width:46ch; }
@keyframes ediaraOnbPulse{ 0%,100%{ transform:scale(1); opacity:.75; } 50%{ transform:scale(1.15); opacity:1; } }
@keyframes ediaraOnbFadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

.ediara-onb-result{ text-align:center; }
.ediara-onb-result h1{ font-size:clamp(26px, 4vw, 34px); }
.ediara-onb-result-sub{ font-family:var(--ediara-font-body); font-size:15px; color:var(--ediara-text-600); max-width:52ch; margin:0 auto; }

.ediara-onb-profile-summary{
  display:flex; flex-wrap:wrap; justify-content:center; gap:var(--ediara-sp-3); margin:var(--ediara-sp-2) 0 var(--ediara-sp-4);
}
.ediara-onb-profile-chip{
  display:flex; flex-direction:column; gap:2px; align-items:center; padding:10px 18px;
  background:rgba(255,255,255,.6); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md);
  backdrop-filter:blur(6px);
}
.ediara-onb-profile-chip .k{ font-family:var(--ediara-font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--ediara-text-400); }
.ediara-onb-profile-chip .v{ font-family:var(--ediara-font-body); font-size:13px; font-weight:700; color:var(--ediara-text-900); }

.ediara-onb-paths-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:var(--ediara-sp-5);
  margin:var(--ediara-sp-5) 0; text-align:left; align-items:stretch;
}
.ediara-onb-path-card{
  background:linear-gradient(165deg, rgba(255,255,255,.72) 0%, rgba(238,242,249,.55) 100%);
  border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5);
  display:flex; flex-direction:column; gap:10px; box-shadow:var(--ediara-sh-xs);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ediara-onb-path-card:hover{ transform:translateY(-2px); box-shadow:var(--ediara-sh-soft); border-color:var(--ediara-line-strong); }
.ediara-onb-path-card.is-recommended{ border-color:var(--ediara-indigo); box-shadow:var(--ediara-sh-glow); }
.ediara-onb-path-card.is-selected{ border-color:var(--ediara-success); }
.ediara-onb-path-badge{
  align-self:flex-start; font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em;
  font-weight:700; color:#fff; background:var(--ediara-grad); padding:4px 12px; border-radius:var(--ediara-r-full);
}
.ediara-onb-path-role{
  align-self:flex-start; font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em;
  font-weight:600; color:var(--ediara-text-400);
}
.ediara-onb-path-card h3{ font-family:var(--ediara-font-display); font-size:19px; font-weight:800; color:var(--ediara-text-900); margin:0; }
.ediara-onb-path-promise{ font-family:var(--ediara-font-body); font-size:13.5px; color:var(--ediara-text-600); line-height:1.5; margin:0; flex:1; }
.ediara-onb-path-meta{ display:flex; gap:8px; flex-wrap:wrap; }
.ediara-onb-path-meta span{
  font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ediara-mc-accent, var(--ediara-indigo)); background:var(--ediara-surface-2); padding:3px 10px; border-radius:var(--ediara-r-full);
}
.ediara-onb-path-counts{ font-family:var(--ediara-font-body); font-size:12.5px; color:var(--ediara-text-400); margin:0; }
.ediara-onb-path-current-tag{ font-family:var(--ediara-font-body); font-size:12px; font-weight:700; color:var(--ediara-success); margin:0; }
.ediara-onb-path-card .ediara-onb-explore{ width:100%; justify-content:center; margin-top:auto; }

.ediara-onb-path-detail{ text-align:left; margin:var(--ediara-sp-5) 0; }
.ediara-onb-path-detail-inner{
  background:rgba(255,255,255,.6); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg);
  padding:var(--ediara-sp-6); backdrop-filter:blur(6px);
}
.ediara-onb-path-detail-inner h2{ font-family:var(--ediara-font-display); font-size:22px; font-weight:800; color:var(--ediara-text-900); margin:6px 0 var(--ediara-sp-5); text-wrap:balance; }
.ediara-onb-detail-back{ margin:0 0 var(--ediara-sp-3); align-self:flex-start; padding:0; }

.ediara-onb-roadmap{ display:flex; flex-direction:column; margin-bottom:var(--ediara-sp-5); }
.ediara-onb-roadmap-step{ position:relative; display:flex; gap:var(--ediara-sp-4); padding-bottom:var(--ediara-sp-5); }
.ediara-onb-roadmap-num{
  flex:0 0 auto; width:34px; height:34px; border-radius:var(--ediara-r-full); background:var(--ediara-surface);
  border:1.5px solid var(--ediara-line-strong); display:flex; align-items:center; justify-content:center;
  font-family:var(--ediara-font-mono); font-weight:700; font-size:13px; color:var(--ediara-indigo-600); z-index:1;
}
.ediara-onb-roadmap-connector{
  position:absolute; left:16px; top:34px; bottom:0; width:1.5px; background:var(--ediara-line-strong);
}
.ediara-onb-roadmap-body h4{ font-family:var(--ediara-font-body); font-size:15px; font-weight:700; margin:2px 0 4px; }
.ediara-onb-roadmap-body h4 a{ color:var(--ediara-text-900); text-decoration:none; }
.ediara-onb-roadmap-body h4 a:hover{ color:var(--ediara-indigo); }
.ediara-onb-roadmap-body p{ font-family:var(--ediara-font-body); font-size:13px; color:var(--ediara-text-600); margin:0; line-height:1.5; }

.ediara-onb-roadmap-mc{ background:var(--ediara-surface-2); border-radius:var(--ediara-r-md); padding:var(--ediara-sp-4); margin-bottom:var(--ediara-sp-5); }
.ediara-onb-mc-item{ margin-bottom:8px; }
.ediara-onb-mc-item:last-child{ margin-bottom:0; }
.ediara-onb-mc-item a{ font-family:var(--ediara-font-body); font-weight:700; font-size:13.5px; color:var(--ediara-text-900); text-decoration:none; }
.ediara-onb-mc-item a:hover{ color:var(--ediara-indigo); }
.ediara-onb-mc-item p{ font-family:var(--ediara-font-body); font-size:12.5px; color:var(--ediara-text-400); margin:2px 0 0; }

.ediara-onb-roadmap-outcomes{ margin-bottom:var(--ediara-sp-5); }
.ediara-onb-roadmap-outcomes h4{ font-family:var(--ediara-font-display); font-size:15px; font-weight:800; color:var(--ediara-text-900); margin:0 0 10px; }
.ediara-onb-roadmap-outcomes ul{ margin:0; padding-left:20px; }
.ediara-onb-roadmap-outcomes li{ font-family:var(--ediara-font-body); font-size:13.5px; color:var(--ediara-text-600); line-height:1.6; margin-bottom:6px; }

.ediara-onb-choose{ width:100%; justify-content:center; }

/* Mi ruta — panel principal */
.ediara-onb-myroute-card{
  background:linear-gradient(165deg, rgba(255,255,255,.75) 0%, rgba(238,242,249,.55) 100%);
  border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5);
}
.ediara-onb-myroute-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ediara-onb-myroute-head h3{ font-family:var(--ediara-font-display); font-size:20px; font-weight:800; color:var(--ediara-text-900); margin:0; }
.ediara-onb-myroute-step-count{ font-family:var(--ediara-font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ediara-text-400); }
.ediara-onb-myroute-bar{ height:6px; border-radius:var(--ediara-r-full); background:var(--ediara-surface-2); margin:var(--ediara-sp-3) 0; overflow:hidden; }
.ediara-onb-myroute-bar span{ display:block; height:100%; background:var(--ediara-grad); border-radius:var(--ediara-r-full); transition:width .3s ease; }
.ediara-onb-myroute-note{ font-family:var(--ediara-font-body); font-size:13px; color:var(--ediara-success); background:var(--ediara-success-soft); padding:8px 12px; border-radius:var(--ediara-r-sm); margin:0 0 var(--ediara-sp-3); }
.ediara-onb-myroute-now-label{ font-family:var(--ediara-font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ediara-text-400); margin:0; }
.ediara-onb-myroute-now-title{ font-family:var(--ediara-font-display); font-size:17px; font-weight:700; color:var(--ediara-text-900); margin:2px 0 var(--ediara-sp-3); }
.ediara-onb-myroute-next{ font-family:var(--ediara-font-body); font-size:12.5px; color:var(--ediara-text-400); margin:var(--ediara-sp-3) 0 0; }
.ediara-onb-myroute-mc{ font-family:var(--ediara-font-body); font-size:12.5px; color:var(--ediara-text-400); margin:var(--ediara-sp-3) 0 0; padding-top:var(--ediara-sp-3); border-top:1px solid var(--ediara-line); }
.ediara-onb-myroute-mc a{ color:var(--ediara-mc-accent, var(--ediara-indigo)); font-weight:700; text-decoration:none; }

@media (max-width: 640px){
  .ediara-onb-paths-grid{ grid-template-columns:1fr; }
  .ediara-onb-path-detail-inner{ padding:var(--ediara-sp-4); }
  .ediara-onb-profile-summary{ gap:8px; }
}

/* ============ EDY — presencia flotante (corrección UX) ============
   Icono propio abajo-derecha, nunca en mitad de pantalla. Panel compacto flotante (desktop) o
   bottom-sheet (mobile) — el contenido del curso sigue visible y usable detrás. Pantalla completa
   SOLO si el alumno pulsa "ampliar", nunca automático. */

/* Chasis real (corrección de presencia móvil): objeto premium gris perla/cristal esmerilado —
   antes era un círculo azul-cian saturado que se leía como "botón de chatbot". El azul de EDIARA
   queda como ACENTO real (aro/resplandor solo en estados activos), nunca como relleno protagonista. */
/* BUG REAL corregido (probado en iPhone real, no se recogía): `.ediara-edy-trigger` tenía a la vez
   la animación de respiración (`transform`) Y el `transform` de dock (`[data-presence="docked"]`)
   en el MISMO elemento y la MISMA propiedad. En CSS, el valor "animado" de una propiedad siempre
   gana sobre el valor calculado por cualquier otra regla de esa misma propiedad en ese elemento —
   así que `ediaraEdyBreathe`, al seguir corriendo en bucle infinito, pisaba `translateX(58%)` en
   CADA fotograma de la animación. El atributo `data-presence="docked"` SÍ se aplicaba de verdad en
   el DOM (confirmable con devtools) — el problema nunca fue el JS, fue este conflicto de CSS.
   Corregido separando las dos responsabilidades en dos elementos reales distintos, tal como pedía
   la corrección: `.ediara-edy-trigger` (el botón fijo) controla AHORA en exclusiva el `transform`
   de presencia (dock/hidden/active) — la respiración vive en `.ediara-edy-mark` (el SVG interior),
   que nunca compite por esa propiedad con el botón que lo contiene. */
/* ---- 3 capas reales, 3 responsabilidades, nunca el mismo `transform` compartido (Edy Premium) ----
   1. `.ediara-edy-trigger` (HITBOX): botón real, SIEMPRE 48-52px táctiles — nunca se encoge, ni
      siquiera en modo compacto (§A15/§A16, corrige el hallazgo real de la corrección anterior:
      `scale(.8)` en el propio botón reducía también su área táctil real por debajo de 44px). Solo
      controla posición (`right`/`left`/`bottom`, dock/drag) y opacidad — nunca su tamaño visual.
   2. `.ediara-edy-chasis` (MATERIAL): la pieza visible real (squircle, identidad definitiva) —
      fondo/sombra/profundidad, y quien
      de verdad se encoge en modo compacto. Centrado dentro del botón por flex, así que encogerse
      dentro de una hitbox fija deja el margen invisible extra que pide §A16, sin más código.
   3. `.ediara-edy-mark` (CARA): respiración/parpadeo/expresión, sin tocar aquí. */
.ediara-edy-trigger{
  position:fixed; z-index:65;
  right:max(18px, env(safe-area-inset-right, 0px));
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  width:50px; height:50px;
  background:none; border:none; cursor:pointer; padding:0;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .28s ease, right .3s cubic-bezier(.4,0,.2,1), left .3s cubic-bezier(.4,0,.2,1);
}
.ediara-edy-trigger:focus-visible{ outline:2px solid var(--ediara-indigo); outline-offset:3px; }
.ediara-edy-trigger[hidden]{ display:none; }
.ediara-edy-trigger[data-presence="hidden"]{ opacity:0; pointer-events:none; }
/* Corrección visual real (ya probada): "docked" nunca esconde ni recorta — solo acerca la hitbox
   real al borde; es `.ediara-edy-chasis` quien se ve más pequeño, la hitbox sigue siendo 50px. */
.ediara-edy-trigger[data-presence="docked"]{ right:4px; opacity:.86; }
/* Deliberadamente SIN regla `:hover`/`:focus-visible` que deshaga el dock — en iPhone real no hay
   hover, y confiar en eso ya causó un bug real. Salir del dock es SIEMPRE una orden explícita de
   `EdyPresence` (toque real, Edy Moment real, cambio de sección real) — nunca un pseudo-estado CSS. */

.ediara-edy-chasis{
  width:50px; height:50px; border-radius:var(--ediara-r-edy-chasis);
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 46%),
    linear-gradient(155deg, #F3F6FB 0%, #DCE3EE 48%, #B9C3D6 100%);
  border:1px solid rgba(255,255,255,.7);
  display:flex; align-items:center; justify-content:center;
  /* Profundidad real por capas (§A4/§A14): rim translúcido + sombra interna + highlight superior —
     nunca un halo grande, solo materia (cristal esmerilado/cerámica digital) — "menos, mejor". */
  box-shadow:0 10px 24px -12px rgba(30,40,64,.32), inset 0 -3px 7px rgba(90,102,128,.28), inset 0 2px 3px rgba(255,255,255,.85), inset 0 0 0 1px rgba(255,255,255,.3);
  animation:ediaraEdyBreathe 6s ease-in-out infinite;
  transition:transform .3s cubic-bezier(.4,0,.2,1), box-shadow .28s ease;
}
/* Pista de hover real solo para desktop (nunca `transform`; box-shadow no compite con nada). */
.ediara-edy-trigger:hover .ediara-edy-chasis{ box-shadow:0 14px 30px -12px rgba(30,40,64,.4), inset 0 -3px 7px rgba(90,102,128,.28), inset 0 2px 3px rgba(255,255,255,.85), 0 0 0 3px rgba(43,79,224,.14); }
.ediara-edy-trigger.has-attention .ediara-edy-chasis,
.ediara-edy-trigger[data-presence="active"] .ediara-edy-chasis{ animation:ediaraEdyBreathe 6s ease-in-out infinite, ediaraEdyAttention 1.8s ease-in-out 2; }
/* Modo compacto real (§A15): el CHASIS visual mide ~40px (50×.8) — la hitbox real del botón que lo
   contiene sigue midiendo 50px, así que el área pulsable real nunca baja del mínimo pedido. */
.ediara-edy-trigger[data-presence="docked"] .ediara-edy-chasis{ transform:scale(.8); box-shadow:0 6px 14px -10px rgba(30,40,64,.28), inset 0 -2px 5px rgba(90,102,128,.22), inset 0 1px 2px rgba(255,255,255,.7); animation:none; }
.ediara-edy-trigger.is-moving .ediara-edy-chasis{
  transition:box-shadow .2s ease, transform .15s ease;
  box-shadow:0 18px 36px -14px rgba(30,40,64,.42), inset 0 -3px 7px rgba(90,102,128,.28), inset 0 2px 3px rgba(255,255,255,.85), 0 0 0 4px rgba(43,79,224,.16);
}

/* La respiración vive en el SVG interior — nunca en el chasis (evitaría "menos, mejor" duplicar el
   mismo tipo de movimiento en dos capas) ni en el botón. */
.ediara-edy-trigger .ediara-edy-mark{ animation:ediaraEdyBreathe 7s ease-in-out infinite; animation-delay:-1s; transition:opacity .25s ease, filter .35s ease; }
/* Respuesta luminosa real, muy sutil (§A3/§A10/§A12) — nunca un halo, solo un filtro drop-shadow
   mínimo sobre los propios trazos de la cara mientras Edy piensa, habla o consigue algo. */
.ediara-edy-mark[data-expression="thinking"],
.ediara-edy-mark[data-expression="speaking"]{ filter:drop-shadow(0 0 2px rgba(43,79,224,.22)); }
.ediara-edy-mark[data-expression="success"]{ filter:drop-shadow(0 0 2px rgba(43,79,224,.14)); }
/* Modo discreto (§A9): casi toda la respiración se detiene — el parpadeo real (independiente, en
   los párpados) sigue funcionando igual, es la única señal de vida mientras está compacto. */
.ediara-edy-trigger[data-presence="docked"] .ediara-edy-mark{ animation:none; }

@keyframes ediaraEdyBreathe{ 0%,100%{ transform:translateY(0) scale(1); } 50%{ transform:translateY(-1px) scale(1.03); } }
@keyframes ediaraEdyAttention{ 0%,100%{ box-shadow:0 10px 24px -12px rgba(30,40,64,.32), inset 0 -3px 7px rgba(90,102,128,.28), inset 0 2px 3px rgba(255,255,255,.85), 0 0 0 0 rgba(43,79,224,.32); } 50%{ box-shadow:0 10px 24px -12px rgba(30,40,64,.32), inset 0 -3px 7px rgba(90,102,128,.28), inset 0 2px 3px rgba(255,255,255,.85), 0 0 0 9px rgba(43,79,224,0); } }

@media (prefers-reduced-motion: reduce){
  .ediara-edy-trigger{ transition:opacity .2s linear, right .2s linear, left .2s linear; }
  .ediara-edy-chasis{ transition:none; animation:none; }
  .ediara-edy-trigger .ediara-edy-mark{ animation:none; }
  .ediara-edy-trigger.has-attention .ediara-edy-chasis, .ediara-edy-trigger[data-presence="active"] .ediara-edy-chasis{ animation:none; }
  .ediara-edy-trigger.is-moving .ediara-edy-chasis{ transition:none; }
}

/* ---- Edy movible por el alumno — lado izquierdo real (§B7/§B12) ----
   Mismo chasis, mismo comportamiento — solo se refleja al otro borde. `right:auto` es
   imprescindible: sin él, un `right` heredado seguiría anclando el elemento por la derecha a la
   vez que `left` intenta anclarlo por la izquierda, y ganaría uno de los dos de forma impredecible. */
.ediara-edy-trigger[data-side="left"]{
  right:auto; left:max(18px, env(safe-area-inset-left, 0px));
  transform-origin:center left;
}
.ediara-edy-trigger[data-side="left"][data-presence="docked"]{ left:4px; right:auto; }
@media (max-width: 640px){
  .ediara-edy-trigger[data-side="left"]{ left:10px; right:auto; }
}

/* Modo mover real (§B3) — el feedback visual (sombra mayor) ya vive en `.ediara-edy-chasis` de
   arriba; aquí solo el cursor real, que sí pertenece al botón/hitbox. */
.ediara-edy-trigger.is-moving{ cursor:grabbing; }

/* Texto real "Muéveme" (§B3) — bocadillo mínimo, sin cola, solo mientras dura el modo mover. */
.ediara-edy-move-hint{
  position:fixed; z-index:66; pointer-events:none;
  background:var(--ediara-ink-950); color:#fff; font-family:var(--ediara-font-body); font-weight:600;
  font-size:12px; padding:6px 12px; border-radius:var(--ediara-r-full); box-shadow:0 8px 18px -8px rgba(11,18,32,.4);
  opacity:0; transform:translateY(4px); transition:opacity .18s ease, transform .18s ease;
}
.ediara-edy-move-hint.is-visible{ opacity:1; transform:translateY(0); }

/* ---- Selector accesible de posición (§B26) — dentro del panel, discreto, no un drag obligatorio ---- */
.ediara-edy-position-picker{ font-size:13px; color:var(--ediara-text-600); }
.ediara-edy-position-picker summary{ cursor:pointer; font-weight:600; color:var(--ediara-text-400); font-size:12px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.ediara-edy-position-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; margin-top:8px; }
.ediara-edy-position-btn{
  appearance:none; background:var(--ediara-surface-2); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md);
  padding:8px 4px; font-family:var(--ediara-font-body); font-size:11.5px; font-weight:600; color:var(--ediara-text-600); cursor:pointer;
}
.ediara-edy-position-btn:hover{ background:rgba(43,79,224,.08); border-color:rgba(43,79,224,.22); color:var(--ediara-indigo-600); }
.ediara-edy-position-btn.is-current{ background:rgba(43,79,224,.1); border-color:var(--ediara-indigo); color:var(--ediara-indigo-600); }

/* ---- Rostro de Edy (Edy Living UI v2 — rediseño facial, 2026-09-16) ----
   10 capas reales independientes (cejas/ojos/párpados/pupilas/boca) — la vida viene de la CARA, la
   esfera casi no se mueve. Rehecho por completo: la versión anterior (2 cápsulas + boca de trazo
   fino) no se leía como rostro a 48px real — sin cejas, sin párpado real, sin pupila propia. */

/* Cara aumentada dentro del chasis — identidad definitiva (2026-09-16): ~70-72% del espacio útil
   real (antes ~65-72% "de fábrica" del SVG sin escalar; ahora escalada explícitamente vía el
   `<g transform="scale(1.36)">` que envuelve todo el contenido en ediara_edy_mark_svg()). */
.ediara-edy-mark{ width:35px; height:35px; display:block; overflow:visible; }
.ediara-edy-panel-mark .ediara-edy-mark{ width:19px; height:19px; }

/* Cejas — suben/bajan/rotan, asimetría real entre expresiones (§4/§20). */
.ediara-edy-brow{ fill:rgba(11,18,32,.86); transition:transform .45s cubic-bezier(.4,0,.2,1); transform-box:fill-box; transform-origin:center; }

/* Ojo (lente clara) — forma exterior real, alto contraste sobre el chasis claro (§23). */
.ediara-edy-eye-lens{ fill:#FFFFFF; filter:drop-shadow(0 .5px 1.5px rgba(30,40,64,.28)); }

/* Gafas ultrafinas — identidad definitiva de Edy (misión "Edy Definitivo", 2026-09-16). Grafito/
   navy oscuro, nunca negro puro; solo trazo/relleno muy translúcido — jamás cubren párpado ni
   pupila (dibujadas encima de los ojos en el marcado, pero sin `fill` opaco sobre ninguno). El
   puente es una pieza sólida pequeña (no una línea genérica) — el único detalle propio EDIARA
   pedido, deliberadamente mínimo: sin doble línea, sin bisel decorativo. */
.ediara-edy-glasses-frame{ fill:none; stroke:rgba(42,50,70,.62); stroke-width:.4; }
.ediara-edy-glasses-bridge{ fill:rgba(42,50,70,.55); }
.ediara-edy-glasses-reflect{ stroke:rgba(255,255,255,.75); stroke-width:.38; stroke-linecap:round; opacity:.6; transition:opacity .3s ease; }
/* Micro-reflejo real al pensar/estudiar (§11/§12 del rediseño) — nunca flare, nunca glow, solo la
   línea ya existente ganando un poco de presencia. La expresión facial sigue haciendo el trabajo
   principal; esto es deliberadamente casi imperceptible. */
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-glasses-reflect,
.ediara-edy-mark[data-expression="study"] .ediara-edy-glasses-reflect{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .ediara-edy-glasses-reflect{ transition:none; } }

/* Párpado — crece desde el borde superior (nunca "se aplasta el ojo entero"); simula un cierre
   real (§7). En reposo cada expresión deja una cobertura distinta (entrecerrado real). */
.ediara-edy-lid{ fill:#C7D0E0; transition:transform .38s cubic-bezier(.4,0,.2,1); transform-box:fill-box; transform-origin:top; }
.ediara-edy-mark[data-expression="idle"] .ediara-edy-lid{ transform:scaleY(.10); }
.ediara-edy-mark[data-expression="attention"] .ediara-edy-lid{ transform:scaleY(.02); }
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-lid,
.ediara-edy-mark[data-expression="study"] .ediara-edy-lid{ transform:scaleY(.30); }
.ediara-edy-mark[data-expression="success"] .ediara-edy-lid,
.ediara-edy-mark[data-expression="encouraging"] .ediara-edy-lid{ transform:scaleY(.42); }
.ediara-edy-mark[data-expression="speaking"] .ediara-edy-lid,
.ediara-edy-mark[data-expression="curious"] .ediara-edy-lid{ transform:scaleY(.14); }
@keyframes ediaraEdyBlink{ 0%,100%{ transform:scaleY(.10); } 50%{ transform:scaleY(1); } }
.ediara-edy-lid.is-blinking{ animation:ediaraEdyBlink .18s ease; }

/* Pupila — dirección de mirada real, independiente del párpado (§6). */
.ediara-edy-pupil-wrap{ transition:transform .5s cubic-bezier(.4,0,.2,1); transform:translate(var(--px,0px), var(--py,0px)); }
.ediara-edy-pupil{ fill:rgba(11,18,32,.9); }
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-pupil-wrap{ --px:.9px; --py:-1.6px; }
.ediara-edy-mark[data-expression="study"] .ediara-edy-pupil-wrap{ --px:0px; --py:.9px; }
.ediara-edy-mark[data-expression="curious"] .ediara-edy-pupil-l,
.ediara-edy-mark[data-expression="curious"] .ediara-edy-pupil-r{ --px:1.6px; --py:0px; }

/* Boca — formas reales rellenas (legibles a tamaño real), no solo un trazo fino (§9). */
.ediara-edy-mouth{ opacity:0; transition:opacity .22s ease, transform .22s ease; transform-box:fill-box; transform-origin:center; }
.ediara-edy-mouth-fill{ fill:rgba(11,18,32,.86); }
.ediara-edy-mouth-stroke{ stroke:rgba(11,18,32,.86); }
.ediara-edy-mark[data-expression="idle"] .ediara-edy-mouth-idle,
.ediara-edy-mark[data-expression="attention"] .ediara-edy-mouth-idle,
.ediara-edy-mark[data-expression="speaking"] .ediara-edy-mouth-idle,
.ediara-edy-mark[data-expression="encouraging"] .ediara-edy-mouth-smile-sm,
.ediara-edy-mark[data-expression="success"] .ediara-edy-mouth-smile,
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-mouth-tight,
.ediara-edy-mark[data-expression="study"] .ediara-edy-mouth-tight,
.ediara-edy-mark[data-expression="curious"] .ediara-edy-mouth-curious,
.ediara-edy-mark[data-expression="concern"] .ediara-edy-mouth-concern{ opacity:1; }
/* Fotogramas reales de habla — alternados por `EdyFace.speak()` vía clases temporales, nunca CSS solo. */
.ediara-edy-mark.is-talking-open .ediara-edy-mouth-idle{ opacity:0; }
.ediara-edy-mark.is-talking-open .ediara-edy-mouth-open-sm{ opacity:1; }
.ediara-edy-mark.is-talking-open-mid .ediara-edy-mouth-idle{ opacity:0; }
.ediara-edy-mark.is-talking-open-mid .ediara-edy-mouth-open-mid{ opacity:1; }

@media (prefers-reduced-motion: reduce){
  .ediara-edy-brow, .ediara-edy-lid, .ediara-edy-pupil-wrap, .ediara-edy-mouth{ transition:none; }
  .ediara-edy-lid.is-blinking{ animation:none; }
}

/* Cejas y pupilas por expresión — cada expresión combina varios rasgos a la vez (§11). */
.ediara-edy-mark[data-expression="idle"] .ediara-edy-brow{ transform:translateY(0) rotate(0deg); }
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-brow-r{ transform:translateY(-1.6px) rotate(-4deg); }
.ediara-edy-mark[data-expression="thinking"] .ediara-edy-brow-l{ transform:translateY(-.2px); }
.ediara-edy-mark[data-expression="speaking"] .ediara-edy-brow-l,
.ediara-edy-mark[data-expression="speaking"] .ediara-edy-brow-r{ transform:translateY(-.6px); }
.ediara-edy-mark[data-expression="attention"] .ediara-edy-brow-l,
.ediara-edy-mark[data-expression="attention"] .ediara-edy-brow-r{ transform:translateY(-1.1px); }
.ediara-edy-mark[data-expression="success"] .ediara-edy-brow-l,
.ediara-edy-mark[data-expression="success"] .ediara-edy-brow-r{ transform:translateY(.4px); }
.ediara-edy-mark[data-expression="study"] .ediara-edy-brow-l{ transform:translateY(.3px) rotate(4deg); }
.ediara-edy-mark[data-expression="study"] .ediara-edy-brow-r{ transform:translateY(.3px) rotate(-4deg); }
.ediara-edy-mark[data-expression="curious"] .ediara-edy-brow-l{ transform:translateY(-1.8px) rotate(-5deg); }
.ediara-edy-mark[data-expression="encouraging"] .ediara-edy-brow-l,
.ediara-edy-mark[data-expression="encouraging"] .ediara-edy-brow-r{ transform:translateY(-.7px); }
.ediara-edy-mark[data-expression="concern"] .ediara-edy-brow-l,
.ediara-edy-mark[data-expression="concern"] .ediara-edy-brow-r{ transform:translateY(-.3px) rotate(3deg); }

/* ---- Bocadillo de Edy (Edy Living UI §B23) — unido visualmente al icono, con cola real ---- */
.ediara-edy-bubble{
  position:fixed; z-index:64;
  right:max(18px, env(safe-area-inset-right, 0px));
  bottom:calc(74px + env(safe-area-inset-bottom, 0px));
  max-width:min(280px, calc(100vw - 48px));
  background:var(--ediara-surface); color:var(--ediara-text-900);
  border:1px solid var(--ediara-line-strong); border-radius:var(--ediara-r-md);
  padding:12px 32px 12px 16px; box-shadow:0 14px 32px -12px rgba(15,23,42,.24);
  font-family:var(--ediara-font-body); animation:ediaraEdyBubbleIn .24s cubic-bezier(.2,.9,.3,1.3);
}
.ediara-edy-bubble.is-leaving{ opacity:0; transform:translateY(6px) scale(.97); transition:opacity .18s ease, transform .18s ease; }
.ediara-edy-bubble-body{ margin:0; font-size:13.5px; line-height:1.45; }
.ediara-edy-bubble-cta{ display:inline-block; margin-top:8px; font-size:12.5px; font-weight:700; color:var(--ediara-indigo); text-decoration:none; }
.ediara-edy-bubble-cta:hover{ text-decoration:underline; }
.ediara-edy-bubble-close{ position:absolute; top:6px; right:6px; width:22px; height:22px; }
.ediara-edy-bubble-close svg{ width:12px; height:12px; }
.ediara-edy-bubble-tail{
  position:absolute; right:18px; bottom:-7px; width:14px; height:14px;
  background:var(--ediara-surface); border-right:1px solid var(--ediara-line-strong); border-bottom:1px solid var(--ediara-line-strong);
  transform:rotate(45deg); border-radius:0 0 3px 0;
}
@keyframes ediaraEdyBubbleIn{ from{ opacity:0; transform:translateY(8px) scale(.94); } to{ opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce){ .ediara-edy-bubble{ animation:none; } .ediara-edy-bubble.is-leaving{ transition:none; opacity:0; } }
@media (max-width: 640px){
  .ediara-edy-bubble{ right:14px; bottom:70px; }
}

/* Bocadillo real hacia el lado contrario cuando Edy está a la izquierda (§B17) — nunca sale del
   viewport: mismo patrón reflejado, cola incluida. */
.ediara-edy-bubble[data-side="left"]{ right:auto; left:max(18px, env(safe-area-inset-left, 0px)); padding:12px 16px 12px 32px; }
.ediara-edy-bubble[data-side="left"] .ediara-edy-bubble-close{ right:auto; left:6px; }
.ediara-edy-bubble[data-side="left"] .ediara-edy-bubble-tail{ right:auto; left:18px; }
@media (max-width: 640px){
  .ediara-edy-bubble[data-side="left"]{ left:14px; right:auto; }
}

.ediara-edy-panel{
  position:fixed; z-index:70; display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(165deg, rgba(255,255,255,.96) 0%, rgba(240,244,250,.96) 100%);
  backdrop-filter:blur(14px); border:1px solid var(--ediara-line);
  box-shadow:0 24px 60px -20px rgba(15,23,42,.32);
  transform-origin:bottom right;
  animation:ediaraEdyPanelIn .22s ease;
}
.ediara-edy-panel[hidden]{ display:none; }

/* Estado "compact" (por defecto al abrir) — flotante, acotado, nunca pantalla completa. */
.ediara-edy-panel[data-state="compact"]{
  right:max(18px, env(safe-area-inset-right, 0px));
  bottom:calc(86px + env(safe-area-inset-bottom, 0px));
  width:min(420px, calc(100vw - 36px));
  height:min(640px, calc(100vh - 140px));
  border-radius:var(--ediara-r-lg);
}
/* Si Edy está anclado a la izquierda real (§B16), el panel compacto abre hacia la derecha —
   reflejado, nunca en el mismo lado que taparía al propio icono. Solo desktop: en móvil el
   bottom-sheet ya es global, igual para cualquier lado (§B16 "en móvil puede seguir siendo global"). */
.ediara-edy-panel[data-state="compact"][data-side="left"]{ right:auto; left:max(18px, env(safe-area-inset-left, 0px)); }

/* Estado "full" — SOLO tras pulsar "ampliar" dentro del panel flotante compacto. Nunca automático. */
.ediara-edy-panel[data-state="full"]{
  inset:0; width:100%; height:100%; border-radius:0; border:none;
  padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px);
  animation:none;
}

/* Estado "embedded" — SOLO dentro de la página dedicada real "Edy" (rediseño premium): el mismo
   panel de siempre deja de ser un overlay/modal flotante y pasa a formar parte real del flujo de
   la página (nunca position:fixed encima de nada) — la cabecera con "Edy/Tu Tutor IA" y el
   selector de posición no tienen sentido aquí (el hero de la página ya cumple esa función, y no es
   movible) — se ocultan solo en este estado, nunca en el resto de la plataforma. */
.ediara-edy-panel[data-state="embedded"]{
  position:static; inset:auto; width:100%; max-width:760px; margin:0 auto;
  height:min(620px, 72vh); min-height:420px;
  border-radius:var(--ediara-r-lg); border:1px solid var(--ediara-line);
  box-shadow:var(--ediara-sh-soft); backdrop-filter:none;
  background:var(--ediara-surface);
  animation:none;
}
.ediara-edy-panel[data-state="embedded"] .ediara-edy-panel-head,
.ediara-edy-panel[data-state="embedded"] .ediara-edy-position-picker{ display:none; }
@media (max-width:640px){
  .ediara-edy-panel[data-state="embedded"]{ height:min(70vh, 560px); border-radius:var(--ediara-r-md); }
}

@keyframes ediaraEdyPanelIn{ from{ opacity:0; transform:scale(.96) translateY(8px); } to{ opacity:1; transform:scale(1) translateY(0); } }
@media (prefers-reduced-motion: reduce){
  .ediara-edy-trigger{ animation:none; }
  .ediara-edy-trigger.has-attention{ animation:none; }
  .ediara-edy-panel{ animation:none; }
}

.ediara-edy-panel-head{
  display:flex; align-items:center; justify-content:space-between; flex:0 0 auto;
  padding:var(--ediara-sp-3) var(--ediara-sp-4); border-bottom:1px solid var(--ediara-line);
}
.ediara-edy-panel-heading{ display:flex; align-items:center; gap:10px; min-width:0; }
.ediara-edy-panel-mark{ width:30px; height:30px; border-radius:var(--ediara-r-edy-chasis); background:linear-gradient(155deg, #F3F6FB 0%, #DCE3EE 48%, #B9C3D6 100%); border:1px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.ediara-edy-panel-mark svg{ width:18px; height:18px; }
.ediara-edy-panel-titles{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.ediara-edy-panel-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:15px; color:var(--ediara-text-900); }
.ediara-edy-panel-subtitle{ font-family:var(--ediara-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ediara-text-400); }

.ediara-edy-panel-controls{ display:flex; align-items:center; gap:2px; flex:0 0 auto; }
.ediara-edy-ctrl{
  appearance:none; background:none; border:none; cursor:pointer; color:var(--ediara-text-400);
  width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:var(--ediara-r-full);
}
.ediara-edy-ctrl:hover{ background:var(--ediara-surface-2); color:var(--ediara-text-900); }
.ediara-edy-ctrl:focus-visible{ outline:2px solid var(--ediara-indigo); outline-offset:1px; }
.ediara-edy-ctrl svg{ width:15px; height:15px; }
.ediara-edy-close{ appearance:none; background:none; border:none; cursor:pointer; color:var(--ediara-text-400); width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:var(--ediara-r-full); }
.ediara-edy-close:hover{ background:var(--ediara-surface-2); color:var(--ediara-text-900); }
.ediara-edy-close svg{ width:16px; height:16px; }

.ediara-edy-body{
  flex:1; overflow-y:auto; padding:var(--ediara-sp-5); display:flex; flex-direction:column; gap:var(--ediara-sp-3);
}
.ediara-edy-msg{ max-width:88%; }
.ediara-edy-msg p{
  margin:0; padding:11px 15px; border-radius:var(--ediara-r-md); font-family:var(--ediara-font-body);
  font-size:14px; line-height:1.55; white-space:pre-wrap;
}
.ediara-edy-msg-assistant{ align-self:flex-start; }
.ediara-edy-msg-assistant p{ background:var(--ediara-surface); border:1px solid var(--ediara-line); color:var(--ediara-text-900); }
.ediara-edy-msg-user{ align-self:flex-end; }
.ediara-edy-msg-user p{ background:linear-gradient(135deg, rgba(43,79,224,.10) 0%, rgba(20,201,217,.10) 100%); border:1px solid rgba(43,79,224,.18); color:var(--ediara-indigo-600); }
.ediara-edy-msg-error{ align-self:flex-start; }
.ediara-edy-msg-error p{ background:var(--ediara-warning-soft); color:#8a6415; border:1px solid transparent; }
.ediara-edy-msg.is-thinking p{ color:var(--ediara-text-400); font-style:italic; }
.ediara-edy-state-unavailable{ margin:auto; text-align:center; color:var(--ediara-text-400); font-size:13px; padding:0 var(--ediara-sp-4); }

/* Tarjetas reales de recomendación (Edy Premium §D) — parte de Edy, nunca una tarjeta genérica
   flotando aparte. Interno (curso/Masterclass reales) vs externo, diferenciados con claridad. */
.ediara-edy-card{
  margin:2px 0;
  background:var(--ediara-surface); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-md);
  padding:12px 14px; box-shadow:0 4px 14px -8px rgba(15,23,42,.14);
}
.ediara-edy-card-external{ border-style:dashed; }
.ediara-edy-card-kind{
  display:inline-block; font-family:var(--ediara-font-mono); font-size:10px; text-transform:uppercase;
  letter-spacing:.06em; font-weight:700; color:var(--ediara-indigo); margin-bottom:5px;
}
.ediara-edy-card-external .ediara-edy-card-kind{ color:var(--ediara-text-400); }
.ediara-edy-card-title{ margin:0 0 3px; font-family:var(--ediara-font-display); font-weight:800; font-size:14px; color:var(--ediara-text-900); }
.ediara-edy-card-reason{ margin:0 0 8px; font-size:12.5px; line-height:1.4; color:var(--ediara-text-600); }
.ediara-edy-card-cta{
  display:inline-flex; align-items:center; gap:4px; font-family:var(--ediara-font-body);
  font-weight:700; font-size:12.5px; color:var(--ediara-indigo); text-decoration:none;
}
.ediara-edy-card-external .ediara-edy-card-cta{ color:var(--ediara-text-600); }
.ediara-edy-card-cta:hover{ text-decoration:underline; }

.ediara-edy-recent{ font-size:13px; color:var(--ediara-text-600); }
.ediara-edy-recent summary{ cursor:pointer; font-weight:600; color:var(--ediara-text-400); font-size:12px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.ediara-edy-recent ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.ediara-edy-recent-item{
  appearance:none; background:none; border:none; text-align:left; padding:6px 0; cursor:pointer;
  color:var(--ediara-text-600); font-family:var(--ediara-font-body); font-size:13px;
}
.ediara-edy-recent-item:hover{ color:var(--ediara-indigo); }

.ediara-edy-quick-actions{ display:flex; flex-wrap:wrap; gap:6px; padding:0 var(--ediara-sp-5) var(--ediara-sp-3); }
.ediara-edy-quick-action{
  appearance:none; background:var(--ediara-surface-2); border:1px solid var(--ediara-line); border-radius:var(--ediara-r-full);
  padding:6px 13px; font-family:var(--ediara-font-body); font-size:12.5px; font-weight:600; color:var(--ediara-text-600); cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
.ediara-edy-quick-action:hover{ background:rgba(43,79,224,.08); border-color:rgba(43,79,224,.22); color:var(--ediara-indigo-600); }

.ediara-edy-input-row{
  display:flex; gap:8px; align-items:flex-end; padding:var(--ediara-sp-4) var(--ediara-sp-5);
  border-top:1px solid var(--ediara-line);
}
.ediara-edy-input{
  flex:1; resize:none; max-height:96px; border:1px solid var(--ediara-line-strong); border-radius:var(--ediara-r-md);
  padding:10px 14px; font-family:var(--ediara-font-body); font-size:14px; color:var(--ediara-text-900);
  background:var(--ediara-surface);
}
.ediara-edy-input:focus-visible{ outline:2px solid var(--ediara-indigo); outline-offset:1px; }
.ediara-edy-send{
  appearance:none; border:none; background:var(--ediara-grad); color:#fff; width:38px; height:38px;
  border-radius:var(--ediara-r-full); display:flex; align-items:center; justify-content:center; cursor:pointer;
  flex:0 0 auto;
}
.ediara-edy-send:disabled, .ediara-edy-input:disabled{ opacity:.5; cursor:not-allowed; }
.ediara-edy-send svg{ width:16px; height:16px; }
.ediara-edy-limit-note{ margin:0 var(--ediara-sp-5) var(--ediara-sp-4); font-size:11.5px; color:var(--ediara-text-400); text-align:center; }

.ediara-edy-dash-card{
  background:linear-gradient(165deg, rgba(255,255,255,.72) 0%, rgba(238,242,249,.55) 100%);
  border:1px solid var(--ediara-line); border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5);
}
.ediara-edy-dash-greeting{ font-family:var(--ediara-font-display); font-size:17px; font-weight:800; color:var(--ediara-text-900); margin:0 0 4px; }
.ediara-edy-dash-body{ font-family:var(--ediara-font-body); font-size:14px; color:var(--ediara-text-600); margin:0 0 var(--ediara-sp-4); }
.ediara-edy-dash-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* ============ PÁGINA DEDICADA "EDY" — REDISEÑO PREMIUM ============
   El centro inteligente de aprendizaje de EDIARA — no "el panel flotante pero más grande". Hero
   premium con la identidad real de Edy a mayor tamaño (mismos materiales/cara que el icono
   flotante, nunca un estilo distinto — §27), franja de contexto muy ligera (nunca una cuadrícula
   de estadísticas) y el chat real reubicado aquí mismo (ver `[data-state="embedded"]` más abajo). */
.ediara-edy-page-hero{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:var(--ediara-sp-6) var(--ediara-sp-4) 0; }
.ediara-edy-page-facewrap{
  width:132px; height:132px; border-radius:var(--ediara-r-edy-chasis);
  background:radial-gradient(circle at 30% 24%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 46%),
             linear-gradient(155deg, #F3F6FB 0%, #DCE3EE 48%, #B9C3D6 100%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 20px 46px -18px rgba(30,40,64,.34), inset 0 -4px 10px rgba(90,102,128,.26), inset 0 3px 5px rgba(255,255,255,.85), inset 0 0 0 1px rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center;
  animation:ediaraEdyBreathe 6s ease-in-out infinite;
  margin-bottom:6px;
}
.ediara-edy-page-facewrap .ediara-edy-mark{ width:92px; height:92px; }
.ediara-edy-page-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:clamp(28px,4vw,38px); margin:0; color:var(--ediara-ink-950); }
.ediara-edy-page-descriptor{ font-family:var(--ediara-font-mono); font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--ediara-indigo); margin:0; }

/* Franja de contexto (§6) — texto real, ligero, nunca tiles de estadísticas grandes. */
.ediara-edy-strip{
  display:flex; flex-wrap:wrap; gap:var(--ediara-sp-5) var(--ediara-sp-6); justify-content:center;
  padding:var(--ediara-sp-3) var(--ediara-sp-4); border-top:1px solid var(--ediara-line); border-bottom:1px solid var(--ediara-line);
}
.ediara-edy-strip-item{ display:flex; flex-direction:column; gap:2px; text-align:center; min-width:100px; }
.ediara-edy-strip-label{ font-family:var(--ediara-font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--ediara-text-400); }
.ediara-edy-strip-value{ font-family:var(--ediara-font-body); font-size:13.5px; font-weight:700; color:var(--ediara-text-900); }

.ediara-edy-embed-wrap{ display:flex; justify-content:center; }

@media (max-width:640px){
  .ediara-edy-page-hero{ padding:var(--ediara-sp-5) var(--ediara-sp-3) 0; gap:6px; }
  .ediara-edy-page-facewrap{ width:96px; height:96px; margin-bottom:4px; }
  .ediara-edy-page-facewrap .ediara-edy-mark{ width:66px; height:66px; }
  .ediara-edy-strip{ gap:var(--ediara-sp-4) var(--ediara-sp-5); }
  .ediara-edy-strip-item{ min-width:80px; }
}

/* Mobile — estado "compact" pasa a bottom-sheet real (nunca pantalla completa salvo "ampliar"):
   el contenido de la lección sigue existiendo y es desplazable detrás, hoja anclada abajo. */
@media (max-width: 640px){
  /* Tamaño real pedido (§12): 48-50px en reposo normal — el "momento activo" ya crece solo vía
     `[data-presence="active"]` (transform:scale, no un ancho distinto). Posición: 8-12px del borde. */
  .ediara-edy-trigger{ right:10px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); }
  .ediara-edy-panel[data-state="compact"]{
    left:0; right:0; bottom:0; top:auto; width:100%;
    height:min(72vh, 640px); max-height:72vh;
    border-radius:var(--ediara-r-lg) var(--ediara-r-lg) 0 0;
    border-bottom:none;
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
}

/* ============ STUDENT EXPERIENCE ENGINE (Misión AA) ============
   Banner de continuidad de Mi Panel + 3 niveles de superficie real (toast/panel/premium).
   Animación mínima (fade + slide pequeño) — nunca confetti, nunca partículas (§53). */

.ediara-exp-banner{
  display:flex; align-items:center; justify-content:space-between; gap:var(--ediara-sp-4); flex-wrap:wrap;
  background:linear-gradient(135deg, rgba(43,79,224,.07) 0%, rgba(20,201,217,.07) 100%);
  border:1px solid var(--ediara-line-strong); border-radius:var(--ediara-r-lg);
  padding:var(--ediara-sp-4) var(--ediara-sp-5); margin-bottom:var(--ediara-sp-5);
}
.ediara-exp-banner.is-important{ background:linear-gradient(135deg, rgba(43,79,224,.12) 0%, rgba(20,201,217,.1) 100%); border-color:var(--ediara-indigo); }
.ediara-exp-banner-text{ margin:0; font-family:var(--ediara-font-body); font-size:14.5px; font-weight:600; color:var(--ediara-text-900); }

.ediara-exp-surface{ position:fixed; z-index:80; }
.ediara-exp-surface.is-leaving{ opacity:0; transform:translateY(6px); }
.ediara-exp-card{
  font-family:var(--ediara-font-body); background:var(--ediara-surface); color:var(--ediara-text-900);
  border:1px solid var(--ediara-line-strong); box-shadow:0 12px 32px rgba(14,22,38,.14);
  position:relative; animation:ediaraExpIn .28s ease;
}
.ediara-exp-close{
  position:absolute; top:10px; right:10px; background:transparent; border:none; cursor:pointer;
  color:var(--ediara-text-400); width:28px; height:28px; border-radius:var(--ediara-r-full);
  display:flex; align-items:center; justify-content:center;
}
.ediara-exp-close:hover{ background:var(--ediara-surface-2); color:var(--ediara-text-900); }
.ediara-exp-close svg{ width:14px; height:14px; }
.ediara-exp-title{ font-family:var(--ediara-font-display); font-weight:800; font-size:17px; margin:0 0 6px; padding-right:28px; }
.ediara-exp-body{ font-size:14px; line-height:1.5; color:var(--ediara-text-600); margin:0; padding-right:20px; }
.ediara-exp-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:var(--ediara-sp-4); }

/* Nivel 2 — toast: discreto, esquina inferior, se retira solo, nunca exige acción. */
.ediara-exp-level-2{ left:var(--ediara-sp-4); right:var(--ediara-sp-4); bottom:calc(var(--ediara-sp-4) + env(safe-area-inset-bottom, 0px)); }
.ediara-exp-level-2 .ediara-exp-card{ max-width:380px; margin:0 auto; border-radius:var(--ediara-r-md); padding:var(--ediara-sp-4) var(--ediara-sp-5); }
.ediara-exp-level-2 .ediara-exp-body{ font-weight:600; padding-right:20px; }
.ediara-exp-level-2 .ediara-exp-close{ top:8px; right:8px; }

/* Nivel 3 — panel contextual: más presencia, varias acciones, sin bloquear toda la pantalla. */
.ediara-exp-level-3{ left:var(--ediara-sp-4); right:var(--ediara-sp-4); bottom:calc(var(--ediara-sp-4) + env(safe-area-inset-bottom, 0px)); }
.ediara-exp-level-3 .ediara-exp-card{ max-width:460px; margin:0 auto; border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-5) var(--ediara-sp-6); }

/* Nivel 4 — momento premium completo: solo hitos grandes, overlay real. */
.ediara-exp-level-4{ inset:0; display:flex; align-items:center; justify-content:center; padding:var(--ediara-sp-4); }
.ediara-exp-scrim{ position:absolute; inset:0; background:rgba(11,18,32,.6); backdrop-filter:blur(2px); }
.ediara-exp-level-4 .ediara-exp-card{
  max-width:480px; width:100%; border-radius:var(--ediara-r-lg); padding:var(--ediara-sp-7) var(--ediara-sp-6);
  text-align:center; background:linear-gradient(165deg, #FFFFFF 0%, #F2F5FB 100%);
}
.ediara-exp-level-4 .ediara-exp-title{ font-size:22px; padding-right:0; text-wrap:balance; }
.ediara-exp-level-4 .ediara-exp-body{ padding-right:0; font-size:15px; }
.ediara-exp-level-4 .ediara-exp-actions{ justify-content:center; }

@keyframes ediaraExpIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){
  .ediara-exp-card{ animation:none; }
  .ediara-exp-surface.is-leaving{ transform:none; }
}

@media (max-width: 640px){
  .ediara-exp-banner{ padding:var(--ediara-sp-4); }
  .ediara-exp-level-2 .ediara-exp-card, .ediara-exp-level-3 .ediara-exp-card{ padding:var(--ediara-sp-4); }
  .ediara-exp-actions{ flex-direction:column; align-items:stretch; }
  .ediara-exp-actions .ediara-btn{ text-align:center; justify-content:center; }
}

/* ============================================================
   BOTONES — contorno azul fino y visible (cierre post-Fase 2)
   SOLO cambia el color del borde: tamaños, tipografía, padding, layout y jerarquía intactos. Danger (rojo) y plain
   (sin borde por diseño) no se tocan; disabled conserva su opacidad.
   ============================================================ */
:root{ --ediara-btn-border:rgba(43,79,224,.55); --ediara-btn-border-hover:rgba(43,79,224,.85); --ediara-btn-border-active:rgba(43,79,224,1); }
.ediara-btn-primary{ border-color:var(--ediara-btn-border); }
.ediara-btn-primary:hover{ border-color:var(--ediara-btn-border-hover); }
.ediara-btn-primary:active{ border-color:var(--ediara-btn-border-active); }
.ediara-btn-secondary{ border-color:rgba(43,79,224,.75); }
.ediara-btn-secondary:hover{ border-color:rgba(96,132,255,.95); }
.ediara-btn-outline{ border-color:var(--ediara-btn-border); }
.ediara-btn-outline:hover{ border-color:var(--ediara-btn-border-hover); }
.ediara-card-cta.ediara-btn-outline,
.ediara-course-hero-cta .ediara-btn-outline,
.ediara-course-cta.ediara-btn-outline,
.ediara-mc-hero-cta .ediara-btn-outline,
.ediara-mc-timeline-cta.ediara-btn-outline{ border-color:var(--ediara-btn-border); }
.ediara-card-cta.ediara-btn-outline:hover,
.ediara-course-hero-cta .ediara-btn-outline:hover,
.ediara-course-cta.ediara-btn-outline:hover,
.ediara-mc-hero-cta .ediara-btn-outline:hover,
.ediara-mc-timeline-cta.ediara-btn-outline:hover{ border-color:var(--ediara-btn-border-hover); }
.ediara-btn-danger,.ediara-btn-danger:hover{ border-color:transparent; }
.ediara-btn[disabled],.ediara-btn[disabled]:hover{ border-color:rgba(43,79,224,.25); }
.ediara-btn:focus-visible{ outline:2px solid var(--ediara-indigo); outline-offset:2px; }

/* ============================================================
   MENÚ PRINCIPAL — acentos de color por familia (cierre UX pre-Fase 3)
   Paleta controlada (8 tonos): el color vive SOLO en el icono (baldosa suave); el texto sigue neutro. Familias:
   inicio (azul) · formación (índigo/violeta/acero) · organización (turquesa/cian) · estudio (azul suave/verde) ·
   reconocimiento (púrpura/ámbar) · Edy (coral, color propio) · cuenta (neutro).
   ============================================================ */
.ediara-shell-nav > ul > li > a{ position:relative; gap:11px; padding:7px 12px 7px 8px; transition:background-color .15s ease, color .15s ease, transform .15s ease; }
.ediara-shell-nav > ul > li > a > svg{ --acc:#6B7A90; width:18px; height:18px; box-sizing:content-box; padding:6px; border-radius:10px; color:var(--acc); background:color-mix(in srgb, var(--acc) 11%, #fff); transition:background-color .15s ease, color .15s ease, transform .15s ease; }
.ediara-shell-nav > ul > li[data-nav="dashboard"] > a > svg{ --acc:#2B4FE0; }
.ediara-shell-nav > ul > li[data-nav="today"] > a > svg{ --acc:#2F80ED; }
.ediara-shell-nav > ul > li[data-nav="catalog"] > a > svg{ --acc:#4F46E5; }
.ediara-shell-nav > ul > li[data-nav="masterclass"] > a > svg{ --acc:#6D4BE0; }
.ediara-shell-nav > ul > li[data-nav="courses"] > a > svg{ --acc:#2E7FB8; }
.ediara-shell-nav > ul > li[data-nav="week"] > a > svg{ --acc:#0F9AA0; }
.ediara-shell-nav > ul > li[data-nav="skills"] > a > svg{ --acc:#0A86B4; }
.ediara-shell-nav > ul > li[data-nav="notes"] > a > svg{ --acc:#5B8DEF; }
.ediara-shell-nav > ul > li[data-nav="projects"] > a > svg{ --acc:#1C9A6B; }
.ediara-shell-nav > ul > li[data-nav="titles"] > a > svg{ --acc:#A03CB4; }
.ediara-shell-nav > ul > li[data-nav="achievements"] > a > svg{ --acc:#C98A12; }
.ediara-shell-nav > ul > li[data-nav="edy"] > a > svg{ --acc:#E0566E; }
.ediara-shell-nav > ul > li[data-nav="account"] > a > svg{ --acc:#6B7A90; }
.ediara-shell-nav > ul > li > a:hover{ background:var(--ediara-surface-2); transform:translateX(2px); }
.ediara-shell-nav > ul > li > a:hover > svg{ background:color-mix(in srgb, var(--acc) 18%, #fff); }
.ediara-shell-nav > ul > li.is-active > a{ background:#fff; color:var(--ediara-ink-950); box-shadow:0 6px 16px -10px rgba(15,23,42,.35), inset 0 0 0 1px var(--ediara-line); }
.ediara-shell-nav > ul > li.is-active > a::before{ content:""; position:absolute; left:-9px; top:9px; bottom:9px; width:3px; border-radius:0 3px 3px 0; background:var(--acc-bar,var(--ediara-indigo)); }
.ediara-shell-nav > ul > li.is-active > a > svg{ background:var(--acc); color:#fff; }
.ediara-shell-nav > ul > li[data-nav="dashboard"]{ --acc-bar:#2B4FE0; } .ediara-shell-nav > ul > li[data-nav="today"]{ --acc-bar:#2F80ED; } .ediara-shell-nav > ul > li[data-nav="catalog"]{ --acc-bar:#4F46E5; } .ediara-shell-nav > ul > li[data-nav="masterclass"]{ --acc-bar:#6D4BE0; } .ediara-shell-nav > ul > li[data-nav="courses"]{ --acc-bar:#2E7FB8; } .ediara-shell-nav > ul > li[data-nav="week"]{ --acc-bar:#0F9AA0; } .ediara-shell-nav > ul > li[data-nav="skills"]{ --acc-bar:#0A86B4; } .ediara-shell-nav > ul > li[data-nav="notes"]{ --acc-bar:#5B8DEF; } .ediara-shell-nav > ul > li[data-nav="projects"]{ --acc-bar:#1C9A6B; } .ediara-shell-nav > ul > li[data-nav="titles"]{ --acc-bar:#A03CB4; } .ediara-shell-nav > ul > li[data-nav="achievements"]{ --acc-bar:#C98A12; } .ediara-shell-nav > ul > li[data-nav="edy"]{ --acc-bar:#E0566E; } .ediara-shell-nav > ul > li[data-nav="account"]{ --acc-bar:#6B7A90; }
.ediara-shell-nav > ul > li.ediara-nav-logout > a > svg{ background:transparent; color:currentColor; padding:6px; }
.ediara-shell-nav > ul > li > a:focus-visible{ outline:2px solid var(--ediara-indigo); outline-offset:1px; }
/* Separadores sutiles entre familias (inicio · formación · organización · reconocimiento · cuenta) */
.ediara-shell-nav > ul > li[data-nav="catalog"],.ediara-shell-nav > ul > li[data-nav="week"],.ediara-shell-nav > ul > li[data-nav="titles"],.ediara-shell-nav > ul > li[data-nav="edy"]{ margin-top:8px; padding-top:8px; border-top:1px solid var(--ediara-line); }
@media (prefers-reduced-motion:reduce){ .ediara-shell-nav > ul > li > a,.ediara-shell-nav > ul > li > a > svg{ transition:none; } .ediara-shell-nav > ul > li > a:hover{ transform:none; } }


/* ============ COMPOSICIÓN COMÚN DE LAS PÁGINAS DE LA APP (2026-09-26 · comodidad visual) ============
   Un mismo borde izquierdo y un mismo ritmo en todas las páginas: las que usan un ancho menor (Mis Títulos, Mi Cuenta)
   ya no se centran con otro margen, se alinean con el resto. */
.ediara-app > .ediara-catalog,
.ediara-app > .ediara-account { margin-left: 0 !important; margin-right: auto !important; }
.ediara-app > .ediara-account { padding-left: 24px; padding-right: 24px; }
@media (max-width: 640px) { .ediara-app > .ediara-account { padding-left: 16px; padding-right: 16px; } }

/* Títulos dentro de tarjetas genéricas (p. ej. estados vacíos): tamaño de título de tarjeta, no de página. */
.ediara-app .ediara-p2-card > h2,
.ediara-app .ediara-empty-state h2 { font-family: var(--ediara-font-display); font-size: var(--ediara-fs-h3) !important; font-weight: 750 !important; line-height: var(--ediara-lh-tight); margin: 0 0 8px; letter-spacing: -.01em; color: var(--ediara-text-900); }
.ediara-app .ediara-p2-card > h2 + p { color: var(--ediara-text-600); font-size: var(--ediara-fs-small); margin: 0 0 16px; max-width: var(--ediara-measure); }

/* Menú: la descripción del elemento activo se lee entera (dos líneas), sin cortarse con «…». */
.ediara-nav-groups .ediara-nav-group-list > li.is-active .ediara-nav-txt small { white-space: normal; max-height: 34px; line-height: 1.35; }

/* Mi Panel: una acción principal por contexto. «Mis rutas» (gestión) y la tarjeta de Edy repetían el mismo destino que la
   franja de continuidad y «Mi ruta»: se mantienen, con énfasis secundario. */
.ediara-panel .ediara-routes .ediara-btn-primary,
.ediara-panel .ediara-edy-dash-card .ediara-btn-primary { background: #fff; border: 1.5px solid var(--ediara-line-strong); color: var(--ediara-text-900); }
.ediara-panel .ediara-routes .ediara-btn-primary:hover,
.ediara-panel .ediara-edy-dash-card .ediara-btn-primary:hover { border-color: var(--ediara-indigo); color: var(--ediara-indigo); background: #fff; }

/* Ficha de curso: «Qué aprenderás» como lista legible. */
.ediara-course-outcomes { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; max-width: var(--ediara-measure); }
.ediara-course-outcomes li { position: relative; padding-left: 28px; font-size: var(--ediara-fs-body); line-height: 1.55; color: var(--ediara-text-read); }
.ediara-course-outcomes li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--ediara-indigo); opacity: .75; }

/* EDIARA Lab (inicio): en «Continuar práctica» solo el primer Lab (el más reciente) lleva la acción principal; el resto,
   la misma acción con énfasis secundario. Las tarjetas sobre blanco: el color queda en el icono y la etiqueta. */
.lab-grid .lab-continue { background: #fff !important; }
.lab-grid .lab-continue:not(:first-child) .ediara-btn-primary { background: #fff; border: 1.5px solid var(--ediara-line-strong); color: var(--ediara-text-900); }
.lab-grid .lab-continue:not(:first-child) .ediara-btn-primary:hover { border-color: var(--ediara-indigo); color: var(--ediara-indigo); }

/* EDIARA Lab (escenario): el título del Lab se lee completo en la barra superior (hasta dos líneas) en vez de cortarse
   con «…» a 216 px; la columna del título gana algo de ancho frente a los pasos. */
@media (min-width: 1101px) { .ediara-lab-player .lab-top { grid-template-columns: minmax(220px, 1.2fr) minmax(0, 2fr) auto; } }
.ediara-lab-player .lab-top-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* Mi Panel: con la franja de continuidad presente («Continuar aprendiendo» → tu última lección real), el paso de «Mi ruta»
   conserva su botón con énfasis secundario: una sola acción principal arriba. */
.ediara-panel:has(.ediara-exp-banner .ediara-btn-primary) .ediara-onb-myroute-card .ediara-btn-primary { background: #fff; border: 1.5px solid var(--ediara-line-strong); color: var(--ediara-text-900); }

/* Masterclass (ficha): la imagen vertical 3:4 hacía una cabecera de ~760 px sin ninguna clase visible en la primera
   pantalla. En escritorio pasa a 4:3 (mismo recorte con object-fit) y en móvil a 16:9 a ancho completo. */
@media (min-width:821px){ .ediara-mc-hero-media{ aspect-ratio:4/3; max-height:420px; align-self:center; } }
@media (max-width:820px){ .ediara-mc-hero-media{ aspect-ratio:16/9; max-width:none; } }

/* Hoy: acción secundaria discreta bajo el botón de una tarjeta (p. ej. «Posponer 2 días» en una comprobación de memoria). */
.ediara-today-card .ediara-today-alt { display: inline-flex; align-items: center; min-height: var(--ediara-tap); margin-left: 14px; font-size: var(--ediara-fs-small); font-weight: 650; color: var(--ediara-text-600); text-decoration: underline; text-underline-offset: 3px; }

/* Mis Proyectos · proyectos integradores: mismo lenguaje que el resto de tarjetas. */
.ediara-briefs { margin: var(--ediara-gap-block) 0; }
.ediara-briefs-t { font-family: var(--ediara-font-display); font-size: var(--ediara-fs-h3); margin: 0 0 6px; }
.ediara-briefs-d { margin: 0 0 var(--ediara-gap-head); max-width: var(--ediara-measure); }
.ediara-briefs-grid { display: grid; gap: var(--ediara-gap-card); grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.ediara-brief-card h3 { font-family: var(--ediara-font-display); font-size: var(--ediara-fs-h3); margin: 10px 0 8px; }
.ediara-brief-card p { font-size: var(--ediara-fs-small); color: var(--ediara-text-read); }
.ediara-brief-panel h3 { font-family: var(--ediara-font-display); font-size: 17px; margin: 22px 0 8px; }
.ediara-brief-panel p, .ediara-brief-list li, .ediara-brief-rubric dd { font-size: var(--ediara-fs-body); line-height: var(--ediara-lh-read); color: var(--ediara-text-read); max-width: var(--ediara-measure); }
.ediara-brief-list { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.ediara-brief-ms { display: flex; gap: 10px; align-items: flex-start; min-height: var(--ediara-tap); padding: 8px 0; font-size: var(--ediara-fs-body); }
.ediara-brief-ms input { margin-top: 5px; width: 18px; height: 18px; }
.ediara-brief-form fieldset { border: 0; padding: 0; margin: 0; }
.ediara-brief-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ediara-brief-checks .is-ok { color: #0B7A55; font-weight: 600; }
.ediara-brief-rubric dt { font-weight: 700; margin-top: 10px; }
.ediara-brief-rubric dd { margin: 2px 0 0; }

/* Proyectos integradores · estado separado y ficha comprobable (2026-09-26). Compacto: la ficha se pliega. */
.ediara-bq-status{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem}
.ediara-bq-st{font-size:.82rem;padding:.2rem .6rem;border-radius:999px;background:var(--ed-surface-2,#f2f4f7);color:var(--ed-text-2,#4b5563)}
.ediara-bq-st.is-ok{background:var(--ed-ok-soft,#e8f5ee);color:var(--ed-ok,#1e7a4b)}
.ediara-bq-st.is-na{opacity:.75}
.ediara-bq{margin:.5rem 0 1rem;border:1px solid var(--ed-line,#e5e7eb);border-radius:12px;padding:.4rem .9rem}
.ediara-bq summary{cursor:pointer;list-style:none}.ediara-bq summary h3{display:inline;margin:0;font-size:1rem}
.ediara-bq-f{margin:.5rem 0;display:grid;gap:.25rem}.ediara-bq-f input,.ediara-bq-f select,.ediara-bq-f textarea{width:100%;max-width:100%;box-sizing:border-box}
.ediara-brief-checks li.is-crit{color:var(--ed-danger,#b42318)}

/* Alta y suscripción (2026-10-03, QA registro/suscripción): aviso de estado del plan en Mi Panel / onboarding / Mi Cuenta. */
.ediara-account-notice-info{ background:var(--ediara-success-soft); color:var(--ediara-success-ink,#0F7A54); border:1px solid rgba(15,122,84,.18); }
.ediara-alta-wrap{ max-width:1120px; margin:0 auto var(--ediara-sp-4); }
.ediara-alta-wrap .ediara-account-notice{ margin-bottom:0; }
.ediara-alta-wrap .ediara-btn{ margin-top:6px; }
.ediara-checkout-card-note{ margin-top:6px; }
/* Notas del checkout (cancelación en la prueba y tarjeta): mismo tamaño y tono que el resumen de precio de PMPro. */
.ediara-trial-cancel-note{ font-size:13.5px; line-height:1.6; color:rgb(76,90,112); margin:8px 0 0; }
.ediara-trial-cancel-note.ediara-checkout-card-note{ color:var(--ediara-text-900,#1C2433); font-weight:600; }
/* Vídeo real en la clase de Masterclass (2026-10-03). */
.ediara-mc-lesson-media--video{ padding:0; background:none; border:0; min-height:0; }
.ediara-mc-lesson-media--video .ediara-miv-player{ position:relative; width:100%; flex:1 1 100%; aspect-ratio:16/9; border-radius:var(--ediara-r-md,14px); overflow:hidden; background:var(--ediara-ink-950,#0B1020); }
.ediara-mc-lesson-media--video .ediara-miv-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
