.fst-site-header {
  position: relative;
  z-index: 80;
  background: var(--fst-surface);
  color: var(--fst-text);
  border-bottom: 1px solid var(--fst-border);
  font-family: inherit;
}

.fst-site-header svg:not(.fst-brand-logo-svg) {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fst-site-header__main {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(190px, 225px) minmax(300px, 1fr) auto;
  align-items: center;
  gap: 26px;
}

.fst-brand-logo {
  display: inline-flex;
  align-items: center;
  max-width: 220px;
  color: inherit;
  text-decoration: none;
}

.fst-brand-logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 218px;
  max-height: 74px;
  object-fit: contain;
}
.fst-brand-logo-image--bundled {
  max-height: 74px;
}

.fst-brand-logo--svg {
  width: 225px;
  max-width: 100%;
}

.fst-brand-logo-svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  overflow: visible;
}


.fst-brand-logo--text {
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.fst-brand-logo__name {
  display: flex;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: .01em;
}

.fst-brand-logo__name span:first-child {
  color: var(--fst-blue-dark);
}

.fst-brand-logo__name span:last-child {
  color: var(--fst-green-dark);
}

.fst-brand-logo__descriptor {
  margin-top: 5px;
  color: var(--fst-text);
  opacity: .78;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .36em;
}

.fst-product-search-wrap {
  position: relative;
  width: 100%;
}

.fst-product-search {
  position: relative;
  display: flex;
  width: 100%;
  margin: 0;
}

.fst-product-search__icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fst-muted);
  pointer-events: none;
}

.fst-product-search__icon svg {
  width: 18px;
  height: 18px;
}

.fst-product-search__field {
  min-width: 0;
  width: 100%;
  min-height: 46px;
  padding: 10px 52px 10px 44px;
  border: 1px solid #cfd9de;
  border-radius: var(--fst-radius-md);
  background: #fff;
  color: var(--fst-text);
  font: inherit;
  line-height: 1.3;
}

.fst-product-search__field::placeholder {
  color: #8a949d;
}

.fst-product-search__field:focus {
  outline: none;
  border-color: var(--fst-blue);
  box-shadow: var(--fst-focus);
}

.fst-product-search__submit {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: var(--fst-blue-dark);
  color: #fff;
  cursor: pointer;
}

.fst-product-search__submit:hover,
.fst-product-search__submit:focus-visible {
  background: #004b70;
}

.fst-product-search__submit svg {
  width: 17px;
  height: 17px;
}

.fst-search-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 120;
  overflow: hidden;
  max-height: min(520px, 70vh);
  overflow-y: auto;
  border: 1px solid var(--fst-border);
  border-radius: var(--fst-radius-lg);
  background: #fff;
  box-shadow: 0 18px 45px rgba(24, 40, 52, .16);
}

.fst-search-results__list {
  padding: 6px;
}

.fst-search-suggestion {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 22px;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 7px 9px;
  border-radius: 8px;
  color: var(--fst-text);
  text-decoration: none;
}

.fst-search-suggestion:hover,
.fst-search-suggestion:focus-visible {
  background: var(--fst-surface-alt);
}

.fst-search-suggestion__media {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #edf1f3;
  border-radius: 6px;
  background: #fff;
}

