:root{
  --bg:#03111c;
  --bg2:#061722;
  --panel:#071c29;
  --panel2:#0a2332;
  --cyan:#11e5d3;
  --cyan2:#35f4e6;
  --blue:#10c8ff;
  --orange:#ff7a1a;
  --orange2:#ff9a4d;
  --green:#22c55e;
  --text:#f5fbff;
  --muted:#8fa5b5;
  --muted2:#5f7789;
  --line:rgba(255,255,255,.075);
  --shadow:0 28px 80px rgba(0,0,0,.36);
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  min-height:100vh;
  overflow-x:hidden;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--bg);
}

a{
  text-decoration:none;
}

button{
  font:inherit;
}

::selection{
  color:#03111c;
  background:var(--cyan);
}

/* ───────────────────── NAV */
.navbar{
  min-height:72px;
  padding:.65rem 0;
  background:rgba(3,17,28,.90)!important;
  border-bottom:1px solid rgba(255,255,255,.055);
  backdrop-filter:blur(18px);
  transition:.25s;
}

.navbar.scrolled{
  background:rgba(3,17,28,.98)!important;
  box-shadow:0 14px 35px rgba(0,0,0,.30);
}

.navbar-brand img{
  height:44px;
}

.nav-link{
  padding:.48rem .72rem!important;
  border-radius:9px;
  color:#b5c6d1!important;
  font-size:.80rem;
  font-weight:700;
  transition:.2s;
}

.nav-link:hover,
.nav-link.active{
  color:var(--cyan)!important;
  background:rgba(17,229,211,.055);
}

.nav-verify{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:.54rem .86rem;
  border-radius:10px;
  color:#06151f;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  font-size:.78rem;
  font-weight:900;
}

/* ───────────────────── HERO */
.hero{
  position:relative;
  overflow:hidden;
  padding:145px 0 90px;
  background:
    radial-gradient(900px 600px at 50% -10%,rgba(17,229,211,.10),transparent 62%),
    radial-gradient(600px 420px at 88% 40%,rgba(255,122,26,.07),transparent 64%),
    linear-gradient(180deg,#03111c,#061722);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}

.hero-glow{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.hero-glow-a{
  width:520px;
  height:520px;
  left:-330px;
  top:90px;
  border:1px solid rgba(17,229,211,.055);
  box-shadow:
    0 0 0 90px rgba(17,229,211,.012),
    0 0 0 180px rgba(17,229,211,.008);
}

.hero-glow-b{
  width:420px;
  height:420px;
  right:-260px;
  bottom:-200px;
  border:1px solid rgba(255,122,26,.055);
  box-shadow:0 0 0 80px rgba(255,122,26,.010);
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:860px;
}

.hero-badge{
  width:max-content;
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:20px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(17,229,211,.16);
  background:rgba(17,229,211,.05);
  color:#72f0df;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.11em;
}

.hero-badge span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 5px rgba(17,229,211,.08);
  animation:heroPulse 2s ease-in-out infinite;
}

@keyframes heroPulse{
  50%{
    opacity:.45;
    box-shadow:0 0 0 10px rgba(17,229,211,.018);
  }
}

.hero h1{
  max-width:820px;
  margin-bottom:20px;
  color:#fff;
  font-size:clamp(2.8rem,6vw,5.8rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.052em;
}

.hero h1 strong{
  display:block;
  margin-top:8px;
  color:var(--cyan);
  font-weight:900;
}

.hero p{
  max-width:660px;
  margin-bottom:28px;
  color:#9aafbd;
  font-size:1.03rem;
  line-height:1.75;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.btn-cyan,
.btn-ghost{
  min-height:49px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px;
  border-radius:12px;
  font-size:.83rem;
  font-weight:900;
  transition:.2s;
}

.btn-cyan{
  color:#04131c;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  box-shadow:0 12px 26px rgba(17,229,211,.12);
}

.btn-cyan:hover{
  color:#04131c;
  transform:translateY(-2px);
  filter:brightness(1.04);
}

.btn-ghost{
  color:#dce8ef;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.btn-ghost:hover{
  color:#fff;
  border-color:rgba(255,122,26,.23);
  background:rgba(255,122,26,.05);
}

.hero-foot{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
  color:#5d7688;
  font-size:.72rem;
  font-weight:650;
}

.hero-foot strong{
  color:#d8e6ed;
  font-weight:850;
}

.hero-foot>i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#2e495c;
}

/* ───────────────────── TITULOS */
.section-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--cyan);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.115em;
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:24px;
}

.section-head h2,
.catalog-intro h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.35rem);
  font-weight:900;
  letter-spacing:-.028em;
}

