/* =========================================================================
   Academia Neuro Wellness · estilos del front
   Al venir de un plugin, Divi ya no los recorta: se puede usar CSS de verdad.
   ========================================================================= */

.na-ficha, .na-tienda {
  --na-verde:#0E3A2E;
  --na-menta:#4FA57E;
  --na-acento:#15795B;
  --na-menta-suave:#E8F3EC;
  --na-linea:#E4EEE8;
  --na-tinta:#243B33;
  --na-suave:#4B655C;
  --na-fondo:#F8FBF9;
  --na-radio:22px;
  --na-serif:'Fraunces',Georgia,serif;
  color:var(--na-tinta);
  font-size:16px;
  line-height:1.6;
  max-width:1080px;
  margin-inline:auto;
}
.na-ficha{margin-top:clamp(28px,4vw,48px)}
.na-ficha > section{margin-bottom:24px}
.na-ficha > section:last-child{margin-bottom:0}
.na-ficha *, .na-tienda *{box-sizing:border-box}

/* Divi pinta viñetas en todo ul dentro de .et-l--body, con más peso que una
   clase suelta. Se neutraliza aquí una sola vez para todos nuestros bloques. */
.na-ficha ul, .na-tienda ul, .na-pf ul,
.na-ficha ol, .na-tienda ol, .na-pf ol{
  list-style:none !important; margin:0 !important; padding:0 !important;
}
.na-ficha ul li, .na-tienda ul li, .na-pf ul li{
  list-style:none !important; margin:0; padding:0;
  background:none !important;
}
.na-ficha ul li::marker, .na-tienda ul li::marker, .na-pf ul li::marker{content:none !important}
.na-ficha dl, .na-tienda dl{margin:0 !important}

