/* ================================================================
   BARRA PROMO TOP — CSS_TEST_2026
   ================================================================ */
#promoTopBar {
  background: linear-gradient(90deg, #1d4ed8 0%, #1e3a8a 50%, #0f172a 100%);
  color: #fff;
  font-size: .82rem;
  padding: 9px 0;
  max-height: 60px;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  position: relative;
  z-index: 1100;
}
.promo-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.promo-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: rgba(255,255,255,.9);
}
.promo-fire { font-size: 1rem; animation: promoFlame .8s ease-in-out infinite alternate; }
@keyframes promoFlame { from { transform: scale(1); } to { transform: scale(1.2); } }
.promo-sep { color: rgba(255,255,255,.3); margin: 0 4px; }
.promo-bar-right { display: flex; align-items: center; gap: 10px; }
.promo-cta {
  background: #f59e0b;
  color: #0f172a !important;
  font-weight: 700;
  font-size: .78rem;
  padding: 5px 16px;
  border-radius: 6px;
  transition: background .2s;
  white-space: nowrap;
  text-decoration: none !important;
}
.promo-cta:hover { background: #d97706; color: #0f172a !important; }
#promoBarClose {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.6);
  cursor: pointer;
  font-size: .9rem;
  padding: 0 4px;
  transition: color .2s;
}
#promoBarClose:hover { color: #fff; }

/* ================================================================
   SUB-HEADER MEJORADO
   ================================================================ */
