/* ================
   CreditOrg — main.css (UNIFICADO)
   Estilos base + Landing bancaria (prefijo co-)
   ================ */

:root{
  --co-blue:#0a5bd3;
  --co-blue-600:#0648a6;
  --co-ink:#0f172a;
  --co-muted:#6b7280;
  --co-line:#e6e9ef;
  --co-bg:#f5f7fb;
  --co-card:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0}

/* ====== BASE (no invasivo) ====== */
.co-body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;color:var(--co-ink);background:var(--co-bg)}
.co-wrap{max-width:1120px;margin:0 auto;padding:24px 16px}
.co-card{background:var(--co-card);border:1px solid var(--co-line);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(2,6,23,.05)}
.co-ttl{font-size:22px;color:var(--co-blue-600);margin:6px 0 12px}
.co-muted{color:var(--co-muted)}
.co-label{font-weight:700;margin-bottom:6px;display:block}
.co-input{width:100%;padding:10px;border:1px solid var(--co-line);border-radius:10px;background:#fff}

/* ====== BOTONES ====== */
.co-btn{padding:10px 14px;border-radius:10px;border:1px solid transparent;background:#fff;color:var(--co-ink);text-decoration:none;display:inline-block;transition:.15s ease}
.co-btn:hover{transform:translateY(-1px);opacity:.95}
.co-btn--primary{background:var(--co-blue);color:#fff }
.co-btn--outline{border-color:var(--co-blue);color:var(--co-blue);background:transparent}
.co-btn--ghost{border-color:transparent;background:transparent}

/* ====== HEADER/NAV ====== */
.co-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--co-line)}
.co-header__in{display:flex;align-items:center;justify-content:space-between}
.co-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--co-blue);font-weight:800}
.co-brand__badge{background:var(--co-blue);color:#fff;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.co-brand__name{letter-spacing:.2px}

.co-nav{display:flex;align-items:center;gap:14px;position:relative}
.co-burger{display:none;background:transparent;border:0}
.co-burger span{display:block;width:22px;height:2px;background:var(--co-blue-600);margin:5px 0;border-radius:2px}

.co-nav__links{display:flex;list-style:none;gap:14px;margin:0;padding:0;align-items:center}
.co-nav__link{padding:10px 8px;border-radius:8px;color:#0b4b86;text-decoration:none;font-weight:600}
.co-nav__link:hover{background:#f1f5f9}

.has-sub{position:relative}
.co-sub{display:none;position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border:1px solid var(--co-line);border-radius:12px;box-shadow:0 10px 24px rgba(2,6,23,.08);padding:10px;min-width:220px}
.has-sub:hover .co-sub{display:grid}
.co-sub a{padding:6px 8px;border-radius:6px;color:var(--co-ink);text-decoration:none}
.co-sub a:hover{background:#f1f5f9}

.co-nav__cta{display:flex;gap:8px}

/* ====== HERO ====== */
.co-hero{background:linear-gradient(180deg,#eaf2ff 0%, #f7faff 60%, #ffffff 100%);border-bottom:1px solid var(--co-line)}
.co-hero__in{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}
.co-hero__copy h1{font-size:42px;line-height:1.1;margin:8px 0 6px;color:#0a2c75}
.co-hero__copy p{color:var(--co-muted);margin:0 0 14px}
.co-hero__cta{display:flex;gap:10px;margin:10px 0 8px}
.co-hero__bullets{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0;padding:0;list-style:none}
.co-hero__bullets li{padding:6px 10px;border:1px solid #cfe5fb;border-radius:999px;background:#e6f1fb;color:#0b4b86;font-weight:600}

.co-hero__panel{display:grid;gap:12px}
.co-kpi h3{margin:0 0 4px}
.co-kpi p{margin:0}

/* ====== GRIDS ====== */
.co-grid{display:grid;gap:16px}
.co-grid--2{grid-template-columns:repeat(2,1fr)}
.co-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.co-grid--prod{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.co-prod h3{margin:0 0 6px}
.co-prod p{color:var(--co-muted);margin:0 0 10px}

/* ====== BAND ====== */
.co-band{border-top:1px solid var(--co-line);border-bottom:1px solid var(--co-line);background:#fff}
.co-band__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.co-band__col h3{margin:0 0 6px}
.co-band__col p{margin:0}

/* ====== FAQ ====== */
.co-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.co-faq details summary{cursor:pointer;font-weight:700}
.co-faq p{color:var(--co-muted)}

/* ====== CONTACTO ====== */
.co-contact .co-actions{display:flex;gap:8px;align-items:center;margin-top:10px}

/* ====== FOOTER ====== */
.co-footer{border-top:1px solid var(--co-line);background:#fff;margin-top:24px}
.co-footer__in{display:flex;align-items:center;justify-content:space-between;gap:10px}
.co-footer__links a{margin-right:12px;text-decoration:none;color:#0b4b86}
.co-footer__links a:hover{text-decoration:underline}
.co-copy{color:var(--co-muted)}

/* ====== RESPONSIVE ====== */
@media (max-width: 980px){
  .co-hero__in{grid-template-columns:1fr}
}
@media (max-width: 900px){
  .co-burger{display:block}
  .co-nav__links,.co-nav__cta{display:none}
  .co-body.co-nav-open .co-nav__links,
  .co-body.co-nav-open .co-nav__cta{
    display:flex;flex-direction:column;gap:10px;
    position:absolute;right:16px;top:68px;background:#fff;
    border:1px solid var(--co-line);border-radius:12px;padding:12px;
    box-shadow:0 10px 24px rgba(2,6,23,.12)
  }
}
@media (max-width: 640px){
  .co-grid--2{grid-template-columns:1fr}
  .co-hero__copy h1{font-size:32px}
}
/* ================
   AUTH (Login / Register) — estilos modernos + animaciones
   ================ */
.co-auth{min-height:100vh;position:relative;overflow-x:hidden}
.co-auth__bg{position:fixed;inset:0;background:linear-gradient(180deg,#eaf2ff 0%, #f7faff 60%, #ffffff 100%);z-index:-2}
.co-auth__blob{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(60px);opacity:.45;animation:co-float 18s ease-in-out infinite alternate}
.co-auth__blob--1{background:#9cc3ff;top:-60px;left:-60px}
.co-auth__blob--2{background:#c7ddff;bottom:-80px;right:-100px;animation-duration:22s}
.co-auth__blob--3{background:#a6d1ff;top:40%;left:60%;animation-duration:26s}
@keyframes co-float{
  0%{transform:translateY(0) translateX(0)}
  100%{transform:translateY(-25px) translateX(15px)}
}

.co-auth__header{position:sticky;top:0;z-index:5;background:transparent}
.co-auth__header .co-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--co-blue);font-weight:800;margin:20px 16px}

.co-auth__wrap{display:flex;align-items:center;justify-content:center;padding:1px 16px}
.co-auth__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;max-width:1080px;width:100%}

.co-auth__intro{padding:18px}
.co-auth__intro h1{font-size:36px;line-height:1.15;margin:8px 0 6px;color:#0a2c75}
.co-auth__intro p{margin:0 0 12px}
.co-auth__bullets{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:#0b4b86;font-weight:600}

.co-auth__card{backdrop-filter:saturate(140%) blur(6px); /* efecto vidrio suave */
  transition:transform .25s ease, box-shadow .25s ease}
.co-auth__card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(2,6,23,.12)}
.co-auth__title{margin:0 0 8px}

.co-form{display:grid;gap:2px}
.co-field{display:grid;gap:6px}
.co-field--pwd{position:relative}
.co-eye{position:absolute;right:10px;top:36px;width:36px;height:36px;border:1px solid var(--co-line);border-radius:10px;background:#fff;cursor:pointer}
.co-eye::before{content:"👁️";display:block;text-align:center;line-height:34px}
.co-eye.is-on::before{content:"🙈"}
.co-auth__actions{display:flex;gap:8px;align-items:center;margin-top:6px}
.co-auth__hint{margin:10px 0 0}

.co-msg{padding:10px 12px;border-radius:10px;font-weight:600;margin:6px 0}
.co-msg--ok{background:#e6fbe6;border:1px solid #bff0bf;color:#127c12}
.co-msg--error{background:#fdecec;border:1px solid #f3c1c1;color:#b42323}

/* Shake suave para validación */
@keyframes co-shake{10%,90%{transform:translateX(-1px)} 20%,80%{transform:translateX(2px)} 30%,50%,70%{transform:translateX(-4px)} 40%,60%{transform:translateX(4px)}}
.shake{animation:co-shake .35s both}

/* Footer Auth */
.co-auth__footer{display:flex;justify-content:center;padding:16px}

/* Responsive */
@media (max-width: 980px){
  .co-auth__grid{grid-template-columns:1fr}
  .co-auth__intro{order:2;text-align:center}
}
/* Alerts genéricos */
.co-alert{padding:10px 12px;border-radius:10px;border:1px solid}
.co-alert.ok{background:#e6fbe6;border-color:#bff0bf;color:#127c12}
.co-alert.err{background:#fdecec;border-color:#f3c1c1;color:#b42323}

/* Pasos */
.co-step h3{margin:0 0 6px}
.co-step .co-actions{margin-top:6px}

/* Navbar burger */
.co-burger{display:none;flex-direction:column;gap:4px;background:transparent;border:0}
.co-burger span{display:block;width:22px;height:2px;background:#0a2c75}
@media(max-width:960px){
  .co-burger{display:flex}
  .co-nav__links{display:none}
  body.co-nav-open .co-nav__links{display:block;position:absolute;left:0;right:0;top:64px;background:#fff;border-top:1px solid var(--co-line);padding:10px}
  body.co-nav-open .co-nav__links li{margin:8px 0}
  .co-nav__cta{display:none}
}
