:root {
  --ecurem-navy: #14233f;
  --ecurem-navy-soft: #203657;
  --ecurem-blue: #2b6de8;
  --ecurem-cyan: #1aa6c8;
  --ecurem-bg: #f7f9fc;
  --ecurem-card: #ffffff;
  --ecurem-text: #182338;
  --ecurem-muted: #5e6b80;
  --ecurem-border: #e2e7ef;
  --ecurem-shadow: 0 12px 36px rgba(25,43,72,.08);
}
html { scroll-behavior: smooth; }
body {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ecurem-text);
  background: var(--ecurem-bg);
  min-height: 100vh;
}
a { color: var(--ecurem-blue); }
a:hover { color: #195bd2; }
.navbar.bg-dark,
.navbar-ecurem {
  background: rgba(20,35,63,.98) !important;
  box-shadow: 0 8px 28px rgba(9,20,40,.14);
  backdrop-filter: blur(12px);
}
.navbar { padding-top: .7rem; padding-bottom: .7rem; }
.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .045em;
}
.navbar-brand img {
  width: 42px;
  height: 42px !important;
  object-fit: contain;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255,255,255,.82);
  font-weight: 600;
  border-radius: .55rem;
  padding-left: .72rem;
  padding-right: .72rem;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
  color: #fff;
  background: rgba(255,255,255,.08);
}
.dropdown-menu {
  border: 1px solid var(--ecurem-border);
  border-radius: .85rem;
  box-shadow: var(--ecurem-shadow);
  padding: .55rem;
}
.dropdown-item { border-radius: .55rem; padding: .62rem .8rem; }
.dropdown-item:hover,.dropdown-item.active { background: rgba(43,109,232,.10); color: var(--ecurem-blue); }
.container.mt-5,
main.container,
body > .container { padding-top: 1.5rem; padding-bottom: 2.5rem; }
h1,h2,h3,h4,h5,h6 { color: var(--ecurem-navy); font-weight: 750; }
.display-4,.display-5 { font-weight: 800; letter-spacing: -.025em; }
.lead { color: var(--ecurem-muted); }
.card,
.policy-card,
.license-card,
.pricing-card,
.download-card,
.guide-card,
.alert:not(.alert-danger):not(.alert-warning) {
  background: var(--ecurem-card);
  border: 1px solid var(--ecurem-border) !important;
  border-radius: 1.1rem !important;
  box-shadow: var(--ecurem-shadow);
}
.card { overflow: hidden; }
.card-header {
  border-bottom-color: var(--ecurem-border);
  font-weight: 700;
}
.card-header.bg-dark {
  background: var(--ecurem-navy) !important;
}
.btn { border-radius: .72rem; font-weight: 700; padding: .68rem 1.08rem; }
.btn-primary {
  background: var(--ecurem-blue);
  border-color: var(--ecurem-blue);
}
.btn-primary:hover,.btn-primary:focus { background: #195bd2; border-color: #195bd2; }
.btn-success { background: #147a68; border-color: #147a68; }
.btn-outline-primary { color: var(--ecurem-blue); border-color: var(--ecurem-blue); }
.form-control,.form-select {
  min-height: 46px;
  border-radius: .72rem;
  border-color: var(--ecurem-border);
}
.form-control:focus,.form-select:focus {
  border-color: var(--ecurem-blue);
  box-shadow: 0 0 0 .22rem rgba(43,109,232,.13);
}
.nav-tabs {
  border-bottom: 1px solid var(--ecurem-border);
  gap: .35rem;
}
.nav-tabs .nav-link {
  color: var(--ecurem-muted);
  border: 1px solid transparent;
  border-radius: .72rem .72rem 0 0;
  font-weight: 700;
}
.nav-tabs .nav-link:hover { color: var(--ecurem-blue); border-color: var(--ecurem-border); }
.nav-tabs .nav-link.active {
  color: var(--ecurem-blue);
  border-color: var(--ecurem-border) var(--ecurem-border) #fff;
  background: #fff;
}
.policy-card { padding: clamp(1.2rem, 3vw, 2.4rem); }
.policy-card h2 { border-bottom: 1px solid var(--ecurem-border); padding-bottom: .7rem; margin-bottom: 1.25rem; }
.policy-card h3 { margin-top: 1.8rem; font-size: 1.25rem; }
.legal-meta,.legal-warning {
  border-radius: .8rem;
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
}
.legal-meta { background: #edf4ff; border-left: 4px solid var(--ecurem-blue); }
.legal-warning { background: #eaf8fb; border-left: 4px solid var(--ecurem-cyan); }
.hero-section,.hero {
  color: #fff;
  background:
    radial-gradient(circle at 82% 16%, rgba(43,109,232,.44), transparent 30%),
    radial-gradient(circle at 18% 86%, rgba(26,166,200,.25), transparent 34%),
    linear-gradient(135deg,#101c34 0%,#142d51 56%,#0b4b68 100%) !important;
}
.hero-section h1,.hero-section h2,.hero h1,.hero h2 { color: #fff; }
.hero-section .lead,.hero .lead { color: rgba(255,255,255,.84); }
.badge { border-radius: 999px; }
footer,.footer,.bg-dark.text-white {
  background-color: #0e1a30 !important;
}
footer a { color: rgba(255,255,255,.82); }
.table { --bs-table-bg: transparent; }
.table thead th { color: var(--ecurem-navy); border-bottom-color: var(--ecurem-border); }
.small-muted,.text-muted { color: var(--ecurem-muted) !important; }
@media (max-width: 991.98px) {
  .navbar-collapse { padding-top: .75rem; }
  .navbar-dark .navbar-nav .nav-link { margin-bottom: .15rem; }
}
@media (max-width: 575.98px) {
  body > .container,.container.mt-5 { padding-top: .75rem; }
  .display-4,.display-5 { font-size: 2.1rem; }
  .policy-card { padding: 1rem; }
  .nav-tabs { justify-content: flex-start !important; overflow-x: auto; flex-wrap: nowrap; }
  .nav-tabs .nav-link { white-space: nowrap; }
}
@media print {
  .navbar,footer,.btn { display:none !important; }
  body { background:#fff; }
  .card,.policy-card { box-shadow:none !important; }
}