.section-head>p{
  max-width:370px;
  margin:0;
  color:#6f8798;
  font-size:.80rem;
  line-height:1.6;
}

/* ───────────────────── DESTACADOS */
.featured-section{
  position:relative;
  padding:68px 0 74px;
  background:
    radial-gradient(620px 420px at 80% 0%,rgba(255,122,26,.035),transparent 65%),
    #05141f;
  border-top:1px solid var(--line);
}

.featured-grid{
  display:grid;
  grid-template-columns:1.35fr .825fr .825fr;
  gap:16px;
}

.featured-card{
  min-width:0;
}

.featured-media{
  position:relative;
  min-height:410px;
  height:100%;
  overflow:hidden;
  border-radius:25px;
  border:1px solid rgba(255,255,255,.08);
  background:#071c29;
  box-shadow:0 18px 46px rgba(0,0,0,.20);
  transition:.28s;
}

.featured-card:not(.featured-main) .featured-media{
  min-height:410px;
}

.featured-media:hover{
  transform:translateY(-5px);
  border-color:rgba(17,229,211,.17);
  box-shadow:0 30px 62px rgba(0,0,0,.32);
}

.featured-media>img{
  width:100%;
  height:100%;
  min-height:410px;
  object-fit:cover;
  display:block;
  transition:.45s;
}

.featured-media:hover>img{
  transform:scale(1.035);
}

.featured-fallback{
  width:100%;
  height:100%;
  min-height:410px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 40%,rgba(17,229,211,.12),transparent 42%),
    #071c29;
}

.featured-fallback i{
  color:var(--cyan);
  font-size:4rem;
  opacity:.55;
}

.featured-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(3,17,28,.05) 10%,rgba(3,17,28,.15) 40%,rgba(3,17,28,.94) 100%);
}

.featured-top{
  position:absolute;
  top:16px;
  left:16px;
  right:16px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.featured-top span{
  max-width:74%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:6px 9px;
  border-radius:999px;
  color:#d9e6ec;
  background:rgba(3,17,28,.72);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.featured-top strong{
  padding:6px 9px;
  border-radius:999px;
  color:#8af0aa;
  background:rgba(7,32,24,.75);
  border:1px solid rgba(34,197,94,.22);
  font-size:.61rem;
  font-weight:900;
}

.featured-copy{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  padding:24px;
}

.featured-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#75f1e0;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.075em;
}

.featured-copy h3{
  margin-bottom:8px;
  color:#fff;
  font-size:1.30rem;
  font-weight:900;
  line-height:1.25;
}

.featured-main .featured-copy h3{
  font-size:1.65rem;
}

.featured-copy p{
  display:-webkit-box;
  overflow:hidden;
  max-width:580px;
  margin-bottom:17px;
  color:#9eb1be;
  font-size:.75rem;
  line-height:1.55;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.featured-bottom{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
}

.featured-price small{
  display:block;
  color:#60798a;
  font-size:.62rem;
  text-decoration:line-through;
}

.featured-price strong{
  display:block;
  margin-top:1px;
  color:#fff;
  font-size:1.45rem;
  font-weight:900;
}

.featured-buy{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  color:#07151e;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  font-size:.70rem;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
}

.featured-buy:hover{
  color:#07151e;
  transform:translateY(-2px);
}

/* ───────────────────── CATÁLOGO */
.catalog-section{
  padding:72px 0 84px;
  background:
    radial-gradient(700px 500px at 50% 0%,rgba(17,229,211,.03),transparent 65%),
    #061620;
}

.catalog-intro{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.course-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  padding:9px 12px;
  border-radius:999px;
  color:#8098a8;
  border:1px solid var(--line);
  background:rgba(255,255,255,.018);
  font-size:.68rem;
  font-weight:800;
}

.courses-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

/* ───────────────────── COURSE ROW */
.course-row{
  min-width:0;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(10,35,50,.86),rgba(5,21,31,.96));
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  transition:.25s;
}

.course-row:hover{
  transform:translateY(-4px);
  border-color:rgba(17,229,211,.17);
  box-shadow:0 22px 42px rgba(0,0,0,.25);
}

.course-row-media{
  position:relative;
  min-height:218px;
  overflow:hidden;
  background:#0a2230;
}

.course-row-media>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:.38s;
}