.fst-search-suggestion__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.fst-search-suggestion__body {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.fst-search-suggestion__category {
  color: var(--fst-green-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.fst-search-suggestion__title {
  overflow: hidden;
  color: var(--fst-ink);
  font-size: 14px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fst-search-suggestion__price {
  color: var(--fst-blue-dark);
  font-size: 13px;
  font-weight: 700;
}

.fst-search-suggestion__price del {
  color: var(--fst-muted);
  font-weight: 500;
}

.fst-search-suggestion__arrow {
  color: var(--fst-muted);
}

.fst-search-results__all {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  border-top: 1px solid var(--fst-border);
  background: var(--fst-blue-soft);
  color: var(--fst-blue-dark);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.fst-search-results__all svg {
  width: 17px;
  height: 17px;
}

.fst-search-results__empty {
  display: grid;
  gap: 6px;
  padding: 22px;
  color: var(--fst-muted);
  font-size: 13px;
}

.fst-search-results__empty strong {
  color: var(--fst-ink);
  font-size: 15px;
}

.fst-search-results__empty a {
  width: fit-content;
  margin-top: 4px;
  color: var(--fst-blue-dark);
  font-weight: 700;
}

.fst-header-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.fst-header-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 11px;
  border-radius: var(--fst-radius-md);
  color: var(--fst-blue-dark);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
}

.fst-header-action:hover,
.fst-header-action:focus-visible {
  background: var(--fst-blue-soft);
  color: var(--fst-blue-dark);
}

.fst-header-action--quote {
  padding-inline: 15px;
  border: 1px solid var(--fst-blue-dark);
  background: var(--fst-blue-dark);
  color: #fff;
}

.fst-header-action--quote:hover,
.fst-header-action--quote:focus-visible {
  background: #004b70;
  color: #fff;
}

.fst-header-action--icon svg {
  width: 19px;
  height: 19px;
}

.fst-header-nav-row {
  border-top: 1px solid #edf1f3;
  background: #fff;
}

.fst-header-nav-row__inner {
  min-height: 44px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
  gap: 20px;
}

.fst-browse-categories {
  position: relative;
  min-width: 205px;
}

.fst-browse-categories__toggle {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 0;
  background: var(--fst-blue-dark);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.fst-browse-categories__toggle svg {
  width: 17px;
  height: 17px;
}

.fst-browse-categories__chevron {
  margin-left: auto;
  transition: transform .18s ease;
}

.fst-browse-categories.is-open .fst-browse-categories__chevron {
  transform: rotate(180deg);
}

.fst-browse-categories__panel {
  position: absolute;
  left: 0;
  top: calc(100% + 1px);
  z-index: 110;
  width: 310px;
  overflow: hidden;
  border: 1px solid var(--fst-border);
  border-radius: 0 0 var(--fst-radius-lg) var(--fst-radius-lg);
  background: #fff;
  box-shadow: 0 16px 36px rgba(24, 40, 52, .14);
}

.fst-browse-categories__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 14px 15px;
  border-bottom: 1px solid var(--fst-border);
  background: var(--fst-surface-alt);
}

.fst-browse-categories__head strong {
  color: var(--fst-ink);
  font-size: 13px;
}

.fst-browse-categories__head a {
  color: var(--fst-blue-dark);
  font-size: 12px;
  font-weight: 700;
}

.fst-browse-categories__list {
  padding: 7px;
}

.fst-browse-categories__list > a {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--fst-text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 550;
}

.fst-browse-categories__list > a:hover,
.fst-browse-categories__list > a:focus-visible {
  background: var(--fst-blue-soft);
  color: var(--fst-blue-dark);
}

.fst-browse-categories__list svg {
  width: 15px;
  height: 15px;
}

.fst-primary-nav {
  min-width: 0;
}

.fst-primary-nav__list,
.fst-primary-nav .menu {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fst-primary-nav__list > li,
.fst-primary-nav .menu > li {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.fst-primary-nav__list a,
.fst-primary-nav .menu a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 7px 9px;
  border-radius: 6px;
  color: var(--fst-text);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}

.fst-primary-nav__list a:hover,
.fst-primary-nav__list a:focus-visible,
.fst-primary-nav .menu a:hover,
.fst-primary-nav .menu a:focus-visible,
.fst-primary-nav .current-menu-item > a {
  background: var(--fst-blue-soft);
  color: var(--fst-blue-dark);
}

.fst-primary-nav .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 105;
  min-width: 210px;
  margin: 0;
  padding: 7px;
  border: 1px solid var(--fst-border);
  border-radius: var(--fst-radius-md);
  background: #fff;
  box-shadow: 0 12px 30px rgba(24, 40, 52, .13);
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}

.fst-primary-nav li:hover > .sub-menu,
.fst-primary-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fst-primary-nav .sub-menu a {
  width: 100%;
}

.fst-header-whatsapp {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 4px;
  color: #197d3c;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
}

.fst-header-whatsapp svg {
  width: 18px;
  height: 18px;
}

.fst-mini-cart {
  position: relative;
}

.fst-mini-cart__toggle,
.fst-mobile-menu__toggle {
  min-height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--fst-radius-md);
  background: transparent;
  color: var(--fst-blue-dark);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.fst-mini-cart__toggle:hover,
.fst-mini-cart__toggle:focus-visible,
.fst-mobile-menu__toggle:hover,
.fst-mobile-menu__toggle:focus-visible {
  background: var(--fst-blue-soft);
}

.fst-mini-cart__toggle svg,
.fst-mobile-menu__toggle svg {
  width: 21px;
  height: 21px;
}

.fst-mini-cart__count {
  min-width: 19px;
  height: 19px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--fst-green-dark);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.fst-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(15, 25, 31, .48);
  backdrop-filter: blur(2px);
}

.fst-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: min(410px, 94vw);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  color: var(--fst-text);
  box-shadow: -22px 0 50px rgba(15, 25, 31, .18);
}

.fst-drawer__head {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--fst-border);
}

.fst-drawer__head h2 {
  margin: 2px 0 0;
  color: var(--fst-ink);
  font-size: 22px;
  line-height: 1.1;
}

.fst-drawer__eyebrow {
  color: var(--fst-green-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fst-drawer__close {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid var(--fst-border);
  border-radius: 50%;
  background: #fff;
  color: var(--fst-ink);
  cursor: pointer;
}

.fst-mini-cart-dynamic {
  min-height: calc(100vh - 77px);
  display: flex;
  flex-direction: column;
}

.fst-mini-cart__empty {
  min-height: 430px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 30px 24px;
  text-align: center;
}

.fst-mini-cart__empty-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin-bottom: 5px;
  border-radius: 50%;
  background: var(--fst-blue-soft);
  color: var(--fst-blue-dark);
}

.fst-mini-cart__empty-icon svg {
  width: 27px;
  height: 27px;
}

.fst-mini-cart__empty strong {
  color: var(--fst-ink);
  font-size: 18px;
}

.fst-mini-cart__empty p {
  max-width: 290px;
  margin: 0 0 8px;
  color: var(--fst-muted);
  font-size: 13px;
  line-height: 1.55;
}

.fst-mini-cart__items {
  flex: 1 1 auto;
  padding: 7px 18px;
}

.fst-mini-cart__item {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--fst-border);
}

.fst-mini-cart__image {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #edf1f3;
  border-radius: 7px;
  background: #fff;
}

.fst-mini-cart__product-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.fst-mini-cart__item-body {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.fst-mini-cart__title {
  color: var(--fst-ink);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.fst-mini-cart__meta {
  color: var(--fst-muted);
  font-size: 12px;
}

.fst-mini-cart__meta strong {
  color: var(--fst-blue-dark);
}

.fst-mini-cart__remove {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #7a858f;
}

.fst-mini-cart__remove:hover,
.fst-mini-cart__remove:focus-visible {
  background: #fff1f1;
  color: #9b2929;
}

.fst-mini-cart__remove svg {
  width: 15px;
  height: 15px;
}

.fst-mini-cart__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 10px;
  border-top: 1px solid var(--fst-border);
  color: var(--fst-text);
}

.fst-mini-cart__summary strong {
  color: var(--fst-ink);
  font-size: 17px;
}

.fst-mini-cart__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px 20px;
}

.fst-mini-cart__note {
  margin: 0;
  padding: 0 20px 22px;
  color: var(--fst-muted);
  font-size: 11px;
  text-align: center;
}

.fst-site-header__mobile {
  display: none;
}

.fst-mobile-menu__drawer {
  width: min(430px, 94vw);
}

.fst-mobile-menu__primary {
  padding: 12px 18px 4px;
}

.fst-mobile-menu__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fst-mobile-menu__links li + li {
  border-top: 1px solid #edf1f3;
}

.fst-mobile-menu__links a {
  min-height: 47px;
  display: flex;
  align-items: center;
  color: var(--fst-ink);
  text-decoration: none;
  font-size: 15px;
  font-weight: 650;
}

.fst-mobile-menu__section {
  margin-top: 8px;
  padding: 18px;
  border-top: 1px solid var(--fst-border);
}

.fst-mobile-menu__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 10px;
}

