/* Top promo banner */
.top-promo {
  width: 100%;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  padding: 10px 14px;
  text-align: center;
  position: fixed;   /* sticks at top when scrolling */
  margin-bottom: 100px;
  top: 0;
  z-index: 1031;      /* above bootstrap navbar (1030) */
}

.top-promo a {
  color: #fff;
  text-decoration: underline;
}

/* Optional: close button */
.top-promo__close {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  opacity: 0.9;
}
.top-promo__close:hover { opacity: 1; }

.top-promo__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

/* Default navbar */
.navbar {
  transition: margin-top 0.15s ease;
}

/* When promo banner is active */
body.has-top-promo .navbar {
  margin-top: 10px; /* match banner height */
}

/* If your navbar is fixed-top instead of static */
body.has-top-promo .navbar.fixed-top {
  top: 20px;
}

@media screen and (max-width: 400px) {
.top-promo {
  font-size: 12px;
}

.top-promo__inner {
  max-width: 300px;
  margin: 0 auto;
  position: relative;
}

.top-promo__close {
  position: absolute;
  transform: translateY(-50%);
  right: -20px;

}
}