/* Xnormo SaaS Landing Styles */

/* Remove body margin/padding for flush layout */
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hero section reduced padding */
.hero-section {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
  min-height: 76vh;
}
@media (max-width: 991px) {
  .hero-section {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
@media (max-width: 575px) {
  .hero-section {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
}

/* Ensure navbar sits flush to top, no extra margin or padding */
.navbar {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

/* Brand color utility */
.bg-teal, .btn-teal {
  background-color: #1D9E75 !important;
  color: #fff !important;
}
.btn-teal-outline {
  color: #1D9E75 !important;
  border: 1.5px solid #1D9E75 !important;
  background: #fff;
}
.btn-teal-outline:hover,
.btn-teal:hover {
  background: #178661 !important;
  color: #fff !important;
  border-color: #178661 !important;
}

/* Logo inline brand color */
.brand-normo {
  color: #1D9E75 !important;
}

/* App cards */
.app-card {
  transition: transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);
  border-radius: 1rem;
  border: 1.5px solid #e7e7e7;
  background: #fff;
}
.app-card:hover {
  transform: translateY(-7px) scale(1.02);
  border-color: #1D9E75;
  box-shadow: 0 3px 24px 0 rgba(33, 158, 117, 0.08);
  z-index: 1;
}
.hover-shadow-transition {
  transition: box-shadow .15s, border-color .15s;
}

/* Navbar sticky shadow on scroll */
.sticky-top {
  box-shadow: 0 2px 7px 0 rgba(35,35,35,0.03);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

/* Dropdown arrow on hover */
.navbar .dropdown:hover > .dropdown-menu {
  display: block;
  margin-top: 0;
}

.navbar-nav .nav-link {
  font-weight: 500;
}

.navbar-nav .nav-link.active, 
.navbar-nav .nav-link:focus, 
.navbar-nav .nav-link:hover {
  color: #1D9E75 !important;
}

/* Stats bar spacing */
.bg-light {
  background: #f6faf9 !important;
}

/* Status card (offline) */
.status-card {
  border-radius: 1rem;
  box-shadow: 0 1px 10px #e5e5e5;
  min-width: 260px;
}

/* Footer links */
footer .list-inline-item a:hover {
  color: #1D9E75 !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .app-card { min-height: 330px; }
}

@media (max-width: 991px) {
  .navbar-nav .nav-link { padding-left: 0.9rem; padding-right: 0.9rem; }
}