.course-row:hover .course-row-media>img{
  transform:scale(1.04);
}

.course-row-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right,transparent 50%,rgba(5,21,31,.22)),
    linear-gradient(to bottom,transparent 58%,rgba(3,17,28,.80));
}

.course-row-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle,color-mix(in srgb,var(--course-color) 18%,transparent),transparent 58%),
    #0a2230;
}

.course-row-fallback i{
  color:var(--course-color);
  font-size:3rem;
  opacity:.58;
}

.course-row-label{
  position:absolute;
  left:11px;
  bottom:11px;
  max-width:78%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:5px 8px;
  border-radius:999px;
  color:#d8e6ed;
  background:rgba(3,17,28,.78);
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(8px);
  font-size:.52rem;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.course-row-discount{
  position:absolute;
  top:11px;
  right:11px;
  padding:5px 8px;
  border-radius:999px;
  color:#86efa9;
  background:rgba(7,32,24,.76);
  border:1px solid rgba(34,197,94,.20);
  font-size:.56rem;
  font-weight:900;
}

.course-row-body{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:17px 18px;
}

.course-row-top{
  min-height:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

.course-online,
.course-hot{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.07em;
}

.course-online{
  color:#6ef0df;
}

.course-online>span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(17,229,211,.07);
}

.course-hot{
  color:#ff9c56;
}

.course-row h3{
  margin-bottom:7px;
  color:#f4f9fc;
  font-size:.99rem;
  font-weight:900;
  line-height:1.34;
}

.course-row-body>p{
  display:-webkit-box;
  overflow:hidden;
  margin-bottom:10px;
  color:#758d9e;
  font-size:.70rem;
  line-height:1.52;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.course-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}

.course-row-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#597285;
  font-size:.59rem;
  font-weight:750;
}

.course-row-meta i{
  color:#57cfc6;
  font-size:.56rem;
}

.course-row-bottom{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.05);
}

.course-row-price small{
  display:block;
  color:#496375;
  font-size:.58rem;
  text-decoration:line-through;
}

.course-row-price strong{
  display:block;
  margin-top:1px;
  color:#fff;
  font-size:1.22rem;
  font-weight:900;
}

.course-row-actions{
  display:flex;
  align-items:center;
  gap:7px;
}

.row-wa{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#5ce78d;
  border:1px solid rgba(37,211,102,.16);
  background:rgba(37,211,102,.04);
  transition:.2s;
}

.row-wa:hover{
  color:#76eea2;
  background:rgba(37,211,102,.09);
}

.row-buy{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:0;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  font-size:.66rem;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
}

.row-buy:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}

/* ───────────────────── CTA */
.catalog-cta{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  margin-top:44px;
  padding:22px 24px;
  border-radius:19px;
  border:1px solid rgba(17,229,211,.10);
  background:
    linear-gradient(135deg,rgba(17,229,211,.035),rgba(255,122,26,.035));
}

