/* Site header styles controlled via CSS variables */
.btx-site-header {
  position: fixed;
  top: calc(var(--btx-admin-offset, 0px) + var(--btx-header-top-offset, 0px));
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 10px 20px;
  color: var(--header-text-color);
  font-family: var(--header-footer-font);
  background-color: var(--header-bg-color);
  border-bottom: 1px solid var(--header-bg-color);
}

/* Home page (and header-slider home-like pages) when enabled: transparent header + wipe-down fill */
body.btx-transparent-header-enabled.home .btx-site-header,
body.btx-transparent-header-enabled.btx-has-header-slider .btx-site-header {
  background-color: transparent;
  isolation: isolate;
  overflow: hidden;
}

body.btx-transparent-header-enabled.home .btx-site-header::before,
body.btx-transparent-header-enabled.btx-has-header-slider .btx-site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--header-bg-color);
  transform: translateY(-100%);
  transition: transform 250ms cubic-bezier(0.104, 0.204, 0.492, 1);
}

body.btx-transparent-header-enabled.home .btx-site-header.is-scrolled::before,
body.btx-transparent-header-enabled.btx-has-header-slider .btx-site-header.is-scrolled::before {
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  body.btx-transparent-header-enabled.home .btx-site-header::before,
  body.btx-transparent-header-enabled.btx-has-header-slider .btx-site-header::before { transition: none; }
}

@media (max-width: 980px) {
  body.btx-transparent-header-enabled.home .btx-site-header,
  body.btx-transparent-header-enabled.btx-has-header-slider .btx-site-header {
    overflow: visible;
  }
}

/* Links inside header default to header text color */
.btx-site-header a { color: var(--header-text-color); text-decoration: none; }

/* Icon links (Account/Cart) use accent; hover uses footer text color for contrast */
.header-icons a[aria-label] { color: var(--accent-color); }
.header-icons a[aria-label]:hover { color: var(--footer-text-color); }

/* The small phone/mail icons use accent */
.header-icons i { color: var(--accent-color); }

/* Layout */
.btx-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.btx-tagline {
  text-align: center;
  font-size: 14px;
  margin-bottom: 5px;
}

.site-logo .btx-header-logo {
  height: 100px;
  width: auto;
  max-height: 100px;
  display: block;
}

/* Phone/Email block spacing + colors */
.header-icons > div { margin-top: 5px; }
.header-icons > div a { color: var(--header-text-color); }
