
/* === Aristo Light Pro Theme (Final) === */
:root{
  --bg:#f7fafc;              /* page background */
  --surface:#ffffff;         /* panels */
  --muted:#64748b;           /* muted text */
  --text:#111827;            /* primary text */
  --line:#e5e7eb;            /* borders */
  --primary:#06b6d4;         /* cyan */
  --green:#22c55e;           /* green */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background: var(--bg);
  color: var(--text);
  padding-top: 100px;  /* adjust: topbar height (≈40px) + navbar height (≈80px) */
}

/* Never underline links */
a, a:hover, a:focus, a:active{ text-decoration:none !important; }
ol, ul {
    padding-left: 0.8rem;
}
/* Navbar (light) */
.navbar{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.navbar .navbar-brand{ color:#0c4a6e; font-weight:800; letter-spacing:.2px }
.navbar .nav-link{ color:#0f172a; padding:.9rem 1rem; border-radius:.5rem }
.navbar .nav-link:hover{ color:#06b6d4; background:transparent }
.navbar .nav-link:focus-visible{ box-shadow:none; }
.navbar .nav-link.active{ color:#0891b2; font-weight:700 }
.navbar .btn-cta{
  background: linear-gradient(90deg, var(--primary), var(--green));
  border:0; color:#062028; border-radius:.7rem; padding:.55rem 1rem;
  box-shadow: 0 10px 30px rgba(6,182,212,.25);
}

/* Mega menu */
.position-static .dropdown-menu.mega-menu{
  width: 100%;
  left: 0; right: 0;
  border:0; border-radius:0;
  padding: 1.25rem 0;
  background:#fff;
  box-shadow: 0 24px 50px rgba(15, 23, 42, .12);
}
.mega-inner{ max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.mega-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.mega-col h6{ font-size:.9rem; color:#0ea5e9; margin:.25rem 0 .5rem 0.6rem }
.mega-link{ display:block; padding:.55rem .65rem; border-radius:.5rem }
.mega-link strong{ display:block; color:#0f172a }
.mega-link span{ display:block; color:var(--muted); font-size:.85rem }
.mega-link:hover{ background:#f0f9ff }

/* Sections */
.hero{ padding: 5.5rem 0 4rem; background: linear-gradient(180deg, #ecfeff, #ffffff) }
.page-hero{ padding: 4rem 0 2rem; background:#fff; border-bottom:1px solid var(--line) }
.section{ padding: 3rem 1rem }
.section-1rem{ padding: 1rem }
.section-3rem{ padding: 3rem 1rem 1rem 1rem }

/* Cards & KPIs */
.card{ background: var(--surface); border:1px solid var(--line); border-radius: .9rem; }
.card .card-title{ color:#0f172a }
.card .card-text{ color: var(--muted) }
.kpi{ text-align:center; padding:1.2rem; border:1px solid var(--line); border-radius: .9rem; background:#fff }
.kpi h3{ margin:0; color:#0891b2 }

/* Buttons */
.btn-dark{ background: linear-gradient(90deg, var(--primary), var(--green)); border:0; color:#062028 }
.btn-dark:hover{ filter:brightness(1.06) }
.btn-outline-dark{ border:1px solid var(--primary); color:#0369a1 }
.btn-outline-dark:hover{ background:var(--primary); color:#062028 }

/* Tables */
.table thead th{ background:#f8fafc; border-color:var(--line) }
.table tbody td, .table tbody th{ border-color:var(--line) }

/* Forms */
.form-control, .form-select, textarea{
  background:#fff; color:#0f172a; border:1px solid #dbe5ef;
}
.form-control:focus, .form-select:focus, textarea:focus{
  border-color:#06b6d4; box-shadow: 0 0 0 .2rem rgba(6,182,212,.20);
}
label{ color:#334155 }

/* Footer */
footer{ background: #fff; border-top:1px solid var(--line) }
footer a{ color:#0ea5e9 }
footer a:hover{ color:#0369a1 }

/* Utility */
.text-muted{ color: var(--muted) !important }
hr{ border-color: var(--line) }

/* --- Topbar (light) --- */
.topbar{ min-height: 30px;; background: linear-gradient(90deg, var(--primary), var(--green)); color:#ffffff; border-bottom:none; box-shadow: 0 4px 18px rgba(2,8,23,.08); }
.topbar a{ color:#0369a1 }
.topbar a:hover{ color:#06b6d4 }

/* --- Navbar hover: color only (no background), Active: underline/border indicator --- */
.navbar .nav-link{
  color:#0f172a;
  padding:.9rem 1rem;
  border-radius:0;
  border-bottom:2px solid transparent;
}
.navbar .nav-link.active{
  color:#06b6d4;
  font-weight: normal;     /* remove boldness */
  border-bottom: none;     /* remove underline/border */
}

/* --- Logo sizing --- */
.navbar-brand img{
  height:56px;
  max-height:56px;
  width:auto;
}
@media (max-width: 575.98px){
  .navbar-brand img{ height:44px; max-height:44px; }
}

/* --- Shadows --- */
.shadow-soft{ box-shadow: 0 10px 30px rgba(2,8,23,.08); }
.shadow-strong{ box-shadow: 0 24px 60px rgba(2,8,23,.12); }
.card{ box-shadow: 0 10px 30px rgba(2,8,23,.06); }
.kpi{ box-shadow: 0 6px 18px rgba(2,8,23,.06); }

/* --- Hero spacing tweak after removing map --- */
.hero .lead{ max-width: 58ch; }

/* --- Gradient Topbar and Footer --- */
.topbar{ background: linear-gradient(90deg, var(--primary), var(--green)); color:#ffffff; border-bottom:none; box-shadow: 0 4px 18px rgba(2,8,23,.08); }
.topbar a{ color:#ffffff; opacity:.95 }
.topbar a:hover{ color:#ecfeff; opacity:1 }






/* Gradient separators */
.gradient-bar{
  height:3px;
  background: linear-gradient(90deg, var(--primary), var(--green));
  border-radius: 2px;
  margin: .75rem 0 1rem;
}

/* Cards/sections shadows and accents */
.card{ box-shadow: 0 10px 30px rgba(2,8,23,.06); }
.section-accent{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius: 1rem;
  box-shadow: 0 16px 40px rgba(2,8,23,.08);
  padding: 1.25rem;
}

/* Icon circle */
.icon-circle{
  width:44px;height:44px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(6,182,212,.12);
  color:#0e7490; font-size:20px;
  border:1px solid #d3e7ee;
}

/* Light footer gradient */
footer{
  background: linear-gradient(180deg, #f8fafc, #eef6ff);
  color:#0f172a;
}
footer a{ color:#0ea5e9 }
footer a:hover{ color:#0369a1 }
footer .border-top{ border-color: #dbeafe !important; }
/* Footer with same gradient as topbar */
footer.footer-gradient {
  background: linear-gradient(90deg, var(--primary), var(--green));
  color: #f1f5f9;
}

footer.footer-gradient .footer-title {
  color: #ffffff;
  font-weight: 600;
}

footer.footer-gradient .footer-text {
  color: #e2e8f0;
}

footer.footer-gradient a {
  color: #ffffff;
  text-decoration: none;
}

footer.footer-gradient a:hover {
  color: #ecfeff;
}

footer.footer-gradient .border-top {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

footer.footer-gradient .btn-light {
  color: #0f172a;
  font-weight: 600;
}

footer.footer-gradient .small {
  color: #f8fafc !important;
}
/* Logo sizing (fixed) */
.navbar-brand img{ height:48px; max-height:48px; width:auto; object-fit:contain }
@media (max-width: 575.98px){ .navbar-brand img{ height:36px; max-height:36px } }