.catalog-cta-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:var(--cyan);
  background:rgba(17,229,211,.07);
  border:1px solid rgba(17,229,211,.13);
}

.catalog-cta-copy>span{
  display:block;
  margin-bottom:3px;
  color:#6ae8d9;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.catalog-cta-copy h3{
  margin-bottom:3px;
  color:#fff;
  font-size:1.06rem;
  font-weight:900;
}

.catalog-cta-copy p{
  margin:0;
  color:#677f91;
  font-size:.72rem;
}

.cta-agent{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border-radius:10px;
  color:#06151e;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  font-size:.69rem;
  font-weight:900;
  transition:.2s;
}

.cta-agent:hover{
  color:#06151e;
  transform:translateY(-2px);
}

/* ───────────────────── EMPTY */
.database-empty{
  padding:50px 22px;
  text-align:center;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.015);
}

.database-empty i{
  margin-bottom:12px;
  color:#496476;
  font-size:2rem;
}

.database-empty h3{
  margin-bottom:5px;
  font-size:1rem;
  font-weight:900;
}

.database-empty p{
  margin:0;
  color:#647d8f;
  font-size:.75rem;
}

/* ───────────────────── FOOTER */
.footer{
  padding:28px 0;
  border-top:1px solid var(--line);
  background:#030e16;
}

.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.footer-brand img{
  width:42px;
  height:42px;
  object-fit:contain;
}

.footer-brand strong{
  display:block;
  color:#fff;
  font-size:.84rem;
}

.footer-brand span{
  display:block;
  margin-top:2px;
  color:#536d80;
  font-size:.66rem;
}

.footer-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:15px;
  color:#50697b;
  font-size:.68rem;
}

.footer-links a{
  color:#6e8798;
}

.footer-links a:hover{
  color:var(--cyan);
}

/* ───────────────────── TOAST */
.toast-box{
  position:fixed;
  top:88px;
  right:18px;
  z-index:99999;
}

.toast-cu{
  min-width:260px;
  max-width:360px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  padding:12px 14px;
  border-radius:12px;
  color:#fff;
  box-shadow:0 18px 38px rgba(0,0,0,.35);
  font-size:.75rem;
  font-weight:800;
}

.toast-cu.ok{
  background:#0d6f4f;
}

.toast-cu.err{
  background:#a92f36;
}

.toast-cu span{
  flex:1;
}

.toast-cu button{
  border:0;
  color:#fff;
  background:transparent;
  cursor:pointer;
}

/* ───────────────────── PAGO */
.payment-overlay{
  position:fixed;
  inset:0;
  z-index:99997;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(0,0,0,.90);
  backdrop-filter:blur(10px);
}

.payment-box{
  width:min(420px,100%);
  padding:32px 26px;
  text-align:center;
  border-radius:25px;
  border:1px solid rgba(17,229,211,.16);
  background:linear-gradient(145deg,#081d2b,#06141e);
  box-shadow:0 30px 80px rgba(0,0,0,.65);
}

.payment-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  border-radius:22px;
  color:var(--cyan);
  background:rgba(17,229,211,.07);
  border:1px solid rgba(17,229,211,.17);
  font-size:1.65rem;
  animation:spinPulse 1.6s ease-in-out infinite;
}

.payment-box h3,
.payment-box h2{
  margin-bottom:7px;
  font-size:1.35rem;
  font-weight:900;
}

.payment-box p{
  margin-bottom:12px;
  color:#8098a9;
  font-size:.80rem;
  line-height:1.55;
}

.payment-box>span,
.payment-box>small{
  color:#6eead9;
  font-size:.68rem;
  font-weight:700;
}

.success-emoji{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  border-radius:50%;
  color:#07151e;
  background:var(--green);
  font-size:2rem;
  font-weight:900;
}