.fst-mobile-menu__section-head h3 {
  margin: 0;
  color: var(--fst-ink);
  font-size: 14px;
}

.fst-mobile-menu__section-head a {
  color: var(--fst-blue-dark);
  font-size: 12px;
  font-weight: 700;
}

.fst-mobile-menu__categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.fst-mobile-menu__categories > a {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--fst-border);
  border-radius: 7px;
  color: var(--fst-text);
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
}

.fst-mobile-menu__categories svg {
  width: 14px;
  height: 14px;
}

.fst-mobile-menu__actions {
  display: grid;
  gap: 9px;
  padding: 2px 18px 18px;
}

.fst-mobile-menu__contact {
  display: grid;
  gap: 10px;
  padding: 17px 18px 24px;
  border-top: 1px solid var(--fst-border);
  background: var(--fst-surface-alt);
}

.fst-mobile-menu__contact a {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--fst-text);
  text-decoration: none;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.fst-mobile-menu__contact svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  color: var(--fst-blue-dark);
}

@media (max-width: 1100px) {
  .fst-site-header__main {
    grid-template-columns: minmax(165px, 200px) minmax(250px, 1fr) auto;
    gap: 15px;
  }
  .fst-header-action--icon span,
  .fst-mini-cart__label {
    display: none;
  }
  .fst-primary-nav__list a,
  .fst-primary-nav .menu a {
    padding-inline: 7px;
    font-size: 12px;
  }
}

