.npcm-course-sidebar{display:flex;flex-direction:column;gap:22px;width:100%;font-family:inherit;color:#14213d}.npcm-course-sidebar section{margin:0!important}.npcm-side-heading{display:flex;align-items:center;gap:10px;margin:0 0 13px}.npcm-side-heading span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef5ff;font-size:15px}.npcm-side-heading h3{margin:0!important;font-size:18px!important;line-height:1.25!important;color:#14213d!important;font-weight:800!important}.npcm-side-featured-card{padding:22px 18px 18px;border-radius:15px;background:linear-gradient(145deg,#0a2d64 0%,#123f8d 100%);color:#fff;box-shadow:0 12px 28px rgba(15,51,112,.18);overflow:hidden;position:relative}.npcm-side-featured-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-78px;top:-40px}.npcm-side-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(27,196,122,.15);border:1px solid rgba(91,226,163,.35);color:#8ff0bd;font-size:10px;font-weight:800;letter-spacing:.06em}.npcm-side-featured-card h4{position:relative;margin:16px 0 10px!important;color:var(--npcm-featured-title-color,#fff)!important;font-size:21px!important;line-height:1.12!important;font-weight:850!important}.npcm-side-featured-card p{position:relative;margin:0 0 14px!important;color:#dce8fb!important;font-size:13px!important;line-height:1.55!important}.npcm-side-featured-card ul{position:relative;margin:0 0 16px!important;padding:0!important;list-style:none!important}.npcm-side-featured-card li{display:flex;gap:7px;align-items:flex-start;margin:8px 0!important;color:#f4f8ff!important;font-size:12px!important;line-height:1.4!important}.npcm-side-featured-card li span{display:grid;place-items:center;flex:0 0 15px;width:15px;height:15px;margin-top:1px;border-radius:50%;background:#28d17c;color:#fff;font-size:10px;font-weight:900}.npcm-side-button{position:relative;display:flex;justify-content:center;align-items:center;width:100%;padding:12px 14px;border-radius:9px;background:#2468ee;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800;box-shadow:0 8px 18px rgba(9,43,113,.22);transition:.2s}.npcm-side-button:hover{transform:translateY(-1px);background:#155eef;color:#fff!important}.npcm-side-card{padding:18px;border:1px solid #dfe8f2;border-radius:15px;background:#fff;box-shadow:0 9px 24px rgba(15,23,42,.06)}.npcm-route-list{position:relative;margin-left:5px}.npcm-route-list:before{content:"";position:absolute;left:7px;top:8px;bottom:18px;width:2px;background:#d9e3ef}.npcm-route-item{position:relative;display:flex;gap:12px;padding:0 0 17px}.npcm-route-dot{position:relative;z-index:2;flex:0 0 16px;width:16px;height:16px;margin-top:2px;border-radius:50%;border:2px solid #94a3b8;background:#fff}.npcm-route-item.available .npcm-route-dot{border-color:#25c875;box-shadow:0 0 0 3px #e9fbf1}.npcm-route-item.production .npcm-route-dot{border-color:#f59e0b}.npcm-route-item strong{display:block;color:#14213d;font-size:13px;line-height:1.3}.npcm-route-item small{display:block;margin-top:2px;color:#7b8ca4;font-size:10.5px;line-height:1.35}.npcm-route-item em{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:#edf1f6;color:#708197;font-size:8px;font-style:normal;font-weight:800}.npcm-route-item.available em{background:#e4f8eb;color:#2d9b58}.npcm-route-item.production em{background:#fff0d5;color:#b97300}.npcm-side-link{display:block;margin-top:4px;color:#155eef!important;text-align:center;text-decoration:none!important;font-size:11px;font-weight:800}.npcm-article-list{margin:0!important;padding:0!important;list-style:none!important}.npcm-article-list li{display:flex;gap:10px;align-items:flex-start;padding:11px 0!important;margin:0!important;border-bottom:1px solid #edf2f7}.npcm-article-list li:last-child{border-bottom:0}.npcm-article-list li>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#edf4ff;color:#155eef;font-size:10px;font-weight:800}.npcm-article-list a{color:#155eef!important;text-decoration:none!important;font-size:11px;font-weight:750;line-height:1.4}.npcm-instructor-card{text-align:center}.npcm-instructor-photo{width:88px;height:88px;object-fit:cover;border-radius:50%;border:4px solid #edf4ff;margin:2px auto 12px}.npcm-instructor-card h4{margin:0 0 3px!important;font-size:18px!important}.npcm-instructor-card>strong{display:block;color:#155eef;font-size:12px}.npcm-instructor-card p,.npcm-help-card p{color:#64748b!important;font-size:12px!important;line-height:1.55!important}.npcm-help-card{background:linear-gradient(145deg,#f8fbff,#eef5ff)}

/* v3.3.0 — integración automática con la barra lateral de Astra */
body.single-sfwd-courses .npcm-auto-sidebar-widget,
body.single-sfwd-courses .npcm-auto-sidebar-source {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.single-sfwd-courses .widget.npcm-auto-sidebar-widget {
    width: 100% !important;
}

/* v3.4.0 — personalización avanzada y mejoras móviles */
.npcm-side-featured-card{background:linear-gradient(145deg,var(--npcm-featured-bg-start,#0a2d64),var(--npcm-featured-bg-end,#123f8d))!important;padding-top:26px!important}
.npcm-side-featured-card .npcm-side-button{background:var(--npcm-featured-button-bg,#2468ee)!important;color:var(--npcm-featured-button-text,#fff)!important}
.npcm-side-badge{background:var(--npcm-featured-badge-bg,rgba(27,196,122,.15))!important;color:var(--npcm-featured-badge-text,#8ff0bd)!important}
.npcm-article-list li>div{min-width:0}.npcm-article-list small{display:block;margin-top:3px;color:#8a98aa;font-size:9px;line-height:1.3}
.npcm-instructor-photo{width:104px!important;height:104px!important;box-shadow:0 8px 22px rgba(15,23,42,.12)}
.npcm-side-card,.npcm-side-featured-card{transition:transform .2s ease,box-shadow .2s ease}.npcm-side-card:hover,.npcm-side-featured-card:hover{transform:translateY(-2px)}
@media(max-width:768px){
  .npcm-course-sidebar{gap:22px!important}
  .npcm-side-featured-card{padding:30px 24px 24px!important;border-radius:18px!important}
  .npcm-side-featured-card h4{font-size:23px!important;margin-top:20px!important}
  .npcm-side-featured-card p{font-size:15px!important}
  .npcm-side-featured-card li{font-size:14px!important}
  .npcm-side-button{min-height:52px;font-size:16px!important}
  .npcm-side-card{padding:24px!important;border-radius:18px!important}
  .npcm-side-heading h3{font-size:21px!important}
  .npcm-route-item strong{font-size:16px!important}
  .npcm-route-item small{font-size:13px!important}
  .npcm-instructor-photo{width:118px!important;height:118px!important}
  .npcm-instructor-card h4{font-size:23px!important}
  .npcm-instructor-card>strong{font-size:15px!important}
  .npcm-instructor-card p,.npcm-help-card p{font-size:15px!important}
  .npcm-article-list a{font-size:14px!important}
  .npcm-article-list small{font-size:11px!important}
  body.single-sfwd-courses #ast-scroll-top{width:42px!important;height:42px!important;right:14px!important;bottom:18px!important;font-size:18px!important}
}

/* 3.4.1 - Foto de instructor nítida */
.npcm-instructor-photo{display:block;max-width:none!important;image-rendering:auto!important;object-position:center!important;}


/* v3.5.0 — Tarjeta premium del instructor */
.npcm-instructor-card{position:relative;overflow:hidden;padding:22px!important}
.npcm-instructor-card:before{content:"";position:absolute;inset:0 0 auto;height:92px;background:linear-gradient(135deg,#eef5ff,#f8fbff);z-index:0}
.npcm-instructor-card>*{position:relative;z-index:1}
.npcm-instructor-card .npcm-side-heading{justify-content:flex-start}
.npcm-instructor-photo{width:130px!important;height:130px!important;margin:10px auto 14px!important;border:5px solid #fff!important;box-shadow:0 12px 30px rgba(15,23,42,.16)!important;background:#fff}
.npcm-instructor-card h4{font-size:21px!important;font-weight:850!important;letter-spacing:-.02em}
.npcm-instructor-verified{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:8px auto 5px;padding:6px 10px;border:1px solid #bfd3ff;border-radius:999px;background:#edf4ff;color:#155eef!important;font-size:10px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 4px 12px rgba(21,94,239,.08)}
.npcm-instructor-verified>span{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#2563eb;color:#fff;font-size:12px;font-weight:900;line-height:1}
.npcm-instructor-role{display:block;margin-top:2px;color:#155eef!important;font-size:13px!important;font-weight:800!important}
.npcm-instructor-rating{display:flex;flex-direction:column;align-items:center;gap:3px;margin:12px 0 10px}
.npcm-stars{--npcm-rating:5;position:relative;display:inline-block;font-size:20px;line-height:1;letter-spacing:2px;color:#d8e0ea}
.npcm-stars:before{content:"★★★★★";position:absolute;inset:0 auto 0 0;width:calc(var(--npcm-rating) / 5 * 100%);overflow:hidden;color:#f6b800;white-space:nowrap}
.npcm-instructor-rating small{color:#64748b;font-size:10.5px;font-weight:750}
.npcm-instructor-description{margin:0 0 14px!important;color:#55657a!important;font-size:12px!important;line-height:1.6!important}
.npcm-instructor-badges{display:grid;gap:8px;margin:0 0 14px!important;padding:0!important;list-style:none!important;text-align:left}
.npcm-instructor-badges li{margin:0!important;padding:8px 10px!important;border:1px solid #e4ebf3;border-radius:9px;background:#f8fbff;color:#24344d!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important}
.npcm-instructor-motto{margin:14px 0!important;padding:12px 14px!important;border-left:3px solid #155eef;border-radius:0 9px 9px 0;background:#eef5ff;color:#17315d!important;font-size:12px!important;font-weight:800!important;font-style:normal!important;line-height:1.45!important;text-align:left}
.npcm-instructor-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:10px 12px;border-radius:9px;background:#155eef;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(21,94,239,.18);transition:.2s}
.npcm-instructor-button:hover{transform:translateY(-1px);background:#0d47b5;color:#fff!important}
@media(max-width:768px){
  .npcm-instructor-card{padding:28px 24px!important}
  .npcm-instructor-card:before{height:112px}
  .npcm-instructor-photo{width:150px!important;height:150px!important;margin-top:12px!important}
  .npcm-instructor-card h4{font-size:26px!important}
  .npcm-instructor-verified{margin-top:9px;padding:7px 12px;font-size:12px!important}
  .npcm-instructor-verified>span{width:20px;height:20px;flex-basis:20px;font-size:13px}
  .npcm-instructor-role{font-size:16px!important}
  .npcm-stars{font-size:24px}
  .npcm-instructor-rating small{font-size:13px}
  .npcm-instructor-description{font-size:15px!important;line-height:1.65!important}
  .npcm-instructor-badges li{padding:11px 13px!important;font-size:14px!important}
  .npcm-instructor-motto{padding:15px 16px!important;font-size:15px!important}
  .npcm-instructor-button{min-height:52px;font-size:16px}
}


/* v3.5.1 — Corrección definitiva de emojis/iconos en el frontend
   WordPress puede convertir los emojis en imágenes Twemoji. Algunos estilos
   globales de Astra/LearnDash ampliaban esas imágenes al ancho del panel. */
.npcm-course-sidebar img.emoji,
.npcm-course-sidebar img.wp-smiley,
.npcm-course-sidebar .npcm-instructor-badges img.emoji,
.npcm-course-sidebar .npcm-instructor-badges img.wp-smiley,
.npcm-course-sidebar .npcm-side-heading img.emoji,
.npcm-course-sidebar .npcm-side-heading img.wp-smiley {
  display:inline-block!important;
  width:1.15em!important;
  height:1.15em!important;
  min-width:0!important;
  max-width:1.15em!important;
  min-height:0!important;
  max-height:1.15em!important;
  margin:0 .22em 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  object-fit:contain!important;
  vertical-align:-.16em!important;
}
.npcm-course-sidebar .npcm-side-heading>span img.emoji,
.npcm-course-sidebar .npcm-side-heading>span img.wp-smiley {
  width:1em!important;
  height:1em!important;
  max-width:1em!important;
  max-height:1em!important;
  margin:0!important;
}
.npcm-instructor-badges li {
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  overflow:hidden!important;
}
.npcm-instructor-badges li img.emoji,
.npcm-instructor-badges li img.wp-smiley {
  flex:0 0 1.15em!important;
}

/* =========================================================
   SMART SIDEBAR — v3.6.0
   ========================================================= */
.npcm-smart-card{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);overflow:hidden}
.npcm-smart-progress{padding:4px 0 16px}
.npcm-smart-progress>div:first-child{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px}
.npcm-smart-progress strong{font-size:28px;line-height:1;color:#155eef}
.npcm-smart-progress span{font-size:12px;color:#64748b;font-weight:700}
.npcm-smart-progress-track{height:9px;background:#e4ebf5;border-radius:999px;overflow:hidden}
.npcm-smart-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#155eef,#4f8cff);border-radius:999px}
.npcm-smart-next{display:flex;align-items:center;gap:10px;padding:13px 12px;margin:3px 0 12px;background:#0f2f67;color:#fff!important;border-radius:12px;text-decoration:none!important;box-shadow:0 7px 18px rgba(15,47,103,.14)}
.npcm-smart-next>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);font-size:13px}
.npcm-smart-next div{min-width:0;flex:1}.npcm-smart-next small{display:block;color:#bcd2ff;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.npcm-smart-next strong{display:block;color:#fff;font-size:13px;line-height:1.25;margin-top:3px}.npcm-smart-next b{font-size:18px}
.npcm-smart-tip{display:flex;gap:10px;padding:12px;margin:0 0 10px;background:#fff8df;border:1px solid #f6e6a9;border-radius:11px}
.npcm-smart-tip>span{font-size:18px;line-height:1}.npcm-smart-tip p{margin:0!important;color:#5d5130!important;font-size:12px!important;line-height:1.45!important}
.npcm-smart-forum{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid #d7e5ff;border-radius:10px;color:#155eef!important;font-size:12px;font-weight:800;text-decoration:none!important;background:#f5f9ff}
.npcm-smart-forum b{margin-left:auto;font-size:16px}.npcm-smart-forum:hover{background:#eaf2ff}
.npcm-smart-guest{text-align:center;padding:6px 0 2px}.npcm-smart-guest strong{display:block;color:#14213d;font-size:14px}.npcm-smart-guest p{font-size:12px!important;color:#64748b!important;line-height:1.45!important;margin:7px 0 12px!important}
@media(max-width:768px){.npcm-smart-progress strong{font-size:32px}.npcm-smart-next{padding:16px 14px}.npcm-smart-next strong{font-size:16px}.npcm-smart-tip p,.npcm-smart-forum{font-size:15px!important}}

/* =========================================================
   v5.12.8 — ACCESO NATIVO LEARNDASH · TARJETA PREMIUM NEXTPING

   El HTML funcional sigue siendo de LearnDash. Estas reglas SOLO cambian
   presentación. course-access.js mueve el mismo rail y conserva href,
   formularios, action, nonce, matrícula y compra nativos.
   ========================================================= */
.npcm-native-access-host{
  position:relative;
  overflow:hidden;
  padding:18px;
  border:1px solid #dce6f3;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 38px rgba(18,45,86,.09);
}
.npcm-native-access-host[hidden]{display:none!important}
.npcm-native-access-host:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#123b9f 0%,#2463f3 62%,#55a3ff 100%);
  pointer-events:none;
}
.npcm-native-access-host:after{
  content:"";
  position:absolute;
  right:-42px;
  top:-44px;
  width:118px;
  height:118px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(36,99,243,.08) 0 42%,rgba(36,99,243,.025) 43% 62%,transparent 63%);
  pointer-events:none;
}
.npcm-native-access-host>*{position:relative;z-index:1}

.npcm-access-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.npcm-access-heading{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
  margin:0!important;
}
.npcm-access-heading .npcm-access-heading-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  border:1px solid #d9e6fb!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#f6f9ff,#eaf2ff)!important;
  box-shadow:0 6px 15px rgba(36,99,243,.08)!important;
  font-size:18px!important;
}
.npcm-access-heading-copy{min-width:0}
.npcm-access-heading-copy small{
  display:block;
  margin:0 0 2px;
  color:#2463f3;
  font-size:7px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.12em;
}
.npcm-access-heading-copy h3{
  margin:0!important;
  color:#10213d!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:-.025em;
}
.npcm-access-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:25px;
  padding:0 9px;
  border:1px solid #cfe0ff;
  border-radius:999px;
  background:#eef4ff;
  color:#1d5ce0;
  font-size:7px;
  font-weight:900;
  line-height:1;
  letter-spacing:.06em;
  white-space:nowrap;
}
.npcm-native-access-host.is-free .npcm-access-state{
  border-color:#c8ead8;
  background:#ecfaf3;
  color:#16854b;
}

.npcm-access-course{
  margin:0 0 12px;
  padding:12px 13px;
  border:1px solid #e2e9f3;
  border-radius:14px;
  background:linear-gradient(145deg,#fbfdff,#f5f8fd);
}
.npcm-access-course-kicker{
  display:block;
  margin-bottom:4px;
  color:#7d8da3;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}
.npcm-access-course strong{
  display:block;
  color:#13233e;
  font-size:15px;
  font-weight:900;
  line-height:1.25;
}
.npcm-access-course small{
  display:block;
  margin-top:4px;
  color:#718198;
  font-size:10px;
  font-weight:600;
  line-height:1.35;
}

.npcm-native-ld-shell,
.npcm-native-ld-slot{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  background:transparent;
}
.npcm-native-access-host .npcm-native-ld-rail,
.npcm-native-access-host aside.ld-layout__sidebar{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Oferta / matrícula nativa convertida visualmente en una mini tarjeta. */
.npcm-native-access-host .ld-enrollment{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:14px!important;
  background:linear-gradient(145deg,#f7faff,#f1f6ff)!important;
  border:1px solid #dfe8f7!important;
  border-radius:14px!important;
  box-shadow:none!important;
  color:#20314d!important;
}
.npcm-native-access-host .ld-enrollment *,
.npcm-native-access-host .ld-enrollment form,
.npcm-native-access-host .ld-enrollment__join,
.npcm-native-access-host .ld-enrollment__join-form{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.npcm-native-access-host .npcm-access-price-label{
  display:block!important;
  margin:0 0 4px!important;
  color:#7d8da3!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.npcm-native-access-host .npcm-access-price-value{
  display:block!important;
  margin:0 0 10px!important;
  color:#142541!important;
  font-size:26px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.npcm-native-access-host .npcm-access-price-value.is-free{color:#14864a!important}

/* CTA NATIVO: mismo href/form/action/nonce; solo cambia la presentación. */
.npcm-native-access-host .ld-enrollment__join,
.npcm-native-access-host .ld-enrollment__join-form,
.npcm-native-access-host .ld-enrollment form{
  display:block!important;
  width:100%!important;
}
.npcm-native-access-host .ld-enrollment__join-button,
.npcm-native-access-host .ld-button,
.npcm-native-access-host .learndash-wrapper .ld-button,
.npcm-native-access-host .ld-enrollment a[class*="button"],
.npcm-native-access-host .ld-enrollment button,
.npcm-native-access-host .ld-enrollment input[type="submit"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:48px!important;
  margin:10px 0 0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#173fae 0%,#2463f3 58%,#3276ff 100%)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 9px 20px rgba(36,99,243,.22)!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.npcm-native-access-host .ld-enrollment__join-button:hover,
.npcm-native-access-host .ld-button:hover,
.npcm-native-access-host .ld-enrollment a[class*="button"]:hover,
.npcm-native-access-host .ld-enrollment button:hover,
.npcm-native-access-host .ld-enrollment input[type="submit"]:hover{
  transform:translateY(-1px)!important;
  color:#fff!important;
  background:linear-gradient(135deg,#12378f,#1d59df)!important;
  box-shadow:0 12px 24px rgba(26,77,190,.27)!important;
}
.npcm-native-access-host .ld-enrollment__join-button:focus-visible,
.npcm-native-access-host .ld-button:focus-visible,
.npcm-native-access-host .ld-enrollment button:focus-visible,
.npcm-native-access-host .ld-enrollment input[type="submit"]:focus-visible{
  outline:3px solid rgba(59,130,246,.24)!important;
  outline-offset:2px!important;
}

.npcm-native-access-host .ld-enrollment__login{
  margin:9px 0 0!important;
  text-align:center!important;
}
.npcm-native-access-host .ld-enrollment__login a,
.npcm-native-access-host a.ld-login{
  color:#1f5bd9!important;
  font-size:10px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.npcm-native-access-host .ld-enrollment__login a:hover,
.npcm-native-access-host a.ld-login:hover{color:#123f9e!important;text-decoration:underline!important}

/* Detalles nativos convertidos en resumen compacto. */
.npcm-native-access-host .ld-details{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px 0 0!important;
  padding:13px!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  border-radius:14px!important;
  box-shadow:none!important;
  color:#20314d!important;
}
.npcm-native-access-host .npcm-access-includes-title{
  display:block!important;
  margin:0 0 9px!important;
  color:#172842!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
}
.npcm-native-access-host .ld-details ul,
.npcm-native-access-host .ld-details ol{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.npcm-native-access-host .ld-details li{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
  padding:8px 9px!important;
  background:#f7f9fc!important;
  border:1px solid #edf1f6!important;
  border-radius:10px!important;
  color:#5d6d83!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.npcm-native-access-host .ld-details svg,
.npcm-native-access-host .ld-details i{color:#2463f3!important;flex:0 0 auto}
.npcm-native-access-host .ld-details p,
.npcm-native-access-host .ld-details span{color:inherit}

.npcm-native-register{
  display:flex;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
  margin-top:11px;
  color:#7a8799;
  font-size:10px;
  line-height:1.4;
  text-align:center;
}
.npcm-native-register a{color:#155eef!important;font-weight:850!important;text-decoration:none!important}
.npcm-native-register a:hover{color:#103f9f!important;text-decoration:underline!important}

@media(max-width:768px){
  .npcm-native-access-host{padding:17px;border-radius:18px}
  .npcm-access-course{padding:11px 12px}
  .npcm-native-access-host .ld-enrollment{padding:13px!important}
  .npcm-native-access-host .npcm-access-price-value{font-size:25px!important}
  .npcm-native-access-host .ld-details{padding:12px!important}
  .npcm-native-access-host .ld-enrollment__join-button,
  .npcm-native-access-host .ld-button,
  .npcm-native-access-host .ld-enrollment a[class*="button"],
  .npcm-native-access-host .ld-enrollment button,
  .npcm-native-access-host .ld-enrollment input[type="submit"]{min-height:48px!important;font-size:13px!important}
}
@media(max-width:420px){
  .npcm-access-top{align-items:flex-start;flex-direction:column}
  .npcm-access-state{margin-left:48px}
  .npcm-native-access-host .ld-details ul,
  .npcm-native-access-host .ld-details ol{grid-template-columns:1fr!important}
}

/* Recuperar el espacio que ocupaba el rail dentro del layout moderno. Solo se
   aplica después de que JS haya encontrado y movido realmente el rail. */
body.single-sfwd-courses.npcm-native-ld-access #primary .npcm-ld-layout-single{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:none!important;
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
  justify-items:stretch!important;
}
body.single-sfwd-courses.npcm-native-ld-access #primary .npcm-ld-layout-single > .npcm-ld-layout-main{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex:1 1 100%!important;
  grid-column:1 / -1!important;
  grid-row:auto!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.single-sfwd-courses.npcm-native-ld-access #primary .npcm-ld-layout-single > .ld-layout__content,
body.single-sfwd-courses.npcm-native-ld-access #primary .npcm-ld-layout-single > .ld-layout__main{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex-basis:100%!important;
  grid-column:1 / -1!important;
}

@media(max-width:768px){
  .npcm-native-access-host{padding:20px 18px;border-radius:18px}
  .npcm-access-top{gap:9px;margin-bottom:16px}
  .npcm-access-heading .npcm-access-heading-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
  .npcm-access-heading-copy h3{font-size:18px!important}
  .npcm-access-state{min-height:24px;padding:0 8px;font-size:7.5px}
  .npcm-native-access-host .npcm-access-price-value{font-size:25px!important}
  .npcm-native-access-host .ld-enrollment__join-button,
  .npcm-native-access-host .ld-button,
  .npcm-native-access-host .ld-enrollment button,
  .npcm-native-access-host .ld-enrollment input[type="submit"]{min-height:50px!important;font-size:14px!important}
  .npcm-native-register{font-size:12px}
}
@media(max-width:420px){
  .npcm-access-top{align-items:flex-start;flex-direction:column}
  .npcm-access-state{margin-left:49px}
}


/* =========================================================
   v5.12.9 — ACCESO NATIVO LEARNDASH · COMPACTO NEXTPING
   SOLO presentación. El rail, CTA, formularios y nonces siguen siendo nativos.
   ========================================================= */
.npcm-native-access-host{
  padding:14px!important;
  border-radius:18px!important;
  box-shadow:0 13px 30px rgba(18,45,86,.085)!important;
}
.npcm-native-access-host:after{
  right:-34px!important;
  top:-36px!important;
  width:96px!important;
  height:96px!important;
}
.npcm-access-top{
  gap:8px!important;
  margin-bottom:9px!important;
}
.npcm-access-heading{
  gap:8px!important;
}
.npcm-access-heading .npcm-access-heading-icon{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  font-size:16px!important;
}
.npcm-access-heading-copy small{
  margin-bottom:1px!important;
  font-size:6.5px!important;
}
.npcm-access-heading-copy h3{
  font-size:16px!important;
}
.npcm-access-state{
  min-height:23px!important;
  padding:0 8px!important;
  font-size:6.5px!important;
}

/* El curso deja de ser una tarjeta interna grande: queda como resumen compacto. */
.npcm-access-course{
  margin:0 0 9px!important;
  padding:0 2px 9px!important;
  border:0!important;
  border-bottom:1px solid #e7edf5!important;
  border-radius:0!important;
  background:transparent!important;
}
.npcm-access-course-kicker{
  margin-bottom:2px!important;
  font-size:6.5px!important;
}
.npcm-access-course strong{
  font-size:14px!important;
}
.npcm-access-course small{
  margin-top:2px!important;
  font-size:9px!important;
}

/* Oferta / precio nativos más compactos. */
.npcm-native-access-host .ld-enrollment{
  padding:11px 12px!important;
  border-radius:12px!important;
}
.npcm-native-access-host .npcm-access-price-label{
  margin-bottom:2px!important;
  font-size:7px!important;
}
.npcm-native-access-host .npcm-access-price-value{
  margin-bottom:6px!important;
  font-size:23px!important;
}

/* CTA NATIVO: mismo enlace/formulario, solo menos alto. */
.npcm-native-access-host .ld-enrollment__join-button,
.npcm-native-access-host .ld-button,
.npcm-native-access-host .learndash-wrapper .ld-button,
.npcm-native-access-host .ld-enrollment a[class*="button"],
.npcm-native-access-host .ld-enrollment button,
.npcm-native-access-host .ld-enrollment input[type="submit"]{
  min-height:43px!important;
  margin-top:7px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  box-shadow:0 7px 16px rgba(36,99,243,.20)!important;
}
.npcm-native-access-host .ld-enrollment__login{
  margin-top:7px!important;
}
.npcm-native-access-host .ld-enrollment__login a,
.npcm-native-access-host a.ld-login{
  font-size:9.5px!important;
}

/* “Este curso incluye” queda en una sola mini tarjeta compacta. */
.npcm-native-access-host .ld-details{
  margin-top:9px!important;
  padding:10px 11px!important;
  border-radius:12px!important;
}
.npcm-native-access-host .npcm-access-includes-title{
  margin-bottom:7px!important;
  font-size:11.5px!important;
}
.npcm-native-access-host .ld-details ul,
.npcm-native-access-host .ld-details ol{
  gap:6px!important;
}
.npcm-native-access-host .ld-details li{
  gap:5px!important;
  padding:6px 7px!important;
  border-radius:9px!important;
  font-size:9px!important;
}
.npcm-native-register{
  margin-top:8px!important;
  font-size:9px!important;
}

@media(max-width:768px){
  .npcm-native-access-host{
    padding:15px!important;
    border-radius:17px!important;
  }
  .npcm-access-top{
    gap:8px!important;
    margin-bottom:10px!important;
  }
  .npcm-access-heading .npcm-access-heading-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .npcm-access-heading-copy h3{
    font-size:16px!important;
  }
  .npcm-access-course{
    margin-bottom:9px!important;
    padding-bottom:9px!important;
  }
  .npcm-native-access-host .ld-enrollment{
    padding:11px!important;
  }
  .npcm-native-access-host .npcm-access-price-value{
    font-size:23px!important;
  }
  .npcm-native-access-host .ld-enrollment__join-button,
  .npcm-native-access-host .ld-button,
  .npcm-native-access-host .ld-enrollment a[class*="button"],
  .npcm-native-access-host .ld-enrollment button,
  .npcm-native-access-host .ld-enrollment input[type="submit"]{
    min-height:45px!important;
    font-size:12.5px!important;
  }
  .npcm-native-access-host .ld-details{
    padding:10px!important;
  }
}


/* =========================================================
   v5.12.10 — SIDEBAR DE CURSO · TABLET / iPAD
   Corrige el caso Astra donde #secondary pasa a dos columnas pero todo
   NextPing vive dentro de un único widget. El widget ocupa la fila completa
   y las tarjetas internas se distribuyen en dos columnas reales.
   SOLO presentación: no toca LearnDash, matrículas ni WooCommerce.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  body.single-sfwd-courses #secondary > .widget.npcm-auto-sidebar-widget,
  body.single-sfwd-courses #secondary > .npcm-auto-sidebar-widget,
  body.single-sfwd-courses .sidebar-main > .widget.npcm-auto-sidebar-widget,
  body.single-sfwd-courses .sidebar-main > .npcm-auto-sidebar-widget{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-auto-sidebar-widget .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-auto-sidebar-source .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-course-sidebar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:20px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-course-sidebar > section{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  body.single-sfwd-courses .npcm-native-access-host{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }

  body.single-sfwd-courses .npcm-access-top{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  body.single-sfwd-courses .npcm-access-heading{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-access-heading-copy{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-access-heading-copy small,
  body.single-sfwd-courses .npcm-access-heading-copy h3,
  body.single-sfwd-courses .npcm-access-course strong,
  body.single-sfwd-courses .npcm-access-course small{
    word-break:normal!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
  }

  body.single-sfwd-courses .npcm-access-heading-copy h3{
    font-size:17px!important;
    line-height:1.12!important;
  }

  body.single-sfwd-courses .npcm-access-state{
    flex:0 0 auto!important;
    margin-left:auto!important;
    white-space:nowrap!important;
  }

  body.single-sfwd-courses .npcm-native-access-host .ld-details ul,
  body.single-sfwd-courses .npcm-native-access-host .ld-details ol{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Móvil conserva una tarjeta por fila, como en la versión validada. */
@media (max-width:767px){
  body.single-sfwd-courses .npcm-auto-sidebar-widget .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-auto-sidebar-source .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-course-sidebar{
    display:flex!important;
    flex-direction:column!important;
    gap:22px!important;
  }
}


/* =========================================================
   v5.12.11 — TABLET / iPAD · ACCESO A ANCHO COMPLETO
   El portal nativo de LearnDash ocupa toda la primera fila del sidebar.
   Las demás tarjetas continúan en dos columnas. Solo presentación.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  /* El acceso es la tarjeta principal: siempre ocupa las dos columnas. */
  body.single-sfwd-courses .npcm-course-sidebar > .npcm-native-access-host{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* Composición horizontal aprovechando el ancho real del iPad/tablet. */
  body.single-sfwd-courses .npcm-native-access-host.is-ready{
    display:grid!important;
    grid-template-columns:minmax(220px,.82fr) minmax(0,1.68fr)!important;
    column-gap:18px!important;
    row-gap:12px!important;
    align-items:stretch!important;
    padding:18px 20px!important;
  }
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-top{
    grid-column:1 / -1!important;
    margin:0!important;
  }
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-course{
    grid-column:1!important;
    grid-row:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-height:100%!important;
    margin:0!important;
    padding:14px 15px!important;
  }
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-ld-shell{
    grid-column:2!important;
    grid-row:2!important;
    align-self:stretch!important;
    min-width:0!important;
  }
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-register{
    grid-column:2!important;
    margin-top:-3px!important;
  }

  /* Precio/CTA e incluye, ambos NATIVOS, se reparten el ancho disponible. */
  body.single-sfwd-courses .npcm-native-access-host .npcm-native-ld-rail,
  body.single-sfwd-courses .npcm-native-access-host aside.ld-layout__sidebar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  body.single-sfwd-courses .npcm-native-access-host .ld-enrollment,
  body.single-sfwd-courses .npcm-native-access-host .ld-details{
    min-width:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
  }
  body.single-sfwd-courses .npcm-native-access-host .ld-enrollment{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  body.single-sfwd-courses .npcm-native-access-host .ld-details{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  body.single-sfwd-courses .npcm-native-access-host .ld-details ul,
  body.single-sfwd-courses .npcm-native-access-host .ld-details ol{
    grid-template-columns:1fr!important;
  }

  /* Evita cualquier corte de palabras de la cabecera. */
  body.single-sfwd-courses .npcm-access-heading-copy h3,
  body.single-sfwd-courses .npcm-access-heading-copy small,
  body.single-sfwd-courses .npcm-access-course strong,
  body.single-sfwd-courses .npcm-access-course small{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  body.single-sfwd-courses .npcm-access-heading-copy h3{
    white-space:nowrap!important;
  }
}

/* Tablets estrechas: sigue a ancho completo, pero apila el interior para no comprimir. */
@media (min-width:768px) and (max-width:850px){
  body.single-sfwd-courses .npcm-native-access-host.is-ready{
    grid-template-columns:1fr!important;
  }
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-top,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-course,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-ld-shell,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-register{
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* =========================================================
   v5.12.12 — TABLET / iPAD · REJILLA TIPO BLOG
   En tablet deja de tratar el bloque NextPing como un sidebar estrecho.
   #primary y #secondary pasan a ancho completo y las tarjetas NextPing
   se presentan en una rejilla de dos columnas, igual que el blog.
   Escritorio y móvil permanecen sin cambios.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  /* Astra puede conservar ancho lateral aunque el primary ya haya saltado arriba. */
  body.single-sfwd-courses #primary,
  body.single-sfwd-courses #secondary{
    width:100%!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    float:none!important;
  }

  body.single-sfwd-courses #secondary{
    clear:both!important;
    margin:28px 0 0!important;
    padding:0!important;
  }

  body.single-sfwd-courses #secondary .sidebar-main,
  body.single-sfwd-courses #secondary .widget-area,
  body.single-sfwd-courses #secondary > .widget,
  body.single-sfwd-courses #secondary > .widget.npcm-auto-sidebar-widget,
  body.single-sfwd-courses .sidebar-main > .widget.npcm-auto-sidebar-widget,
  body.single-sfwd-courses .npcm-auto-sidebar-widget,
  body.single-sfwd-courses .npcm-auto-sidebar-source{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Mismo patrón visual que Blog Builder: dos tarjetas por fila. */
  body.single-sfwd-courses .npcm-auto-sidebar-widget .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-auto-sidebar-source .npcm-course-sidebar,
  body.single-sfwd-courses .npcm-course-sidebar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:24px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-course-sidebar > section,
  body.single-sfwd-courses .npcm-course-sidebar > .npcm-native-access-host{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  /* La tarjeta de acceso vuelve a su composición compacta vertical,
     adecuada para una celda real del 50%, en vez de estirarse a toda fila. */
  body.single-sfwd-courses .npcm-native-access-host.is-ready{
    display:block!important;
    padding:16px!important;
  }

  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-top,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-course,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-ld-shell,
  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-native-register{
    display:initial;
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
  }

  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-top{
    display:flex!important;
    margin-bottom:10px!important;
  }

  body.single-sfwd-courses .npcm-native-access-host.is-ready > .npcm-access-course{
    display:block!important;
    min-height:0!important;
    margin:0 0 9px!important;
    padding:0 0 9px!important;
    border-bottom:1px solid #e8edf5!important;
  }

  body.single-sfwd-courses .npcm-native-access-host .npcm-native-ld-rail,
  body.single-sfwd-courses .npcm-native-access-host aside.ld-layout__sidebar{
    display:block!important;
    width:100%!important;
  }

  body.single-sfwd-courses .npcm-native-access-host .ld-enrollment,
  body.single-sfwd-courses .npcm-native-access-host .ld-details{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
  }

  body.single-sfwd-courses .npcm-native-access-host .ld-details{
    margin-top:10px!important;
  }

  body.single-sfwd-courses .npcm-native-access-host .ld-details ul,
  body.single-sfwd-courses .npcm-native-access-host .ld-details ol{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body.single-sfwd-courses .npcm-access-heading-copy h3{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}


/* =========================================================
   v5.12.13 — TABLET / iPAD · CONTENEDOR ASTRA A ANCHO REAL
   La v5.12.12 ya distribuía las tarjetas en dos columnas, pero Astra
   mantenía #primary/#secondary dentro de su layout lateral. Aquí se apila
   primero el contenedor principal de Astra y después se aplica la rejilla
   NextPing. SOLO tablet; escritorio y móvil no cambian.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  /* El wrapper que contiene primary + secondary deja de ser una rejilla/sidebar. */
  body.single-sfwd-courses .site-content > .ast-container,
  body.single-sfwd-courses #content > .ast-container,
  body.single-sfwd-courses .site-content .ast-container{
    display:block!important;
    grid-template-columns:1fr!important;
    grid-template-areas:none!important;
  }

  body.single-sfwd-courses #primary,
  body.single-sfwd-courses #secondary{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* El sidebar interno tampoco puede conservar columnas heredadas de Astra. */
  body.single-sfwd-courses #secondary .sidebar-main,
  body.single-sfwd-courses #secondary .widget-area{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.single-sfwd-courses #secondary .npcm-auto-sidebar-widget,
  body.single-sfwd-courses #secondary .npcm-auto-sidebar-source,
  body.single-sfwd-courses #secondary .npcm-course-sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* Rejilla tipo blog: dos tarjetas iguales sobre TODO el ancho disponible. */
  body.single-sfwd-courses #secondary .npcm-course-sidebar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:start!important;
  }

  body.single-sfwd-courses #secondary .npcm-course-sidebar > section,
  body.single-sfwd-courses #secondary .npcm-course-sidebar > .npcm-native-access-host{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
}


/* =========================================================
   v5.12.14 — TABLET / iPAD · FIX REAL DOBLE REJILLA ASTRA
   El CSS maestro aplica grid tanto a #secondary como a .sidebar-main.
   Como .sidebar-main es el único hijo, quedaba encerrado en la primera
   mitad de #secondary. Estos selectores tienen mayor especificidad para
   neutralizar esa doble rejilla aunque el CSS maestro cargue después.
   SOLO presentación; LearnDash/WooCommerce permanecen intactos.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  html body.single-sfwd-courses .site-content > .ast-container{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
    width:min(920px,calc(100% - 32px))!important;
  }

  /* PRIMER NIVEL: #secondary deja de ser una rejilla de dos columnas. */
  html body.single-sfwd-courses #secondary{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:28px 0 0!important;
    padding:0!important;
  }

  /* SEGUNDO NIVEL: sidebar-main ocupa toda la fila de #secondary. */
  html body.single-sfwd-courses #secondary > .sidebar-main,
  html body.single-sfwd-courses #secondary .sidebar-main,
  html body.single-sfwd-courses #secondary > .widget-area,
  html body.single-sfwd-courses #secondary .widget-area{
    display:block!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* El único widget NextPing también ocupa el ancho completo. */
  html body.single-sfwd-courses #secondary .sidebar-main > .npcm-auto-sidebar-widget,
  html body.single-sfwd-courses #secondary > .npcm-auto-sidebar-widget,
  html body.single-sfwd-courses #secondary .npcm-auto-sidebar-widget,
  html body.single-sfwd-courses #secondary .npcm-auto-sidebar-source{
    display:block!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* SOLO AQUÍ se crea la rejilla de dos columnas, como en el blog. */
  html body.single-sfwd-courses #secondary .npcm-course-sidebar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  html body.single-sfwd-courses #secondary .npcm-course-sidebar > section,
  html body.single-sfwd-courses #secondary .npcm-course-sidebar > .npcm-native-access-host{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* v5.12.16-dev3 — Panel Venta: capa visual/comercial sin sustituir lógica nativa */
.npcm-native-access-host.npcm-access-mode-sale .npcm-native-ld-shell,
.npcm-native-access-host.npcm-access-mode-soon .npcm-native-ld-shell{display:none!important}
.npcm-commerce-offer{display:flex;flex-direction:column;gap:9px;margin-top:12px;padding:14px;border:1px solid #dbe6f3;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#fff)}
.npcm-commerce-label{color:#64748b;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.npcm-commerce-price{color:#0f274f;font-size:25px;font-weight:900;line-height:1.1}.npcm-commerce-price del{color:#94a3b8;font-size:15px;font-weight:650}.npcm-commerce-price ins{text-decoration:none}
.npcm-commerce-button{display:block!important;width:100%;box-sizing:border-box;text-align:center!important;margin:0!important}
.npcm-commerce-offer>small{color:#64748b;font-size:11px;line-height:1.4;text-align:center}
.npcm-commerce-soon{margin-top:12px;padding:14px;border:1px solid #dbe6f3;border-radius:14px;background:#f8fafc;text-align:center}.npcm-commerce-soon strong{display:block;color:#0f274f;font-size:17px}.npcm-commerce-soon p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.45}
.npcm-access-state.is-server-state{display:inline-flex!important}

/* v5.12.19-dev1 — Ruta configurable por curso, enlaces y etapa actual */
.npcm-learning-route .npcm-route-location{display:block;margin:0 0 17px;padding:9px 12px;border:1px solid #d6e5ff;border-radius:10px;background:#f0f6ff;color:#526989;font-size:12px;line-height:1.45}
.npcm-learning-route .npcm-route-location strong{color:#155eef;font-weight:850}
.npcm-learning-route .npcm-route-item-content{min-width:0;flex:1}
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link{display:block;text-decoration:none!important;color:#14213d!important}
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link:hover strong{color:#155eef!important;text-decoration:underline;text-underline-offset:3px}
.npcm-learning-route .npcm-route-item-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px}
.npcm-learning-route .npcm-route-item-tags em{margin-top:0}
.npcm-learning-route .npcm-route-item.unavailable .npcm-route-dot{border-color:#d3515a;background:#fff7f8}
.npcm-learning-route .npcm-route-item.unavailable em{background:#ffedf0;color:#b93340}
.npcm-learning-route .npcm-route-item.paused .npcm-route-dot{border-color:#8c76b3;background:#f5f1ff}
.npcm-learning-route .npcm-route-item.paused em{background:#f2edff;color:#7655aa}
.npcm-learning-route .npcm-route-item.is-current{margin:0 0 12px -5px;padding:10px 9px 10px 5px;border:1px solid #bad0fb;border-radius:11px;background:linear-gradient(120deg,#f0f6ff,#fff);box-shadow:0 3px 12px rgba(21,94,239,.06)}
.npcm-learning-route .npcm-route-item.is-current .npcm-route-dot{border-color:#155eef;background:#155eef;box-shadow:0 0 0 4px #dce8ff}
.npcm-learning-route .npcm-route-item.is-current .npcm-route-item-content>strong,.npcm-learning-route .npcm-route-item.is-current .npcm-route-course-link strong{color:#123f9f!important}
.npcm-learning-route .npcm-route-here{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#e4edff;color:#155eef;font-size:8px;letter-spacing:.035em;font-weight:900;line-height:1.2}
.npcm-learning-route .npcm-route-list:empty:before{display:none}


/* v5.12.19-dev4 — Ruta en formato línea de hitos, inspirada en Historial de Logros.
   Compacto, con código de color por estado y etapa actual resaltada SOLO por sombra/fondo.
   No modifica datos ni progresión académica. */
.npcm-learning-route{
  --npcm-route-ink:#122348;--npcm-route-muted:#6c7d97;
  box-sizing:border-box;overflow:visible;background:#fff;
  border-color:#e1e9f4;box-shadow:0 8px 25px rgba(28,57,96,.045);
}
.npcm-learning-route .npcm-side-heading{gap:10px;margin-bottom:11px}
.npcm-learning-route .npcm-side-heading>span{
  display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;
  border-radius:10px;background:#edf5ff;font-size:17px;line-height:1;
}
.npcm-learning-route .npcm-side-heading h3{
  margin:0!important;font-size:19px!important;line-height:1.25!important;
  color:var(--npcm-route-ink)!important;letter-spacing:-.012em;
}
/* Ubicación ordinal: no se presenta como porcentaje de cursos finalizados. */
.npcm-learning-route .npcm-route-location{
  display:flex;align-items:center;margin:0 0 9px;padding:0;
  background:transparent;border:0;border-radius:0;
  font-size:10px;line-height:1.4;color:#687d9b;
}
.npcm-learning-route .npcm-route-position-text{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:5px;margin:0;padding:4px 9px 4px 7px;
  width:auto;background:#f1f6ff;border:1px solid #dfe9ff;border-radius:999px;
  font-size:10px;color:#67809c;font-weight:650;letter-spacing:0;
}
.npcm-learning-route .npcm-route-position-text>span:not(.npcm-route-position-bullet){font-size:10px;color:#637998;font-weight:650}
.npcm-learning-route .npcm-route-position-text>strong{font-size:10px;color:#155eef;font-weight:850;white-space:nowrap}
.npcm-learning-route .npcm-route-position-bullet{
  width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#2066f4;
  box-shadow:0 0 0 3px #dbe6ff;
}
.npcm-learning-route .npcm-route-position-track{display:none}
.npcm-learning-route .npcm-route-list{position:relative;isolation:isolate;margin:0;padding:0}
.npcm-learning-route .npcm-route-list:before{display:none}
.npcm-learning-route .npcm-route-item{
  --npcm-step-color:#9aaec8;--npcm-step-pale:#f3f6fa;
  position:relative;z-index:0;box-sizing:border-box;
  display:grid;grid-template-columns:26px minmax(0,1fr);align-items:stretch;gap:9px;
  margin:0 0 3px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.npcm-learning-route .npcm-route-item.available{--npcm-step-color:#21b976;--npcm-step-pale:#e9f9f0}
.npcm-learning-route .npcm-route-item.production{--npcm-step-color:#e9ac35;--npcm-step-pale:#fff5df}
.npcm-learning-route .npcm-route-item.soon{--npcm-step-color:#92a7c3;--npcm-step-pale:#f2f5f9}
.npcm-learning-route .npcm-route-item.unavailable{--npcm-step-color:#d36a71;--npcm-step-pale:#fff2f3}
.npcm-learning-route .npcm-route-item.paused{--npcm-step-color:#9b83c5;--npcm-step-pale:#f6f1ff}
/* Segmento independiente por etapa, como el historial de logros. */
.npcm-learning-route .npcm-route-item:before{
  content:"";position:absolute;z-index:0;
  width:3px;left:11px;top:-4px;bottom:-4px;
  background:var(--npcm-step-color);opacity:.6;border-radius:2px;
}
.npcm-learning-route .npcm-route-item:first-child:before{top:16px}
.npcm-learning-route .npcm-route-item:last-child:before{bottom:50%}
.npcm-learning-route .npcm-route-dot{
  position:relative;z-index:1;align-self:center;justify-self:start;
  box-sizing:border-box;display:grid;place-items:center;
  flex:none;margin:0;width:24px;height:24px;
  border:2px solid var(--npcm-step-color);border-radius:50%;
  background:#fff;color:var(--npcm-step-color);
  box-shadow:0 0 0 4px var(--npcm-step-pale);
  font-size:9px;font-weight:850;line-height:1;
}
/* Cada hito es una tarjeta compacta, no un bloque alto. */
.npcm-learning-route .npcm-route-item-content{
  min-width:0;padding:9px 11px 8px;box-sizing:border-box;
  border:1px solid #e4ebf4;border-radius:11px;
  background:#fff;box-shadow:0 2px 8px rgba(20,45,82,.025);
}
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link,
.npcm-learning-route .npcm-route-item-content>strong{display:block;margin:0!important;overflow-wrap:anywhere;text-decoration:none!important}
.npcm-learning-route .npcm-route-item-content strong{
  margin:0!important;font-size:13px!important;line-height:1.25!important;
  color:#152849!important;font-weight:800!important;
}
.npcm-learning-route .npcm-route-item-content small{
  display:block;margin:2px 0 0!important;font-size:10.5px!important;
  line-height:1.28!important;color:#7586a0!important;
}
.npcm-learning-route .npcm-route-item-tags{
  display:flex;align-items:center;gap:5px 8px;flex-wrap:wrap;
  margin:5px 0 0!important;padding:0!important;
}
.npcm-learning-route .npcm-route-item-tags em{
  display:inline-flex;align-items:center;min-height:0;
  margin:0!important;padding:3px 7px!important;
  border-radius:999px;font-size:8px!important;
  line-height:1.15!important;font-style:normal;font-weight:850;
}
.npcm-learning-route .npcm-route-item.available em{background:#e7f8ed;color:#158d4e}
.npcm-learning-route .npcm-route-item.production em{background:#fff0d6;color:#a46a00}
.npcm-learning-route .npcm-route-item.soon em{background:#eff2f6;color:#7488a3}
.npcm-learning-route .npcm-route-item.unavailable em{background:#ffedf0;color:#b93340}
.npcm-learning-route .npcm-route-item.paused em{background:#f2edff;color:#7655aa}
.npcm-learning-route .npcm-route-item.is-current{
  border:0;margin:0 0 3px;padding:0;border-radius:0;
  background:transparent;box-shadow:none;
}
.npcm-learning-route .npcm-route-item.is-current .npcm-route-item-content{
  background:#f3f7ff;border-color:#dfe8f8;
  box-shadow:0 5px 17px rgba(23,82,184,.105);
}
.npcm-learning-route .npcm-route-item.is-current .npcm-route-dot{
  border-color:#155eef;background:#155eef;color:#fff;
  box-shadow:0 0 0 4px #e3edff;
}
.npcm-learning-route .npcm-route-item.is-current .npcm-route-item-content strong{color:#114ab2!important}
.npcm-learning-route .npcm-route-here{
  display:inline-flex;align-items:center;gap:4px;padding:0;margin:0;
  background:transparent;color:#155eef;border:0;
  font-size:8.5px!important;line-height:1.1!important;
  font-weight:850;letter-spacing:.015em;text-transform:uppercase;
}
.npcm-learning-route .npcm-route-here:before{
  content:"";display:block;width:5px;height:5px;flex:0 0 5px;
  background:#155eef;border-radius:50%;
}
.npcm-learning-route .npcm-side-link{
  display:block;margin-top:10px;padding:9px 0 0;
  border-top:1px solid #eef2f8;text-align:center;
  font-size:11px!important;line-height:1.3;font-weight:850;
}
.npcm-learning-route .npcm-side-link:hover{text-decoration:underline!important;text-underline-offset:3px}
.npcm-learning-route .npcm-route-course-link:focus-visible,
.npcm-learning-route .npcm-side-link:focus-visible{
  outline:2px solid #155eef;outline-offset:2px;border-radius:4px;
}
@media(max-width:768px){
  .npcm-learning-route{padding:14px 13px!important}
  .npcm-learning-route .npcm-side-heading{gap:8px;margin-bottom:9px}
  .npcm-learning-route .npcm-side-heading h3{font-size:18px!important}
  .npcm-learning-route .npcm-route-item-content{padding:8px 10px 7px}
  .npcm-learning-route .npcm-route-item-content strong{font-size:12.5px!important}
  .npcm-learning-route .npcm-route-item-content small{font-size:10px!important}
  .npcm-learning-route .npcm-route-item-tags em{font-size:8px!important}
  .npcm-learning-route .npcm-side-link{font-size:11px!important}
}
@media(max-width:370px){
  .npcm-learning-route{padding:12px 10px!important}
  .npcm-learning-route .npcm-side-heading h3{font-size:17px!important}
  .npcm-learning-route .npcm-route-item{gap:7px;grid-template-columns:24px minmax(0,1fr)}
  .npcm-learning-route .npcm-route-dot{width:22px;height:22px}
  .npcm-learning-route .npcm-route-item:before{left:10px}
}


/* v5.12.19-dev5 — refinado de interacción en Ruta.
   - El bloque completo ya no se desplaza al pasar el ratón.
   - La interacción se aplica solo a las tarjetas internas de cada etapa.
   - Se elimina cualquier subrayado/linea azul visual de los hipervínculos de etapa. */
.npcm-side-card.npcm-learning-route:hover{transform:none!important;box-shadow:0 9px 24px rgba(15,23,42,.06)!important}
.npcm-learning-route .npcm-route-item-content{
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}
.npcm-learning-route .npcm-route-item:hover .npcm-route-item-content,
.npcm-learning-route .npcm-route-item:focus-within .npcm-route-item-content{
  transform:translateY(-1px);
  border-color:#d4e0f3;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.npcm-learning-route .npcm-route-item.is-current:hover .npcm-route-item-content,
.npcm-learning-route .npcm-route-item.is-current:focus-within .npcm-route-item-content{
  border-color:#cbdcff;
  box-shadow:0 10px 22px rgba(21,94,239,.08);
}
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link:link,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link:visited,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link:hover,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link:active,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link strong,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link span,
.npcm-learning-route .npcm-route-item-content>a.npcm-route-course-link small{
  text-decoration:none!important;
  box-shadow:none!important;
  border-bottom:0!important;
}