.payment-code{
  margin:14px 0;
  padding:10px 12px;
  border-radius:11px;
  color:#78ef9f;
  background:rgba(34,197,94,.06);
  border:1px solid rgba(34,197,94,.16);
  font-size:.69rem;
  word-break:break-all;
}

.redirect-box{
  margin-bottom:12px;
  padding:11px;
  border-radius:11px;
  color:#07151e;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  font-size:.78rem;
  font-weight:900;
}

@keyframes confetiFall{
  to{
    transform:translateY(100vh) rotate(720deg);
    opacity:0;
  }
}

@keyframes spinPulse{
  50%{
    transform:scale(1.08);
    opacity:.7;
  }
}

/* ───────────────────── RESPONSIVE */
@media(max-width:1199px){
  .featured-grid{
    grid-template-columns:1fr 1fr;
  }

  .featured-main{
    grid-column:1/-1;
  }

  .featured-main .featured-media{
    min-height:480px;
  }

  .featured-main .featured-media>img{
    min-height:480px;
  }
}

@media(max-width:991px){
  .courses-list{
    grid-template-columns:1fr;
  }

  .course-row{
    grid-template-columns:220px minmax(0,1fr);
  }
}

@media(max-width:767px){
  .hero{
    padding:118px 0 62px;
  }

  .hero h1{
    font-size:3rem;
  }

  .section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .featured-grid{
    grid-template-columns:1fr;
  }

  .featured-main{
    grid-column:auto;
  }

  .featured-main .featured-media,
  .featured-main .featured-media>img{
    min-height:410px;
  }

  .catalog-intro{
    align-items:flex-start;
  }

  .catalog-cta{
    grid-template-columns:auto 1fr;
  }

  .cta-agent{
    grid-column:1/-1;
  }

  .footer-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:575px){
  .hero{
    padding:105px 0 54px;
  }

  .hero h1{
    font-size:2.55rem;
  }

  .hero p{
    font-size:.90rem;
  }

  .hero-actions{
    flex-direction:column;
  }

  .btn-cyan,
  .btn-ghost{
    width:100%;
  }

  .hero-foot{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .hero-foot>i{
    display:none;
  }

  .featured-media,
  .featured-card:not(.featured-main) .featured-media,
  .featured-media>img,
  .featured-main .featured-media,
  .featured-main .featured-media>img{
    min-height:390px;
  }

  .featured-copy{
    padding:19px;
  }

  .featured-main .featured-copy h3,
  .featured-copy h3{
    font-size:1.25rem;
  }

  .course-row{
    grid-template-columns:1fr;
  }

  .course-row-media{
    min-height:190px;
    aspect-ratio:16/9;
  }

  .course-row-body{
    padding:16px;
  }

  .course-row-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .course-row-actions{
    width:100%;
  }

  .row-buy{
    flex:1;
  }

  .catalog-cta{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   CERTUAP 2026 — OVERRIDE PROFESIONAL V3
   Reestructura visual sin tocar el PHP/HTML existente.
   Cyan + naranja institucional, cards verticales y responsive.
========================================================= */

:root{
  --cyan:#11e5d3;
  --cyan2:#35f4e6;
  --orange:#ff7a1a;
  --orange2:#ff9b4d;
  --bg:#03111c;
  --bg2:#061722;
  --panel:#081d2b;
  --panel2:#0b2535;
  --text:#f5fbff;
  --muted:#8ea5b5;
  --line:rgba(255,255,255,.075);
}

body{
  background:
    radial-gradient(1000px 650px at 10% 8%,rgba(17,229,211,.055),transparent 62%),
    radial-gradient(900px 600px at 90% 14%,rgba(255,122,26,.045),transparent 64%),
    linear-gradient(180deg,#03111c 0%,#04141f 45%,#03111c 100%) !important;
}

/* ---------- NAVBAR ---------- */
.navbar{
  min-height:76px !important;
  background:rgba(3,17,28,.92)!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}

.navbar.scrolled{
  background:rgba(3,17,28,.985)!important;
  box-shadow:0 15px 38px rgba(0,0,0,.33)!important;
}

.nav-link.active{
  color:var(--cyan)!important;
  background:linear-gradient(135deg,rgba(17,229,211,.08),rgba(255,122,26,.035))!important;
  box-shadow:inset 0 0 0 1px rgba(17,229,211,.08);
}

.nav-verify{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2))!important;
  box-shadow:0 10px 24px rgba(17,229,211,.13);
}

/* ---------- HERO: más compacto y con balance cyan/naranja ---------- */
.hero{
  padding:135px 0 78px !important;
  background:
    radial-gradient(760px 480px at 16% 10%,rgba(17,229,211,.10),transparent 64%),
    radial-gradient(680px 460px at 84% 22%,rgba(255,122,26,.075),transparent 64%),
    linear-gradient(135deg,#03111c 0%,#061925 58%,#031019 100%) !important;
}

.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--orange),transparent);
  opacity:.58;
}