@media (max-width: 900px) {
  .fst-site-header__desktop {
    display: none;
  }
  .fst-site-header__mobile {
    display: block;
    padding-bottom: 10px;
  }
  .fst-mobile-header__main {
    min-height: 62px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }
  .fst-mobile-header__logo .fst-brand-logo-image {
    max-width: 165px;
    max-height: 46px;
  }
  .fst-mobile-header__logo .fst-brand-logo__name {
    font-size: 20px;
  }
  .fst-mobile-header__actions {
    display: flex;
    align-items: center;
    gap: 2px;
  }
  .fst-mobile-header__actions .fst-mini-cart__toggle,
  .fst-mobile-menu__toggle {
    width: 42px;
    height: 42px;
    padding: 0;
  }
  .fst-mobile-header__actions .fst-mini-cart__label {
    display: none;
  }
  .fst-mobile-header__actions .fst-mini-cart__count {
    position: absolute;
    top: 1px;
    right: 0;
    min-width: 17px;
    height: 17px;
    font-size: 9px;
  }
  .fst-mobile-header__search .fst-product-search__field {
    min-height: 44px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .fst-mobile-menu__categories {
    grid-template-columns: 1fr;
  }
  .fst-mini-cart__actions {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Furstatec v0.4 — distinct compact commerce header
   ========================================================= */
.fst-site-header--v2 {
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(25, 47, 60, .08);
}

.fst-header-utility {
  min-height: 32px;
  background: #063f5c;
  color: rgba(255,255,255,.86);
}

.fst-header-utility__inner {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.fst-header-utility__positioning,
.fst-header-utility__links {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
}

.fst-header-utility__marker {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--fst-green);
}

.fst-header-utility__divider {
  width: 1px;
  height: 12px;
  background: rgba(255,255,255,.28);
}

.fst-header-utility__links > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  color: rgba(255,255,255,.9);
  text-decoration: none;
  white-space: nowrap;
}

.fst-header-utility__links > a:hover,
.fst-header-utility__links > a:focus-visible {
  color: #fff;
}

.fst-header-utility__links svg {
  width: 14px;
  height: 14px;
}

.fst-header-utility__quote {
  margin-left: 4px;
  padding-left: 13px;
  border-left: 1px solid rgba(255,255,255,.24);
  color: #fff !important;
  font-weight: 750 !important;
}

.fst-header-utility__quote svg {
  width: 13px !important;
  height: 13px !important;
}

.fst-header-commerce-bar {
  background: #fff;
}

.fst-header-commerce-bar__inner {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(205px, 235px) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}

.fst-header-commerce-bar__brand .fst-brand-logo-image,
.fst-header-commerce-bar__brand .fst-brand-logo-svg {
  max-width: 225px;
  max-height: 60px;
}

.fst-header-commerce-bar__catalogue .fst-browse-categories {
  min-width: 0;
}

.fst-header-commerce-bar__catalogue .fst-browse-categories__toggle {
  height: 40px;
  min-width: auto;
  padding: 0 13px;
  border: 1px solid #cfdbe0;
  border-radius: 7px;
  background: #fff;
  color: var(--fst-blue-dark);
  font-size: 12px;
}

.fst-header-commerce-bar__catalogue .fst-browse-categories__toggle:hover,
.fst-header-commerce-bar__catalogue .fst-browse-categories__toggle:focus-visible,
.fst-header-commerce-bar__catalogue .fst-browse-categories.is-open .fst-browse-categories__toggle {
  border-color: var(--fst-blue-dark);
  background: var(--fst-blue-soft);
}

.fst-header-commerce-bar__catalogue .fst-browse-categories__panel {
  top: calc(100% + 15px);
  width: 325px;
  border-radius: 10px;
}

.fst-header-commerce-bar__nav {
  justify-self: center;
  min-width: 0;
}

.fst-header-commerce-bar__nav .fst-primary-nav__list,
.fst-header-commerce-bar__nav .menu {
  justify-content: center;
  gap: 0;
}

.fst-header-commerce-bar__nav .fst-primary-nav__list a,
.fst-header-commerce-bar__nav .menu a {
  min-height: 40px;
  padding: 8px 8px;
  border-radius: 0;
  background: transparent;
  color: #2d3942;
  font-size: 12px;
  font-weight: 650;
}

.fst-header-commerce-bar__nav .fst-primary-nav__list > li > a::after,
.fst-header-commerce-bar__nav .menu > li > a::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 1px;
  height: 2px;
  background: var(--fst-green);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .16s ease;
}

.fst-header-commerce-bar__nav .fst-primary-nav__list > li > a,
.fst-header-commerce-bar__nav .menu > li > a {
  position: relative;
}

.fst-header-commerce-bar__nav .fst-primary-nav__list > li > a:hover::after,
.fst-header-commerce-bar__nav .fst-primary-nav__list > li > a:focus-visible::after,
.fst-header-commerce-bar__nav .menu > li > a:hover::after,
.fst-header-commerce-bar__nav .menu > li > a:focus-visible::after,
.fst-header-commerce-bar__nav .current-menu-item > a::after {
  transform: scaleX(1);
}

.fst-header-commerce-bar__nav .fst-primary-nav__list a:hover,
.fst-header-commerce-bar__nav .fst-primary-nav__list a:focus-visible,
.fst-header-commerce-bar__nav .menu a:hover,
.fst-header-commerce-bar__nav .menu a:focus-visible,
.fst-header-commerce-bar__nav .current-menu-item > a {
  background: transparent;
  color: var(--fst-blue-dark);
}

.fst-header-commerce-bar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

.fst-header-quick-action,
.fst-header-commerce-bar__actions .fst-mini-cart__toggle,
.fst-header-commerce-bar__actions .fst-mobile-menu__toggle {
  position: relative;
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #30414b;
  text-decoration: none;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}

.fst-header-quick-action:hover,
.fst-header-quick-action:focus-visible,
.fst-header-commerce-bar__actions .fst-mini-cart__toggle:hover,
.fst-header-commerce-bar__actions .fst-mini-cart__toggle:focus-visible {
  background: var(--fst-surface-alt);
  color: var(--fst-blue-dark);
}

.fst-header-quick-action svg,
.fst-header-commerce-bar__actions .fst-mini-cart__toggle svg {
  width: 19px;
  height: 19px;
}

.fst-header-quick-action--whatsapp {
  color: #16783a;
}

.fst-header-commerce-bar__actions .fst-mini-cart__count {
  position: absolute;
  top: 2px;
  right: 1px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  font-size: 9px;
}

.fst-header-commerce-bar__actions .fst-mini-cart__label {
  font-size: 11px;
}

.fst-header-search-tray {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 115;
  padding: 20px 0;
  border-top: 1px solid #e7edf0;
  background: #fff;
  box-shadow: 0 18px 36px rgba(18, 38, 50, .14);
}

.fst-header-search-tray__inner {
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(380px, 760px) 42px;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

.fst-header-search-tray__intro {
  display: grid;
  gap: 3px;
}

.fst-header-search-tray__eyebrow {
  color: var(--fst-green-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fst-header-search-tray__intro strong {
  color: var(--fst-ink);
  font-size: 14px;
  line-height: 1.3;
}

.fst-header-search-tray__search {
  min-width: 0;
}

.fst-header-search-tray .fst-product-search__field {
  min-height: 48px;
  border-color: #bfcdd4;
  border-radius: 7px;
}

.fst-header-search-tray__close {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--fst-border);
  border-radius: 50%;
  background: #fff;
  color: var(--fst-text);
  cursor: pointer;
}

.fst-header-search-tray__close:hover,
.fst-header-search-tray__close:focus-visible {
  background: var(--fst-surface-alt);
  color: var(--fst-blue-dark);
}

.fst-header-search-tray__close svg {
  width: 18px;
  height: 18px;
}

.fst-site-header--v2 .fst-search-results {
  top: calc(100% + 7px);
}

@media (max-width: 1220px) {
  .fst-header-utility__links > a:nth-child(2),
  .fst-header-commerce-bar__actions .fst-header-quick-action > span,
  .fst-header-commerce-bar__actions .fst-mini-cart__label {
    display: none;
  }
  .fst-header-commerce-bar__inner {
    grid-template-columns: minmax(155px, 185px) auto minmax(0, 1fr) auto;
    gap: 14px;
  }
  .fst-header-commerce-bar__nav .fst-primary-nav__list a,
  .fst-header-commerce-bar__nav .menu a {
    padding-inline: 6px;
    font-size: 11.5px;
  }
}

@media (max-width: 1020px) {
  .fst-site-header__desktop {
    display: none;
  }
  .fst-site-header__mobile {
    display: block;
    padding: 0;
  }
  .fst-mobile-header__main {
    min-height: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }
  .fst-mobile-header__logo .fst-brand-logo-image,
  .fst-mobile-header__logo .fst-brand-logo-svg {
    max-width: 170px;
    max-height: 46px;
  }
  .fst-mobile-header__logo .fst-brand-logo--svg {
    width: 170px;
  }
  .fst-mobile-header__actions {
    display: flex;
    align-items: center;
    gap: 1px;
  }
  .fst-mobile-header__actions .fst-header-quick-action,
  .fst-mobile-header__actions .fst-mini-cart__toggle,
  .fst-mobile-header__actions .fst-mobile-menu__toggle {
    position: relative;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--fst-blue-dark);
  }
  .fst-mobile-header__actions .fst-mini-cart__label {
    display: none;
  }
  .fst-header-search-tray--mobile {
    position: absolute;
    padding: 12px 0;
  }
  .fst-header-search-tray--mobile .fst-header-search-tray__inner {
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 8px;
  }
  .fst-header-search-tray--mobile .fst-header-search-tray__intro {
    display: none;
  }
  .fst-header-search-tray--mobile .fst-header-search-tray__close {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 480px) {
  .fst-mobile-header__logo .fst-brand-logo-image,
  .fst-mobile-header__logo .fst-brand-logo-svg {
    max-width: 154px;
  }
  .fst-mobile-header__logo .fst-brand-logo--svg {
    width: 154px;
  }
  .fst-mobile-header__logo .fst-brand-logo__name {
    font-size: 18px;
  }
}

/* v0.8.0: compact desktop search panel.
 * Keep search attached to the commerce header instead of expanding across the page.
 */
@media (min-width: 1021px) {
  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) {
    left: auto;
    right: max(24px, calc((100vw - var(--fst-container, 1240px)) / 2));
    width: min(760px, calc(100vw - 48px));
    padding: 10px;
    border: 1px solid var(--fst-border, #dce3e7);
    border-top-color: #cbd8de;
    border-radius: 0 0 10px 10px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(18, 38, 50, .13);
  }

  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) .fst-header-search-tray__inner.fst-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: 8px;
  }

  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) .fst-header-search-tray__intro {
    display: none;
  }

  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) .fst-product-search__field {
    min-height: 44px;
    border-color: #b9c8cf;
    border-radius: 7px;
    box-shadow: none !important;
    outline: 0;
  }

  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) .fst-product-search__field:focus {
    border-color: var(--fst-blue-dark, #005a84);
    box-shadow: 0 0 0 2px rgba(0, 90, 132, .10) !important;
  }

  .fst-site-header--v2 .fst-header-search-tray:not(.fst-header-search-tray--mobile) .fst-header-search-tray__close {
    width: 40px;
    height: 40px;
    align-self: center;
  }
}


