/* Shared UI */
.nef-wrap{max-width:1100px;margin:24px auto;padding:0 16px}
.nef-title{margin:0;font-size:16px;line-height:1.2}
.nef-title a{text-decoration:none;color:#111827}
.nef-chips{display:flex;flex-wrap:wrap;gap:8px}
.nef-chip{display:inline-block;background:#f3f4f6;color:#374151;border-radius:9999px;padding:4px 10px;font-size:12px}
.r-btn-primary{display:inline-block;background:#f59e0b;color:#fff !important;border-radius:10px;padding:10px 14px;text-decoration:none;border:none;cursor:pointer}
.nef-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.nef-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.nef-card img{width:100%;height:140px;object-fit:cover}
.nef-body{padding:12px}
.nef-meta{font-size:12px;color:#6b7280}
.nef-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}
.nef-btn{display:inline-block;padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb;text-decoration:none;color:#111827;background:#fff}
.nef-pag{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.nef-pag a,.nef-pag span{padding:6px 10px;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#111827;background:#fff}
.nef-progress-wrap{height:8px;background:#e5e7eb;border-radius:9999px;overflow:hidden}
.nef-progress-bar{height:8px;background:#f59e0b;width:0}
.nef-hero{margin:10px 0 20px}
@media print{.nef-pag{display:none}}


/* === NEF override: lighter hover colors (scoped) === */
.nef-wrap .button.button-primary:hover,
.nef-wrap .wp-block-button__link:hover,
.nef-wrap .r-btn-primary:hover,
.nef-wrap .nef-btn--primary:hover,
.nef-wrap button[type="submit"].button-primary:hover,
.nef-wrap input[type="submit"].button-primary:hover,
.nef-wrap input[type="button"].button-primary:hover {
  background-color: #f2a53a !important; /* lighter than #e18f10 */
  border-color: #f2a53a !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Dark buttons/labels hover (lighter gray than #252525) */
.nef-wrap .nef-tab:hover,
.nef-wrap .button-dark:hover,
.nef-wrap .nef-chip:hover {
  background-color: #3b3b3b !important;
  border-color: #3b3b3b !important;
  color: #fff !important;
}
/* === End NEF override === */


/* === Ajustes adicionales solicitados === */

/* 1. Quitar subrayado del botón "Empezar" */
.nef-wrap .button:hover,
.nef-wrap .r-btn-primary:hover,
.nef-wrap .btn:hover {
  text-decoration: none !important;
}

/* 2. Hover del módulo seleccionado en amarillo más claro */
.nef-wrap .nef-tab.active:hover {
  background-color: #f2a53a !important;
  border-color: #f2a53a !important;
  color: #fff !important;
}

/* === Fin de ajustes adicionales === */



/* === Aesthetic Refresh (visual-only) — 2025-10-20 === */
:root {
  --nef-bg: #ffffff;
  --nef-text: #111827;       /* slate-900 */
  --nef-muted: #6b7280;      /* slate-500 */
  --nef-border: #e5e7eb;     /* slate-200 */
  --nef-chip: #f3f4f6;       /* slate-100 */
  --nef-primary: #f59e0b;    /* amber-500 (existing) */
  --nef-primary-600: #d97706;/* amber-600 */
  --nef-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* Typography and rhythm */
.nef-wrap {
  max-width: 1200px;
  padding: 0 20px;
}
.nef-title {
  font-size: 18px;
  letter-spacing: .2px;
}
.nef-title a:hover {
  color: var(--nef-primary);
}
.nef-meta, .nef-row { color: var(--nef-muted); }

/* Cards */
.nef-card {
  border: 1px solid var(--nef-border);
  border-radius: 14px;
  background: var(--nef-bg);
  box-shadow: 0 2px 10px rgba(0,0,0,.035);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nef-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--nef-shadow);
  border-color: rgba(245, 158, 11, .35); /* amber glow */
}
.nef-card img {
  height: 160px;
  object-fit: cover;
}
.nef-body { padding: 14px; }

/* Chips / tags */
.nef-chip {
  background: var(--nef-chip);
  color: #374151;
  border: 1px solid var(--nef-border);
  padding: 5px 12px;
  font-weight: 500;
}
.nef-chip:hover { border-color: rgba(0,0,0,.12); }

/* Buttons */
.nef-btn, .r-btn-primary {
  border-radius: 5px;
  padding: 10px 14px;
  font-weight: 600;
  line-height: 1.1;
}
.nef-btn {
  border: 1px solid var(--nef-border);
  background: #fff;
  color: var(--nef-text);
}
.nef-btn:hover {
  border-color: rgba(0,0,0,.22);
}
.r-btn-primary {
  background: var(--nef-primary);
  color: #fff;
  border: none;
}
.r-btn-primary:hover {
  background: var(--nef-primary-600);
}

/* Grid */
.nef-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}

/* Pagination */
.nef-pag {
  margin-top: 22px;
  gap: 10px;
}
.nef-pag a, .nef-pag span {
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--nef-border);
  background: #fff;
}
.nef-pag a:hover {
  border-color: rgba(0,0,0,.22);
}
.nef-pag .current {
  background: var(--nef-primary);
  color: #fff;
  border-color: var(--nef-primary);
}
/* === End Aesthetic Refresh (shared) === */



/* === Layout Acomodos pass — 2025-10-20 === */

/* Header spacing approximation */
.nef-wrap > h1:first-child {
  font-size: 28px;
  margin: 4px 0 6px;
}
.nef-wrap > .nef-subtitle { 
  margin: 0 0 16px; 
  color: var(--nef-muted, #6b7280);
}

/* Filters as a rounded card */
.nef-filters {
  background: #f9fafb;
  border: 1px solid var(--nef-border, #e5e7eb);
  border-radius: 16px;
  padding: 16px;
}
.nef-filters input[type="text"], .nef-filters select {
  border-radius: 14px;
  height: 42px;
}
.nef-filters .r-btn-primary {
  border-radius: 5px;
}
/* Right-aligned 'Mostrando X de Y' */
.nef-filters + .nef-meta {
  text-align: right;
  margin: 10px 2px 0;
}

/* Card structure closer to reference */
.nef-card {
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.nef-card > a { display:block; background: #f3f4f6; }
.nef-card img { display:block; width:100%; height: 180px; object-fit: cover; }
.nef-body { gap: 8px; }

/* Title weight/size */
.nef-title { font-size: 18px; font-weight: 800; }
.nef-title a { color: var(--nef-text, #111827); }

/* Meta separators look (•) already present; just spacing */
.nef-meta { margin-top: 6px; }

/* Chips style and selected-like look */
.nef-chip {
  background: #eef2f7;
  border: 1px solid var(--nef-border, #e5e7eb);
  color: #374151;
  padding: 6px 12px;
  border-radius: 9999px;
  font-weight: 600;
}
/* Slight amber accent for first chip, to evoke "Todos" look if used */
.nef-chips .nef-chip:first-child {
  background: rgba(245,158,11,.12);
  border-color: rgba(245,158,11,.25);
}

/* Grid spacing more generous like screenshot */
.nef-grid {
  gap: 24px;
}

/* Pagination spacing */
.nef-pag { margin-top: 28px; }



/* === Filled CTA button for course card (inside nef-body) === */
.nef-btn--ver {
  display: block;
  width: 100%;
  margin-top: 12px;
  text-align: center;
  font-weight: 600;
  border: none;
  border-radius: 5px;
  padding: 12px 0;
  background: var(--nef-primary, #f59e0b);
  color: #fff !important;
  transition: background .25s ease, transform .15s ease;
}
.nef-btn--ver:hover {
  background: var(--nef-primary-600, #d97706);
  transform: translateY(-1px);
}


/* === Spacing tune for cards === */
.nef-body{
  display: flex;
  flex-direction: column;
  gap: 10px;           /* space between title, chips/meta and button */
  padding: 16px;
}
.nef-title{ margin: 0; }
.nef-meta{ margin-top: 2px; font-size: 14px; color: var(--nef-muted, #6b7280); }
.nef-btn--ver{ margin-top: 8px; }


/* === Attributes row under title (author • level • duration) === */
.nef-row--attrs{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 14px;
  color: var(--nef-muted, #6b7280);
}
.nef-row--attrs .nef-attr-sep{ opacity: .6; }

/* === Module buttons radius fix === */
.nef-modulos .nef-modulo,
.nef-modulos button,
.nef-modulo-btn,
.nef-modulos a {
  border-radius: 10px !important;
}


/* NF custom: bordes redondeados para botones de envío y certificado */
.nef-wrap a.button.button-primary,
.nef-wrap button[type="submit"].button-primary,
.nef-wrap input[type="submit"].button-primary,
.nef-wrap input[type="button"].button-primary {
  border-radius: 10px !important;
}

