:root{
  --primary:#d32f2f;
  --primary-dark:#b71c1c;
  --dark:#101214;
  --muted:#6c757d;
  --border:#e9ecef;

  --bg:#f6f7fb;
  --surface:#ffffff;
  --shadow: 0 12px 30px rgba(16,18,20,.08);
  --shadow-sm: 0 8px 20px rgba(16,18,20,.06);

  --radius: 14px;
  --radius-sm: 10px;

  --ring: 0 0 0 .22rem rgba(211,47,47,.12);

  /* ✅ sticky offset values set by JS */
  --headerx-h: 120px;
  --headerx-h-compact: 80px;
}

html { scroll-behavior: smooth; }

body, button, input, select, textarea{
  font-family:'Mukta','Noto Sans Devanagari',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,h5,h6,p,span,a,li,small,strong,em,div,label{
  font-family:'Mukta','Noto Sans Devanagari',sans-serif;
}

.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands{
  font-family:"Font Awesome 6 Free","Font Awesome 6 Brands" !important;
}

body{
  background: var(--bg);
  color: var(--dark);
  margin:0;
}

a{ color:inherit; }
img{ max-width:100%; height:auto; display:block; }

.u-surface{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.btn:focus, .form-control:focus, .form-select:focus, .navbar-toggler:focus, a:focus{
  box-shadow: var(--ring) !important;
  outline: none !important;
}

.clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.clamp-3{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Main */
main.portal-main{
  min-height: 60vh;
  padding-top: .75rem;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