.hero-content{
  max-width:900px !important;
}

.hero h1{
  font-size:clamp(3rem,5.6vw,5.35rem)!important;
  max-width:870px!important;
}

.hero h1 strong{
  color:transparent!important;
  background:linear-gradient(90deg,var(--cyan) 0%,#22e6d8 57%,var(--orange) 112%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
}

.hero-badge{
  border-color:rgba(17,229,211,.18)!important;
  background:linear-gradient(135deg,rgba(17,229,211,.055),rgba(255,122,26,.025))!important;
}

.btn-cyan{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2))!important;
}

.btn-ghost{
  border-color:rgba(255,122,26,.22)!important;
  background:rgba(255,122,26,.045)!important;
}

.btn-ghost:hover{
  border-color:rgba(255,122,26,.36)!important;
  background:rgba(255,122,26,.09)!important;
}

.hero-foot>i{
  background:linear-gradient(135deg,var(--cyan),var(--orange))!important;
}

/* ---------- ENCABEZADOS ---------- */
.section-eyebrow{
  color:var(--orange)!important;
}

.section-head h2,
.catalog-intro h2{
  letter-spacing:-.035em!important;
}

/* =========================================================
   DESTACADOS: BENTO PREMIUM EN ESCRITORIO
========================================================= */
.featured-section{
  padding:72px 0 80px!important;
  background:
    radial-gradient(700px 480px at 88% 0%,rgba(255,122,26,.05),transparent 66%),
    radial-gradient(620px 430px at 12% 18%,rgba(17,229,211,.025),transparent 65%),
    #05141f!important;
}

.featured-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr)!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
}

.featured-main{
  grid-column:1!important;
  grid-row:1 / span 2!important;
}

.featured-card:not(.featured-main){
  grid-column:2!important;
}

.featured-media,
.featured-card:not(.featured-main) .featured-media{
  height:100%!important;
  min-height:0!important;
  border-radius:26px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
}

.featured-main .featured-media{
  min-height:650px!important;
}

.featured-card:not(.featured-main) .featured-media{
  min-height:316px!important;
}

.featured-media::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  z-index:6;
  background:linear-gradient(90deg,var(--cyan),var(--orange));
  opacity:.85;
}

.featured-media>img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
}

.featured-main .featured-media>img{
  min-height:650px!important;
}

.featured-card:not(.featured-main) .featured-media>img{
  min-height:316px!important;
}

.featured-shade{
  background:linear-gradient(to bottom,rgba(2,12,20,.02) 5%,rgba(2,12,20,.10) 36%,rgba(2,12,20,.95) 100%)!important;
}

.featured-top strong{
  color:#ffe0c7!important;
  background:rgba(104,42,7,.76)!important;
  border-color:rgba(255,122,26,.28)!important;
}

.featured-copy{
  padding:26px!important;
}

.featured-main .featured-copy{
  padding:30px!important;
}