.sub-header {
  background: #0f172a !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  padding: 7px 0 !important;
}
.sub-header-left {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.sub-contact-link {
  color: rgba(255,255,255,.65) !important;
  font-size: .78rem;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color .2s;
  text-decoration: none !important;
}
.sub-contact-link:hover { color: #f59e0b !important; }
.sub-contact-link i { color: #f59e0b; font-size: .75rem; }
.sub-sep {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.15);
  display: inline-block;
  margin: 0 6px;
  vertical-align: middle;
}
.sub-badge {
  font-size: .72rem;
  color: rgba(255,255,255,.45);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.sub-badge i { color: #f59e0b; font-size: .7rem; }
.sub-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  flex-wrap: wrap;
}
.sub-social {
  width: 26px;
  height: 26px;
  background: rgba(255,255,255,.08);
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6) !important;
  font-size: .75rem;
  transition: all .2s;
  text-decoration: none !important;
}
.sub-social:hover { background: rgba(255,255,255,.18); color: #fff !important; }
.sub-social--wa { background: rgba(37,211,102,.12) !important; color: #25d366 !important; border: 1px solid rgba(37,211,102,.2); }
.sub-social--wa:hover { background: rgba(37,211,102,.25) !important; color: #2de370 !important; border-color: rgba(37,211,102,.4); }
.sub-lang-form { margin: 0; }
.sub-lang-select {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.7) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  font-size: .75rem !important;
  padding: 3px 24px 3px 8px !important;
  border-radius: 6px !important;
  cursor: pointer;
  height: auto !important;
  min-height: auto !important;
}
.sub-lang-select option { background: #0f172a; color: #fff; }

/* ================================================================
   URGENCY STRIP (debajo del navbar en homepage)
   ================================================================ */
.urgency-strip {
  background: linear-gradient(90deg, #071325 0%, #1d4ed8 35%, #0f2a5e 65%, #071325 100%);
  padding: 0;
  overflow: hidden;
  position: relative;
  height: 38px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
/* Fade edges */
.urgency-strip::before,
.urgency-strip::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.urgency-strip::before {
  left: 0;
  background: linear-gradient(90deg, #071325 0%, transparent 100%);
}
.urgency-strip::after {
  right: 0;
  background: linear-gradient(270deg, #071325 0%, transparent 100%);
}
.urgency-strip .container {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  padding: 0;
}
/* Scrolling marquee track */
.urgency-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: urgencyScroll 28s linear infinite;
  will-change: transform;
}
.urgency-track:hover { animation-play-state: paused; }
@keyframes urgencyScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.urgency-inner {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding: 0 28px;
  font-size: .78rem;
  color: rgba(255,255,255,.85);
  flex-shrink: 0;
}
.urgency-inner span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.urgency-inner i { color: #f59e0b; }
.urgency-inner strong { color: #fff; font-weight: 700; }
.us-sep { color: rgba(255,255,255,.2); font-size: 1rem; }

/* ================================================================
   PRE-FOOTER CTA
   ================================================================ */
.prefooter-cta {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 55%, #1d4ed8 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.prefooter-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 70% 50%, rgba(29,78,216,.4) 0%, transparent 70%);
}
.prefooter-cta .container { position: relative; z-index: 1; }
.pf-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(245,158,11,.2);
  color: #f59e0b;
  padding: 5px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 16px;
}
.pf-title {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em;
  margin-bottom: 16px;
}
.pf-sub { color: rgba(255,255,255,.75); font-size: 1rem; line-height: 1.7; }
.pf-sub strong { color: #f59e0b; }
.pf-guarantee {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.6);
  font-size: .8rem;
}
.pf-guarantee i { color: #10b981; }
.pf-guarantee strong { color: rgba(255,255,255,.9); }
.pf-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.pf-stat {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 22px 18px;
  text-align: center;
  backdrop-filter: blur(8px);
  transition: transform .2s;
}
.pf-stat:hover { transform: translateY(-3px); }
.pf-stat-num { display: block; font-size: 1.8rem; font-weight: 800; color: #f59e0b; line-height: 1; margin-bottom: 6px; }
.pf-stat-label { font-size: .78rem; color: rgba(255,255,255,.65); display: block; }

/* ================================================================
   FOOTER MEJORADO
   ================================================================ */
.footer {
  background: #0f172a !important;
  padding: 72px 0 0 !important;
  color: rgba(255,255,255,.65) !important;
}
.footer h1, .footer h5 {
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 20px !important;
  line-height: 1 !important;
}
.footer-col-title {
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 20px !important;
  line-height: 1 !important;
}
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 11px; }
.footer-links a {
  color: rgba(255,255,255,.62);
  font-size: .875rem;
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
}
.footer-links a::before { content: '›'; color: #f59e0b; font-weight: 700; font-size: 1rem; line-height: 1; transition: transform .2s; }
.footer-links a:hover { color: #f59e0b; padding-left: 4px; }

/* Redes sociales footer */
.footer-social {
  width: 36px; height: 36px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.65) !important;
  font-size: .85rem;
  transition: all .25s;
  text-decoration: none !important;
}
.footer-social:hover {
  background: var(--hov, #2563eb);
  border-color: transparent;
  color: #fff !important;
  transform: translateY(-2px);
}

/* Contacto footer */
.footer-contact { display: flex; flex-direction: column; gap: 10px; }
.footer-contact-link {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.6);
  font-size: .83rem;
  transition: color .2s;
  text-decoration: none !important;
}
.footer-contact-link:hover { color: #f59e0b; }
.fc-icon {
  width: 28px; height: 28px;
  background: rgba(245,158,11,.12);
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  color: #f59e0b; font-size: .75rem; flex-shrink: 0;
}

/* App badges */
.footer-cert-label { font-size: .7rem; color: rgba(255,255,255,.4); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .06em; }
.app-badge {
  display: flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px; padding: 8px 14px;
  color: rgba(255,255,255,.8) !important;
  font-size: .78rem;
  transition: all .2s;
  text-decoration: none !important;
}
.app-badge:hover { background: rgba(255,255,255,.12); color: #fff !important; }
.app-badge span { display: flex; flex-direction: column; line-height: 1.2; }
.app-badge small { font-size: .65rem; color: rgba(255,255,255,.45); }

/* Certificaciones footer */
.footer-cert-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.cert-badge {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 8px 10px;
  font-size: .62rem; color: rgba(255,255,255,.5);
  text-align: center; line-height: 1.3; transition: all .2s; cursor: default;
}
.cert-badge:hover { border-color: #f59e0b; color: #f59e0b; }
.cert-badge i { color: #10b981; font-size: .9rem; }

/* Métodos de pago */
.payment-methods { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.payment-badge {
  width: 44px; height: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; color: rgba(255,255,255,.7);
  transition: all .2s; cursor: default;
}
.payment-badge:hover { background: rgba(255,255,255,.15); }
.payment-badge--yape { background: rgba(109,40,217,.2); border-color: rgba(139,92,246,.3); color: #a78bfa; font-size: .58rem !important; font-weight: 800; }
.payment-badge--plin { background: rgba(16,185,129,.15); border-color: rgba(16,185,129,.3); color: #34d399; font-size: .58rem !important; font-weight: 800; }

/* WhatsApp CTA footer */
.footer-wa-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(37,211,102,.12);
  border: 1px solid rgba(37,211,102,.25);
  border-radius: 10px; padding: 10px 16px;
  color: #25d366 !important; font-size: .82rem;
  transition: all .2s; text-decoration: none !important;
}
.footer-wa-cta:hover { background: rgba(37,211,102,.2); color: #2de370 !important; }
.footer-wa-cta strong { color: #fff; }

/* Divider */
.footer-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.1) 30%, rgba(255,255,255,.1) 70%, transparent);
  margin: 52px 0 0;
}

/* Band inferior */
.footer-bottom-band { padding: 32px 0 36px; }

/* Newsletter */
.footer-newsletter-form {
  display: flex;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px; overflow: hidden; max-width: 440px;
  transition: border-color .2s;
}
.footer-newsletter-form:focus-within { border-color: rgba(245,158,11,.5); }
.fnl-input {
  flex: 1; background: transparent; border: none;
  padding: 13px 16px; color: #fff; font-size: .875rem; outline: none;
}
.fnl-input::placeholder { color: rgba(255,255,255,.35); }
.fnl-btn {
  background: #f59e0b; border: none; padding: 0 20px;
  color: #0f172a; font-weight: 700; font-size: .85rem; cursor: pointer;
  display: flex; align-items: center; gap: 7px; transition: background .2s; white-space: nowrap;
}
.fnl-btn:hover { background: #d97706; }

/* Trust row */
.footer-trust-row { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 14px; justify-content: flex-end; }
.footer-trust-item { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.45); font-size: .74rem; }
.footer-trust-item i { color: #f59e0b; font-size: .75rem; }

/* Copyright */
.footer-copyright {
  font-size: .75rem; color: rgba(255,255,255,.3);
  display: flex; flex-wrap: wrap; gap: 6px;
  justify-content: flex-end; align-items: center;
}
.footer-copyright strong { color: rgba(255,255,255,.55); }
.footer-copyright a { color: rgba(255,255,255,.35) !important; text-decoration: none !important; transition: color .2s; }
.footer-copyright a:hover { color: #f59e0b !important; }
.footer-sep { color: rgba(255,255,255,.15); }

/* ================================================================
   HEADER STICKY
   ================================================================ */
#siteHeader {
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow .3s;
}

/* ================================================================
   NAVBAR — MEJORAS GENERALES
   ================================================================ */
.menubar .navbar {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background: #fff !important;
  box-shadow: 0 2px 20px rgba(15,23,42,.07) !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

/* ================================================================
   BOTONES NAVBAR — ACCESO / ÚNETE AHORA
   ================================================================ */

/* Botón "Acceso" (Login) — ghost con ícono */
.nav-btn-login {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  color: #374151 !important;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  transition: border-color .22s, color .22s, background .22s, transform .22s;
  margin-left: 8px;
  background: #fff;
}
.nav-btn-login i {
  font-size: .85rem;
  color: #6b7280;
  transition: color .22s;
}
.nav-btn-login:hover {
  border-color: #4f46e5;
  color: #4f46e5 !important;
  background: #eef2ff;
  transform: translateY(-1px);
}
.nav-btn-login:hover i { color: #4f46e5; }

/* Botón "Únete Ahora" (Join Now) — CTA sólido con gradiente */
.nav-btn-signup {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 20px;
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
  border: 2px solid transparent;
  border-radius: 10px;
  color: #fff !important;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  transition: all .25s cubic-bezier(.34, 1.3, .64, 1);
  margin-left: 8px;
  box-shadow: 0 4px 14px rgba(79, 70, 229, .35);
  letter-spacing: .01em;
}
.nav-btn-signup i {
  font-size: .8rem;
  transition: transform .22s;
}
.nav-btn-signup:hover {
  background: linear-gradient(135deg, #3730a3 0%, #4f46e5 100%);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(79, 70, 229, .45);
}
.nav-btn-signup:hover i { transform: translateX(3px); }
.nav-btn-signup:active { transform: translateY(0); }

/* ================================================================
   LOGIN / REGISTRO — PÁGINAS DE AUTENTICACIÓN
   ================================================================ */
.lp-wrap {
  min-height: calc(100vh - 160px);
  display: flex;
  align-items: stretch;
  background: #f0f2ff;
}

/* Panel izquierdo */
.lp-left {
  flex: 1 1 55%;
  background: linear-gradient(145deg, #1e1b4b 0%, #3730a3 40%, #4f46e5 75%, #6366f1 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 56px;
  position: relative;
  overflow: hidden;
}
.lp-left::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.lp-left::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
}
.lp-left-inner { position: relative; z-index: 1; max-width: 440px; width: 100%; }

.lp-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 40px; }
.lp-brand img { height: 38px; filter: brightness(0) invert(1); }

.lp-heading {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 800; color: #fff;
  line-height: 1.22; letter-spacing: -.03em;
  margin-bottom: 14px;
}
.lp-heading span { color: #fbbf24; }
.lp-sub { font-size: .95rem; color: rgba(255,255,255,.72); line-height: 1.65; margin-bottom: 36px; }

.lp-illustration {
  width: 100%; max-width: 380px;
  margin: 0 auto 36px;
  display: block;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.25));
}
.lp-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.lp-stat {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px; padding: 16px 12px;
  text-align: center; backdrop-filter: blur(6px);
}
.lp-stat-num { display: block; font-size: 1.5rem; font-weight: 800; color: #fbbf24; line-height: 1; margin-bottom: 4px; }
.lp-stat-label { font-size: .68rem; color: rgba(255,255,255,.6); line-height: 1.3; }

/* Lista de beneficios (registro) */
.lp-benefits { list-style: none; padding: 0; margin: 0 0 32px; }
.lp-benefits li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: .875rem; color: rgba(255,255,255,.8); padding: 6px 0;
}
.lp-benefits li i {
  width: 20px; height: 20px;
  background: rgba(16,185,129,.25); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; color: #6ee7b7; flex-shrink: 0; margin-top: 2px;
}
.lp-benefits li strong { color: #fff; }

/* Panel derecho */
.lp-right {
  flex: 0 0 45%;
  display: flex; align-items: center; justify-content: center;
  padding: 48px 40px;
  background: #f0f2ff;
}
.lp-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(79,70,229,.12), 0 4px 20px rgba(0,0,0,.06);
  padding: 44px 40px; width: 100%; max-width: 420px;
  border: 1px solid rgba(79,70,229,.06);
}
.lp-card-title { font-size: 1.65rem; font-weight: 800; color: #1e1b4b; letter-spacing: -.03em; margin-bottom: 6px; line-height: 1.2; }
.lp-card-sub { font-size: .875rem; color: #6b7280; margin-bottom: 28px; line-height: 1.5; }

/* Inputs */
.lp-field { margin-bottom: 20px; }
.lp-label { display: block; font-size: .8rem; font-weight: 600; color: #374151; margin-bottom: 7px; letter-spacing: .01em; }
.lp-input-wrap { position: relative; }
.lp-input-wrap .lp-icon {
  position: absolute; left: 14px; top: 50%;
  transform: translateY(-50%);
  color: #9ca3af; font-size: .85rem; pointer-events: none; transition: color .2s;
}
.lp-input-wrap .lp-icon-right {
  position: absolute; right: 14px; top: 50%;
  transform: translateY(-50%);
  color: #9ca3af; font-size: .85rem; cursor: pointer; left: unset; transition: color .2s;
}
.lp-input {
  width: 100%; border: 1.5px solid #e5e7eb; border-radius: 12px;
  padding: 11px 42px 11px 42px; font-size: .92rem; color: #1f2937;
  background: #f9fafb; outline: none;
  transition: border-color .22s, background .22s, box-shadow .22s;
  font-family: inherit;
}
.lp-input:focus { border-color: #4f46e5; background: #fff; box-shadow: 0 0 0 4px rgba(79,70,229,.1); }
.lp-input-wrap:focus-within .lp-icon { color: #4f46e5; }
.lp-input::placeholder { color: #d1d5db; }
.lp-forgot { display: block; text-align: right; font-size: .78rem; color: #6b7280; text-decoration: none; margin-top: 7px; transition: color .2s; }
.lp-forgot:hover { color: #4f46e5; }

/* Botón submit */
.lp-btn {
  width: 100%; padding: 13px 24px;
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
  border: none; border-radius: 12px; color: #fff;
  font-size: 1rem; font-weight: 700; cursor: pointer; margin-top: 8px;
  letter-spacing: .01em; display: flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 6px 20px rgba(79,70,229,.38);
  transition: all .25s cubic-bezier(.34,1.3,.64,1); font-family: inherit;
}
.lp-btn:hover { background: linear-gradient(135deg, #3730a3 0%, #4f46e5 100%); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(79,70,229,.5); }
.lp-btn:active { transform: translateY(0); }

/* Divider */
.lp-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0; font-size: .78rem; color: #d1d5db; }
.lp-divider::before, .lp-divider::after { content: ''; flex: 1; height: 1px; background: #e5e7eb; }

/* Link registro/login */
.lp-register-row { text-align: center; font-size: .875rem; color: #6b7280; margin-top: 8px; }
.lp-register-row a { color: #4f46e5; font-weight: 700; text-decoration: none; transition: color .2s; }
.lp-register-row a:hover { color: #3730a3; text-decoration: underline; }

/* Trust */
.lp-trust { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; flex-wrap: wrap; }
.lp-trust-item { display: flex; align-items: center; gap: 5px; font-size: .72rem; color: #9ca3af; }
.lp-trust-item i { color: #10b981; font-size: .8rem; }

/* 2 columnas para nombre/apellido */
.lp-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* Checkbox instructor */
.lp-check-row {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border: 1.5px solid #e5e7eb; border-radius: 12px;
  cursor: pointer; transition: border-color .2s, background .2s; margin-bottom: 4px;
}
.lp-check-row:hover { border-color: #4f46e5; background: #f5f3ff; }
.lp-check-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: #4f46e5; cursor: pointer; flex-shrink: 0; }
.lp-check-row label { font-size: .875rem; font-weight: 600; color: #374151; cursor: pointer; margin: 0; line-height: 1.3; }
.lp-check-row label small { display: block; font-weight: 400; color: #9ca3af; font-size: .75rem; margin-top: 1px; }

/* Campos instructor */
#become-instructor-fields {
  background: #f5f3ff; border: 1.5px solid #c7d2fe;
  border-radius: 14px; padding: 18px 16px; margin-bottom: 16px;
}
#become-instructor-fields .lp-label { color: #4338ca; }

/* Input file */
.lp-file-wrap { border: 1.5px dashed #c7d2fe; border-radius: 12px; padding: 14px 16px; background: #f5f3ff; cursor: pointer; transition: border-color .2s; }
.lp-file-wrap:hover { border-color: #4f46e5; }
.lp-file-wrap input[type="file"] { width: 100%; font-size: .82rem; cursor: pointer; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 991px) {
  .prefooter-cta { padding: 56px 0; }
  .pf-title { font-size: 1.7rem; }
  .footer { padding: 60px 0 0 !important; }
  .footer-trust-row { justify-content: flex-start; }
  .footer-copyright { justify-content: flex-start; }
  /* Auth pages */
  .lp-left { display: none; }
  .lp-right { flex: 1; padding: 32px 20px; }
}
@media (max-width: 767px) {
  .urgency-strip { display: none; }
  .promo-bar-left { font-size: .75rem; }
  .footer-bottom-band { padding: 24px 0 30px; }
  .lp-2col { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 575px) {
  #promoTopBar { font-size: .72rem; padding: 7px 0; }
  .footer { padding: 48px 0 0 !important; }
  .lp-card { padding: 32px 22px; border-radius: 18px; }
}