/* ---------- Portada ---------- */
.na-hero{
  background:var(--na-verde); border-radius:26px; color:#fff;
  padding:clamp(22px,3.4vw,40px);
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,34px);
  margin-bottom:24px;
}
@media(max-width:860px){ .na-hero{grid-template-columns:1fr} }
.na-hero__img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px;max-height:340px}
.na-kicker{
  display:inline-block; background:rgba(79,165,126,.22); color:#9EDCBC;
  padding:6px 13px; border-radius:999px; font-size:12px; font-weight:700;
  letter-spacing:.4px; margin:0 0 14px;
}
.na-titulo{
  font-family:var(--na-serif); font-size:clamp(26px,3vw,36px); line-height:1.1;
  letter-spacing:-.5px; color:#fff; margin:0 0 12px; font-weight:600; text-wrap:balance;
}
.na-frase{margin:0 0 18px; font-size:clamp(15px,1.5vw,17px); line-height:1.45; color:#DCECE3; font-weight:500}
.na-datos{margin:0 !important; padding:16px 0 0 !important; border-top:1px solid rgba(158,220,188,.2); display:grid; gap:4px; list-style:none !important}
.na-datos div{display:flex; gap:8px; font-size:15px}
.na-datos dt{color:#fff; font-weight:700; margin:0}
.na-datos dd{color:#B7D3C6; margin:0}

/* ---------- Precio y compra ---------- */
.na-compra{
  grid-column:1/-1; display:flex; flex-wrap:wrap; gap:24px;
  align-items:center; justify-content:space-between;
  padding-top:clamp(22px,3vw,28px); border-top:1px solid rgba(158,220,188,.2);
}
.na-compra__precio{flex:1 1 320px; min-width:250px}
.na-precio{
  font-family:var(--na-serif); font-size:clamp(32px,4vw,42px); line-height:1;
  color:#fff; font-weight:600; margin:12px 0 0;
}
.na-precio .amount, .na-precio bdi{color:#fff}
.na-precio--pendiente{font-size:clamp(26px,3vw,34px)}
.na-porsesion{margin:10px 0 0; font-size:14px; color:#8FBFA9}
.na-porsesion strong{color:#9EDCBC; font-family:var(--na-serif); font-size:19px}
.na-porsesion strong .amount{color:#9EDCBC}
.na-compra__accion{flex:0 1 300px; min-width:240px}
.na-nota{margin:10px 0 0; font-size:13px; color:#8FBFA9; text-align:center}

/* ---------- Botones ---------- */
.na-btn{
  display:block; text-align:center; text-decoration:none;
  font-size:17px; font-weight:700; line-height:1.3;
  padding:17px 28px; border-radius:14px;
  background:var(--na-menta); color:#08281E;
  transition:transform .18s ease, filter .18s ease;
}
.na-btn:hover{transform:translateY(-2px); filter:brightness(1.05); color:#08281E}
.na-btn--fino{display:inline-block; font-size:14px; padding:11px 20px; border-radius:11px; background:var(--na-acento); color:#fff}
.na-btn--fino:hover{color:#fff}
@media(prefers-reduced-motion:reduce){ .na-btn:hover{transform:none} }

/* ---------- Distintivos de estado ---------- */
.na-badge{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:.9px;
  text-transform:uppercase; padding:6px 12px; border-radius:999px;
}
.na-badge--verde  {background:var(--na-menta); color:#08281E}
.na-badge--ambar  {background:#F5E3B3; color:#6B5310}
.na-badge--naranja{background:#F7C9A0; color:#7A3D06}
.na-badge--rojo   {background:#F3C0BC; color:#7A1D16}
.na-badge--gris   {background:#D8E2DD; color:#3C4B45}
.na-badge--azul   {background:#BFDCEA; color:#10485F}

/* ---------- Tarjetas ---------- */
.na-card{background:#fff; border:1px solid var(--na-linea); border-radius:var(--na-radio); padding:clamp(24px,3vw,32px); margin-bottom:24px}
.na-card--menta{background:var(--na-menta-suave); border-color:#CFE6DA}
.na-card--oscuro{background:var(--na-verde); color:#EAF3EE; border-color:var(--na-verde)}
.na-card--oscuro .na-h3{color:#fff}
.na-card--oscuro .na-p{color:#CFE3D8}
.na-card--oscuro .na-p--fuerte{color:#fff; font-weight:700}
.na-duo{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px}
.na-duo > .na-card{margin-bottom:0}
@media(max-width:800px){ .na-duo{grid-template-columns:1fr} }

.na-h3{font-family:var(--na-serif); font-size:24px; line-height:1.2; color:var(--na-verde); font-weight:600; margin:0 0 8px}
.na-h3--grande{font-size:clamp(24px,2.6vw,28px)}
.na-rule{display:block; width:46px; height:4px; background:var(--na-menta); border-radius:4px; margin-bottom:22px}
.na-rule--oscuro{background:var(--na-acento)}
.na-p{margin:0 0 16px; color:#334F45}
.na-p:last-child{margin-bottom:0}

/* ---------- Listas ---------- */
.na-lista{list-style:none !important; margin:0 !important; padding:0 !important}
.na-lista li{
  list-style:none !important; position:relative;
  padding-left:22px !important; margin:0 0 13px !important;
}
.na-lista li::marker{content:none !important}
.na-lista li:last-child{margin-bottom:0}
.na-lista li::before{content:"•"; position:absolute; left:6px; color:var(--na-acento); font-weight:700}
.na-lista--check li::before{content:"✓"; left:0; font-size:14px}
.na-card--oscuro .na-lista li::before{color:#9EDCBC}

/* ---------- Tres datos ---------- */
.na-tres{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-bottom:24px}
.na-tres__item{background:var(--na-verde); border-radius:20px; padding:26px; color:#fff}
.na-tres__item span{display:block; font-size:13px; color:#BFE3D0; margin-bottom:6px}
.na-tres__item strong{display:block; font-size:24px; line-height:1.25}

/* ---------- Instructor ---------- */
.na-intro__txt{margin:0 0 22px; font-size:clamp(16px,1.7vw,19px); line-height:1.55; color:#315246}
.na-instructor{display:flex; align-items:center; gap:14px; background:var(--na-fondo); border:1px solid var(--na-linea); border-radius:16px; padding:16px 20px}
.na-instructor__foto{width:52px; height:52px; border-radius:999px; object-fit:cover; flex:0 0 auto}
.na-instructor__foto--g{width:76px; height:76px}
.na-instructor__ini{
  width:46px; height:46px; border-radius:999px; background:var(--na-verde); color:#9EDCBC;
  display:grid; place-items:center; font-weight:700; font-size:16px; letter-spacing:.5px; flex:0 0 auto;
}
.na-instructor__ini--g{width:76px; height:76px; font-size:24px}
.na-instructor__rol{display:block; font-size:13px; color:var(--na-suave)}
.na-instructor__nombre{display:block; font-size:16px; font-weight:700; color:var(--na-verde)}
.na-instructor__esp{display:block; font-size:14px; color:var(--na-acento)}
.na-bio{margin-top:18px; color:#334F45}

/* ---------- Información ---------- */
.na-info{margin:0 !important; padding:0 !important; display:grid; gap:10px; list-style:none !important}
.na-info div{display:flex; flex-wrap:wrap; gap:6px}
.na-info dt{margin:0; font-weight:700; color:var(--na-verde)}
.na-info dd{margin:0; color:#334F45}

/* ---------- Grupos de módulos (paquetes) ---------- */
.na-grupo{
  display:flex; align-items:center; gap:11px;
  margin:0 0 16px; font-size:17px; font-weight:700; color:var(--na-verde);
  line-height:1.3; text-wrap:balance;
}
.na-grupo--sep{margin-top:32px; padding-top:26px; border-top:1px solid var(--na-linea)}
.na-grupo__n{
  flex:0 0 auto; width:26px; height:26px; border-radius:999px;
  background:var(--na-menta-suave); color:var(--na-acento);
  display:grid; place-items:center; font-size:13px; font-weight:700;
}

/* ---------- Módulos ---------- */
.na-modulos{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px}
.na-modulo{background:var(--na-fondo); border:1px solid var(--na-linea); border-radius:18px; padding:24px}
.na-modulo__n{font-size:30px; font-weight:800; line-height:1.1; color:#BFDCCB; margin:0 0 10px}
.na-modulo__t{font-size:17px; font-weight:700; color:var(--na-verde); margin:0 0 6px; line-height:1.3}
.na-modulo__m{font-size:14px; color:var(--na-acento); font-weight:700; margin:0 0 10px}
.na-modulo__d{margin:0; color:var(--na-suave)}

/* ---------- Paquetes ---------- */
.na-paquete{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; padding:18px 0; border-top:1px solid var(--na-linea)}
.na-paquete:first-of-type{border-top:0}
.na-paquete__t{margin:0 0 4px; font-size:18px; color:var(--na-verde)}
.na-paquete__i{margin:0; font-size:14px; color:var(--na-suave)}
.na-paquete__precio{display:flex; flex-direction:column; align-items:flex-end; gap:6px}
.na-paquete__precio strong{font-family:var(--na-serif); font-size:24px; color:var(--na-verde)}
.na-ahorro{background:var(--na-menta-suave); color:var(--na-acento); font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px}

/* ---------- Cierre ---------- */
.na-cierre{background:var(--na-menta-suave); border:1px solid #CFE6DA; border-radius:24px; padding:clamp(26px,3.6vw,40px); text-align:center}
.na-cierre .na-precio{color:var(--na-verde); margin:14px 0}
.na-cierre .na-precio .amount, .na-cierre .na-precio bdi{color:var(--na-verde)}
.na-cierre .na-btn{display:inline-block; background:var(--na-acento); color:#fff; padding:17px 46px}
.na-cierre .na-nota{color:var(--na-suave)}
.na-cierre .na-p{color:var(--na-suave)}

/* =========================================================================
   Tienda
   ========================================================================= */
.na-filtros{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px}
.na-filtro{
  appearance:none; cursor:pointer; font:inherit; font-size:14px; font-weight:600;
  background:#fff; border:1px solid var(--na-linea); color:var(--na-suave);
  border-radius:999px; padding:9px 18px;
}
.na-filtro:hover{border-color:var(--na-menta)}
.na-filtro.is-on{background:var(--na-verde); border-color:var(--na-verde); color:#fff}
.na-filtro:focus-visible{outline:2px solid var(--na-menta); outline-offset:2px}

.na-grid-tienda{display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.na-tienda[data-cols="1"] .na-grid-tienda{grid-template-columns:minmax(0,420px)}
.na-tienda[data-cols="2"] .na-grid-tienda{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.na-tienda[data-cols="4"] .na-grid-tienda{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.na-tarjeta{
  background:#fff; border:1px solid var(--na-linea); border-radius:20px; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.na-tarjeta:hover{transform:translateY(-3px); box-shadow:0 14px 34px rgba(14,58,46,.10)}
@media(prefers-reduced-motion:reduce){ .na-tarjeta:hover{transform:none} }
.na-tarjeta__img{position:relative; display:block; aspect-ratio:16/10; background:var(--na-menta-suave)}
.na-tarjeta__img img{width:100%; height:100%; object-fit:cover; display:block}
.na-tarjeta__sinimg{display:block; width:100%; height:100%; background:linear-gradient(135deg,#E8F3EC,#CFE6DA)}
.na-tarjeta__img .na-badge{position:absolute; left:14px; bottom:14px}
.na-tarjeta__cuerpo{padding:22px; display:flex; flex-direction:column; flex:1; gap:12px}
.na-tarjeta__t{margin:0; font-size:18px; line-height:1.3; font-weight:700; text-wrap:balance}
.na-tarjeta__t a{color:var(--na-verde); text-decoration:none}
.na-tarjeta__t a:hover{color:var(--na-acento)}
.na-tarjeta__d{margin:0; font-size:14.5px; color:var(--na-suave); line-height:1.55}
.na-tarjeta__meta{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex; flex-wrap:wrap; gap:6px 12px;
  font-size:13px; color:var(--na-acento); font-weight:600;
}
.na-tarjeta__meta li{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:inline-flex; align-items:center;
}
.na-tarjeta__meta li::before,
.na-tarjeta__meta li::marker{content:none !important; display:none !important}
/* Separador propio entre datos, en vez de viñetas */
.na-tarjeta__meta li + li::after{
  content:""; position:absolute; margin-left:-7px; width:3px; height:3px;
  border-radius:50%; background:currentColor; opacity:.45; align-self:center;
}
.na-tarjeta__meta li + li{padding-left:12px !important; position:relative}

/* Pie: el precio manda, el ahorro lo acompaña y el botón ocupa su propia línea */
.na-tarjeta__pie{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--na-linea);
  display:grid; gap:12px;
}
.na-tarjeta__precios{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 10px}
.na-tarjeta__precio{
  font-family:var(--na-serif); font-size:23px; font-weight:600; color:var(--na-verde);
  line-height:1.1;
}
.na-tarjeta__pie .na-btn--fino{
  display:block; width:100%; text-align:center; padding:13px 20px; font-size:15px;
}
.na-tienda-vacia{background:var(--na-fondo); border:1px dashed #CFE0D8; border-radius:18px; padding:40px 20px; text-align:center; color:var(--na-suave)}

/* ---------- Móvil ---------- */
@media(max-width:600px){
  .na-grid-tienda{gap:18px; grid-template-columns:1fr}
  .na-tarjeta__cuerpo{padding:18px; gap:10px}
  .na-tarjeta__t{font-size:17px}
  .na-tarjeta__meta{gap:4px 10px; font-size:12.5px}
  .na-tarjeta__meta li + li{padding-left:10px !important}
  .na-tarjeta__precio{font-size:21px}
  .na-filtros{gap:6px; margin-bottom:18px}
  .na-filtro{font-size:13px; padding:8px 14px}
  .na-hero{padding:20px; border-radius:20px}
  .na-compra{gap:18px}
  .na-compra__accion{flex:1 1 100%}
  .na-card, .na-cierre{padding:22px 20px}
  .na-tres{gap:14px}
  .na-tres__item{padding:20px}
  .na-modulos{gap:14px}
  .na-paquete{flex-direction:column; align-items:flex-start}
  .na-paquete__precio{align-items:flex-start; width:100%}
  .na-paquete__precio .na-btn{width:100%}
}

/* =========================================================================
   Panel privado de inscritos · [neuro_inscripciones]
   ========================================================================= */
.na-pf{
  --na-verde:#0E3A2E; --na-menta:#4FA57E; --na-acento:#15795B;
  --na-menta-suave:#E8F3EC; --na-linea:#E4EEE8; --na-tinta:#243B33; --na-suave:#4B655C;
  color:var(--na-tinta); max-width:1000px; margin-inline:auto; font-size:16px; line-height:1.6;
}
.na-pf *{box-sizing:border-box}
.na-pf-top{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between;
  background:var(--na-verde); color:#fff; border-radius:16px; padding:26px 28px; margin-bottom:20px}
.na-pf-kicker{margin:0 0 4px; color:#8FD3B4; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700}
.na-pf-top h2{margin:0; color:#fff; font-size:26px; line-height:1.2}
.na-pf-salir{margin:8px 0 0}
.na-pf-salir a{color:#C6DDD1; font-size:12px; text-decoration:none; border-bottom:1px solid rgba(198,221,209,.4)}
.na-pf-salir a:hover{color:#fff}
.na-pf-stats{display:flex; gap:26px}
.na-pf-stats b{display:block; font-size:28px; line-height:1; color:#fff}
.na-pf-stats span{font-size:12px; color:#C6DDD1}

.na-pf-card{background:#fff; border:1px solid var(--na-linea); border-radius:14px; margin-bottom:12px; overflow:hidden;
  box-shadow:0 4px 14px rgba(14,58,46,.05)}
.na-pf-card summary{cursor:pointer; list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:16px 20px}
.na-pf-card summary::-webkit-details-marker{display:none}
.na-pf-card summary:hover{background:#F8FBF9}
.na-pf-card[open] summary{border-bottom:1px solid var(--na-linea); background:#F8FBF9}
.na-pf-name{font-weight:700; color:var(--na-verde); flex:1 1 220px}
.na-pf-chip{background:var(--na-menta-suave); color:var(--na-acento); border-radius:999px; padding:4px 12px; font-size:12px; font-weight:600; white-space:nowrap}
.na-pf-count{background:var(--na-verde); color:#fff; border-radius:999px; padding:5px 14px; font-size:13px; font-weight:700; white-space:nowrap}

.na-pf-inner{padding:18px 20px}
.na-pf-tablewrap{overflow-x:auto; -webkit-overflow-scrolling:touch}
.na-pf table{width:100%; border-collapse:collapse; font-size:14px; min-width:680px}
.na-pf th{text-align:left; background:#F2F6F3; color:var(--na-verde); font-size:12px; text-transform:uppercase;
  letter-spacing:.03em; padding:10px 12px; white-space:nowrap}
.na-pf td{padding:11px 12px; border-bottom:1px solid #EEF3F0; vertical-align:top}
.na-pf td a{color:var(--na-acento); text-decoration:none}
.na-pf td small{color:#8A9A93}
.na-pf-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px}
.na-pf-label{display:block; margin:16px 0 6px; font-size:12px; font-weight:700; color:var(--na-suave); text-transform:uppercase; letter-spacing:.03em}
.na-pf-emails{width:100%; font-family:monospace; font-size:12px; padding:10px 12px; border:1px solid #CFE0D8; border-radius:10px; background:#F8FBF9; color:var(--na-tinta)}

.na-pf-lock{background:#F8FBF9; border:1px solid var(--na-linea); border-radius:16px; padding:44px 26px; text-align:center; max-width:460px; margin:0 auto}
.na-pf-lockicon{font-size:42px; margin-bottom:10px}
.na-pf-lock h3{margin:0 0 8px; color:var(--na-verde); font-size:20px}
.na-pf-lock p{margin:0 0 18px; color:var(--na-suave)}
.na-pf-login{display:flex; flex-direction:column; gap:10px; max-width:300px; margin:0 auto}
.na-pf-login input{width:100%; padding:13px 15px; border:1px solid #CFE0D8; border-radius:10px; font-size:15px;
  font-family:inherit; color:var(--na-tinta); background:#fff; text-align:center}
.na-pf-login input:focus{outline:none; border-color:var(--na-menta); box-shadow:0 0 0 3px rgba(79,165,126,.18)}
.na-pf-login .na-btn{border:0; cursor:pointer; font-family:inherit}
.na-pf-err{background:#FDECEA; border:1px solid #F5C6CB; color:#B32D2E !important; font-size:14px;
  padding:10px 14px; border-radius:10px; margin:0 auto 16px !important; max-width:300px}
@media(max-width:600px){ .na-pf-top{padding:20px} .na-pf-top h2{font-size:21px} .na-pf-stats{gap:18px} }

/* Ocupación del cupo */
.na-cupo{margin-top:14px}
.na-cupo__barra{height:7px; background:rgba(255,255,255,.18); border-radius:999px; overflow:hidden}
.na-cupo__barra span{display:block; height:100%; background:var(--na-menta); border-radius:999px; transition:width .4s ease}
.na-cupo__txt{margin:7px 0 0; font-size:12.5px; color:#8FBFA9; text-align:center}
.na-cupo__txt strong{color:#9EDCBC}
@media(prefers-reduced-motion:reduce){ .na-cupo__barra span{transition:none} }

/* ---------- Paquete: talleres incluidos ---------- */
.na-incluidos{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.na-incluido{display:flex; gap:14px; background:var(--na-fondo); border:1px solid var(--na-linea); border-radius:16px; padding:14px}
.na-incluido__img{flex:0 0 84px; border-radius:12px; overflow:hidden; align-self:flex-start}
.na-incluido__img img{display:block; width:84px; height:84px; object-fit:cover}
.na-incluido__txt{min-width:0}
.na-incluido h4{margin:0 0 5px; font-size:16px; line-height:1.3}
.na-incluido h4 a{color:var(--na-verde); text-decoration:none}
.na-incluido h4 a:hover{color:var(--na-acento)}
.na-incluido__d{margin:0 0 8px; font-size:13.5px; color:var(--na-suave); line-height:1.5}
.na-incluido__meta{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12.5px; color:var(--na-acento); font-weight:600;
}
.na-incluido__meta li{list-style:none !important; margin:0 !important; padding:0 !important}
.na-incluido__meta li::marker{content:none !important}
.na-incluido__precio{color:var(--na-suave) !important; font-weight:400}
.na-incluye-total{margin:20px 0 0; padding-top:18px; border-top:1px solid var(--na-linea); color:var(--na-suave); font-size:15px}
.na-incluye-total strong{color:var(--na-verde)}
.na-incluye-ahorro{color:var(--na-acento) !important}
@media(max-width:600px){
  .na-incluidos{grid-template-columns:1fr}
  .na-incluido{gap:12px; padding:12px}
  .na-incluido__img{flex-basis:64px}
  .na-incluido__img img{width:64px; height:64px}
}