.featured-main .featured-copy h3{
  font-size:1.9rem!important;
  max-width:88%;
}

.featured-card:not(.featured-main) .featured-copy h3{
  font-size:1.15rem!important;
}

.featured-card:not(.featured-main) .featured-copy p{
  -webkit-line-clamp:1!important;
  margin-bottom:12px!important;
}

.featured-buy{
  color:#fff!important;
  background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
  box-shadow:0 9px 20px rgba(255,122,26,.17)!important;
}

.featured-buy:hover{
  color:#fff!important;
}

/* =========================================================
   CATÁLOGO: CARDS VERTICALES, SIN CORTES
========================================================= */
.catalog-section{
  padding:78px 0 90px!important;
  background:
    radial-gradient(850px 540px at 50% 0%,rgba(17,229,211,.035),transparent 66%),
    #061620!important;
}

.course-counter{
  color:#a5b7c3!important;
  border-color:rgba(255,122,26,.15)!important;
  background:rgba(255,122,26,.045)!important;
}

.courses-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  align-items:stretch!important;
}

.course-row{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  position:relative!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.078)!important;
  background:linear-gradient(165deg,#091f2e 0%,#071a27 58%,#05131e 100%)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}

.course-row::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:2px;
  z-index:8;
  opacity:.58;
  background:linear-gradient(90deg,var(--cyan),var(--orange));
}

.course-row:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(17,229,211,.17)!important;
  box-shadow:0 28px 55px rgba(0,0,0,.28)!important;
}

.course-row-media{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  background:#0a2230!important;
}

.course-row-media>img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .42s ease!important;
}

.course-row:hover .course-row-media>img{
  transform:scale(1.045)!important;
}

.course-row-overlay{
  background:linear-gradient(to bottom,transparent 42%,rgba(3,17,28,.82) 100%)!important;
}

.course-row-label{
  left:12px!important;
  bottom:12px!important;
  max-width:70%!important;
  padding:5px 9px!important;
  color:#dce8ee!important;
  background:rgba(3,17,28,.82)!important;
  border-color:rgba(255,255,255,.09)!important;
  font-size:.52rem!important;
}

.course-row-discount{
  top:12px!important;
  right:12px!important;
  color:#ffe0c7!important;
  background:rgba(104,42,7,.79)!important;
  border-color:rgba(255,122,26,.29)!important;
}

.course-row-body{
  min-width:0!important;
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  padding:18px 18px 19px!important;
}

.course-row-top{
  min-height:23px!important;
  margin-bottom:9px!important;
}

.course-online{
  color:#67eddb!important;
}

.course-hot{
  color:#ff9a52!important;
}

.course-row h3{
  display:-webkit-box!important;
  overflow:hidden!important;
  min-height:2.72em!important;
  margin-bottom:8px!important;
  color:#f4f9fc!important;
  font-size:1.03rem!important;
  font-weight:900!important;
  line-height:1.36!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

.course-row-body>p{
  display:-webkit-box!important;
  overflow:hidden!important;
  min-height:44px!important;
  margin-bottom:12px!important;
  color:#7890a0!important;
  font-size:.72rem!important;
  line-height:1.55!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

.course-row-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-bottom:14px!important;
}

.course-row-meta span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px 7px!important;
  border-radius:8px!important;
  color:#7f96a5!important;
  background:rgba(255,255,255,.022)!important;
  border:1px solid rgba(255,255,255,.045)!important;
  font-size:.58rem!important;
  font-weight:750!important;
}

.course-row-meta i{
  color:var(--cyan)!important;
}

.course-row-bottom{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:auto!important;
  padding-top:14px!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}

.course-row-price small{
  color:#4e6779!important;
  font-size:.58rem!important;
}

.course-row-price strong{
  color:#fff!important;
  font-size:1.38rem!important;
  font-weight:900!important;
}

.course-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-shrink:0!important;
}

