/* ===== Paleta del sitio (coherente en todo) ===== */
:root{
  --brand:#0ea5ff;        /* azul eléctrico (confianza/atención) */
  --cta:#ff6a00;          /* naranja acción */
  --nav:#d8efff;          /* barra de navegación */
  --bg-light:#f8fafc;     /* fondo páginas */
  --card:#ffffff;         /* tarjetas claras */
  --ink-dark:#1e293b;     /* texto principal */
  --muted:#9fb6cc;        /* texto secundario */
  --ok:#16a34a;           /* éxito */
  --warn:#eab308;         /* aviso */
}

/* ===== Base ===== */
body{ background:var(--bg-light); color:var(--ink-dark); }
.lead-tight{ line-height:1.35 }

/* ===== NAVBAR mejorada ===== */
.navbar{
  background:var(--nav);
  padding:.9rem 0;
  border-bottom:1px solid #cfe8ff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.logo{ height:56px; width:auto; transition:transform .2s ease-in-out; }
.logo:hover{ transform:scale(1.05); }

.navbar-brand{ color:#0a55ba !important; font-weight:800; letter-spacing:.2px; }
.navbar .nav-link{
  color:#0f172a !important;
  font-weight:700;
  margin-left:.6rem;
  padding:.5rem .75rem;
  position:relative;
  transition:color .2s ease-in-out, background .2s ease-in-out;
}
/* subrayado animado */
.navbar .nav-link::after{
  content:"";
  position:absolute; left:12px; right:12px; bottom:.35rem;
  height:3px; border-radius:3px;
  background:linear-gradient(90deg, var(--brand), #4cc9ff);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.navbar .nav-link:hover{ color:#1565c0 !important; }
.navbar .nav-link:hover::after{ transform:scaleX(1); }

/* pestaña activa muy visible */
.navbar .nav-link.active{
  color:#fff !important;
  background:var(--brand);
  border-radius:10px;
}
.navbar .nav-link.active::after{ display:none; }

/* ===== Hero ===== */
.hero{
  background: linear-gradient(135deg, #d9eeff 0%, #f6fbff 40%, #ffffff 100%);
  padding: 5rem 1rem; text-align:center;
}
.hero h1{ font-size:clamp(2.2rem,4vw,3.25rem); color:#0a55ba; font-weight:900; }
.hero p{ color:#334155; max-width:850px; margin:.75rem auto 0; font-size:1.12rem; }

/* ===== Botones ===== */
.btn-cta{
  background: linear-gradient(90deg, var(--cta), #ffa142);
  border:none; color:#fff; padding:.85rem 1.35rem; border-radius:10px;
  font-weight:900; letter-spacing:.2px;
}
.btn-cta:hover{ filter:brightness(.9); transform:translateY(-1px); }
.btn-ghost{
  border:2px solid var(--brand); color:#0a55ba; font-weight:700;
  padding:.75rem 1.2rem; border-radius:10px; background:transparent;
}

/* ===== Secciones / Tarjetas ===== */
.section-title{ color:#0a55ba; font-weight:900; text-align:center; margin:2rem 0 1.25rem; letter-spacing:.2px; }
.card.feature{
  background:var(--card); border:1px solid #e2e8f0; border-radius:14px; padding:1.25rem;
  transition: transform .15s ease, box-shadow .2s ease;
}
.card.feature:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(17,119,255,.18); }
.card.feature h5{ color:var(--ok); font-weight:900; }
.card.feature p{ color:#334155 }

/* ===== Badge ===== */
.badge-pill{
  display:inline-block; padding:.5rem .75rem; border-radius:999px;
  background:#e0f2fe; color:#0369a1; font-weight:700;
}

/* ===== Footer ===== */
.footer{
  background:var(--nav); color:#475569; padding:1rem; border-top:1px solid #e2e8f0;
}
.footer a{ color:#0a55ba; text-decoration:none; margin:0 .4rem; }
.footer a:hover{ text-decoration:underline; }
.footer .sep{ margin:0 .25rem; color:#94a3b8; }

/* ===== Cookie banner ===== */
#cookie-banner{
  position:fixed; bottom:16px; left:50%; transform:translateX(-50%);
  width:min(920px,92vw);
  background:#0a55ba; color:#fff; padding:1rem 1.25rem; border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.25); z-index:1000; display:none;
}
#cookie-banner .btn-accept{ background:#16a34a; color:#fff; border:none; padding:.55rem 1rem; border-radius:8px; font-weight:900; }
#cookie-banner .btn-reject{ background:#dc2626; color:#fff; border:none; padding:.55rem 1rem; border-radius:8px; font-weight:900; }
/* Layout base para sticky footer */
html, body { height: 100%; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Si ya usas <main>, será el área flexible */
main { flex: 1 0 auto; }

/* Fallback: convierte contenedores típicos en área flexible si no hay <main> */
.site-main, .page-wrapper, .container-main { flex: 1 0 auto; }

/* El footer siempre cae al fondo */
.footer { margin-top: auto; }
