/* Laguna Norte portal - custom styles */
:root{
  --brand:#164e63;
  --brand2:#0f766e;
  --accent:#f59e0b;
  --bg:#f8fafc;
  --text:#0f172a;
}
html { scroll-behavior: smooth; }
body{
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
}
.navbar-brand, .brand-title { letter-spacing: .2px; }
.hero{
  min-height: 92vh;
  position: relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(8,47,73,.88), rgba(15,118,110,.72)),
    url('/assets/img/hero-aerial.jpg') center/cover no-repeat;
  color: #fff;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 30%);
}
.hero .container{ position:relative; z-index:2; }
.hero-badge{
  display:inline-flex; gap:.5rem; align-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:.5rem .9rem;
  backdrop-filter: blur(10px);
}
.glass-card{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.45);
  border-radius: 1.5rem;
  box-shadow: 0 20px 60px rgba(15,23,42,.10);
}
.section-pad{ padding: 5rem 0; }
.feature-card, .content-card{
  border:none;
  border-radius:1.5rem;
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.icon-circle{
  width: 3rem; height: 3rem;
  border-radius: 999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff;
}
.img-cover{ object-fit: cover; width:100%; height:100%; }
.footer{
  background: #0f172a;
  color: #cbd5e1;
}
.badge-soft{
  background: rgba(22,78,99,.10);
  color: var(--brand);
  border:1px solid rgba(22,78,99,.15);
}
.topbar{
  background: rgba(15,23,42,.88);
  color:#fff;
  backdrop-filter: blur(8px);
}
.table thead th{ background:#f1f5f9; }
.form-control, .form-select{
  border-radius: 1rem;
  padding:.8rem 1rem;
}
.btn{
  border-radius: 999px;
  padding:.75rem 1.1rem;
}
.btn-brand{
  background: linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff;
  border:none;
}
.btn-brand:hover{ color:#fff; filter: brightness(1.05); }
.small-muted{ font-size:.925rem; color:#64748b; }
.timeline{
  border-left: 3px solid rgba(22,78,99,.2);
  padding-left: 1rem;
}
.timeline-item{ position: relative; margin-bottom: 1rem; }
.timeline-item::before{
  content:""; position:absolute; left:-1.3rem; top:.4rem;
  width:.7rem; height:.7rem; border-radius:999px; background:var(--brand2);
}
.otp-input{
  width: 3rem; height: 3.6rem;
  font-size:1.25rem; text-align:center;
  border-radius:1rem; border:1px solid #cbd5e1;
}
.hero-image{
  min-height: 420px;
  border-radius: 2rem;
  overflow:hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.dashboard-aside{
  position: sticky; top: 1rem;
}
.progress{
  height: 10px; border-radius: 999px;
}
@media (max-width: 991px){
  .hero{ min-height: auto; padding-top: 6rem; padding-bottom: 3rem; }
  .section-pad{ padding: 3.5rem 0; }
}
.hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
                url('/assets/img/hero-aerial.jpg') center/cover no-repeat;
}

/* Imagen derecha (la que ya tienes) */
.hero-image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mejora visual */
.hero-badge {
    background: rgba(255,255,255,0.1);
    color: #fff;
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-block;
}

.text-white-75 {
    color: rgba(255,255,255,0.75);
}