.row-wa{
  width:40px!important;
  height:40px!important;
  border-radius:11px!important;
  color:#62ea91!important;
  border-color:rgba(37,211,102,.17)!important;
  background:rgba(37,211,102,.045)!important;
}

.row-buy{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:11px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
  box-shadow:0 8px 18px rgba(255,122,26,.15)!important;
  font-size:.67rem!important;
}

.row-buy:hover{
  filter:brightness(1.05)!important;
}

/* ---------- CTA ---------- */
.catalog-cta{
  border-color:rgba(255,122,26,.12)!important;
  background:linear-gradient(135deg,rgba(17,229,211,.035),rgba(255,122,26,.055))!important;
}

.catalog-cta-icon{
  color:var(--orange)!important;
  background:rgba(255,122,26,.075)!important;
  border-color:rgba(255,122,26,.16)!important;
}

.catalog-cta-copy>span{
  color:var(--cyan)!important;
}

.cta-agent{
  color:#fff!important;
  background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
  box-shadow:0 9px 18px rgba(255,122,26,.14)!important;
}

.cta-agent:hover{
  color:#fff!important;
}

/* =========================================================
   RESPONSIVE REAL
========================================================= */

@media (min-width:1400px){
  .container{
    max-width:1320px!important;
  }
}

@media(max-width:1199px){
  .featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
  }

  .featured-main{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }

  .featured-card:not(.featured-main){
    grid-column:auto!important;
  }

  .featured-main .featured-media,
  .featured-main .featured-media>img{
    min-height:470px!important;
  }

  .featured-card:not(.featured-main) .featured-media,
  .featured-card:not(.featured-main) .featured-media>img{
    min-height:360px!important;
  }

  .courses-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:991px){
  .hero{
    padding-top:118px!important;
  }

  .hero h1{
    font-size:clamp(2.8rem,8vw,4.6rem)!important;
  }

  .catalog-cta{
    grid-template-columns:auto 1fr!important;
  }

  .cta-agent{
    grid-column:1 / -1!important;
    width:max-content!important;
  }
}

@media(max-width:767px){
  .hero{
    padding:108px 0 60px!important;
  }

  .hero-content{
    max-width:100%!important;
  }

  .hero h1{
    font-size:3rem!important;
  }

  .section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .featured-grid{
    grid-template-columns:1fr!important;
  }

  .featured-main,
  .featured-card:not(.featured-main){
    grid-column:auto!important;
    grid-row:auto!important;
  }

  .featured-main .featured-media,
  .featured-main .featured-media>img,
  .featured-card:not(.featured-main) .featured-media,
  .featured-card:not(.featured-main) .featured-media>img{
    min-height:400px!important;
  }

  .courses-list{
    grid-template-columns:1fr!important;
  }

  .catalog-intro{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .footer-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(max-width:575px){
  .hero{
    padding:100px 0 52px!important;
  }

  .hero h1{
    font-size:2.48rem!important;
  }

  .hero p{
    font-size:.90rem!important;
  }

  .hero-actions{
    flex-direction:column!important;
  }

  .btn-cyan,
  .btn-ghost{
    width:100%!important;
  }

  .hero-foot{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }

  .hero-foot>i{
    display:none!important;
  }

  .featured-main .featured-media,
  .featured-main .featured-media>img,
  .featured-card:not(.featured-main) .featured-media,
  .featured-card:not(.featured-main) .featured-media>img{
    min-height:380px!important;
  }

  .featured-copy,
  .featured-main .featured-copy{
    padding:19px!important;
  }

  .featured-main .featured-copy h3,
  .featured-card:not(.featured-main) .featured-copy h3{
    font-size:1.22rem!important;
  }

  .featured-bottom{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .featured-buy{
    width:100%!important;
  }

  .course-row-bottom{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .course-row-actions{
    width:100%!important;
  }

  .row-buy{
    flex:1!important;
  }

  .catalog-cta{
    grid-template-columns:1fr!important;
  }

  .cta-agent{
    width:100%!important;
  }
}