/* v0.8.1 mini-cart drawer refinement.
 * Keep the drawer compact, prevent theme button colours, and account for WP admin bar.
 */
.fst-mini-cart__drawer {
  bottom: auto !important;
  max-height: calc(100dvh - 18px);
  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

body.admin-bar .fst-mini-cart__drawer {
  top: 32px !important;
  max-height: calc(100dvh - 50px);
}

.fst-mini-cart__drawer .fst-drawer__head {
  flex: 0 0 auto;
}

.fst-mini-cart__drawer .fst-mini-cart-dynamic {
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fst-mini-cart__drawer .fst-mini-cart__items {
  flex: 0 1 auto;
  max-height: min(52dvh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #c7d3d9 transparent;
}

.fst-mini-cart__drawer .fst-mini-cart__summary,
.fst-mini-cart__drawer .fst-mini-cart__actions,
.fst-mini-cart__drawer .fst-mini-cart__note {
  flex: 0 0 auto;
}

.fst-mini-cart__drawer .fst-mini-cart__summary {
  margin-top: 0;
  background: #fff;
}

.fst-mini-cart__drawer .fst-mini-cart__actions {
  background: #fff;
}

.fst-mini-cart__drawer .fst-mini-cart__note {
  background: #fff;
}

/* Explicitly neutralise Elementor/theme button hover/focus leakage. */
.fst-site-header button.fst-drawer__close,
.fst-site-header button.fst-drawer__close:hover,
.fst-site-header button.fst-drawer__close:focus,
.fst-site-header button.fst-drawer__close:active {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--fst-ink, #202633) !important;
  box-shadow: none !important;
  transform: none !important;
}

.fst-site-header button.fst-drawer__close:hover,
.fst-site-header button.fst-drawer__close:focus {
  border-color: #a9c8d6 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header button.fst-drawer__close:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 3px;
}

.fst-mini-cart__drawer .fst-mini-cart__remove:hover,
.fst-mini-cart__drawer .fst-mini-cart__remove:focus-visible {
  background: #f2f6f8 !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

@media (max-width: 782px) {
  body.admin-bar .fst-mini-cart__drawer {
    top: 46px !important;
    max-height: calc(100dvh - 58px);
  }
}

@media (max-width: 767px) {
  .fst-mini-cart__drawer {
    width: min(400px, calc(100vw - 12px));
    max-height: calc(100dvh - 10px);
  }

  .fst-mini-cart__drawer .fst-mini-cart__items {
    max-height: min(50dvh, 430px);
  }

  body.admin-bar .fst-mini-cart__drawer {
    max-height: calc(100dvh - 52px);
  }
}


/* v0.8.2 drawer visibility hotfix.
 * Author-level display:flex in v0.8.1 overrode the browser's [hidden] rule.
 */
.fst-site-header .fst-drawer[hidden],
.fst-site-header .fst-drawer-overlay[hidden] {
  display: none !important;
}

.fst-site-header .fst-drawer:not([hidden]) {
  visibility: visible;
}



/* v0.8.3: true floating mini-cart popover.
 * Desktop/mobile cart is a compact anchored panel, not a side drawer.
 */
.fst-mini-cart {
  position: relative;
}

.fst-mini-cart > .fst-drawer-overlay {
  display: none !important;
}

.fst-site-header .fst-mini-cart__drawer.fst-mini-cart__popover {
  position: absolute !important;
  top: calc(100% + 14px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: min(390px, calc(100vw - 28px));
  max-height: min(72dvh, 620px);
  overflow: hidden;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15, 25, 31, .18);
}

body.admin-bar .fst-site-header .fst-mini-cart__drawer.fst-mini-cart__popover {
  top: calc(100% + 14px) !important;
  max-height: min(72dvh, 620px);
}

.fst-mini-cart__popover .fst-drawer__head {
  min-height: 66px;
  padding: 14px 16px;
}

.fst-mini-cart__popover .fst-drawer__head h2 {
  font-size: 1.1rem;
}

.fst-mini-cart__popover .fst-drawer__eyebrow {
  font-size: .62rem;
}

.fst-mini-cart__popover .fst-drawer__close,
.fst-site-header .fst-mini-cart__popover button.fst-drawer__close,
.fst-site-header .fst-mini-cart__popover button.fst-drawer__close:hover,
.fst-site-header .fst-mini-cart__popover button.fst-drawer__close:focus {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
}

.fst-mini-cart__popover .fst-mini-cart__items {
  max-height: min(45dvh, 390px);
  padding: 4px 14px;
}

.fst-mini-cart__popover .fst-mini-cart__item {
  grid-template-columns: 58px minmax(0, 1fr) 28px;
  gap: 10px;
  padding: 11px 0;
}

.fst-mini-cart__popover .fst-mini-cart__image {
  width: 58px;
  height: 58px;
}

.fst-mini-cart__popover .fst-mini-cart__title {
  font-size: .78rem;
}

.fst-mini-cart__popover .fst-mini-cart__meta {
  font-size: .7rem;
}

.fst-mini-cart__popover .fst-mini-cart__remove {
  width: 28px;
  height: 28px;
}

.fst-mini-cart__popover .fst-mini-cart__summary {
  padding: 14px 16px 8px;
}

.fst-mini-cart__popover .fst-mini-cart__summary strong {
  font-size: .98rem;
}

.fst-mini-cart__popover .fst-mini-cart__actions {
  gap: 8px;
  padding: 8px 16px;
}

.fst-mini-cart__popover .fst-mini-cart__note {
  padding: 0 16px 14px;
  font-size: .66rem;
}

.fst-mini-cart__popover .fst-mini-cart__empty {
  min-height: 220px;
  padding: 28px 20px;
}

@media (max-width: 767px) {
  .fst-site-header .fst-mini-cart__drawer.fst-mini-cart__popover {
    position: fixed !important;
    top: 74px !important;
    right: 12px !important;
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 92px);
    border-radius: 14px;
  }

  body.admin-bar .fst-site-header .fst-mini-cart__drawer.fst-mini-cart__popover {
    top: 102px !important;
    max-height: calc(100dvh - 116px);
  }

  .fst-mini-cart__popover .fst-mini-cart__items {
    max-height: min(48dvh, 420px);
  }
}


/* v0.9.0 search prefix lock.
 * Elementor/theme input rules were overriding the search field's left padding,
 * allowing placeholder text to sit under the magnifier.
 */
.fst-site-header .fst-product-search {
  position: relative;
}

.fst-site-header .fst-product-search .fst-product-search__icon {
  position: absolute !important;
  z-index: 3;
  left: 0 !important;
  top: 0 !important;
  width: 46px !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  color: var(--fst-muted, #68717d) !important;
  pointer-events: none !important;
}

.fst-site-header .fst-product-search .fst-product-search__icon svg {
  width: 18px !important;
  height: 18px !important;
}

.fst-site-header .fst-product-search input.fst-product-search__field,
.fst-site-header .fst-header-search-tray input.fst-product-search__field,
.fst-site-header .fst-mobile-header__search input.fst-product-search__field {
  box-sizing: border-box !important;
  width: 100% !important;
  padding-left: 48px !important;
  padding-right: 52px !important;
  text-indent: 0 !important;
}

.fst-site-header .fst-product-search input.fst-product-search__field::placeholder {
  opacity: 1 !important;
  color: #8a949d !important;
}

.fst-site-header input[type="search"].fst-product-search__field::-webkit-search-decoration,
.fst-site-header input[type="search"].fst-product-search__field::-webkit-search-cancel-button,
.fst-site-header input[type="search"].fst-product-search__field::-webkit-search-results-button,
.fst-site-header input[type="search"].fst-product-search__field::-webkit-search-results-decoration {
  -webkit-appearance: none;
}


/* v1.4.2 mobile logo correction.
 * The horizontal lockup gets enough width to keep both the symbol and wordmark
 * readable while leaving fixed space for Search / Cart / Menu actions.
 */
@media (max-width: 1020px) {
  .fst-mobile-header__logo {
    min-width: 0;
    display: flex;
    align-items: center;
  }

  .fst-mobile-header__logo .fst-brand-logo,
  .fst-mobile-header__logo .fst-brand-logo--svg {
    width: clamp(160px, 38vw, 188px) !important;
    max-width: 100% !important;
  }

  .fst-mobile-header__logo .fst-brand-logo-image,
  .fst-mobile-header__logo .fst-brand-logo-svg {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (max-width: 380px) {
  .fst-mobile-header__logo .fst-brand-logo,
  .fst-mobile-header__logo .fst-brand-logo--svg {
    width: 150px !important;
  }
}


/* v1.4.4 header action state lock.
 * Elementor/global button rules may load after component CSS. These controls
 * must remain inside the Furstatec palette in every interaction state.
 */
.fst-site-header button.fst-header-quick-action,
.fst-site-header button.fst-mini-cart__toggle,
.fst-site-header button.fst-mobile-menu__toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #30414b !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  font: inherit !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.fst-site-header button.fst-header-quick-action:hover,
.fst-site-header button.fst-header-quick-action:focus,
.fst-site-header button.fst-header-quick-action:focus-visible,
.fst-site-header button.fst-header-quick-action:active,
.fst-site-header button.fst-header-quick-action[aria-expanded="true"],
.fst-site-header button.fst-mini-cart__toggle:hover,
.fst-site-header button.fst-mini-cart__toggle:focus,
.fst-site-header button.fst-mini-cart__toggle:focus-visible,
.fst-site-header button.fst-mini-cart__toggle:active,
.fst-site-header button.fst-mini-cart__toggle[aria-expanded="true"],
.fst-site-header button.fst-mobile-menu__toggle:hover,
.fst-site-header button.fst-mobile-menu__toggle:focus,
.fst-site-header button.fst-mobile-menu__toggle:focus-visible,
.fst-site-header button.fst-mobile-menu__toggle:active,
.fst-site-header button.fst-mobile-menu__toggle[aria-expanded="true"] {
  border: 0 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.fst-site-header button.fst-header-quick-action:focus-visible,
.fst-site-header button.fst-mini-cart__toggle:focus-visible,
.fst-site-header button.fst-mobile-menu__toggle:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}

/* WhatsApp remains semantic green even when global button/link states fire. */
.fst-site-header .fst-header-quick-action--whatsapp,
.fst-site-header .fst-header-quick-action--whatsapp:hover,
.fst-site-header .fst-header-quick-action--whatsapp:focus,
.fst-site-header .fst-header-quick-action--whatsapp:focus-visible {
  color: #16783a !important;
}

/* Cart count stays Furstatec green and cannot inherit the surrounding button. */
.fst-site-header .fst-mini-cart__count,
.fst-site-header button.fst-mini-cart__toggle:hover .fst-mini-cart__count,
.fst-site-header button.fst-mini-cart__toggle:focus .fst-mini-cart__count,
.fst-site-header button.fst-mini-cart__toggle[aria-expanded="true"] .fst-mini-cart__count {
  background: var(--fst-green-dark, #3d8500) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Keep desktop Search/Cart footprint compact even if Elementor has a large
 * global button padding/typography preset.
 */
@media (min-width: 1021px) {
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-mini-cart__toggle {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 7px 8px !important;
  }
}


/* v1.4.5 search tray control lock.
 * The tray submit + close buttons are separate controls from the header toggle,
 * so Elementor/global button styles must be neutralised explicitly here too.
 */
.fst-site-header .fst-header-search-tray button.fst-product-search__submit,
.fst-site-header .fst-header-search-tray button.fst-product-search__submit:hover,
.fst-site-header .fst-header-search-tray button.fst-product-search__submit:focus,
.fst-site-header .fst-header-search-tray button.fst-product-search__submit:focus-visible,
.fst-site-header .fst-header-search-tray button.fst-product-search__submit:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--fst-blue-dark, #005a84) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.fst-site-header .fst-header-search-tray button.fst-product-search__submit:hover,
.fst-site-header .fst-header-search-tray button.fst-product-search__submit:focus {
  background: #004b70 !important;
  color: #fff !important;
}

.fst-site-header .fst-header-search-tray button.fst-product-search__submit:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}

.fst-site-header .fst-header-search-tray button.fst-product-search__submit svg {
  width: 17px !important;
  height: 17px !important;
  stroke: currentColor !important;
  color: inherit !important;
}

.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close,
.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:hover,
.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:focus,
.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:focus-visible,
.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #30414b !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:hover,
.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:focus {
  border-color: #a9c8d6 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}

.fst-site-header .fst-header-search-tray button.fst-header-search-tray__close svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  color: inherit !important;
}

@media (max-width: 1020px) {
  .fst-site-header .fst-header-search-tray--mobile button.fst-header-search-tray__close {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}


/* v1.4.6 catalogue trigger state lock.
 * Keep the Catalogue control inside the Furstatec visual system regardless of
 * Elementor/global button presets or open/expanded state.
 */
.fst-site-header button.fst-catalogue-trigger,
.fst-site-header button.fst-catalogue-trigger:hover,
.fst-site-header button.fst-catalogue-trigger:focus,
.fst-site-header button.fst-catalogue-trigger:focus-visible,
.fst-site-header button.fst-catalogue-trigger:active,
.fst-site-header button.fst-catalogue-trigger[aria-expanded="true"],
.fst-site-header button.fst-category-trigger,
.fst-site-header button.fst-category-trigger:hover,
.fst-site-header button.fst-category-trigger:focus,
.fst-site-header button.fst-category-trigger:focus-visible,
.fst-site-header button.fst-category-trigger:active,
.fst-site-header button.fst-category-trigger[aria-expanded="true"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  border: 1px solid #cbdbe2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  font: inherit !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.fst-site-header button.fst-catalogue-trigger:hover,
.fst-site-header button.fst-catalogue-trigger:focus,
.fst-site-header button.fst-category-trigger:hover,
.fst-site-header button.fst-category-trigger:focus {
  border-color: #9fc1d0 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header button.fst-catalogue-trigger[aria-expanded="true"],
.fst-site-header button.fst-category-trigger[aria-expanded="true"] {
  border-color: var(--fst-blue-dark, #005a84) !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header button.fst-catalogue-trigger:focus-visible,
.fst-site-header button.fst-category-trigger:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}

.fst-site-header button.fst-catalogue-trigger svg,
.fst-site-header button.fst-category-trigger svg {
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* Auto-detected catalogue classes */
.fst-site-header button.fst-header-commerce-bar__catalogue,
.fst-site-header button.fst-header-commerce-bar__catalogue:hover,
.fst-site-header button.fst-header-commerce-bar__catalogue:focus,
.fst-site-header button.fst-header-commerce-bar__catalogue:focus-visible,
.fst-site-header button.fst-header-commerce-bar__catalogue:active,
.fst-site-header button.fst-header-commerce-bar__catalogue[aria-expanded="true"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid #cbdbe2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}
.fst-site-header button.fst-header-commerce-bar__catalogue:hover,
.fst-site-header button.fst-header-commerce-bar__catalogue:focus,
.fst-site-header button.fst-header-commerce-bar__catalogue[aria-expanded="true"] {
  border-color: #9fc1d0 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}
.fst-site-header button.fst-header-commerce-bar__catalogue:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}


/* Actual desktop Catalogue button rendered by FST_Header::render_browse_categories(). */
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:hover,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus-visible,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:active,
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open button.fst-browse-categories__toggle,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  border: 1px solid #cbdbe2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  font: inherit !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:hover,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus,
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open button.fst-browse-categories__toggle,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"] {
  border-color: #9fc1d0 !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus-visible {
  outline: 2px solid var(--fst-blue-dark, #005a84) !important;
  outline-offset: 2px !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle svg {
  color: inherit !important;
  stroke: currentColor !important;
}


/* v1.4.7 header fit + overflow correction.
 * v1.4.6's Catalogue state lock introduced vertical padding on a button that
 * was designed around a fixed 40px height, allowing the chevron to spill below.
 * Lock dimensions and make the whole desktop header resistant to squeeze.
 */
.fst-site-header,
.fst-site-header * {
  min-width: 0;
}

.fst-site-header .fst-header-commerce-bar__inner {
  grid-template-columns: minmax(190px, 220px) auto minmax(0, 1fr) auto;
  column-gap: clamp(10px, 1.1vw, 18px);
}

.fst-site-header .fst-header-commerce-bar__brand {
  min-width: 0;
}

.fst-site-header .fst-header-commerce-bar__brand .fst-brand-logo,
.fst-site-header .fst-header-commerce-bar__brand .fst-brand-logo--svg {
  width: min(100%, 220px);
}

.fst-site-header .fst-header-commerce-bar__catalogue {
  align-self: center;
  min-width: 0;
}

/* Actual Catalogue trigger: fixed physical box, no vertical overflow. */
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:hover,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus-visible,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:active,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"],
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open button.fst-browse-categories__toggle {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 108px !important;
  max-width: 118px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__toggle > span:not(.fst-browse-categories__chevron) {
  display: block;
  min-width: 0;
  line-height: 1 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__chevron {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  margin-left: auto !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 0 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__chevron svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
}

/* Nav must shrink, but never wrap into a second header line. */
.fst-site-header .fst-header-commerce-bar__nav {
  min-width: 0;
  overflow: hidden;
}

.fst-site-header .fst-header-commerce-bar__nav .fst-primary-nav__list,
.fst-site-header .fst-header-commerce-bar__nav .menu {
  min-width: 0;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.fst-site-header .fst-header-commerce-bar__nav .fst-primary-nav__list > li,
.fst-site-header .fst-header-commerce-bar__nav .menu > li {
  flex: 0 1 auto;
  min-width: 0;
}

.fst-site-header .fst-header-commerce-bar__nav .fst-primary-nav__list a,
.fst-site-header .fst-header-commerce-bar__nav .menu a {
  padding-inline: clamp(5px, .5vw, 8px);
  white-space: nowrap;
}

/* Header actions remain one line and use fixed-size icon/action boxes. */
.fst-site-header .fst-header-commerce-bar__actions {
  flex: 0 0 auto;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.fst-site-header .fst-header-commerce-bar__actions .fst-header-quick-action,
.fst-site-header .fst-header-commerce-bar__actions .fst-mini-cart__toggle {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

/* Intermediate desktop: trim nonessential labels before the row can collide. */
@media (max-width: 1360px) and (min-width: 1121px) {
  .fst-site-header .fst-header-commerce-bar__inner {
    grid-template-columns: minmax(165px, 190px) 104px minmax(0, 1fr) auto;
    column-gap: 10px;
  }

  .fst-site-header .fst-header-commerce-bar__brand .fst-brand-logo,
  .fst-site-header .fst-header-commerce-bar__brand .fst-brand-logo--svg {
    width: 185px !important;
  }

  .fst-site-header .fst-header-commerce-bar__actions .fst-header-quick-action > span,
  .fst-site-header .fst-header-commerce-bar__actions .fst-mini-cart__label {
    display: none !important;
  }

  .fst-site-header .fst-header-commerce-bar__nav .fst-primary-nav__list a,
  .fst-site-header .fst-header-commerce-bar__nav .menu a {
    padding-inline: 5px;
    font-size: 11px;
  }
}

/* Do not keep forcing the desktop row after it stops fitting.
 * Switching at 1120px is safer than waiting until 1020px.
 */
@media (max-width: 1120px) {
  .fst-site-header__desktop {
    display: none !important;
  }

  .fst-site-header__mobile {
    display: block !important;
    padding: 0;
  }
}

@media (min-width: 1121px) {
  .fst-site-header__desktop {
    display: block !important;
  }

  .fst-site-header__mobile {
    display: none !important;
  }
}


/* v1.5.1 compact desktop search trigger.
 * Icon-only on desktop; the accessible label stays available to screen readers.
 */
@media (min-width: 1121px) {
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search:hover,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search:focus,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search:focus-visible,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search:active,
  .fst-site-header .fst-header-commerce-bar__actions button.fst-header-quick-action--search[aria-expanded="true"] {
    box-sizing: border-box !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    gap: 0 !important;
  }

  .fst-site-header .fst-header-quick-action--search > svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }

  .fst-site-header .fst-header-quick-action--search > .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}


/* v1.5.4 header Catalogue refinement.
 * Compact, square-cornered catalogue trigger that aligns with the rest of the
 * Furstatec header and does not look like a standalone form button.
 */
.fst-site-header .fst-header-commerce-bar__catalogue {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  min-width: 0 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories {
  position: relative;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:hover,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus-visible,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:active,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"],
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open button.fst-browse-categories__toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 116px !important;
  max-width: 132px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 1px solid #cfdce2 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  font: inherit !important;
  font-size: .76rem !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:hover,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus {
  border-color: #9abecf !important;
  background: #f5fafc !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"],
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open button.fst-browse-categories__toggle {
  border-color: var(--fst-blue-dark, #005a84) !important;
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle:focus-visible {
  outline: 2px solid rgba(0, 90, 132, .22) !important;
  outline-offset: 2px !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__toggle > svg:first-child {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  color: currentColor !important;
  stroke: currentColor !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__toggle > span:not(.fst-browse-categories__chevron) {
  display: inline-block !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__chevron {
  flex: 0 0 12px !important;
  width: 12px !important;
  min-width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
  margin-left: auto !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 0 !important;
  color: #65727b !important;
  transition: transform .18s ease !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__chevron svg {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
}

.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories.is-open .fst-browse-categories__chevron,
.fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle[aria-expanded="true"] .fst-browse-categories__chevron {
  transform: rotate(180deg) !important;
  color: var(--fst-blue-dark, #005a84) !important;
}

/* The dropdown should visually attach to the compact trigger instead of feeling
 * like an unrelated Elementor panel.
 */
.fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__menu {
  margin-top: 8px !important;
  border: 1px solid #d4e0e5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(22, 35, 44, .12) !important;
}

/* At tighter desktop widths, retain the compact shape without wrapping. */
@media (max-width: 1360px) and (min-width: 1121px) {
  .fst-site-header .fst-header-commerce-bar__catalogue button.fst-browse-categories__toggle {
    min-width: 108px !important;
    max-width: 116px !important;
    padding: 0 10px !important;
    gap: 6px !important;
    font-size: .72rem !important;
  }

  .fst-site-header .fst-header-commerce-bar__catalogue .fst-browse-categories__toggle > svg:first-child {
    flex-basis: 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
  }
}
