/* ============================================
   Ni bizCard — Brand Override
   Logo palette + Montserrat typography
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

:root{
  --ni-blue:        #29ABE2;
  --ni-blue-dark:   #1B87B8;
  --ni-blue-light:  #E8F6FC;
  --ni-purple:      #7B4FA6;
  --ni-orange:      #F5A623;
  --ni-ink:         #1B1920;

  --bs-primary:     #29ABE2;
  --bs-primary-rgb: 41,171,226;
  --bs-link-color:  #29ABE2;
  --bs-link-hover-color:#1B87B8;
}

/* ---------- TYPOGRAPHY: Montserrat ---------- */
body, .btn, input, select, textarea, button,
.navbar, .nav-link, .dropdown-item, .form-control,
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,
.card-title, .modal-title, footer, .header{
  font-family:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{ font-weight:700 !important; letter-spacing:-.01em; }
.btn{ font-weight:600 !important; letter-spacing:.01em; }
body{ font-weight:400; }

/* ---------- PRIMARY COLOR ---------- */
.text-primary{ color:var(--ni-blue) !important; }
.bg-primary{ background-color:var(--ni-blue) !important; }
.border-primary{ border-color:var(--ni-blue) !important; }
a{ color:var(--ni-blue); }
a:hover{ color:var(--ni-blue-dark); }
mark{ color:var(--ni-blue) !important; background:transparent; }

/* Buttons */
.btn-primary,
.btn-white.active,.btn-white:active,.btn-white:focus,.btn-white:hover{
  background-color:var(--ni-blue) !important;
  border-color:var(--ni-blue) !important;
  color:#fff !important;
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active{
  background-color:#fff !important;
  border-color:var(--ni-blue) !important;
  color:var(--ni-blue) !important;
}
.btn-white{ background:#fff; border:1px solid var(--ni-blue); color:var(--ni-blue); }
.btn-primary-light{ background:#fff !important; border:1px solid var(--ni-blue) !important; color:var(--ni-blue) !important; }
.btn-primary-light:hover,.btn-primary-light:focus,.btn-primary-light:active{
  background:var(--ni-blue) !important; border-color:var(--ni-blue) !important; color:#fff !important;
}
.btn-outline-primary{ color:var(--ni-blue); border-color:var(--ni-blue); }
.btn-outline-primary:hover{ background:var(--ni-blue); border-color:var(--ni-blue); color:#fff; }

/* Section heading underline */
.section-heading h2:after{ background-color:var(--ni-blue) !important; }

/* Slick carousel arrows */
.slick-arrow{ background-color:var(--ni-blue) !important; border-color:var(--ni-blue) !important; color:#fff !important; }
.slick-arrow:hover,.slick-arrow:focus,.slick-arrow:active,.slick-arrow.active{
  background-color:transparent !important; border-color:var(--ni-blue) !important; color:var(--ni-blue) !important;
}

/* Nav / dropdown */
.header .dropdown .dropdown-menu li .nav-link:hover,
.header .dropdown .dropdown-menu li .nav-link:focus,
.header .dropdown .dropdown-menu li .nav-link.active{ color:var(--ni-blue) !important; }
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{ background-color:var(--ni-blue) !important; }
.navbar-collapse{ box-shadow:0 5px 20px rgba(41,171,226,.28) !important; }

/* Forms */
.form-control:focus,.form-select:focus{
  border-color:var(--ni-blue) !important;
  box-shadow:0 0 0 .2rem rgba(41,171,226,.18) !important;
}
.form-check-input:checked{ background-color:var(--ni-blue) !important; border-color:var(--ni-blue) !important; }

/* Misc components */
.page-item.active .page-link{ background-color:var(--ni-blue) !important; border-color:var(--ni-blue) !important; }
.progress-bar{ background-color:var(--ni-blue) !important; }
.list-group-item.active{ background-color:var(--ni-blue) !important; border-color:var(--ni-blue) !important; }
.dropdown-item.active,.dropdown-item:active{ background-color:var(--ni-blue) !important; }
.accordion-button:not(.collapsed){ color:var(--ni-blue-dark) !important; background-color:var(--ni-blue-light) !important; }
.bg-light{ background-color:var(--ni-blue-light) !important; }
.js-cookie-consent{ background:var(--ni-blue-light) !important; }

/* ---------- ACCENTS from logo ---------- */
.text-accent-purple{ color:var(--ni-purple) !important; }
.text-accent-orange{ color:var(--ni-orange) !important; }
.badge.bg-primary{ background-color:var(--ni-blue) !important; }
.ribbon-wrapper .ribbon{ background-color:var(--ni-orange) !important; }

/* ---------- THEME 4 (Tailwind) hard-coded overrides ---------- */
.gradient-bg{
  background: linear-gradient(135deg, #29ABE2 0%, #7B4FA6 100%) !important;
}
[style*="#667eea"], [style*="#764ba2"], [style*="#7638f9"], [style*="#2863eb"]{
  background-image: linear-gradient(135deg,#29ABE2 0%,#7B4FA6 100%) !important;
}
.text-gradient, .gradient-text{
  background: linear-gradient(135deg,#29ABE2,#7B4FA6) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* ---------- HERO IMAGE SIZING ---------- */
#frontHomeTab img[alt="Digital vCard Illustration"]{
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
@media (min-width:1024px){
  #frontHomeTab img[alt="Digital vCard Illustration"]{ transform: scale(1.08); }
}

/* ---------- HEADER LOGO — stop the crop ---------- */
header img, .header img, nav img,
a[class*="brand"] img, .navbar-brand img,
img[alt*="logo" i], img[alt*="Logo"]{
  object-fit: contain !important;
  width: auto !important;
  max-height: 56px !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
