/* Lightweight overrides loaded after generic.css. */

.geigro-main-nav {
  overflow: visible;
}

/* === GEIGRO final live hotfix — must stay at EOF === */
@media (min-width: 821px) {
  .geigro-category-shell {
    padding-top: calc(var(--geigro-header-h, 72px) + clamp(26px, 3vw, 42px)) !important;
  }

  .geigro-category-titlebar {
    padding-top: 0 !important;
    margin-bottom: clamp(36px, 4.8vw, 74px) !important;
  }

  .geigro-category-titlebar p,
  .product-filter-category-title,
  .product-filter-heading h1 {
    margin-bottom: clamp(28px, 3vw, 52px) !important;
  }

  .geigro-products-layout {
    align-items: start !important;
  }
}


/* Absolute final package price layout. Must stay after every previous override. */
html .page-package .product-purchase-panel .product-price-block,
html body.page-package .product-purchase-panel .product-price-block {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions,
html body.page-package .product-purchase-panel .package-actions,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 20px !important;
  padding-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions::before,
html body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

html .page-package .product-purchase-panel .package-price,
html body.page-package .product-purchase-panel .package-price,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 7px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)),
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html .page-package .product-purchase-panel .package-price:has(del.discount),
html body.page-package .product-purchase-panel .package-price:has(del.discount),
html .page-package .product-purchase-panel .package-price.is-sale,
html body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

html .page-package .product-purchase-panel .package-price del.discount,
html body.page-package .product-purchase-panel .package-price del.discount,
html .page-package .product-purchase-panel .package-price .discount,
html body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.52) !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price-current,
html body.page-package .product-purchase-panel .package-price-current,
html .page-package .product-purchase-panel .package-price strong.package-price-current,
html body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

html .page-package .product-purchase-panel .package-discount-badge,
html body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 0.9vw, 14px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-action-buttons,
html body.page-package .product-purchase-panel .package-action-buttons,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

/* Absolute final package price layout. Must stay at EOF. */
html .page-package .product-purchase-panel .product-price-block,
html body.page-package .product-purchase-panel .product-price-block {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions,
html body.page-package .product-purchase-panel .package-actions,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 20px !important;
  padding-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions::before,
html body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

html .page-package .product-purchase-panel .package-price,
html body.page-package .product-purchase-panel .package-price,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 7px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)),
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html .page-package .product-purchase-panel .package-price:has(del.discount),
html body.page-package .product-purchase-panel .package-price:has(del.discount),
html .page-package .product-purchase-panel .package-price.is-sale,
html body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

html .page-package .product-purchase-panel .package-price del.discount,
html body.page-package .product-purchase-panel .package-price del.discount,
html .page-package .product-purchase-panel .package-price .discount,
html body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.52) !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price-current,
html body.page-package .product-purchase-panel .package-price-current,
html .page-package .product-purchase-panel .package-price strong.package-price-current,
html body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

html .page-package .product-purchase-panel .package-discount-badge,
html body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 0.9vw, 14px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-action-buttons,
html body.page-package .product-purchase-panel .package-action-buttons,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

/* Absolute final package price layout. Must remain after package/mobile overrides. */
html .page-package .product-purchase-panel .product-price-block,
html body.page-package .product-purchase-panel .product-price-block {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions,
html body.page-package .product-purchase-panel .package-actions,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 20px !important;
  padding-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions::before,
html body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

html .page-package .product-purchase-panel .package-price,
html body.page-package .product-purchase-panel .package-price,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 7px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)),
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html .page-package .product-purchase-panel .package-price:has(del.discount),
html body.page-package .product-purchase-panel .package-price:has(del.discount),
html .page-package .product-purchase-panel .package-price.is-sale,
html body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

html .page-package .product-purchase-panel .package-price del.discount,
html body.page-package .product-purchase-panel .package-price del.discount,
html .page-package .product-purchase-panel .package-price .discount,
html body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.52) !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price-current,
html body.page-package .product-purchase-panel .package-price-current,
html .page-package .product-purchase-panel .package-price strong.package-price-current,
html body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

html .page-package .product-purchase-panel .package-discount-badge,
html body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 0.9vw, 14px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-action-buttons,
html body.page-package .product-purchase-panel .package-action-buttons,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

/* Absolute final purchase price layout. Must remain after all package/mobile overrides. */
html .page-package .product-purchase-panel .product-price-block,
html body.page-package .product-purchase-panel .product-price-block {
  margin-top: 18px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions,
html body.page-package .product-purchase-panel .package-actions,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 22px !important;
  padding-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions::before,
html body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

html .page-package .product-purchase-panel .package-price,
html body.page-package .product-purchase-panel .package-price,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 7px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)),
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html .page-package .product-purchase-panel .package-price:has(del.discount),
html body.page-package .product-purchase-panel .package-price:has(del.discount),
html .page-package .product-purchase-panel .package-price.is-sale,
html body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

html .page-package .product-purchase-panel .package-price del.discount,
html body.page-package .product-purchase-panel .package-price del.discount,
html .page-package .product-purchase-panel .package-price .discount,
html body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.38) !important;
  font-size: clamp(17px, 1.35vw, 22px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.5) !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price-current,
html body.page-package .product-purchase-panel .package-price-current,
html .page-package .product-purchase-panel .package-price strong.package-price-current,
html body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

html .page-package .product-purchase-panel .package-discount-badge,
html body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 0.95vw, 14px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-action-buttons,
html body.page-package .product-purchase-panel .package-action-buttons,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

/* Final purchase price layout: compact under badges, same for singles and packs. */
.page-package .product-purchase-panel .product-price-block,
body.page-package .product-purchase-panel .product-price-block {
  margin-top: 18px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.page-package .product-purchase-panel .package-actions,
body.page-package .product-purchase-panel .package-actions,
.page-package .product-purchase-panel .package-actions.has-included-pack-action,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 22px !important;
  padding-top: 0 !important;
}

.page-package .product-purchase-panel .package-actions::before,
body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
}

.page-package .product-purchase-panel .package-price,
body.page-package .product-purchase-panel .package-price,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 8px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

.page-package .product-purchase-panel .package-price:not(:has(del.discount)),
body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.page-package .product-purchase-panel .package-price:has(del.discount),
body.page-package .product-purchase-panel .package-price:has(del.discount),
.page-package .product-purchase-panel .package-price.is-sale,
body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

.page-package .product-purchase-panel .package-price del.discount,
body.page-package .product-purchase-panel .package-price del.discount,
.page-package .product-purchase-panel .package-price .discount,
body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.38) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.5) !important;
  overflow: visible !important;
}

.page-package .product-purchase-panel .package-price-current,
body.page-package .product-purchase-panel .package-price-current,
.page-package .product-purchase-panel .package-price strong.package-price-current,
body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

.page-package .product-purchase-panel .package-discount-badge,
body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 1vw, 15px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.page-package .product-purchase-panel .package-action-buttons,
body.page-package .product-purchase-panel .package-action-buttons,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

@media (max-width: 820px) {
  html,
  body,
  body.page-index,
  body.page-index .site,
  body.page-index .geigro-home {
    background: #030508 !important;
  }

  .page-index #geigro-categories.geigro-category-slider,
  .page-index .geigro-category-slider {
    min-height: auto !important;
    height: auto !important;
    padding: clamp(8px, 1.4svh, 12px) clamp(15px, 4vw, 18px) clamp(28px, 5svh, 42px) !important;
    margin-top: 0 !important;
    scroll-margin-top: calc(var(--geigro-header-h, 92px) + 4px) !important;
    display: block !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-slider-track,
  .page-index #geigro-categories .geigro-slider-slide,
  .page-index .geigro-category-slider .geigro-slider-track,
  .page-index .geigro-category-slider .geigro-slider-slide {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-slide-heading,
  .page-index .geigro-category-slider .geigro-slide-heading {
    margin: 0 0 clamp(14px, 2svh, 18px) !important;
    padding: 0 !important;
  }

  .page-index #geigro-categories .geigro-slide-heading span,
  .page-index .geigro-category-slider .geigro-slide-heading span {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: 0.9 !important;
    letter-spacing: 0.035em !important;
  }

  .page-index #geigro-categories .geigro-category-row,
  .page-index .geigro-category-slider .geigro-category-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(9px, 1.35svh, 12px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-category-card,
  .page-index .geigro-category-slider .geigro-category-card {
    min-height: 74px !important;
    height: 74px !important;
    grid-template-columns: minmax(0, 1fr) clamp(116px, 33vw, 150px) 22px !important;
    grid-template-rows: 1fr auto 1fr !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    padding: 9px 14px 9px 16px !important;
    border-radius: 12px !important;
  }

  .page-index #geigro-categories .geigro-category-title,
  .page-index .geigro-category-slider .geigro-category-title {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: end !important;
    max-width: 100% !important;
    font-size: clamp(19px, 5.3vw, 25px) !important;
    line-height: 0.95 !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-index #geigro-categories .geigro-category-card::before,
  .page-index .geigro-category-slider .geigro-category-card::before {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    margin: 4px 0 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
  }

  .page-index #geigro-categories .geigro-category-card::after,
  .page-index .geigro-category-slider .geigro-category-card::after {
    grid-column: 3 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    transform: rotate(45deg) translate3d(0, 0, 0) !important;
  }

  .page-index #geigro-categories .geigro-category-image-wrap,
  .page-index .geigro-category-slider .geigro-category-image-wrap {
    grid-column: 2 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: end !important;
    height: 58px !important;
    max-height: 58px !important;
    width: 100% !important;
    opacity: 0.86 !important;
  }

  .page-index #geigro-categories .geigro-slider-value-strip,
  .page-index .geigro-category-slider .geigro-slider-value-strip {
    display: none !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty,
  .page-index .geigro-category-slider .geigro-category-card.is-empty {
    opacity: 0.42 !important;
    filter: grayscale(1) saturate(0.2) brightness(0.72) !important;
    pointer-events: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search {
    position: relative !important;
    inset: auto !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: visible !important;
    transform: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    left: 14px !important;
    right: 94px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel,
  html.is-header-search-closing .geigro-mobile-search-cancel {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    right: 12px !important;
    height: 48px !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results {
    top: calc(var(--geigro-header-h, 92px) + 70px) !important;
    padding-top: 12px !important;
  }

  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    position: static !important;
    height: auto !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main {
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    max-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    margin: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    clip-path: inset(0 0 100% 0) !important;
    transition: clip-path 420ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 420ms !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    clip-path: inset(0 0 0 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    clip-path: inset(0 0 100% 0) !important;
    visibility: visible !important;
    pointer-events: none !important;
  }
}

/* Absolute final mobile overlay lock: no scroll-position based header/search offsets. */
@media (max-width: 820px) {
  html.is-header-search-open .geigro-header,
  html.is-header-search-closing .geigro-header,
  html.is-mobile-menu-open .geigro-header,
  html.is-mobile-menu-closing .geigro-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel,
  html.is-header-search-closing .geigro-mobile-search-cancel {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results {
    top: calc(var(--geigro-header-h, 92px) + 70px) !important;
  }

  html.is-header-search-open .geigro-header-search-backdrop,
  html.is-header-search-closing .geigro-header-search-backdrop {
    top: var(--geigro-header-h, 92px) !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
  }

  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-start .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

@media (max-width: 820px) {
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search {
    position: relative !important;
    inset: auto !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: visible !important;
    transform: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    left: 14px !important;
    right: 94px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel,
  html.is-header-search-closing .geigro-mobile-search-cancel {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    right: 12px !important;
    height: 48px !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results {
    top: calc(var(--geigro-header-h, 92px) + 70px) !important;
    padding-top: 12px !important;
  }
}

@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    position: static !important;
    height: auto !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main {
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    max-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    margin: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    clip-path: inset(0 0 100% 0) !important;
    transition: clip-path 420ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 420ms !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    clip-path: inset(0 0 0 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    clip-path: inset(0 0 100% 0) !important;
    visibility: visible !important;
    pointer-events: none !important;
  }
}

@media (min-width: 981px) {
  .geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome {
    display: flex !important;
    position: absolute !important;
    right: 50% !important;
    bottom: calc(100% + 4px) !important;
    width: max-content !important;
    max-width: 150px !important;
    transform: translateX(50%) !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(255, 90, 31, 0.22) !important;
    border-radius: 9px !important;
    background: rgba(5, 8, 12, 0.92) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !important;
    pointer-events: none !important;
    z-index: 3 !important;
  }

  .geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > span,
  .geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > strong {
    display: block !important;
  }
}

@media (max-width: 980px) {
  .geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome {
    display: none !important;
  }
}

/* Slightly stronger product prices across listing cards. */
.geigro-product-card .product-price {
  font-size: clamp(17px, 1.25vw, 22px) !important;
  line-height: 1.05 !important;
}

.geigro-product-card .product-price-current {
  font-size: clamp(18px, 1.35vw, 23px) !important;
}

.geigro-product-card .product-price-discount del {
  font-size: clamp(12px, 0.82vw, 14px) !important;
}

.geigro-nav-item {
  position: relative;
  flex: 0 0 auto;
}

.geigro-nav-link {
  display: inline-flex;
}

.geigro-header .geigro-nav-link::after {
  transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.geigro-header .geigro-nav-link:hover,
.geigro-header .geigro-nav-item:hover > .geigro-nav-link,
.geigro-header .geigro-nav-item:focus-within > .geigro-nav-link {
  color: var(--geigro-orange) !important;
}

.geigro-header .geigro-nav-link:not(:hover),
.geigro-header .geigro-nav-item:not(:hover):not(:focus-within) > .geigro-nav-link {
  color: rgba(255, 255, 255, 0.78) !important;
}

.geigro-nav-link.is-active::after,
.geigro-nav-item.is-active > .geigro-nav-link::after {
  transform: scaleX(1) !important;
}

.geigro-nav-item:not(.is-active) > .geigro-nav-link:not(.is-active)::after,
.geigro-nav-item.has-dropdown.dropdown-is-open:not(.is-active) > .geigro-nav-link:not(.is-active)::after,
.geigro-nav-item.has-dropdown.dropdown-is-closing:not(.is-active) > .geigro-nav-link:not(.is-active)::after {
  transform: scaleX(0) !important;
}

.geigro-nav-item.has-dropdown.dropdown-is-open > .geigro-nav-link::after {
  transition-duration: 300ms !important;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.geigro-nav-item.has-dropdown.dropdown-is-closing:not(.is-active) > .geigro-nav-link:not(.is-active)::after {
  transform: scaleX(0);
  transition-duration: 200ms !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.geigro-nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 130;
  min-width: 190px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: none;
  border-radius: 0 0 10px 10px;
  background: rgba(9, 12, 16, 0.97);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-8px) scale(0.985);
  transform-origin: top center;
  transition:
    opacity 260ms ease,
    transform 300ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 300ms ease;
  will-change: opacity, transform;
}

.geigro-nav-dropdown::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  height: 18px;
}

.geigro-nav-item.dropdown-is-open > .geigro-nav-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}

.geigro-nav-item.dropdown-is-closing > .geigro-nav-dropdown {
  transition:
    opacity 200ms ease,
    transform 200ms cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 200ms ease;
}

html.is-header-dropdown-open .geigro-header {
  z-index: 10000 !important;
}

html.is-header-dropdown-open .geigro-brand,
html.is-header-dropdown-open .geigro-header-actions,
html.is-header-dropdown-open .geigro-main-nav,
html.is-header-dropdown-open .geigro-main-nav > *,
html.is-header-dropdown-open .geigro-nav-item.dropdown-is-open,
html.is-header-dropdown-open .geigro-nav-item.dropdown-is-closing,
html.is-header-dropdown-open .geigro-language-dropdown[open] {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

html.is-header-dropdown-open .geigro-nav-item.dropdown-is-open,
html.is-header-dropdown-open .geigro-nav-item.dropdown-is-closing,
html.is-header-dropdown-open .geigro-language-dropdown[open] {
  z-index: 10002 !important;
}

html.is-header-dropdown-open .geigro-nav-item.dropdown-is-open > .geigro-nav-link,
html.is-header-dropdown-open .geigro-nav-item.dropdown-is-closing > .geigro-nav-link {
  filter: none !important;
  opacity: 1 !important;
}

html.is-header-dropdown-open .geigro-nav-dropdown,
html.is-header-dropdown-open .geigro-language-dropdown[open] .geigro-language-menu {
  filter: none !important;
}

.geigro-nav-dropdown-link {
  position: relative;
  display: block;
  padding: 11px 12px;
  border-radius: 6px;
  color: rgba(247, 247, 245, 0.74);
  text-decoration: none;
  text-transform: none;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 560;
  letter-spacing: 0;
  white-space: nowrap;
  text-shadow: none;
  opacity: 1;
  translate: 0 0;
  transform: translateZ(0);
  overflow: hidden;
  transition:
    color 180ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0ms !important;
}

.geigro-nav-dropdown-link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 74, 22, 0.12);
  opacity: 0;
  transform: translateX(-8px) scaleX(0.94);
  transform-origin: left center;
  transition:
    opacity 220ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.geigro-nav-dropdown-link::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 2px;
  border-radius: 999px;
  display: block;
  background: rgba(255, 74, 22, 0.76);
  opacity: 0;
  transform: scaleY(0.45);
  transition:
    opacity 190ms ease,
    transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.geigro-nav-dropdown-link:hover,
.geigro-nav-dropdown-link.is-active {
  color: #fff;
  background: transparent;
  box-shadow: none;
  transform: translate3d(2px, 0, 0) !important;
}

.geigro-nav-dropdown-link:hover::before,
.geigro-nav-dropdown-link.is-active::before {
  opacity: 1;
  transform: translateX(0) scaleX(1);
}

.geigro-nav-dropdown-link:hover::after,
.geigro-nav-dropdown-link.is-active::after {
  opacity: 1;
  transform: scaleY(1);
}

.geigro-nav-item.dropdown-is-open > .geigro-nav-dropdown .geigro-nav-dropdown-link {
  opacity: 1;
  translate: 0 0;
}

.geigro-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 320ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 320ms cubic-bezier(0.22, 1, 0.36, 1),
    backdrop-filter 320ms ease;
  will-change: opacity, background-color, backdrop-filter;
}

.geigro-nav-backdrop.is-closing {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0) !important;
  opacity: 0;
  backdrop-filter: blur(0) !important;
  -webkit-backdrop-filter: blur(0) !important;
  transition:
    opacity 200ms ease,
    background-color 200ms ease,
    backdrop-filter 200ms ease !important;
}

.geigro-nav-backdrop.is-visible {
  background: rgba(0, 0, 0, 0.66);
  opacity: 1;
  backdrop-filter: blur(8px) saturate(0.82);
  -webkit-backdrop-filter: blur(8px) saturate(0.82);
  pointer-events: auto;
}

.geigro-language-dropdown {
  position: relative;
  flex: 0 0 auto;
}

.geigro-language-dropdown[open] {
  z-index: 150;
}

.geigro-language-trigger {
  min-width: 44px;
  width: 44px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: var(--geigro-text);
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
  list-style: none;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.geigro-language-trigger::-webkit-details-marker {
  display: none;
}

.geigro-language-trigger::after {
  display: none;
}

.geigro-language-dropdown[open] .geigro-language-trigger::after {
  transform: translateY(2px) rotate(225deg);
}

.geigro-language-trigger:hover,
.geigro-language-dropdown[open] .geigro-language-trigger {
  border-color: rgba(255, 74, 22, 0.36);
  background: rgba(255, 74, 22, 0.09);
  transform: scale(1.03);
}

.geigro-language-current {
  min-width: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.geigro-language-name {
  display: none;
  max-width: 72px;
  overflow: hidden;
  color: rgba(247, 247, 245, 0.72);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geigro-language-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  right: auto;
  z-index: 130;
  min-width: 190px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: none;
  border-radius: 0 0 10px 10px;
  background: rgba(9, 12, 16, 0.97);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(20px);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-8px) scale(0.985);
  transform-origin: top center;
  transition:
    opacity 260ms ease,
    transform 300ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 300ms ease;
  will-change: opacity, transform;
}

.geigro-language-dropdown[open]:not(.is-closing) .geigro-language-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}

.geigro-language-option {
  width: 100%;
  min-height: 37px;
  padding: 11px 12px;
  border: 0;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(247, 247, 245, 0.74);
  background: transparent;
  text-align: left;
  text-transform: none;
  cursor: pointer;
  transition: none;
}

.geigro-language-option span {
  min-width: 24px;
  color: rgba(247, 247, 245, 0.68);
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.geigro-language-option strong {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geigro-language-option:hover,
.geigro-language-option.is-active {
  color: #fff;
  background: rgba(255, 74, 22, 0.12);
  box-shadow: inset 2px 0 0 rgba(255, 74, 22, 0.72);
}

.geigro-language-option.is-active span {
  color: #fff;
}

.product-filter-heading {
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.product-filter-heading h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 0.95;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: lowercase;
}

.product-filter-panel-title,
.product-filter-actions {
  display: none;
}

.geigro-category-titlebar {
  width: min(100% - clamp(32px, 8vw, 108px), 1680px);
  margin: 0 auto;
  padding-top: calc(var(--geigro-header-h) + clamp(30px, 3.8vw, 54px));
}

.geigro-category-titlebar p {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.6vw, 38px);
  line-height: 0.95;
  font-weight: 950;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.geigro-listing-header {
  display: none;
}

.geigro-products-layout {
  align-items: start;
  padding-top: clamp(28px, 3vw, 44px);
}

.geigro-filter-sidebar {
  position: sticky;
  align-self: start;
  margin-top: 0;
  top: calc(var(--geigro-header-h) + 24px);
  max-height: calc(100svh - var(--geigro-header-h) - 32px);
  z-index: 20;
  min-width: min(360px, 100%);
  width: min(360px, 100%);
}

.geigro-products {
  padding-top: 0;
}

.geigro-product-grid,
.store-products-grid,
.store-products-list {
  gap: 18px !important;
  align-items: stretch !important;
}

.geigro-filter-sidebar .widget,
.geigro-filter-sidebar .product-filter-bar {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding-top: 0;
}

.product-filter-bar {
  max-height: calc(100svh - var(--geigro-header-h) - 32px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  overflow: hidden;
}

.product-filter-scroll {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding-right: 12px;
  margin-right: 0;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 74, 22, 0.38) transparent;
}

.product-filter-scroll::-webkit-scrollbar {
  width: 7px;
}

.product-filter-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.product-filter-scroll::-webkit-scrollbar-thumb {
  border-radius: 999px;
  border: 2px solid transparent;
  background: rgba(255, 74, 22, 0.4);
  background-clip: content-box;
}

.product-filter-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 74, 22, 0.68);
  background-clip: content-box;
}

.product-filter-menu-row,
.product-filter-section-trigger,
.filter-accordion-trigger {
  position: relative;
  z-index: 2;
  min-height: 48px;
  width: 100%;
  padding: 0 2px 0 0;
  border: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  overflow: visible;
  color: #fff;
  font-size: 14px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  background: transparent;
  cursor: pointer;
  list-style: none;
  appearance: none;
}

.product-filter-menu-row span,
.product-filter-section-trigger,
.filter-accordion-trigger {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.filter-accordion-trigger {
  white-space: nowrap;
}

.product-filter-menu-row::after,
.product-filter-section-trigger::after,
.filter-accordion-trigger::after {
  content: "";
  width: 9px;
  height: 9px;
  margin-right: 2px;
  flex: 0 0 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: rgba(255, 255, 255, 0.82);
  transform: rotate(45deg);
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), color 180ms ease;
}

.product-filter-section.is-open > .product-filter-section-trigger::after,
.filter-accordion.is-open > .filter-accordion-trigger::after {
  transform: rotate(225deg);
}

.product-filter-menu-row:hover,
.product-filter-section-trigger:hover,
.filter-accordion-trigger:hover {
  color: rgba(255, 255, 255, 0.82);
}

.product-filter-search {
  margin: 0;
  padding: 14px 0 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.product-filter-groups {
  display: grid;
  gap: 0;
}

.product-filter-search span {
  margin-bottom: 8px;
  display: block;
  color: var(--geigro-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-filter-search input,
.product-filter-native-select {
  width: 100%;
  min-height: 38px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.product-filter-native-select {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.product-filter-section,
.filter-accordion {
  min-height: 0;
  padding: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.product-filter-section-panel,
.filter-accordion-panel {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: max-height 300ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 220ms ease, transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.product-filter-section.is-open > .product-filter-section-panel,
.filter-accordion.is-open > .filter-accordion-panel {
  max-height: 600px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.product-filter-section-inner,
.filter-accordion-options {
  min-height: 0;
  overflow: hidden;
}

.product-filter-section-inner {
  padding-bottom: 0;
}

.product-filter-section.is-open .product-filter-section-inner {
  padding-bottom: 14px;
}

.product-filter-price-visual {
  position: relative;
  height: 86px;
  margin: 0 0 12px;
  --range-min: 0%;
  --range-max: 100%;
}

.product-filter-price-visual .range-current-values {
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(247, 247, 245, 0.88);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.product-filter-price-visual .range-line,
.product-filter-price-visual .range-fill {
  position: absolute;
  left: 0;
  right: 0;
  top: 43px;
  height: 4px;
  border-radius: 999px;
  pointer-events: none;
}

.product-filter-price-visual .range-line {
  background: rgba(255, 255, 255, 0.12);
}

.product-filter-price-visual .range-fill {
  left: var(--range-min);
  right: calc(100% - var(--range-max));
  background: rgba(255, 74, 22, 0.72);
}

.product-filter-price-visual .range-input {
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  z-index: 2;
  width: 100%;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
  appearance: none;
}

.product-filter-price-visual .range-input::-webkit-slider-runnable-track {
  height: 4px;
  background: transparent;
}

.product-filter-price-visual .range-input::-moz-range-track {
  height: 4px;
  background: transparent;
}

.product-filter-price-visual .range-input::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  margin-top: -7px;
  border: 2px solid rgba(255, 74, 22, 0.82);
  border-radius: 999px;
  background: #f7f7f5;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.28);
  cursor: grab;
  pointer-events: auto;
  appearance: none;
}

.product-filter-price-visual .range-input::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 74, 22, 0.82);
  border-radius: 999px;
  background: #f7f7f5;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.28);
  cursor: grab;
  pointer-events: auto;
}

.product-filter-price-visual .range-input:active::-webkit-slider-thumb {
  cursor: grabbing;
  transform: scale(1.06);
}

.product-filter-price-visual .range-input:active::-moz-range-thumb {
  cursor: grabbing;
  transform: scale(1.06);
}

.product-filter-price-visual .range-input-min {
  z-index: 3;
}

.product-filter-price-visual .range-labels {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  display: flex;
  justify-content: space-between;
  color: rgba(247, 247, 245, 0.5);
  font-size: 11px;
  font-weight: 700;
}

.filter-accordion-options {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.filter-accordion.is-open .filter-accordion-options {
  padding: 0 0 10px;
}

.product-filter-choice-list {
  display: grid;
  gap: 7px;
}

.product-filter-choice-list button,
.filter-accordion-options label {
  min-height: 34px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  color: rgba(247, 247, 245, 0.76);
  background: rgba(255, 255, 255, 0.026);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.1;
  text-align: left;
  text-transform: none;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.product-filter-choice-list button {
  justify-content: space-between;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) minmax(38px, auto);
  column-gap: 10px;
}

.product-filter-choice-list button[data-filter-count]::before {
  content: "(" attr(data-filter-count) ")";
  order: 3;
  justify-self: end;
  margin-left: 0;
  color: rgba(247, 247, 245, 0.5);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.product-filter-choice-list button::after,
.filter-accordion-options label::before {
  content: "";
  width: 9px;
  height: 9px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  flex: 0 0 auto;
  order: 1;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.filter-accordion-options label::before {
  order: 0;
}

.product-filter-choice-list button span,
.product-filter-choice-list button {
  min-width: 0;
}

.product-filter-choice-list button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-option-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-option-count {
  margin-left: auto;
  flex: 0 0 auto;
  color: rgba(247, 247, 245, 0.5);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.filter-accordion-options label {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) minmax(34px, auto);
  column-gap: 10px;
}

.product-filter-choice-list button:hover,
.filter-accordion-options label:hover {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.26);
  background: rgba(255, 74, 22, 0.07);
}

.product-filter-choice-list button.is-selected {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.34);
  background: rgba(255, 74, 22, 0.1);
}

.product-filter-choice-list button.is-selected::after {
  border-color: rgba(255, 74, 22, 0.95);
  background: rgba(255, 74, 22, 0.95);
}

.filter-accordion-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  opacity: 0;
  pointer-events: none;
}

.filter-accordion-options label:has(input:checked) {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.34);
  background: rgba(255, 74, 22, 0.12);
}

.filter-accordion-options label:has(input:checked)::before {
  border-color: rgba(255, 74, 22, 0.95);
  background: rgba(255, 74, 22, 0.95);
}

.vehicle-type-strip {
  margin: 0 0 22px;
  padding: 0 0 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.vehicle-type-strip[hidden] {
  display: none;
}

.vehicle-type-strip button {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 999px;
  color: rgba(247, 247, 245, 0.72);
  background: rgba(255, 255, 255, 0.035);
  font-size: 13px;
  font-weight: 850;
  text-transform: none;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.vehicle-type-strip button:hover,
.vehicle-type-strip button.is-active {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.42);
  background: rgba(255, 74, 22, 0.13);
  transform: translateY(-1px);
}

.product-main-spec-panel {
  border-color: rgba(255, 74, 22, 0.18);
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 74, 22, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(18, 22, 27, 0.98), rgba(10, 14, 18, 0.98));
}

.product-other-spec-panel {
  background: rgba(255, 255, 255, 0.025);
}

.product-main-spec-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-other-spec-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.geigro-product-grid {
  align-content: start;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  justify-content: start;
}

.geigro-product-card {
  min-height: 0;
}

.geigro-product-body {
  height: auto;
  padding: 13px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.geigro-product-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 46px;
  align-items: start;
  gap: 10px;
}

.geigro-product-media {
  margin: 12px 12px 0;
  border-radius: 4px;
  height: clamp(148px, 11vw, 188px);
  aspect-ratio: auto;
}

.product-card-description {
  display: none;
}

.geigro-product-card {
  height: 100%;
  min-height: 342px;
  max-width: none;
  padding: 0;
  display: flex !important;
  grid-template-rows: none !important;
  gap: 0;
}

.geigro-product-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 14px;
  display: grid;
  grid-template-rows: 46px 24px minmax(42px, auto);
  gap: 12px;
}

.geigro-product-heading .product-name {
  min-height: 46px;
}

.geigro-product-heading .product-name a {
  display: -webkit-box;
  min-height: 46px;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.geigro-product-heading .product-price {
  min-height: 22px;
  padding-top: 1px;
  line-height: 1.15;
}

.geigro-product-badges {
  min-height: 24px;
  max-height: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow: hidden;
}

.geigro-product-card .geigro-product-badges[hidden] {
  display: flex;
  visibility: hidden;
}

.geigro-product-badges span {
  max-width: 100%;
  min-height: 23px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: rgba(247, 247, 245, 0.74);
  background: rgba(255, 255, 255, 0.035);
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geigro-product-badges span.is-kind {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.34);
  background: rgba(255, 74, 22, 0.13);
}

.geigro-product-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 9px;
  align-self: end;
  align-items: stretch;
  width: 100%;
}

.geigro-product-card .geigro-details-button,
.geigro-product-card .geigro-cart-icon-button {
  min-height: 42px;
}

.geigro-details-button {
  justify-content: flex-start;
  padding-inline: 14px;
}

.geigro-cart-icon-button {
  position: relative;
  width: 46px;
  min-width: 46px;
  padding: 0;
}

.geigro-cart-icon-button:not(.is-added):not([disabled])::before {
  content: "+";
  position: absolute;
  top: -5px;
  right: -5px;
  width: 17px;
  height: 17px;
  border: 2px solid rgba(10, 13, 17, 0.98);
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(255, 90, 31, 0.98);
  font-size: 13px;
  line-height: 1;
  font-weight: 950;
  pointer-events: none;
}

.geigro-cart-icon-button svg {
  width: 20px;
  height: 20px;
}

.geigro-cart-icon-button[disabled] {
  opacity: 0.42;
  background: rgba(255, 74, 22, 0.44);
}

.geigro-add-button.is-loading,
.btn-primary.is-loading,
.btn-secondary.is-loading {
  pointer-events: none;
  cursor: wait;
  opacity: 0.72;
  transform: none !important;
}

.geigro-add-button.is-loading::after,
.btn-primary.is-loading::after,
.btn-secondary.is-loading::after {
  content: "";
  width: 13px;
  height: 13px;
  margin-left: 8px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  display: inline-block;
  vertical-align: -2px;
  animation: geigroCartSpin 720ms linear infinite;
}

.geigro-cart-icon-button.is-loading::after {
  position: absolute;
  margin: 0;
}

.geigro-add-button.is-added,
.btn-primary.is-added,
.btn-secondary.is-added {
  border-color: rgba(70, 230, 145, 0.34);
  color: #fff;
  background: rgba(70, 230, 145, 0.16);
}

.geigro-add-button.is-error,
.btn-primary.is-error,
.btn-secondary.is-error {
  border-color: rgba(255, 74, 22, 0.5);
  background: rgba(255, 74, 22, 0.18);
}

@keyframes geigroCartSpin {
  to {
    transform: rotate(360deg);
  }
}

.page-package .package-detail-shell {
  width: min(100% - 40px, 1240px);
  margin-top: 0;
  padding-top: 0;
}

.page-package .product-detail {
  padding-top: calc(var(--geigro-header-h) + clamp(40px, 4.5vw, 66px));
  gap: 18px;
}

.page-package .product-detail-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.72fr);
  gap: 18px;
  align-items: start;
}

.page-package .product-gallery {
  gap: 10px;
}

.page-package .product-gallery-main {
  min-height: 0;
  height: clamp(310px, 34vw, 420px);
  aspect-ratio: auto;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 88%, rgba(255, 74, 22, 0.13), transparent 38%),
    linear-gradient(180deg, rgba(24, 29, 35, 0.96), rgba(10, 13, 17, 0.98));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.3);
}

.page-package .product-gallery-image,
.page-package .product-gallery-frame,
.page-package .product-gallery-fallback {
  object-fit: contain;
}

.page-package .product-gallery-thumbs {
  gap: 8px;
  padding: 0;
}

.page-package .product-gallery-thumb {
  flex-basis: 88px;
  width: 88px;
  height: 58px;
  border-radius: 6px;
}

.page-package .product-purchase-panel {
  top: calc(var(--geigro-header-h) + 20px);
  padding: 18px;
  gap: 14px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 74, 22, 0.08), transparent 36%),
    linear-gradient(180deg, rgba(18, 23, 29, 0.94), rgba(10, 13, 17, 0.96));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28);
}

.page-package .product-category-link {
  min-height: 28px;
  padding: 0 10px;
  border-color: rgba(255, 74, 22, 0.28);
  color: #fff;
  background: rgba(255, 74, 22, 0.1);
  font-size: 11px;
  text-decoration: none;
}

.page-package .product-detail-title {
  font-size: clamp(26px, 2.35vw, 36px);
  line-height: 1.08;
  letter-spacing: 0;
}

.page-package .product-purchase-panel .product-main-spec-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-package .product-purchase-panel .section-heading {
  margin-bottom: 10px;
}

.page-package .product-purchase-panel .section-heading p {
  display: none;
}

.page-package .product-purchase-panel .section-heading h2 {
  margin: 0;
  color: rgba(247, 247, 245, 0.86);
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-package .product-purchase-panel .product-main-spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.page-package .product-purchase-panel .product-spec-card {
  min-height: 68px;
  padding: 10px;
  border-color: rgba(255, 255, 255, 0.1);
  border-radius: 7px;
  align-content: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.page-package .product-purchase-panel .product-spec-card span {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.06em;
}

.page-package .product-purchase-panel .product-spec-card strong {
  min-width: 0;
  font-size: 14px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.page-package .product-purchase-panel .product-spec-value-row {
  gap: 8px;
}

.page-package .product-purchase-panel .product-spec-boolean {
  width: 28px;
  height: 28px;
  font-size: 18px;
}

.page-package .product-purchase-panel .product-spec-copy {
  min-height: 26px;
  padding: 0 8px;
  font-size: 10px;
}

.page-package .product-price-block {
  padding: 16px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 0;
}

.page-package .product-detail-badges {
  margin-top: -2px;
  margin-bottom: 10px;
}

.page-package .included-pack-links-wrap {
  margin: 14px 0 24px;
  overflow: hidden;
  transition: height 420ms cubic-bezier(0.22, 1, 0.36, 1),
    margin 420ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: height, margin;
}

.page-package .included-pack-links-wrap.is-entering {
  margin-top: 0;
  margin-bottom: 0;
}

.page-package .included-pack-links {
  padding: 13px 14px 14px;
  border: 1px solid rgba(255, 255, 255, 0.095);
  border-radius: 10px;
  display: grid;
  gap: 11px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.018));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  overflow: hidden;
  transform-origin: top center;
  transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 360ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform, filter;
}

.page-package .included-pack-links-wrap.is-entering .included-pack-links {
  opacity: 0;
  filter: blur(4px);
  transform: translateY(8px) scale(0.985);
}

.page-package .included-pack-links-wrap.is-visible .included-pack-links {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1);
}

.page-package .included-pack-links-title {
  margin: 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-package .included-pack-links-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.page-package .included-pack-link {
  min-height: 36px;
  padding: 0 11px 0 13px;
  border: 1px solid rgba(255, 74, 22, 0.28);
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.84);
  background: rgba(255, 74, 22, 0.065);
  font-size: 12px;
  line-height: 1;
  font-weight: 850;
  text-decoration: none;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.page-package .included-pack-link svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-package .included-pack-link:hover,
.page-package .included-pack-link:focus-visible {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.52);
  background: rgba(255, 74, 22, 0.12);
  transform: translateY(-1px);
  outline: 0;
}

.page-package .package-actions {
  gap: 12px;
}

.page-package .package-price {
  font-size: clamp(28px, 3vw, 34px);
  line-height: 1;
}

.page-package .package-action-buttons {
  min-height: 0;
  gap: 9px;
}

.page-package .package-action-buttons .wide {
  min-height: 44px;
  height: 44px;
  border-radius: 6px;
  font-size: 13px;
}

.page-package .product-other-spec-panel,
.page-package .product-description-panel {
  width: 100%;
  box-sizing: border-box;
  padding: 18px;
  border-radius: 8px;
}

.page-package .product-other-spec-panel.geigro-reveal,
.page-package .product-description-panel.geigro-reveal {
  transform: translateY(18px);
}

.page-package .product-other-spec-panel.geigro-reveal.is-visible,
.page-package .product-description-panel.geigro-reveal.is-visible {
  transform: translateY(0);
}

.page-package .product-other-spec-panel .section-heading,
.page-package .product-description-panel .section-heading {
  margin-bottom: 14px;
}

.page-package .product-other-spec-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.page-package .product-other-spec-panel .product-spec-card {
  min-height: 96px;
  padding: 14px;
}

.page-package .product-description-panel {
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 74, 22, 0.08), transparent 34%),
    rgba(13, 18, 24, 0.86);
}

.page-package .product-installation-panel {
  background:
    radial-gradient(circle at 100% 0%, rgba(53, 208, 178, 0.08), transparent 34%),
    rgba(13, 18, 24, 0.86);
}

.page-package .product-description-panel .section-heading {
  max-width: none;
}

.page-package .product-description-panel .section-heading h2 {
  font-size: 21px;
}

.page-package .product-description,
.page-package .product-installation {
  max-width: none;
  color: rgba(247, 247, 245, 0.78);
  font-size: 14px;
  line-height: 1.7;
}

.page-package .product-description :is(p, ul, ol),
.page-package .product-installation :is(p, ul, ol) {
  margin-block: 0 12px;
}

.page-package .product-description :is(p, ul, ol):last-child,
.page-package .product-installation :is(p, ul, ol):last-child {
  margin-bottom: 0;
}

.page-package .product-description :is(ul, ol),
.page-package .product-installation :is(ul, ol) {
  padding-left: 18px;
}

.page-package .product-description :is(li + li) {
  margin-top: 6px;
}

.geigro-category-slider {
  min-height: calc(100svh - var(--geigro-header-h));
  padding-top: clamp(16px, 2.4vw, 30px);
  padding-bottom: clamp(18px, 2.2vw, 28px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  scroll-margin-top: var(--geigro-header-h);
}

.geigro-slider-track {
  width: 100%;
  margin-top: clamp(34px, 9vh, 92px);
}

.page-index .geigro-value-strip {
  display: none;
}

.geigro-slider-value-strip {
  width: min(100%, 1060px);
  margin: auto auto 0;
  padding-top: clamp(18px, 4vh, 42px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2.2vw, 28px);
}

.geigro-slider-value-strip > div {
  min-width: 0;
  min-height: 72px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.geigro-slider-value-strip .geigro-value-icon {
  grid-row: span 2;
}

.geigro-slider-value-strip strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 900;
}

.geigro-slider-value-strip p {
  margin: 3px 0 0;
  color: var(--geigro-muted);
  font-size: 12px;
  line-height: 1.25;
}

@media (max-width: 1280px) {
  .geigro-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .geigro-language-trigger {
    min-width: 44px;
    width: 44px;
    padding: 0;
  }

  .geigro-language-name {
    display: none;
  }

  .geigro-language-trigger::after {
    display: none;
  }

  .page-package .product-detail-grid {
    grid-template-columns: 1fr;
  }

  .page-package .product-purchase-panel {
    position: static;
  }

  .page-package .product-gallery-main {
    height: clamp(260px, 58vw, 390px);
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .geigro-main-nav {
    overflow: visible;
  }

  .geigro-nav-dropdown {
    min-width: 170px;
  }

  .geigro-slider-track {
    margin-top: clamp(22px, 5vh, 52px);
  }

  .geigro-slider-value-strip {
    gap: 10px;
  }

  .geigro-slider-value-strip > div {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .geigro-slider-value-strip .geigro-value-icon {
    grid-row: auto;
  }

  .product-main-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .page-package .package-detail-shell {
    width: min(100% - 28px, 1240px);
    padding-top: 22px;
  }

  .page-package .product-detail {
    padding-top: calc(var(--geigro-header-h) + 30px);
  }

  .page-package .product-gallery-main {
    height: 250px;
  }

  .page-package .product-purchase-panel {
    padding: 15px;
  }

  .page-package .product-purchase-panel .product-main-spec-grid,
  .page-package .product-other-spec-grid {
    grid-template-columns: 1fr;
  }

  .geigro-product-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .vehicle-type-strip {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 12px;
  }

  .vehicle-type-strip button {
    flex: 0 0 auto;
  }

  .product-main-spec-grid {
    grid-template-columns: 1fr;
  }

  .geigro-slider-value-strip {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-top: 14px;
  }

  .geigro-slider-value-strip > div {
    min-height: 58px;
    padding: 10px 12px;
  }
}

/* Absolute final numeric filter slider positions. Must remain last. */
.geigro-filter-sidebar .product-filter-number-visual {
  height: 68px !important;
  padding: 0 0 22px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values,
.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
  display: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 20px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input {
  top: 8px !important;
  pointer-events: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-labels {
  bottom: 0 !important;
}

/* Basket 3-column commerce layout. */
.basket-page {
  width: min(100%, 1500px) !important;
  padding-inline: clamp(18px, 3.5vw, 46px) !important;
}

.basket-shell {
  display: grid !important;
  grid-template-columns: minmax(460px, 1.65fr) minmax(240px, 0.72fr) minmax(260px, 0.78fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

.basket-panel,
.basket-benefits,
.basket-summary {
  border: 1px solid rgba(255, 90, 31, 0.13) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(18, 23, 29, 0.92), rgba(8, 11, 15, 0.94)) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.24) !important;
}

.basket-panel {
  max-height: calc(100vh - var(--geigro-header-h) - 142px) !important;
  min-height: min(420px, calc(100vh - var(--geigro-header-h) - 142px)) !important;
  display: flex !important;
  overflow: hidden !important;
}

.basket-panel .basket-content {
  width: 100% !important;
  max-height: inherit !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.basket-panel .basket-content::-webkit-scrollbar {
  width: 8px !important;
}

.basket-panel .basket-content::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(255, 90, 31, 0.28) !important;
}

.basket-benefits,
.basket-summary {
  position: sticky !important;
  top: calc(var(--geigro-header-h) + 18px) !important;
}

.basket-benefits {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
}

.basket-benefits .basket-coupon {
  margin: 0 !important;
}

.basket-benefits .basket-coupon-form {
  grid-template-columns: minmax(0, 1fr) !important;
}

.basket-benefits .basket-coupon-form button {
  width: 100% !important;
}

.basket-benefits .basket-trust {
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  padding: 12px 0 0 !important;
}

.basket-benefits .basket-trust p {
  min-height: 26px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(239, 245, 252, 0.72) !important;
  font-size: 11.5px !important;
  line-height: 1.22 !important;
  font-weight: 820 !important;
}

.basket-benefits .basket-payment-methods {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  padding-top: 0 !important;
}

.basket-benefits .basket-payment-methods span {
  min-height: 30px !important;
  justify-content: center !important;
  border-color: rgba(255, 255, 255, 0.09) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  font-size: 10.5px !important;
}

.basket-summary {
  padding: 18px !important;
  gap: 12px !important;
}

.basket-summary h3 {
  font-size: 18px !important;
}

.basket-summary-row {
  min-height: 34px !important;
}

.basket-summary-total {
  min-height: 76px !important;
  margin-top: 7px !important;
  padding-top: 16px !important;
  border-top-color: rgba(255, 90, 31, 0.24) !important;
}

.basket-summary-total strong:first-child {
  font-size: 16px !important;
}

.basket-summary-total strong:last-child {
  color: #ff5a1f !important;
  font-size: clamp(32px, 2.6vw, 42px) !important;
  text-shadow: 0 12px 30px rgba(255, 90, 31, 0.22) !important;
}

.basket-total-values {
  display: grid !important;
  justify-items: end !important;
  gap: 4px !important;
}

.basket-total-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  text-shadow: none !important;
}

.basket-summary-discount span:last-child {
  color: rgba(132, 226, 170, 0.94) !important;
  font-weight: 900 !important;
}

.basket-summary-discount[hidden],
[data-basket-discount-row][hidden] {
  display: none !important;
}

.basket-coupon small[hidden],
.basket-coupon-scope-warning[hidden],
[data-coupon-scope-warning][hidden],
.basket-coupon-message[hidden],
[data-coupon-message][hidden] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

.basket-coupon-form input:disabled,
.basket-coupon-form button:disabled:not(.basket-coupon-remove) {
  opacity: 0.58 !important;
  cursor: not-allowed !important;
}

.basket-active-coupons li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.basket-coupon-remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 132, 104, 0.32) !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  color: rgba(255, 220, 210, 0.96) !important;
  background: rgba(255, 90, 31, 0.12) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease !important;
}

.basket-coupon-remove:hover,
.basket-coupon-remove:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.56) !important;
  background: rgba(255, 90, 31, 0.22) !important;
  transform: scale(1.04) !important;
}
/* Keep this final override at EOF so legacy responsive rules cannot win. */
@media (min-width: 981px) {
  .geigro-products-layout {
    align-items: stretch !important;
  }

  .geigro-filter-sidebar {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    align-self: start !important;
    height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    max-height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .widget,
  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .product-filter-bar {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  .product-filter-scroll {
    min-height: 0 !important;
    height: 100% !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
  }

  .product-filter-section-panel,
  .filter-accordion-panel {
    display: grid !important;
    grid-template-rows: 0fr !important;
    max-height: none !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translateY(-4px) !important;
    transition: grid-template-rows 260ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease, transform 220ms ease !important;
  }

  .product-filter-section.is-open > .product-filter-section-panel,
  .filter-accordion.is-open > .filter-accordion-panel {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .product-filter-section-inner,
  .filter-accordion-options {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .product-filter-section.is-open .product-filter-section-inner,
  .filter-accordion.is-open .filter-accordion-options {
    overflow: visible !important;
  }
}

/* Product scope badge overlay on every listing-card breakpoint. */
.geigro-product-card .geigro-product-media {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  z-index: 4 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: calc(100% - 18px) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  pointer-events: none !important;
  overflow: visible !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges[hidden] {
  display: none !important;
  visibility: hidden !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges span:not(.is-kind) {
  display: none !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges span.is-kind {
  min-height: 24px !important;
  max-width: 100% !important;
  padding: 0 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.17) !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
  background: rgba(7, 10, 14, 0.84) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Independent fallback so the package badge survives Tebex/JS hidden states. */
.geigro-product-card .geigro-package-kind-fallback {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  z-index: 8 !important;
  min-height: 24px !important;
  max-width: calc(100% - 18px) !important;
  padding: 0 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.17) !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  color: #fff !important;
  background: rgba(7, 10, 14, 0.86) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges:not([hidden]) + img,
.geigro-product-card .geigro-product-media > .geigro-product-badges:not([hidden]) ~ img {
  position: relative;
  z-index: 0;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges:not([hidden]) {
  display: none !important;
}

@media (max-width: 820px) {
  .geigro-header .geigro-cart-button,
  .geigro-header .geigro-login-button,
  .geigro-header .geigro-mobile-menu-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex-basis: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-header .geigro-cart-button:hover,
  .geigro-header .geigro-cart-button:focus-visible,
  .geigro-header .geigro-login-button:hover,
  .geigro-header .geigro-login-button:focus-visible,
  .geigro-header .geigro-mobile-menu-toggle:hover,
  .geigro-header .geigro-mobile-menu-toggle:focus-visible,
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-header .geigro-cart-button svg,
  .geigro-header .geigro-login-button svg {
    width: 25px !important;
    height: 25px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span {
    width: 22px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span:nth-child(1) { top: 12px !important; }
  .geigro-header .geigro-mobile-menu-toggle span:nth-child(2) { top: 18px !important; }
  .geigro-header .geigro-mobile-menu-toggle span:nth-child(3) { top: 24px !important; }

  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle span {
    top: 50% !important;
  }

  .geigro-product-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }

  .geigro-product-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 7px !important;
  }

  .geigro-product-media {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 7px 7px 0 !important;
    border-radius: 5px !important;
  }

  .geigro-product-media img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .geigro-product-body {
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-rows: auto auto auto !important;
    gap: 7px 6px !important;
  }

  .geigro-product-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .geigro-product-heading .product-name,
  .geigro-product-heading .product-name a {
    min-height: 0 !important;
  }

  .geigro-product-heading .product-name a {
    font-size: clamp(12px, 3.7vw, 15px) !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
  }

  .geigro-product-heading .product-price {
    min-height: 0 !important;
    justify-content: flex-start !important;
    font-size: clamp(13px, 4vw, 16px) !important;
    text-align: left !important;
  }

  .geigro-product-badges {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 19px !important;
    max-height: 42px !important;
    gap: 4px !important;
  }

  .geigro-product-badges span {
    min-height: 19px !important;
    padding: 0 5px !important;
    font-size: 8px !important;
  }

  .geigro-product-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: auto !important;
    margin: 0 !important;
    display: block !important;
    justify-self: end !important;
    align-self: end !important;
  }

  .geigro-product-card .geigro-details-button {
    display: none !important;
  }

  .geigro-product-card .geigro-cart-icon-button {
    width: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
  }
}

/* Final mobile package surface and sticky purchase override. */
@media (max-width: 768px) {
  .page-package .product-gallery-main,
  .page-package .product-purchase-panel,
  .page-package .product-dynamic-section,
  .page-package .product-description-panel.product-dynamic-section {
    border-radius: 9px !important;
  }

  .page-package .product-gallery-thumb,
  .page-package .product-gallery-more,
  .page-package .package-action-buttons .wide {
    border-radius: 7px !important;
  }

  .page-package .product-price-block {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 15px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-package .product-purchase-panel-placeholder {
    display: block !important;
    width: 100% !important;
    margin-bottom: 18px !important;
    transition: height 280ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky {
    position: fixed !important;
    inset: var(--geigro-header-h) 12px auto !important;
    z-index: 940 !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 0 0 9px 9px !important;
    background: rgba(9, 13, 17, 0.98) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.46) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky-entering {
    transform:
      translate3d(var(--purchase-flip-x, 0), var(--purchase-flip-y, 0), 0)
      scale(var(--purchase-flip-scale-x, 1), var(--purchase-flip-scale-y, 1)) !important;
    transform-origin: top left !important;
    transition: none !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky-entering.is-mobile-sticky-settled {
    transform: translate3d(0, 0, 0) scale(1) !important;
    transition:
      transform 360ms cubic-bezier(0.16, 1, 0.3, 1),
      padding 360ms cubic-bezier(0.16, 1, 0.3, 1),
      border-radius 280ms ease,
      box-shadow 280ms ease !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-title {
    font-size: 17px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-badges,
  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-summary {
    display: none !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-price-block {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-price {
    font-size: 18px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-action-buttons .wide {
    min-height: 40px !important;
    height: 40px !important;
  }
}

/* Definitive desktop dock alignment: equal breathing room below the header. */
@media (min-width: 1100px) {
  .page-package .product-detail-grid {
    top: calc(var(--geigro-header-h) + 16px) !important;
  }

  .page-package .product-dynamic-tabs,
  .page-package .product-dynamic-tabs.is-tabs-docked {
    top: calc(var(--geigro-header-h) + 16px) !important;
  }
}

/* Final large-screen package layout: sticky 1/3 product rail, scrolling 2/3 details. */
@media (min-width: 1100px) {
  html:has(body.page-package),
  body.page-package {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  .page-package .package-detail-shell {
    width: min(100% - 40px, 1540px) !important;
    max-width: 1540px !important;
  }

  .page-package .product-detail-workspace {
    display: grid !important;
    grid-template-columns: minmax(310px, 1fr) minmax(0, 2fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    align-content: space-between !important;
    gap: clamp(22px, 2.2vw, 36px) !important;
    min-height: calc(100vh - var(--geigro-header-h) - clamp(48px, 4.5vw, 66px)) !important;
  }

  .page-package .product-detail-grid {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    z-index: 40 !important;
    min-width: 0 !important;
    max-height: calc(100vh - var(--geigro-header-h) - 32px) !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-self: start !important;
    overflow: visible !important;
    contain: none !important;
  }

  .page-package .product-gallery {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: grid !important;
    gap: 8px !important;
  }

  .page-package .product-gallery-main {
    width: 100% !important;
    max-height: min(34vh, 330px) !important;
    aspect-ratio: 16 / 9 !important;
  }

  .page-package .product-gallery-thumbs {
    min-height: 44px !important;
    margin: 0 !important;
    gap: 7px !important;
  }

  .page-package .product-gallery-thumb,
  .page-package .product-gallery-more {
    width: 74px !important;
    min-width: 74px !important;
    height: 44px !important;
  }

  .page-package .product-purchase-panel {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    z-index: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px 16px !important;
    border-radius: 8px !important;
    display: block !important;
    transform: none !important;
    contain: none !important;
  }

  .page-package .product-purchase-panel .product-category-link {
    margin-bottom: 7px !important;
    font-size: 10px !important;
  }

  .page-package .product-purchase-panel .product-detail-title {
    margin: 0 !important;
    font-size: clamp(20px, 1.65vw, 27px) !important;
    line-height: 1.12 !important;
  }

  .page-package .product-purchase-panel .product-detail-badges {
    min-height: 24px !important;
    max-height: none !important;
    margin: 10px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  .page-package .product-purchase-panel .product-detail-badges[hidden] {
    display: none !important;
  }

  .page-package .product-purchase-panel .product-detail-badges span {
    min-height: 24px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  .page-package .product-purchase-panel .product-detail-badges span.is-kind {
    border-color: rgba(255, 90, 31, 0.45) !important;
    color: #fff !important;
    background: rgba(255, 90, 31, 0.1) !important;
  }

  .page-package .product-purchase-panel .product-detail-badges span.is-vehicle-type {
    border-color: rgba(255, 255, 255, 0.13) !important;
    color: rgba(255, 255, 255, 0.76) !important;
    background: rgba(255, 255, 255, 0.035) !important;
  }

  .page-package .product-purchase-panel .product-price-block {
    margin-top: 12px !important;
    padding-top: 11px !important;
  }

  .page-package .product-purchase-panel .package-price {
    font-size: 24px !important;
  }

  .page-package .product-purchase-panel .package-action-buttons .wide {
    min-height: 42px !important;
    height: 42px !important;
  }

  .page-package .product-detail-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  .page-package .product-detail-info .product-dynamic-tabs {
    margin-top: 0 !important;
  }

  .page-package .product-detail-info .product-dynamic-sections {
    margin-top: 14px !important;
  }

  .page-package .product-tabs-purchase {
    display: none !important;
  }

  .page-package .product-dynamic-tab-items {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .page-package .product-dynamic-tab-controls {
    padding-inline: 8px !important;
  }

  .page-package .product-dynamic-tabs.is-tabs-docked {
    left: var(--tabs-dock-left) !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    width: var(--tabs-dock-width) !important;
    max-width: var(--tabs-dock-width) !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  .page-package .product-dynamic-tabs-heading {
    display: none !important;
  }

  .page-package .product-dynamic-tabs.is-tabs-docked::before {
    content: "" !important;
    position: absolute !important;
    right: -1px !important;
    bottom: 100% !important;
    left: -1px !important;
    z-index: 0 !important;
    height: 17px !important;
    background: #05080b !important;
    pointer-events: none !important;
  }

  .page-package .product-dynamic-tabs.is-tabs-docked .product-dynamic-tab-controls {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: inherit;
    background: rgba(8, 12, 16, 0.98);
  }

  .page-package .product-overview-section {
    padding: 16px !important;
  }

  .page-package .product-overview-grid {
    gap: 11px !important;
  }

  .page-package .product-overview-card {
    padding: 14px !important;
  }

  .page-package .product-trust-strip {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: end;
    width: 100%;
    min-height: 82px;
    margin-top: 0;
    padding: 18px clamp(18px, 2vw, 30px);
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 0 0 34px 34px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    background: linear-gradient(180deg, rgba(7, 12, 18, 0.18), rgba(10, 17, 25, 0.86));
  }

  .page-package .product-trust-item {
    min-width: 0;
    min-height: 42px;
    padding-inline: clamp(12px, 1.4vw, 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
  }

  .page-package .product-trust-item + .product-trust-item {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
  }

  .page-package .product-trust-item svg {
    width: 23px;
    min-width: 23px;
    height: 23px;
    fill: none;
    stroke: rgba(255, 255, 255, 0.72);
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .page-package .product-trust-item span {
    min-width: 0;
    display: grid;
    gap: 4px;
  }

  .page-package .product-trust-item strong,
  .page-package .product-trust-item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-package .product-trust-item strong {
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(10px, 0.72vw, 12px);
    line-height: 1.1;
    font-weight: 700;
  }

  .page-package .product-trust-item small {
    color: rgba(255, 255, 255, 0.43);
    font-size: clamp(8px, 0.58vw, 10px);
    line-height: 1.15;
  }
}

@media (max-width: 1099px) {
  .page-package .product-detail-workspace {
    display: block !important;
  }

  .page-package .product-detail-info {
    min-width: 0 !important;
  }

  .page-package .product-trust-strip {
    display: none !important;
  }
}

/* Dynamic package-description sections generated entirely from store content. */
.page-package .product-dynamic-tabs {
  width: 100%;
  margin-top: 30px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow-x: auto;
  overflow-y: hidden;
  background: rgba(8, 12, 16, 0.94);
  scrollbar-width: none;
}

.page-package .product-dynamic-tabs-heading {
  max-height: 0;
  padding: 0 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  color: #fff;
  opacity: 0;
  transform: translate3d(0, -8px, 0);
  transition:
    max-height 380ms cubic-bezier(0.16, 1, 0.3, 1),
    padding 380ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 220ms ease,
    transform 380ms cubic-bezier(0.16, 1, 0.3, 1);
}

.page-package .product-dynamic-tabs.is-tabs-approaching .product-dynamic-tabs-heading {
  max-height: 56px;
  padding-block: 11px;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.page-package .product-dynamic-tabs-title {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.2;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.page-package .product-tabs-mobile-purchase {
  display: none;
}

.page-package .product-dynamic-tab-controls {
  min-width: 0;
  padding-inline: 10px;
  display: flex;
  align-items: stretch;
  gap: 2px;
}

.page-package .product-dynamic-tab-items {
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 2px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.page-package .product-dynamic-tab-items::-webkit-scrollbar {
  display: none;
}

.page-package .product-tabs-purchase {
  margin-left: auto;
  max-width: 0;
  padding-left: 0;
  border-left: 1px solid transparent;
  display: none;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  flex: 0 0 auto;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  pointer-events: none;
  transform: translate3d(14px, 0, 0);
  transition:
    max-width 420ms cubic-bezier(0.16, 1, 0.3, 1),
    padding-left 320ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 220ms ease,
    opacity 220ms ease,
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 420ms;
}

.page-package .product-tabs-price {
  min-height: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.page-package .product-tabs-price-values {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
}

.page-package .product-tabs-price del,
.page-package .product-tabs-price .discount {
  color: rgba(255, 255, 255, 0.38);
  font-size: 10px;
  font-weight: 750;
  text-decoration-thickness: 1px;
}

.page-package .product-tabs-price.is-sale {
  color: #ff5a1f;
}

.page-package .product-tabs-discount-badge {
  padding: 3px 6px;
  border: 1px solid rgba(255, 90, 31, 0.56);
  border-radius: 999px;
  color: #ff7647;
  background: rgba(255, 90, 31, 0.1);
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
}

.page-package .product-tabs-action {
  min-width: 150px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 90, 31, 0.58);
  border-radius: 7px;
  color: #fff;
  background: rgba(255, 90, 31, 0.16);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.page-package .product-tabs-action.is-added {
  border-color: rgba(52, 211, 153, 0.5);
  background: rgba(16, 89, 65, 0.72);
}

.page-package .product-dynamic-tabs::-webkit-scrollbar {
  display: none;
}

.page-package .product-dynamic-tab {
  position: relative;
  min-width: max-content;
  min-height: 56px;
  padding: 0 20px;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.58);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  transition: color 180ms ease, background-color 180ms ease;
}

.page-package .product-dynamic-tab::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: -1px;
  left: 14px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: #ff5a1f;
  opacity: 0;
  transform: scaleX(0.5);
  transition: opacity 180ms ease, transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.page-package .product-dynamic-tab:hover,
.page-package .product-dynamic-tab:focus-visible,
.page-package .product-dynamic-tab.is-active,
.page-package .product-dynamic-tab[aria-selected="true"] {
  color: #fff;
  background: rgba(255, 255, 255, 0.035);
}

.page-package .product-dynamic-tab.is-active::after,
.page-package .product-dynamic-tab[aria-selected="true"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.page-package .product-dynamic-sections {
  width: 100%;
  margin-top: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px !important;
  overflow: visible !important;
  transition: height 360ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: height;
}

.page-package .product-dynamic-sections > .product-dynamic-section {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100%;
}

.page-package .product-dynamic-section {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 8px !important;
  background: linear-gradient(145deg, rgba(13, 18, 23, 0.96), rgba(8, 11, 15, 0.96)) !important;
  box-shadow: none !important;
  align-self: start;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, 6px, 0) scale(0.992) !important;
  transform-origin: center top;
  transition:
    opacity 320ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 360ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}

.page-package .product-dynamic-section.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.page-package .product-dynamic-section.is-tab-outgoing,
.page-package .product-dynamic-section.is-tab-incoming {
  visibility: visible !important;
}

.page-package .product-dynamic-section.is-tab-outgoing {
  opacity: 1 !important;
  pointer-events: none !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.page-package .product-dynamic-section.is-tab-outgoing.is-tab-faded {
  opacity: 0 !important;
  transform: translate3d(var(--tab-slide-x, -18px), -4px, 0) scale(0.992) !important;
}

.page-package .product-dynamic-section.is-tab-incoming {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate3d(var(--tab-slide-x, 18px), 8px, 0) scale(0.992) !important;
}

.page-package .product-dynamic-section.is-tab-incoming.is-tab-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

html.js .page-package .product-dynamic-section.geigro-reveal,
html.js .page-package .product-dynamic-section.geigro-reveal.is-visible {
  transform: none !important;
}

.page-package .product-dynamic-section:nth-child(3n + 1):last-child,
.page-package .product-dynamic-section:only-child {
  grid-column: 1 / -1;
}

.page-package .product-dynamic-section > h2 {
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
}

.page-package .product-dynamic-section-content {
  display: grid;
  gap: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.58;
}

.page-package .product-dynamic-section-content > p {
  margin: 0 !important;
}

.page-package .product-description-subheading-title {
  margin: 8px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.075);
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.01em;
}

.page-package .product-description-checklist {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.page-package .product-description-checklist li {
  position: relative;
  min-height: 22px;
  padding-left: 30px;
}

.page-package .product-description-checklist li::before {
  content: "✓";
  position: absolute;
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(52, 211, 153, 0.64);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #34d399;
  font-size: 11px;
  font-weight: 900;
}

.page-package .product-description-plain-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.page-package .product-description-plain-list li {
  position: relative;
  min-height: 22px;
  padding-left: 22px;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.58;
}

.page-package .product-description-plain-list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 950;
}

.page-package .product-description-data-list {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.2fr);
}

.page-package .product-description-data-list dt,
.page-package .product-description-data-list dd {
  min-width: 0;
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075);
}

.page-package .product-description-data-list dt {
  padding-right: 16px;
  color: rgba(255, 255, 255, 0.55);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  overflow: visible;
}

.page-package .product-description-data-list dd {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  color: rgba(255, 255, 255, 0.9);
  text-align: right;
  overflow-wrap: anywhere;
}

.page-package .product-description-data-list dd:has(.product-inline-copy) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: center;
  column-gap: 10px;
  min-height: 58px;
}

.page-package .product-description-data-list dd:has(.product-inline-copy) .product-inline-copy {
  align-self: center;
  justify-self: end;
}

.page-package .product-description-data-list dd[data-boolean="yes"] {
  color: #34d399;
}

.page-package .product-description-data-list dd[data-boolean="no"] {
  color: rgba(247, 247, 245, 0.86);
}

.page-package .product-overview-section {
  padding: 18px !important;
}

.page-package .product-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}

.page-package .product-overview-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 7px;
  background: rgba(4, 8, 12, 0.42);
}

.page-package .product-overview-card > h3 {
  margin: 0 0 13px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}

.page-package .product-overview-card-content {
  position: relative;
  min-width: 0;
  transition: max-height 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.page-package .product-overview-card.is-collapsible:not(.is-expanded) .product-overview-card-content {
  max-height: 230px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 42px), transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 42px), transparent 100%);
}

.page-package .product-overview-card.is-expanded .product-overview-card-content {
  max-height: 1600px;
}

.page-package .product-overview-more {
  width: 100%;
  min-height: 34px;
  margin-top: 10px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.035);
  font-size: 11px;
  font-weight: 800;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.page-package .product-overview-more:hover,
.page-package .product-overview-more:focus-visible {
  color: #fff;
  border-color: rgba(255, 90, 31, 0.48);
  background: rgba(255, 90, 31, 0.08);
}

.page-package .product-overview-card .product-description-data-list {
  grid-template-columns: minmax(92px, 0.82fr) minmax(0, 1.18fr);
}

.page-package .product-overview-card .product-description-data-list dt,
.page-package .product-overview-card .product-description-data-list dd {
  padding-block: 7px;
  font-size: 12px;
}

.page-package .product-vehicle-spec-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

.page-package .product-vehicle-spec-group {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.095);
  border-radius: 7px;
  background: rgba(4, 8, 12, 0.46);
}

.page-package .product-vehicle-spec-group > h3 {
  margin: 0 0 9px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.085);
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 850;
}

.page-package .product-vehicle-spec-group .product-description-data-list {
  grid-template-columns: minmax(92px, 0.85fr) minmax(0, 1.15fr);
}

.page-package .product-vehicle-spec-group .product-description-data-list dt,
.page-package .product-vehicle-spec-group .product-description-data-list dd {
  padding-block: 8px;
  font-size: 12px;
}

.page-package .pack-vehicle-explorer {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.page-package .pack-vehicle-nav {
  position: sticky;
  top: calc(var(--geigro-header-h, 72px) + 110px);
  display: grid;
  gap: 8px;
}

.page-package .pack-vehicle-button {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.66);
  background: rgba(255, 255, 255, 0.035);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  font-weight: 850;
  text-align: left;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.page-package .pack-vehicle-button:hover,
.page-package .pack-vehicle-button:focus-visible,
.page-package .pack-vehicle-button.is-active {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.48);
  background: rgba(255, 74, 22, 0.09);
  outline: 0;
}

.pack-vehicle-hover-preview {
  position: fixed;
  left: 0;
  top: 0;
  width: clamp(170px, 13vw, 230px);
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(5, 8, 10, 0.92);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 74, 22, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, -100%, 0) scale(0.965);
  transition: opacity 150ms ease, transform 150ms ease;
  z-index: 9990;
  will-change: left, top, opacity, transform;
}

.pack-vehicle-hover-preview.is-visible {
  opacity: 1;
  transform: translate3d(-50%, -100%, 0) scale(1);
}

.pack-vehicle-hover-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (hover: none), (pointer: coarse), (max-width: 760px) {
  .pack-vehicle-hover-preview {
    display: none !important;
  }
}

.page-package .pack-vehicle-content {
  min-width: 0;
}

.page-package .pack-vehicle-detail {
  min-width: 0;
  display: grid;
  gap: 12px;
  animation: packVehicleIn 220ms cubic-bezier(0.19, 1, 0.22, 1);
}

.page-package .pack-vehicle-title-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.page-package .pack-vehicle-title-row > h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.page-package .pack-vehicle-link {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.04);
  text-decoration: none;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.page-package .pack-vehicle-link svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-package .pack-vehicle-link:hover,
.page-package .pack-vehicle-link:focus-visible {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.42);
  background: rgba(255, 74, 22, 0.09);
  transform: translateY(-1px);
  outline: 0;
}

.page-package .pack-vehicle-status,
.page-package .pack-vehicle-empty {
  margin: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.095);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.03);
  font-weight: 750;
}

.page-package .pack-vehicle-detail.is-loading {
  min-height: 48px;
  align-content: start;
}

.page-package .pack-vehicle-loading {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: clamp(15px, 1.18vw, 17px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0;
}

.page-package .pack-vehicle-loading-dots {
  display: inline-block;
  width: 1.4em;
  text-align: left;
}

.page-package .pack-vehicle-loading-dots span {
  opacity: 0.16;
  animation: packVehicleLoadingDot 1.2s ease-in-out infinite;
}

.page-package .pack-vehicle-loading-dots span:nth-child(2) {
  animation-delay: 0.16s;
}

.page-package .pack-vehicle-loading-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

@keyframes packVehicleLoadingDot {
  0%,
  75%,
  100% {
    opacity: 0.16;
  }
  35% {
    opacity: 1;
  }
}

@keyframes packVehicleIn {
  from {
    opacity: 0;
    transform: translate3d(8px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 760px) {
  .page-package .pack-vehicle-explorer {
    grid-template-columns: 1fr;
  }

  .page-package .pack-vehicle-nav {
    position: static;
    display: flex;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .page-package .pack-vehicle-nav::-webkit-scrollbar {
    display: none;
  }

  .page-package .pack-vehicle-button {
    flex: 0 0 auto;
    min-width: 148px;
  }
}

/* Final pack vehicle layout: compact selector chips above, data uses the full width. */
.page-package .pack-vehicle-explorer {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.page-package .pack-vehicle-nav {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 0 2px !important;
}

.page-package .pack-vehicle-button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.page-package .pack-vehicle-mobile-preview {
  display: none;
}

.page-package .pack-vehicle-mobile-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.page-package .pack-vehicle-detail {
  gap: 14px !important;
}

.page-package .pack-vehicle-title-row > h3 {
  margin-top: 2px !important;
}

.page-package .product-overview-card .product-vehicle-spec-groups {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.page-package .product-overview-card .product-vehicle-spec-group {
  padding: 10px;
}

.page-package .product-description-step-row {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  align-items: start;
  column-gap: 14px;
  row-gap: 8px;
  margin-bottom: 16px;
}

.page-package .product-description-step-row:last-child {
  margin-bottom: 0;
}

.page-package .product-description-step-row > span {
  width: 27px;
  height: 27px;
  border: 1px solid rgba(52, 211, 153, 0.48);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #34d399;
  font-size: 12px;
  font-weight: 900;
}

.page-package .product-description-step-row > p {
  margin: 3px 0 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.page-package .product-description-step-row .product-description-code {
  grid-column: 2;
  width: 100%;
  margin-top: 4px;
}

.page-package .product-inline-code {
  padding: 2px 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.045);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.92em;
  font-weight: 850;
  line-height: 1.25;
}

.page-package .product-inline-copy.product-inline-copy-compact {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border-radius: 7px !important;
  vertical-align: middle !important;
}

.page-package .product-inline-copy.product-inline-copy-compact svg {
  width: 15px !important;
  height: 15px !important;
}

.page-package .product-description-code {
  min-width: 0;
  min-height: 42px;
  padding: 8px 9px 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(2, 5, 8, 0.72);
}

.page-package .product-description-code code {
  min-width: 0;
  overflow-wrap: anywhere;
  color: rgba(255, 255, 255, 0.9);
  font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.page-package .product-inline-copy {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.74);
  background: rgba(255, 255, 255, 0.04);
  line-height: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015);
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.page-package .product-inline-copy svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-package .product-inline-copy:hover,
.page-package .product-inline-copy:focus-visible {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.42);
  background: rgba(255, 74, 22, 0.09);
  box-shadow: 0 0 0 3px rgba(255, 74, 22, 0.08);
}

.page-package .product-inline-copy.is-copied {
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.48);
}

.page-package .product-dynamic-section.is-info-section {
  grid-column: 1 / -1;
  border-color: rgba(239, 68, 68, 0.34) !important;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.065), rgba(8, 11, 15, 0.96)) !important;
}

.page-package .package-policy-separator,
.page-package > .package-refund-policy {
  display: none !important;
}

.page-package .product-dynamic-section.is-refund-tab {
  margin: 0 !important;
  border-left-width: 3px !important;
}

@media (max-width: 980px) {
  .page-package .product-dynamic-section {
    grid-column: span 12;
  }

  .page-package .product-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-package .product-overview-card.is-included:last-child {
    grid-column: 1 / -1;
  }

  .page-package .product-vehicle-spec-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .page-package .product-dynamic-tabs {
    position: sticky;
    top: var(--geigro-header-h);
    z-index: 890;
    margin-top: 22px;
    padding-inline: 0;
    min-height: 52px;
    overflow: hidden;
    background: rgba(8, 12, 16, 0.98);
    backdrop-filter: blur(16px) saturate(115%);
    -webkit-backdrop-filter: blur(16px) saturate(115%);
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.28);
  }

  .page-package .product-dynamic-tabs-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 10px;
    padding-inline: 12px;
  }

  .page-package .product-dynamic-tabs-title {
    font-size: 18px;
    text-align: left;
  }

  .page-package .product-dynamic-tabs.is-tabs-approaching .product-dynamic-tabs-heading {
    max-height: 58px;
    padding-block: 9px;
  }

  .page-package .product-dynamic-tab-controls {
    padding-inline: 6px;
  }

  .page-package .product-dynamic-tab-items {
    flex: 1 1 auto;
  }

  .page-package .product-tabs-purchase {
    display: none;
  }

  .page-package .product-tabs-mobile-purchase {
    max-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(10px, 0, 0);
    transition:
      max-width 360ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 200ms ease,
      transform 360ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 360ms;
  }

  .page-package .product-dynamic-tabs.is-purchase-panel-hidden .product-tabs-mobile-purchase {
    max-width: 160px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 50ms, 70ms, 50ms, 0s;
  }

  .page-package .product-tabs-mobile-price {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
  }

  .page-package .product-tabs-mobile-price .product-tabs-price-values {
    gap: 4px;
  }

  .page-package .product-tabs-mobile-price del,
  .page-package .product-tabs-mobile-price .discount {
    color: rgba(255, 255, 255, 0.38);
    font-size: 8px;
  }

  .page-package .product-tabs-mobile-price.is-sale {
    color: #ff5a1f;
  }

  .page-package .product-tabs-mobile-price .product-tabs-discount-badge {
    padding: 2px 4px;
    font-size: 7px;
  }

  .page-package .product-tabs-mobile-action {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 90, 31, 0.58);
    border-radius: 7px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255, 90, 31, 0.16);
  }

  .page-package .product-tabs-mobile-action svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .page-package .product-tabs-mobile-action.is-added {
    border-color: rgba(52, 211, 153, 0.52);
    color: #d1fae5;
    background: rgba(16, 89, 65, 0.72);
  }

  .page-package .product-tabs-action {
    min-width: 118px;
    max-width: 148px;
    min-height: 36px;
    padding-inline: 10px;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
  }

  .page-package .product-tabs-price {
    gap: 5px;
    font-size: 13px;
  }

  .page-package .product-tabs-price-values {
    gap: 5px;
  }

  .page-package .product-tabs-price del,
  .page-package .product-tabs-price .discount {
    font-size: 9px;
  }

  .page-package .product-dynamic-tab {
    min-height: 50px;
    padding-inline: 14px;
    font-size: 12px;
  }

  .page-package .product-dynamic-sections {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .page-package .product-overview-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .page-package .product-overview-card.is-included:last-child {
    grid-column: 1;
  }

  .page-package .product-overview-card {
    padding: 14px;
  }

  .page-package .product-overview-card.is-collapsible:not(.is-expanded) .product-overview-card-content {
    max-height: 190px;
  }

  .page-package .product-dynamic-section,
  .page-package .product-dynamic-section.is-info-section {
    grid-column: 1 !important;
    padding: 15px !important;
  }

  .page-package .product-dynamic-section > h2 {
    margin-bottom: 13px !important;
    padding-bottom: 10px;
    font-size: 18px !important;
  }

  .page-package .product-description-data-list {
    grid-template-columns: minmax(96px, 0.8fr) minmax(0, 1.2fr);
  }

  .page-package .product-vehicle-spec-groups {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .page-package .product-vehicle-spec-group {
    padding: 12px;
  }
}

/* Mobile package tabs final polish: compact, touch-friendly and reliably scrollable. */
@media (max-width: 768px) {
  .page-package .product-detail-info .product-dynamic-tabs,
  .page-package .product-dynamic-tabs {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin-top: 16px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .page-package .product-dynamic-tab-controls {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 5px !important;
    overflow: hidden !important;
  }

  .page-package .product-dynamic-tab-items {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: 1px !important;
    padding: 0 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none !important;
    mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
  }

  .page-package .product-dynamic-tab-items::-webkit-scrollbar {
    display: none !important;
  }

  .page-package .product-dynamic-tab {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 44px !important;
    padding: 0 11px !important;
    scroll-snap-align: center;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
  }

  .page-package .product-dynamic-tab::after {
    right: 10px !important;
    left: 10px !important;
  }
}

@media (min-width: 769px) {
  .page-package .product-purchase-panel {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }

  .page-package .product-dynamic-tabs {
    position: sticky;
    top: var(--geigro-header-h);
    z-index: 880;
    min-height: 58px;
    background: rgba(8, 12, 16, 0.97);
    backdrop-filter: blur(16px) saturate(115%);
    -webkit-backdrop-filter: blur(16px) saturate(115%);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    overflow: hidden;
  }

  .page-package .product-tabs-purchase {
    display: flex;
  }

  .page-package .product-dynamic-tabs.is-purchase-panel-hidden .product-tabs-purchase {
    max-width: 240px;
    padding-left: 14px;
    border-left-color: rgba(255, 255, 255, 0.11);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 80ms, 80ms, 120ms, 100ms, 80ms, 0s;
  }

  .page-package .product-dynamic-tabs-spacer {
    display: block;
    width: 100%;
  }

  .page-package .product-dynamic-tabs.is-tabs-docked {
    position: fixed !important;
    top: var(--geigro-header-h) !important;
    left: var(--tabs-dock-left) !important;
    z-index: 890 !important;
    width: var(--tabs-dock-width) !important;
    max-width: var(--tabs-dock-width) !important;
    margin: 0 !important;
    animation: geigro-tabs-dock 260ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
}

@keyframes geigro-tabs-dock {
  from {
    opacity: 0.82;
    transform: translate3d(0, -6px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Safari-safe mobile purchase bar: native sticky, no JS position switching. */
@media (max-width: 768px) {
  .page-package .product-detail,
  .page-package .product-detail-grid,
  .page-package .package-detail-shell {
    overflow: visible !important;
    contain: none !important;
  }

  .page-package .product-detail {
    display: block !important;
  }

  .page-package .product-detail-grid {
    display: block !important;
    gap: 0 !important;
    margin: 0 !important;
  }

  .page-package .product-gallery {
    display: grid !important;
    margin-bottom: 12px !important;
  }

  .page-package .product-purchase-panel {
    position: relative !important;
    top: auto !important;
    inset-inline: auto !important;
    z-index: 940 !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 0 0 9px 9px !important;
    background: rgba(9, 13, 17, 0.985) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4) !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transition:
      box-shadow 220ms ease,
      background-color 220ms ease !important;
  }

  .page-package .product-purchase-panel-placeholder {
    display: none !important;
  }

  .page-package .product-purchase-panel .product-detail-title {
    font-size: 17px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-package .product-purchase-panel .product-detail-badges,
  .page-package .product-purchase-panel .product-detail-summary {
    display: none !important;
  }

  .page-package .product-purchase-panel .product-price-block {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .page-package .product-purchase-panel .package-price {
    font-size: 18px !important;
  }

  .page-package .product-purchase-panel .package-action-buttons .wide {
    min-height: 40px !important;
    height: 40px !important;
  }

  .page-package .product-dynamic-sections {
    display: grid !important;
    margin-top: 0 !important;
    padding-top: 30px !important;
  }

  html.js .page-package .product-purchase-panel,
  html.js .page-package .product-purchase-panel.geigro-reveal,
  html.js .page-package .product-purchase-panel.geigro-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition:
      box-shadow 220ms ease,
      background-color 220ms ease !important;
  }
}

/* Full-width native sticky purchase surface on larger screens. */
@media (min-width: 769px) {
  .page-package .product-detail,
  .page-package .package-detail-shell {
    overflow: visible !important;
    contain: none !important;
  }

  .page-package .product-detail-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.72fr) !important;
    gap: 18px !important;
    align-items: start !important;
    overflow: visible !important;
  }

  .page-package .product-gallery {
    width: 100% !important;
  }

  .page-package .product-purchase-panel {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 18px) !important;
    z-index: 940 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 8px !important;
    display: block !important;
    background: rgba(9, 13, 17, 0.985) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.42) !important;
    transform: none !important;
    opacity: 1 !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
    transition:
      box-shadow 240ms ease,
      background-color 240ms ease,
      border-color 240ms ease !important;
  }

  .page-package .product-category-link,
  .page-package .product-detail-badges,
  .page-package .product-detail-summary {
    display: none !important;
  }

  .page-package .product-detail-title {
    margin: 0 !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.08 !important;
  }

  .page-package .product-price-block {
    margin: 14px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .page-package .package-actions {
    display: block !important;
  }

  .page-package .package-price {
    margin: 0 !important;
  }

  .page-package .package-action-buttons {
    margin-top: 12px !important;
  }

  .page-package .package-action-buttons .wide {
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-package .product-dynamic-sections {
    padding-top: 34px !important;
  }

  html.js .page-package .product-purchase-panel,
  html.js .page-package .product-purchase-panel.geigro-reveal,
  html.js .page-package .product-purchase-panel.geigro-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Purchase card accent follows the current basket action state. */
.page-package .product-purchase-panel {
  border-bottom-color: rgba(255, 90, 31, 0.9) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.42),
    inset 0 -2px 0 rgba(255, 90, 31, 0.9) !important;
  transition:
    border-color 240ms ease,
    box-shadow 240ms ease,
    background-color 240ms ease !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons .is-added) {
  border-bottom-color: rgba(52, 211, 153, 0.92) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.42),
    inset 0 -2px 0 rgba(52, 211, 153, 0.92) !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons .is-error) {
  border-bottom-color: rgba(239, 68, 68, 0.9) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.42),
    inset 0 -2px 0 rgba(239, 68, 68, 0.9) !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons button:disabled) {
  border-bottom-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.42),
    inset 0 -2px 0 rgba(255, 255, 255, 0.22) !important;
}


/* Mobile package detail: desktop-like radii and a compact sticky purchase card. */
@media (max-width: 768px) {
  .page-package .product-gallery-main,
  .page-package .product-purchase-panel,
  .page-package .product-dynamic-section,
  .page-package .product-description-panel.product-dynamic-section {
    border-radius: 9px !important;
  }

  .page-package .product-gallery-thumb,
  .page-package .product-gallery-more,
  .page-package .package-action-buttons .wide {
    border-radius: 7px !important;
  }

  .page-package .product-price-block {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 15px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-package .product-purchase-panel-placeholder {
    display: block;
    width: 100%;
  }

  .page-package .product-purchase-panel {
    transition:
      padding 260ms cubic-bezier(0.16, 1, 0.3, 1),
      border-radius 260ms ease,
      box-shadow 260ms ease,
      transform 260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky {
    position: fixed !important;
    top: var(--geigro-header-h) !important;
    right: 12px !important;
    left: 12px !important;
    z-index: 940 !important;
    width: auto !important;
    padding: 10px 12px !important;
    border-radius: 0 0 9px 9px !important;
    background: rgba(9, 13, 17, 0.98) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.46) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-title {
    font-size: 17px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-badges,
  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-summary {
    display: none !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-price-block {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-price {
    font-size: 18px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-action-buttons .wide {
    min-height: 40px !important;
    height: 40px !important;
  }

  html.is-mobile-menu-open .page-package .product-purchase-panel.is-mobile-sticky,
  html.is-mobile-menu-closing .page-package .product-purchase-panel.is-mobile-sticky,
  html.is-header-search-open .page-package .product-purchase-panel.is-mobile-sticky {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 340px) {
  .geigro-product-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final category layout: independent filter scroll and stable accordions. */
@media (min-width: 981px) {
  .geigro-products-layout {
    align-items: stretch !important;
  }

  .geigro-filter-sidebar {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    align-self: start !important;
    height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    max-height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .widget,
  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .product-filter-bar {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  .product-filter-scroll {
    min-height: 0 !important;
    height: 100% !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
  }

  .product-filter-section-panel,
  .filter-accordion-panel {
    display: grid !important;
    grid-template-rows: 0fr !important;
    max-height: none !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translateY(-4px) !important;
    transition:
      grid-template-rows 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 180ms ease,
      transform 220ms ease !important;
  }

  .product-filter-section.is-open > .product-filter-section-panel,
  .filter-accordion.is-open > .filter-accordion-panel {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .product-filter-section-inner,
  .filter-accordion-options {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .product-filter-section.is-open .product-filter-section-inner,
  .filter-accordion.is-open .filter-accordion-options {
    overflow: visible !important;
  }

  .product-filter-choice-list button,
  .filter-accordion-options label {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Mobile commerce grid and clean icon-only header actions. */
@media (max-width: 720px) {
  .geigro-header .geigro-cart-button,
  .geigro-header .geigro-login-button,
  .geigro-header .geigro-mobile-menu-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex-basis: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline-offset: 2px !important;
  }

  .geigro-header .geigro-cart-button:hover,
  .geigro-header .geigro-cart-button:focus-visible,
  .geigro-header .geigro-login-button:hover,
  .geigro-header .geigro-login-button:focus-visible,
  .geigro-header .geigro-mobile-menu-toggle:hover,
  .geigro-header .geigro-mobile-menu-toggle:focus-visible,
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-header .geigro-cart-button svg,
  .geigro-header .geigro-login-button svg {
    width: 25px !important;
    height: 25px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span {
    width: 22px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span:nth-child(1) {
    top: 12px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span:nth-child(2) {
    top: 18px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span:nth-child(3) {
    top: 24px !important;
  }

  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle span:nth-child(1),
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle span:nth-child(2),
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle span:nth-child(3) {
    top: 50% !important;
  }

  .geigro-product-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }

  .geigro-product-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 7px !important;
  }

  .geigro-product-media {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 7px 7px 0 !important;
    border-radius: 5px !important;
  }

  .geigro-product-media img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .geigro-product-body {
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-rows: auto auto auto !important;
    gap: 7px 6px !important;
  }

  .geigro-product-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .geigro-product-heading .product-name,
  .geigro-product-heading .product-name a {
    min-height: 0 !important;
  }

  .geigro-product-heading .product-name a {
    font-size: clamp(12px, 3.7vw, 15px) !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
  }

  .geigro-product-heading .product-price {
    min-height: 0 !important;
    justify-content: flex-start !important;
    color: #fff !important;
    font-size: clamp(13px, 4vw, 16px) !important;
    text-align: left !important;
  }

  .geigro-product-badges {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 19px !important;
    max-height: 42px !important;
    gap: 4px !important;
    overflow: hidden !important;
  }

  .geigro-product-badges span {
    min-height: 19px !important;
    padding: 0 5px !important;
    font-size: 8px !important;
  }

  .geigro-product-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: auto !important;
    margin: 0 !important;
    display: block !important;
    justify-self: end !important;
    align-self: end !important;
  }

  .geigro-product-card .geigro-details-button {
    display: none !important;
  }

  .geigro-product-card .geigro-cart-icon-button {
    width: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
  }
}

/* Mobile basket: compact items, fixed checkout bar and coupon sheet. */
.basket-mobile-cost-toggle,
.basket-mobile-coupon-toggle,
.basket-mobile-coupon-close,
.basket-mobile-coupon-backdrop {
  display: none;
}

@media (max-width: 768px) {
  html.is-mobile-coupon-open,
  html.is-mobile-coupon-open body {
    overflow: hidden !important;
  }

  .basket-page {
    width: 100% !important;
    padding: calc(var(--geigro-header-h) + 22px) 12px calc(132px + env(safe-area-inset-bottom)) !important;
    gap: 12px !important;
    overflow-x: clip !important;
  }

  .basket-page-header {
    min-height: 46px !important;
    margin: 0 !important;
    align-items: center !important;
  }

  .basket-page-header h1 {
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .basket-page-header p {
    margin-top: 4px !important;
    font-size: 11px !important;
  }

  .basket-page-header a {
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }

  .basket-shell {
    display: block !important;
  }

  .basket-panel {
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .basket-panel .basket-content {
    max-height: none !important;
    overflow: visible !important;
  }

  .basket-items {
    gap: 9px !important;
  }

  .basket-shop-card {
    padding: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 9px !important;
    background: rgba(12, 16, 20, 0.86) !important;
  }

  .basket-shop-card + .basket-shop-card {
    border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
  }

  .basket-item {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 82px !important;
    gap: 7px 11px !important;
    align-items: start !important;
  }

  .basket-item-media {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 96px !important;
    height: 70px !important;
    border-radius: 7px !important;
    overflow: hidden !important;
  }

  .basket-item-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  .basket-item .title {
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.16 !important;
  }

  .basket-item .title a {
    display: -webkit-box !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .basket-item .options {
    display: none !important;
  }

  .basket-item-actions {
    margin-top: 7px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  .basket-item-actions a,
  .basket-item-quantity {
    min-height: 25px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
  }

  .basket-item-quantity {
    border-color: rgba(255, 255, 255, 0.11) !important;
    color: rgba(255, 255, 255, 0.84) !important;
    background: rgba(255, 255, 255, 0.045) !important;
  }

  .basket-item-meta {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: start !important;
    align-self: end !important;
  }

  .basket-item-meta .price {
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .basket-item-delivery {
    margin: 7px 0 0 107px !important;
    color: rgba(110, 216, 153, 0.82) !important;
    font-size: 10px !important;
  }

  .basket-benefits {
    position: static !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .basket-trust,
  .basket-payment-methods {
    display: none !important;
  }

  .basket-mobile-coupon-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 310 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
    background: rgba(0, 0, 0, 0.62) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 220ms ease, visibility 0s linear 220ms !important;
  }

  .basket-coupon {
    position: fixed !important;
    right: 0 !important;
    bottom: max(0px, var(--geigro-mobile-keyboard-offset, 0px)) !important;
    left: 0 !important;
    z-index: 320 !important;
    width: 100% !important;
    max-height: min(calc(76dvh - var(--geigro-mobile-keyboard-offset, 0px)), 540px) !important;
    margin: 0 !important;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    overflow-y: auto !important;
    background: rgba(8, 11, 15, 0.99) !important;
    box-shadow: 0 -26px 70px rgba(0, 0, 0, 0.54) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(104%) !important;
    transition: opacity 220ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 300ms !important;
  }

  html.is-mobile-coupon-open .basket-mobile-coupon-backdrop {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-coupon-open .basket-coupon {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
    scroll-margin-bottom: calc(var(--geigro-mobile-keyboard-offset, 0px) + 22px) !important;
  }

  .basket-mobile-coupon-close {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.04) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .basket-coupon-heading {
    margin-bottom: 12px !important;
  }

  .basket-coupon-heading strong {
    font-size: 17px !important;
  }

  .basket-coupon-form {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .basket-coupon-form input,
  .basket-coupon-form button {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 13px !important;
  }

  .basket-coupon small {
    margin-top: 9px !important;
    font-size: 10.5px !important;
  }

  .basket-summary {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 250 !important;
    width: 100% !important;
    max-height: calc(100dvh - var(--geigro-header-h) - 14px) !important;
    margin: 0 !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 90, 31, 0.24) !important;
    border-radius: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 7px 12px !important;
    overflow: auto !important;
    background: rgba(7, 10, 14, 0.92) !important;
    box-shadow: 0 -14px 34px rgba(0, 0, 0, 0.34) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .basket-summary > h3 {
    display: none !important;
  }

  .basket-mobile-cost-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: max-content !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: rgba(239, 245, 252, 0.58) !important;
    background: transparent !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .basket-mobile-cost-toggle span:last-child {
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(225deg) !important;
    transition: transform 180ms ease !important;
  }

  .basket-summary.is-mobile-expanded .basket-mobile-cost-toggle span:last-child {
    transform: rotate(45deg) !important;
  }

  .basket-summary-row:not(.basket-summary-total) {
    grid-column: 1 / -1 !important;
    min-height: 26px !important;
    display: none !important;
    font-size: 11px !important;
  }

  .basket-summary.is-mobile-expanded .basket-summary-row:not(.basket-summary-total) {
    display: flex !important;
  }

  .basket-summary-total {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .basket-summary-total > strong:first-child {
    display: none !important;
  }

  .basket-summary-total strong:last-child,
  .basket-summary-total [data-basket-total] {
    color: #fff !important;
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .basket-summary-actions {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .basket-summary-actions .btn-primary {
    width: auto !important;
    min-width: 126px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    box-shadow: none !important;
  }

  .basket-mobile-coupon-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-self: end !important;
    color: rgba(255, 146, 112, 0.9) !important;
    background: transparent !important;
    font-size: 10px !important;
    font-weight: 850 !important;
  }

  .basket-empty {
    padding-bottom: 40px !important;
  }
}

@media (max-width: 340px) {
  .geigro-product-grid {
    grid-template-columns: 1fr !important;
  }
}

.basket-coupon small[hidden],
.basket-coupon-scope-warning[hidden],
[data-coupon-scope-warning][hidden],
.basket-coupon-message[hidden],
[data-coupon-message][hidden] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

button.basket-coupon-remove,
.basket-active-coupons button.basket-coupon-remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  line-height: 1 !important;
}

/* Ultimate coupon visibility and remove-button override. */
.basket-summary-discount[hidden],
[data-basket-discount-row][hidden] {
  display: none !important;
}

.basket-coupon-remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
}

/* Header cart badge must not be clipped by hover containment. */
.geigro-header .geigro-cart-button {
  contain: none !important;
  overflow: visible !important;
}

.geigro-header .geigro-cart-count {
  top: 1px !important;
  right: 1px !important;
  z-index: 3 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  line-height: 1 !important;
}

@media (max-width: 820px) {
  .geigro-header .geigro-cart-count {
    top: 2px !important;
    right: 2px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    font-size: 10px !important;
  }
}

.basket-summary-actions .btn-primary {
  min-height: 50px !important;
}

.basket-item {
  grid-template-columns: 104px minmax(0, 1fr) minmax(84px, auto) !important;
  min-height: 90px !important;
  gap: 12px !important;
}

.basket-item-media {
  width: 104px !important;
  height: 68px !important;
}

.basket-item .title {
  font-size: clamp(16px, 1.05vw, 18px) !important;
}

.basket-item-actions {
  margin-top: 7px !important;
}

.basket-item-actions a,
.basket-item-quantity {
  min-height: 28px !important;
  padding-inline: 9px !important;
}

.basket-item-meta .price {
  font-size: 18px !important;
}

.basket-item-price {
  display: grid !important;
  justify-items: end !important;
  align-content: center !important;
  gap: 3px !important;
  min-width: 88px !important;
  line-height: 1.05 !important;
}

.basket-item-price-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 12px !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
}

.basket-item-price-original[hidden],
[data-basket-item-price-original][hidden] {
  display: none !important;
}

.basket-item-price-current {
  color: rgba(249, 252, 255, 0.96) !important;
  font-size: 18px !important;
  font-weight: 920 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.basket-item-price.is-discounted .basket-item-price-current {
  color: #ff5a1f !important;
  text-shadow: 0 8px 22px rgba(255, 90, 31, 0.16) !important;
}

.basket-item-discount-badge {
  min-height: 18px !important;
  padding: 0 7px !important;
  border: 1px solid rgba(255, 90, 31, 0.38) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(255, 90, 31, 0.16) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.basket-item-delivery {
  margin-left: 116px !important;
  margin-top: 6px !important;
  font-size: 11.5px !important;
}

.basket-item-warning {
  margin: 7px 0 0 116px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 190, 92, 0.24) !important;
  border-radius: 8px !important;
  color: rgba(255, 214, 156, 0.96) !important;
  background: rgba(255, 153, 51, 0.08) !important;
  font-size: 11.5px !important;
  font-weight: 780 !important;
  line-height: 1.25 !important;
}

.basket-item-warning[hidden],
[data-basket-item-warning][hidden],
.basket-coupon-scope-warning[hidden],
[data-coupon-scope-warning][hidden] {
  display: none !important;
}

.basket-shop-card.is-coupon-unmatched {
  border-color: rgba(255, 190, 92, 0.34) !important;
}

.basket-coupon-scope-warning {
  display: block !important;
  margin-top: 8px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255, 190, 92, 0.24) !important;
  border-radius: 8px !important;
  color: rgba(255, 214, 156, 0.96) !important;
  background: rgba(255, 153, 51, 0.08) !important;
  font-size: 12px !important;
  font-weight: 820 !important;
  line-height: 1.3 !important;
}

.basket-empty {
  width: 100% !important;
}

@media (max-width: 1220px) {
  .basket-page {
    width: min(100%, 1120px) !important;
    padding-inline: 18px !important;
  }

  .basket-shell {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 290px) !important;
    grid-template-areas:
      "summary summary"
      "items benefits" !important;
  }

  .basket-panel {
    grid-area: items !important;
  }

  .basket-benefits {
    grid-area: benefits !important;
  }

  .basket-summary {
    grid-area: summary !important;
    position: static !important;
  }

}

@media (max-width: 860px) {
  .basket-page {
    padding: 68px 12px 34px !important;
  }

  .basket-shell {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "summary"
      "benefits"
      "items" !important;
    gap: 12px !important;
  }

  .basket-panel,
  .basket-benefits,
  .basket-summary {
    position: static !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .basket-panel .basket-content {
    max-height: none !important;
    overflow: visible !important;
  }

  .basket-benefits {
    padding: 12px !important;
  }

  .basket-benefits .basket-coupon-form {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .basket-benefits .basket-payment-methods {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .basket-summary {
    order: 0 !important;
  }

  .basket-summary-total strong:last-child {
    font-size: clamp(29px, 8vw, 36px) !important;
  }

  .basket-item {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }
}

@media (max-width: 460px) {
  .basket-benefits .basket-coupon-form,
  .basket-benefits .basket-payment-methods {
    grid-template-columns: 1fr !important;
  }
}

/* Final coupon summary states. */
.basket-total-values {
  display: grid !important;
  justify-items: end !important;
  gap: 4px !important;
}

.basket-total-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  text-shadow: none !important;
}

.basket-summary-discount span:last-child {
  color: rgba(132, 226, 170, 0.94) !important;
  font-weight: 900 !important;
}

.basket-summary-discount[hidden],
[data-basket-discount-row][hidden] {
  display: none !important;
}

.basket-shell.is-revalidating-coupon-prices [data-basket-item-price],
.basket-shell.is-revalidating-coupon-prices [data-basket-subtotal],
.basket-shell.is-revalidating-coupon-prices [data-basket-discount-row],
.basket-shell.is-revalidating-coupon-prices [data-basket-total-original],
.basket-shell.is-revalidating-coupon-prices [data-basket-total] {
  visibility: hidden !important;
}

.basket-coupon-form input:disabled,
.basket-coupon-form button:disabled:not(.basket-coupon-remove) {
  opacity: 0.58 !important;
  cursor: not-allowed !important;
}

.basket-active-coupons li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.basket-coupon-remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 132, 104, 0.32) !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  color: rgba(255, 220, 210, 0.96) !important;
  background: rgba(255, 90, 31, 0.12) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease !important;
}

.basket-coupon-remove:hover,
.basket-coupon-remove:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.56) !important;
  background: rgba(255, 90, 31, 0.22) !important;
  transform: scale(1.04) !important;
}

/* Minimal centered footer brand copy. */
.footer-brand-panel {
  display: grid !important;
  justify-items: start !important;
  text-align: start !important;
}

.footer-brand {
  justify-content: flex-start !important;
}

.footer-brand-copy {
  width: min(100%, 360px) !important;
  max-width: 360px !important;
  margin: 13px 0 0 !important;
  display: grid !important;
  gap: 5px !important;
  text-align: left !important;
}

.footer-brand-copy p {
  margin: 0 !important;
}

.footer-brand-tagline {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: clamp(14px, 1.05vw, 16px) !important;
  line-height: 1.28 !important;
  font-weight: 860 !important;
  letter-spacing: 0 !important;
}

.footer-brand-made {
  color: rgba(239, 245, 252, 0.56) !important;
  font-size: clamp(11px, 0.82vw, 12px) !important;
  line-height: 1.35 !important;
  font-weight: 720 !important;
  letter-spacing: 0 !important;
}

.footer-brand-made span {
  color: var(--geigro-orange, #ff4a16) !important;
  font-weight: 900 !important;
}

@media (max-width: 560px) {
  .footer-brand-copy {
    width: min(100%, 300px) !important;
    margin-top: 10px !important;
    gap: 4px !important;
  }

  .footer-brand-tagline {
    font-size: 13px !important;
  }

  .footer-brand-made {
    font-size: 10.5px !important;
  }
}

/* Final coupon summary states. */
.basket-total-values {
  display: grid !important;
  justify-items: end !important;
  gap: 4px !important;
}

.basket-total-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  text-shadow: none !important;
}

.basket-summary-discount span:last-child {
  color: rgba(132, 226, 170, 0.94) !important;
  font-weight: 900 !important;
}

.basket-coupon-form input:disabled,
.basket-coupon-form button:disabled:not(.basket-coupon-remove) {
  opacity: 0.58 !important;
  cursor: not-allowed !important;
}

.basket-active-coupons li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.basket-coupon-remove {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 132, 104, 0.32) !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: rgba(255, 220, 210, 0.96) !important;
  background: rgba(255, 90, 31, 0.12) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease !important;
}

.basket-coupon-remove:hover,
.basket-coupon-remove:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.56) !important;
  background: rgba(255, 90, 31, 0.22) !important;
  transform: scale(1.04) !important;
}

/* Responsive polish layer: keeps the existing theme, but normalizes layout behavior across device classes. */
.geigro-filter-toggle,
.geigro-filter-close {
  display: none;
}

.geigro-mobile-menu-toggle,
.geigro-mobile-menu {
  display: none;
}

@media (min-width: 1600px) {
  .geigro-products-layout {
    width: min(100%, 1560px);
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 34px;
  }

  .page-package .package-detail-shell {
    width: min(100% - 72px, 1320px);
  }

  .geigro-product-media {
    height: 176px;
  }
}

@media (min-width: 1181px) and (max-width: 1399px) {
  .geigro-header-inner {
    gap: 24px;
    padding-inline: 30px;
  }

  .geigro-main-nav {
    gap: 24px;
    max-width: min(520px, 40vw);
  }

  .geigro-header-actions {
    gap: 10px;
  }

  .geigro-products-layout {
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: 24px;
    padding-inline: 28px;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .geigro-product-media {
    height: 152px;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .geigro-header-inner {
    padding-inline: 22px;
    gap: 18px;
  }

  .geigro-main-nav {
    gap: 18px;
    max-width: min(410px, 34vw);
  }

  .geigro-nav-link {
    font-size: 13px;
  }

  .geigro-socials {
    display: none;
  }

  .geigro-language-name {
    display: none;
  }

  .geigro-language-trigger {
    min-width: 44px;
    width: 44px;
    padding: 0;
  }

  .geigro-language-trigger::after {
    display: none;
  }

  .geigro-products-layout {
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 22px;
    padding-inline: 22px;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-package .product-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.72fr);
    gap: 18px;
  }

  .page-package .product-gallery-main {
    height: clamp(300px, 34vw, 380px);
  }
}

@media (max-width: 980px) {
  .geigro-category-shell {
    min-height: 100svh;
  }

  .geigro-header-inner {
    padding-inline: clamp(14px, 3vw, 24px);
  }

  .geigro-main-nav {
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .geigro-main-nav::-webkit-scrollbar {
    display: none;
  }

  .geigro-products-layout {
    width: min(100%, 980px);
    padding: clamp(12px, 3vw, 22px) clamp(16px, 4vw, 30px) 58px;
    display: block;
  }

  .geigro-category-titlebar {
    width: min(100%, 980px);
    position: sticky;
    top: var(--geigro-header-h);
    z-index: 70;
    padding: 10px clamp(16px, 4vw, 30px) 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    background:
      radial-gradient(circle at 100% 0%, rgba(255, 74, 22, 0.08), transparent 42%),
      rgb(3, 5, 8);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 14px 28px rgba(0, 0, 0, 0.18);
  }

  .geigro-category-titlebar p {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: lowercase;
  }

  .geigro-filter-toggle {
    min-height: 38px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 74, 22, 0.1);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
  }

  .geigro-filter-toggle:hover,
  .geigro-filter-toggle[aria-expanded="true"] {
    border-color: rgba(255, 74, 22, 0.38);
    background: rgba(255, 74, 22, 0.16);
  }

  .geigro-filter-sidebar {
    display: block;
    position: fixed;
    top: calc(var(--geigro-header-h) + 8px);
    right: 10px;
    bottom: 10px;
    left: auto;
    z-index: 180;
    width: min(520px, calc(100vw - 20px));
    height: calc(100svh - var(--geigro-header-h) - 18px);
    max-height: none;
    padding: 0;
    overflow: hidden;
    background:
      radial-gradient(circle at 100% 0%, rgba(255, 74, 22, 0.12), transparent 34%),
      linear-gradient(180deg, rgba(9, 12, 16, 0.99), rgba(5, 7, 10, 0.99));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    box-shadow: -28px 0 70px rgba(0, 0, 0, 0.5);
    visibility: hidden;
    opacity: 0;
    transform: translateX(18px);
    transition: opacity 220ms ease, transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 240ms;
  }

  .geigro-filter-sidebar.geigro-reveal,
  .geigro-filter-sidebar.geigro-reveal.is-visible {
    opacity: 1;
    transform: translateX(18px) !important;
  }

  html.is-filter-drawer-open .geigro-filter-sidebar {
    visibility: visible;
    opacity: 1;
    transform: translateX(0) !important;
    transition-delay: 0s;
  }

  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal,
  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal.is-visible {
    opacity: 1;
    transform: translateX(0) !important;
  }

  html.is-filter-drawer-open {
    overflow: hidden;
  }

  html.is-filter-drawer-open::after {
    content: "";
    position: fixed;
    inset: var(--geigro-header-h) 0 0;
    z-index: 170;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
  }

  .geigro-filter-sidebar .widget,
  .geigro-filter-sidebar .product-filter-bar {
    height: 100%;
    padding: 0;
  }

  .geigro-filter-sidebar .product-filter-bar {
    max-height: none;
    background: transparent;
  }

  .geigro-filter-close {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.04);
  }

  .geigro-filter-close::before,
  .geigro-filter-close::after {
    content: "";
    grid-area: 1 / 1;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
  }

  .geigro-filter-close::before {
    transform: rotate(45deg);
  }

  .geigro-filter-close::after {
    transform: rotate(-45deg);
  }

  .product-filter-heading {
    min-height: 62px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .product-filter-category-title {
    display: none;
  }

  .product-filter-panel-title {
    margin: 0;
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .product-filter-scroll {
    display: block;
    padding: 0 16px 14px;
    margin: 0;
    scrollbar-gutter: auto;
  }

  .product-filter-menu-row,
  .product-filter-section-trigger,
  .filter-accordion-trigger {
    min-height: 52px;
    padding: 0;
    font-size: 14px;
    gap: 12px;
  }

  .product-filter-section-panel,
  .filter-accordion-panel {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: none;
    transition: max-height 260ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease;
  }

  .product-filter-section.is-open > .product-filter-section-panel,
  .filter-accordion.is-open > .filter-accordion-panel {
    max-height: 560px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .product-filter-section-inner,
  .filter-accordion-options {
    overflow: visible;
  }

  .product-filter-search {
    padding: 14px 0 16px;
  }

  .product-filter-search input,
  .product-filter-native-select {
    min-height: 44px;
  }

  .product-filter-price-visual {
    height: 96px;
    margin-bottom: 14px;
  }

  .product-filter-price-visual .range-line,
  .product-filter-price-visual .range-fill {
    top: 50px;
  }

  .product-filter-price-visual .range-input {
    top: 39px;
    height: 28px;
  }

  .product-filter-price-visual .range-input::-webkit-slider-thumb {
    width: 22px;
    height: 22px;
    margin-top: -9px;
  }

  .product-filter-price-visual .range-input::-moz-range-thumb {
    width: 22px;
    height: 22px;
  }

  .product-filter-choice-list button,
  .filter-accordion-options label {
    min-height: 40px;
    padding-inline: 12px;
  }

  .product-filter-actions {
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    background: rgba(5, 7, 10, 0.94);
    box-shadow: 0 -16px 32px rgba(0, 0, 0, 0.22);
  }

  .product-filter-actions button {
    min-height: 42px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 900;
    text-transform: none;
  }

  .product-filter-apply {
    border: 1px solid rgba(255, 74, 22, 0.42);
    color: #fff;
    background: linear-gradient(135deg, rgba(255, 74, 22, 0.72), rgba(255, 74, 22, 0.32));
  }

  .product-filter-reset,
  .product-filter-close-action {
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(247, 247, 245, 0.78);
    background: rgba(255, 255, 255, 0.04);
  }

  .product-filter-close-action {
    grid-column: 1 / -1;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .geigro-product-media {
    height: clamp(142px, 24vw, 190px);
  }

  .page-package .package-detail-shell {
    width: min(100% - 32px, 920px);
  }

  .page-package .product-detail {
    padding-top: calc(var(--geigro-header-h) + 28px);
  }

  @media (min-width: 561px) {
    .page-package .product-detail {
      padding-top: clamp(48px, 7vw, 64px);
    }
  }

  .page-package .product-detail-grid {
    gap: 16px;
  }

  .page-package .product-purchase-panel {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .geigro-header-actions {
    gap: 8px;
  }

  .geigro-cart-button,
  .geigro-login-button,
  .geigro-language-trigger {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  .geigro-login-button {
    padding: 0;
  }

  .geigro-language-current {
    min-width: 0;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .geigro-product-card {
    min-height: 322px;
  }

  .geigro-product-media {
    height: clamp(112px, 30vw, 150px);
    margin: 10px 10px 0;
  }

  .geigro-product-body {
    padding: 12px;
    grid-template-rows: 44px 24px minmax(42px, auto);
    gap: 10px;
  }

  .geigro-product-heading {
    grid-template-columns: 1fr;
    min-height: 44px;
    gap: 3px;
  }

  .geigro-product-heading .product-name,
  .geigro-product-heading .product-name a {
    min-height: 0;
  }

  .geigro-product-heading h3 a {
    font-size: 14px;
    line-height: 1.18;
  }

  .geigro-product-heading .product-price {
    font-size: 13px;
  }

  .geigro-details-button,
  .geigro-add-button {
    min-height: 40px;
    font-size: 12px;
  }

  .geigro-product-actions {
    grid-template-columns: minmax(0, 1fr) 42px;
  }

  .geigro-cart-icon-button {
    width: 42px;
    min-width: 42px;
  }

  .vehicle-type-strip {
    margin-bottom: 16px;
  }

  .page-package .product-gallery-main {
    height: clamp(230px, 62vw, 330px);
  }

  .page-package .product-purchase-panel .product-main-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Header hover stability: visual feedback without positional jitter. */
.geigro-header .geigro-nav-link,
.geigro-header .geigro-social-link,
.geigro-header .geigro-cart-button,
.geigro-header .geigro-login-button,
.geigro-header .geigro-language-trigger,
.geigro-header .geigro-mobile-menu-toggle,
.geigro-header .geigro-language-option {
  transform: none !important;
  transform-origin: center !important;
  will-change: auto !important;
  transition-property: color, background, border-color, box-shadow, opacity !important;
}

.geigro-header .geigro-nav-dropdown-link {
  font-weight: 560 !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
  will-change: transform, color !important;
  transition:
    color 180ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.geigro-header .geigro-social-link:hover,
.geigro-header .geigro-social-link:focus-visible,
.geigro-header .geigro-cart-button:hover,
.geigro-header .geigro-cart-button:focus-visible,
.geigro-header .geigro-login-button:hover,
.geigro-header .geigro-login-button:focus-visible,
.geigro-header .geigro-language-trigger:hover,
.geigro-header .geigro-language-trigger:focus-visible,
.geigro-header .geigro-language-dropdown[open] .geigro-language-trigger,
.geigro-header .geigro-mobile-menu-toggle:hover,
.geigro-header .geigro-mobile-menu-toggle:focus-visible {
  transform: none !important;
}

.geigro-header .geigro-social-link:hover,
.geigro-header .geigro-social-link:focus-visible,
.geigro-header .geigro-cart-button:hover,
.geigro-header .geigro-cart-button:focus-visible,
.geigro-header .geigro-login-button:hover,
.geigro-header .geigro-login-button:focus-visible {
  color: #fff !important;
  background: rgba(255, 74, 22, 0.08);
}

.geigro-header .geigro-social-link,
.geigro-header .geigro-cart-button,
.geigro-header .geigro-login-button {
  backface-visibility: hidden;
  contain: paint;
}

.geigro-header .geigro-header-actions {
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
}

.geigro-header .geigro-language-trigger:hover,
.geigro-header .geigro-language-trigger:focus-visible,
.geigro-header .geigro-language-dropdown[open] .geigro-language-trigger {
  border-color: rgba(255, 74, 22, 0.36);
  background: rgba(255, 74, 22, 0.09);
}

.geigro-header .geigro-nav-dropdown,
.geigro-header .geigro-language-menu {
  transition-property: opacity, transform, box-shadow !important;
}

/* Language dropdown should mirror the category dropdown exactly. */
.geigro-header .geigro-language-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  min-width: 190px !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-top: none !important;
  border-radius: 0 0 10px 10px !important;
  background: rgba(9, 12, 16, 0.97) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.52) !important;
  backdrop-filter: blur(20px) !important;
  transform: translateX(-50%) translateY(-8px) scale(0.985) !important;
}

.geigro-header .geigro-language-dropdown[open]:not(.is-closing) .geigro-language-menu {
  transform: translateX(-50%) translateY(0) scale(1) !important;
}

.geigro-header .geigro-language-option {
  min-height: 0 !important;
  width: 100% !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  display: grid !important;
  grid-template-columns: 24px 28px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 8px !important;
  color: rgba(247, 247, 245, 0.74) !important;
  background: transparent !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.geigro-header .geigro-language-option-flag {
  color: #fff !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.geigro-header .geigro-language-option span {
  display: block !important;
  min-width: 0 !important;
  color: rgba(247, 247, 245, 0.58) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em !important;
  text-align: left !important;
}

.geigro-header .geigro-language-option strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: inherit !important;
  font: inherit !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.geigro-header .geigro-language-option:hover,
.geigro-header .geigro-language-option:focus-visible,
.geigro-header .geigro-language-option.is-active {
  color: #fff !important;
  background: rgba(255, 74, 22, 0.12) !important;
  box-shadow: inset 2px 0 0 rgba(255, 74, 22, 0.72) !important;
}

.geigro-header .geigro-language-option:hover span,
.geigro-header .geigro-language-option:focus-visible span,
.geigro-header .geigro-language-option.is-active span {
  color: #fff !important;
}

@media (max-width: 820px) {
  :root {
    --geigro-header-h: 72px;
  }

  html.is-mobile-menu-open,
  html.is-mobile-menu-open body {
    overflow: hidden;
  }

  .geigro-header {
    min-height: var(--geigro-header-h);
  }

  .geigro-header-inner {
    min-height: var(--geigro-header-h);
    padding: 0 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand actions";
    gap: 12px;
  }

  .geigro-brand {
    min-height: 44px;
  }

  .geigro-brand-logo {
    width: 122px;
    max-height: 42px;
  }

  .geigro-main-nav,
  .geigro-socials,
  .geigro-header-actions > .geigro-language-dropdown {
    display: none;
  }

  .geigro-header-actions {
    height: 44px;
    gap: 8px;
    align-items: center;
  }

  .geigro-cart-button,
  .geigro-login-button,
  .geigro-mobile-menu-toggle {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 42px;
    line-height: 0;
  }

  .geigro-cart-button {
    border: 0;
    background: transparent;
  }

  .geigro-cart-button svg,
  .geigro-login-button svg {
    width: 23px;
    height: 23px;
    display: block;
  }

  .geigro-login-button {
    gap: 0;
  }

  .geigro-login-button span {
    display: none;
  }

  .geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome {
    display: none !important;
  }

  .geigro-cart-count {
    top: 3px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 10px;
  }

  .geigro-mobile-menu-toggle {
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.035);
    color: #fff;
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
  }

  .geigro-mobile-menu-toggle span {
    position: absolute;
    left: 50%;
    width: 17px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease, top 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .geigro-mobile-menu-toggle span:nth-child(1) {
    top: 14px;
    transform: translateX(-50%);
  }

  .geigro-mobile-menu-toggle span:nth-child(2) {
    top: 20px;
    transform: translateX(-50%);
  }

  .geigro-mobile-menu-toggle span:nth-child(3) {
    top: 26px;
    transform: translateX(-50%);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-toggle {
    border-color: rgba(255, 74, 22, 0.38);
    background: rgba(255, 74, 22, 0.12);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-toggle span:nth-child(1) {
    top: 50%;
    transform: translateX(-50%) rotate(45deg);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-toggle span:nth-child(2) {
    top: 50%;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.4);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-toggle span:nth-child(3) {
    top: 50%;
    transform: translateX(-50%) rotate(-45deg);
  }

  .geigro-mobile-menu {
    position: fixed;
    inset: var(--geigro-header-h) 0 0;
    z-index: 190;
    width: 100vw;
    height: calc(100svh - var(--geigro-header-h));
    padding: clamp(28px, 7vh, 58px) 22px 22px;
    border: 0;
    border-radius: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    justify-items: center;
    gap: 24px;
    overflow: hidden;
    overscroll-behavior: contain;
    background:
      radial-gradient(circle at 50% 0%, rgba(255, 74, 22, 0.06), transparent 34%),
      linear-gradient(180deg, rgb(6, 9, 13), rgb(3, 5, 8));
    box-shadow: none;
    backdrop-filter: blur(18px);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, -10px, 0);
    transform-origin: top center;
    transition:
      opacity 240ms ease,
      transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
      visibility 0s linear 280ms;
  }

  html.is-mobile-menu-open .geigro-mobile-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }

  .geigro-mobile-menu-nav,
  .geigro-mobile-action-list {
    display: grid;
    gap: 10px;
  }

  .geigro-mobile-menu-nav {
    width: min(420px, calc(100vw - 48px));
    grid-template-columns: 1fr;
    align-self: start;
    margin-top: 4px;
  }

  .geigro-mobile-menu-nav > a,
  .geigro-mobile-nav-group > summary,
  .geigro-mobile-action-list a {
    min-height: 52px;
    padding: 0 2px;
    border: 0;
    border-radius: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    color: rgba(247, 247, 245, 0.78);
    background: transparent;
    text-decoration: none;
    text-align: left;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 260ms ease,
      transform 320ms cubic-bezier(0.2, 0.8, 0.2, 1),
      border-color 180ms ease,
      background 180ms ease,
      color 180ms ease;
  }

  .geigro-mobile-nav-group > summary {
    cursor: pointer;
    list-style: none;
  }

  .geigro-mobile-nav-group > summary::-webkit-details-marker,
  .geigro-mobile-language-select > summary::-webkit-details-marker {
    display: none;
  }

  html.is-mobile-menu-open .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-open .geigro-mobile-nav-group > summary {
    opacity: 1;
    transform: translateY(0);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-nav > :nth-child(1) > summary,
  html.is-mobile-menu-open .geigro-mobile-menu-nav > a:nth-child(1) {
    transition-delay: 70ms;
  }

  html.is-mobile-menu-open .geigro-mobile-menu-nav > :nth-child(2) > summary,
  html.is-mobile-menu-open .geigro-mobile-menu-nav > a:nth-child(2) {
    transition-delay: 110ms;
  }

  html.is-mobile-menu-open .geigro-mobile-menu-nav > :nth-child(3) > summary,
  html.is-mobile-menu-open .geigro-mobile-menu-nav > a:nth-child(3) {
    transition-delay: 150ms;
  }

  html.is-mobile-menu-open .geigro-mobile-menu-nav > :nth-child(n+4) > summary,
  html.is-mobile-menu-open .geigro-mobile-menu-nav > a:nth-child(n+4) {
    transition-delay: 190ms;
  }

  .geigro-mobile-nav-arrow {
    width: 9px;
    height: 9px;
    justify-self: end;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    opacity: 0;
    transform: rotate(45deg);
    transition: transform 220ms ease, opacity 180ms ease;
  }

  .geigro-mobile-nav-arrow.is-visible {
    opacity: 0.72;
  }

  .geigro-mobile-nav-group.is-open .geigro-mobile-nav-arrow {
    transform: translateY(2px) rotate(135deg);
  }

  .geigro-mobile-submenu {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transform: translateY(-6px);
    transition:
      grid-template-rows 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 220ms ease,
      transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .geigro-mobile-submenu > div {
    min-height: 0;
    overflow: hidden;
    display: grid;
    gap: 4px;
    padding: 0 0 0 12px;
  }

  .geigro-mobile-nav-group.is-open .geigro-mobile-submenu {
    grid-template-rows: 1fr;
    opacity: 1;
    transform: translateY(0);
  }

  .geigro-mobile-nav-group.is-open .geigro-mobile-submenu > div {
    padding-block: 8px 2px;
  }

  .geigro-mobile-submenu a {
    min-height: 34px;
    padding: 0;
    border: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    color: rgba(247, 247, 245, 0.68);
    background: transparent;
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
  }

  .geigro-mobile-menu-nav > a.is-active,
  .geigro-mobile-menu-nav > a:hover,
  .geigro-mobile-nav-group.is-active > summary,
  .geigro-mobile-nav-group > summary:hover,
  .geigro-mobile-submenu a:hover,
  .geigro-mobile-action-list a:hover {
    color: #fff;
    background: transparent;
  }

  .geigro-mobile-menu-bottom {
    width: min(420px, calc(100vw - 48px));
    padding-top: 16px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    align-self: end;
    position: relative;
    opacity: 0;
    transform: translateY(12px);
    transition:
      opacity 280ms ease,
      transform 340ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .geigro-mobile-menu-bottom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    transition: width 220ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease;
  }

  .geigro-mobile-menu-bottom:has(.geigro-mobile-language-select.is-open)::before {
    width: calc(100% - 94px);
  }

  html.is-mobile-menu-open .geigro-mobile-menu-bottom {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 170ms;
  }

  .geigro-mobile-menu-section {
    display: grid;
    gap: 9px;
  }

  .geigro-mobile-menu-section h2 {
    margin: 0;
    color: rgba(247, 247, 245, 0.52);
    font-size: 10px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .geigro-mobile-language-grid {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    z-index: 2;
    width: 62px;
    padding: 0 6px;
    border: 1px solid transparent;
    border-radius: 26px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    background: rgba(7, 11, 16, 0.96);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(16px);
    transform: translateY(10px) scale(0.96);
    transition:
      max-height 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
      padding 240ms cubic-bezier(0.2, 0.8, 0.2, 1),
      border-color 180ms ease,
      margin-top 220ms ease,
      opacity 200ms ease,
      transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .geigro-mobile-language-select.is-open .geigro-mobile-language-grid {
    max-height: 330px;
    padding: 6px;
    border-color: rgba(255, 255, 255, 0.08);
    margin-top: 0;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .geigro-mobile-language-select > summary {
    box-sizing: border-box;
    width: 72px;
    height: 42px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: rgba(247, 247, 245, 0.82);
    background: rgba(13, 18, 24, 0.72);
    cursor: pointer;
    list-style: none;
  }

  .geigro-mobile-language-select > summary::after {
    content: "";
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: 0.72;
    transform: translateY(-1px) rotate(45deg);
    transition: transform 220ms ease;
  }

  .geigro-mobile-language-select.is-open > summary::after {
    transform: translateY(1px) rotate(225deg);
  }

  .geigro-mobile-language-select > summary span {
    min-height: auto;
    border: 0;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    color: #fff;
    font-size: 10px;
    font-weight: 950;
  }

  .geigro-mobile-language-grid button {
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 999px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 8px;
    color: rgba(247, 247, 245, 0.76);
    background: rgba(13, 18, 24, 0.92);
    text-align: center;
  }

  .geigro-mobile-language-grid button span {
    min-height: auto;
    border: 0;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 10px;
    font-weight: 950;
  }

  .geigro-mobile-language-grid button strong {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    line-height: 1;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .geigro-mobile-language-grid button.is-active {
    border-color: rgba(255, 74, 22, 0.7);
    color: #fff;
    background: rgba(13, 18, 24, 0.92);
    box-shadow: 0 0 0 1px rgba(255, 74, 22, 0.12);
  }

  .geigro-mobile-language-grid button.is-active span {
    border-color: transparent;
    background: transparent;
  }

  .geigro-mobile-socials {
    align-self: end;
    padding-top: 0;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .geigro-mobile-socials a {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(247, 247, 245, 0.7);
    background: rgba(13, 18, 24, 0.88);
    text-decoration: none;
    font-size: 12px;
    font-weight: 950;
  }

  .geigro-mobile-socials svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
  }

  .geigro-mobile-social-5mods img {
    width: 28px;
    height: auto;
    display: block;
  }

  .geigro-mobile-socials .play,
  .geigro-mobile-socials .discord-eye {
    fill: rgba(3, 5, 8, 0.9);
  }
}

@media (max-width: 430px) {
  :root {
    --geigro-header-h: 68px;
  }

  .geigro-header-inner {
    padding-inline: 14px;
  }

  .geigro-brand-logo {
    width: 112px;
    max-height: 38px;
  }

  .geigro-header-actions {
    gap: 7px;
  }

  .geigro-cart-button,
  .geigro-login-button,
  .geigro-mobile-menu-toggle {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    flex-basis: 40px;
  }

  .geigro-mobile-menu {
    inset: var(--geigro-header-h) 0 0;
    width: 100vw;
    height: calc(100svh - var(--geigro-header-h));
    padding: 28px 18px 18px;
    gap: 18px;
  }

  .geigro-filter-sidebar {
    bottom: 84px;
    height: calc(100svh - var(--geigro-header-h) - 92px);
  }
}

@media (max-width: 430px) {
  .geigro-brand-logo {
    width: 104px;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .geigro-product-card {
    min-height: 254px;
  }

  .geigro-product-media {
    height: clamp(92px, 27vw, 116px);
    margin: 8px 8px 0;
  }

  .geigro-product-heading {
    grid-template-columns: 1fr;
    min-height: 48px;
    gap: 3px;
  }

  .geigro-product-heading h3 a {
    font-size: 12.5px;
    line-height: 1.15;
  }

  .geigro-product-heading .product-price {
    font-size: 12px;
    line-height: 1.1;
  }

  .geigro-product-body {
    padding: 9px;
    grid-template-rows: 48px 20px minmax(38px, auto);
    gap: 8px;
  }

  .geigro-product-badges {
    min-height: 20px;
    max-height: 20px;
    gap: 4px;
  }

  .geigro-product-badges span {
    min-height: 20px;
    padding: 0 6px;
    font-size: 8.5px;
    letter-spacing: 0.02em;
  }

  .geigro-product-actions {
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 6px;
  }

  .geigro-product-card .geigro-details-button,
  .geigro-product-card .geigro-cart-icon-button {
    min-height: 38px;
  }

  .geigro-details-button {
    padding-inline: 8px;
    justify-content: center;
    font-size: 10.5px;
    line-height: 1.05;
    text-align: center;
  }

  .geigro-cart-icon-button {
    width: 36px;
    min-width: 36px;
  }

  .geigro-cart-icon-button svg {
    width: 17px;
    height: 17px;
  }

  .page-package .product-purchase-panel .product-main-spec-grid,
  .page-package .product-other-spec-grid {
    grid-template-columns: 1fr;
  }

  .page-package .product-gallery-thumb {
    flex-basis: 74px;
    width: 74px;
    height: 50px;
  }
}

@media (min-width: 341px) and (max-width: 560px) {
  .geigro-products-layout {
    padding-inline: 12px;
  }

  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .geigro-product-card {
    min-height: 254px;
    border-radius: 7px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28);
  }

  .geigro-product-media {
    height: clamp(92px, 27vw, 124px);
    margin: 8px 8px 0;
    background: linear-gradient(180deg, rgba(22, 27, 33, 0.96), rgba(14, 18, 23, 0.96));
  }

  .geigro-product-media img {
    padding: 2px;
  }

  html.js .geigro-product-card.geigro-reveal,
  html.js .store-product-entry.geigro-reveal {
    filter: none;
    transform: translateY(10px) scale(0.992);
    transition:
      opacity 260ms ease,
      transform 260ms ease;
  }

  html.js .geigro-product-card.geigro-reveal.is-visible,
  html.js .store-product-entry.geigro-reveal.is-visible {
    filter: none;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 340px) {
  .geigro-product-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .geigro-product-card {
    min-height: 292px;
  }

  .geigro-product-media {
    height: 138px;
  }

  .geigro-product-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 42px;
    gap: 8px;
  }

  .geigro-product-heading h3 a {
    font-size: 14px;
  }

  .geigro-product-heading .product-price {
    font-size: 13px;
  }
}

@media (max-width: 560px) {
  .page-package .package-detail-shell {
    padding-top: 0;
  }

  .page-package .product-detail {
    padding-top: 30px;
  }

  .page-package .product-gallery-main {
    height: clamp(220px, 62vw, 280px);
  }
}

@media (max-width: 980px) {
  .site-footer {
    margin-top: 34px;
  }

  .site-footer-inner {
    width: min(100% - 32px, 760px);
    padding: 26px 0 18px;
  }

  .site-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 16px;
    padding-bottom: 20px;
  }

  .footer-brand-panel {
    grid-column: 1 / -1;
    max-width: 540px;
  }

  .footer-brand {
    min-height: 42px;
  }

  .footer-brand-logo {
    max-width: 132px;
    max-height: 44px;
  }

  .footer-brand-copy {
    max-width: 460px;
    margin-top: 9px;
    font-size: 12px;
    line-height: 1.5;
  }

  .footer-link-column {
    min-height: 116px;
    padding: 14px 12px 13px;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
  }

  .footer-link-column h2 {
    margin: 0 0 2px;
    font-size: 11px;
    line-height: 1.1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .footer-link-column a {
    width: 100%;
    min-height: 28px;
    display: flex;
    align-items: center;
    color: rgba(239, 245, 252, 0.68);
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .footer-link-column a:hover {
    color: var(--text);
  }

  .site-footer-bottom {
    padding-top: 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .site-footer-copy {
    max-width: 640px;
    font-size: 11px;
    line-height: 1.5;
  }

  .we-accept {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
    gap: 8px;
    justify-content: stretch;
  }

  .we-accept li {
    min-width: 0;
  }

  .payment-logo-badge {
    width: 100%;
    min-width: 0;
    height: 28px;
    flex-basis: auto;
    border-radius: 5px;
  }

  .payment-logo-badge img,
  .payment-logo-asset img {
    width: 54px;
    max-width: calc(100% - 8px);
    height: 26px;
  }
}

@media (max-width: 560px) {
  .site-footer {
    margin-top: 26px;
  }

  .site-footer-inner {
    width: min(100% - 28px, 520px);
    padding: 22px 0 16px;
  }

  .site-footer-main {
    gap: 12px;
    padding-bottom: 16px;
  }

  .footer-brand-panel {
    margin-bottom: 2px;
  }

  .footer-brand-logo {
    max-width: 118px;
    max-height: 38px;
  }

  .footer-brand-copy {
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.45;
  }

  .footer-link-column {
    min-height: 108px;
    padding: 12px 10px 11px;
    gap: 6px;
    border-radius: 7px;
  }

  .footer-link-column h2 {
    font-size: 10px;
  }

  .footer-link-column a {
    min-height: 25px;
    font-size: 11px;
  }

  .site-footer-bottom {
    gap: 12px;
  }

  .site-footer-copy {
    font-size: 10px;
    line-height: 1.45;
  }

  .we-accept {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
  }

  .we-accept li {
    width: 100%;
    min-width: 0;
    display: flex;
  }

  .payment-logo-badge {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 34px;
    min-height: 34px;
    padding: 4px 6px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.96);
  }

  .payment-logo-badge img,
  .payment-logo-asset img {
    width: 100%;
    max-width: 58px;
    height: 24px;
    object-fit: contain;
  }

  .payment-logo-paybybank img,
  .payment-logo-sofort img {
    max-width: 64px;
  }
}

@media (max-width: 360px) {
  .site-footer-inner {
    width: min(100% - 22px, 520px);
  }

  .site-footer-main {
    gap: 10px;
  }

  .footer-link-column {
    padding: 11px 8px 10px;
  }

  .we-accept {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Clean custom footer ending: replace the injected Tebex badge/preview strip with our own subtle credit. */
html body > tebex-footer,
html body tebex-footer,
html body > .tebex-template-preview-banner,
html body > [data-testid="tebex-preview-banner"],
html body > [class*="tebex-template-preview"],
html body > [id*="tebex-template-preview"],
html body > [class*="tebex-footer"],
html body > [id*="tebex-footer"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.site-footer-powered {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.055) !important;
  display: grid !important;
  grid-template-columns: auto !important;
  align-items: center !important;
  justify-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  color: rgba(239, 245, 252, 0.58) !important;
}

.site-footer-powered-line {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
}

.site-footer-powered-badge {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transform: translateZ(0) !important;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease !important;
}

.site-footer-powered-badge:hover,
.site-footer-powered-badge:focus-visible {
  color: #fff !important;
  background: transparent !important;
  transform: translateY(-1px) translateZ(0) !important;
}

.site-footer-powered-kicker {
  color: rgba(239, 245, 252, 0.55) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

.site-footer-powered-name {
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.015em !important;
}

.site-footer-powered-text {
  max-width: 360px !important;
  color: rgba(239, 245, 252, 0.48) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 720 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .site-footer-powered {
    margin-top: 16px !important;
    padding-top: 16px !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .site-footer-powered-line {
    display: none !important;
    max-width: 0 !important;
  }

  .site-footer-powered-text {
    max-width: 270px !important;
    white-space: normal !important;
  }
}

.auth-basket-panel {
  width: min(100% - 32px, 560px);
  margin: clamp(64px, 10vh, 120px) auto clamp(56px, 8vh, 96px);
  padding: clamp(28px, 5vw, 42px);
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
  background:
    linear-gradient(145deg, rgba(255, 74, 22, 0.1), rgba(255, 255, 255, 0.025)),
    rgba(16, 20, 25, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
}

.auth-basket-icon,
.basket-empty-icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--geigro-orange), #ff641f);
  box-shadow: 0 16px 34px rgba(255, 74, 22, 0.2);
}

.auth-basket-icon svg,
.basket-empty-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-basket-panel h2 {
  max-width: 460px;
  margin: 4px 0 0;
  color: var(--text);
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: 0;
}

.auth-basket-panel p {
  max-width: 440px;
  margin: 0;
  color: rgba(239, 245, 252, 0.68);
  font-size: 15px;
  line-height: 1.65;
}

.auth-basket-action {
  width: min(100%, 300px);
  min-height: 48px;
  margin-top: 6px;
}

.auth-basket-form {
  width: min(100%, 360px);
  margin-top: 6px;
  display: grid;
  gap: 10px;
}

.auth-basket-form input,
.auth-basket-form button {
  width: 100%;
}

.basket-empty {
  min-height: clamp(280px, 34vw, 390px);
  padding: clamp(28px, 5vw, 46px);
  align-content: center;
  justify-items: center;
  gap: 12px;
  background:
    linear-gradient(145deg, rgba(255, 74, 22, 0.075), rgba(255, 255, 255, 0.025)),
    rgba(255, 255, 255, 0.02);
  border-radius: 12px;
}

.basket-empty h4 {
  max-width: 420px;
  margin-top: 4px;
  color: var(--text);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  font-weight: 900;
}

.basket-empty p {
  max-width: 430px;
  margin: 0;
  color: rgba(239, 245, 252, 0.66);
  font-size: 14px;
  line-height: 1.6;
}

.basket-empty .btn-primary {
  min-width: min(100%, 230px);
  min-height: 46px;
  margin-top: 6px;
}

.has-basket-dialog {
  overflow: hidden;
}

.empty-basket-dialog {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: grid;
  place-items: center;
  padding: 22px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}

.empty-basket-dialog.is-open {
  opacity: 1;
  pointer-events: auto;
}

.empty-basket-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 5, 8, 0.72);
  backdrop-filter: blur(14px);
  opacity: 0;
  transition: opacity 260ms ease;
}

.empty-basket-dialog.is-open .empty-basket-dialog-backdrop {
  opacity: 1;
}

.empty-basket-dialog-panel {
  position: relative;
  width: min(100%, 500px);
  min-height: clamp(330px, 42svh, 430px);
  padding: clamp(26px, 4vw, 36px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 13px;
  text-align: center;
  background:
    linear-gradient(145deg, rgba(255, 74, 22, 0.11), rgba(255, 255, 255, 0.03)),
    rgba(16, 20, 25, 0.96);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
  opacity: 0;
  transform: translate3d(0, 18px, 0) scale(0.96);
  transition: opacity 280ms ease, transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
}

.empty-basket-dialog.is-open .empty-basket-dialog-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.empty-basket-dialog.is-closing .empty-basket-dialog-panel {
  opacity: 0;
  transform: translate3d(0, 14px, 0) scale(0.98);
}

.empty-basket-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.045);
  color: #fff;
}

.empty-basket-dialog-close span {
  position: absolute;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.empty-basket-dialog-close span:first-child {
  transform: rotate(45deg);
}

.empty-basket-dialog-close span:last-child {
  transform: rotate(-45deg);
}

.empty-basket-dialog-icon {
  width: 54px;
  height: 54px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--geigro-orange), #ff641f);
  box-shadow: 0 18px 40px rgba(255, 74, 22, 0.22);
}

.empty-basket-dialog-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.empty-basket-dialog-panel h2 {
  max-width: 390px;
  margin: 2px 0 0;
  color: var(--text);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 0;
}

.empty-basket-dialog-panel p {
  max-width: 360px;
  margin: 0;
  color: rgba(239, 245, 252, 0.68);
  font-size: 15px;
  line-height: 1.6;
}

.empty-basket-dialog-action {
  width: min(100%, 220px);
  min-height: 44px;
  margin-top: 4px;
}

.logout-confirm-dialog .empty-basket-dialog-backdrop {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 74, 22, 0.13), transparent 34%),
    rgba(3, 5, 8, 0.76);
  backdrop-filter: blur(18px) saturate(1.12);
}

.logout-confirm-dialog .empty-basket-dialog-panel {
  width: min(100%, 468px);
  min-height: 0;
  padding: clamp(30px, 4vw, 42px);
  border-color: rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  align-content: start;
  gap: 15px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% -12%, rgba(255, 74, 22, 0.2), transparent 34%),
    linear-gradient(180deg, rgba(28, 32, 39, 0.96), rgba(12, 15, 20, 0.98));
  box-shadow:
    0 34px 92px rgba(0, 0, 0, 0.58),
    0 0 0 1px rgba(255, 255, 255, 0.035) inset,
    0 20px 70px rgba(255, 74, 22, 0.1);
}

.logout-confirm-dialog .empty-basket-dialog-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.045), transparent) 0 0 / 100% 1px no-repeat,
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.06), transparent 24%);
}

.logout-confirm-dialog .empty-basket-dialog-close {
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  transition: border-color 170ms ease, background 170ms ease, transform 170ms ease;
}

.logout-confirm-dialog .empty-basket-dialog-close:hover,
.logout-confirm-dialog .empty-basket-dialog-close:focus-visible {
  border-color: rgba(255, 74, 22, 0.42);
  background: rgba(255, 74, 22, 0.12);
  transform: scale(1.04);
}

.logout-confirm-dialog .empty-basket-dialog-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 5px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 91, 31, 0.96), rgba(255, 74, 22, 0.72));
  box-shadow: 0 18px 44px rgba(255, 74, 22, 0.24);
}

.logout-confirm-dialog .empty-basket-dialog-icon svg {
  width: 28px;
  height: 28px;
}

.logout-confirm-dialog .empty-basket-dialog-panel h2 {
  margin-top: 0;
  font-size: clamp(27px, 3vw, 34px);
  line-height: 1;
  letter-spacing: -0.01em;
}

.logout-confirm-copy {
  max-width: 330px;
  color: rgba(239, 245, 252, 0.66);
  font-size: 14.5px;
  line-height: 1.55;
}

.logout-confirm-actions {
  width: min(100%, 272px);
  margin-top: 14px;
  display: grid;
  gap: 15px;
}

.logout-confirm-actions .empty-basket-dialog-action {
  width: 100%;
  min-height: 48px;
  margin-top: 0;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 880;
}

.logout-confirm-cancel {
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  color: rgba(247, 247, 245, 0.86) !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

.logout-confirm-cancel:hover,
.logout-confirm-cancel:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.085) !important;
}

.logout-confirm-submit {
  border: 1px solid rgba(255, 74, 22, 0.46) !important;
  background: linear-gradient(135deg, #ff4a16, #ff6a2a) !important;
  box-shadow: 0 16px 34px rgba(255, 74, 22, 0.24) !important;
}

.logout-confirm-submit:hover,
.logout-confirm-submit:focus-visible {
  box-shadow: 0 20px 42px rgba(255, 74, 22, 0.32) !important;
}

@media (max-width: 640px) {
  .auth-basket-panel {
    width: min(100% - 28px, 560px);
    margin-top: 42px;
    padding: 26px 20px;
    border-radius: 12px !important;
  }

  .auth-basket-icon,
  .basket-empty-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }

  .basket-empty {
    min-height: 270px;
    padding: 28px 18px;
  }

  .empty-basket-dialog {
    padding: 16px;
  }

  .empty-basket-dialog-panel {
    min-height: auto;
    border-radius: 12px;
    padding: 28px 20px 22px;
  }

  .logout-confirm-dialog .empty-basket-dialog-panel {
    width: min(100%, 420px);
    padding: 30px 20px 24px;
    border-radius: 14px;
  }

  .logout-confirm-actions {
    width: min(100%, 290px);
    gap: 13px;
  }
}

/* Compact premium basket layout. */
.basket-page {
  width: min(100%, 1240px) !important;
  padding: clamp(90px, 8vw, 118px) clamp(16px, 3.2vw, 34px) clamp(42px, 5vw, 64px) !important;
  gap: 14px !important;
  background:
    radial-gradient(circle at 88% 4%, rgba(255, 74, 22, 0.09), transparent 26%),
    #05070a !important;
}

.basket-page-header {
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 0;
}

.basket-page-header h1 {
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1 !important;
}

.basket-page-header p {
  margin-top: 6px !important;
  color: rgba(239, 245, 252, 0.56) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.basket-page-header a {
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: rgba(239, 245, 252, 0.78) !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

.basket-protection {
  min-height: 42px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  gap: 10px !important;
  background: rgba(16, 20, 25, 0.68) !important;
  box-shadow: none !important;
}

.basket-protection > span {
  width: 26px !important;
  height: 26px !important;
  box-shadow: none !important;
}

.basket-protection svg {
  width: 16px !important;
  height: 16px !important;
}

.basket-protection p {
  color: rgba(239, 245, 252, 0.72) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.basket-shell {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  gap: 18px !important;
}

.basket-panel,
.basket-summary,
.basket-shop-card {
  border-radius: 10px !important;
  background: rgba(16, 20, 25, 0.82) !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.28) !important;
}

.basket-items {
  gap: 0 !important;
}

.basket-shop-card {
  padding: 14px !important;
}

.basket-shop-card + .basket-shop-card {
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

.basket-shop-header {
  margin-bottom: 10px !important;
  gap: 8px !important;
}

.basket-shop-avatar {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

.basket-shop-header strong {
  color: rgba(239, 245, 252, 0.9) !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

.basket-shop-header span:last-child {
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
}

.basket-item {
  grid-template-columns: 132px minmax(0, 1fr) minmax(92px, auto) !important;
  gap: 14px !important;
  align-items: center !important;
}

.basket-item-media {
  width: 132px !important;
  height: 86px !important;
  border-radius: 8px !important;
}

.basket-item .title {
  max-width: 100% !important;
  font-size: clamp(16px, 1.35vw, 18px) !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

.basket-item .options {
  margin-top: 6px !important;
  padding-left: 14px !important;
  color: rgba(239, 245, 252, 0.58) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.basket-item-actions {
  margin-top: 10px !important;
  gap: 8px !important;
}

.basket-item-quantity {
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
}

.basket-item-actions a {
  min-height: 28px !important;
  padding: 0 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.basket-item-actions a:not(.basket-remove) {
  color: rgba(239, 245, 252, 0.78) !important;
}

.basket-remove {
  color: rgba(255, 138, 102, 0.9) !important;
}

.basket-item-meta {
  align-self: center !important;
}

.basket-item-meta .price {
  font-size: 19px !important;
  line-height: 1 !important;
}

.basket-item-delivery {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(239, 245, 252, 0.58) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
}

.basket-summary {
  top: calc(var(--geigro-header-h) + 22px) !important;
  padding: 18px !important;
  gap: 12px !important;
}

.basket-summary h3 {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
}

.basket-summary-row {
  min-height: 32px !important;
  font-size: 14px !important;
}

.basket-summary-row:first-of-type {
  padding-top: 10px !important;
}

.basket-summary-total {
  min-height: 42px !important;
  padding-top: 10px !important;
}

.basket-summary-row strong {
  font-size: 15px !important;
}

.basket-summary-total strong:last-child {
  font-size: 22px !important;
}

.basket-summary p {
  padding: 9px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: rgba(239, 245, 252, 0.66) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.basket-summary-actions {
  gap: 8px !important;
}

.basket-summary-actions .btn-primary,
.basket-summary-actions .btn-secondary {
  min-height: 42px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}

.basket-coupon {
  padding-top: 10px !important;
  color: rgba(239, 245, 252, 0.58) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}

.basket-payment,
.payment-mini-badge {
  display: none !important;
}

.basket-empty {
  min-height: clamp(220px, 28vw, 310px) !important;
  padding: clamp(22px, 4vw, 34px) !important;
  border-radius: 10px !important;
}

.basket-empty h4 {
  font-size: clamp(22px, 2.6vw, 30px) !important;
}

/* Conversion-focused basket refresh. */
.basket-page {
  width: min(100%, 1180px) !important;
  padding-top: clamp(84px, 7vw, 108px) !important;
  gap: 18px !important;
}

.basket-page-header {
  padding-bottom: 2px !important;
}

.basket-page-header h1 {
  letter-spacing: 0 !important;
}

.basket-page-header a {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease;
}

.basket-page-header a:hover,
.basket-page-header a:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 74, 22, 0.34) !important;
  background: rgba(255, 74, 22, 0.08) !important;
}

.basket-shell {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 370px) !important;
  gap: 20px !important;
  align-items: start !important;
}

.basket-panel,
.basket-summary {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(180deg, rgba(18, 23, 29, 0.9), rgba(9, 12, 16, 0.92)) !important;
}

.basket-panel {
  padding: 0 !important;
  overflow: hidden !important;
}

.basket-shop-card {
  padding: 12px !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.basket-shop-card + .basket-shop-card {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.basket-item {
  grid-template-columns: 118px minmax(0, 1fr) minmax(82px, auto) !important;
  gap: 13px !important;
  min-height: 104px !important;
}

.basket-item-media {
  width: 118px !important;
  height: 78px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.basket-item-media img {
  object-fit: cover !important;
}

.basket-item .title {
  margin: 0 !important;
  font-size: clamp(17px, 1.25vw, 19px) !important;
  line-height: 1.14 !important;
  font-weight: 920 !important;
  color: #fff !important;
}

.basket-item .title a {
  color: inherit !important;
  text-decoration: none !important;
}

.basket-item .options {
  margin-top: 5px !important;
  padding-left: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}

.basket-item .options li {
  min-height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: rgba(239, 245, 252, 0.62) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

.basket-item-actions {
  margin-top: 8px !important;
  gap: 6px !important;
}

.basket-item-quantity {
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255, 74, 22, 0.28) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255, 74, 22, 0.12) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.basket-item-actions a {
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: rgba(239, 245, 252, 0.74) !important;
  font-size: 12px !important;
  font-weight: 820 !important;
  text-decoration: none !important;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease;
}

.basket-item-actions a:hover,
.basket-item-actions a:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 74, 22, 0.34) !important;
  background: rgba(255, 74, 22, 0.08) !important;
}

.basket-remove {
  color: rgba(255, 138, 102, 0.88) !important;
}

.basket-item-meta {
  align-self: start !important;
  padding-top: 4px !important;
}

.basket-item-meta .price {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 930 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.basket-item-delivery {
  width: max-content !important;
  max-width: 100% !important;
  margin: 8px 0 0 131px !important;
  padding: 0 !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(135, 226, 171, 0.86) !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 820 !important;
}

.basket-item-delivery span {
  color: #5bea91 !important;
}

.basket-summary {
  top: calc(var(--geigro-header-h) + 18px) !important;
  padding: 16px !important;
  gap: 10px !important;
}

.basket-summary h3 {
  margin-bottom: 2px !important;
  font-size: 19px !important;
  font-weight: 920 !important;
}

.basket-summary-row {
  min-height: 30px !important;
  color: rgba(239, 245, 252, 0.68) !important;
  font-size: 13px !important;
  font-weight: 780 !important;
}

.basket-summary-row:first-of-type {
  padding-top: 8px !important;
}

.basket-summary-discount span:last-child {
  color: rgba(135, 226, 171, 0.9) !important;
}

.basket-summary-total {
  min-height: 58px !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.basket-summary-total strong:first-child {
  color: #fff !important;
  font-size: 15px !important;
}

.basket-summary-total strong:last-child {
  color: #fff !important;
  font-size: clamp(25px, 2.2vw, 31px) !important;
  font-weight: 960 !important;
  letter-spacing: 0 !important;
}

.basket-coupon {
  margin: 2px 0 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.basket-coupon-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 7px !important;
}

.basket-coupon-heading strong {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.basket-coupon-heading span {
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(255, 74, 22, 0.82) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.basket-coupon-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

.basket-coupon-form input {
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: rgba(3, 5, 8, 0.44) !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  outline: none !important;
}

.basket-coupon-form input:focus {
  border-color: rgba(255, 74, 22, 0.48) !important;
  box-shadow: 0 0 0 3px rgba(255, 74, 22, 0.12) !important;
}

.basket-coupon-form button,
.basket-coupon-form a {
  min-height: 38px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(255, 74, 22, 0.88) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: transform 0.18s ease, background 0.18s ease, opacity 0.18s ease !important;
}

.basket-coupon-form button:hover,
.basket-coupon-form a:hover {
  background: rgba(255, 92, 36, 0.96) !important;
  transform: translateY(-1px) !important;
}

.basket-coupon-form button:disabled,
.basket-coupon-form button.is-loading {
  opacity: 0.72 !important;
  cursor: wait !important;
  transform: none !important;
}

.basket-coupon small {
  display: block !important;
  margin-top: 6px !important;
  color: rgba(239, 245, 252, 0.5) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 720 !important;
}

.basket-coupon-message {
  min-height: 15px !important;
}

.basket-coupon-message[hidden] {
  display: none !important;
}

.basket-coupon-message.is-success {
  color: rgba(132, 226, 170, 0.94) !important;
}

.basket-coupon-message.is-error {
  color: rgba(255, 132, 104, 0.96) !important;
}

.basket-active-coupons {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 6px !important;
}

.basket-active-coupons li {
  min-height: 30px !important;
  padding: 0 9px !important;
  border-radius: 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: rgba(135, 226, 171, 0.9) !important;
  background: rgba(91, 234, 145, 0.08) !important;
  font-size: 12px !important;
  font-weight: 860 !important;
}

.basket-summary-actions {
  margin-top: 1px !important;
}

.basket-summary-actions .btn-primary {
  min-height: 46px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 930 !important;
  box-shadow: 0 16px 34px rgba(255, 74, 22, 0.22) !important;
}

.basket-trust {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px 9px !important;
  padding: 9px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.basket-summary .basket-trust p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(239, 245, 252, 0.68) !important;
  background: transparent !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.basket-trust p span {
  width: 16px !important;
  height: 16px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  color: #09110c !important;
  background: rgba(91, 234, 145, 0.9) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

.basket-payment-methods {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  padding-top: 2px !important;
}

.basket-payment-methods span {
  min-height: 24px !important;
  padding: 0 7px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: rgba(239, 245, 252, 0.7) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}

@media (max-width: 1100px) {
  .basket-page {
    width: min(100%, 980px) !important;
    padding-top: clamp(82px, 10vw, 106px) !important;
  }

  .basket-shell {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .basket-summary {
    position: static !important;
  }
}

@media (max-width: 760px) {
  .basket-page {
    padding: 64px 12px 34px !important;
    gap: 12px !important;
  }

  .basket-page-header {
    flex-direction: row !important;
    align-items: center !important;
  }

  .basket-page-header h1 {
    font-size: 29px !important;
  }

  .basket-page-header a {
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
  }

  .basket-shell {
    gap: 12px !important;
  }

  .basket-shop-card {
    padding: 10px !important;
  }

  .basket-item {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 94px !important;
    align-items: start !important;
  }

  .basket-item-media {
    width: 82px !important;
    height: 62px !important;
  }

  .basket-item .title {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  .basket-item .options {
    display: none !important;
  }

  .basket-item-actions {
    margin-top: 7px !important;
  }

  .basket-item-actions a,
  .basket-item-quantity {
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .basket-item-meta {
    grid-column: 2 !important;
    justify-self: start !important;
    padding-top: 0 !important;
    margin-top: -2px !important;
  }

  .basket-item-meta .price {
    font-size: 17px !important;
  }

  .basket-item-delivery {
    margin: 6px 0 0 92px !important;
    font-size: 11px !important;
  }

  .basket-summary {
    order: -1 !important;
    padding: 14px !important;
    gap: 9px !important;
  }

  .basket-coupon-form {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
  }

  .basket-coupon-form button,
  .basket-coupon-form a {
    padding: 0 9px !important;
    font-size: 11px !important;
  }

  .basket-coupon-form input {
    padding: 0 9px !important;
    font-size: 12px !important;
  }

  .basket-summary-actions .btn-primary {
    min-height: 44px !important;
  }

  .basket-trust {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .basket-payment-methods span {
    min-height: 23px !important;
    font-size: 10px !important;
  }
}

/* Stable home typography across languages. */
.page-index .geigro-hero-kicker,
.page-index .geigro-hero-title,
.page-index .geigro-hero-copy,
.page-index .geigro-hero-pills span,
.page-index .geigro-hero-cta,
.page-index .geigro-slide-heading span,
.page-index .geigro-category-title,
.page-index .geigro-slider-value-strip strong,
.page-index .geigro-slider-value-strip p,
.page-index .geigro-value-strip strong,
.page-index .geigro-value-strip p {
  font-family: var(--font-sans) !important;
  letter-spacing: 0 !important;
  font-synthesis: none;
  text-rendering: geometricPrecision;
}

.page-index .geigro-hero-kicker {
  min-height: 32px !important;
  margin-bottom: 14px !important;
  padding: 0 13px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.page-index .geigro-hero-title {
  max-width: min(860px, 92vw) !important;
  font-size: clamp(40px, 5vw, 66px) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-transform: none !important;
  text-wrap: balance;
}

.page-index .geigro-hero-copy {
  max-width: min(700px, 90vw) !important;
  font-size: clamp(14px, 1.15vw, 16px) !important;
  line-height: 1.48 !important;
  font-weight: 650 !important;
  text-transform: none !important;
}

.page-index .geigro-hero-pills {
  gap: 8px !important;
}

.page-index .geigro-hero-pills span {
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  text-transform: uppercase !important;
}

.page-index .geigro-hero-cta {
  min-height: 44px !important;
  padding: 0 20px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-transform: uppercase !important;
}

.page-index .geigro-slide-heading span,
.page-index .geigro-category-title {
  line-height: 1 !important;
  font-weight: 840 !important;
  text-transform: uppercase !important;
}

.page-index .geigro-slide-heading span {
  font-size: clamp(24px, 3vw, 42px) !important;
}

.page-index .geigro-category-title {
  font-size: clamp(17px, 1.95vw, 28px) !important;
}

.page-index .geigro-slider-value-strip strong,
.page-index .geigro-value-strip strong {
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 820 !important;
  text-transform: uppercase !important;
}

.page-index .geigro-slider-value-strip p,
.page-index .geigro-value-strip p {
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 560 !important;
  text-transform: none !important;
}

@media (max-width: 720px) {
  .page-index .geigro-hero-title {
    font-size: clamp(34px, 9.4vw, 46px) !important;
    line-height: 1.02 !important;
  }

  .page-index .geigro-hero-copy {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .page-index .geigro-hero-kicker,
  .page-index .geigro-hero-pills span {
    font-size: 10px !important;
  }

  .page-index .geigro-slide-heading span,
  .page-index .geigro-category-title {
    font-size: clamp(22px, 8vw, 32px) !important;
  }
}

/* Balanced category slider spacing after the hero auto-scroll. */
.page-index .geigro-category-slider {
  min-height: calc(100svh - var(--geigro-header-h)) !important;
  padding-top: clamp(34px, 5.4vh, 64px) !important;
  padding-bottom: clamp(18px, 3vh, 30px) !important;
  justify-content: stretch !important;
}

.page-index .geigro-slider-track {
  flex: 1 1 auto !important;
  min-height: clamp(300px, 45vh, 470px) !important;
  margin-top: 0 !important;
  display: block !important;
}

.page-index .geigro-slider-slide {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: stretch !important;
}

.page-index .geigro-slide-heading {
  min-height: auto !important;
  margin: 0 0 clamp(18px, 4vh, 42px) !important;
}

.page-index .geigro-category-row {
  align-self: center !important;
  align-items: start !important;
  gap: clamp(22px, 2.6vw, 42px) !important;
}

.page-index .geigro-category-card {
  min-height: clamp(130px, 12vw, 185px) !important;
  padding-top: 0 !important;
  justify-content: flex-start !important;
}

.page-index .geigro-category-title {
  gap: 10px !important;
  transition: color 220ms ease, transform 220ms ease, text-shadow 220ms ease;
}

.page-index .geigro-category-title::after {
  width: 38px !important;
  margin-top: 2px !important;
  transition: width 220ms ease, background-color 220ms ease, opacity 220ms ease;
}

.page-index .geigro-category-card:hover .geigro-category-title,
.page-index .geigro-category-card:focus-visible .geigro-category-title {
  color: var(--geigro-orange) !important;
  text-shadow: 0 0 24px rgba(255, 74, 22, 0.22);
  transform: translateY(-1px);
}

.page-index .geigro-category-card:hover .geigro-category-title::after,
.page-index .geigro-category-card:focus-visible .geigro-category-title::after {
  width: 46px !important;
  background-color: var(--geigro-orange) !important;
  opacity: 0.95;
}

.page-index .geigro-category-card.is-empty:hover .geigro-category-title,
.page-index .geigro-category-card.is-empty:focus-visible .geigro-category-title {
  color: rgba(247, 247, 245, 0.62) !important;
  text-shadow: none;
  transform: none;
}

.page-index .geigro-category-card.is-empty .geigro-category-title {
  color: rgba(247, 247, 245, 0.58) !important;
}

.page-index .geigro-category-card.is-empty .geigro-category-title::after {
  background-color: rgba(247, 247, 245, 0.32) !important;
  opacity: 0.65;
}

.page-index .geigro-category-card.is-empty:hover .geigro-category-title::after,
.page-index .geigro-category-card.is-empty:focus-visible .geigro-category-title::after {
  width: 38px !important;
  background-color: rgba(247, 247, 245, 0.32) !important;
}

.page-index .geigro-category-image-wrap {
  top: clamp(48px, 4.9vw, 68px) !important;
  height: clamp(78px, 7.4vw, 118px) !important;
}

.page-index .geigro-category-card.is-empty .geigro-category-image-wrap {
  opacity: 0.48;
  filter: grayscale(1) saturate(0.15) contrast(0.82);
}

.page-index .geigro-category-empty-badge {
  min-height: 24px;
  margin: 10px auto 0;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(247, 247, 245, 0.64);
  background: rgba(255, 255, 255, 0.04);
  font-size: 10px;
  line-height: 1;
  font-weight: 880;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.page-index .geigro-all-categories-action {
  grid-column: 1 / -1;
  width: 100%;
  margin: clamp(8px, 1.5vh, 14px) auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-index .geigro-all-categories-action a {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255, 74, 22, 0.32);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(247, 247, 245, 0.9);
  background: rgba(255, 74, 22, 0.075);
  font-size: 12px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
  transition: color 200ms ease, border-color 200ms ease, background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.page-index .geigro-all-categories-action a:hover,
.page-index .geigro-all-categories-action a:focus-visible {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.62);
  background: rgba(255, 74, 22, 0.14);
  box-shadow: 0 18px 40px rgba(255, 74, 22, 0.14);
  transform: translateY(-1px);
}

.page-index .geigro-slider-value-strip {
  width: min(100%, 1060px) !important;
  margin: clamp(18px, 3.2vh, 34px) auto 0 !important;
  padding-top: 0 !important;
}

.geigro-products:has([data-aggregate-category-links] a) > .no-products,
.geigro-products.is-aggregating-products .no-products,
.geigro-products.is-aggregating-products .product-filter-empty {
  display: none !important;
}

.geigro-products.is-aggregating-products [data-product-grid] {
  min-height: clamp(220px, 22vw, 320px);
  position: relative;
}

.geigro-products.is-aggregating-products [data-product-grid]::before {
  content: "";
  grid-column: 1 / -1;
  min-height: 112px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.035), transparent),
    rgba(255, 255, 255, 0.025);
  background-size: 220% 100%, auto;
  animation: geigroAggregateLoading 1.05s ease-in-out infinite;
}

@keyframes geigroAggregateLoading {
  from {
    background-position: 120% 0, 0 0;
  }

  to {
    background-position: -120% 0, 0 0;
  }
}

@media (min-width: 1440px) {
  .page-index .geigro-category-title {
    font-size: clamp(17px, 1.8vw, 28px) !important;
  }
}

@media (max-width: 980px) {
  .page-index .geigro-category-slider {
    min-height: auto !important;
    padding-top: 32px !important;
  }

  .page-index .geigro-slider-track {
    min-height: clamp(260px, 46vw, 360px) !important;
  }

  .page-index .geigro-category-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    row-gap: 22px !important;
  }
}

@media (max-width: 720px) {
  .page-index .geigro-slide-heading span {
    font-size: clamp(24px, 8vw, 34px) !important;
  }

  .page-index .geigro-category-title {
    font-size: clamp(17px, 5.8vw, 24px) !important;
  }

  .page-index .geigro-category-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }

  .page-index .geigro-category-card {
    min-height: 132px !important;
  }

  .page-index .geigro-category-image-wrap {
    top: 46px !important;
    height: 76px !important;
  }

  .page-index .geigro-all-categories-action a {
    min-height: 40px;
    width: min(100%, 230px);
  }
}

@media (max-width: 720px) {
  .basket-page {
    padding: 78px 14px 42px !important;
    gap: 12px !important;
  }

  .basket-page-header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .basket-page-header h1 {
    font-size: 30px !important;
  }

  .basket-protection {
    align-items: center !important;
  }

  .basket-shop-card {
    padding: 12px !important;
  }

  .basket-shop-header {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    margin-bottom: 9px !important;
  }

  .basket-item {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: start !important;
  }

  .basket-item-media {
    width: 86px !important;
    height: 64px !important;
  }

  .basket-item .title {
    font-size: 15px !important;
  }

  .basket-item .options {
    display: none !important;
  }

  .basket-item-actions {
    margin-top: 8px !important;
    gap: 6px !important;
  }

  .basket-item-actions a,
  .basket-item-quantity {
    min-height: 30px !important;
    font-size: 11px !important;
  }

  .basket-item-meta {
    grid-column: 2 !important;
    justify-items: start !important;
    margin-top: -2px !important;
  }

  .basket-item-meta .price {
    font-size: 17px !important;
  }

  .basket-item-delivery {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .basket-summary {
    padding: 14px !important;
  }
}

/* Premium compact product cards. */
.geigro-product-card {
  border: 1px solid rgba(255, 90, 31, 0.18) !important;
  background:
    linear-gradient(180deg, rgba(19, 24, 30, 0.92), rgba(10, 13, 17, 0.96)) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.28) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease !important;
}

.geigro-product-card:hover,
.geigro-product-card:focus-within {
  border-color: rgba(255, 90, 31, 0.42) !important;
  background:
    radial-gradient(circle at 80% 0%, rgba(255, 90, 31, 0.08), transparent 30%),
    linear-gradient(180deg, rgba(21, 26, 32, 0.96), rgba(10, 13, 17, 0.98)) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 90, 31, 0.04) inset !important;
  transform: translateY(-2px) !important;
}

.geigro-product-media {
  margin: 10px 10px 0 !important;
  border-radius: 6px !important;
}

.geigro-product-body {
  padding: 11px 12px 12px !important;
  grid-template-rows: 42px 21px minmax(38px, auto) !important;
  gap: 8px !important;
}

.geigro-product-heading {
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 42px !important;
  align-items: start !important;
  gap: 8px !important;
}

.geigro-product-heading .product-name,
.geigro-product-heading .product-name a {
  min-height: 42px !important;
}

.geigro-product-heading .product-name a {
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.16 !important;
  font-weight: 920 !important;
  letter-spacing: 0 !important;
}

.geigro-product-heading .product-price {
  min-height: 22px !important;
  padding-top: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 930 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.product-price-discount {
  display: grid !important;
  justify-items: end !important;
  gap: 3px !important;
}

.product-price-discount del {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  text-decoration-thickness: 1px !important;
}

.product-price-current {
  color: #ff5a1f !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 960 !important;
}

.product-discount-badge {
  min-height: 18px !important;
  padding: 0 6px !important;
  border: 1px solid rgba(255, 90, 31, 0.36) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
  background: rgba(255, 90, 31, 0.18) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 920 !important;
}

.geigro-product-badges {
  min-height: 21px !important;
  max-height: 21px !important;
  gap: 5px !important;
}

.geigro-product-badges span {
  min-height: 21px !important;
  padding: 0 8px !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(239, 245, 252, 0.7) !important;
  background: rgba(255, 255, 255, 0.028) !important;
  font-size: 9.5px !important;
  font-weight: 850 !important;
  letter-spacing: 0.02em !important;
}

.geigro-product-badges span.is-kind {
  color: rgba(255, 204, 188, 0.96) !important;
  border-color: rgba(255, 90, 31, 0.48) !important;
  background: rgba(255, 90, 31, 0.06) !important;
}

.geigro-product-badges span.is-kind:first-child {
  color: #fff !important;
}

.geigro-product-badges span.is-kind.is-pack {
  background: rgba(255, 90, 31, 0.16) !important;
}

.geigro-product-actions {
  grid-template-columns: minmax(0, 1fr) 40px !important;
  gap: 8px !important;
}

.geigro-product-card .geigro-details-button,
.geigro-product-card .geigro-cart-icon-button {
  min-height: 38px !important;
  border-radius: 7px !important;
}

.geigro-details-button {
  padding-inline: 12px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.geigro-cart-icon-button {
  width: 40px !important;
  min-width: 40px !important;
}

.geigro-cart-icon-button svg {
  width: 18px !important;
  height: 18px !important;
}

.cart-flyout-particle {
  position: fixed;
  z-index: 10000;
  width: 18px;
  height: 18px;
  left: 0;
  top: 0;
  pointer-events: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff8a55, #ff4a12);
  box-shadow: 0 0 22px rgba(255, 90, 31, 0.46);
  transform: translate(-50%, -50%);
  animation: cart-flyout 760ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.geigro-cart-button.is-cart-hit {
  animation: cart-hit 520ms ease;
}

@keyframes cart-flyout {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.65); }
  18% { opacity: 1; transform: translate(-50%, -80%) scale(1); }
  100% { opacity: 0; transform: translate(calc(var(--cart-x) - 50%), calc(var(--cart-y) - 50%)) scale(0.35); }
}

@keyframes cart-hit {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.12); }
}

@media (max-width: 560px) {
  .geigro-products-layout {
    padding-inline: 14px !important;
    padding-top: 8px !important;
  }

  .geigro-category-titlebar {
    padding-inline: 14px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .geigro-category-titlebar p {
    font-size: clamp(28px, 9vw, 38px) !important;
    letter-spacing: 0.035em !important;
  }

  .geigro-filter-toggle {
    min-height: 34px !important;
    padding: 0 14px !important;
    border-color: rgba(255, 74, 22, 0.28) !important;
    background: rgba(255, 74, 22, 0.1) !important;
    font-size: 11px !important;
  }

  .geigro-product-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .geigro-product-card {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(124px, 39%) minmax(0, 1fr) !important;
    align-items: center !important;
    overflow: hidden !important;
    background: rgba(10, 14, 18, 0.96) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24) !important;
    padding: 8px !important;
  }

  .geigro-product-card:hover,
  .geigro-product-card:focus-within {
    background: rgba(10, 14, 18, 0.98) !important;
    transform: none !important;
  }

  .geigro-product-media {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    border-radius: 7px !important;
    align-self: center !important;
    background: rgba(7, 11, 15, 0.9) !important;
  }

  .geigro-product-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
  }

  .geigro-product-body {
    height: 100% !important;
    max-height: 100% !important;
    padding: 0 0 0 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    grid-template-rows: auto auto minmax(34px, 1fr) !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  .geigro-product-heading {
    display: contents !important;
  }

  .geigro-product-heading .product-name,
  .geigro-product-heading .product-name a {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
  }

  .geigro-product-heading .product-name a {
    font-size: 13px !important;
    line-height: 1.1 !important;
    -webkit-line-clamp: 2 !important;
  }

  .geigro-product-heading .product-price {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    padding-top: 1px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  .product-price-current {
    font-size: 13.5px !important;
  }

  .product-price-discount del {
    font-size: 9.5px !important;
  }

  .product-discount-badge {
    min-height: 16px !important;
    padding: 0 5px !important;
    font-size: 9px !important;
  }

  .geigro-product-badges {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 19px !important;
    max-height: 42px !important;
    gap: 4px !important;
    align-self: start !important;
  }

  .geigro-product-badges span {
    min-height: 19px !important;
    padding: 0 5px !important;
    font-size: 8px !important;
    letter-spacing: 0 !important;
  }

  .geigro-product-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: end !important;
    gap: 0 !important;
    align-self: end !important;
  }

  .geigro-product-card .geigro-cart-icon-button {
    min-height: 36px !important;
  }

  .geigro-product-card .geigro-details-button {
    display: none !important;
  }

  .geigro-product-card .geigro-cart-icon-button svg {
    width: 19px !important;
    height: 19px !important;
  }

  .geigro-cart-icon-button {
    width: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
  }

  .geigro-cart-icon-button:not(.is-added):not([disabled])::before {
    top: -4px !important;
    right: -4px !important;
    width: 15px !important;
    height: 15px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 720px) {
  .page-index .geigro-category-slider {
    min-height: calc(100svh + 80px) !important;
    padding: 18px 14px 92px !important;
    display: grid !important;
    grid-template-rows: auto minmax(18px, 1fr) auto !important;
    align-content: stretch !important;
    background: rgb(3, 8, 12) !important;
    scroll-margin-top: 0 !important;
  }

  .page-index .geigro-slider-track {
    min-height: 0 !important;
    margin-top: 0 !important;
    display: grid !important;
    gap: 18px !important;
    align-self: start !important;
  }

  .page-index .geigro-slider-slide {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    translate: none !important;
    pointer-events: auto !important;
  }

  .page-index .geigro-slider-slide:first-child,
  .page-index .geigro-slider-slide.is-active {
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: 16px !important;
  }

  .page-index .geigro-slide-heading {
    min-height: 0 !important;
    margin: 0 0 2px !important;
    text-align: left !important;
    display: block !important;
  }

  .page-index .geigro-slide-heading span {
    display: block !important;
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1 !important;
    opacity: 0.9 !important;
  }

  .page-index .geigro-category-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .page-index .geigro-category-card {
    position: relative !important;
    min-height: 126px !important;
    padding: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: stretch !important;
    justify-items: start !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.035) !important;
  }

  .page-index .geigro-category-title {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 92% !important;
    align-self: start !important;
    font-size: clamp(14px, 4.7vw, 19px) !important;
    line-height: 1 !important;
    gap: 8px !important;
    text-align: left !important;
    color: rgba(247, 247, 245, 0.88) !important;
  }

  .page-index .geigro-category-title::after {
    width: 30px !important;
    margin-top: 5px !important;
  }

  .page-index .geigro-category-image-wrap {
    position: static !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: end !important;
    width: 94% !important;
    height: 68px !important;
    margin-top: 4px !important;
    opacity: 0.62 !important;
    pointer-events: none !important;
  }

  .page-index .geigro-category-image-wrap img {
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  .page-index .geigro-region-chips,
  .page-index .geigro-category-empty-badge,
  .page-index .geigro-all-categories-action,
  .page-index .geigro-slider-controls {
    display: none !important;
  }

  .page-index .geigro-slider-value-strip {
    width: 100% !important;
    align-self: end !important;
    margin: 0 !important;
    padding-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 8px !important;
  }

  .page-index .geigro-slider-value-strip > div {
    height: auto !important;
    min-height: 96px !important;
    padding: 9px 6px !important;
    border-radius: 9px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: center !important;
    text-align: center !important;
    gap: 5px !important;
  }

  .page-index .geigro-slider-value-strip .geigro-value-icon {
    grid-row: auto !important;
  }

  .page-index .geigro-slider-value-strip .geigro-value-icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  .page-index .geigro-slider-value-strip strong {
    font-size: 9.5px !important;
    line-height: 1.1 !important;
  }

  .page-index .geigro-slider-value-strip p {
    font-size: 9px !important;
    line-height: 1.18 !important;
  }
}

/* Final basket 3-column commerce overrides. */
.basket-page {
  width: min(100%, 1500px) !important;
  padding-inline: clamp(18px, 3.5vw, 46px) !important;
}

.basket-shell {
  display: grid !important;
  grid-template-columns: minmax(460px, 1.65fr) minmax(240px, 0.72fr) minmax(260px, 0.78fr) !important;
  grid-template-areas: "items benefits summary" !important;
  gap: 18px !important;
  align-items: start !important;
}

.basket-panel {
  grid-area: items !important;
  max-height: calc(100vh - var(--geigro-header-h) - 142px) !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
  display: flex !important;
  overflow: hidden !important;
}

.basket-benefits {
  grid-area: benefits !important;
  align-self: start !important;
}

.basket-summary {
  grid-area: summary !important;
  align-self: start !important;
}

.basket-panel,
.basket-benefits,
.basket-summary {
  border: 1px solid rgba(255, 90, 31, 0.13) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(18, 23, 29, 0.92), rgba(8, 11, 15, 0.94)) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.24) !important;
}

.basket-panel .basket-content {
  width: 100% !important;
  max-height: calc(100vh - var(--geigro-header-h) - 142px) !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.basket-items {
  min-height: 0 !important;
}

.basket-panel .basket-content::-webkit-scrollbar {
  width: 8px !important;
}

.basket-panel .basket-content::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(255, 90, 31, 0.28) !important;
}

.basket-benefits,
.basket-summary {
  position: sticky !important;
  top: calc(var(--geigro-header-h) + 18px) !important;
}

.basket-benefits {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
}

.basket-benefits .basket-coupon {
  margin: 0 !important;
}

.basket-benefits .basket-coupon-form {
  grid-template-columns: minmax(0, 1fr) !important;
}

.basket-benefits .basket-coupon-form button {
  width: 100% !important;
}

.basket-benefits .basket-trust {
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  padding: 12px 0 0 !important;
}

.basket-benefits .basket-trust p {
  min-height: 26px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(239, 245, 252, 0.72) !important;
  font-size: 11.5px !important;
  line-height: 1.22 !important;
  font-weight: 820 !important;
}

.basket-benefits .basket-payment-methods {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  padding-top: 0 !important;
}

.basket-benefits .basket-payment-methods span {
  min-height: 30px !important;
  justify-content: center !important;
  border-color: rgba(255, 255, 255, 0.09) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  font-size: 10.5px !important;
}

.basket-summary {
  padding: 18px !important;
  gap: 12px !important;
}

.basket-summary h3 {
  font-size: 18px !important;
}

.basket-summary-row {
  min-height: 34px !important;
}

.basket-summary-total {
  min-height: 76px !important;
  margin-top: 7px !important;
  padding-top: 16px !important;
  border-top-color: rgba(255, 90, 31, 0.24) !important;
}

.basket-summary-total strong:first-child {
  font-size: 16px !important;
}

.basket-summary-total strong:last-child {
  color: #ff5a1f !important;
  font-size: clamp(32px, 2.6vw, 42px) !important;
  text-shadow: 0 12px 30px rgba(255, 90, 31, 0.22) !important;
}

.basket-summary-actions .btn-primary {
  min-height: 50px !important;
}

.basket-item {
  grid-template-columns: 104px minmax(0, 1fr) minmax(84px, auto) !important;
  min-height: 90px !important;
  gap: 12px !important;
}

.basket-item-media {
  width: 104px !important;
  height: 68px !important;
}

.basket-item .title {
  font-size: clamp(16px, 1.05vw, 18px) !important;
}

.basket-item-actions {
  margin-top: 7px !important;
}

.basket-item-actions a,
.basket-item-quantity {
  min-height: 28px !important;
  padding-inline: 9px !important;
}

.basket-item-meta .price {
  font-size: 18px !important;
}

.basket-item-delivery {
  margin-left: 116px !important;
  margin-top: 6px !important;
  font-size: 11.5px !important;
}

.basket-empty {
  width: 100% !important;
}

@media (max-width: 1220px) {
  .basket-page {
    width: min(100%, 1120px) !important;
    padding-inline: 18px !important;
  }

  .basket-shell {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 290px) !important;
    grid-template-areas:
      "summary summary"
      "items benefits" !important;
  }

  .basket-summary {
    position: static !important;
  }
}

@media (max-width: 860px) {
  .basket-page {
    padding: 68px 12px 34px !important;
  }

  .basket-shell {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "summary"
      "benefits"
      "items" !important;
    gap: 12px !important;
  }

  .basket-panel,
  .basket-benefits,
  .basket-summary {
    position: static !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .basket-panel .basket-content {
    max-height: none !important;
    overflow: visible !important;
  }

  .basket-benefits {
    padding: 12px !important;
  }

  .basket-benefits .basket-coupon-form {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .basket-benefits .basket-payment-methods {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .basket-summary {
    order: 0 !important;
  }

  .basket-summary-total strong:last-child {
    font-size: clamp(29px, 8vw, 36px) !important;
  }

  .basket-item {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }
}

@media (max-width: 460px) {
  .basket-benefits .basket-coupon-form,
  .basket-benefits .basket-payment-methods {
    grid-template-columns: 1fr !important;
  }
}

/* Final coupon summary states. */
.basket-total-values {
  display: grid !important;
  justify-items: end !important;
  gap: 4px !important;
}

.basket-total-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  text-shadow: none !important;
}

.basket-summary-discount span:last-child {
  color: rgba(132, 226, 170, 0.94) !important;
  font-weight: 900 !important;
}

.basket-summary-discount[hidden],
[data-basket-discount-row][hidden] {
  display: none !important;
}

.basket-coupon-form input:disabled,
.basket-coupon-form button:disabled:not(.basket-coupon-remove) {
  opacity: 0.58 !important;
  cursor: not-allowed !important;
}

.basket-active-coupons li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.basket-coupon-remove {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 132, 104, 0.32) !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  color: rgba(255, 220, 210, 0.96) !important;
  background: rgba(255, 90, 31, 0.12) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease !important;
}

.basket-coupon-remove:hover,
.basket-coupon-remove:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.56) !important;
  background: rgba(255, 90, 31, 0.22) !important;
  transform: scale(1.04) !important;
}
/* GEIGRO_EOF_OVERRIDES */
@media (min-width: 981px) {
  .geigro-products-layout { align-items: stretch !important; }

  .geigro-filter-sidebar {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    align-self: start !important;
    height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    max-height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .widget,
  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .product-filter-bar {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  .product-filter-scroll {
    min-height: 0 !important;
    height: 100% !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
  }

  .product-filter-section-panel,
  .filter-accordion-panel {
    display: grid !important;
    grid-template-rows: 0fr !important;
    max-height: none !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translateY(-4px) !important;
    transition: grid-template-rows 260ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease, transform 220ms ease !important;
  }

  .product-filter-section.is-open > .product-filter-section-panel,
  .filter-accordion.is-open > .filter-accordion-panel {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .product-filter-section-inner,
  .filter-accordion-options {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .product-filter-section.is-open .product-filter-section-inner,
  .filter-accordion.is-open .filter-accordion-options {
    overflow: visible !important;
  }
}

@media (max-width: 720px) {
  .geigro-header .geigro-cart-button,
  .geigro-header .geigro-login-button,
  .geigro-header .geigro-mobile-menu-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex-basis: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-header .geigro-cart-button:hover,
  .geigro-header .geigro-cart-button:focus-visible,
  .geigro-header .geigro-login-button:hover,
  .geigro-header .geigro-login-button:focus-visible,
  .geigro-header .geigro-mobile-menu-toggle:hover,
  .geigro-header .geigro-mobile-menu-toggle:focus-visible,
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-header .geigro-cart-button svg,
  .geigro-header .geigro-login-button svg {
    width: 25px !important;
    height: 25px !important;
  }

  .geigro-header .geigro-mobile-menu-toggle span { width: 22px !important; }
  .geigro-header .geigro-mobile-menu-toggle span:nth-child(1) { top: 12px !important; }
  .geigro-header .geigro-mobile-menu-toggle span:nth-child(2) { top: 18px !important; }
  .geigro-header .geigro-mobile-menu-toggle span:nth-child(3) { top: 24px !important; }
  html.is-mobile-menu-open .geigro-header .geigro-mobile-menu-toggle span { top: 50% !important; }

  .geigro-product-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }

  .geigro-product-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 7px !important;
  }

  .geigro-product-media {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 7px 7px 0 !important;
    border-radius: 5px !important;
  }

  .geigro-product-media img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .geigro-product-body {
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-rows: auto auto auto !important;
    gap: 7px 6px !important;
  }

  .geigro-product-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .geigro-product-heading .product-name,
  .geigro-product-heading .product-name a { min-height: 0 !important; }

  .geigro-product-heading .product-name a {
    font-size: clamp(12px, 3.7vw, 15px) !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
  }

  .geigro-product-heading .product-price {
    min-height: 0 !important;
    justify-content: flex-start !important;
    font-size: clamp(13px, 4vw, 16px) !important;
    text-align: left !important;
  }

  .geigro-product-badges {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 19px !important;
    max-height: 42px !important;
    gap: 4px !important;
  }

  .geigro-product-badges span {
    min-height: 19px !important;
    padding: 0 5px !important;
    font-size: 8px !important;
  }

  .geigro-product-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: auto !important;
    margin: 0 !important;
    display: block !important;
    justify-self: end !important;
    align-self: end !important;
  }

  .geigro-product-card .geigro-details-button { display: none !important; }

  .geigro-product-card .geigro-cart-icon-button {
    width: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
  }
}

@media (max-width: 340px) {
  .geigro-product-grid { grid-template-columns: 1fr !important; }
}

/* Mobile product listing v2: compact sticky toolbar, image badges and filter sheet. */
@media (max-width: 720px) {
  html,
  body {
    overflow-x: clip;
  }

  .geigro-category-titlebar {
    position: sticky !important;
    top: var(--geigro-header-h) !important;
    z-index: 72 !important;
    min-height: 58px !important;
    width: 100% !important;
    padding: 9px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(5, 8, 11, 0.88) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .geigro-category-titlebar p {
    min-width: 0 !important;
    overflow: hidden !important;
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-overflow: ellipsis !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  .geigro-filter-toggle {
    min-height: 40px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 7px !important;
    gap: 7px !important;
    color: rgba(247, 247, 245, 0.94) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .geigro-filter-toggle svg {
    width: 17px !important;
    height: 17px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linejoin: round !important;
  }

  .geigro-filter-toggle:hover,
  .geigro-filter-toggle:focus-visible,
  .geigro-filter-toggle[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.07) !important;
  }

  .geigro-products-layout {
    width: 100% !important;
    padding: 14px 12px 52px !important;
  }

  .geigro-product-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .geigro-product-card {
    position: relative !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    background: rgba(10, 14, 18, 0.96) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
  }

  .geigro-product-card:hover,
  .geigro-product-card:focus-within {
    border-color: rgba(255, 255, 255, 0.16) !important;
    background: rgba(11, 15, 19, 0.98) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.3) !important;
    transform: none !important;
  }

  .geigro-product-card.is-sale {
    border-color: rgba(255, 90, 31, 0.28) !important;
  }

  .geigro-product-media {
    position: relative !important;
    isolation: isolate !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    border-radius: 9px 9px 0 0 !important;
    overflow: hidden !important;
    background: #0b0f13 !important;
  }

  .geigro-product-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.16), transparent 34%) !important;
  }

  .geigro-product-media img {
    object-fit: cover !important;
    transition: transform 260ms ease !important;
  }

  .geigro-product-card:hover .geigro-product-media img {
    transform: scale(1.015) !important;
  }

  .geigro-product-media .geigro-product-badges {
    position: absolute !important;
    top: 9px !important;
    left: 9px !important;
    z-index: 2 !important;
    width: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    pointer-events: none !important;
  }

  .geigro-product-media .geigro-product-badges[hidden] {
    display: none !important;
  }

  .geigro-product-media .geigro-product-badges span:not(.is-kind) {
    display: none !important;
  }

  .geigro-product-media .geigro-product-badges span.is-kind {
    min-height: 25px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 6px !important;
    color: #fff !important;
    background: rgba(8, 11, 15, 0.8) !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    font-size: 9px !important;
    letter-spacing: 0.04em !important;
  }

  .geigro-product-media .geigro-product-badges span.is-kind.is-pack {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(8, 11, 15, 0.86) !important;
  }

  .geigro-product-body {
    min-height: 142px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 10px 8px !important;
  }

  .geigro-product-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 8px !important;
  }

  .geigro-product-heading .product-name {
    grid-row: 1 !important;
  }

  .geigro-product-heading .product-name a {
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
  }

  .geigro-product-heading .product-price {
    grid-row: 3 !important;
    min-height: 44px !important;
    padding: 0 54px 0 0 !important;
    align-items: flex-end !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 940 !important;
  }

  .geigro-product-card:not(.is-sale) .product-price {
    color: #fff !important;
  }

  .geigro-product-card.is-sale .product-price-discount {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  .geigro-product-card.is-sale .product-price-current {
    order: 1 !important;
    color: #ff5a1f !important;
    font-size: 18px !important;
  }

  .geigro-product-card.is-sale .product-price-discount del {
    order: 2 !important;
    color: rgba(239, 245, 252, 0.38) !important;
    font-size: 11px !important;
  }

  .geigro-product-card.is-sale .product-discount-badge {
    order: 3 !important;
    min-height: 22px !important;
    padding: 0 7px !important;
    border-color: rgba(255, 90, 31, 0.42) !important;
    color: #ff8c66 !important;
    background: rgba(255, 90, 31, 0.08) !important;
    font-size: 10px !important;
  }

  .geigro-product-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    z-index: 2 !important;
    align-self: end !important;
  }

  .geigro-product-card .geigro-cart-icon-button {
    width: 46px !important;
    min-width: 46px !important;
    min-height: 44px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.045) !important;
    box-shadow: none !important;
  }

  .geigro-product-card .geigro-cart-icon-button:hover,
  .geigro-product-card .geigro-cart-icon-button:focus-visible {
    border-color: rgba(255, 255, 255, 0.26) !important;
    background: rgba(255, 255, 255, 0.09) !important;
  }

  .geigro-product-card.is-sale .geigro-cart-icon-button:not(.is-added):not([disabled]) {
    border-color: rgba(255, 90, 31, 0.48) !important;
    color: #ff7448 !important;
    background: rgba(255, 90, 31, 0.08) !important;
  }

  .geigro-product-card.is-sale .geigro-cart-icon-button:not(.is-added):not([disabled]):hover,
  .geigro-product-card.is-sale .geigro-cart-icon-button:not(.is-added):not([disabled]):focus-visible {
    color: #fff !important;
    background: rgba(255, 90, 31, 0.2) !important;
  }

  .geigro-product-card .geigro-cart-icon-button:not(.is-added):not([disabled])::before {
    top: 3px !important;
    right: 3px !important;
    width: 14px !important;
    height: 14px !important;
    border: 0 !important;
    color: currentColor !important;
    background: transparent !important;
    font-size: 14px !important;
  }

  .geigro-filter-sidebar {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: min(86dvh, 760px) !important;
    max-height: calc(100dvh - 18px) !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    background: rgba(7, 10, 14, 0.99) !important;
    box-shadow: 0 -24px 70px rgba(0, 0, 0, 0.56) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(102%) !important;
    transition: opacity 220ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 300ms !important;
  }

  html.is-filter-drawer-open,
  html.is-filter-drawer-open body {
    overflow: hidden !important;
  }

  html.is-filter-drawer-open .geigro-filter-sidebar,
  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal,
  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
  }

  html.is-filter-drawer-open::after {
    inset: 0 !important;
    z-index: 170 !important;
    background: rgba(0, 0, 0, 0.62) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
  }

  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  .product-filter-heading {
    min-height: 60px !important;
    padding: 0 16px !important;
    background: rgba(255, 255, 255, 0.015) !important;
  }

  .product-filter-scroll {
    min-height: 0 !important;
    padding: 0 16px 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  .product-filter-section-trigger,
  .filter-accordion-trigger {
    min-height: 54px !important;
    font-size: 15px !important;
  }

  .product-filter-choice-list button,
  .filter-accordion-options label {
    min-height: 46px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }

  .product-filter-actions {
    padding: 12px 16px max(14px, env(safe-area-inset-bottom)) !important;
    grid-template-columns: 1fr 1fr !important;
    background: rgba(7, 10, 14, 0.98) !important;
  }

  .product-filter-actions button {
    min-height: 46px !important;
    border-radius: 8px !important;
  }

  .product-filter-close-action {
    display: none !important;
  }
}

@media (min-width: 381px) and (max-width: 720px) {
  .geigro-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  .geigro-products-layout {
    padding-inline: 10px !important;
  }

  .geigro-product-grid {
    grid-template-columns: 1fr !important;
  }

  .geigro-product-body {
    min-height: 126px !important;
  }
}

/* Desktop-only filter order and compact reset footer. */
@media (min-width: 981px) {
  .geigro-filter-sidebar .product-filter-bar {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    display: flex !important;
    flex-direction: column !important;
    align-content: initial !important;
  }

  .geigro-filter-sidebar .product-filter-scroll > .product-filter-section:nth-child(2) {
    order: 1;
  }

  .geigro-filter-sidebar .product-filter-scroll > .product-filter-price-section {
    order: 2;
  }

  .geigro-filter-sidebar .product-filter-groups {
    order: 3;
  }

  .geigro-filter-sidebar .product-filter-actions {
    padding: 12px 10px 4px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    justify-content: flex-start !important;
    background: rgba(5, 8, 11, 0.96) !important;
    box-shadow: 0 -12px 24px rgba(0, 0, 0, 0.16) !important;
  }

  .geigro-filter-sidebar .product-filter-apply,
  .geigro-filter-sidebar .product-filter-close-action {
    display: none !important;
  }

  .geigro-filter-sidebar .product-filter-reset {
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    color: rgba(247, 247, 245, 0.72) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-transform: none !important;
  }

  .geigro-filter-sidebar .product-filter-reset:hover,
  .geigro-filter-sidebar .product-filter-reset:focus-visible {
    border-color: rgba(255, 90, 31, 0.4) !important;
    color: #fff !important;
    background: rgba(255, 90, 31, 0.08) !important;
  }
}

/* Final all-screen product badge placement. */
.geigro-product-card .geigro-product-media {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges {
  position: absolute !important;
  inset: 9px auto auto 9px !important;
  z-index: 5 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: calc(100% - 18px) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges[hidden] {
  display: none !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges span:not(.is-kind) {
  display: none !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges span.is-kind {
  min-height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.17) !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
  background: rgba(7, 10, 14, 0.84) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.geigro-package-kind-mobile {
  display: none;
}

@media (max-width: 720px) {
  .geigro-product-card .geigro-package-kind-fallback,
  .geigro-product-card .geigro-product-media > .geigro-product-badges {
    display: none !important;
  }

  .geigro-product-card .geigro-package-kind-mobile {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 18px !important;
    padding: 0 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: rgba(247, 247, 245, 0.78) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    font-size: 7.5px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.035em !important;
    white-space: nowrap !important;
  }

  .geigro-product-card .geigro-product-heading {
    grid-row: 2 / -1 !important;
  }

  .geigro-product-card .geigro-product-body {
    grid-template-rows: 18px auto 1fr auto !important;
    gap: 6px 8px !important;
  }

  .geigro-product-card .geigro-product-actions {
    grid-row: 4 !important;
  }
}

/* Final mobile basket layout. Keep at EOF. */
@media (max-width: 768px) {
  .basket-page {
    width: 100% !important;
    margin: 0 !important;
    padding: calc(var(--geigro-header-h) + 14px) 12px calc(96px + env(safe-area-inset-bottom)) !important;
    display: block !important;
    overflow-x: clip !important;
  }

  .basket-page-header {
    min-height: 40px !important;
    margin: 0 0 10px !important;
  }

  .basket-page-header h1 {
    font-size: 25px !important;
  }

  .basket-shell {
    display: block !important;
  }

  .basket-panel {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .basket-panel .basket-content,
  .basket-items {
    max-height: none !important;
    overflow: visible !important;
  }

  .basket-benefits {
    position: static !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .basket-trust,
  .basket-payment-methods {
    display: none !important;
  }

  .basket-shop-card {
    margin: 0 0 9px !important;
    padding: 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 8px !important;
    background: rgba(11, 15, 19, 0.9) !important;
  }

  .basket-item {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 76px !important;
    gap: 7px 10px !important;
  }

  .basket-item-media {
    width: 96px !important;
    height: 68px !important;
    border-radius: 7px !important;
  }

  .basket-item .title {
    font-size: 14px !important;
  }

  .basket-item-meta .price {
    font-size: 16px !important;
  }

  .basket-item-delivery {
    margin: 6px 0 0 106px !important;
    font-size: 10px !important;
  }

  .basket-summary {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 260 !important;
    width: 100% !important;
    min-height: 74px !important;
    max-height: calc(100dvh - var(--geigro-header-h) - 12px) !important;
    margin: 0 !important;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 90, 31, 0.24) !important;
    border-radius: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 18px 44px !important;
    gap: 3px 10px !important;
    overflow-y: auto !important;
    background: rgba(7, 10, 14, 0.95) !important;
    box-shadow: 0 -10px 26px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  .basket-summary > h3 {
    display: none !important;
  }

  .basket-mobile-cost-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 18px !important;
    font-size: 9px !important;
  }

  .basket-mobile-coupon-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 18px !important;
    font-size: 9px !important;
  }

  .basket-summary-row:not(.basket-summary-total) {
    display: none !important;
    grid-column: 1 / -1 !important;
    min-height: 24px !important;
    font-size: 10px !important;
  }

  .basket-summary.is-mobile-expanded {
    grid-template-rows: 18px auto 44px !important;
  }

  .basket-summary.is-mobile-expanded .basket-summary-row:not(.basket-summary-total) {
    display: flex !important;
  }

  .basket-summary-total {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .basket-summary.is-mobile-expanded .basket-summary-total {
    grid-row: 3 !important;
  }

  .basket-summary-total > strong:first-child {
    display: none !important;
  }

  .basket-summary-total strong:last-child,
  .basket-summary-total [data-basket-total] {
    font-size: 22px !important;
  }

  .basket-summary-actions {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }

  .basket-summary.is-mobile-expanded .basket-summary-actions {
    grid-row: 3 !important;
  }

  .basket-summary-actions .btn-primary {
    width: auto !important;
    min-width: 120px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
  }
}

/* Unified product-card layout across desktop, tablet and mobile. */
.geigro-product-card {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: rgba(10, 14, 18, 0.96) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
}

.geigro-product-card:hover,
.geigro-product-card:focus-within {
  border: 0 !important;
  background: rgba(12, 16, 20, 0.98) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28) !important;
  transform: translateY(-2px) !important;
}

.geigro-product-card .geigro-product-media {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  overflow: hidden !important;
  background: #0b0f13 !important;
}

.geigro-product-card .geigro-product-media img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.geigro-product-card .geigro-product-media > .geigro-product-badges,
.geigro-product-card .geigro-package-kind-fallback,
.geigro-product-card .geigro-package-kind-mobile {
  display: none !important;
}

.geigro-product-card .geigro-product-body {
  flex: 1 1 auto !important;
  min-height: 150px !important;
  height: auto !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  grid-template-rows: auto auto 1fr auto !important;
  gap: 8px 10px !important;
}

.geigro-product-card .geigro-product-body > .geigro-product-badges {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-height: 20px !important;
  max-height: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  overflow: visible !important;
  visibility: visible !important;
}

.geigro-product-card .geigro-product-body > .geigro-product-badges[hidden] {
  display: flex !important;
}

.geigro-product-card .geigro-product-body > .geigro-product-badges span {
  min-height: 20px !important;
  max-width: 100% !important;
  padding: 0 7px !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  color: rgba(247, 247, 245, 0.74) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.025em !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.geigro-product-card .geigro-product-body > .geigro-product-badges span.is-kind {
  color: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.geigro-product-card .geigro-product-heading {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-height: 0 !important;
  display: block !important;
}

.geigro-product-card .geigro-product-heading .product-name,
.geigro-product-card .geigro-product-heading .product-name a {
  min-height: 0 !important;
}

.geigro-product-card .geigro-product-heading .product-name a {
  color: #fff !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  -webkit-line-clamp: 2 !important;
}

.geigro-product-card > .geigro-product-body > .product-price {
  grid-column: 1 !important;
  grid-row: 4 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 930 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.geigro-product-card .geigro-product-actions {
  grid-column: 2 !important;
  grid-row: 4 !important;
  width: auto !important;
  margin: 0 !important;
  display: block !important;
  justify-self: end !important;
  align-self: end !important;
}

.geigro-product-card .geigro-details-button {
  display: none !important;
}

.geigro-product-card .geigro-cart-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  min-height: 42px !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: none !important;
}

.geigro-product-card.is-sale .product-price-current {
  color: #ff5a1f !important;
}

.geigro-product-card.is-sale .geigro-cart-icon-button:not(.is-added):not([disabled]) {
  border-color: rgba(255, 90, 31, 0.42) !important;
  color: #ff7448 !important;
  background: rgba(255, 90, 31, 0.08) !important;
}

@media (max-width: 720px) {
  .geigro-product-card .geigro-product-body {
    min-height: 142px !important;
    padding: 10px !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 7px 8px !important;
  }

  .geigro-product-card .geigro-product-heading .product-name a {
    font-size: 13px !important;
  }

  .geigro-product-card > .geigro-product-body > .product-price {
    min-height: 38px !important;
    font-size: 15px !important;
  }

  .geigro-product-card .geigro-cart-icon-button {
    width: 40px !important;
    min-width: 40px !important;
    min-height: 38px !important;
  }
}

/* Mobile menu always uses the viewport, independent of page scroll position. */
@media (max-width: 820px) {
  html.is-mobile-menu-open .geigro-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    min-height: var(--geigro-header-h) !important;
    margin: 0 !important;
    background: rgb(3, 5, 8) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.09) !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: 999 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h)) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: rgb(3, 5, 8) !important;
    transform: translateY(-10px) !important;
  }

html.is-mobile-menu-open body > .geigro-mobile-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}

/* Final responsive fixes: package sections, cards, filters and basket. */
.product-dynamic-sections {
  display: grid;
  gap: 16px;
}

.product-dynamic-section {
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(8, 12, 16, 0.94) !important;
}

.product-dynamic-section > h2 {
  margin: 0 0 16px !important;
  color: #f7f7f5 !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.15 !important;
}

.product-dynamic-section-content > :first-child {
  margin-top: 0 !important;
}

.product-dynamic-section-content > :last-child {
  margin-bottom: 0 !important;
}

.product-dynamic-spec-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.product-spec-copy {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 7px !important;
}

.product-spec-copy svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
}

.product-spec-copy.is-copied {
  color: #58d68d !important;
  border-color: rgba(88, 214, 141, 0.5) !important;
}

.page-package .package-price:has(del.discount),
.page-package .package-price:has(del.discount) > span,
.page-package .package-price:has(del.discount) strong {
  color: #ff5a1f !important;
}

.geigro-product-card {
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
}

.geigro-product-card:hover,
.geigro-product-card:focus-within {
  border: 1px solid rgba(255, 255, 255, 0.48) !important;
}

.geigro-product-card.is-sale,
.geigro-product-card.is-sale:hover,
.geigro-product-card.is-sale:focus-within {
  border-color: rgba(255, 90, 31, 0.82) !important;
}

@media (min-width: 981px) {
  .geigro-products-layout {
    align-items: stretch !important;
  }

  .geigro-filter-sidebar {
    position: sticky !important;
    top: calc(var(--geigro-header-h) + 16px) !important;
    align-self: start !important;
    height: calc(100dvh - var(--geigro-header-h) - 32px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    min-height: 0 !important;
    padding-right: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }

  .geigro-filter-sidebar .product-filter-scroll > .product-filter-section:nth-of-type(2) {
    order: 1 !important;
  }

  .geigro-filter-sidebar .product-filter-price-section {
    order: 2 !important;
  }

  .geigro-filter-sidebar .product-filter-groups {
    order: 3 !important;
  }

  .geigro-filter-sidebar .product-filter-section,
  .geigro-filter-sidebar .filter-accordion {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .geigro-filter-sidebar .product-filter-section-panel,
  .geigro-filter-sidebar .filter-accordion-panel {
    display: none !important;
    position: static !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .geigro-filter-sidebar .product-filter-section.is-open > .product-filter-section-panel,
  .geigro-filter-sidebar .filter-accordion.is-open > .filter-accordion-panel {
    display: block !important;
  }

  .geigro-filter-sidebar .product-filter-section-inner,
  .geigro-filter-sidebar .filter-accordion-options {
    position: static !important;
    height: auto !important;
    padding: 8px 0 12px !important;
    overflow: visible !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list,
  .geigro-filter-sidebar .filter-accordion-options {
    display: grid !important;
    gap: 7px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label {
    position: relative !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-actions {
    padding: 10px 0 0 !important;
    background: #05080b !important;
  }

  .geigro-filter-sidebar .product-filter-reset {
    width: auto !important;
    max-width: 180px !important;
  }
}

@media (max-width: 980px) {
  .geigro-filter-sidebar,
  .geigro-filter-sidebar .product-filter-bar {
    transition: opacity 180ms ease, transform 220ms ease, visibility 180ms ease !important;
  }

  html.is-filter-drawer-open .geigro-filter-sidebar,
  .geigro-filter-sidebar.is-open {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

@media (max-width: 768px) {
  .product-dynamic-sections {
    gap: 10px !important;
  }

  .product-dynamic-section {
    padding: 14px !important;
  }

  .product-dynamic-section > h2 {
    margin-bottom: 12px !important;
    font-size: 19px !important;
  }

  .product-dynamic-spec-grid,
  .page-package .product-spec-grid,
  .page-package .product-other-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .product-spec-card {
    min-width: 0 !important;
    padding: 10px !important;
  }

  .product-spec-value-row {
    min-width: 0 !important;
    gap: 6px !important;
  }

  .product-spec-value-row strong {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .basket-benefits .basket-trust,
  .basket-benefits .basket-payment-methods,
  .basket-payment-methods,
  .basket-trust {
    display: none !important;
  }

  .basket-benefits {
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .basket-layout,
  .basket-page,
  .basket-content {
    padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
  }

  .basket-summary {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 7px 12px !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 90, 31, 0.35) !important;
    border-radius: 0 !important;
    background: rgba(4, 7, 10, 0.97) !important;
    backdrop-filter: blur(18px) !important;
    transform: none !important;
  }

  .basket-summary > h3 {
    display: none !important;
  }

  .basket-mobile-cost-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: max-content !important;
    min-height: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    color: rgba(255, 255, 255, 0.64) !important;
    background: transparent !important;
    font-size: 11px !important;
  }

  .basket-summary-row:not(.basket-summary-total) {
    display: none !important;
    grid-column: 1 / -1 !important;
  }

  .basket-summary.is-mobile-expanded .basket-summary-row:not(.basket-summary-total) {
    display: flex !important;
  }

  .basket-summary-total {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    border: 0 !important;
  }

  .basket-summary-total strong:first-child {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.58) !important;
  }

  .basket-summary-total strong:last-child {
    font-size: 22px !important;
    color: #fff !important;
  }

  .basket-summary-actions {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .basket-summary-actions .btn-primary {
    width: auto !important;
    min-width: 122px !important;
    min-height: 46px !important;
    padding: 0 17px !important;
    border-radius: 7px !important;
    background: #ff5a1f !important;
  }

  .basket-mobile-coupon-toggle {
    position: absolute !important;
    right: 14px !important;
    bottom: calc(100% + 8px) !important;
    width: auto !important;
  }

  .auth-basket-panel {
    width: min(calc(100% - 28px), 560px) !important;
    margin: 28px auto !important;
    padding: 24px 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 8px !important;
    background: rgba(9, 13, 17, 0.96) !important;
    text-align: center !important;
  }

  .auth-basket-panel .btn-primary {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
  }
}

@media (max-width: 340px) {
  .product-dynamic-spec-grid,
  .page-package .product-spec-grid,
  .page-package .product-other-spec-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile basket: opaque checkout dock and compact item controls. */
@media (max-width: 768px) {
  .basket-page,
  .basket-content,
  .basket-items {
    padding-bottom: calc(164px + env(safe-area-inset-bottom)) !important;
  }

  .basket-shop-card {
    position: relative !important;
  }

  .basket-item-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .basket-item-quantity,
  .basket-item-kind {
    min-height: 27px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: rgba(255, 255, 255, 0.82) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: 0.035em !important;
  }

  .basket-item-quantity {
    border-color: rgba(255, 90, 31, 0.44) !important;
    color: #fff !important;
    background: rgba(255, 90, 31, 0.08) !important;
  }

  .basket-remove {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 76, 76, 0.52) !important;
    border-radius: 50% !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #ff5c5c !important;
    background: rgba(255, 76, 76, 0.08) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .basket-remove span {
    display: block !important;
    transform: translateY(-1px) !important;
  }

  .basket-summary {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    min-height: 128px !important;
    max-height: min(46dvh, 310px) !important;
    padding: 10px 14px calc(11px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    gap: 6px 12px !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 90, 31, 0.38) !important;
    border-radius: 0 !important;
    background: #05080b !important;
    box-shadow: 0 -14px 30px rgba(0, 0, 0, 0.78) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .basket-summary::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: #05080b !important;
  }

  .basket-mobile-cost-toggle {
    display: none !important;
  }

  .basket-summary-row:not(.basket-summary-total) {
    grid-column: 1 / -1 !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    color: rgba(255, 255, 255, 0.66) !important;
    font-size: 10px !important;
  }

  .basket-summary-row[hidden] {
    display: none !important;
  }

  .basket-summary-discount:not([hidden]) {
    color: #64d996 !important;
  }

  .basket-summary-discount:not([hidden]) span:last-child {
    color: #64d996 !important;
    font-weight: 850 !important;
  }

  .basket-summary-total {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 5px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 3px !important;
    border: 0 !important;
  }

  .basket-summary-total strong:first-child {
    display: block !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 9px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .basket-summary-total strong:last-child,
  .basket-summary-total [data-basket-total] {
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  .basket-summary-actions {
    grid-column: 2 !important;
    grid-row: auto !important;
    margin: 0 !important;
    align-self: end !important;
  }

  .basket-summary-actions .btn-primary {
    min-width: 126px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: #ff5a1f !important;
    box-shadow: none !important;
  }

  .basket-mobile-coupon-toggle {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: max-content !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 999px !important;
    color: rgba(255, 255, 255, 0.78) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    font-size: 9px !important;
  }

  html.is-mobile-coupon-open .basket-coupon {
    z-index: 1301 !important;
  }

  html.is-mobile-coupon-open .basket-mobile-coupon-backdrop {
    z-index: 1300 !important;
  }
}

/* Dynamic package sections must size to their own content. */
.page-package .product-dynamic-sections {
  min-height: 0 !important;
  height: auto !important;
  align-items: start !important;
}

.page-package .product-dynamic-section,
.page-package .product-description-panel.product-dynamic-section {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
  overflow: visible !important;
}

.page-package .product-dynamic-section-content {
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
  color: rgba(247, 247, 245, 0.8) !important;
}

.page-package .product-dynamic-section-content p {
  margin: 0 0 9px !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-package .product-dynamic-section-content p:last-child {
  margin-bottom: 0 !important;
}

.page-package .product-description-bullet {
  padding-left: 2px !important;
}

/* Final mobile basket polish. */
[data-coupon-help] {
  display: none !important;
}

.basket-coupon-form {
  position: relative !important;
  isolation: isolate !important;
}

.basket-coupon.is-checking .basket-coupon-form::before {
  display: none !important;
  content: none !important;
}

.basket-coupon.is-checking .basket-coupon-form input[data-coupon-input] {
  border: 2px solid transparent !important;
  background:
    linear-gradient(#080b0f, #080b0f) padding-box,
    linear-gradient(
      90deg,
      rgba(255, 90, 31, 0.22),
      rgba(255, 190, 130, 0.96),
      rgba(255, 90, 31, 0.72),
      rgba(255, 255, 255, 0.36),
      rgba(255, 90, 31, 0.22)
    ) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
  background-position: 0 0, 0% 50% !important;
  box-shadow: 0 0 0 1px rgba(255, 90, 31, 0.06), 0 0 16px rgba(255, 90, 31, 0.18) !important;
  animation: geigro-coupon-input-border-flow 1500ms linear infinite !important;
}

.basket-coupon.is-checking .basket-coupon-form input,
.basket-coupon.is-checking .basket-coupon-form button,
.basket-coupon.is-checking .basket-coupon-form a {
  position: relative !important;
  z-index: 1 !important;
}

.basket-coupon.is-checking .basket-coupon-form button.is-loading::after {
  display: none !important;
  content: none !important;
}

.basket-coupon.is-checking .basket-coupon-form button.is-loading {
  opacity: 0.86 !important;
  background: rgba(255, 74, 22, 0.78) !important;
}

@keyframes geigro-coupon-border-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 260% 50%; }
}

@keyframes geigro-coupon-input-border-flow {
  0% { background-position: 0 0, 0% 50%; }
  100% { background-position: 0 0, 260% 50%; }
}

@media (max-width: 768px) {
  .basket-page {
    padding-top: 16px !important;
  }

  .basket-page-header {
    min-height: 0 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 8px 12px !important;
  }

  .basket-page-header > div {
    min-height: 0 !important;
  }

  .basket-page-header h1 {
    margin: 0 !important;
    font-size: 27px !important;
    line-height: 1 !important;
  }

  .basket-page-header p {
    margin: 5px 0 0 !important;
    font-size: 12px !important;
  }

  .basket-page-header > a {
    min-height: 36px !important;
    padding: 0 11px !important;
    align-self: end !important;
  }

  .basket-item-delivery {
    display: none !important;
  }

  .basket-shop-card {
    padding-bottom: 10px !important;
  }

  .basket-item {
    align-items: start !important;
  }

  .basket-item-info {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .basket-item-actions {
    width: 100% !important;
  }

  .basket-item-meta {
    grid-column: 2 !important;
    width: auto !important;
    margin: 7px 0 0 !important;
    justify-self: start !important;
    align-self: start !important;
    text-align: left !important;
  }

  .basket-item-meta .price,
  .basket-item-price {
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    text-align: left !important;
  }

  .basket-item-price-original {
    order: 1 !important;
    font-size: 11px !important;
  }

  .basket-item-price-current {
    order: 2 !important;
    font-size: 18px !important;
  }

  .basket-coupon {
    opacity: 1 !important;
    background: #080b0f !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .basket-mobile-coupon-backdrop {
    background: rgba(0, 0, 0, 0.82) !important;
    backdrop-filter: blur(3px) !important;
  }

  .basket-mobile-coupon-close,
  .basket-coupon-remove {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-grid !important;
    place-items: center !important;
    line-height: 1 !important;
    aspect-ratio: 1 !important;
  }

  .basket-summary {
    grid-template-rows: auto auto auto auto !important;
    gap: 6px 12px !important;
  }

  .basket-mobile-coupon-control {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .basket-mobile-active-coupon {
    max-width: 42vw !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .basket-mobile-active-coupon[hidden] {
    display: none !important;
  }

  .basket-mobile-coupon-toggle {
    position: static !important;
    width: auto !important;
    min-height: 29px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .basket-summary-row:not(.basket-summary-total) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .basket-summary-total,
  .basket-summary-actions {
    grid-row: auto !important;
  }
}

/* Mobile menu: always above fixed shop UI with smooth open and close states. */
@media (max-width: 820px) {
  body {
    padding-top: var(--geigro-header-h, 92px) !important;
  }

  .geigro-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    inset: 0 0 auto 0 !important;
    z-index: 10002 !important;
    width: 100% !important;
    min-height: var(--geigro-header-h, 92px) !important;
    margin: 0 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.is-mobile-menu-open .geigro-header,
  html.is-mobile-menu-closing .geigro-header {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 10002 !important;
    width: 100% !important;
    min-height: var(--geigro-header-h) !important;
    background: #030508 !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.09) !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: 10001 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h)) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(24px, 5vh, 46px) 22px calc(20px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: hidden !important;
    opacity: 1 !important;
    pointer-events: none !important;
    background: #030508 !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, -8px, 0) !important;
    transform-origin: top center !important;
    transition:
      clip-path 340ms cubic-bezier(0.22, 0.78, 0.22, 1),
      transform 340ms cubic-bezier(0.22, 0.78, 0.22, 1),
      visibility 0s linear 340ms !important;
    isolation: isolate !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu,
  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    visibility: visible !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 0 0) !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, -8px, 0) !important;
  }

  body > .geigro-mobile-menu::before {
    content: "" !important;
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: -1 !important;
    background: #030508 !important;
    pointer-events: none !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 0 !important;
    transform: translate3d(0, -12px, 0) !important;
    transition:
      opacity 210ms ease,
      transform 280ms cubic-bezier(0.22, 0.78, 0.22, 1),
      color 180ms ease !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(1),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(1) > summary {
    transition-delay: 90ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(2),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(2) > summary {
    transition-delay: 145ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(3),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(3) > summary {
    transition-delay: 200ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(n+4),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(n+4) > summary {
    transition-delay: 245ms !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 0 !important;
    transform: translate3d(0, 14px, 0) !important;
    transition:
      opacity 220ms ease,
      transform 300ms cubic-bezier(0.22, 0.78, 0.22, 1) !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 210ms !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-nav-group > summary,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 0 !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-open .basket-summary,
  html.is-mobile-menu-closing .basket-summary,
  html.is-mobile-menu-open .basket-coupon,
  html.is-mobile-menu-closing .basket-coupon,
  html.is-mobile-menu-open .geigro-filter-sidebar,
  html.is-mobile-menu-closing .geigro-filter-sidebar {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 820px) {
  body > .geigro-mobile-menu,
  body > .geigro-mobile-menu *,
  body > .geigro-mobile-menu *::before,
  body > .geigro-mobile-menu *::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* Vehicle spec cards: center content and widen only when needed. */
.page-package .product-dynamic-spec-grid {
  align-items: stretch !important;
}

.page-package .product-spec-card {
  min-width: 0 !important;
  min-height: 104px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-align: center !important;
}

.page-package .product-spec-card > span {
  width: 100% !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

.page-package .product-spec-info {
  position: relative;
  z-index: 4;
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 17px;
  padding: 0;
  border: 1px solid rgba(125, 211, 252, 0.72);
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #7dd3fc;
  background: rgba(125, 211, 252, 0.1);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  font-style: normal;
  cursor: help;
  vertical-align: middle;
  transform: translateY(-1px);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.page-package .product-spec-info::after {
  content: attr(data-info);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 20;
  width: max-content;
  max-width: min(280px, 72vw);
  padding: 8px 10px;
  border: 1px solid rgba(125, 211, 252, 0.28);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(7, 10, 14, 0.96);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.38);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, 6px, 0) scale(0.98);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.19, 1, 0.22, 1);
}

.page-package .product-spec-info::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 5px);
  z-index: 21;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(125, 211, 252, 0.28);
  border-bottom: 1px solid rgba(125, 211, 252, 0.28);
  background: rgba(7, 10, 14, 0.96);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, 6px, 0) rotate(45deg);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.19, 1, 0.22, 1);
}

.page-package .product-spec-info:hover,
.page-package .product-spec-info:focus-visible {
  border-color: rgba(125, 211, 252, 0.94);
  background: rgba(125, 211, 252, 0.16);
  transform: translateY(-1px) scale(1.04);
  outline: 0;
}

.page-package .product-spec-info:hover::before,
.page-package .product-spec-info:hover::after,
.page-package .product-spec-info:focus-visible::before,
.page-package .product-spec-info:focus-visible::after {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}

.page-package .product-spec-info:hover::before,
.page-package .product-spec-info:focus-visible::before {
  transform: translate3d(-50%, 0, 0) rotate(45deg);
}

.page-package .product-spec-value-row {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  text-align: center !important;
}

.page-package .product-spec-value-row strong {
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: center !important;
}

.page-package .product-spec-card.is-wide,
.page-package .product-spec-spawn {
  grid-column: span 2 !important;
}

.page-package .product-spec-card.is-wide .product-spec-value-row strong,
.page-package .product-spec-spawn .product-spec-value-row strong {
  white-space: nowrap !important;
}

/* Filter accordions animate their real content instead of popping. */
.product-filter-section-panel,
.filter-accordion-panel,
.geigro-filter-sidebar .product-filter-section-panel,
.geigro-filter-sidebar .filter-accordion-panel {
  display: grid !important;
  grid-template-rows: 0fr !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-6px) !important;
  transition:
    grid-template-rows 300ms cubic-bezier(0.22, 0.78, 0.22, 1),
    opacity 210ms ease,
    transform 300ms cubic-bezier(0.22, 0.78, 0.22, 1) !important;
}

.product-filter-section-panel > *,
.filter-accordion-panel > *,
.geigro-filter-sidebar .product-filter-section-panel > *,
.geigro-filter-sidebar .filter-accordion-panel > * {
  min-height: 0 !important;
  overflow: hidden !important;
}

.product-filter-section.is-open > .product-filter-section-panel,
.filter-accordion.is-open > .filter-accordion-panel,
.geigro-filter-sidebar .product-filter-section.is-open > .product-filter-section-panel,
.geigro-filter-sidebar .filter-accordion.is-open > .filter-accordion-panel {
  display: grid !important;
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Once a reveal starts it completes independently from further scrolling. */
html.js .geigro-reveal {
  filter: none !important;
  opacity: 0 !important;
  transform: translateY(18px) scale(0.985) !important;
  transition:
    opacity 420ms cubic-bezier(0.22, 0.78, 0.22, 1),
    transform 420ms cubic-bezier(0.22, 0.78, 0.22, 1) !important;
  transition-delay: var(--reveal-delay, 0ms) !important;
  will-change: opacity, transform !important;
}

html.js .geigro-reveal.is-visible {
  filter: none !important;
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

@media (max-width: 340px) {
  .page-package .product-spec-card.is-wide,
  .page-package .product-spec-spawn {
    grid-column: span 1 !important;
  }
}

.page-package .package-vat-label {
  display: none;
}

/* Mobile-only product detail redesign. */
@media (max-width: 768px) {
  .page-package .package-detail-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 12px !important;
  }

  .page-package .product-detail {
    width: 100% !important;
    padding: 14px 0 calc(112px + env(safe-area-inset-bottom)) !important;
  }

  .page-package .product-detail-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .page-package .product-gallery {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 68px !important;
    grid-template-rows: auto !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .page-package .product-gallery-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #080c10 !important;
  }

  .page-package .product-gallery-image,
  .page-package .product-gallery-frame,
  .page-package .product-gallery-fallback {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: inherit !important;
  }

  .page-package .product-gallery-thumbs {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 68px !important;
    min-width: 68px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
  }

  .page-package .product-gallery-thumb {
    width: 68px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #090d11 !important;
  }

  .page-package .product-gallery-thumb.is-active {
    border-color: #ff5a1f !important;
    box-shadow: 0 0 0 1px rgba(255, 90, 31, 0.25) !important;
  }

  .page-package .product-gallery-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .page-package .product-gallery-thumbs > .product-gallery-thumb:nth-of-type(n+4) {
    display: none !important;
  }

  .page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb {
    display: block !important;
  }

  .page-package .product-gallery-more {
    width: 68px !important;
    min-height: 52px !important;
    padding: 6px 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 9px !important;
    display: grid !important;
    place-items: center !important;
    gap: 2px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    background: #0b0f13 !important;
    text-align: center !important;
  }

  .page-package .product-gallery-more strong {
    color: #ff6a36 !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .page-package .product-gallery-more span {
    font-size: 7px !important;
    line-height: 1.15 !important;
  }

  .page-package .product-purchase-panel {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 17px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 20px !important;
    display: block !important;
    background: #090d11 !important;
    box-shadow: none !important;
  }

  .page-package .product-category-link {
    display: none !important;
  }

  .page-package .product-detail-title {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
  }

  .page-package .product-detail-badges {
    margin: 11px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .page-package .product-detail-badges[hidden] {
    display: flex !important;
  }

  .page-package .product-detail-badges span {
    min-height: 25px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 90, 31, 0.4) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background: rgba(255, 90, 31, 0.07) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .page-package .product-detail-summary {
    margin: 13px 0 0 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    color: rgba(255, 255, 255, 0.66) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  .page-package .product-detail-summary[hidden] {
    display: none !important;
  }

  .page-package .product-dynamic-sections {
    margin-top: 12px !important;
    gap: 10px !important;
  }

  .page-package .product-dynamic-section,
  .page-package .product-description-panel.product-dynamic-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 17px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 20px !important;
    background: #090d11 !important;
    box-shadow: none !important;
  }

  .page-package .product-dynamic-section > h2 {
    margin: 0 0 14px !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  .page-package .product-dynamic-section-content {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  .page-package .product-description-bullet {
    position: relative !important;
    padding-left: 16px !important;
  }

  .page-package .product-description-bullet::before {
    content: "" !important;
    position: absolute !important;
    top: 0.72em !important;
    left: 2px !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: #ff5a1f !important;
  }

  .page-package .product-price-block {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 950 !important;
    width: 100% !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 0 !important;
    background: #05080b !important;
    box-shadow: 0 -12px 26px rgba(0, 0, 0, 0.46) !important;
  }

  .page-package .package-actions {
    width: min(100%, 720px) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 2px 12px !important;
  }

  .page-package .package-price {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
  }

  .page-package .package-vat-label {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: block !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  .page-package .package-action-buttons {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    margin: 0 !important;
  }

  .page-package .package-action-buttons .wide {
    width: auto !important;
    min-width: 152px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
    background: #ff5a1f !important;
    font-size: 12px !important;
  }

  .page-package .package-action-buttons .is-added {
    border-color: rgba(52, 211, 153, 0.55) !important;
    background: rgba(16, 89, 65, 0.78) !important;
  }

  html.is-mobile-menu-open .page-package .product-price-block,
  html.is-mobile-menu-closing .page-package .product-price-block {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 390px) {
  .page-package .product-gallery {
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }

  .page-package .product-gallery-thumbs,
  .page-package .product-gallery-thumb,
  .page-package .product-gallery-more {
    width: 58px !important;
    min-width: 58px !important;
  }

  .page-package .package-action-buttons .wide {
    min-width: 138px !important;
    padding-inline: 13px !important;
  }
}

/* Mobile home snap starts at the Vehicles heading; header geometry stays fixed. */
@media (max-width: 720px) {
  .page-index .geigro-category-slider {
    scroll-margin-top: calc(var(--geigro-header-h) + 10px) !important;
    padding-top: 10px !important;
  }

  .page-index .geigro-slide-heading {
    margin-top: 0 !important;
  }

  .page-index .geigro-header,
  html.is-home-top .page-index .geigro-header {
    min-height: var(--geigro-header-h) !important;
    height: var(--geigro-header-h) !important;
  }

  .page-index .geigro-header-inner,
  html.is-home-top .page-index .geigro-header-inner {
    min-height: var(--geigro-header-h) !important;
    height: var(--geigro-header-h) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .page-index .geigro-brand-logo,
  html.is-home-top .page-index .geigro-brand-logo {
    width: 122px !important;
    max-width: 122px !important;
    height: auto !important;
    max-height: 42px !important;
    transform: none !important;
    transition: none !important;
  }

  .page-index .geigro-header-actions,
  html.is-home-top .page-index .geigro-header-actions {
    height: 44px !important;
    transform: none !important;
  }

  .page-index .geigro-cart-button,
  .page-index .geigro-login-button,
  .page-index .geigro-mobile-menu-toggle,
  html.is-home-top .page-index .geigro-cart-button,
  html.is-home-top .page-index .geigro-login-button,
  html.is-home-top .page-index .geigro-mobile-menu-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    transform: none !important;
  }
}

/* Final mobile home category fit: keep Vehicles visible and the value badges inside the viewport. */
@media (max-width: 720px) {
  .page-index .geigro-category-slider {
    --home-visible-h: calc(100svh - var(--geigro-header-h) - env(safe-area-inset-bottom, 0px));
    min-height: var(--home-visible-h) !important;
    padding: clamp(8px, 1.6svh, 14px) 14px max(64px, env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: clamp(8px, 1.5svh, 14px) !important;
    align-content: stretch !important;
    overflow: hidden !important;
    scroll-margin-top: calc(var(--geigro-header-h) + 8px) !important;
  }

  .page-index .geigro-slider-track,
  .page-index .geigro-slider-slide {
    min-height: 0 !important;
    height: 100% !important;
  }

  .page-index .geigro-slider-slide,
  .page-index .geigro-slider-slide:first-child,
  .page-index .geigro-slider-slide.is-active {
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: clamp(8px, 1.35svh, 13px) !important;
  }

  .page-index .geigro-slide-heading span {
    font-size: clamp(28px, 11.2vw, 48px) !important;
    line-height: 0.92 !important;
    letter-spacing: 0.02em !important;
  }

  .page-index .geigro-category-row {
    min-height: 0 !important;
    align-content: start !important;
    gap: clamp(8px, 1.35svh, 12px) !important;
  }

  .page-index .geigro-category-card {
    min-height: clamp(92px, 15.2svh, 138px) !important;
    height: clamp(92px, 15.2svh, 138px) !important;
    padding: clamp(9px, 1.5svh, 13px) !important;
    border-radius: 11px !important;
  }

  .page-index .geigro-category-title {
    font-size: clamp(16px, 4.9vw, 25px) !important;
    line-height: 0.96 !important;
  }

  .page-index .geigro-category-title::after {
    width: clamp(24px, 8vw, 36px) !important;
    margin-top: clamp(4px, 0.8svh, 8px) !important;
  }

  .page-index .geigro-category-image-wrap {
    height: clamp(42px, 7.4svh, 72px) !important;
    width: 98% !important;
    margin-top: 0 !important;
  }

  .page-index .geigro-slider-value-strip {
    align-self: end !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(7px, 1.2svh, 10px) !important;
    padding-top: 0 !important;
  }

  .page-index .geigro-slider-value-strip > div {
    min-height: clamp(70px, 10.5svh, 96px) !important;
    padding: clamp(7px, 1.2svh, 10px) 5px !important;
    border-radius: 10px !important;
  }

  .page-index .geigro-slider-value-strip .geigro-value-icon {
    width: clamp(20px, 5vw, 28px) !important;
    height: clamp(20px, 5vw, 28px) !important;
    margin-bottom: clamp(4px, 0.8svh, 8px) !important;
  }

  .page-index .geigro-slider-value-strip strong {
    font-size: clamp(9px, 2.65vw, 13px) !important;
    line-height: 1.04 !important;
  }

  .page-index .geigro-slider-value-strip p {
    margin-top: 4px !important;
    font-size: clamp(8px, 2.35vw, 11px) !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 390px) {
  .page-index .geigro-category-slider {
    padding-inline: 12px !important;
    padding-bottom: max(58px, env(safe-area-inset-bottom, 0px)) !important;
  }

  .page-index .geigro-category-card {
    min-height: clamp(84px, 14.4svh, 116px) !important;
    height: clamp(84px, 14.4svh, 116px) !important;
  }

  .page-index .geigro-slide-heading span {
    font-size: clamp(26px, 10.6vw, 40px) !important;
  }

  .page-index .geigro-slider-value-strip > div {
    min-height: 66px !important;
  }
}

/* Final mobile menu motion: roll-down panel, staggered links, no background popping. */
@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.is-mobile-menu-open .geigro-header,
  html.is-mobile-menu-closing .geigro-header {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 30020 !important;
    width: 100% !important;
    background: #030508 !important;
    transform: none !important;
    transition: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: 30010 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h)) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(30px, 5.5svh, 48px) 22px calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: hidden !important;
    opacity: 1 !important;
    pointer-events: none !important;
    background: #030508 !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    clip-path: inset(0 0 100% 0 round 0) !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: top center !important;
    will-change: clip-path !important;
    transition:
      clip-path 460ms cubic-bezier(0.18, 0.88, 0.24, 1),
      visibility 0s linear 460ms !important;
    isolation: isolate !important;
    contain: paint !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu,
  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    visibility: visible !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 0 0 round 0) !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 100% 0 round 0) !important;
    transition:
      clip-path 430ms cubic-bezier(0.7, 0, 0.84, 0),
      visibility 0s linear 520ms !important;
    transition-delay: 90ms, 520ms !important;
  }

  body > .geigro-mobile-menu::before {
    content: "" !important;
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: -1 !important;
    background: #030508 !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav {
    align-self: start !important;
    display: grid !important;
    gap: 28px !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 0 !important;
    transform: translate3d(0, -18px, 0) !important;
    transition:
      opacity 240ms ease,
      transform 340ms cubic-bezier(0.18, 0.88, 0.24, 1),
      color 180ms ease !important;
    transition-delay: 0s !important;
    will-change: opacity, transform !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(1),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(1) > summary {
    transition-delay: 150ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(2),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(2) > summary {
    transition-delay: 220ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(3),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(3) > summary {
    transition-delay: 290ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(n+4),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(n+4) > summary {
    transition-delay: 340ms !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    align-self: end !important;
    opacity: 0 !important;
    transform: translate3d(0, 16px, 0) !important;
    transition:
      opacity 240ms ease,
      transform 330ms cubic-bezier(0.18, 0.88, 0.24, 1) !important;
    transition-delay: 0s !important;
    will-change: opacity, transform !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 420ms !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 0 !important;
    transform: translate3d(0, 14px, 0) !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 0 !important;
    transform: translate3d(0, -12px, 0) !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-open .basket-summary,
  html.is-mobile-menu-closing .basket-summary,
  html.is-mobile-menu-open .basket-coupon,
  html.is-mobile-menu-closing .basket-coupon,
  html.is-mobile-menu-open .product-price-block,
  html.is-mobile-menu-closing .product-price-block,
  html.is-mobile-menu-open .geigro-category-titlebar,
  html.is-mobile-menu-closing .geigro-category-titlebar {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 180ms ease, visibility 0s linear 180ms !important;
  }
}

/* Large listing cards: keep discount badge beside the old/current price stack. */
@media (min-width: 821px) {
  .geigro-main-nav {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
  }

  .geigro-sales-nav-link {
    margin-left: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    min-height: 46px !important;
    padding-block: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-section,
  .geigro-filter-sidebar .filter-accordion {
    margin: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    gap: 0 !important;
  }

  .geigro-product-card .product-price-discount {
    width: max-content !important;
    display: grid !important;
    grid-template-columns: auto auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-items: start !important;
    column-gap: 8px !important;
    row-gap: 2px !important;
  }

  .geigro-product-card .product-price-discount del {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .geigro-product-card .product-price-discount .product-price-current {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .geigro-product-card .product-price-discount .product-discount-badge {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin: 0 !important;
  }
}

/* Desktop filter cleanup: compact rows, no overlapping labels/counts. */
@media (min-width: 1024px) {
  .geigro-products-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: clamp(32px, 4vw, 72px) !important;
    overflow: visible !important;
  }

  .geigro-filter-sidebar,
  .geigro-filter-sidebar * {
    box-sizing: border-box !important;
  }

  .geigro-filter-sidebar {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    top: calc(var(--geigro-header-h) + 18px) !important;
  }

  .geigro-filter-sidebar .product-filter-bar {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-heading,
  .geigro-filter-sidebar .product-filter-apply,
  .geigro-filter-sidebar .product-filter-close-action {
    display: none !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    display: block !important;
    padding: 0 8px 12px 0 !important;
    gap: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-section,
  .geigro-filter-sidebar .filter-accordion {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 28px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #f5f5f5 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger::after,
  .geigro-filter-sidebar .filter-accordion-trigger::after {
    right: 2px !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    margin-top: -7px !important;
    transform-origin: center !important;
  }

  .geigro-filter-sidebar .product-filter-section-inner,
  .geigro-filter-sidebar .filter-accordion-options {
    padding: 0 0 14px !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual {
    position: relative !important;
    height: 88px !important;
    margin: 0 0 10px !important;
    padding: 10px 0 0 !important;
  }

  .geigro-filter-sidebar .range-current-values,
  .geigro-filter-sidebar .range-labels {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .geigro-filter-sidebar .range-current-values {
    margin-bottom: 26px !important;
    color: rgba(255, 255, 255, 0.82) !important;
  }

  .geigro-filter-sidebar .range-line,
  .geigro-filter-sidebar .range-fill {
    top: 44px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  .geigro-filter-sidebar .range-input {
    top: 34px !important;
    width: 100% !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list,
  .geigro-filter-sidebar .filter-accordion-options {
    display: grid !important;
    gap: 8px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label {
    position: relative !important;
    min-height: 42px !important;
    width: 100% !important;
    padding: 0 42px 0 42px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: left !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button::before,
  .geigro-filter-sidebar .filter-accordion-options label::before {
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    width: 14px !important;
    height: 14px !important;
    margin-top: -7px !important;
    border-radius: 999px !important;
    border: 1.5px solid rgba(255, 255, 255, 0.36) !important;
    background: transparent !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button::after {
    content: attr(data-filter-count) !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    transform: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button:not([data-filter-count])::after,
  .geigro-filter-sidebar .product-filter-choice-list button[data-filter-count=""]::after {
    content: "" !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button span,
  .geigro-filter-sidebar .filter-option-name {
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .geigro-filter-sidebar .filter-option-count {
    justify-self: end !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .geigro-filter-sidebar .filter-accordion-options input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button.is-selected,
  .geigro-filter-sidebar .filter-accordion-options label:has(input:checked) {
    color: #fff !important;
    border-color: rgba(255, 82, 33, 0.72) !important;
    background: rgba(255, 82, 33, 0.14) !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button.is-selected::before,
  .geigro-filter-sidebar .filter-accordion-options label:has(input:checked)::before {
    border-color: #ff5221 !important;
    box-shadow: inset 0 0 0 4px rgba(255, 82, 33, 0.92) !important;
  }

  .geigro-filter-sidebar .product-filter-reset {
    width: auto !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    margin-top: 16px !important;
    border-radius: 8px !important;
  }
}

/* Basket item badges and top-right remove action. */
.basket-shop-card,
.basket-item {
  position: relative !important;
}

.basket-item-quantity,
.basket-item-kind,
.basket-item-category {
  min-height: 25px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.basket-item-kind {
  border-color: rgba(255, 90, 31, 0.55) !important;
  background: rgba(255, 90, 31, 0.09) !important;
  color: #fff !important;
}

.basket-item-category {
  max-width: 170px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.basket-remove {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 3 !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 19px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.basket-remove:hover,
.basket-remove:focus-visible {
  border-color: rgba(255, 76, 76, 0.7) !important;
  color: #ff6b6b !important;
  background: rgba(255, 76, 76, 0.1) !important;
}

.basket-remove span {
  transform: translateY(-1px) !important;
}

@media (min-width: 769px) {
  .basket-item-meta {
    padding-right: 42px !important;
  }
}

.basket-item-actions .basket-item-badge,
.basket-item-actions .basket-item-kind.basket-item-badge,
.basket-item-actions .basket-item-category.basket-item-badge {
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.basket-item-actions .basket-item-kind.basket-item-badge {
  border-color: rgba(255, 90, 31, 0.62) !important;
  background: rgba(255, 90, 31, 0.13) !important;
  color: #fff !important;
}

.basket-item-actions .basket-item-category.basket-item-badge {
  max-width: 180px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.basket-benefits .basket-trust,
.basket-benefits .basket-payment-methods {
  display: none !important;
}

/* Compact product-card vertical spacing on all screens. */
.geigro-product-card .geigro-product-body {
  grid-template-rows: auto auto minmax(18px, 0.35fr) auto !important;
  gap: 6px 10px !important;
  min-height: 128px !important;
}

.geigro-product-card .geigro-product-heading {
  margin-bottom: 0 !important;
}

.geigro-product-card > .geigro-product-body > .product-price {
  align-self: end !important;
  margin-top: 2px !important;
}

@media (max-width: 560px) {
  .geigro-product-card .geigro-product-body {
    grid-template-rows: auto auto minmax(20px, 0.45fr) auto !important;
    gap: 4px !important;
    min-height: 0 !important;
  }
}

/* Checkout item layout: no ghost controls and price anchored inside each card. */
.basket-item-category[hidden],
[data-basket-category-badge][hidden],
.basket-item-actions .basket-item-category[data-basket-category-badge][hidden],
.basket-item-warning[hidden],
[data-basket-item-warning][hidden] {
  display: none !important;
}

.basket-item-delivery,
.basket-remove {
  display: none !important;
}

.basket-shop-card {
  position: relative !important;
}

.basket-item {
  position: relative !important;
  min-height: 108px !important;
  padding-bottom: 36px !important;
}

.basket-item-info {
  min-width: 0 !important;
}

.basket-item-actions {
  padding-right: 112px !important;
}

.basket-item-meta {
  position: absolute !important;
  grid-area: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: auto !important;
  align-self: auto !important;
  text-align: right !important;
}

.basket-item-meta .price,
.basket-item-price {
  min-height: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 768px) {
  .basket-shop-card {
    padding-bottom: 10px !important;
  }

  .basket-item {
    min-height: 82px !important;
    padding-bottom: 30px !important;
  }

  .basket-item-actions {
    padding-right: 88px !important;
  }

  .basket-item-meta {
    right: 0 !important;
    bottom: 0 !important;
  }

  .basket-item-meta .price,
  .basket-item-price {
    justify-content: flex-end !important;
    text-align: right !important;
  }
}

/* Keep legacy category layouts below the sticky header and restore page scroll chaining. */
.geigro-category-shell > .geigro-products-layout:first-child {
  padding-top: calc(var(--geigro-header-h) + clamp(16px, 2vw, 28px)) !important;
}

@media (min-width: 981px) {
  .geigro-filter-sidebar .product-filter-scroll {
    overscroll-behavior-y: auto !important;
  }
}

/* Responsive global package search in the header. */
.geigro-header-search {
  min-width: 0;
  padding-right: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
}

.geigro-mobile-search-brand,
.geigro-mobile-search-cancel {
  display: none;
}

.geigro-header-search-toggle,
.geigro-header-search-field {
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.035);
}

.geigro-header-search-toggle {
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, opacity 180ms ease, transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.geigro-header-search-toggle svg,
.geigro-header-search-field > svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.geigro-header-search-field {
  width: 0;
  padding: 0;
  border-color: transparent;
  display: flex;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(12px);
  transition: width 360ms cubic-bezier(0.16, 1, 0.3, 1), padding 360ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1), border-color 220ms ease;
}

.geigro-header-search-field input {
  min-width: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
}

.geigro-header-search-field input::placeholder {
  color: rgba(255, 255, 255, 0.42);
}

.geigro-header-search-field .sr-only {
  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;
}

.geigro-header-search-field button {
  width: 26px;
  min-width: 26px;
  min-height: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.58);
  background: transparent;
  font-size: 20px;
  font-weight: 400;
}

.geigro-header-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 170;
  padding: 0 clamp(16px, 3vw, 48px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(6, 9, 12, 0.97);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(24px) saturate(120%);
  -webkit-backdrop-filter: blur(24px) saturate(120%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity 220ms ease, transform 340ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 340ms;
}

.geigro-header-search-backdrop {
  position: fixed;
  inset: var(--geigro-header-h) 0 auto;
  z-index: 150;
  width: 100%;
  height: calc(100dvh - var(--geigro-header-h));
  max-height: none;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: block;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}

.geigro-header-search-results-inner {
  width: min(100%, 1040px);
  max-height: min(62vh, 520px);
  margin: 0 auto;
  padding: 14px 0 18px;
  overflow-y: auto;
}

.geigro-header-search-list {
  display: grid;
  gap: 6px;
}

.geigro-header-search-result {
  min-height: 66px;
  padding: 7px 12px 7px 7px;
  border: 1px solid transparent;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.025);
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 220ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), border-color 180ms ease, background 180ms ease;
}

.geigro-header-search-result[hidden] {
  display: none !important;
}

.geigro-header-search-result:hover,
.geigro-header-search-result:focus-visible {
  border-color: rgba(255, 90, 31, 0.45);
  background: rgba(255, 90, 31, 0.08);
  outline: 0;
}

.geigro-header-search-result-media {
  width: 78px;
  height: 50px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--geigro-orange);
  background: #11171d;
  font-size: 20px;
  font-weight: 950;
}

.geigro-header-search-result-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.geigro-header-search-result strong {
  min-width: 0;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geigro-header-search-result-content {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.geigro-header-search-result-badges {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
}

.geigro-header-search-result-badges span {
  min-height: 19px;
  max-width: 150px;
  padding: 0 7px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.68);
  background: rgba(255, 255, 255, 0.035);
  font-size: 8px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0.025em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.geigro-header-search-result-badges span:first-child {
  border-color: rgba(255, 90, 31, 0.38);
  color: rgba(255, 255, 255, 0.9);
}

.geigro-header-search-result-price {
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
}

.geigro-header-search-result-price.is-sale {
  min-width: 74px;
  display: grid;
  justify-items: end;
  gap: 1px;
  line-height: 1;
}

.geigro-header-search-result-price.is-sale del {
  color: rgba(255, 255, 255, 0.38);
  font-size: 10px;
  font-weight: 700;
}

.geigro-header-search-result-price.is-sale strong {
  color: var(--geigro-orange);
  font-size: 16px;
  font-weight: 950;
}

.geigro-header-search-result-price.is-sale span {
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid rgba(255, 90, 31, 0.48);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: var(--geigro-orange);
  background: rgba(255, 90, 31, 0.1);
  font-size: 9px;
  font-weight: 900;
}

.geigro-header-search-status {
  margin: 0;
  padding: 24px 12px;
  color: rgba(255, 255, 255, 0.52);
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}

html.is-header-search-open .geigro-header-search-toggle {
  width: 0;
  min-width: 0;
  padding: 0;
  border-color: transparent;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-10px);
}

html.is-header-search-open .geigro-header {
  top: 0 !important;
}

html.is-header-search-open .geigro-header-search-field {
  width: clamp(270px, 32vw, 440px);
  padding: 0 8px 0 12px;
  border-color: rgba(255, 90, 31, 0.42);
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

html.is-header-search-open .geigro-main-nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
}

.geigro-main-nav {
  transition: opacity 180ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s;
}

html.is-header-search-open .geigro-header-search-results {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 80ms, 80ms, 0s;
}

html.is-header-search-open .geigro-header-search-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result {
  opacity: 1;
  transform: translateY(0);
}

html.is-header-search-open .geigro-header-search-result:nth-child(2) { transition-delay: 35ms; }
html.is-header-search-open .geigro-header-search-result:nth-child(3) { transition-delay: 55ms; }
html.is-header-search-open .geigro-header-search-result:nth-child(4) { transition-delay: 75ms; }
html.is-header-search-open .geigro-header-search-result:nth-child(n+5) { transition-delay: 95ms; }

@media (max-width: 820px) {
  html.is-header-search-open {
    --geigro-search-mobile-header-h: 112px;
  }

  html.is-header-search-open .geigro-header,
  html.is-header-search-open .geigro-header-inner {
    min-height: var(--geigro-search-mobile-header-h) !important;
    height: var(--geigro-search-mobile-header-h) !important;
  }

  html.is-header-search-open .geigro-header::before {
    background: rgba(5, 7, 10, 0.96) !important;
    opacity: 1 !important;
  }

  .geigro-mobile-search-brand {
    position: fixed;
    top: calc(var(--geigro-search-lock-y, 0px) + 12px);
    left: 50%;
    z-index: 184;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.035em;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -5px);
    transition: opacity 200ms ease 80ms, transform 320ms cubic-bezier(0.16, 1, 0.3, 1) 80ms, visibility 0s linear 300ms;
  }

  .geigro-mobile-search-brand::first-letter {
    color: var(--geigro-orange);
  }

  html.is-header-search-open .geigro-mobile-search-brand {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    transition-delay: 90ms, 90ms, 0s;
  }

  .geigro-mobile-search-cancel {
    position: fixed;
    top: calc(var(--geigro-search-lock-y, 0px) + 57px);
    right: 12px;
    z-index: 185;
    min-height: 40px;
    padding: 0 4px 0 10px;
    border: 0;
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.84);
    background: transparent;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity 180ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 300ms;
  }

  html.is-header-search-open .geigro-mobile-search-cancel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 100ms, 100ms, 0s;
  }

  .geigro-header-search {
    order: -1;
    height: 34px;
    padding-right: 8px;
    margin-right: 0;
  }

  .geigro-header-search-toggle {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    justify-content: center;
  }

  .geigro-header-search-toggle span {
    display: none;
  }

  .geigro-header-search-field {
    position: fixed;
    left: 12px;
    right: clamp(76px, 22vw, 92px);
    top: calc(var(--geigro-search-lock-y, 0px) + 57px);
    z-index: 182;
    height: 40px;
    transform: translateX(10px);
  }

  html.is-header-search-open .geigro-header-search-field {
    width: auto !important;
    padding: 0 8px 0 11px;
    transform: translateX(0);
  }

  html.is-header-search-open .geigro-cart-button,
  html.is-header-search-open .geigro-login-button,
  html.is-header-search-open .geigro-mobile-menu-toggle {
    width: 0 !important;
    min-width: 0 !important;
    flex-basis: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(8px) !important;
  }

  html.is-header-search-open .geigro-brand {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-10px) !important;
  }

  .geigro-brand {
    transition: opacity 180ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
  }

  html.is-header-search-open .geigro-header-search-field > button {
    display: none;
  }

  html.is-header-search-open .geigro-header-search-results {
    top: var(--geigro-search-mobile-header-h);
  }

  html.is-header-search-open .geigro-header-search-backdrop {
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-search-mobile-header-h));
    height: calc(100dvh - var(--geigro-search-mobile-header-h));
  }

  .geigro-cart-button,
  .geigro-login-button,
  .geigro-mobile-menu-toggle {
    transition: width 300ms cubic-bezier(0.16, 1, 0.3, 1), min-width 300ms cubic-bezier(0.16, 1, 0.3, 1), opacity 160ms ease, transform 260ms ease, visibility 0s linear 0s !important;
  }

  .geigro-header-search-results {
    padding: 0 10px;
  }

  .geigro-header-search-results-inner {
    max-height: min(66vh, 520px);
    padding: 10px 0 14px;
  }

  .geigro-header-search-result {
    min-height: 62px;
    padding: 6px 9px 6px 6px;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 10px;
  }

  .geigro-header-search-result-media {
    width: 72px;
    height: 48px;
  }

  .geigro-header-search-result strong {
    font-size: 13px;
  }

  .geigro-header-search-result-price {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .geigro-header-search-field,
  .geigro-header-search-results,
  .geigro-header-search-result,
  .geigro-main-nav,
  .geigro-cart-button,
  .geigro-login-button {
    transition-duration: 1ms !important;
  }
}

/* Fallback toolbar for legacy Tebex category markup. */
.geigro-category-titlebar-fallback {
  display: none;
}

/* Desktop header cleanup: socials live as a fixed side rail, language is flag-only, login is icon-only. */
.geigro-social-rail {
  position: fixed;
  left: clamp(14px, 1.35vw, 26px) !important;
  top: 50dvh !important;
  z-index: 170;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  opacity: 0.9;
  transform: translate3d(0, -50%, 0) !important;
  pointer-events: auto;
}

.geigro-social-rail::before,
.geigro-social-rail::after {
  display: none !important;
  content: none !important;
}

.geigro-social-rail .geigro-social-link {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(8, 11, 15, 0.62);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition:
    color 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 220ms ease,
    opacity 180ms ease;
}

.geigro-social-rail .geigro-social-link:hover,
.geigro-social-rail .geigro-social-link:focus-visible {
  color: #fff;
  border-color: rgba(255, 74, 22, 0.38);
  background: rgba(255, 74, 22, 0.12);
  box-shadow: 0 18px 36px rgba(255, 74, 22, 0.1), 0 16px 34px rgba(0, 0, 0, 0.28);
}

.geigro-social-rail .geigro-social-link svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.geigro-social-rail .geigro-social-5mods img {
  width: 26px;
  height: auto;
  display: block;
}

.geigro-header-actions > .geigro-socials {
  display: none !important;
}

.geigro-header .geigro-header-search {
  order: 0;
}

.geigro-header .geigro-cart-button {
  order: 10;
}

.geigro-header .geigro-login-button {
  order: 20;
}

.geigro-header .geigro-language-dropdown {
  order: 30;
}

.geigro-header .geigro-mobile-menu-toggle {
  order: 40;
}

.geigro-header .geigro-language-trigger {
  width: 42px !important;
  min-width: 42px !important;
  height: 40px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  gap: 0 !important;
}

.geigro-header .geigro-language-current {
  min-width: 0 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
}

.geigro-header .geigro-language-name,
.geigro-header .geigro-language-trigger::after {
  display: none !important;
}

.geigro-header .geigro-language-menu {
  min-width: 204px !important;
  right: 0 !important;
  left: auto !important;
  transform: translateY(-8px) scale(0.985) !important;
  transform-origin: top right !important;
}

.geigro-header .geigro-language-dropdown[open]:not(.is-closing) .geigro-language-menu {
  transform: translateY(0) scale(1) !important;
}

.geigro-header .geigro-language-option {
  grid-template-columns: 24px 30px minmax(0, 1fr) !important;
}

.geigro-header .geigro-language-option-flag {
  display: block !important;
}

.geigro-flag-img {
  display: block !important;
  width: 24px !important;
  height: 18px !important;
  min-width: 24px !important;
  overflow: hidden !important;
  border-radius: 3px !important;
  object-fit: cover !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.22),
    0 1px 3px rgba(0, 0, 0, 0.28) !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.geigro-header .geigro-login-button {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  display: inline-grid !important;
  place-items: center !important;
  gap: 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  background: transparent !important;
  box-shadow: none !important;
  position: relative !important;
}

.geigro-header .geigro-login-button span {
  display: none !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome {
  display: flex !important;
  position: absolute !important;
  right: 50% !important;
  bottom: calc(100% + 4px) !important;
  width: max-content !important;
  max-width: 150px !important;
  transform: translateX(50%) !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(255, 90, 31, 0.22) !important;
  border-radius: 9px !important;
  background: rgba(5, 8, 12, 0.92) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome > span,
.geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome > strong {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome > span {
  color: rgba(255, 255, 255, 0.54) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] .geigro-account-welcome > strong {
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.geigro-header .geigro-login-button svg {
  width: 24px !important;
  height: 24px !important;
}

.geigro-header .geigro-login-button:hover,
.geigro-header .geigro-login-button:focus-visible {
  color: #fff !important;
  background: rgba(255, 74, 22, 0.08) !important;
}

@media (max-width: 820px) {
  .geigro-social-rail {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .geigro-category-titlebar-fallback {
    display: grid !important;
  }

  .geigro-category-titlebar-fallback + .geigro-products-layout {
    padding-top: clamp(14px, 3vw, 22px) !important;
  }
}

/* Product grids enter as one calm surface; cards never stagger or pop on refresh. */
html.js .geigro-product-grid {
  opacity: 0;
  transition: opacity 260ms ease !important;
}

html.is-ready .geigro-product-grid {
  opacity: 1;
}

html.is-loading .geigro-product-card,
html.is-ready .geigro-product-card,
html.js .geigro-product-card.geigro-reveal,
html.js .store-product-entry.geigro-reveal,
html.js .geigro-product-card.geigro-reveal.is-visible,
html.js .store-product-entry.geigro-reveal.is-visible {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
  transition-delay: 0ms !important;
}

/* Compact, staged category filters. */
@media (min-width: 981px) {
  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    min-height: 42px !important;
    height: 42px !important;
    padding-block: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label {
    min-height: 34px !important;
    padding-block: 6px !important;
  }
}

@media (max-width: 980px) {
  html.is-filter-drawer-open::after,
  html.is-filter-drawer-closing::after {
    content: none !important;
  }

  html.is-filter-drawer-closing,
  html.is-filter-drawer-closing body {
    overflow: hidden !important;
  }

  .geigro-filter-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 170 !important;
    display: block !important;
    pointer-events: auto !important;
    background: #000 !important;
    opacity: 0 !important;
    transition: opacity 220ms ease !important;
  }

  .geigro-filter-backdrop.is-visible {
    opacity: 1 !important;
  }

  html.is-filter-drawer-closing .geigro-filter-sidebar {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translateY(102%) !important;
    pointer-events: none !important;
    transition: opacity 180ms ease, transform 260ms cubic-bezier(0.4, 0, 1, 1), visibility 0s linear 260ms !important;
  }

  html:not(.is-filter-drawer-open):not(.is-filter-drawer-closing) .geigro-filter-sidebar {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(102%) !important;
    pointer-events: none !important;
  }

  .geigro-filter-sidebar {
    height: min(88dvh, 720px) !important;
    max-height: calc(100dvh - max(12px, env(safe-area-inset-top))) !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .geigro-filter-sidebar .product-filter-heading {
    min-height: 64px !important;
    padding: 0 18px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .geigro-filter-sidebar .product-filter-panel-title {
    font-size: 18px !important;
    letter-spacing: 0.04em !important;
  }

  .geigro-filter-sidebar .geigro-filter-close {
    width: 42px !important;
    height: 42px !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    padding: 4px 18px 18px !important;
    scrollbar-width: thin;
  }

  .geigro-filter-sidebar .product-filter-section,
  .geigro-filter-sidebar .filter-accordion {
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 34px 0 0 !important;
    font-size: 15px !important;
  }

  .geigro-filter-sidebar .product-filter-section-inner,
  .geigro-filter-sidebar .filter-accordion-options {
    padding: 2px 0 14px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list,
  .geigro-filter-sidebar .filter-accordion-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list.is-compact-options,
  .geigro-filter-sidebar .filter-accordion-options.is-compact-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .geigro-filter-sidebar .is-compact-options > .is-wide-option {
    grid-column: 1 / -1 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label {
    min-width: 0 !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 8px 34px 8px 36px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button span,
  .geigro-filter-sidebar .filter-option-name {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .geigro-filter-sidebar .product-filter-actions {
    position: relative !important;
    padding: 12px 18px max(12px, env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(7, 10, 14, 0.98) !important;
    box-shadow: 0 -14px 30px rgba(0, 0, 0, 0.28) !important;
  }

  .geigro-filter-sidebar .product-filter-actions button {
    min-height: 44px !important;
  }

  body:has(.tebex-template-preview-banner) .geigro-filter-sidebar {
    bottom: 64px !important;
    height: min(82dvh, 680px) !important;
    max-height: calc(100dvh - 76px) !important;
  }
}

@media (max-width: 420px) {
  .geigro-filter-sidebar .product-filter-scroll {
    padding-inline: 14px !important;
  }

  .geigro-filter-sidebar .product-filter-actions {
    padding-inline: 14px !important;
  }
}

/* Mobile search: retain the real logo above the search row. */
@media (max-width: 820px) {
  html.is-header-search-open .geigro-mobile-search-brand {
    display: none !important;
  }

  .geigro-brand,
  .geigro-brand-logo {
    transform-origin: left center !important;
    transition:
      width 340ms cubic-bezier(0.16, 1, 0.3, 1),
      max-height 340ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 180ms ease,
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s !important;
  }

  html.is-header-search-open .geigro-brand {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + 8px) !important;
    left: 14px !important;
    z-index: 184 !important;
    width: auto !important;
    min-height: 38px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) scale(0.84) !important;
  }

  html.is-header-search-open .geigro-brand-logo {
    width: 92px !important;
    max-height: 34px !important;
  }

  .geigro-mobile-search-cancel,
  .geigro-mobile-search-cancel:hover,
  .geigro-mobile-search-cancel:focus,
  .geigro-mobile-search-cancel:focus-visible,
  .geigro-mobile-search-cancel:active {
    border: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .geigro-mobile-search-cancel::before,
  .geigro-mobile-search-cancel::after {
    content: none !important;
    display: none !important;
  }
}

/* Keep this final so legacy mobile package rules cannot override it. */
@media (max-width: 768px) {
  .page-package .product-gallery-main,
  .page-package .product-purchase-panel,
  .page-package .product-dynamic-section,
  .page-package .product-description-panel.product-dynamic-section {
    border-radius: 9px !important;
  }

  .page-package .product-gallery-thumb,
  .page-package .product-gallery-more,
  .page-package .package-action-buttons .wide {
    border-radius: 7px !important;
  }

  .page-package .product-price-block {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 15px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-package .product-purchase-panel-placeholder {
    display: block !important;
    width: 100% !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky {
    position: fixed !important;
    inset: var(--geigro-header-h) 12px auto !important;
    z-index: 940 !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 0 0 9px 9px !important;
    background: rgba(9, 13, 17, 0.98) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.46) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky-entering {
    animation: geigro-purchase-dock 340ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky-leaving {
    animation: geigro-purchase-undock 220ms cubic-bezier(0.4, 0, 1, 1) both !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-title {
    font-size: 17px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-badges,
  .page-package .product-purchase-panel.is-mobile-sticky .product-detail-summary {
    max-height: 0 !important;
    margin-block: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transform: translateY(-5px) !important;
    pointer-events: none !important;
  }

  .page-package .product-detail-badges,
  .page-package .product-detail-summary {
    transition:
      max-height 260ms cubic-bezier(0.16, 1, 0.3, 1),
      margin 260ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 160ms ease,
      transform 260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .product-price-block {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-price {
    font-size: 18px !important;
  }

  .page-package .product-purchase-panel.is-mobile-sticky .package-action-buttons .wide {
    min-height: 40px !important;
    height: 40px !important;
  }
}

@keyframes geigro-purchase-dock {
  from {
    opacity: 0.72;
    transform: translate3d(0, -10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes geigro-purchase-undock {
  from {
    opacity: 0.82;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 6px, 0);
  }
}

/* Final purchase-state border override. */
.page-package .product-purchase-panel {
  border-bottom-color: rgba(255, 90, 31, 0.9) !important;
  border-bottom-width: 2px !important;
  border-bottom-style: solid !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42) !important;
  transition: border-color 240ms ease, box-shadow 240ms ease, background-color 240ms ease !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons .is-added) {
  border-bottom-color: rgba(52, 211, 153, 0.92) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42) !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons .is-error) {
  border-bottom-color: rgba(239, 68, 68, 0.9) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42) !important;
}

.page-package .product-purchase-panel:has(.package-action-buttons button:disabled) {
  border-bottom-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42) !important;
}

.page-package .product-purchase-dock-spacer {
  display: block;
  width: 100%;
  height: 38px;
  flex: 0 0 auto;
}

.page-package .product-purchase-panel.is-purchase-docked {
  position: fixed !important;
  top: calc(var(--geigro-header-h) + 8px) !important;
  left: var(--purchase-dock-left) !important;
  right: auto !important;
  z-index: 940 !important;
  width: var(--purchase-dock-width) !important;
  max-width: var(--purchase-dock-width) !important;
  min-width: var(--purchase-dock-width) !important;
  margin: 0 !important;
  contain: layout paint !important;
  isolation: isolate !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-bottom: 2px solid rgba(255, 90, 31, 0.9) !important;
  border-radius: 8px !important;
  background: rgba(8, 12, 16, 0.96) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(16px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(115%) !important;
}

.page-package .product-purchase-panel.is-purchase-docked::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  right: -1px !important;
  left: -1px !important;
  z-index: -1 !important;
  height: 28px !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(5, 8, 11, 0.82) 0%, rgba(5, 8, 11, 0) 100%) !important;
}

@media (min-width: 769px) {
  .page-package .product-purchase-panel.is-purchase-docked {
    top: calc(var(--geigro-header-h) + 8px) !important;
    left: var(--purchase-dock-target-left, var(--purchase-dock-left)) !important;
    width: var(--purchase-dock-target-width, var(--purchase-dock-width)) !important;
    max-width: var(--purchase-dock-target-width, var(--purchase-dock-width)) !important;
    min-width: var(--purchase-dock-target-width, var(--purchase-dock-width)) !important;
    min-height: 86px !important;
    padding: 11px 16px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 28px !important;
    row-gap: 3px !important;
    align-items: center !important;
    animation: geigro-desktop-purchase-dock 420ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .product-detail-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    font-size: 19px !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .product-price-block {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 5px 0 0 !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-price {
    grid-column: 1 !important;
    margin: 0 !important;
    font-size: 22px !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-action-buttons {
    grid-column: 2 !important;
    margin: 0 !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-action-buttons .wide {
    width: auto !important;
    min-width: 210px !important;
    min-height: 40px !important;
    height: 40px !important;
    border-radius: 7px !important;
  }
}

@keyframes geigro-desktop-purchase-dock {
  from {
    opacity: 0.72;
    transform: translate3d(0, -8px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Final interaction layer: one deterministic header/menu/search/sticky system. */
.geigro-header {
  z-index: 10000 !important;
}

.page-package .product-purchase-panel.is-purchase-docked {
  z-index: 900 !important;
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 240ms ease,
    box-shadow 240ms ease !important;
}

.page-package .product-purchase-panel.is-purchase-footer-hidden,
html.is-mobile-menu-open .page-package .product-purchase-panel.is-purchase-docked,
html.is-mobile-menu-closing .page-package .product-purchase-panel.is-purchase-docked,
html.is-header-search-open .page-package .product-purchase-panel.is-purchase-docked,
html:has(.geigro-language-dropdown[open]) .page-package .product-purchase-panel.is-purchase-docked {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, -10px, 0) !important;
}

@media (min-width: 981px) {
  .geigro-category-shell {
    padding-top: calc(var(--geigro-header-h) + 24px) !important;
  }

  .geigro-category-shell > .geigro-products-layout,
  .geigro-category-shell > .geigro-products-layout:first-child {
    padding-top: 0 !important;
  }
}

@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h) 0 0 !important;
    z-index: 9999 !important;
    height: calc(100dvh - var(--geigro-header-h)) !important;
    padding: 24px 22px calc(18px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    overflow: hidden auto !important;
    background: #030508 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, -6px, 0) !important;
    transition:
      clip-path 440ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 440ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 0 0) !important;
    transform: translate3d(0, 0, 0) !important;
    animation: geigro-menu-roll-open 440ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, -6px, 0) !important;
    animation: geigro-menu-roll-close 440ms cubic-bezier(0.4, 0, 1, 1) both !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav {
    align-content: start !important;
    gap: 4px !important;
    padding: 2px 0 !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    min-height: 50px !important;
    padding-block: 8px !important;
    opacity: 1 !important;
    transform: none !important;
    transition: color 180ms ease, background-color 180ms ease !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    padding-top: 14px !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html.is-header-search-open {
    --geigro-search-mobile-header-h: 116px;
  }

  html.is-header-search-open .geigro-header,
  html.is-header-search-open .geigro-header-inner {
    height: var(--geigro-search-mobile-header-h) !important;
    min-height: var(--geigro-search-mobile-header-h) !important;
  }

  html.is-header-search-open .geigro-brand {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + 8px) !important;
    left: 14px !important;
    z-index: 10003 !important;
    transform: scale(0.82) !important;
    transform-origin: left center !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + 62px) !important;
    left: 14px !important;
    right: 84px !important;
    z-index: 10003 !important;
    width: auto !important;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 90, 31, 0.58) !important;
    border-radius: 9px !important;
    transform: none !important;
  }

  .geigro-mobile-search-cancel {
    top: calc(var(--geigro-search-lock-y, 0px) + 62px) !important;
    right: 12px !important;
    z-index: 10004 !important;
    width: 66px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.is-header-search-open .geigro-header-search-results {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-search-mobile-header-h)) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10002 !important;
    padding: 10px 12px 20px !important;
    overflow: hidden !important;
    background: #05080b !important;
  }

  .geigro-header-search-results-inner {
    width: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
  }

  .geigro-header-search-result {
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    border-radius: 9px !important;
  }

  .geigro-header-search-result-content {
    gap: 6px !important;
  }

  .geigro-header-search-result-badges {
    display: flex !important;
    gap: 5px !important;
  }

  .geigro-header-search,
  .geigro-header-search-toggle {
    border: 0 !important;
  }

  .geigro-header-search {
    padding-right: 10px !important;
    margin-right: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

html.is-header-search-open .geigro-header-search {
    border-right-color: transparent !important;
  }
}

/* Search panel must cover the full remaining viewport, not stop mid-screen. */
html.is-header-search-open .geigro-header-search-results {
  position: fixed !important;
  top: var(--geigro-header-h) !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 9998 !important;
  min-height: 0 !important;
  padding: 12px clamp(16px, 3vw, 48px) max(22px, env(safe-area-inset-bottom)) !important;
  overflow: hidden !important;
  background: rgba(5, 8, 11, 0.985) !important;
  border-bottom: 0 !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.52) !important;
}

html.is-header-search-open .geigro-header-search-results-inner {
  height: 100% !important;
  max-height: none !important;
  overflow: hidden auto !important;
  overscroll-behavior: contain !important;
  padding: 0 0 18px !important;
}

@media (min-width: 821px) {
  html.is-header-search-open .geigro-header-search-results-inner {
    width: min(100%, 1220px) !important;
  }
}

@media (max-width: 820px) {
  html.is-header-search-open .geigro-header-search-results {
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-search-mobile-header-h)) !important;
    padding: 10px 12px max(20px, env(safe-area-inset-bottom)) !important;
  }
}

/* Final product detail spacing: trust badges must never collide with the purchase card. */
@media (min-width: 1100px) {
  .page-package .product-detail-workspace {
    align-content: start !important;
    row-gap: clamp(34px, 3vw, 58px) !important;
  }

  .page-package .product-detail-grid {
    margin-bottom: clamp(34px, 3vw, 58px) !important;
  }

  .page-package .product-trust-strip {
    position: relative !important;
    z-index: 1 !important;
    min-height: 86px !important;
    margin-top: clamp(28px, 2.4vw, 48px) !important;
    transform: none !important;
    clear: both !important;
  }

  .page-package .product-trust-item {
    min-height: 48px !important;
  }
}

/* Final no-blue button lock, placed after all layout overrides. */
.page-package .package-action-buttons .wide:not(.is-added):not(.is-success):not(.is-in-basket):not(.btn-secondary),
.page-package .package-action-buttons .btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket),
.page-package .product-purchase-panel .package-action-buttons a.btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket),
.page-package .product-purchase-panel .package-action-buttons button.btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket) {
  background: linear-gradient(135deg, #ff7a3d 0%, #ff5a1f 52%, #d93a0a 100%) !important;
  background-image: linear-gradient(135deg, #ff7a3d 0%, #ff5a1f 52%, #d93a0a 100%) !important;
  border-color: rgba(255, 90, 31, 0.78) !important;
  box-shadow: 0 16px 34px rgba(255, 90, 31, 0.2) !important;
  color: #fff !important;
}

.page-package .package-action-buttons .wide:not(.is-added):not(.is-success):not(.is-in-basket):not(.btn-secondary):hover,
.page-package .package-action-buttons .btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.page-package .product-purchase-panel .package-action-buttons a.btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.page-package .product-purchase-panel .package-action-buttons button.btn-primary.wide:not(.is-added):not(.is-success):not(.is-in-basket):hover {
  background: linear-gradient(135deg, #ff8a55 0%, #ff5a1f 54%, #e64610 100%) !important;
  background-image: linear-gradient(135deg, #ff8a55 0%, #ff5a1f 54%, #e64610 100%) !important;
}

@keyframes geigro-menu-roll-open {
  from {
    clip-path: inset(0 0 100% 0);
    transform: translate3d(0, -6px, 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes geigro-menu-roll-close {
  from {
    clip-path: inset(0 0 0 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    clip-path: inset(0 0 100% 0);
    transform: translate3d(0, -6px, 0);
  }
}

@media (max-width: 768px) {
  .page-package .product-purchase-panel.is-purchase-docked {
    top: var(--geigro-header-h) !important;
    padding: 9px 11px !important;
    border-top: 0 !important;
    border-radius: 0 0 8px 8px !important;
    background: rgba(8, 12, 16, 0.98) !important;
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.28) !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .product-detail-title {
    font-size: 16px !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-price {
    font-size: 18px !important;
  }

  .page-package .product-purchase-panel.is-purchase-docked .package-action-buttons .wide {
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 7px !important;
  }
}

/* Product gallery uses a clean 1920 × 1080 (16:9) presentation everywhere. */
.page-package .product-gallery-main {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #080c10 !important;
  background-image: none !important;
}

.page-package .product-gallery-image,
.page-package .product-gallery-frame,
.page-package .product-gallery-fallback,
.page-package .product-gallery-main img {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  background: #080c10 !important;
}

.page-package .product-gallery-main::before,
.page-package .product-gallery-main::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
  filter: none !important;
}

.page-package .product-gallery-thumb {
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #080c10 !important;
}

.page-package .product-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
  transform: none !important;
}

/* Global package refund policy: rendered for every current and future package. */
.page-package .package-policy-separator {
  width: 100%;
  height: 1px;
  margin: clamp(28px, 4vw, 48px) 0 clamp(20px, 2.5vw, 30px);
  background: linear-gradient(90deg, transparent, rgba(239, 68, 68, 0.42) 16%, rgba(239, 68, 68, 0.42) 84%, transparent);
}

.page-package .package-refund-policy {
  width: 100%;
  margin: 0 0 clamp(34px, 5vw, 64px);
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid rgba(239, 68, 68, 0.68);
  border-left-width: 3px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(239, 68, 68, 0.075), transparent 42%),
    rgba(10, 13, 17, 0.94);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}

.page-package .package-refund-policy h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.12;
}

.page-package .package-refund-policy p {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.65;
}

.page-package .package-refund-policy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .page-package .package-policy-separator {
    margin: 26px 0 18px;
  }

  .page-package .package-refund-policy {
    margin-bottom: calc(34px + env(safe-area-inset-bottom));
    padding: 17px;
    border-radius: 9px;
  }

  .page-package .package-refund-policy h2 {
    margin-bottom: 12px;
    font-size: 20px;
  }

  .page-package .package-refund-policy p {
    font-size: 13px;
    line-height: 1.6;
  }
}

/* Final cascade lock for equal desktop spacing below the header. */
@media (min-width: 1100px) {
  .page-package .product-detail-grid,
  .page-package .product-dynamic-tabs,
  .page-package .product-dynamic-tabs.is-tabs-docked {
    top: calc(var(--geigro-header-h) + 16px) !important;
  }
}

/* Final copy-button polish across all product tabs and cards. */
.page-package .product-inline-copy,
.page-package .product-spec-copy,
.page-package .product-purchase-panel .product-spec-copy {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 38px !important;
  line-height: 0 !important;
  text-align: center !important;
  color: rgba(255, 255, 255, 0.76) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015) !important;
}

.page-package .product-inline-copy svg,
.page-package .product-spec-copy svg,
.page-package .product-purchase-panel .product-spec-copy svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.page-package .product-description-code {
  min-height: 54px !important;
  padding: 8px 9px 8px 13px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 10px !important;
}

.page-package .product-description-code code {
  align-self: center !important;
  line-height: 1.45 !important;
}

.page-package .product-description-data-list dd:has(.product-inline-copy) {
  grid-template-columns: minmax(0, 1fr) 38px !important;
  align-items: center !important;
  min-height: 58px !important;
}

.page-package .product-inline-copy:hover,
.page-package .product-inline-copy:focus-visible,
.page-package .product-spec-copy:hover,
.page-package .product-spec-copy:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 74, 22, 0.42) !important;
  background: rgba(255, 74, 22, 0.09) !important;
  box-shadow: 0 0 0 3px rgba(255, 74, 22, 0.08) !important;
}

.page-package .product-inline-copy.is-copied,
.page-package .product-spec-copy.is-copied {
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.48) !important;
  background: rgba(52, 211, 153, 0.09) !important;
}

/* Final GEIGRO no-blue guard: Tebex/theme fallbacks must stay warm orange, never blue. */
:root {
  --blue-light: #ff8a55 !important;
  --blue: #ff5a1f !important;
  --blue-dark: #d93a0a !important;
  --border-blue: rgba(255, 90, 31, 0.45) !important;
  --shadow-blue: 0 0 28px rgba(255, 90, 31, 0.22) !important;
  --gradient-primary: linear-gradient(135deg, #ff7a3d 0%, #ff5a1f 52%, #d93a0a 100%) !important;
  --gradient-brand: linear-gradient(135deg, #ff4a12 0%, #ff6b2c 48%, #d93a0a 100%) !important;
  --theme-primary: #ff5a1f !important;
  --theme-primary-hover: #ff713d !important;
  --theme-primary-text: #ffffff !important;
  --theme-primary-text-hover: #ffffff !important;
}

.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket),
.package-action-buttons .btn-primary:not(.is-added):not(.is-success):not(.is-in-basket),
.product-purchase-panel .btn-primary:not(.is-added):not(.is-success):not(.is-in-basket),
.product-purchase-panel button[type="submit"]:not(.is-added):not(.is-success):not(.is-in-basket),
.package-action-buttons button[type="submit"]:not(.is-added):not(.is-success):not(.is-in-basket) {
  background: var(--gradient-primary) !important;
  border-color: rgba(255, 90, 31, 0.72) !important;
  box-shadow: 0 16px 34px rgba(255, 90, 31, 0.18) !important;
  color: #fff !important;
}

.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.package-action-buttons .btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.product-purchase-panel .btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.product-purchase-panel button[type="submit"]:not(.is-added):not(.is-success):not(.is-in-basket):hover,
.package-action-buttons button[type="submit"]:not(.is-added):not(.is-success):not(.is-in-basket):hover {
  background: linear-gradient(135deg, #ff8a55 0%, #ff5a1f 52%, #e64610 100%) !important;
  border-color: rgba(255, 122, 61, 0.78) !important;
  box-shadow: 0 18px 38px rgba(255, 90, 31, 0.24) !important;
}

/* Final mobile burger menu: fixed overlay only, no body shift, smooth roll-down motion. */
@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    transform: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 0 !important;
    z-index: 9998 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 24px 22px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    overflow: hidden !important;
    background: #030508 !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: top center !important;
    animation: none !important;
    transition:
      clip-path 460ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 460ms !important;
    will-change: clip-path !important;
    contain: paint !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu,
  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    visibility: visible !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: inset(0 0 0 0) !important;
    animation: none !important;
    transition:
      clip-path 500ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    animation: none !important;
    transition:
      clip-path 380ms cubic-bezier(0.4, 0, 1, 1),
      visibility 0s linear 380ms !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav {
    align-content: start !important;
    gap: 8px !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    min-height: 52px !important;
    padding-block: 10px !important;
    opacity: 0 !important;
    transform: translate3d(0, -8px, 0) !important;
    transition:
      opacity 190ms ease,
      transform 280ms cubic-bezier(0.16, 1, 0.3, 1),
      color 180ms ease,
      background-color 180ms ease !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(1),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(1) > summary {
    transition-delay: 110ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(2),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(2) > summary {
    transition-delay: 145ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(3),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(3) > summary {
    transition-delay: 180ms !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > a:nth-child(n+4),
  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-nav > :nth-child(n+4) > summary {
    transition-delay: 215ms !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-nav-group > summary,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 0 !important;
    transform: translate3d(0, -8px, 0) !important;
    transition-delay: 0s !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 0 !important;
    transform: translate3d(0, 10px, 0) !important;
    transition:
      opacity 190ms ease,
      transform 280ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 230ms !important;
  }

  body > .geigro-mobile-menu[aria-hidden="true"] {
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    animation: none !important;
  }
}

/* Final header-search lock: full viewport height, clean internal scrolling, never clipped mid-page. */
html.is-header-search-open .geigro-header {
  z-index: 10000 !important;
}

html.is-header-search-open .geigro-header-search-results {
  position: fixed !important;
  inset: var(--geigro-header-h, 72px) 0 0 0 !important;
  z-index: 9997 !important;
  width: 100vw !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 12px clamp(16px, 3vw, 48px) max(22px, env(safe-area-inset-bottom)) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) !important;
  border: 0 !important;
  background: rgba(5, 8, 11, 0.985) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.52) !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
}

html.is-header-search-open .geigro-header-search-results-inner {
  width: min(100%, 1220px) !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 0 22px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

html.is-header-search-open .geigro-header-search-list {
  min-height: min-content !important;
  padding-bottom: 18px !important;
}

html.is-header-search-open .geigro-header-search-backdrop {
  position: fixed !important;
  inset: var(--geigro-header-h, 72px) 0 0 0 !important;
  z-index: 9996 !important;
  width: 100vw !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

@media (max-width: 820px) {
  html.is-header-search-open .geigro-header-search-results {
    inset: var(--geigro-search-mobile-header-h, 116px) 0 0 0 !important;
    padding: 10px 12px max(22px, env(safe-area-inset-bottom)) !important;
  }

  html.is-header-search-open .geigro-header-search-results-inner {
    width: 100% !important;
    padding-bottom: 26px !important;
  }

  html.is-header-search-open .geigro-header-search-backdrop {
    inset: var(--geigro-search-mobile-header-h, 116px) 0 0 0 !important;
  }
}

/* Absolute final mobile menu override: Safari-safe transform roll-down, no page/content shift. */
@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overscroll-behavior: none !important;
  }

  html.is-mobile-menu-open,
  html.is-mobile-menu-closing {
    overflow-x: hidden !important;
    overflow-y: scroll !important;
  }

  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 0 !important;
    z-index: 9998 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 24px 22px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #030508 !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: none !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: top center !important;
    animation: none !important;
    transition:
      max-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 520ms !important;
    will-change: max-height !important;
    contain: paint !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu,
  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    visibility: visible !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    pointer-events: auto !important;
    clip-path: none !important;
    max-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
    transition:
      max-height 540ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    pointer-events: none !important;
    clip-path: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
    transition:
      max-height 400ms cubic-bezier(0.4, 0, 1, 1),
      visibility 0s linear 400ms !important;
  }

  body > .geigro-mobile-menu[aria-hidden="true"] {
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav {
    align-content: start !important;
    gap: 8px !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary {
    min-height: 52px !important;
    padding-block: 10px !important;
  }
}

/* Ultimate mobile menu close-state fix: no residual padding/height after close. */
@media (max-width: 820px) {
  body > .geigro-mobile-menu {
    box-sizing: border-box !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: none !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
    transition:
      max-height 460ms cubic-bezier(0.16, 1, 0.3, 1),
      padding-top 460ms cubic-bezier(0.16, 1, 0.3, 1),
      padding-bottom 460ms cubic-bezier(0.16, 1, 0.3, 1),
      gap 460ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 460ms !important;
    will-change: max-height, padding-top, padding-bottom !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    max-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    padding-top: 24px !important;
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
      max-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
      padding-top 520ms cubic-bezier(0.16, 1, 0.3, 1),
      padding-bottom 520ms cubic-bezier(0.16, 1, 0.3, 1),
      gap 520ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu,
  body > .geigro-mobile-menu[aria-hidden="true"] {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    visibility: visible !important;
    pointer-events: none !important;
    transition:
      max-height 380ms cubic-bezier(0.4, 0, 1, 1),
      padding-top 380ms cubic-bezier(0.4, 0, 1, 1),
      padding-bottom 380ms cubic-bezier(0.4, 0, 1, 1),
      gap 380ms cubic-bezier(0.4, 0, 1, 1),
      visibility 0s linear 380ms !important;
  }

  body > .geigro-mobile-menu[aria-hidden="true"] {
    visibility: hidden !important;
    transition: none !important;
  }
}

/* JS-driven mobile burger menu: CSS must not animate layout dimensions anymore. */
@media (max-width: 820px) {
  body > .geigro-mobile-menu[data-menu-motion="true"],
  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 0 !important;
    z-index: 9998 !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 24px 22px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    background: #030508 !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
    transition: none !important;
    will-change: clip-path !important;
    contain: paint !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu[data-menu-motion="true"],
  html.is-mobile-menu-closing body > .geigro-mobile-menu[data-menu-motion="true"] {
    visibility: visible !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu[data-menu-motion="true"] {
    pointer-events: auto !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu[data-menu-motion="true"],
  body > .geigro-mobile-menu[data-menu-motion="true"][aria-hidden="true"] {
    pointer-events: none !important;
  }
}

/* Header search: show max six clean results over a dimmed/blurred clickable backdrop. */
html.is-header-search-open .geigro-header-search-backdrop {
  position: fixed !important;
  inset: var(--geigro-header-h, 72px) 0 0 0 !important;
  z-index: 9996 !important;
  width: 100vw !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: default !important;
  background: rgba(0, 0, 0, 0.56) !important;
  backdrop-filter: blur(9px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(9px) saturate(112%) !important;
  transition: opacity 220ms ease, visibility 0s linear 0s !important;
}

html.is-header-search-open .geigro-header-search-results {
  position: fixed !important;
  top: calc(var(--geigro-header-h, 72px) + 12px) !important;
  right: clamp(16px, 3vw, 48px) !important;
  bottom: auto !important;
  left: clamp(16px, 3vw, 48px) !important;
  z-index: 9997 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--geigro-header-h, 72px) - 30px) !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(255, 90, 31, 0.22) !important;
  border-radius: 10px !important;
  background: rgba(5, 8, 11, 0.94) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.48) !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
}

html.is-header-search-open .geigro-header-search-results-inner {
  width: min(100%, 1220px) !important;
  height: auto !important;
  max-height: calc(6 * 72px + 28px) !important;
  margin: 0 auto !important;
  padding: 10px !important;
  overflow: hidden auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

html.is-header-search-open .geigro-header-search-list {
  display: grid !important;
  gap: 6px !important;
  padding: 0 !important;
}

@media (min-width: 821px) {
  html.is-header-search-open .geigro-header-search-results {
    left: 50% !important;
    right: auto !important;
    width: min(1220px, calc(100vw - 96px)) !important;
    transform: translate3d(-50%, 0, 0) !important;
  }
}

@media (max-width: 820px) {
  html.is-header-search-open .geigro-header-search-backdrop {
    inset: var(--geigro-search-mobile-header-h, 116px) 0 0 0 !important;
  }

  html.is-header-search-open .geigro-header-search-results {
    top: calc(var(--geigro-search-mobile-header-h, 116px) + 8px) !important;
    right: 12px !important;
    left: 12px !important;
    max-height: calc(100dvh - var(--geigro-search-mobile-header-h, 116px) - 20px) !important;
    border-radius: 9px !important;
  }

  html.is-header-search-open .geigro-header-search-results-inner {
    width: 100% !important;
    max-height: min(calc(6 * 76px + 24px), calc(100dvh - var(--geigro-search-mobile-header-h, 116px) - 24px)) !important;
    padding: 8px !important;
  }
}

/* Header search result motion: no popping when opening, filtering, or catalog updates. */
html.is-header-search-open .geigro-header-search-result {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) scale(0.992) !important;
  transition:
    opacity 180ms ease,
    transform 240ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 180ms ease,
    background-color 180ms ease !important;
  will-change: opacity, transform !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) scale(0.992) !important;
}

html.is-header-search-open .geigro-header-search-result.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

html.is-header-search-open .geigro-header-search-result.is-hiding {
  opacity: 0 !important;
  transform: translate3d(0, -6px, 0) scale(0.992) !important;
  pointer-events: none !important;
}

.geigro-header-search-result[hidden] {
  display: none !important;
}

html.is-header-search-open .geigro-header-search-status {
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Final search roll-down: suggestions open downward and close upward, never sideways. */
html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result,
html.is-header-search-open .geigro-header-search-result {
  max-height: 92px !important;
  min-height: 66px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) scale(0.986) !important;
  transform-origin: 50% 0 !important;
  transition:
    max-height 260ms cubic-bezier(0.16, 1, 0.3, 1),
    min-height 260ms cubic-bezier(0.16, 1, 0.3, 1),
    padding-top 260ms cubic-bezier(0.16, 1, 0.3, 1),
    padding-bottom 260ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 190ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 160ms ease,
    background-color 160ms ease !important;
  will-change: opacity, transform !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-visible,
html.is-header-search-open .geigro-header-search-result.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-hiding,
html.is-header-search-open .geigro-header-search-result.is-hiding {
  max-height: 0 !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-width: 0 !important;
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) scale(0.986) !important;
  pointer-events: none !important;
}

/* Search input polish: remove inner orange/glow patches, keep only the clean outer border. */
.geigro-header-search-field,
html.is-header-search-open .geigro-header-search-field {
  background: rgba(7, 11, 16, 0.96) !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.geigro-header-search-field::before,
.geigro-header-search-field::after,
html.is-header-search-open .geigro-header-search-field::before,
html.is-header-search-open .geigro-header-search-field::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

.geigro-header-search-field input,
.geigro-header-search-field input:focus,
.geigro-header-search-field input:hover,
.geigro-header-search-field input:active,
.geigro-header-search-field input:-webkit-autofill,
.geigro-header-search-field input:-webkit-autofill:hover,
.geigro-header-search-field input:-webkit-autofill:focus {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  caret-color: #fff !important;
}

.geigro-header-search-field > svg,
.geigro-header-search-field > button {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Desktop search expansion: right edge stays fixed, only the left edge grows/shrinks. */
@media (min-width: 821px) {
  .geigro-header-search {
    position: relative !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 38px !important;
    justify-content: flex-end !important;
    overflow: visible !important;
    padding-right: 12px !important;
  }

  .geigro-header-search-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 12px !important;
    width: 92px !important;
    min-width: 92px !important;
    height: 38px !important;
    transform: none !important;
    transform-origin: right center !important;
  }

  .geigro-header-search-field {
    position: absolute !important;
    top: 0 !important;
    right: 12px !important;
    width: 92px !important;
    min-width: 92px !important;
    height: 38px !important;
    padding: 0 8px 0 12px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
    transform-origin: right center !important;
    border-color: transparent !important;
    transition:
      width 360ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 170ms ease,
      border-color 220ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-open .geigro-header-search {
    width: 104px !important;
    min-width: 104px !important;
  }

  html.is-header-search-open .geigro-header-search-toggle {
    width: 92px !important;
    min-width: 92px !important;
    padding: 0 12px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    right: 12px !important;
    width: clamp(300px, 36vw, 520px) !important;
    min-width: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    border-color: rgba(255, 90, 31, 0.42) !important;
  }

  .geigro-header-search-field > svg,
  .geigro-header-search-field input,
  .geigro-header-search-field > button {
    flex-shrink: 0 !important;
    transform: none !important;
  }

  .geigro-header-search-field input {
    flex: 1 1 auto !important;
  }
}

/* Final mobile search rebuild: one clean expanding field, no 2px collapse, no pop. */
@media (max-width: 820px) {
  .geigro-header-search {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 42px !important;
    padding: 0 10px 0 0 !important;
    margin: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
    overflow: visible !important;
    flex: 0 0 54px !important;
  }

  .geigro-header-search-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    transform: none !important;
    transition:
      opacity 180ms ease,
      transform 300ms cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s linear 0s !important;
  }

  .geigro-header-search-toggle span {
    display: none !important;
  }

  html.is-header-search-open .geigro-header-search-toggle,
  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-start .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(6px, 0, 0) !important;
    transition:
      opacity 130ms ease,
      transform 240ms cubic-bezier(0.4, 0, 1, 1),
      visibility 0s linear 130ms !important;
  }

  .geigro-header-search-field,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-field {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + 62px) !important;
    right: 84px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 10003 !important;
    box-sizing: border-box !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: calc(100vw - 98px) !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    pointer-events: none !important;
    background: rgba(7, 11, 16, 0.96) !important;
    transform: translate3d(0, 0, 0) !important;
    clip-path: none !important;
    transform-origin: right center !important;
    transition:
      width 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-left 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-right 520ms cubic-bezier(0.19, 1, 0.22, 1),
      border-color 240ms ease,
      background-color 240ms ease,
      opacity 120ms ease,
      visibility 0s linear 160ms !important;
    will-change: width, opacity !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing-start .geigro-header-search-field {
    right: 84px !important;
    left: auto !important;
    width: calc(100vw - 98px) !important;
    min-width: 0 !important;
    padding: 0 9px 0 12px !important;
    border-color: rgba(255, 90, 31, 0.56) !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
      width 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-left 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-right 520ms cubic-bezier(0.19, 1, 0.22, 1),
      border-color 240ms ease,
      background-color 240ms ease,
      opacity 100ms ease,
      visibility 0s linear 0s !important;
  }

  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing-fade .geigro-header-search-field {
    right: 84px !important;
    left: auto !important;
    width: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    justify-content: center !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transition:
      width 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-left 520ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-right 520ms cubic-bezier(0.19, 1, 0.22, 1),
      border-color 220ms ease,
      background-color 220ms ease,
      opacity 1ms linear 620ms,
      visibility 0s linear 700ms !important;
  }

  .geigro-header-search-field > svg {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
    transform: none !important;
    transition: opacity 180ms ease !important;
  }

  .geigro-header-search-field input,
  .geigro-header-search-field > button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 3px, 0) !important;
    transition:
      opacity 160ms ease,
      transform 260ms cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s linear 240ms !important;
  }

  html.is-header-search-open .geigro-header-search-field input {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 120ms, 120ms, 0s !important;
  }

  html.is-header-search-open .geigro-header-search-field > button,
  html.is-header-search-closing .geigro-header-search-field > button,
  html.is-header-search-closing-fade .geigro-header-search-field > button {
    display: none !important;
  }

  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing-fade .geigro-header-search-field input {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, -4px, 0) !important;
    transition-delay: 0s, 0s, 180ms !important;
  }

  .geigro-mobile-search-cancel {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + 62px) !important;
    right: 12px !important;
    z-index: 10004 !important;
    width: 66px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(8px, 0, 0) !important;
    transition:
      opacity 180ms ease,
      transform 320ms cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s linear 240ms !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 120ms, 120ms, 0s !important;
  }

  html.is-header-search-closing .geigro-mobile-search-cancel,
  html.is-header-search-closing-fade .geigro-mobile-search-cancel {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: translate3d(8px, 0, 0) !important;
    transition-delay: 0s, 0s, 240ms !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing-fade .geigro-header-search-results {
    top: calc(var(--geigro-search-mobile-header-h, 116px) + 8px) !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: min(calc(6 * 76px + 22px), calc(100dvh - var(--geigro-search-mobile-header-h, 116px) - 22px)) !important;
    border-radius: 9px !important;
    transform-origin: 50% 0 !important;
  }

  html.is-header-search-open .geigro-header-search-results {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      opacity 240ms ease 90ms,
      transform 420ms cubic-bezier(0.19, 1, 0.22, 1) 70ms,
      visibility 0s linear 0s !important;
  }

  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing-fade .geigro-header-search-results {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: translate3d(0, -28px, 0) !important;
    transition:
      opacity 340ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 520ms cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s linear 620ms !important;
  }

  html.is-header-search-open .geigro-header-search-results-inner,
  html.is-header-search-closing .geigro-header-search-results-inner,
  html.is-header-search-closing-fade .geigro-header-search-results-inner {
    max-height: inherit !important;
    overflow: hidden auto !important;
  }

  html.is-header-search-closing .geigro-header-search-results-inner,
  html.is-header-search-closing-fade .geigro-header-search-results-inner,
  html.is-header-search-closing .geigro-header-search-list,
  html.is-header-search-closing-fade .geigro-header-search-list {
    opacity: 0 !important;
    transform: translate3d(0, -18px, 0) !important;
    transition:
      opacity 300ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 500ms cubic-bezier(0.19, 1, 0.22, 1) !important;
  }

  html.is-header-search-closing .geigro-header-search-backdrop,
  html.is-header-search-closing-fade .geigro-header-search-backdrop {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transition:
      opacity 380ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0s linear 620ms !important;
  }
}

/* Mobile pack vehicle preview: tap a spawn chip, show its package image briefly above the list. */
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .page-package .pack-vehicle-mobile-preview {
    width: min(100%, 360px) !important;
    max-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 auto !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 9px !important;
    display: block !important;
    overflow: hidden !important;
    opacity: 0 !important;
    background: rgba(7, 11, 16, 0.96) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 90, 31, 0.08) !important;
    transform: translate3d(0, -8px, 0) scale(0.985) !important;
    transform-origin: 50% 100% !important;
    transition:
      height 320ms cubic-bezier(0.19, 1, 0.22, 1),
      max-height 320ms cubic-bezier(0.19, 1, 0.22, 1),
      margin-bottom 320ms cubic-bezier(0.19, 1, 0.22, 1),
      opacity 220ms ease,
      transform 320ms cubic-bezier(0.19, 1, 0.22, 1),
      border-color 220ms ease !important;
    will-change: max-height, opacity, transform !important;
  }

  .page-package .pack-vehicle-mobile-preview.is-visible {
    max-height: 210px !important;
    margin-bottom: 8px !important;
    opacity: 1 !important;
    border-color: rgba(255, 90, 31, 0.24) !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
  }

  .page-package .pack-vehicle-mobile-preview.is-switching {
    opacity: 0 !important;
    transform: translate3d(0, -6px, 0) scale(0.99) !important;
  }

  .page-package .pack-vehicle-mobile-preview img {
    opacity: 0.98 !important;
    transform: scale(1.012) !important;
    transition:
      opacity 220ms ease,
      transform 420ms cubic-bezier(0.19, 1, 0.22, 1) !important;
  }

  .page-package .pack-vehicle-mobile-preview.is-visible img {
    opacity: 1 !important;
    transform: scale(1) !important;
  }
}

/* Desktop search reveal: content stays still; only the visible left edge opens/closes. */
@media (min-width: 821px) {
  .geigro-header-search-field {
    right: 12px !important;
    width: clamp(300px, 36vw, 520px) !important;
    min-width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
    clip-path: inset(0 0 0 calc(100% - 92px)) !important;
    transition:
      clip-path 360ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 1ms linear,
      border-color 220ms ease,
      background-color 180ms ease !important;
    will-change: clip-path, opacity !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    right: 12px !important;
    width: clamp(300px, 36vw, 520px) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    clip-path: inset(0 0 0 0) !important;
  }

  .geigro-header-search-field > svg,
  .geigro-header-search-field input,
  .geigro-header-search-field > button {
    transform: none !important;
    transition: opacity 160ms ease !important;
  }

  html:not(.is-header-search-open) .geigro-header-search-field > svg,
  html:not(.is-header-search-open) .geigro-header-search-field input,
  html:not(.is-header-search-open) .geigro-header-search-field > button {
    opacity: 0 !important;
  }

  html.is-header-search-open .geigro-header-search-field > svg,
  html.is-header-search-open .geigro-header-search-field input,
  html.is-header-search-open .geigro-header-search-field > button {
    opacity: 1 !important;
    transition-delay: 70ms !important;
  }
}

/* Search close animation: keep layers mounted/fixed until fade-out is finished. */
html.is-header-search-closing .geigro-header-search-backdrop {
  position: fixed !important;
  inset: var(--geigro-header-h, 72px) 0 0 0 !important;
  z-index: 9996 !important;
  width: 100vw !important;
  height: auto !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: rgba(0, 0, 0, 0.56) !important;
  backdrop-filter: blur(9px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(9px) saturate(112%) !important;
  transition: opacity 260ms ease !important;
}

html.is-header-search-closing .geigro-header-search-results {
  position: fixed !important;
  top: calc(var(--geigro-header-h, 72px) + 12px) !important;
  right: clamp(16px, 3vw, 48px) !important;
  bottom: auto !important;
  left: clamp(16px, 3vw, 48px) !important;
  z-index: 9997 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -8px, 0) !important;
  transition: opacity 240ms ease, transform 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (min-width: 821px) {
  html.is-header-search-closing .geigro-header-search-results {
    left: 50% !important;
    right: auto !important;
    width: min(1220px, calc(100vw - 96px)) !important;
    transform: translate3d(-50%, -8px, 0) !important;
  }
}

@media (max-width: 820px) {
  html.is-header-search-closing .geigro-header-search-backdrop {
    inset: var(--geigro-search-mobile-header-h, 116px) 0 0 0 !important;
  }

  html.is-header-search-closing .geigro-header-search-results {
    top: calc(var(--geigro-search-mobile-header-h, 116px) + 8px) !important;
    right: 12px !important;
    left: 12px !important;
  }
}

/* Final desktop search choreography:
   - the search box opens/closes from its left edge while the right edge stays fixed
   - navigation items slide/fade left on open and return from left to right on close */
@media (min-width: 821px) {
  @keyframes geigroNavExitLeft {
    0% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
      transform: translate3d(-22px, 0, 0);
    }
  }

  @keyframes geigroNavReturnRight {
    0% {
      opacity: 0;
      transform: translate3d(-22px, 0, 0);
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }

  .geigro-main-nav {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      visibility 0s linear 0s,
      opacity 220ms ease,
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: opacity, transform !important;
  }

  .geigro-main-nav > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition:
      opacity 240ms ease,
      transform 360ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: opacity, transform !important;
  }

  html.is-header-search-open .geigro-main-nav {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      visibility 0s linear 280ms,
      opacity 220ms ease,
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html.is-header-search-open .geigro-main-nav > * {
    animation: geigroNavExitLeft 280ms cubic-bezier(0.4, 0, 0.2, 1) both !important;
  }

  html.is-header-search-closing .geigro-main-nav {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      visibility 0s linear 0s,
      opacity 220ms ease,
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html.is-header-search-closing .geigro-main-nav > * {
    animation: geigroNavReturnRight 360ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  }

  html.is-header-search-open .geigro-main-nav > *:nth-child(1) {
    transition-delay: 0ms !important;
    animation-delay: 0ms !important;
  }

  html.is-header-search-open .geigro-main-nav > *:nth-child(2) {
    transition-delay: 30ms !important;
    animation-delay: 24ms !important;
  }

  html.is-header-search-open .geigro-main-nav > *:nth-child(3) {
    transition-delay: 60ms !important;
    animation-delay: 48ms !important;
  }

  html.is-header-search-closing .geigro-main-nav > *:nth-child(1) {
    transition-delay: 80ms !important;
    animation-delay: 70ms !important;
  }

  html.is-header-search-closing .geigro-main-nav > *:nth-child(2) {
    transition-delay: 120ms !important;
    animation-delay: 110ms !important;
  }

  html.is-header-search-closing .geigro-main-nav > *:nth-child(3) {
    transition-delay: 160ms !important;
    animation-delay: 150ms !important;
  }

  html.is-header-search-closing .geigro-header-search-field {
    right: 12px !important;
    width: clamp(300px, 36vw, 520px) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    clip-path: inset(0 0 0 calc(100% - 92px)) !important;
    border-color: rgba(255, 90, 31, 0.42) !important;
    transition:
      clip-path 380ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 1ms linear 430ms,
      border-color 220ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-closing .geigro-header-search-field > svg,
  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing .geigro-header-search-field > button {
    opacity: 1 !important;
    transition-delay: 0ms !important;
  }

  html.is-header-search-closing .geigro-header-search-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transition: opacity 180ms ease 260ms, visibility 0s linear 0s !important;
  }
}

/* Search close hardening: no sideways movement, no pop.
   The results wrapper is centered by left/right width, not translateX, so closing can only move on Y. */
html.is-header-search-open .geigro-header-search-result,
html.is-header-search-closing .geigro-header-search-result {
  transform-origin: 50% 0 !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result,
html.is-header-search-open .geigro-header-search-result {
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) scale(0.986) !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-visible,
html.is-header-search-open .geigro-header-search-result.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-hiding,
html.is-header-search-open .geigro-header-search-result.is-hiding,
html.is-header-search-closing .geigro-header-search-result.is-hiding {
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) scale(0.986) !important;
  pointer-events: none !important;
}

@media (min-width: 821px) {
  html.is-header-search-closing .geigro-header-search-results {
    opacity: 1 !important;
    transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html.is-header-search-open .geigro-header-search-results {
    left: max(48px, calc((100vw - 1220px) / 2)) !important;
    right: max(48px, calc((100vw - 1220px) / 2)) !important;
    width: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-header-search-closing .geigro-header-search-results {
    left: max(48px, calc((100vw - 1220px) / 2)) !important;
    right: max(48px, calc((100vw - 1220px) / 2)) !important;
    width: auto !important;
    transform: translate3d(0, -8px, 0) !important;
  }

  html.is-header-search-closing-start .geigro-header-search-field {
    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
  }

  html.is-header-search-closing .geigro-header-search-field {
    opacity: 1 !important;
    clip-path: inset(0 0 0 calc(100% - 92px)) !important;
    transition:
      clip-path 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 1ms linear 680ms,
      border-color 220ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-closing.is-header-search-closing-start .geigro-header-search-field {
    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
  }

  html.is-header-search-closing.is-header-search-closing-fade .geigro-header-search-field {
    clip-path: inset(0 0 0 calc(100% - 92px)) !important;
    opacity: 0 !important;
    transition:
      opacity 160ms ease,
      clip-path 1ms linear,
      border-color 160ms ease,
      background-color 160ms ease !important;
  }

  html.is-header-search-closing.is-header-search-closing-fade .geigro-header-search-results {
    opacity: 0 !important;
    transition: opacity 160ms ease, transform 160ms ease !important;
  }
}

/* Header stability: never fade or animate the header during initial load or page navigation.
   Page transitions may affect content, but the header must stay static and usable. */
html.js .site,
html.is-loading .site,
html.is-ready .site,
html.is-leaving .site {
  opacity: 1 !important;
  transition: none !important;
}

html.is-loading .geigro-header,
html.is-ready .geigro-header,
html.is-leaving .geigro-header {
  opacity: 1 !important;
  visibility: visible !important;
}

html.is-loading .geigro-brand,
html.is-loading .geigro-main-nav,
html.is-loading .geigro-header-actions,
html.is-ready .geigro-brand,
html.is-ready .geigro-main-nav,
html.is-ready .geigro-header-actions,
html.is-leaving .geigro-brand,
html.is-leaving .geigro-main-nav,
html.is-leaving .geigro-header-actions {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
}

html.is-leaving .site > :not(.geigro-header) {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

/* Search animation reset: use real width, not clip-path.
   This makes the left border physically travel while the right edge stays fixed. */
html.is-header-search-open .geigro-header-search-result,
html.is-header-search-closing .geigro-header-search-result,
html.is-header-search-open .geigro-header-search-result.is-visible,
html.is-header-search-open .geigro-header-search-result.is-hiding,
html.is-header-search-closing .geigro-header-search-result.is-hiding {
  transform-origin: 50% 0 !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result,
html.is-header-search-open .geigro-header-search-result {
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-visible,
html.is-header-search-open .geigro-header-search-result.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

html.is-header-search-open .geigro-header-search-results.is-catalog-ready .geigro-header-search-result.is-hiding,
html.is-header-search-open .geigro-header-search-result.is-hiding,
html.is-header-search-closing .geigro-header-search-result.is-hiding {
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) !important;
  pointer-events: none !important;
}

@media (min-width: 821px) {
  .geigro-header-search-field {
    --geigro-search-open-width: clamp(300px, 36vw, 520px);
    --geigro-search-closed-width: 54px;
    right: 12px !important;
    width: var(--geigro-search-closed-width) !important;
    min-width: 0 !important;
    max-width: var(--geigro-search-open-width) !important;
    overflow: hidden !important;
    clip-path: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      width 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 140ms ease,
      visibility 0s linear 140ms,
      border-color 180ms ease,
      background-color 180ms ease !important;
    will-change: width, opacity !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    width: var(--geigro-search-open-width) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    clip-path: none !important;
    transition:
      width 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 80ms ease,
      visibility 0s linear 0s,
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-closing-start .geigro-header-search-field,
  html.is-header-search-closing.is-header-search-closing-start .geigro-header-search-field {
    width: var(--geigro-search-open-width) !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
  }

  html.is-header-search-closing .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    clip-path: none !important;
    transition:
      width 560ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 1ms linear 700ms,
      visibility 0s linear 0s,
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-closing.is-header-search-closing-fade .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    opacity: 0 !important;
    visibility: visible !important;
    clip-path: none !important;
    transition:
      opacity 160ms ease,
      width 1ms linear,
      visibility 0s linear 160ms,
      border-color 160ms ease,
      background-color 160ms ease !important;
  }

  html.is-header-search-open .geigro-header-search-field > svg,
  html.is-header-search-open .geigro-header-search-field input,
  html.is-header-search-open .geigro-header-search-field > button {
    opacity: 1 !important;
    transform: none !important;
    transition: opacity 140ms ease 110ms !important;
  }

  html.is-header-search-closing .geigro-header-search-field > svg,
  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing .geigro-header-search-field > button,
  html.is-header-search-closing-fade .geigro-header-search-field > svg,
  html.is-header-search-closing-fade .geigro-header-search-field input,
  html.is-header-search-closing-fade .geigro-header-search-field > button {
    opacity: 0 !important;
    transform: none !important;
    transition: opacity 100ms ease !important;
  }
}

/* Search close polish: never show the collapsed search field and the normal search button at once. */
.geigro-header-search-field,
.geigro-header-search-field *,
.geigro-header-search-field input,
.geigro-header-search-field button,
.geigro-header-search-field svg {
  background-image: none !important;
  box-shadow: none !important;
}

.geigro-header-search-field input,
.geigro-header-search-field input:focus,
.geigro-header-search-field input:hover,
.geigro-header-search-field input:active,
.geigro-header-search-field button,
.geigro-header-search-field button:hover,
.geigro-header-search-field button:focus {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 821px) {
  .geigro-header-search-field {
    z-index: 3 !important;
    background: rgba(7, 11, 16, 0.98) !important;
  }

  .geigro-header-search-toggle {
    z-index: 2 !important;
  }

  html.is-header-search-open .geigro-header-search-toggle,
  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 80ms ease, visibility 0s linear 80ms !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity 160ms ease 40ms, visibility 0s linear 0s !important;
  }

  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-result,
  html.is-header-search-closing .geigro-header-search-result * {
    transition-delay: 0ms !important;
  }
}

/* Final search-close QA overrides: one outer field only, and result content fades with the card. */
.geigro-header-search-field::before,
.geigro-header-search-field::after,
.geigro-header-search-field input::before,
.geigro-header-search-field input::after {
  content: none !important;
  display: none !important;
}

.geigro-header-search-field,
.geigro-header-search-field input,
.geigro-header-search-field button,
.geigro-header-search-field svg {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.geigro-header-search-field input,
.geigro-header-search-field input:focus,
.geigro-header-search-field input:hover,
.geigro-header-search-field input:active,
.geigro-header-search-field input:-webkit-autofill,
.geigro-header-search-field input:-webkit-autofill:hover,
.geigro-header-search-field input:-webkit-autofill:focus {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
}

.geigro-header-search-result-media,
.geigro-header-search-result-content,
.geigro-header-search-result-price {
  will-change: opacity !important;
}

html.is-header-search-closing .geigro-header-search-result.is-hiding .geigro-header-search-result-media,
html.is-header-search-closing .geigro-header-search-result.is-hiding .geigro-header-search-result-content,
  html.is-header-search-closing .geigro-header-search-result.is-hiding .geigro-header-search-result-price,
  html.is-header-search-open .geigro-header-search-result.is-hiding .geigro-header-search-result-media,
  html.is-header-search-open .geigro-header-search-result.is-hiding .geigro-header-search-result-content,
  html.is-header-search-open .geigro-header-search-result.is-hiding .geigro-header-search-result-price {
  opacity: 0 !important;
  transition-delay: 0ms !important;
}

/* Final unified search close: backdrop, panel and package rows lift out together.
   No delayed reset, no centered row pop, no separate background snap. */
html.is-header-search-closing .geigro-header-search-backdrop,
html.is-header-search-closing-fade .geigro-header-search-backdrop {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -18px, 0) !important;
  transform-origin: 50% 0 !important;
  transition:
    opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 620ms !important;
  will-change: opacity, transform !important;
}

html.is-header-search-closing .geigro-header-search-results,
html.is-header-search-closing-fade .geigro-header-search-results {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -28px, 0) !important;
  transform-origin: 50% 0 !important;
  transition:
    opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 620ms !important;
  will-change: opacity, transform !important;
}

html.is-header-search-closing .geigro-header-search-results-inner,
html.is-header-search-closing-fade .geigro-header-search-results-inner,
html.is-header-search-closing .geigro-header-search-list,
html.is-header-search-closing-fade .geigro-header-search-list {
  transform: translate3d(0, -18px, 0) !important;
  opacity: 0 !important;
  transition:
    opacity 360ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform !important;
}

html.is-header-search-closing .geigro-header-search-result,
html.is-header-search-closing-fade .geigro-header-search-result,
html.is-header-search-closing .geigro-header-search-result *,
html.is-header-search-closing-fade .geigro-header-search-result * {
  transition-delay: 0ms !important;
}

@media (min-width: 821px) {
  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing-fade .geigro-header-search-results {
    left: max(48px, calc((100vw - 1220px) / 2)) !important;
    right: max(48px, calc((100vw - 1220px) / 2)) !important;
    width: auto !important;
    transform: translate3d(0, -28px, 0) !important;
  }
}

/* Final desktop search close: no end-pop, no disappearing magnifier.
   The animated field shrinks to the exact closed search-button footprint, then hands off invisibly. */
@media (min-width: 821px) {
  .geigro-header-search-field {
    --geigro-search-closed-width: 54px !important;
  }

  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing.is-header-search-closing-fade .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    clip-path: none !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    transition:
      width 560ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html.is-header-search-closing .geigro-header-search-field > svg,
  html.is-header-search-closing-fade .geigro-header-search-field > svg {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing-fade .geigro-header-search-field input {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    min-width: 0 !important;
    transition: none !important;
  }

  html.is-header-search-closing .geigro-header-search-field > button,
  html.is-header-search-closing-fade .geigro-header-search-field > button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity 80ms ease, visibility 0s linear 80ms !important;
  }

  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
      color 180ms ease,
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }
}

/* Final no-swap desktop search: the field is the visible closed control too.
   This removes the visual handoff that caused the close pop. */
@media (min-width: 821px) {
  .geigro-header-search {
    width: 66px !important;
    min-width: 66px !important;
  }

  .geigro-header-search-toggle,
  html.is-header-search-open .geigro-header-search-toggle,
  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    clip-path: none !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      width 520ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field > svg,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field input {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field > button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Search final pass: compact closed control + one-piece upward close motion.
   Keep this at EOF so older experimental rules cannot reintroduce width jumps or poppy row exits. */
@media (min-width: 821px) {
  .geigro-header-search {
    position: relative !important;
    width: 68px !important;
    min-width: 68px !important;
    height: 38px !important;
    justify-content: flex-end !important;
    overflow: visible !important;
    padding-right: 12px !important;
  }

  .geigro-header-search-field {
    --geigro-search-open-width: clamp(320px, 36vw, 520px) !important;
    --geigro-search-closed-width: 56px !important;
    position: absolute !important;
    top: 0 !important;
    right: 12px !important;
    min-width: 0 !important;
    height: 38px !important;
    overflow: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: right center !important;
    will-change: width, border-color, background-color !important;
    transition:
      width 560ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.035) !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    width: var(--geigro-search-open-width) !important;
    padding: 0 8px 0 12px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    border-color: rgba(255, 90, 31, 0.42) !important;
    background: rgba(7, 11, 16, 0.96) !important;
  }

  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing-fade .geigro-header-search-field {
    width: var(--geigro-search-closed-width) !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    clip-path: none !important;
    transition:
      width 620ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 180ms ease,
      background-color 180ms ease !important;
  }

  .geigro-header-search-field > svg {
    flex: 0 0 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition: opacity 120ms ease !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field input,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-field > button,
  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing-fade .geigro-header-search-field input,
  html.is-header-search-closing .geigro-header-search-field > button,
  html.is-header-search-closing-fade .geigro-header-search-field > button {
    width: 0 !important;
    min-width: 0 !important;
    flex: 0 1 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 0, 0) !important;
    transition: opacity 90ms ease, visibility 0s linear 90ms !important;
  }

  html.is-header-search-open .geigro-header-search-field input {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity 140ms ease 80ms !important;
  }

  html.is-header-search-open .geigro-header-search-field > button {
    width: 26px !important;
    min-width: 26px !important;
    flex: 0 0 26px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity 140ms ease 80ms !important;
  }

  .geigro-header-search-toggle,
  html.is-header-search-open .geigro-header-search-toggle,
  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
  }
}

html.is-header-search-closing .geigro-header-search-backdrop,
html.is-header-search-closing-fade .geigro-header-search-backdrop {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -18px, 0) !important;
  transition:
    opacity 430ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 760ms !important;
  will-change: opacity, transform !important;
}

html.is-header-search-closing .geigro-header-search-results,
html.is-header-search-closing-fade .geigro-header-search-results {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -34px, 0) !important;
  transform-origin: 50% 0 !important;
  transition:
    opacity 430ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 760ms !important;
  will-change: opacity, transform !important;
}

html.is-header-search-closing .geigro-header-search-results-inner,
html.is-header-search-closing-fade .geigro-header-search-results-inner,
html.is-header-search-closing .geigro-header-search-list,
html.is-header-search-closing-fade .geigro-header-search-list {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition: none !important;
  will-change: auto !important;
}

html.is-header-search-closing .geigro-header-search-result,
html.is-header-search-closing-fade .geigro-header-search-result {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: none !important;
  pointer-events: none !important;
}

html.is-header-search-closing .geigro-header-search-result *,
html.is-header-search-closing-fade .geigro-header-search-result * {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition: none !important;
  transition-delay: 0ms !important;
}

@media (min-width: 821px) {
  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing-fade .geigro-header-search-results {
    left: max(48px, calc((100vw - 1220px) / 2)) !important;
    right: max(48px, calc((100vw - 1220px) / 2)) !important;
    width: auto !important;
  }

  html.is-header-search-open .geigro-header-search-results {
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-header-search-closing .geigro-header-search-results,
  html.is-header-search-closing-fade .geigro-header-search-results {
    transform: translate3d(0, -34px, 0) !important;
  }
}

@media (min-width: 821px) {
  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing-fade .geigro-header-search-field {
    position: fixed !important;
    top: var(--geigro-search-field-top, 10px) !important;
    right: var(--geigro-search-field-right, 12px) !important;
    z-index: 10002 !important;
  }
}

/* Mobile menu stability: overlay only, no page/content layout shift behind it. */
@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    padding-right: 0 !important;
    transform: none !important;
    scroll-behavior: auto !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main,
  html.is-mobile-menu-open .site-content,
  html.is-mobile-menu-closing .site-content,
  html.is-mobile-menu-open .geigro-product-grid,
  html.is-mobile-menu-closing .geigro-product-grid,
  html.is-mobile-menu-open .product-detail,
  html.is-mobile-menu-closing .product-detail {
    transform: none !important;
    translate: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 0 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    max-height: none !important;
    margin: 0 !important;
    contain: layout paint style !important;
  }

  html.is-mobile-menu-open .geigro-header,
  html.is-mobile-menu-closing .geigro-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    inset: 0 0 auto 0 !important;
    z-index: 10002 !important;
    width: 100% !important;
    min-height: var(--geigro-header-h, 68px) !important;
    margin: 0 !important;
    transform: none !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site {
    padding-top: 0 !important;
  }
}

/* Final mobile menu placement: the drawer starts and collapses exactly below the header. */
@media (max-width: 820px) {
  body > .geigro-mobile-menu,
  body > .geigro-mobile-menu[data-menu-motion="true"] {
    position: fixed !important;
    top: var(--geigro-header-h, 68px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    inset: var(--geigro-header-h, 68px) 0 auto 0 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--geigro-header-h, 68px)) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--geigro-header-h, 68px)) !important;
    margin: 0 !important;
    overflow: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: top center !important;
    clip-path: inset(0 0 100% 0) !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu,
  html.is-mobile-menu-open body > .geigro-mobile-menu[data-menu-motion="true"] {
    clip-path: inset(0 0 0 0) !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu,
  html.is-mobile-menu-closing body > .geigro-mobile-menu[data-menu-motion="true"],
  body > .geigro-mobile-menu[aria-hidden="true"],
  body > .geigro-mobile-menu[data-menu-motion="true"][aria-hidden="true"] {
    clip-path: inset(0 0 100% 0) !important;
  }
}

/* Final desktop search motion: the right edge stays fixed; only the left border travels. */
@media (min-width: 821px) {
  .geigro-header-search {
    position: relative !important;
    width: 68px !important;
    min-width: 68px !important;
    height: 38px !important;
    padding-right: 12px !important;
    overflow: visible !important;
    flex: 0 0 68px !important;
  }

  .geigro-header-search-toggle {
    position: absolute !important;
    inset: 0 12px 0 auto !important;
    width: 56px !important;
    min-width: 56px !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  .geigro-header-search-toggle span {
    display: none !important;
  }

  .geigro-header-search-field,
  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing-start .geigro-header-search-field,
  html.is-header-search-closing-fade .geigro-header-search-field {
    position: absolute !important;
    top: 0 !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 10002 !important;
    height: 38px !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 10px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    clip-path: none !important;
    transform-origin: right center !important;
    will-change: width, padding-left, padding-right, border-color, background-color !important;
    transition:
      width 620ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-left 620ms cubic-bezier(0.19, 1, 0.22, 1),
      padding-right 620ms cubic-bezier(0.19, 1, 0.22, 1),
      border-color 260ms ease,
      background-color 260ms ease,
      box-shadow 260ms ease !important;
  }

  .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field,
  html.is-header-search-closing-start .geigro-header-search-field,
  html.is-header-search-closing-fade .geigro-header-search-field,
  html:not(.is-header-search-open) .geigro-header-search-field {
    width: 56px !important;
    padding: 0 !important;
    gap: 0 !important;
    justify-content: center !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    pointer-events: auto !important;
  }

  html.is-header-search-open .geigro-header-search-field {
    width: clamp(320px, 36vw, 520px) !important;
    padding: 0 8px 0 12px !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    border-color: rgba(255, 90, 31, 0.54) !important;
    background: rgba(7, 11, 18, 0.94) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34) !important;
    pointer-events: auto !important;
  }

  .geigro-header-search-field > svg {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: opacity 220ms ease !important;
  }

  .geigro-header-search-field input,
  .geigro-header-search-field button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(6px, 0, 0) !important;
    transition:
      opacity 180ms ease,
      transform 260ms cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s linear 260ms !important;
  }

  html.is-header-search-open .geigro-header-search-field input,
  html.is-header-search-open .geigro-header-search-field button {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 120ms, 120ms, 0s !important;
  }

  html.is-header-search-closing .geigro-header-search-field input,
  html.is-header-search-closing .geigro-header-search-field button,
  html.is-header-search-closing-start .geigro-header-search-field input,
  html.is-header-search-closing-start .geigro-header-search-field button,
  html.is-header-search-closing-fade .geigro-header-search-field input,
  html.is-header-search-closing-fade .geigro-header-search-field button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, -4px, 0) !important;
    transition-delay: 0s, 0s, 240ms !important;
  }
}

/* Logged-in header label: only a tiny welcome + CFX name above the login icon. */
.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-name {
  display: none !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome {
  display: flex !important;
  position: absolute !important;
  top: -10px !important;
  right: 50% !important;
  bottom: auto !important;
  width: max-content !important;
  max-width: 130px !important;
  transform: translateX(50%) !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > span,
.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > strong {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-align: center !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > span {
  color: rgba(255, 255, 255, 0.52) !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome > strong {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

/* Logged-in header: clean 2-line action area on the right. */
.geigro-header .geigro-header-actions.has-account-label {
  position: relative !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-content: center !important;
  align-items: center !important;
  row-gap: 2px !important;
  column-gap: 12px !important;
  padding-top: 15px !important;
}

.geigro-header-account-label {
  order: -100 !important;
  flex: 0 0 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-width: 0 !important;
  max-width: min(100%, 360px) !important;
  margin: 0 2px -2px auto !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

.geigro-header-account-label > span,
.geigro-header-account-label > strong {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.geigro-header-account-label > span {
  flex: 0 0 auto !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

.geigro-header-account-label > strong {
  min-width: 0 !important;
  max-width: 190px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome,
.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-name {
  display: none !important;
}

@media (max-width: 980px) {
  .geigro-header .geigro-header-actions.has-account-label {
    padding-top: 0 !important;
  }

  .geigro-header-account-label {
    display: none !important;
  }
}

/* Mobile home hero: let the wallpaper fade cleanly into black at the bottom. */
@media (max-width: 720px) {
  .page-index,
  .page-index .geigro-home,
  .page-index .geigro-hero {
    background: #030508 !important;
  }

  .page-index .geigro-hero::before {
    background:
      linear-gradient(
        180deg,
        #030508 0%,
        rgba(3, 5, 8, 0.76) 8%,
        rgba(3, 5, 8, 0.08) 25%,
        rgba(3, 5, 8, 0.1) 58%,
        rgba(3, 5, 8, 0.76) 82%,
        #030508 100%
      ),
      linear-gradient(90deg, rgba(3, 5, 8, 0.48), rgba(3, 5, 8, 0.05) 36%, rgba(3, 5, 8, 0.05) 64%, rgba(3, 5, 8, 0.48)) !important;
  }

  .page-index .geigro-hero::after {
    background:
      radial-gradient(ellipse at 50% 46%, rgba(0, 0, 0, 0.52) 0 15%, rgba(0, 0, 0, 0.28) 32%, rgba(0, 0, 0, 0.08) 54%, transparent 70%),
      linear-gradient(180deg, transparent 0%, rgba(3, 5, 8, 0.08) 54%, rgba(3, 5, 8, 0.72) 82%, #030508 100%) !important;
  }
}

/* Final account label fix: never let the login text change header layout. */
.geigro-header .geigro-header-actions.has-account-label {
  position: relative !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  row-gap: 0 !important;
  column-gap: 12px !important;
  padding-top: 0 !important;
  min-width: 0 !important;
}

.geigro-header .geigro-header-account-label {
  position: absolute !important;
  right: 0 !important;
  top: -14px !important;
  z-index: 3 !important;
  order: initial !important;
  flex: none !important;
  width: max-content !important;
  max-width: 260px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.72) !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.geigro-header .geigro-header-account-label > span {
  display: block !important;
  color: rgba(255, 255, 255, 0.54) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.geigro-header .geigro-header-account-label > strong {
  display: block !important;
  max-width: 160px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-welcome,
.geigro-header .geigro-login-button[data-logged-in="true"] > .geigro-account-name {
  display: none !important;
}

@media (max-width: 980px) {
  .geigro-header .geigro-header-account-label {
    display: none !important;
  }
}

/* Logged-in compact header icons so the greeting has clean breathing room. */
.geigro-header .geigro-header-actions.has-account-label {
  gap: 9px !important;
  column-gap: 9px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-header-search-toggle,
.geigro-header .geigro-header-actions.has-account-label .geigro-header-community,
.geigro-header .geigro-header-actions.has-account-label .geigro-community-toggle,
.geigro-header .geigro-header-actions.has-account-label .geigro-cart-button,
.geigro-header .geigro-header-actions.has-account-label .geigro-login-button,
.geigro-header .geigro-header-actions.has-account-label .geigro-language-trigger {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-header-search-toggle svg,
.geigro-header .geigro-header-actions.has-account-label .geigro-community-toggle svg,
.geigro-header .geigro-header-actions.has-account-label .geigro-cart-button svg,
.geigro-header .geigro-header-actions.has-account-label .geigro-login-button svg {
  width: 21px !important;
  height: 21px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-language-current {
  width: 22px !important;
  min-width: 22px !important;
  height: 16px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-cart-count {
  top: -4px !important;
  right: -5px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-header-account-label {
  top: -12px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-header-account-label > span {
  font-size: 9px !important;
}

.geigro-header .geigro-header-actions.has-account-label .geigro-header-account-label > strong {
  font-size: 10px !important;
}

/* Final mobile home category layout: clean list rows after the hero auto-scroll. */
@media (max-width: 720px) {
  .page-index #geigro-categories.geigro-category-slider {
    --home-category-gap: clamp(12px, 2.1svh, 18px);
    min-height: calc(100svh - var(--geigro-header-h, 92px) - env(safe-area-inset-bottom, 0px)) !important;
    padding: clamp(16px, 2.8svh, 24px) 16px max(34px, env(safe-area-inset-bottom, 0px)) !important;
    scroll-margin-top: calc(var(--geigro-header-h, 92px) + 28px) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-content: start !important;
    gap: var(--home-category-gap) !important;
    overflow: hidden !important;
  }

  .page-index #geigro-categories .geigro-slider-track,
  .page-index #geigro-categories .geigro-slider-slide,
  .page-index #geigro-categories .geigro-slider-slide:first-child,
  .page-index #geigro-categories .geigro-slider-slide.is-active {
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    align-content: start !important;
    gap: var(--home-category-gap) !important;
  }

  .page-index #geigro-categories .geigro-slide-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-index #geigro-categories .geigro-slide-heading span {
    display: block !important;
    font-size: clamp(32px, 9.8vw, 44px) !important;
    line-height: 0.94 !important;
    letter-spacing: 0.035em !important;
    transform: none !important;
  }

  .page-index #geigro-categories .geigro-category-row {
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    gap: clamp(9px, 1.45svh, 12px) !important;
    margin: 0 !important;
  }

  .page-index #geigro-categories .geigro-category-card {
    position: relative !important;
    min-height: clamp(60px, 9.7svh, 70px) !important;
    height: clamp(60px, 9.7svh, 70px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(112px, 32vw, 140px) 24px !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 13px 8px 16px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background:
      linear-gradient(90deg, rgba(10, 14, 18, 0.96), rgba(8, 12, 16, 0.9)),
      rgba(7, 10, 14, 0.94) !important;
  }

  .page-index #geigro-categories .geigro-category-card::after {
    content: "" !important;
    position: relative !important;
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: center !important;
    display: block !important;
    width: 13px !important;
    height: 13px !important;
    border: 0 !important;
    border-top: 3px solid rgba(255, 255, 255, 0.72) !important;
    border-right: 3px solid rgba(255, 255, 255, 0.72) !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
    font-weight: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    margin-top: -1px !important;
    transform: rotate(45deg) !important;
    box-shadow: none !important;
  }

  .page-index #geigro-categories .geigro-category-card::before {
    content: attr(data-category-package-count) " Fahrzeuge" !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: start !important;
    min-width: 0 !important;
    margin-top: 4px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.46) !important;
    font-size: clamp(10px, 2.75vw, 12px) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .page-index #geigro-categories .geigro-category-title {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    z-index: 2 !important;
    align-self: end !important;
    justify-self: start !important;
    max-width: 100% !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: clamp(18px, 5.25vw, 23px) !important;
    line-height: 1 !important;
    letter-spacing: 0.045em !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-index #geigro-categories .geigro-category-title::after,
  .page-index #geigro-categories .geigro-region-chips,
  .page-index #geigro-categories .geigro-category-empty-badge,
  .page-index #geigro-categories .geigro-all-categories-action,
  .page-index #geigro-categories .geigro-slider-controls {
    display: none !important;
  }

  .page-index #geigro-categories .geigro-category-image-wrap {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    height: clamp(46px, 7.8svh, 58px) !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: end !important;
    align-self: center !important;
    opacity: 0.86 !important;
    transform: none !important;
    filter: saturate(0.9) contrast(0.96) brightness(0.86) !important;
  }

  .page-index #geigro-categories .geigro-category-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center right !important;
    transform: none !important;
  }

  .page-index #geigro-categories .geigro-category-card:hover .geigro-category-image-wrap img,
  .page-index #geigro-categories .geigro-category-card:focus-visible .geigro-category-image-wrap img {
    transform: none !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty {
    pointer-events: none !important;
    border-color: rgba(255, 255, 255, 0.075) !important;
    background:
      linear-gradient(90deg, rgba(8, 10, 13, 0.72), rgba(7, 9, 12, 0.62)),
      rgba(7, 9, 12, 0.82) !important;
    opacity: 0.56 !important;
    filter: grayscale(1) saturate(0.3) !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty::after {
    border-top-color: rgba(255, 255, 255, 0.28) !important;
    border-right-color: rgba(255, 255, 255, 0.28) !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty::before {
    color: rgba(255, 255, 255, 0.32) !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty .geigro-category-title {
    color: rgba(255, 255, 255, 0.46) !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty .geigro-category-image-wrap {
    opacity: 0.36 !important;
    filter: grayscale(1) saturate(0.15) contrast(0.82) brightness(0.55) !important;
  }

  .page-index #geigro-categories .geigro-slider-value-strip {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .page-index #geigro-categories.geigro-category-slider {
    padding-top: 16px !important;
    padding-inline: 13px !important;
  }

  .page-index #geigro-categories .geigro-category-card {
    min-height: 66px !important;
    height: 66px !important;
    grid-template-columns: minmax(0, 1fr) 106px 20px !important;
  }

  .page-index #geigro-categories .geigro-slide-heading span {
    font-size: clamp(30px, 9.2vw, 40px) !important;
  }

  .page-index #geigro-categories .geigro-slider-value-strip > div {
    display: none !important;
  }
}

/* Final mobile checkout: fixed bottom summary stays, content can still scroll fully above it. */
@media (max-width: 768px) {
  body.page-checkout {
    min-height: 100dvh !important;
    background: #030508 !important;
  }

  body.page-checkout .site {
    min-height: 100dvh !important;
    padding-bottom: calc(156px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.page-checkout .basket-page {
    padding: calc(var(--geigro-header-h, 92px) + 20px) 12px calc(156px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  body.page-checkout .site-footer {
    padding-bottom: calc(170px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.page-checkout .basket-summary {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 250 !important;
    width: 100% !important;
    max-height: min(38dvh, 178px) !important;
    padding: 12px 14px calc(13px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(138px, 34vw) !important;
    grid-template-rows: auto auto auto !important;
    gap: 7px 12px !important;
    overflow: auto !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 90, 31, 0.32) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(7, 10, 14, 0.88), rgba(4, 6, 10, 0.98)) !important;
    box-shadow: 0 -16px 42px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  body.page-checkout .basket-mobile-coupon-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    color: rgba(255, 255, 255, 0.78) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  body.page-checkout .basket-mobile-coupon-control[hidden],
  body.page-checkout [data-mobile-coupon-control][hidden] {
    display: none !important;
  }

  body.page-checkout .basket-summary-row:not(.basket-summary-total) {
    grid-column: 1 / -1 !important;
    min-height: 22px !important;
    display: flex !important;
    padding-top: 7px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: rgba(239, 245, 252, 0.62) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body.page-checkout .basket-summary-row:not(.basket-summary-total) + .basket-summary-row:not(.basket-summary-total) {
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.page-checkout .basket-summary-discount:not([hidden]) {
    grid-column: 1 / -1 !important;
    min-height: 18px !important;
    margin-top: -2px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    color: rgba(255, 134, 88, 0.92) !important;
    font-size: 12px !important;
  }

  body.page-checkout .basket-summary-discount:not([hidden]) span:last-child {
    color: rgba(255, 134, 88, 0.96) !important;
    font-weight: 900 !important;
  }

  body.page-checkout .basket-summary-total {
    grid-column: 1 !important;
    grid-row: 3 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    align-items: end !important;
  }

  body.page-checkout .basket-summary-total > strong:first-child {
    display: block !important;
    margin-bottom: 4px !important;
    color: rgba(255, 255, 255, 0.64) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 0.055em !important;
    text-transform: uppercase !important;
  }

  body.page-checkout .basket-summary-total strong:last-child,
  body.page-checkout .basket-summary-total [data-basket-total] {
    color: #fff !important;
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 0.95 !important;
    font-weight: 950 !important;
  }

  body.page-checkout .basket-summary-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    align-self: end !important;
    margin: 0 !important;
  }

  body.page-checkout .basket-summary-actions .btn-primary {
    width: 100% !important;
    min-width: 138px !important;
    min-height: 56px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.page-checkout .basket-shop-card {
    padding: 12px !important;
    border-radius: 12px !important;
  }

  body.page-checkout .basket-item {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 112px !important;
    gap: 8px 12px !important;
    align-items: start !important;
  }

  body.page-checkout .basket-item-media {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 118px !important;
    height: 82px !important;
    border-radius: 9px !important;
  }

  body.page-checkout .basket-item-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body.page-checkout .basket-item .title {
    margin: 0 !important;
    font-size: clamp(17px, 4.9vw, 21px) !important;
    line-height: 1.12 !important;
  }

  body.page-checkout .basket-item-actions {
    margin-top: 8px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }

  body.page-checkout .basket-item-quantity {
    display: none !important;
  }

  body.page-checkout .basket-item-actions .basket-item-badge {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
    border-radius: 999px !important;
  }

  body.page-checkout .basket-item-actions .basket-item-category.basket-item-badge {
    max-width: 132px !important;
  }

  body.page-checkout .basket-item-meta {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-checkout .basket-item-meta .price {
    text-align: right !important;
    color: #fff !important;
    font-size: clamp(21px, 6vw, 29px) !important;
    line-height: 1 !important;
    font-weight: 930 !important;
  }
}

@media (max-width: 390px) {
  body.page-checkout .basket-page {
    padding-inline: 10px !important;
  }

  body.page-checkout .basket-item {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }

  body.page-checkout .basket-item-media {
    width: 104px !important;
    height: 76px !important;
  }

  body.page-checkout .basket-summary {
    grid-template-columns: minmax(0, 1fr) 132px !important;
  }
}

/* Final mobile search position lock: closed icon stays in header, open field sits below header line. */
@media (max-width: 820px) {
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search {
    position: relative !important;
    order: 0 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-field,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-mobile-search-cancel,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-results,
  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-backdrop {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.is-header-search-open {
    --geigro-search-mobile-header-h: calc(var(--geigro-header-h, 92px) + 68px) !important;
  }

  html.is-header-search-open .geigro-header,
  html.is-header-search-open .geigro-header-inner,
  html.is-header-search-closing .geigro-header,
  html.is-header-search-closing .geigro-header-inner {
    height: var(--geigro-header-h, 92px) !important;
    min-height: var(--geigro-header-h, 92px) !important;
  }

  html.is-header-search-open .geigro-brand {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search {
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html.is-header-search-open .geigro-header-search-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-header-h, 92px) + 12px) !important;
    left: 14px !important;
    right: 92px !important;
    z-index: 10003 !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 90, 31, 0.58) !important;
    border-radius: 10px !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) 28px !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(5, 8, 12, 0.96) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      left 320ms cubic-bezier(0.16, 1, 0.3, 1),
      right 320ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 180ms ease,
      transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 0s !important;
  }

  html.is-header-search-closing .geigro-header-search-field {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: translate3d(0, -8px, 0) !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel,
  html.is-header-search-closing .geigro-mobile-search-cancel {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-header-h, 92px) + 12px) !important;
    right: 12px !important;
    z-index: 10004 !important;
    width: 74px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255, 255, 255, 0.86) !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    box-shadow: none !important;
  }

  html.is-header-search-closing .geigro-mobile-search-cancel {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(0, -8px, 0) !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results {
    position: fixed !important;
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-header-h, 92px) + 68px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10002 !important;
    padding: 12px 12px 20px !important;
    overflow: hidden !important;
    background: rgba(3, 5, 8, 0.74) !important;
    backdrop-filter: blur(5px) brightness(0.58) !important;
    -webkit-backdrop-filter: blur(5px) brightness(0.58) !important;
  }

  html.is-header-search-open .geigro-header-search-backdrop,
  html.is-header-search-closing .geigro-header-search-backdrop {
    top: calc(var(--geigro-search-lock-y, 0px) + var(--geigro-header-h, 92px)) !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
  }

  html.is-header-search-closing .geigro-header-search,
  html.is-header-search-closing-start .geigro-header-search,
  html.is-header-search-closing-fade .geigro-header-search {
    position: relative !important;
    order: 0 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  html.is-header-search-closing .geigro-header-search-toggle,
  html.is-header-search-closing-start .geigro-header-search-toggle,
  html.is-header-search-closing-fade .geigro-header-search-toggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: opacity 160ms ease, color 180ms ease, border-color 180ms ease, background-color 180ms ease !important;
  }
}

/* === GEIGRO final live hotfix EOF — category/search/menu stability === */
@media (min-width: 821px) {
  .geigro-category-shell {
    padding-top: calc(var(--geigro-header-h, 72px) + clamp(26px, 3vw, 42px)) !important;
  }

  .geigro-category-titlebar {
    padding-top: 0 !important;
    margin-bottom: clamp(38px, 4.6vw, 76px) !important;
  }

  .geigro-products-layout {
    align-items: start !important;
  }
}

@media (max-width: 820px) {
  html,
  body,
  body.page-index,
  body.page-index .site,
  body.page-index .geigro-home {
    background: #030508 !important;
  }

  .page-index #geigro-categories.geigro-category-slider,
  .page-index .geigro-category-slider {
    min-height: auto !important;
    height: auto !important;
    padding: clamp(8px, 1.4svh, 12px) clamp(15px, 4vw, 18px) clamp(28px, 5svh, 42px) !important;
    margin-top: 0 !important;
    scroll-margin-top: calc(var(--geigro-header-h, 92px) + 4px) !important;
    display: block !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-slider-track,
  .page-index #geigro-categories .geigro-slider-slide,
  .page-index .geigro-category-slider .geigro-slider-track,
  .page-index .geigro-category-slider .geigro-slider-slide {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-slide-heading,
  .page-index .geigro-category-slider .geigro-slide-heading {
    margin: 0 0 clamp(14px, 2svh, 18px) !important;
    padding: 0 !important;
  }

  .page-index #geigro-categories .geigro-slide-heading span,
  .page-index .geigro-category-slider .geigro-slide-heading span {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: 0.9 !important;
    letter-spacing: 0.035em !important;
  }

  .page-index #geigro-categories .geigro-category-row,
  .page-index .geigro-category-slider .geigro-category-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(9px, 1.35svh, 12px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .page-index #geigro-categories .geigro-category-card,
  .page-index .geigro-category-slider .geigro-category-card {
    min-height: 74px !important;
    height: 74px !important;
    grid-template-columns: minmax(0, 1fr) clamp(116px, 33vw, 150px) 22px !important;
    grid-template-rows: 1fr auto 1fr !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    padding: 9px 14px 9px 16px !important;
    border-radius: 12px !important;
  }

  .page-index #geigro-categories .geigro-category-title,
  .page-index .geigro-category-slider .geigro-category-title {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: end !important;
    max-width: 100% !important;
    font-size: clamp(19px, 5.3vw, 25px) !important;
    line-height: 0.95 !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .page-index #geigro-categories .geigro-category-card::before,
  .page-index .geigro-category-slider .geigro-category-card::before {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    margin: 4px 0 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
  }

  .page-index #geigro-categories .geigro-category-card::after,
  .page-index .geigro-category-slider .geigro-category-card::after {
    grid-column: 3 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    transform: rotate(45deg) translate3d(0, 0, 0) !important;
  }

  .page-index #geigro-categories .geigro-category-image-wrap,
  .page-index .geigro-category-slider .geigro-category-image-wrap {
    grid-column: 2 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: end !important;
    height: 58px !important;
    max-height: 58px !important;
    width: 100% !important;
    opacity: 0.86 !important;
  }

  .page-index #geigro-categories .geigro-slider-value-strip,
  .page-index .geigro-category-slider .geigro-slider-value-strip {
    display: none !important;
  }

  .page-index #geigro-categories .geigro-category-card.is-empty,
  .page-index .geigro-category-slider .geigro-category-card.is-empty {
    opacity: 0.42 !important;
    filter: grayscale(1) saturate(0.2) brightness(0.72) !important;
    pointer-events: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search {
    position: relative !important;
    inset: auto !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: visible !important;
    transform: none !important;
  }

  html:not(.is-header-search-open):not(.is-header-search-closing):not(.is-header-search-closing-start):not(.is-header-search-closing-fade) .geigro-header-search-toggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html.is-header-search-open .geigro-header-search-field,
  html.is-header-search-closing .geigro-header-search-field {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    left: 14px !important;
    right: 94px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
  }

  html.is-header-search-open .geigro-mobile-search-cancel,
  html.is-header-search-closing .geigro-mobile-search-cancel {
    top: calc(var(--geigro-header-h, 92px) + 10px) !important;
    right: 12px !important;
    height: 48px !important;
  }

  html.is-header-search-open .geigro-header-search-results,
  html.is-header-search-closing .geigro-header-search-results {
    top: calc(var(--geigro-header-h, 92px) + 70px) !important;
    padding-top: 12px !important;
  }

  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body {
    overflow: hidden !important;
    position: static !important;
    height: auto !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main {
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }

  body > .geigro-mobile-menu {
    position: fixed !important;
    inset: var(--geigro-header-h, 92px) 0 0 !important;
    height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    max-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
    margin: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    clip-path: inset(0 0 100% 0) !important;
    transition: clip-path 420ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 420ms !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.is-mobile-menu-open body > .geigro-mobile-menu {
    clip-path: inset(0 0 0 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu {
    clip-path: inset(0 0 100% 0) !important;
    visibility: visible !important;
    pointer-events: none !important;
  }
}

/* Checkout absolute final overrides: must remain at the very end of shared.css. */
body.page-checkout .basket-shop-card {
  position: relative !important;
}

body.page-checkout .basket-remove {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 8 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 9px !important;
  background: rgba(15, 15, 18, 0.74) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease !important;
}

body.page-checkout .basket-remove:hover,
body.page-checkout .basket-remove:focus-visible {
  color: #ff8a1c !important;
  border-color: rgba(255, 138, 28, 0.5) !important;
  background: rgba(255, 138, 28, 0.12) !important;
  transform: translateY(-1px) !important;
}

body.page-checkout .basket-remove span {
  display: block !important;
  transform: translateY(-1px) !important;
}

body.page-checkout .basket-item-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  padding-right: 34px !important;
  margin-top: 7px !important;
  margin-bottom: 8px !important;
  min-height: 26px !important;
}

body.page-checkout .basket-item-badge,
body.page-checkout .basket-item-kind,
body.page-checkout .basket-item-category,
body.page-checkout .basket-item-actions .basket-item-badge,
body.page-checkout .basket-item-actions .basket-item-kind.basket-item-badge,
body.page-checkout .basket-item-actions .basket-item-category.basket-item-badge {
  width: auto !important;
  min-width: 0 !important;
  max-width: 140px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 0 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 138, 28, 0.28) !important;
  background: rgba(255, 138, 28, 0.1) !important;
  color: #ffb05a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: none !important;
}

body.page-checkout .basket-item-kind {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: rgba(255, 255, 255, 0.84) !important;
}

body.page-checkout .basket-item-category {
  max-width: 170px !important;
}

body.page-checkout [data-basket-category-badge][hidden],
body.page-checkout .basket-item-actions .basket-item-category[data-basket-category-badge][hidden] {
  display: none !important;
}

@media (max-width: 720px) {
  body.page-checkout .basket-remove {
    top: 10px !important;
    right: 10px !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
  }

  body.page-checkout .basket-item-actions {
    justify-content: flex-start !important;
    padding-right: 28px !important;
    gap: 6px !important;
    margin-top: 6px !important;
    margin-bottom: 7px !important;
  }

  body.page-checkout .basket-item-badge,
  body.page-checkout .basket-item-kind,
  body.page-checkout .basket-item-category,
  body.page-checkout .basket-item-actions .basket-item-badge,
  body.page-checkout .basket-item-actions .basket-item-kind.basket-item-badge,
  body.page-checkout .basket-item-actions .basket-item-category.basket-item-badge {
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    padding: 0 8px !important;
    border-radius: 7px !important;
    font-size: 9.5px !important;
  }
}

@media (max-width: 720px) and (max-height: 760px) {
  body.page-index .geigro-hero-content {
    margin-top: calc(-1 * clamp(156px, 23svh, 218px)) !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.page-index .geigro-hero-title {
    font-size: clamp(32px, 10.4vw, 46px) !important;
  }

  body.page-index .geigro-hero-copy {
    margin-top: 9px !important;
    font-size: 12px !important;
  }

  body.page-index .geigro-hero-pills {
    margin-top: 10px !important;
    gap: 7px !important;
  }

  body.page-index .geigro-hero-pills span {
    min-height: 28px !important;
    padding-inline: 10px !important;
    font-size: 10px !important;
  }

  body.page-index .geigro-hero-cta {
    margin-top: 12px !important;
    min-height: 40px !important;
  }
}

/* Footer payment methods: compact dark chips instead of large white tiles. */
.site-footer .we-accept {
  justify-content: center !important;
}

.site-footer .payment-logo-badge,
.site-footer .payment-logo-card {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: none !important;
}

.site-footer .payment-logo-badge img,
.site-footer .payment-logo-asset img {
  width: auto !important;
  max-width: 58px !important;
  height: 22px !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  object-fit: contain !important;
}

.site-footer .payment-logo-paybybank,
.site-footer .payment-logo-sofort {
  background: rgba(255, 255, 255, 0.045) !important;
}

@media (max-width: 560px) {
  .site-footer .we-accept {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .site-footer .payment-logo-badge {
    height: 30px !important;
    min-height: 30px !important;
    padding: 3px 4px !important;
    border-radius: 8px !important;
  }

  .site-footer .payment-logo-badge img,
  .site-footer .payment-logo-asset img {
    max-width: 50px !important;
    height: 19px !important;
    padding: 2px 5px !important;
  }

  .site-footer .payment-logo-paybybank img,
  .site-footer .payment-logo-sofort img {
    max-width: 56px !important;
  }
}

/* Final page-title spacing lock: checkout, package and category start at the same distance below the header. */
:root {
  --geigro-page-title-gap: 32px;
}

.geigro-category-shell {
  padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap)) !important;
}

.geigro-category-titlebar {
  padding-top: 0 !important;
}

body.page-checkout .basket-page {
  padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap)) !important;
}

body.page-package .product-detail {
  padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap)) !important;
}

@media (max-width: 768px) {
  :root {
    --geigro-page-title-gap: 18px;
  }

  .geigro-category-shell {
    padding-top: calc(var(--geigro-header-h, 92px) + 8px) !important;
  }

  .geigro-category-titlebar {
    padding-top: 0 !important;
  }

  body.page-checkout .basket-page {
    padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap)) !important;
  }

  body.page-package .product-detail {
    padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap)) !important;
  }
}

.site-footer .we-accept {
  gap: 9px !important;
  justify-content: center !important;
}

.site-footer .we-accept li {
  min-width: 0 !important;
}

.site-footer .payment-logo-badge,
.site-footer .payment-logo-card,
.site-footer span.payment-logo-badge.payment-logo-card {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.site-footer .payment-logo-badge img,
.site-footer .payment-logo-card img,
.site-footer .payment-logo-asset img {
  width: auto !important;
  max-width: 54px !important;
  height: 22px !important;
  max-height: 22px !important;
  padding: 4px 8px !important;
  border: 0 !important;
  border-radius: 6px !important;
  display: block !important;
  background: rgba(255, 255, 255, 0.96) !important;
  object-fit: contain !important;
  box-shadow: none !important;
}

.site-footer .payment-logo-applepay img,
.site-footer .payment-logo-googlepay img,
.site-footer .payment-logo-paybybank img,
.site-footer .payment-logo-sofort img {
  filter: brightness(1.18) contrast(1.04) !important;
}

.site-footer-powered {
  gap: 8px !important;
  padding: 28px 0 6px !important;
  border-top: 0 !important;
}

.site-footer-powered-line {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.site-footer-powered-badge,
.site-footer-powered-badge:hover,
.site-footer-powered-badge:focus-visible {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 560px) {
  .site-footer .we-accept {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: center !important;
    justify-items: center !important;
  }

  .site-footer .payment-logo-badge,
  .site-footer .payment-logo-card,
  .site-footer span.payment-logo-badge.payment-logo-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .site-footer .payment-logo-badge img,
  .site-footer .payment-logo-card img,
  .site-footer .payment-logo-asset img {
    max-width: 48px !important;
    height: 20px !important;
    max-height: 20px !important;
    padding: 4px 6px !important;
  }
}

/* Final mobile checkout coupon keyboard lock. */
@media (max-width: 768px) {
  body.page-checkout .basket-coupon {
    bottom: max(0px, var(--geigro-mobile-keyboard-offset, 0px)) !important;
    max-height: min(calc(76dvh - var(--geigro-mobile-keyboard-offset, 0px)), 540px) !important;
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    overscroll-behavior: contain !important;
  }

  html.is-mobile-coupon-open body.page-checkout .basket-coupon {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  body.page-checkout .basket-coupon-form input[data-coupon-input] {
    scroll-margin-top: calc(var(--geigro-header-h, 92px) + 18px) !important;
    scroll-margin-bottom: calc(var(--geigro-mobile-keyboard-offset, 0px) + 36px) !important;
  }
}

/* Final coupon loading border lock: animated gradient belongs only to the input field. */
body.page-checkout .basket-coupon.is-checking .basket-coupon-form::before {
  display: none !important;
  content: none !important;
}

body.page-checkout .basket-coupon.is-checking .basket-coupon-form input[data-coupon-input] {
  border-color: transparent !important;
  background:
    linear-gradient(#080b0f, #080b0f) padding-box,
    linear-gradient(
      90deg,
      rgba(255, 90, 31, 0.22),
      rgba(255, 190, 130, 0.96),
      rgba(255, 90, 31, 0.72),
      rgba(255, 255, 255, 0.36),
      rgba(255, 90, 31, 0.22)
    ) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
  animation: geigro-coupon-input-border-flow 1500ms linear infinite !important;
}

@media (max-width: 820px) and (max-height: 760px) {
  body.page-index .geigro-hero-content {
    margin-top: calc(-1 * clamp(252px, 37svh, 344px)) !important;
  }
}

/* Home categories/footer spacing: tighter, but footer still enters only after scrolling. */
body.page-index #geigro-categories.geigro-category-slider,
body.page-index .geigro-category-slider {
  min-height: calc(100dvh - var(--geigro-header-h, 92px)) !important;
  min-height: calc(100svh - var(--geigro-header-h, 92px)) !important;
  padding-bottom: max(clamp(24px, 4svh, 44px), env(safe-area-inset-bottom, 0px)) !important;
  margin-bottom: 0 !important;
}

body.page-index .site-footer {
  margin-top: 0 !important;
}

/* Mobile category pages: title/filter bar sits directly under the header. */
@media (max-width: 820px) {
  body:not(.page-index) .geigro-category-shell {
    padding-top: 0 !important;
  }

body:not(.page-index) .geigro-category-titlebar {
    margin-top: 0 !important;
  }
}

@media (max-width: 340px) {
  body.page-index .geigro-hero-content {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }

  body.page-index .geigro-hero-title,
  body.page-index .geigro-hero-copy,
  body.page-index .geigro-hero-pills {
    max-width: 100% !important;
  }
}


/* Final home cue behavior: sharp in Safari, but part of the hero instead of sticky/fixed. */
body.page-index .geigro-hero {
  position: relative !important;
}

/* Final home scroll cue: compact, sharp, hero-bound and Safari-safe. */
body.page-index .geigro-hero {
  position: relative !important;
}

body.page-index .geigro-hero {
  box-sizing: border-box !important;
  padding-bottom: calc(clamp(184px, 19svh, 224px) + env(safe-area-inset-bottom, 0px)) !important;
}

body.page-index .geigro-scroll-cue {
  --geigro-cue-size: clamp(24px, 2.45vw, 34px);
  --geigro-cue-gap: clamp(0px, 0.25vw, 3px);
  position: absolute !important;
  left: 50% !important;
  bottom: calc(clamp(160px, 17svh, 188px) + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 8 !important;
  width: calc(var(--geigro-cue-size) + 14px) !important;
  min-height: calc((var(--geigro-cue-size) * 1.7) + (var(--geigro-cue-gap) * 2)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--geigro-cue-gap) !important;
  color: rgba(255, 255, 255, 0.96) !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 0;
  transform: translate3d(-50%, 12px, 0);
  animation: geigro-scroll-cue-enter 900ms cubic-bezier(0.22, 1, 0.36, 1) 420ms both !important;
  backface-visibility: hidden !important;
  -webkit-font-smoothing: antialiased !important;
}

body.page-index .geigro-scroll-cue-arrow {
  width: var(--geigro-cue-size) !important;
  height: calc(var(--geigro-cue-size) * 0.56) !important;
  display: block !important;
  opacity: 0.5;
  transform: translate3d(0, 0, 0);
  animation-duration: 1900ms !important;
  animation-timing-function: cubic-bezier(0.37, 0, 0.18, 1) !important;
  animation-iteration-count: infinite !important;
  animation-fill-mode: both !important;
}

body.page-index .geigro-scroll-cue-arrow:nth-child(1) {
  animation-name: geigro-scroll-cue-top !important;
}

body.page-index .geigro-scroll-cue-arrow:nth-child(2) {
  animation-name: geigro-scroll-cue-middle !important;
}

body.page-index .geigro-scroll-cue-arrow:nth-child(3) {
  animation-name: geigro-scroll-cue-bottom !important;
}

body.page-index .geigro-scroll-cue-arrow svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
}

body.page-index .geigro-scroll-cue-arrow path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

@keyframes geigro-scroll-cue-enter {
  0% {
    opacity: 0;
    transform: translate3d(-50%, 12px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes geigro-scroll-cue-bottom {
  0% { opacity: 0.48; transform: translate3d(0, 0, 0); }
  16% { opacity: 0.98; transform: translate3d(0, 12px, 0); }
  78% { opacity: 0.9; transform: translate3d(0, 12px, 0); }
  94% { opacity: 0.54; transform: translate3d(0, 0, 0); }
  100% { opacity: 0.48; transform: translate3d(0, 0, 0); }
}

@keyframes geigro-scroll-cue-middle {
  0% { opacity: 0.42; transform: translate3d(0, 0, 0); }
  7% { opacity: 0.48; transform: translate3d(0, 0, 0); }
  24% { opacity: 0.92; transform: translate3d(0, 12px, 0); }
  78% { opacity: 0.84; transform: translate3d(0, 12px, 0); }
  94% { opacity: 0.48; transform: translate3d(0, 0, 0); }
  100% { opacity: 0.42; transform: translate3d(0, 0, 0); }
}

@keyframes geigro-scroll-cue-top {
  0% { opacity: 0.36; transform: translate3d(0, 0, 0); }
  19% { opacity: 0.42; transform: translate3d(0, 0, 0); }
  37% { opacity: 0.86; transform: translate3d(0, 12px, 0); }
  78% { opacity: 0.78; transform: translate3d(0, 12px, 0); }
  94% { opacity: 0.42; transform: translate3d(0, 0, 0); }
  100% { opacity: 0.36; transform: translate3d(0, 0, 0); }
}

@media (max-width: 820px) {
  body.page-index .geigro-hero {
    min-height: 100dvh !important;
    min-height: 100svh !important;
    padding-bottom: calc(clamp(194px, 22svh, 238px) + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.page-index .geigro-hero-content {
    transform: translate3d(0, clamp(54px, 9svh, 96px), 0) !important;
  }

  body.page-index.is-home-initial #geigro-categories.geigro-category-slider {
    visibility: hidden !important;
  }

  body.page-index .geigro-scroll-cue {
    --geigro-cue-size: clamp(22px, 6.2vw, 28px);
    bottom: calc(clamp(118px, 14svh, 150px) + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 820px) and (max-height: 720px) {
  body.page-index .geigro-hero-content {
    transform: translate3d(0, clamp(44px, 7.2svh, 64px), 0) !important;
  }

  body.page-index .geigro-scroll-cue {
    bottom: calc(clamp(112px, 15svh, 128px) + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 420px), (max-height: 680px) {
  body.page-index .geigro-scroll-cue {
    --geigro-cue-size: clamp(21px, 5.8vw, 25px);
    --geigro-cue-gap: 0px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-index .geigro-scroll-cue {
    opacity: 1 !important;
    animation: none !important;
    transform: translate3d(-50%, 0, 0) !important;
  }

  body.page-index .geigro-scroll-cue-arrow {
    opacity: 0.9 !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Final home Vehicles snap target: align under the fixed header and keep footer/hero artifacts out of view. */
html {
  --geigro-vehicles-snap-gap: clamp(24px, 4svh, 44px);
  scroll-padding-top: calc(var(--geigro-header-h, 92px) + var(--geigro-vehicles-snap-gap, 0px));
}

body.page-index #geigro-categories.geigro-category-slider {
  --geigro-vehicles-snap-gap: clamp(24px, 4svh, 44px);
  --geigro-vehicles-inner-gap: clamp(14px, 2.4svh, 28px);
  --geigro-vehicles-footer-guard: max(var(--geigro-vehicles-snap-gap), clamp(34px, 5svh, 72px), env(safe-area-inset-bottom, 0px));
  scroll-margin-top: calc(var(--geigro-header-h, 92px) + var(--geigro-vehicles-snap-gap)) !important;
  min-height: calc(100dvh - var(--geigro-header-h, 92px) - var(--geigro-vehicles-snap-gap) + var(--geigro-vehicles-footer-guard)) !important;
  min-height: calc(100svh - var(--geigro-header-h, 92px) - var(--geigro-vehicles-snap-gap) + var(--geigro-vehicles-footer-guard)) !important;
  padding-top: var(--geigro-vehicles-inner-gap) !important;
  padding-bottom: calc(var(--geigro-vehicles-footer-guard) + var(--geigro-vehicles-inner-gap)) !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  html {
    --geigro-vehicles-snap-gap: clamp(28px, 4.8svh, 48px);
  }

  body.page-index #geigro-categories.geigro-category-slider {
    --geigro-vehicles-snap-gap: clamp(28px, 4.8svh, 48px);
    --geigro-vehicles-inner-gap: clamp(12px, 2.2svh, 22px);
    --geigro-vehicles-footer-guard: max(var(--geigro-vehicles-snap-gap), clamp(52px, 8svh, 86px), env(safe-area-inset-bottom, 0px));
    min-height: calc(100dvh - var(--geigro-header-h, 68px) - var(--geigro-vehicles-snap-gap) + var(--geigro-vehicles-footer-guard)) !important;
    min-height: calc(100svh - var(--geigro-header-h, 68px) - var(--geigro-vehicles-snap-gap) + var(--geigro-vehicles-footer-guard)) !important;
    scroll-margin-top: calc(var(--geigro-header-h, 68px) + var(--geigro-vehicles-snap-gap)) !important;
    padding-top: var(--geigro-vehicles-inner-gap) !important;
    padding-bottom: calc(var(--geigro-vehicles-footer-guard) + var(--geigro-vehicles-inner-gap)) !important;
    overflow: hidden !important;
  }
}

@media (max-width: 720px) and (max-height: 720px) {
  html {
    --geigro-vehicles-snap-gap: clamp(22px, 4svh, 36px);
  }

  body.page-index #geigro-categories.geigro-category-slider {
    --geigro-vehicles-snap-gap: clamp(22px, 4svh, 36px);
    --geigro-vehicles-inner-gap: clamp(8px, 1.7svh, 14px);
    --geigro-vehicles-footer-guard: max(var(--geigro-vehicles-snap-gap), clamp(44px, 7svh, 70px), env(safe-area-inset-bottom, 0px));
  }
}

/* Final home Vehicles background: keep the snapped category viewport neutral black. */
body.page-index,
body.page-index .site,
body.page-index .geigro-home,
body.page-index #geigro-categories.geigro-category-slider,
body.page-index #geigro-categories .geigro-slider-track,
body.page-index #geigro-categories .geigro-slider-slide {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
}

/* Final header search scroll lock: freeze page content while search is active. */
html.is-header-search-open,
html.is-header-search-closing,
html.is-header-search-closing-start,
html.is-header-search-closing-fade {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.is-header-search-open body,
html.is-header-search-closing body,
html.is-header-search-closing-start body,
html.is-header-search-closing-fade body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.is-header-search-open .geigro-header-search-results,
html.is-header-search-closing .geigro-header-search-results,
html.is-header-search-closing-start .geigro-header-search-results,
html.is-header-search-closing-fade .geigro-header-search-results,
html.is-header-search-open .geigro-header-search-results-inner,
html.is-header-search-closing .geigro-header-search-results-inner,
html.is-header-search-closing-start .geigro-header-search-results-inner,
html.is-header-search-closing-fade .geigro-header-search-results-inner,
html.is-header-search-open .geigro-header-search-list,
html.is-header-search-closing .geigro-header-search-list,
html.is-header-search-closing-start .geigro-header-search-list,
html.is-header-search-closing-fade .geigro-header-search-list {
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}

/* Final desktop community dropdown: social links live in the header, not on the left rail. */
.geigro-social-rail {
  display: none !important;
}

.geigro-header-community {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  z-index: 10005 !important;
}

.geigro-community-toggle {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: rgba(255, 255, 255, 0.82) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 220ms ease !important;
}

.geigro-community-toggle:hover,
.geigro-community-toggle:focus-visible,
.geigro-header-community.is-open .geigro-community-toggle {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.5) !important;
  background: rgba(255, 90, 31, 0.1) !important;
  outline: 0 !important;
}

.geigro-community-toggle svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.geigro-community-menu {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  min-width: 248px !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 10px !important;
  display: grid !important;
  gap: 4px !important;
  background: rgba(5, 7, 10, 0.92) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 90, 31, 0.05) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, -8px, 0) !important;
  transform-origin: top right !important;
  transition:
    opacity 180ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 180ms !important;
}

.geigro-header-community.is-open .geigro-community-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: 0s, 0s, 0s !important;
}

.geigro-community-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -6px !important;
  right: 15px !important;
  width: 10px !important;
  height: 10px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(5, 7, 10, 0.92) !important;
  transform: rotate(45deg) !important;
}

.geigro-community-menu a {
  position: relative !important;
  min-height: 44px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-columns: 30px minmax(72px, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  background: transparent !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  transform: none !important;
  transition:
    color 170ms ease,
    background-color 170ms ease !important;
}

.geigro-community-menu a:hover,
.geigro-community-menu a:focus-visible {
  color: #fff !important;
  background: rgba(255, 90, 31, 0.1) !important;
  outline: 0 !important;
}

.geigro-community-icon {
  width: 30px !important;
  height: 26px !important;
  display: grid !important;
  place-items: center !important;
  color: currentColor !important;
  overflow: visible !important;
}

.geigro-community-menu svg {
  width: 28px !important;
  height: 24px !important;
  display: block !important;
  overflow: visible !important;
  color: currentColor !important;
  fill: currentColor !important;
  stroke: none !important;
}

.geigro-community-icon-discord svg {
  width: 30px !important;
  height: 26px !important;
  color: #eef0ff !important;
  transform: translate3d(0, 1px, 0) scale(1.06) !important;
}

.geigro-community-icon-discord circle {
  fill: #07090d !important;
}

.geigro-community-icon-youtube svg {
  width: 32px !important;
  height: 24px !important;
}

.geigro-community-icon-youtube .geigro-youtube-body {
  fill: #f2f3f5 !important;
}

.geigro-community-icon-youtube .geigro-youtube-play {
  fill: #111318 !important;
}

.geigro-community-5mods-icon img {
  width: 31px !important;
  max-width: 31px !important;
  height: auto !important;
  max-height: 18px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
}

.geigro-community-menu a > span:not(.geigro-community-icon):not(.geigro-community-stat) {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.geigro-community-stat {
  width: 104px !important;
  min-width: 104px !important;
  min-height: 34px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  grid-template-columns: 18px minmax(34px, auto) !important;
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.84) !important;
  background: rgba(255, 255, 255, 0.045) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

.geigro-community-stat-icon {
  width: 17px !important;
  height: 17px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 17px !important;
  color: rgba(255, 120, 72, 0.96) !important;
}

.geigro-community-stat-icon svg {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.geigro-community-stat[data-community-stat="discord"] .geigro-community-stat-icon svg,
.geigro-community-stat[data-community-stat="youtube"] .geigro-community-stat-icon svg {
  fill: none !important;
  stroke: currentColor !important;
}

.geigro-community-stat-value {
  min-width: 0 !important;
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.geigro-community-stat.is-loading {
  color: rgba(255, 255, 255, 0.46) !important;
}

.geigro-community-stat.is-live {
  border-color: rgba(255, 90, 31, 0.26) !important;
  color: #fff !important;
  background: rgba(255, 90, 31, 0.1) !important;
}

@media (max-width: 820px) {
  .geigro-header-community {
    display: none !important;
  }
}

/* Final header nav state: underline belongs only to the active page, never to hover. */
.geigro-header .geigro-nav-link:hover::after,
.geigro-header .geigro-nav-item:hover > .geigro-nav-link::after,
.geigro-header .geigro-nav-item:focus-within > .geigro-nav-link::after,
.geigro-header .geigro-nav-item.dropdown-is-open > .geigro-nav-link::after,
.geigro-header .geigro-nav-item.dropdown-is-closing > .geigro-nav-link::after {
  transform: scaleX(0) !important;
}

.geigro-header .geigro-nav-link.is-active::after,
.geigro-header .geigro-nav-item.is-active > .geigro-nav-link::after,
.geigro-header .geigro-nav-link.is-active:hover::after,
.geigro-header .geigro-nav-item.is-active:hover > .geigro-nav-link::after,
.geigro-header .geigro-nav-item.is-active:focus-within > .geigro-nav-link::after {
  transform: scaleX(1) !important;
}

/* Final footer payments: compact dark method chips. */
.site-footer .site-footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: clamp(24px, 5vw, 72px) !important;
  row-gap: 14px !important;
}

.site-footer .site-footer-copy {
  margin: 0 !important;
}

.site-footer .we-accept.geigro-footer-payments {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
}

.site-footer .we-accept.geigro-footer-payments li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  min-width: 0 !important;
}

.site-footer .geigro-footer-payments .payment-logo-badge,
.site-footer .geigro-footer-payments .payment-logo-card,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card {
  width: 78px !important;
  min-width: 78px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(246, 247, 249, 0.96) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 24px rgba(0, 0, 0, 0.16) !important;
  overflow: hidden !important;
}

.site-footer .geigro-footer-payments .payment-logo-badge img,
.site-footer .geigro-footer-payments .payment-logo-card img {
  width: auto !important;
  max-width: 58px !important;
  height: 21px !important;
  max-height: 21px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  background: transparent !important;
  object-fit: contain !important;
  box-shadow: none !important;
  filter: none !important;
}

.site-footer .geigro-footer-payments .payment-logo-applepay img {
  max-width: 54px !important;
  height: 22px !important;
  filter: none !important;
}

.site-footer .geigro-footer-payments .payment-logo-googlepay img {
  max-width: 60px !important;
}

.site-footer .geigro-footer-payments .payment-logo-discover img {
  max-width: 45px !important;
}

.site-footer .geigro-footer-payments .payment-logo-visa,
.site-footer .geigro-footer-payments .payment-logo-mastercard,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card.payment-logo-visa,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card.payment-logo-mastercard {
  padding: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.site-footer .geigro-footer-payments .payment-logo-visa,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card.payment-logo-visa {
  width: 78px !important;
  min-width: 78px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 !important;
  border-color: #1434cb !important;
  background: #1434cb !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16) !important;
  overflow: hidden !important;
}

.site-footer .geigro-footer-payments .payment-logo-visa img,
.site-footer .geigro-footer-payments .payment-logo-mastercard img {
  width: 78px !important;
  max-width: 78px !important;
  height: 31px !important;
  max-height: 31px !important;
  border-radius: 6px !important;
}

.site-footer .geigro-footer-payments .payment-logo-visa img {
  width: auto !important;
  max-width: 54px !important;
  height: 20px !important;
  max-height: 20px !important;
}

.site-footer .geigro-footer-payments .payment-logo-paypal img,
.site-footer .geigro-footer-payments .payment-logo-paysafecard img,
.site-footer .geigro-footer-payments .payment-logo-paybybank img,
.site-footer .geigro-footer-payments .payment-logo-klarna img,
.site-footer .geigro-footer-payments .payment-logo-sepa img,
.site-footer .geigro-footer-payments .payment-logo-sofort img,
.site-footer .geigro-footer-payments .payment-logo-crypto img {
  max-width: 72px !important;
}

.site-footer .geigro-footer-payments .payment-logo-paypal img,
.site-footer .geigro-footer-payments .payment-logo-paybybank img,
.site-footer .geigro-footer-payments .payment-logo-sepa img,
.site-footer .geigro-footer-payments .payment-logo-crypto img {
  filter: brightness(0) saturate(0) contrast(1.25) !important;
  opacity: 0.92 !important;
}

.site-footer .geigro-footer-payments .payment-logo-paybybank img,
.site-footer .geigro-footer-payments .payment-logo-crypto img {
  max-width: 74px !important;
}

.site-footer .geigro-footer-payments .payment-logo-applepay::before,
.site-footer .geigro-footer-payments .payment-logo-googlepay::before,
.site-footer .geigro-footer-payments .payment-logo-paypal::before,
.site-footer .geigro-footer-payments .payment-logo-paybybank::before,
.site-footer .geigro-footer-payments .payment-logo-klarna::before,
.site-footer .geigro-footer-payments .payment-logo-sepa::before,
.site-footer .geigro-footer-payments .payment-logo-sofort::before,
.site-footer .geigro-footer-payments .payment-logo-crypto::before {
  content: none !important;
  display: none !important;
}

.site-footer .geigro-footer-payments .payment-logo-applepay img,
.site-footer .geigro-footer-payments .payment-logo-googlepay img,
.site-footer .geigro-footer-payments .payment-logo-paypal img,
.site-footer .geigro-footer-payments .payment-logo-paybybank img,
.site-footer .geigro-footer-payments .payment-logo-klarna img,
.site-footer .geigro-footer-payments .payment-logo-sepa img,
.site-footer .geigro-footer-payments .payment-logo-sofort img,
.site-footer .geigro-footer-payments .payment-logo-crypto img {
  display: block !important;
}

.site-footer .geigro-footer-payments .payment-logo-applepay img {
  max-width: 61px !important;
  height: 22px !important;
}

.site-footer .geigro-footer-payments .payment-logo-googlepay img {
  max-width: 62px !important;
  height: 22px !important;
}

.site-footer .geigro-footer-payments .payment-logo-paypal img {
  max-width: 63px !important;
  height: 21px !important;
  filter: none !important;
  opacity: 1 !important;
}

.site-footer .geigro-footer-payments .payment-logo-klarna img {
  max-width: 60px !important;
  height: 21px !important;
}

.site-footer .geigro-footer-payments .payment-logo-sofort img {
  max-width: 63px !important;
  height: 22px !important;
  filter: none !important;
  opacity: 1 !important;
}

.site-footer .geigro-footer-payments .payment-logo-paybybank img,
.site-footer .geigro-footer-payments .payment-logo-sofort img,
.site-footer .geigro-footer-payments .payment-logo-crypto img {
  transform: scale(1.18) !important;
  transform-origin: center !important;
}

.site-footer .geigro-footer-payments .payment-logo-klarna,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card.payment-logo-klarna {
  background: #ffb3c7 !important;
  border-color: rgba(255, 179, 199, 0.72) !important;
}

.site-footer .geigro-footer-payments .payment-logo-sofort,
.site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card.payment-logo-sofort {
  background: #f47aa7 !important;
  border-color: rgba(244, 122, 167, 0.76) !important;
}

.site-footer .geigro-footer-payments .payment-logo-secure {
  min-width: 72px !important;
  gap: 4px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 9px !important;
  line-height: 0.95 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.site-footer .geigro-footer-payments .payment-logo-secure svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.site-footer .geigro-footer-payments .payment-logo-secure span {
  display: block !important;
  white-space: nowrap !important;
}

@media (max-width: 560px) {
  .site-footer .site-footer-bottom {
    grid-template-columns: 1fr !important;
  }

  .site-footer .site-footer-copy {
    text-align: left !important;
  }

  .site-footer .we-accept.geigro-footer-payments {
    gap: 5px !important;
    justify-content: flex-end !important;
  }

  .site-footer .geigro-footer-payments .payment-logo-badge,
  .site-footer .geigro-footer-payments .payment-logo-card,
  .site-footer .geigro-footer-payments span.payment-logo-badge.payment-logo-card {
    width: 64px !important;
    min-width: 64px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 4px 7px !important;
  }

  .site-footer .geigro-footer-payments .payment-logo-applepay::before,
  .site-footer .geigro-footer-payments .payment-logo-googlepay::before,
  .site-footer .geigro-footer-payments .payment-logo-paypal::before,
  .site-footer .geigro-footer-payments .payment-logo-klarna::before,
  .site-footer .geigro-footer-payments .payment-logo-sepa::before {
    font-size: 12px !important;
  }

  .site-footer .geigro-footer-payments .payment-logo-paybybank::before,
  .site-footer .geigro-footer-payments .payment-logo-sofort::before,
  .site-footer .geigro-footer-payments .payment-logo-crypto::before {
    font-size: 10px !important;
  }

  .site-footer .geigro-footer-payments .payment-logo-secure {
    min-width: 68px !important;
  }
}

/* Final equal-width payment badge pass. */
.site-footer .we-accept.geigro-footer-payments > li {
  flex: 0 0 78px !important;
  width: 78px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card {
  flex: 0 0 78px !important;
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  height: 31px !important;
  min-height: 31px !important;
  max-height: 31px !important;
  box-sizing: border-box !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa.payment-logo-card {
  padding: 0 !important;
  border-color: #1434cb !important;
  background: #1434cb !important;
  overflow: hidden !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard.payment-logo-card {
  padding: 0 !important;
  border-color: rgba(255, 255, 255, 0.78) !important;
  background: #0a0a0a !important;
  overflow: hidden !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paysafecard.payment-logo-card {
  padding: 4px 8px !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(246, 247, 249, 0.96) !important;
  overflow: hidden !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa img {
  width: auto !important;
  max-width: 64px !important;
  height: 23px !important;
  max-height: 23px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard img {
  width: 78px !important;
  max-width: 78px !important;
  height: 31px !important;
  max-height: 31px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paysafecard img {
  width: auto !important;
  max-width: 62px !important;
  height: 20px !important;
  max-height: 20px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort img {
  width: auto !important;
  max-width: 58px !important;
  height: 23px !important;
  max-height: 23px !important;
  transform: scale(1.18) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paypal img {
  max-width: 66px !important;
  height: 22px !important;
  max-height: 22px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-klarna img {
  max-width: 65px !important;
  height: 22px !important;
  max-height: 22px !important;
}

@media (max-width: 560px) {
  .site-footer .we-accept.geigro-footer-payments > li,
  .site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card {
    flex-basis: 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
  }

  .site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard img {
    width: 64px !important;
    max-width: 64px !important;
    height: 28px !important;
    max-height: 28px !important;
  }
}

/* Package detail: keep trust badges anchored at the bottom of the first viewport. */
body.page-package .product-detail {
  --geigro-package-top-space: calc(var(--geigro-header-h, 92px) + var(--geigro-page-title-gap, 32px));
  --geigro-trust-strip-h: clamp(72px, 8svh, 92px);
  min-height: 100svh !important;
}

body.page-package .product-detail-workspace {
  height: calc(100svh - var(--geigro-package-top-space)) !important;
  min-height: calc(100svh - var(--geigro-package-top-space)) !important;
  max-height: calc(100svh - var(--geigro-package-top-space)) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  row-gap: clamp(14px, 2svh, 24px) !important;
  overflow: visible !important;
}

body.page-package .product-detail-info {
  min-height: 0 !important;
  max-height: calc(100svh - var(--geigro-package-top-space) - var(--geigro-trust-strip-h) - clamp(18px, 3svh, 34px)) !important;
  overflow: hidden auto !important;
  overscroll-behavior: auto !important;
  scrollbar-width: thin !important;
}

body.page-package .product-detail-info::-webkit-scrollbar {
  width: 7px !important;
}

body.page-package .product-detail-info::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.18) !important;
}

body.page-package .product-trust-strip {
  position: relative !important;
  left: auto !important;
  grid-row: 2 !important;
  align-self: end !important;
  justify-self: center !important;
  width: 100vw !important;
  max-width: none !important;
  box-sizing: border-box !important;
  min-height: var(--geigro-trust-strip-h) !important;
  margin: 0 !important;
  padding: clamp(13px, 1.5svh, 18px) max(clamp(18px, 5vw, 56px), env(safe-area-inset-left)) clamp(13px, 1.5svh, 18px) max(clamp(18px, 5vw, 56px), env(safe-area-inset-right)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 0 34px 34px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  background: linear-gradient(180deg, rgba(7, 12, 18, 0.2), rgba(10, 17, 25, 0.9)) !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  transform: none !important;
  transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.page-package .product-trust-strip.is-tab-flowing {
  opacity: 1 !important;
  visibility: visible !important;
  will-change: transform !important;
}

body.page-package .product-trust-item {
  min-width: 0 !important;
  min-height: 42px !important;
  padding-inline: clamp(10px, 1.4vw, 24px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(8px, 1vw, 12px) !important;
}

body.page-package .product-trust-item + .product-trust-item {
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.page-package .product-trust-item svg {
  width: clamp(20px, 1.45vw, 24px) !important;
  min-width: clamp(20px, 1.45vw, 24px) !important;
  height: clamp(20px, 1.45vw, 24px) !important;
  color: #ff6a2a !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
}

body.page-package .product-trust-item svg path,
body.page-package .product-trust-item svg circle,
body.page-package .product-trust-item svg rect,
body.page-package .product-trust-item svg line,
body.page-package .product-trust-item svg polyline,
body.page-package .product-trust-item svg polygon {
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Final checkout discount visibility lock. */
body.page-checkout [data-basket-discount-row][hidden],
body.page-checkout .basket-summary-discount[hidden] {
  display: none !important;
}

body.page-package .product-trust-item span {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

body.page-package .product-trust-item strong,
body.page-package .product-trust-item small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.page-package .product-trust-item strong {
  font-size: clamp(10px, 0.82vw, 13px) !important;
  line-height: 1.1 !important;
}

body.page-package .product-trust-item small {
  font-size: clamp(8px, 0.68vw, 11px) !important;
  line-height: 1.15 !important;
}

@media (min-width: 1100px) {
  body.page-package .product-detail-workspace {
    grid-template-columns: minmax(310px, 1fr) minmax(0, 2fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  body.page-package .product-detail-grid {
    position: relative !important;
    top: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    max-height: calc(100svh - var(--geigro-package-top-space) - var(--geigro-trust-strip-h) - 24px) !important;
    align-self: stretch !important;
    overflow: visible !important;
    overscroll-behavior: contain !important;
    gap: clamp(12px, 1.4svh, 18px) !important;
  }

  body.page-package .product-gallery-main {
    height: clamp(270px, 28svh, 330px) !important;
  }

  body.page-package .product-gallery,
  body.page-package .product-purchase-panel {
    flex: 0 0 auto !important;
  }

  body.page-package .product-purchase-dock-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
  }

  body.page-package .product-gallery-thumb {
    width: clamp(68px, 4.8vw, 82px) !important;
    flex-basis: clamp(68px, 4.8vw, 82px) !important;
    height: clamp(44px, 3.4vw, 54px) !important;
  }

  body.page-package .product-purchase-panel {
    box-sizing: border-box !important;
    padding: clamp(15px, 1.1vw, 18px) !important;
    overflow: visible !important;
  }

  body.page-package .product-purchase-panel .product-detail-title {
    font-size: clamp(24px, 2vw, 31px) !important;
  }

  body.page-package .product-detail-badges {
    margin-bottom: 8px !important;
  }

  body.page-package .included-pack-links-wrap {
    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }

  body.page-package .included-pack-links {
    padding: 12px 14px !important;
  }

  body.page-package .product-price-block {
    position: static !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.page-package .package-actions {
    display: grid !important;
    gap: 10px !important;
  }

  body.page-package .package-price {
    margin: 0 !important;
    font-size: clamp(25px, 2.4vw, 31px) !important;
    line-height: 1 !important;
  }

  body.page-package .package-action-buttons .wide {
    min-height: 42px !important;
    height: 42px !important;
  }

  @media (max-height: 850px) {
    body.page-package .product-detail-workspace {
      row-gap: 8px !important;
    }

    body.page-package .product-detail-grid {
      position: relative !important;
      top: auto !important;
      max-height: calc(100svh - var(--geigro-package-top-space) - var(--geigro-trust-strip-h) - 8px) !important;
      gap: 10px !important;
      overflow: visible !important;
    }

    body.page-package .product-gallery-main {
      height: clamp(190px, 24svh, 240px) !important;
    }

    body.page-package .product-gallery {
      gap: 8px !important;
    }

    body.page-package .product-gallery-thumb {
      width: 64px !important;
      flex-basis: 64px !important;
      height: 42px !important;
    }

    body.page-package .product-purchase-panel {
      padding: 14px !important;
      gap: 10px !important;
    }

    body.page-package .included-pack-links-wrap {
      margin-top: 8px !important;
      margin-bottom: 6px !important;
    }

    body.page-package .included-pack-links {
      padding: 10px 12px !important;
    }

    body.page-package .product-price-block {
      margin-top: 6px !important;
      padding-top: 7px !important;
    }

    body.page-package .package-price {
      font-size: 27px !important;
    }

    body.page-package .package-action-buttons .wide {
      min-height: 40px !important;
      height: 40px !important;
    }
  }

  body.page-package .product-detail-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
  }

  body.page-package .product-trust-strip {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 1099px) {
  body.page-package .product-detail-workspace {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  body.page-package .product-detail-grid {
    grid-row: 1 !important;
    min-height: 0 !important;
    max-height: min(34svh, 360px) !important;
    overflow: hidden auto !important;
    overscroll-behavior: contain !important;
  }

  body.page-package .product-detail-info {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
  }

  body.page-package .product-trust-strip {
    grid-row: 3 !important;
    grid-template-columns: repeat(5, minmax(142px, 1fr)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.page-package .product-trust-item {
    scroll-snap-align: center !important;
  }
}

@media (max-width: 700px) {
  body.page-package .product-detail {
    --geigro-package-top-space: calc(var(--geigro-header-h, 86px) + clamp(86px, 10svh, 104px));
    --geigro-trust-strip-h: 74px;
  }

  body.page-package .product-detail-workspace {
    min-height: calc(100svh - var(--geigro-package-top-space) - env(safe-area-inset-bottom)) !important;
    height: calc(100svh - var(--geigro-package-top-space) - env(safe-area-inset-bottom)) !important;
    max-height: calc(100svh - var(--geigro-package-top-space) - env(safe-area-inset-bottom)) !important;
  }

  body.page-package .product-detail-grid {
    max-height: min(25svh, 220px) !important;
  }

  body.page-package .product-detail-info {
    max-height: none !important;
  }

  body.page-package .product-trust-strip {
    grid-template-columns: repeat(5, minmax(168px, 1fr)) !important;
    padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right)) !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 768px) {
  body.page-package .product-detail-workspace {
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  }

  body.page-package .product-detail-grid {
    grid-row: 1 !important;
  }

  body.page-package .product-purchase-panel {
    grid-row: 2 !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  body.page-package .product-detail-info {
    grid-row: 3 !important;
  }

  body.page-package .product-trust-strip {
    grid-row: 4 !important;
  }

  body.page-package .product-purchase-dock-spacer {
    display: none !important;
    height: 0 !important;
  }
}

/* Package purchase card: keep price and cart action always visible. */
body.page-package .product-purchase-panel {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body.page-package .product-purchase-panel.is-purchase-docked,
body.page-package .product-purchase-panel.is-mobile-sticky {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  transform: none !important;
  animation: none !important;
}

body.page-package .product-detail-grid {
  position: relative !important;
  top: auto !important;
}

body.page-package .product-purchase-scroll-area {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden auto !important;
  overscroll-behavior: auto !important;
  scrollbar-width: thin !important;
}

body.page-package .product-purchase-scroll-area::-webkit-scrollbar {
  width: 6px !important;
}

body.page-package .product-purchase-scroll-area::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

body.page-package .product-price-block {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: clamp(10px, 1.4svh, 16px) !important;
  padding-top: clamp(10px, 1.2svh, 14px) !important;
  background: linear-gradient(180deg, rgba(8, 12, 16, 0), rgba(8, 12, 16, 0.98) 18%) !important;
}

@media (min-width: 1100px) {
  body.page-package .product-purchase-panel {
    flex: 0 0 auto !important;
    align-self: start !important;
    height: auto !important;
    max-height: calc(100svh - var(--geigro-package-top-space, calc(var(--geigro-header-h, 92px) + 32px)) - var(--geigro-trust-strip-h, 72px) - 18px) !important;
  }

  body.page-package .product-purchase-scroll-area {
    flex: 0 1 auto !important;
    max-height: max(120px, calc(100svh - var(--geigro-package-top-space, calc(var(--geigro-header-h, 92px) + 32px)) - var(--geigro-trust-strip-h, 72px) - 150px)) !important;
  }

  body.page-package .product-price-block {
    margin-top: clamp(12px, 1.2svh, 16px) !important;
  }
}

body.page-package .package-price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 9px !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide,
body.page-package .included-pack-action {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
}

body.page-package .included-pack-action {
  padding: 0 12px !important;
  border: 1px solid rgba(255, 90, 31, 0.46) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: rgba(255, 237, 230, 0.96) !important;
  background: rgba(255, 90, 31, 0.11) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translate3d(-10px, 0, 0) scale(0.98) !important;
  transition:
    opacity 300ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease !important;
}

body.page-package .included-pack-action.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

body.page-package .included-pack-action:hover,
body.page-package .included-pack-action:focus-visible {
  border-color: rgba(255, 90, 31, 0.72) !important;
  color: #fff !important;
  background: rgba(255, 90, 31, 0.17) !important;
  outline: 0 !important;
}

body.page-package .included-pack-action svg {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.page-package .included-pack-action span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.included-pack-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1400 !important;
  display: grid !important;
  place-items: center !important;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
  background: rgba(0, 0, 0, 0.54) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition:
    opacity 220ms ease,
    visibility 0s linear 220ms !important;
}

.included-pack-modal.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

.included-pack-dialog {
  position: relative !important;
  width: min(100%, 440px) !important;
  padding: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  background: rgba(7, 10, 14, 0.96) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.46), inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  opacity: 0 !important;
  transform: translate3d(0, 12px, 0) scale(0.985) !important;
  transition:
    opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.included-pack-modal.is-open .included-pack-dialog {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.included-pack-dialog h3 {
  margin: 0 38px 16px 0 !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.included-pack-modal-close {
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(255, 255, 255, 0.74) !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.included-pack-modal-close svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

.included-pack-modal-list {
  display: grid !important;
  gap: 9px !important;
}

.included-pack-modal-link {
  min-height: 48px !important;
  padding: 0 13px 0 15px !important;
  border: 1px solid rgba(255, 90, 31, 0.3) !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  background: rgba(255, 90, 31, 0.07) !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease, color 180ms ease !important;
}

.included-pack-modal-link:hover,
.included-pack-modal-link:focus-visible {
  border-color: rgba(255, 90, 31, 0.58) !important;
  color: #fff !important;
  background: rgba(255, 90, 31, 0.13) !important;
  transform: translateY(-1px) !important;
  outline: 0 !important;
}

.included-pack-modal-link svg {
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 380px) {
  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    gap: 8px !important;
  }

  body.page-package .included-pack-action,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide {
    min-height: 42px !important;
    height: 42px !important;
    font-size: 11px !important;
  }
}

body.page-package .package-price .discount {
  flex: 0 0 100% !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: 0.58em !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

body.page-package .package-price-current {
  color: #ff6a2a !important;
  font: inherit !important;
  line-height: 1 !important;
}

body.page-package .package-discount-badge {
  min-height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(255, 90, 31, 0.56) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffd2c1 !important;
  background: rgba(255, 90, 31, 0.16) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

@media (max-height: 850px) and (min-width: 1100px) {
  body.page-package .product-price-block {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  body.page-package .package-discount-badge {
    min-height: 22px !important;
    padding-inline: 8px !important;
    font-size: 11px !important;
  }
}

/* Package detail tabs: keep section headings clear below the tab switcher. */
body.page-package .product-detail-info {
  --geigro-package-tabs-clearance: clamp(14px, 1.8svh, 24px);
  scroll-padding-top: calc(var(--geigro-header-h, 92px) + 74px) !important;
}

body.page-package .product-detail-info > .product-dynamic-tabs,
body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 12 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--geigro-package-tabs-clearance) !important;
  transform: none !important;
  animation: none !important;
  isolation: isolate !important;
}

body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked {
  position: fixed !important;
  top: calc(var(--geigro-header-h, 72px) + var(--tabs-dock-gap, 16px)) !important;
  right: auto !important;
  bottom: auto !important;
  left: var(--tabs-dock-left) !important;
  width: var(--tabs-dock-width) !important;
  max-width: var(--tabs-dock-width) !important;
  margin: 0 !important;
}

body.page-package .product-detail-info > .product-dynamic-tabs-spacer {
  display: block !important;
  min-height: 0 !important;
}

body.page-package .product-detail-info .product-dynamic-sections {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-package .product-detail-info .product-dynamic-section {
  scroll-margin-top: calc(var(--geigro-header-h, 92px) + 86px) !important;
}

body.page-package .product-detail-info .product-dynamic-section > h2 {
  scroll-margin-top: calc(var(--geigro-header-h, 92px) + 86px) !important;
}

@media (min-width: 769px) {
  body.page-package .product-detail-info {
    --geigro-package-tabs-clearance: clamp(16px, 2svh, 28px);
  }
}

@media (max-width: 768px) {
  body.page-package .product-detail-info {
    --geigro-package-tabs-clearance: clamp(12px, 1.8svh, 20px);
    scroll-padding-top: calc(var(--geigro-header-h, 92px) + 66px) !important;
  }
}

/* Footer payment methods: final unified badge system. */
.site-footer .site-footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: clamp(24px, 5vw, 72px) !important;
  row-gap: 16px !important;
}

.site-footer .we-accept.geigro-footer-payments {
  --geigro-payment-w: 88px;
  --geigro-payment-h: 34px;
  width: auto !important;
  max-width: min(100%, 1048px) !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: end !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: visible !important;
  list-style: none !important;
}

.site-footer .we-accept.geigro-footer-payments > li {
  flex: 0 0 var(--geigro-payment-w) !important;
  width: var(--geigro-payment-w) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--geigro-payment-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--geigro-payment-h) !important;
  min-height: var(--geigro-payment-h) !important;
  max-height: var(--geigro-payment-h) !important;
  box-sizing: border-box !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  background: #f4f5f7 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
  overflow: hidden !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-applepay.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-googlepay.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-visa.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-paypal.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-paysafecard.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-klarna.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-sepa.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto.payment-logo-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--geigro-payment-h) !important;
  min-height: var(--geigro-payment-h) !important;
  max-height: var(--geigro-payment-h) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card > img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-combo > img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 22px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  background: transparent !important;
  object-fit: contain !important;
  object-position: center !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-combo {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  color: #101216 !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-combo span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-applepay img {
  max-width: 58px !important;
  max-height: 22px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-googlepay img {
  max-width: 62px !important;
  max-height: 22px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa.payment-logo-card {
  padding: 5px 12px !important;
  border-color: rgba(20, 52, 203, 0.28) !important;
  background: #f4f5f7 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa img {
  max-width: 62px !important;
  max-height: 22px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard.payment-logo-card {
  padding: 5px 12px !important;
  border: 2px solid rgba(255, 255, 255, 0.9) !important;
  background: #09090b !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18), inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard img {
  max-width: 64px !important;
  max-height: 24px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paypal img {
  max-width: 64px !important;
  max-height: 22px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paysafecard img {
  max-width: 72px !important;
  max-height: 20px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank.payment-logo-card {
  padding: 5px 8px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank .payment-logo-combo {
  gap: 4px !important;
  font-size: 7.5px !important;
  font-weight: 900 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank img {
  flex: 0 0 auto !important;
  max-width: 22px !important;
  max-height: 18px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-klarna.payment-logo-card {
  padding: 6px 12px !important;
  border-color: rgba(255, 179, 199, 0.86) !important;
  background: #ffb3c7 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-klarna img {
  max-width: 62px !important;
  max-height: 21px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sepa img {
  max-width: 64px !important;
  max-height: 21px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort.payment-logo-card {
  padding: 5px 8px !important;
  border-color: rgba(239, 119, 165, 0.86) !important;
  background: #f4f5f7 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort .payment-logo-combo {
  gap: 5px !important;
  color: #ee74a2 !important;
  font-size: 9px !important;
  font-weight: 950 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort img {
  flex: 0 0 auto !important;
  max-width: 18px !important;
  max-height: 17px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto.payment-logo-card {
  padding: 5px 8px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto .payment-logo-combo {
  gap: 4px !important;
  font-size: 8px !important;
  font-weight: 900 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto img {
  flex: 0 0 auto !important;
  max-width: 28px !important;
  max-height: 18px !important;
}

@media (max-width: 980px) {
  .site-footer .site-footer-bottom {
    grid-template-columns: 1fr !important;
  }

  .site-footer .site-footer-copy {
    text-align: left !important;
  }

  .site-footer .we-accept.geigro-footer-payments {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  .site-footer .we-accept.geigro-footer-payments > li {
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  .site-footer .we-accept.geigro-footer-payments {
    --geigro-payment-h: 30px;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 6px !important;
  }

  .site-footer .we-accept.geigro-footer-payments > li {
    flex-basis: auto !important;
    width: 100% !important;
  }

  .site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card {
    padding: 4px 5px !important;
    border-radius: 6px !important;
  }

  .site-footer .we-accept.geigro-footer-payments .payment-logo-combo {
    font-size: 7px !important;
  }
}

@media (max-width: 370px) {
  .site-footer .we-accept.geigro-footer-payments {
    --geigro-payment-h: 28px;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
}

.site-footer .we-accept.geigro-footer-payments > li > .payment-logo-badge.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments > li > span.payment-logo-badge.payment-logo-card.payment-logo-visa {
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--geigro-payment-h) !important;
  min-height: var(--geigro-payment-h) !important;
  max-height: var(--geigro-payment-h) !important;
}

/* Final header category dropdown weight lock. Only the "Alle ..." overview entry is bold. */
.geigro-header .geigro-nav-dropdown .geigro-nav-dropdown-link,
.geigro-main-nav .geigro-nav-dropdown .geigro-nav-dropdown-link {
  font-weight: 560 !important;
  color: rgba(247, 247, 245, 0.74) !important;
  -webkit-text-stroke: 0 currentColor !important;
  text-shadow: none !important;
}

.geigro-header .geigro-nav-dropdown .geigro-nav-dropdown-link:first-child,
.geigro-main-nav .geigro-nav-dropdown .geigro-nav-dropdown-link:first-child {
  font-weight: 900 !important;
  color: rgba(247, 247, 245, 0.9) !important;
  -webkit-text-stroke: 0 currentColor !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

.geigro-header .geigro-nav-dropdown .geigro-nav-dropdown-link:not(:first-child),
.geigro-header .geigro-nav-dropdown .geigro-nav-dropdown-link.is-active:not(:first-child),
.geigro-header .geigro-nav-dropdown .geigro-nav-dropdown-link:hover:not(:first-child),
.geigro-main-nav .geigro-nav-dropdown .geigro-nav-dropdown-link:not(:first-child),
.geigro-main-nav .geigro-nav-dropdown .geigro-nav-dropdown-link.is-active:not(:first-child),
.geigro-main-nav .geigro-nav-dropdown .geigro-nav-dropdown-link:hover:not(:first-child) {
  font-weight: 560 !important;
  -webkit-text-stroke-width: 0 !important;
  text-shadow: none !important;
}

/* Final product details boolean color: negative/no values stay neutral instead of red. */
.page-package .product-description-data-list dd[data-boolean="no"],
.page-package .product-dynamic-section-content [data-boolean="no"],
.page-package .product-vehicle-spec-group [data-boolean="no"] {
  color: rgba(247, 247, 245, 0.86) !important;
}

/* Final package scroll unlock: scrolling should work from every visible package area. */
body.page-package .product-detail-info,
body.page-package .product-detail-grid,
body.page-package .product-purchase-scroll-area,
body.page-package .product-dynamic-tab-items,
body.page-package .product-trust-strip {
  overscroll-behavior: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Final product separator: subtle line between purchase area and tab controls. */
body.page-package .product-detail-info > .product-dynamic-tabs,
body.page-package .product-dynamic-tabs {
  border-top: 1px solid rgba(255, 255, 255, 0.075) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

body.page-package .product-detail-info > .product-dynamic-tabs:not(.is-tabs-docked),
body.page-package .product-dynamic-tabs:not(.is-tabs-docked) {
  padding-top: clamp(10px, 1.4vw, 16px) !important;
  margin-top: clamp(12px, 1.8vw, 20px) !important;
}

@media (max-width: 768px) {
  body.page-package .product-detail-info > .product-dynamic-tabs,
  body.page-package .product-dynamic-tabs {
    border-top-color: rgba(255, 255, 255, 0.09) !important;
  }

  body.page-package .product-detail-info > .product-dynamic-tabs:not(.is-tabs-docked),
  body.page-package .product-dynamic-tabs:not(.is-tabs-docked) {
    padding-top: 12px !important;
    margin-top: 14px !important;
  }
}

/* Final mobile package tabs: keep price/cart readable and never clipped. */
@media (max-width: 768px) {
  body.page-package .product-dynamic-tabs {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.page-package .product-dynamic-tabs-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 8px !important;
    column-gap: 0 !important;
    padding-inline: clamp(12px, 3.4vw, 18px) !important;
  }

  body.page-package .product-dynamic-tabs.is-tabs-approaching .product-dynamic-tabs-heading {
    max-height: 112px !important;
    padding-block: 10px !important;
  }

  body.page-package .product-dynamic-tabs-title {
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: clamp(16px, 4.5vw, 20px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body.page-package .product-dynamic-tabs.is-purchase-panel-hidden .product-tabs-mobile-purchase {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 9px !important;
  }

  body.page-package .product-tabs-mobile-price {
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: start !important;
    flex-wrap: wrap !important;
    gap: 5px 7px !important;
    color: #ff6a2a !important;
    font-size: clamp(14px, 4.1vw, 17px) !important;
    line-height: 1 !important;
    overflow: visible !important;
  }

  body.page-package .product-tabs-mobile-price .product-tabs-price-values {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5px 7px !important;
    overflow: visible !important;
  }

  body.page-package .product-tabs-mobile-price del,
  body.page-package .product-tabs-mobile-price .discount,
  body.page-package .product-tabs-mobile-price .package-discount-badge {
    display: none !important;
  }

  body.page-package .product-tabs-mobile-price .package-price-current {
    color: #ff6a2a !important;
    font: inherit !important;
    line-height: 1 !important;
  }

  body.page-package .product-tabs-mobile-price .product-tabs-discount-badge {
    min-height: 20px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body.page-package .product-tabs-mobile-action {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border-radius: 8px !important;
  }

  body.page-package .product-tabs-mobile-action svg {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 380px) {
  body.page-package .product-dynamic-tabs.is-tabs-approaching .product-dynamic-tabs-heading {
    max-height: 104px !important;
    row-gap: 7px !important;
  }

  body.page-package .product-dynamic-tabs-title {
    font-size: 16px !important;
  }

  body.page-package .product-dynamic-tabs.is-purchase-panel-hidden .product-tabs-mobile-purchase {
    grid-template-columns: minmax(0, 1fr) 38px !important;
  }

  body.page-package .product-tabs-mobile-action {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }
}

/* Final mobile dock cover: content must disappear behind the sticky package bar, not between header and tabs. */
@media (max-width: 768px), (hover: none), (pointer: coarse) {
  body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked,
  body.page-package .product-dynamic-tabs.is-tabs-docked {
    left: var(--tabs-dock-left, 12px) !important;
    right: var(--tabs-dock-right, 12px) !important;
    width: auto !important;
    max-width: none !important;
    top: var(--geigro-header-h, 72px) !important;
    z-index: 930 !important;
    overflow: visible !important;
    background: #05080b !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42) !important;
  }

  body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked::before,
  body.page-package .product-dynamic-tabs.is-tabs-docked::before {
    content: "" !important;
    position: absolute !important;
    left: -2px !important;
    right: -2px !important;
    bottom: calc(100% - 1px) !important;
    z-index: -1 !important;
    height: max(22px, var(--tabs-dock-gap, 0px)) !important;
    background: #05080b !important;
    pointer-events: none !important;
  }

  body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked::after,
  body.page-package .product-dynamic-tabs.is-tabs-docked::after {
    content: "" !important;
    position: absolute !important;
    inset: -1px !important;
    z-index: -1 !important;
    border-radius: inherit !important;
    background: #05080b !important;
    pointer-events: none !important;
  }

  body.page-package .product-dynamic-tabs.is-tabs-docked .product-dynamic-tabs-heading,
  body.page-package .product-dynamic-tabs.is-tabs-docked .product-dynamic-tab-controls {
    position: relative !important;
    z-index: 1 !important;
    background: #05080b !important;
  }

  body.page-package .product-dynamic-tabs.is-tabs-docked:not(.is-purchase-panel-hidden) .product-tabs-mobile-purchase {
    display: none !important;
    max-width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.page-package .product-dynamic-tabs.is-tabs-docked:not(.is-purchase-panel-hidden) .product-dynamic-tabs-heading {
    max-height: 64px !important;
    padding-block: 10px !important;
  }
}

/* Final mobile package flow: one global scrollbar, full details, badges below in two columns. */
@media (max-width: 768px) {
  body.page-package .product-detail {
    min-height: auto !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-workspace {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: clamp(18px, 4vw, 26px) !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-grid,
  body.page-package .product-detail-info,
  body.page-package .product-purchase-panel,
  body.page-package .product-purchase-scroll-area {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
  }

  body.page-package .product-detail-grid {
    grid-row: 1 !important;
  }

  body.page-package .product-detail-info {
    grid-row: 2 !important;
  }

  body.page-package .product-trust-strip {
    grid-row: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(14px, 4vw, 18px) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)) !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    background: rgba(7, 12, 18, 0.92) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-package .product-trust-item {
    min-height: 58px !important;
    padding: 10px 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    justify-content: flex-start !important;
    background: rgba(255, 255, 255, 0.025) !important;
    scroll-snap-align: none !important;
  }

  body.page-package .product-trust-item + .product-trust-item {
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  body.page-package .product-trust-item svg {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
  }

  body.page-package .product-trust-item strong,
  body.page-package .product-trust-item small {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.page-package .product-trust-item strong {
    font-size: 11px !important;
  }

  body.page-package .product-trust-item small {
    font-size: 9px !important;
  }

  body.page-package .pack-vehicle-mobile-preview {
    display: none !important;
  }
}

@media (max-width: 1099px), (hover: none), (pointer: coarse) {
  body.page-package .product-detail {
    --geigro-package-top-space: calc(var(--geigro-header-h, 72px) + 10px) !important;
    padding-top: 10px !important;
  }

  body.page-package .product-detail-workspace {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: clamp(18px, 4vw, 26px) !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-grid,
  body.page-package .product-detail-info,
  body.page-package .product-trust-strip {
    flex: 0 0 auto !important;
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }

  body.page-package .product-detail-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(14px, 3.6vw, 20px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-info {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-package .product-gallery,
  body.page-package .product-purchase-panel,
  body.page-package .product-purchase-scroll-area {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-package .product-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.page-package .product-gallery-main {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-package .product-gallery-thumbs {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.page-package .product-gallery-thumb,
  body.page-package .product-gallery-more {
    flex: 0 0 clamp(72px, 22vw, 92px) !important;
    width: clamp(72px, 22vw, 92px) !important;
    height: clamp(46px, 14vw, 58px) !important;
  }

  body.page-package .product-detail-info > .product-dynamic-tabs,
  body.page-package .product-detail-info > .product-dynamic-tabs.is-tabs-docked {
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-package .product-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }

  body.page-package .product-dynamic-sections {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 12px !important;
    overflow: visible !important;
  }

  body.page-package .product-dynamic-sections.is-switching {
    height: var(--tab-switch-height) !important;
    overflow: hidden !important;
  }

  body.page-package .product-dynamic-sections > .product-dynamic-section {
    display: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  body.page-package .product-dynamic-sections > .product-dynamic-section.is-active,
  body.page-package .product-dynamic-sections > .product-dynamic-section.is-tab-outgoing,
  body.page-package .product-dynamic-sections > .product-dynamic-section.is-tab-incoming {
    display: block !important;
  }

  body.page-package .pack-vehicle-explorer {
    display: block !important;
  }

  body.page-package .pack-vehicle-nav {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body.page-package .pack-vehicle-button {
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  body.page-package .pack-vehicle-content,
  body.page-package .pack-vehicle-detail {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Final product trust badge icons: keep SVG icons visible on dark cards. */
body.page-package .product-trust-item svg {
  color: #ff6a2a !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 10px rgba(255, 106, 42, 0.18)) !important;
}

body.page-package .product-trust-item svg path,
body.page-package .product-trust-item svg circle,
body.page-package .product-trust-item svg rect,
body.page-package .product-trust-item svg line,
body.page-package .product-trust-item svg polyline,
body.page-package .product-trust-item svg polygon {
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Final payment-logo polish: normalize visual weight and fix low-contrast marks. */
.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: #f7f8fb !important;
  box-shadow: inset 0 0 0 1px rgba(12, 16, 22, 0.04) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card > img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-combo > img {
  object-fit: contain !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa.payment-logo-card {
  border-color: rgba(20, 52, 203, 0.22) !important;
  background: #f8f9ff !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-visa img {
  width: auto !important;
  max-width: 78px !important;
  height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  transform: scale(1.18) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard.payment-logo-card {
  border-color: transparent !important;
  background: #fff !important;
  box-shadow: none !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-mastercard img {
  width: auto !important;
  max-width: 86px !important;
  height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  background: transparent !important;
  filter: contrast(1.18) saturate(1.08) brightness(1.02) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort.payment-logo-card {
  border-color: rgba(255, 110, 164, 0.34) !important;
  background: #fff !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort .payment-logo-combo {
  gap: 7px !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort img {
  width: auto !important;
  max-width: 34px !important;
  height: 24px !important;
  max-height: 24px !important;
  padding: 0 !important;
  transform: scale(1.22) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-sofort .payment-logo-combo span {
  color: #f06caa !important;
  font-weight: 950 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto img {
  filter: drop-shadow(0 0 0 #111) contrast(1.35) saturate(1.08) brightness(0.78) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank .payment-logo-combo span,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto .payment-logo-combo span {
  color: #121820 !important;
  font-weight: 900 !important;
}

/* Package purchase action cleanup: included-pack hint + cart state icon. */
body.page-package .package-actions.has-included-pack-action .package-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 14px !important;
}

body.page-package .package-actions.has-included-pack-action .included-pack-action {
  min-width: 0 !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  justify-content: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
  flex: 0 0 auto !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

body.page-package .package-action-buttons .wide.is-added .package-action-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
}

body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.page-package .package-actions.has-included-pack-action .package-price {
  padding-bottom: 2px !important;
}

@media (max-width: 520px) {
  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    gap: 10px !important;
  }

  body.page-package .package-actions.has-included-pack-action .included-pack-action {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
  }

  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
    width: 23px !important;
    height: 23px !important;
  }
}

/* Final checkout coupon sheet visibility lock. The coupon entry must always be reachable;
   only the discount summary row stays hidden until a coupon is actually active. */
@media (max-width: 768px) {
  html.is-mobile-coupon-open body.page-checkout .basket-coupon {
    position: fixed !important;
    right: 0 !important;
    bottom: max(0px, var(--geigro-mobile-keyboard-offset, 0px)) !important;
    left: 0 !important;
    z-index: 320 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  body.page-checkout .basket-mobile-coupon-control,
  body.page-checkout .basket-mobile-coupon-control[hidden] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.page-checkout .basket-coupon-form button[data-coupon-apply] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Final mobile home flow: Vehicles must be below the first viewport on load
   and enter naturally while scrolling, without hidden/reveal/snap popping. */
@media (max-width: 820px) {
  body.page-index .geigro-hero {
    min-height: calc(100svh + 2px) !important;
    min-height: calc(100dvh + 2px) !important;
  }

  body.page-index.is-home-initial #geigro-categories.geigro-category-slider,
  body.page-index #geigro-categories.geigro-category-slider {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    margin-top: clamp(10px, 2svh, 18px) !important;
    scroll-margin-top: calc(var(--geigro-header-h, 92px) + 18px) !important;
  }

  body.page-index #geigro-categories.geigro-category-slider.geigro-reveal,
  body.page-index #geigro-categories .geigro-category-card.geigro-reveal,
  body.page-index #geigro-categories.geigro-category-slider:not(.is-visible),
  body.page-index #geigro-categories .geigro-category-card:not(.is-visible) {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Final mobile hero centering: one stable vertical system across mobile heights.
   Content sits slightly above true center, with a protected cue zone below. */
@media (max-width: 820px) {
  body.page-index .geigro-hero {
    --geigro-home-cue-bottom: max(112px, calc(env(safe-area-inset-bottom, 0px) + 13svh));
    --geigro-home-cue-space: clamp(98px, 15svh, 142px);
    --geigro-home-content-shift: clamp(-26px, -3.2svh, -14px);
    min-height: calc(100svh + 2px) !important;
    min-height: calc(100dvh + 2px) !important;
    padding: var(--geigro-header-h, 92px) clamp(18px, 5vw, 34px) calc(var(--geigro-home-cue-bottom) + var(--geigro-home-cue-space)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: center !important;
    box-sizing: border-box !important;
  }

  body.page-index .geigro-hero-content {
    width: min(100%, 760px) !important;
    max-width: min(100%, 760px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    transform: translate3d(0, var(--geigro-home-content-shift), 0) !important;
  }

  body.page-index .geigro-hero-title {
    margin: 0 auto !important;
  }

  body.page-index .geigro-hero-copy {
    margin: clamp(12px, 2svh, 18px) auto 0 !important;
  }

  body.page-index .geigro-hero-pills {
    margin: clamp(16px, 2.6svh, 24px) auto 0 !important;
  }

  body.page-index .geigro-hero-cta {
    margin: clamp(18px, 3svh, 28px) auto 0 !important;
  }

  body.page-index .geigro-scroll-cue {
    bottom: var(--geigro-home-cue-bottom) !important;
  }
}

@media (max-width: 420px) and (min-height: 780px) {
  body.page-index .geigro-hero {
    --geigro-home-cue-bottom: max(116px, calc(env(safe-area-inset-bottom, 0px) + 12svh));
    --geigro-home-cue-space: clamp(108px, 15svh, 150px);
    --geigro-home-content-shift: clamp(-34px, -4svh, -20px);
  }
}

@media (max-width: 420px) and (max-height: 720px) {
  body.page-index .geigro-hero {
    --geigro-home-cue-bottom: max(92px, calc(env(safe-area-inset-bottom, 0px) + 10svh));
    --geigro-home-cue-space: clamp(82px, 13svh, 112px);
    --geigro-home-content-shift: clamp(-18px, -2.5svh, -10px);
  }

  body.page-index .geigro-hero-copy {
    margin-top: 10px !important;
  }

  body.page-index .geigro-hero-pills {
    margin-top: 12px !important;
  }

  body.page-index .geigro-hero-cta {
    margin-top: 14px !important;
  }
}

/* Final mobile home motion: staged hero entrance and scroll-away fade without layout shift. */
@media (max-width: 820px) {
  html.js body.page-index .geigro-hero-title,
  html.js body.page-index .geigro-hero-copy,
  html.js body.page-index .geigro-hero-pills span,
  html.js body.page-index .geigro-hero-cta {
    opacity: calc(1 - (var(--geigro-home-scroll-progress, 0) * 1.05)) !important;
    transform: translate3d(0, calc(-18px * var(--geigro-home-scroll-progress, 0)), 0) !important;
    transition:
      opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    will-change: opacity, transform !important;
  }

  html.js body.page-index .geigro-hero-title {
    animation: geigro-home-piece-in 620ms cubic-bezier(0.22, 1, 0.36, 1) 80ms both !important;
  }

  html.js body.page-index .geigro-hero-copy {
    animation: geigro-home-piece-in 620ms cubic-bezier(0.22, 1, 0.36, 1) 170ms both !important;
  }

  html.js body.page-index .geigro-hero-pills span:nth-child(1) {
    animation: geigro-home-piece-in 540ms cubic-bezier(0.22, 1, 0.36, 1) 260ms both !important;
  }

  html.js body.page-index .geigro-hero-pills span:nth-child(2) {
    animation: geigro-home-piece-in 540ms cubic-bezier(0.22, 1, 0.36, 1) 330ms both !important;
  }

  html.js body.page-index .geigro-hero-pills span:nth-child(3) {
    animation: geigro-home-piece-in 540ms cubic-bezier(0.22, 1, 0.36, 1) 400ms both !important;
  }

  html.js body.page-index .geigro-hero-cta {
    animation: geigro-home-piece-in 620ms cubic-bezier(0.22, 1, 0.36, 1) 500ms both !important;
  }

  html.js body.page-index .geigro-scroll-cue {
    opacity: calc(1 - (var(--geigro-home-scroll-progress, 0) * 1.3)) !important;
    transform: translate3d(-50%, calc(-10px * var(--geigro-home-scroll-progress, 0)), 0) !important;
    transition:
      opacity 240ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 240ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  body.page-index #geigro-categories .geigro-slide-heading,
  body.page-index #geigro-categories .geigro-category-card {
    opacity: 0 !important;
    transform: translate3d(0, 18px, 0) scale(0.99) !important;
    transition:
      opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 420ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    transition-delay: var(--reveal-delay, 0ms) !important;
    will-change: opacity, transform !important;
  }

  body.page-index #geigro-categories.is-visible .geigro-slide-heading,
  body.page-index #geigro-categories.is-visible .geigro-category-card,
  body.page-index #geigro-categories .geigro-category-card.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
  }

  body.page-index #geigro-categories.geigro-category-slider:not(.is-visible) .geigro-slide-heading,
  body.page-index #geigro-categories.geigro-category-slider:not(.is-visible) .geigro-category-card,
  body.page-index #geigro-categories.geigro-category-slider.geigro-reveal:not(.is-visible) .geigro-slide-heading,
  body.page-index #geigro-categories.geigro-category-slider.geigro-reveal:not(.is-visible) .geigro-category-card {
    opacity: 0 !important;
    transform: translate3d(0, 18px, 0) scale(0.99) !important;
  }
}

@keyframes geigro-home-piece-in {
  0% {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.985);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* Final mobile category stagger: cards reveal one-by-one, then empty categories dim after. */
@media (max-width: 820px) {
  body.page-index #geigro-categories.geigro-category-slider.is-visible .geigro-category-card.geigro-reveal:not(.is-visible),
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:not(.is-visible),
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card:not(.is-visible) {
    opacity: 0 !important;
    filter: none !important;
    transform: translate3d(0, 18px, 0) scale(0.99) !important;
  }

  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal.is-visible,
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
  }

  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(1) { --reveal-delay: 70ms; }
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(2) { --reveal-delay: 150ms; }
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(3) { --reveal-delay: 230ms; }
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(4) { --reveal-delay: 310ms; }
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(5) { --reveal-delay: 390ms; }
  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.geigro-reveal:nth-child(6) { --reveal-delay: 470ms; }

  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.is-empty.is-visible {
    animation: geigro-empty-category-dim 680ms cubic-bezier(0.22, 1, 0.36, 1) 520ms both !important;
  }

  body.page-index #geigro-categories.geigro-category-slider .geigro-category-card.is-empty:not(.is-visible) {
    opacity: 0 !important;
    filter: none !important;
  }
}

@keyframes geigro-empty-category-dim {
  0% {
    opacity: 1;
    filter: none;
  }

  100% {
    opacity: 0.56;
    filter: grayscale(1) saturate(0.3);
  }
}

/* Final footer payment contrast: no borders, readable Pay by Bank/Crypto on white chips. */
.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments > li > .payment-logo-badge.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments span.payment-logo-badge.payment-logo-card {
  border: 0 !important;
  background: #f6f7f9 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-combo span {
  color: #101720 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 950 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto img {
  display: none !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank .payment-logo-combo,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto .payment-logo-combo {
  gap: 8px !important;
  color: #101720 !important;
  font-size: clamp(13px, 1.1vw, 18px) !important;
  font-weight: 950 !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank .payment-logo-combo::before,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto .payment-logo-combo::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: clamp(17px, 1.4vw, 22px) !important;
  height: clamp(17px, 1.4vw, 22px) !important;
  display: inline-block !important;
  background: #101720 !important;
  -webkit-mask: var(--payment-icon-mask) center / contain no-repeat !important;
  mask: var(--payment-icon-mask) center / contain no-repeat !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank .payment-logo-combo::before {
  --payment-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 10.5h18v2H3v-2Zm2 3.5h3v5H5v-5Zm5.5 0h3v5h-3v-5Zm5.5 0h3v5h-3v-5ZM4 20h16v2H4v-2ZM2.5 8.7 12 3l9.5 5.7V10h-19V8.7Z'/%3E%3C/svg%3E") !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto .payment-logo-combo::before {
  --payment-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm.9 4v2.02c1.76.22 3.1 1.2 3.1 2.7 0 1.06-.62 1.86-1.62 2.24 1.23.36 2.02 1.23 2.02 2.5 0 1.68-1.4 2.72-3.5 2.96V20h-1.65v-1.54H9.9V20H8.25v-1.55H6.8v-1.6h1.1V7.6H6.8V6h1.45V4H9.9v2h1.35V4h1.65Zm-3.25 8.02v2.84h2.7c1.35 0 2.1-.5 2.1-1.45 0-.9-.72-1.39-2.05-1.39H9.65Zm0-4.42v2.67h2.35c1.22 0 1.9-.47 1.9-1.34 0-.86-.68-1.33-1.9-1.33H9.65Z'/%3E%3C/svg%3E") !important;
}

/* Absolute final payment logos: no chip/card background, only the logo image. */
.site-footer .we-accept.geigro-footer-payments .payment-logo-badge,
.site-footer .we-accept.geigro-footer-payments .payment-logo-card,
.site-footer .we-accept.geigro-footer-payments .payment-logo-badge.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments > li > .payment-logo-badge.payment-logo-card,
.site-footer .we-accept.geigro-footer-payments span.payment-logo-badge.payment-logo-card {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge::before,
.site-footer .we-accept.geigro-footer-payments .payment-logo-badge::after,
.site-footer .we-accept.geigro-footer-payments .payment-logo-card::before,
.site-footer .we-accept.geigro-footer-payments .payment-logo-card::after {
  content: none !important;
  display: none !important;
}

.site-footer .we-accept.geigro-footer-payments .payment-logo-badge > img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-card > img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-paybybank img,
.site-footer .we-accept.geigro-footer-payments .payment-logo-crypto img {
  display: block !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Absolute final package action fix: when a product is included in a pack, keep price readable and cart as icon only. */
body.page-package .package-actions.has-included-pack-action {
  display: grid !important;
  grid-template-columns: minmax(86px, auto) minmax(0, 1fr) !important;
  align-items: end !important;
  gap: 12px 14px !important;
}

body.page-package .package-actions.has-included-pack-action .package-price {
  min-width: 86px !important;
  max-width: 118px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  overflow: visible !important;
  font-size: clamp(25px, 6.2vw, 34px) !important;
  line-height: 0.98 !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
  align-items: stretch !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary .package-action-label,
body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-action-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
}

body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary .package-cart-state-icon,
body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-cart-state-icon {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.page-package .package-actions.has-included-pack-action .included-pack-action {
  min-width: 0 !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
}

@media (max-width: 520px) {
  body.page-package .package-actions.has-included-pack-action {
    grid-template-columns: minmax(76px, 84px) minmax(0, 1fr) !important;
    gap: 10px 12px !important;
  }

  body.page-package .package-actions.has-included-pack-action .package-price {
    min-width: 76px !important;
    max-width: 84px !important;
    font-size: clamp(24px, 7.6vw, 31px) !important;
  }

  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    grid-template-columns: minmax(0, 1fr) 50px !important;
    gap: 8px !important;
  }

  body.page-package .package-actions.has-included-pack-action .included-pack-action {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 10px !important;
    gap: 8px !important;
    font-size: 11.5px !important;
  }

  body.page-package .package-actions.has-included-pack-action .included-pack-action svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
  }

  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary .package-cart-state-icon,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-cart-state-icon {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Absolute final footer payment sizing: every logo lives inside the same fixed visual box. */
.site-footer .we-accept.geigro-footer-payments > li {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.site-footer .we-accept.geigro-footer-payments > li > img.payment-logo-img {
  width: 54px !important;
  min-width: 0 !important;
  max-width: 54px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.site-footer .we-accept.geigro-footer-payments > li > img.payment-logo-upi {
  width: 42px !important;
  max-width: 42px !important;
  height: 18px !important;
  max-height: 18px !important;
}

@media (max-width: 560px) {
  .site-footer .we-accept.geigro-footer-payments > li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 26px !important;
    overflow: hidden !important;
  }

  .site-footer .we-accept.geigro-footer-payments > li > img.payment-logo-img {
    width: 44px !important;
    max-width: 44px !important;
    height: 18px !important;
    max-height: 18px !important;
  }

  .site-footer .we-accept.geigro-footer-payments > li > img.payment-logo-upi {
    width: 34px !important;
    max-width: 34px !important;
    height: 16px !important;
    max-height: 16px !important;
  }
}

/* Absolute final filter chevrons: use a symmetrical SVG mask instead of rotated borders. */
.product-filter-menu-row::after,
.product-filter-section-trigger::after,
.filter-accordion-trigger::after,
.geigro-filter-sidebar .product-filter-section-trigger::after,
.geigro-filter-sidebar .filter-accordion-trigger::after {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 1px 0 auto !important;
  border: 0 !important;
  background: currentColor !important;
  color: rgba(255, 255, 255, 0.86) !important;
  transform: rotate(0deg) !important;
  transform-origin: 50% 50% !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.25 8.75 12 15.5l6.75-6.75' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.25 8.75 12 15.5l6.75-6.75' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), color 180ms ease !important;
}

.product-filter-section.is-open > .product-filter-section-trigger::after,
.filter-accordion.is-open > .filter-accordion-trigger::after {
  transform: rotate(180deg) !important;
}

/* Absolute final mobile package purchase polish. */
@media (max-width: 768px) {
  body.page-package .product-purchase-panel .product-detail-title,
  body.page-package .product-detail-title {
    line-height: 1.24 !important;
    padding-bottom: 0.08em !important;
    overflow: visible !important;
  }

  body.page-package .package-actions,
  body.page-package .package-actions.has-included-pack-action {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  body.page-package .package-price,
  body.page-package .package-actions.has-included-pack-action .package-price {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  body.page-package .package-price del.discount,
  body.page-package .package-price .discount {
    flex: 0 0 auto !important;
    color: rgba(180, 188, 199, 0.74) !important;
    text-decoration-color: rgba(180, 188, 199, 0.9) !important;
    font-size: clamp(18px, 5vw, 23px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.page-package .package-price-current {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1 !important;
  }

  body.page-package .package-discount-badge {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-left: 2px !important;
  }

  body.page-package .package-action-buttons,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    align-items: stretch !important;
    gap: 10px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.page-package .package-actions:not(.has-included-pack-action) .package-action-buttons {
    grid-template-columns: 56px !important;
    justify-content: end !important;
  }

  body.page-package .package-action-buttons .wide.btn-primary,
  body.page-package .package-action-buttons .wide.is-added,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
  }

  body.page-package .package-action-buttons .wide.btn-primary .package-action-label,
  body.page-package .package-action-buttons .wide.is-added .package-action-label {
    display: none !important;
  }

  body.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
  body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    display: block !important;
    color: #fff !important;
    text-indent: 0 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body.page-package .package-actions.has-included-pack-action .included-pack-action {
    height: 52px !important;
    min-height: 52px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    font-size: clamp(12px, 3.5vw, 14px) !important;
  }
}

/* Final mobile purchase-card guard: no clipping, no wrapped price, icon-only cart. */
@media (max-width: 768px) {
  .page-package .product-purchase-panel,
  body.page-package .product-purchase-panel,
  .page-package .product-price-block,
  body.page-package .product-price-block {
    overflow: visible !important;
  }

  .page-package .product-purchase-panel .product-detail-title,
  body.page-package .product-purchase-panel .product-detail-title,
  .page-package .product-detail-title,
  body.page-package .product-detail-title {
    display: block !important;
    line-height: 1.32 !important;
    padding-top: 1px !important;
    padding-bottom: 0.18em !important;
    margin-bottom: 18px !important;
    overflow: visible !important;
    text-wrap: balance;
  }

  .page-package .package-actions,
  body.page-package .package-actions,
  .page-package .package-actions.has-included-pack-action,
  body.page-package .package-actions.has-included-pack-action {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 13px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-package .package-price,
  body.page-package .package-price,
  .page-package .package-actions.has-included-pack-action .package-price,
  body.page-package .package-actions.has-included-pack-action .package-price {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: clamp(7px, 2.4vw, 11px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .page-package .package-price del.discount,
  body.page-package .package-price del.discount,
  .page-package .package-price .discount,
  body.page-package .package-price .discount {
    flex: 0 0 auto !important;
    color: rgba(158, 168, 180, 0.74) !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-color: rgba(158, 168, 180, 0.88) !important;
    font-size: clamp(17px, 4.6vw, 22px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .page-package .package-price-current,
  body.page-package .package-price-current,
  .page-package .package-price strong:not(.package-discount-badge),
  body.page-package .package-price strong:not(.package-discount-badge) {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: baseline !important;
    white-space: nowrap !important;
    max-width: none !important;
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
  }

  .page-package .package-discount-badge,
  body.page-package .package-discount-badge {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: max-content !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  .page-package .package-action-buttons,
  body.page-package .package-action-buttons,
  .page-package .package-actions.has-included-pack-action .package-action-buttons,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 54px !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-package .package-actions:not(.has-included-pack-action) .package-action-buttons,
  body.page-package .package-actions:not(.has-included-pack-action) .package-action-buttons {
    grid-template-columns: 54px !important;
    justify-content: end !important;
  }

  .page-package .package-action-buttons .wide.btn-primary,
  body.page-package .package-action-buttons .wide.btn-primary,
  .page-package .package-action-buttons .wide.is-added,
  body.page-package .package-action-buttons .wide.is-added {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: 0 !important;
  }

  .page-package .package-action-buttons .wide.btn-primary .package-action-label,
  body.page-package .package-action-buttons .wide.btn-primary .package-action-label,
  .page-package .package-action-buttons .wide.is-added .package-action-label,
  body.page-package .package-action-buttons .wide.is-added .package-action-label {
    display: none !important;
  }

  .page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
  body.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
  .page-package .package-action-buttons .wide.is-added .package-cart-state-icon,
  body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
    display: none !important;
  }

  .page-package .package-action-buttons .wide.btn-primary::before,
  body.page-package .package-action-buttons .wide.btn-primary::before,
  .page-package .package-action-buttons .wide.is-added::before,
  body.page-package .package-action-buttons .wide.is-added::before {
    content: "" !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    display: block !important;
    background: #fff !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Z' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Z' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  .page-package .package-actions.has-included-pack-action .included-pack-action,
  body.page-package .package-actions.has-included-pack-action .included-pack-action {
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(12px, 3.4vw, 14px) !important;
    line-height: 1 !important;
  }
}

/* Final cart icon states: add = cart plus, added = cart check. */
.geigro-cart-icon-button:not(.is-added):not([disabled])::before {
  display: none !important;
}

@media (max-width: 768px) {
  .page-package .package-action-buttons .wide.btn-primary:not(.is-added)::before,
  body.page-package .package-action-buttons .wide.btn-primary:not(.is-added)::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM16.8 4.6v5.2M14.2 7.2h5.2' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM16.8 4.6v5.2M14.2 7.2h5.2' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }

  .page-package .package-action-buttons .wide.is-added::before,
  body.page-package .package-action-buttons .wide.is-added::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Zm-2.3-13.35 1.7 1.7 3.3-3.7' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Zm-2.3-13.35 1.7 1.7 3.3-3.7' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }
}

/* Package price color rule: orange only for real discounts/sales. */
.page-package .package-price:not(.is-sale) .package-price-current,
body.page-package .package-price:not(.is-sale) .package-price-current,
.page-package .package-price:not(.is-sale) strong.package-price-current,
body.page-package .package-price:not(.is-sale) strong.package-price-current {
  color: rgba(255, 255, 255, 0.96) !important;
  text-shadow: none !important;
}

.page-package .package-price.is-sale .package-price-current,
body.page-package .package-price.is-sale .package-price-current,
.page-package .package-price:has(del.discount) .package-price-current,
body.page-package .package-price:has(del.discount) .package-price-current {
  color: #ff6a2a !important;
  text-shadow: 0 10px 26px rgba(255, 90, 31, 0.18) !important;
}

.geigro-product-card:not(.is-sale) .product-price,
.geigro-product-card:not(.is-sale) .product-price-current {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: none !important;
}

.geigro-product-card.is-sale .product-price-current {
  color: #ff6a2a !important;
}

/* Final mobile menu isolation: the roll-down panel must not animate or hide page content. */
@media (max-width: 820px) {
  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-motion .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main,
  html.is-mobile-menu-motion main,
  html.is-mobile-menu-open .site-content,
  html.is-mobile-menu-closing .site-content,
  html.is-mobile-menu-motion .site-content,
  html.is-mobile-menu-open .geigro-home,
  html.is-mobile-menu-closing .geigro-home,
  html.is-mobile-menu-motion .geigro-home {
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
  }

  html.is-mobile-menu-open .basket-summary,
  html.is-mobile-menu-closing .basket-summary,
  html.is-mobile-menu-motion .basket-summary,
  html.is-mobile-menu-open .basket-coupon,
  html.is-mobile-menu-closing .basket-coupon,
  html.is-mobile-menu-motion .basket-coupon,
  html.is-mobile-menu-open .product-price-block,
  html.is-mobile-menu-closing .product-price-block,
  html.is-mobile-menu-motion .product-price-block,
  html.is-mobile-menu-open .geigro-category-titlebar,
  html.is-mobile-menu-closing .geigro-category-titlebar,
  html.is-mobile-menu-motion .geigro-category-titlebar,
  html.is-mobile-menu-open .product-tabs-shell,
  html.is-mobile-menu-closing .product-tabs-shell,
  html.is-mobile-menu-motion .product-tabs-shell {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  body > .geigro-mobile-menu {
    transform: translate3d(0, 0, 0) !important;
    transition-property: clip-path, visibility !important;
    contain: layout paint style !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-menu-nav,
  body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  body > .geigro-mobile-menu .geigro-mobile-nav-group,
  body > .geigro-mobile-menu .geigro-mobile-nav-group > summary,
  body > .geigro-mobile-menu .geigro-mobile-menu-bottom,
  body > .geigro-mobile-menu .geigro-mobile-menu-bottom *,
  body > .geigro-mobile-menu .geigro-mobile-nav-arrow {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    translate: none !important;
    transition-property: color, background-color, border-color, box-shadow !important;
    transition-delay: 0s !important;
    animation: none !important;
    will-change: auto !important;
  }

  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-nav > a,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-nav-group > summary,
  html.is-mobile-menu-closing body > .geigro-mobile-menu .geigro-mobile-menu-bottom {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* Final mobile filter drawer polish: smooth closing + no overlapping native dots. */
@media (max-width: 980px) {
  .geigro-filter-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 170 !important;
    display: block !important;
    pointer-events: auto !important;
    background: rgba(0, 0, 0, 0.78) !important;
    opacity: 0 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    transition: opacity 300ms cubic-bezier(0.2, 0.8, 0.2, 1), backdrop-filter 300ms ease !important;
  }

  .geigro-filter-backdrop.is-visible {
    opacity: 1 !important;
  }

  .geigro-filter-sidebar {
    position: fixed !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 180 !important;
    width: 100vw !important;
    max-width: none !important;
    height: min(86dvh, 760px) !important;
    max-height: calc(100dvh - max(10px, env(safe-area-inset-top, 0px))) !important;
    border-radius: 18px 18px 0 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(0, 104%, 0) !important;
    transition:
      transform 330ms cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 250ms ease,
      visibility 0s linear 330ms !important;
    will-change: transform, opacity !important;
    overflow: hidden !important;
  }

  html.is-filter-drawer-open .geigro-filter-sidebar {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
    pointer-events: auto !important;
  }

  html.is-filter-drawer-closing .geigro-filter-sidebar {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 104%, 0) !important;
    pointer-events: none !important;
    transition:
      transform 320ms cubic-bezier(0.4, 0, 0.2, 1),
      opacity 240ms ease,
      visibility 0s linear 340ms !important;
  }

  .geigro-filter-sidebar.geigro-reveal,
  .geigro-filter-sidebar.geigro-reveal.is-visible,
  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal,
  html.is-filter-drawer-open .geigro-filter-sidebar.geigro-reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.is-filter-drawer-closing .geigro-filter-sidebar.geigro-reveal,
  html.is-filter-drawer-closing .geigro-filter-sidebar.geigro-reveal.is-visible {
    opacity: 0 !important;
    transform: translate3d(0, 104%, 0) !important;
  }

  html.is-filter-drawer-open,
  html.is-filter-drawer-closing,
  html.is-filter-drawer-open body,
  html.is-filter-drawer-closing body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  .geigro-filter-sidebar .product-filter-bar {
    height: 100% !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 0 18px 16px !important;
  }

  .geigro-filter-sidebar .product-filter-section-panel,
  .geigro-filter-sidebar .filter-accordion-panel {
    display: grid !important;
    grid-template-rows: 0fr !important;
    max-height: none !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, -4px, 0) !important;
    transition:
      grid-template-rows 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 180ms ease,
      transform 220ms ease !important;
  }

  .geigro-filter-sidebar .product-filter-section.is-open > .product-filter-section-panel,
  .geigro-filter-sidebar .filter-accordion.is-open > .filter-accordion-panel {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .geigro-filter-sidebar .product-filter-section-inner,
  .geigro-filter-sidebar .filter-accordion-options {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-section.is-open .product-filter-section-inner,
  .geigro-filter-sidebar .filter-accordion.is-open .filter-accordion-options {
    overflow: visible !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button.is-wide-option,
  .geigro-filter-sidebar .filter-accordion-options label.is-wide-option {
    grid-column: 1 / -1 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label {
    position: relative !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  .geigro-filter-sidebar .filter-accordion-options input {
    position: absolute !important;
    inset: auto !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button::before,
  .geigro-filter-sidebar .product-filter-choice-list button::after,
  .geigro-filter-sidebar .filter-accordion-options label::before,
  .geigro-filter-sidebar .filter-accordion-options label::after {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    transform: none !important;
    pointer-events: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button::after,
  .geigro-filter-sidebar .filter-accordion-options label::before {
    content: "" !important;
    width: 13px !important;
    height: 13px !important;
    border: 2px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button[data-filter-count]::before {
    content: "(" attr(data-filter-count) ")" !important;
    color: rgba(247, 247, 245, 0.58) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    order: initial !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button[data-filter-count]::after {
    display: none !important;
  }

  .geigro-filter-sidebar .filter-accordion-options label::before {
    display: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button.is-selected {
    border-color: rgba(255, 90, 31, 0.58) !important;
    background: rgba(255, 90, 31, 0.12) !important;
  }

  .geigro-filter-sidebar .filter-accordion-options label:has(input:checked) {
    border-color: rgba(255, 90, 31, 0.58) !important;
    background: rgba(255, 90, 31, 0.12) !important;
  }

  .geigro-filter-sidebar .filter-accordion-options label:has(input:checked)::after {
    content: "✓" !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid rgba(255, 90, 31, 0.72) !important;
    border-radius: 999px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #ff6a2a !important;
    background: rgba(255, 90, 31, 0.12) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .geigro-filter-sidebar .filter-option-name,
  .geigro-filter-sidebar .filter-option-count,
  .geigro-filter-sidebar .product-filter-choice-list button span {
    grid-column: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual {
    height: 118px !important;
    margin: 0 0 18px !important;
    overflow: visible !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-line,
  .geigro-filter-sidebar .product-filter-price-visual .range-fill {
    top: 56px !important;
    height: 5px !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-input {
    top: 45px !important;
    height: 28px !important;
    background: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-runnable-track {
    height: 5px !important;
    background: transparent !important;
    border: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-track {
    height: 5px !important;
    background: transparent !important;
    border: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
    width: 26px !important;
    height: 26px !important;
    margin-top: -10px !important;
    border: 3px solid #ff5a1f !important;
    border-radius: 999px !important;
    background: #f7f7f5 !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
    width: 26px !important;
    height: 26px !important;
    border: 3px solid #ff5a1f !important;
    border-radius: 999px !important;
    background: #f7f7f5 !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34) !important;
  }

  .geigro-filter-sidebar .range-labels {
    bottom: 10px !important;
  }
}

/* Burger menu safety: opening the menu must not move or reveal page content behind it. */
@media (max-width: 820px) {
  html.is-mobile-menu-open,
  html.is-mobile-menu-closing,
  html.is-mobile-menu-motion,
  html.is-mobile-menu-open body,
  html.is-mobile-menu-closing body,
  html.is-mobile-menu-motion body {
    height: auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }

  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-motion .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main,
  html.is-mobile-menu-motion main,
  html.is-mobile-menu-open .site-content,
  html.is-mobile-menu-closing .site-content,
  html.is-mobile-menu-motion .site-content,
  html.is-mobile-menu-open .geigro-home,
  html.is-mobile-menu-closing .geigro-home,
  html.is-mobile-menu-motion .geigro-home,
  html.is-mobile-menu-open .geigro-category-shell,
  html.is-mobile-menu-closing .geigro-category-shell,
  html.is-mobile-menu-motion .geigro-category-shell,
  html.is-mobile-menu-open .geigro-category-titlebar,
  html.is-mobile-menu-closing .geigro-category-titlebar,
  html.is-mobile-menu-motion .geigro-category-titlebar,
  html.is-mobile-menu-open .geigro-products-layout,
  html.is-mobile-menu-closing .geigro-products-layout,
  html.is-mobile-menu-motion .geigro-products-layout,
  html.is-mobile-menu-open .geigro-product-grid,
  html.is-mobile-menu-closing .geigro-product-grid,
  html.is-mobile-menu-motion .geigro-product-grid,
  html.is-mobile-menu-open .geigro-product-card,
  html.is-mobile-menu-closing .geigro-product-card,
  html.is-mobile-menu-motion .geigro-product-card,
  html.is-mobile-menu-open .product-detail,
  html.is-mobile-menu-closing .product-detail,
  html.is-mobile-menu-motion .product-detail,
  html.is-mobile-menu-open .product-tabs-shell,
  html.is-mobile-menu-closing .product-tabs-shell,
  html.is-mobile-menu-motion .product-tabs-shell,
  html.is-mobile-menu-open .product-info-section,
  html.is-mobile-menu-closing .product-info-section,
  html.is-mobile-menu-motion .product-info-section {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }

  html.is-mobile-menu-open .geigro-filter-sidebar,
  html.is-mobile-menu-closing .geigro-filter-sidebar,
  html.is-mobile-menu-motion .geigro-filter-sidebar,
  html.is-mobile-menu-open .geigro-filter-backdrop,
  html.is-mobile-menu-closing .geigro-filter-backdrop,
  html.is-mobile-menu-motion .geigro-filter-backdrop {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.is-mobile-menu-open .geigro-category-titlebar,
  html.is-mobile-menu-closing .geigro-category-titlebar,
  html.is-mobile-menu-motion .geigro-category-titlebar {
    position: relative !important;
    top: auto !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-nav-arrow:not(.is-visible) {
    display: none !important;
  }

  body > .geigro-mobile-menu .geigro-mobile-nav-arrow.is-visible {
    display: block !important;
    flex: 0 0 10px !important;
    width: 10px !important;
    height: 10px !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: rotate(45deg) !important;
    transition: transform 180ms ease !important;
  }

body > .geigro-mobile-menu .geigro-mobile-nav-group.is-open .geigro-mobile-nav-arrow.is-visible {
    transform: rotate(-135deg) !important;
  }
}

/* Listing package image hover preview: fade to the next uploaded image. */
.geigro-product-card .geigro-product-media {
  position: relative !important;
  overflow: hidden !important;
}

.geigro-product-card .geigro-product-media .geigro-product-image {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transform: none !important;
  transition:
    opacity 220ms ease,
    filter 220ms ease !important;
  will-change: opacity !important;
  backface-visibility: hidden !important;
}

.geigro-product-card .geigro-product-media .geigro-product-image-primary {
  position: relative !important;
  z-index: 0 !important;
  opacity: 1 !important;
}

.geigro-product-card .geigro-product-media .geigro-product-image-hover {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.geigro-product-card .geigro-product-media::after,
.geigro-product-card .geigro-package-kind-fallback,
.geigro-product-card .geigro-product-media > .geigro-product-badges {
  z-index: 3 !important;
}

@media (hover: hover) and (pointer: fine) {
  .geigro-product-card:hover .geigro-product-media .geigro-product-image-primary,
  .geigro-product-card:focus-within .geigro-product-media .geigro-product-image-primary {
    opacity: 0 !important;
    transform: none !important;
  }

  .geigro-product-card:hover .geigro-product-media .geigro-product-image-hover,
  .geigro-product-card:focus-within .geigro-product-media .geigro-product-image-hover {
    opacity: 1 !important;
    transform: none !important;
  }

  .geigro-product-card:hover .geigro-product-media img,
  .geigro-product-card:focus-within .geigro-product-media img {
    transform: none !important;
  }
}

/* Product gallery lightbox must fully own the screen above sticky purchase UI. */
.gallery-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 5000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
  background: rgba(0, 0, 0, 0.82) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition:
    opacity 220ms ease,
    visibility 0s linear 220ms !important;
}

.gallery-lightbox.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

.gallery-lightbox img {
  position: relative !important;
  z-index: 1 !important;
  width: auto !important;
  max-width: min(94vw, 1200px) !important;
  height: auto !important;
  max-height: min(78vh, 760px) !important;
  object-fit: contain !important;
  border: 1px solid rgba(255, 90, 31, 0.55) !important;
  border-radius: 12px !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.62) !important;
  transform: translate3d(0, 10px, 0) scale(0.985) !important;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.gallery-lightbox.is-open img {
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.gallery-lightbox-close {
  position: fixed !important;
  top: max(16px, env(safe-area-inset-top)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  z-index: 2 !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(7, 10, 14, 0.72) !important;
  font-size: 0 !important;
  cursor: pointer !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.gallery-lightbox-close::before,
.gallery-lightbox-close::after {
  content: "" !important;
  position: absolute !important;
  width: 17px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}

.gallery-lightbox-close::before {
  transform: rotate(45deg) !important;
}

.gallery-lightbox-close::after {
  transform: rotate(-45deg) !important;
}

html.has-gallery-lightbox .page-package .product-purchase-panel,
html.has-gallery-lightbox .page-package .product-dynamic-tabs,
html.has-gallery-lightbox .page-package .product-dynamic-section {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 160ms ease !important;
}

/* Final filter option alignment: value and count stay on one baseline. */
.geigro-filter-sidebar .filter-accordion-options label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  column-gap: 10px !important;
}

.geigro-filter-sidebar .filter-accordion-options label::before {
  display: none !important;
}

.geigro-filter-sidebar .filter-option-name {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.geigro-filter-sidebar .filter-option-count {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.geigro-filter-sidebar .filter-accordion-options label::after {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
}

.geigro-filter-sidebar .filter-accordion-options label:not(:has(input:checked))::after {
  content: "" !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}

/* Short filter values like JA/NEIN should read as compact chips, not full-width rows. */
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options {
  grid-template-columns: repeat(2, minmax(96px, max-content)) !important;
  justify-content: start !important;
  gap: 10px !important;
}

.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options label {
  width: auto !important;
  min-width: 96px !important;
  max-width: 148px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  grid-template-columns: auto auto auto !important;
  justify-content: center !important;
  justify-items: center !important;
  column-gap: 8px !important;
}

.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-name,
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-count {
  justify-self: center !important;
  text-align: center !important;
}

.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options label.is-wide-option {
  grid-column: auto !important;
}

@media (max-width: 420px) {
  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options {
    grid-template-columns: repeat(2, minmax(86px, max-content)) !important;
  }

  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options label {
    min-width: 86px !important;
    max-width: 132px !important;
    padding-inline: 12px !important;
  }
}

/* Final overlay safety: overlays may animate, the page behind them must stay frozen visually. */
html.is-global-overlay-scroll-locked,
html.is-global-overlay-scroll-locked body {
  overscroll-behavior: none !important;
  scroll-behavior: auto !important;
}

@media (max-width: 820px) {
  html.is-mobile-menu-open .site,
  html.is-mobile-menu-closing .site,
  html.is-mobile-menu-motion .site,
  html.is-mobile-menu-open main,
  html.is-mobile-menu-closing main,
  html.is-mobile-menu-motion main,
  html.is-mobile-menu-open .site-content,
  html.is-mobile-menu-closing .site-content,
  html.is-mobile-menu-motion .site-content,
  html.is-mobile-menu-open .geigro-home,
  html.is-mobile-menu-closing .geigro-home,
  html.is-mobile-menu-motion .geigro-home,
  html.is-mobile-menu-open .geigro-category-shell,
  html.is-mobile-menu-closing .geigro-category-shell,
  html.is-mobile-menu-motion .geigro-category-shell,
  html.is-mobile-menu-open .geigro-category-titlebar,
  html.is-mobile-menu-closing .geigro-category-titlebar,
  html.is-mobile-menu-motion .geigro-category-titlebar,
  html.is-mobile-menu-open .geigro-products-layout,
  html.is-mobile-menu-closing .geigro-products-layout,
  html.is-mobile-menu-motion .geigro-products-layout,
  html.is-mobile-menu-open .geigro-product-grid,
  html.is-mobile-menu-closing .geigro-product-grid,
  html.is-mobile-menu-motion .geigro-product-grid,
  html.is-mobile-menu-open .geigro-product-card,
  html.is-mobile-menu-closing .geigro-product-card,
  html.is-mobile-menu-motion .geigro-product-card,
  html.is-mobile-menu-open .product-detail,
  html.is-mobile-menu-closing .product-detail,
  html.is-mobile-menu-motion .product-detail,
  html.is-mobile-menu-open .product-gallery,
  html.is-mobile-menu-closing .product-gallery,
  html.is-mobile-menu-motion .product-gallery,
  html.is-mobile-menu-open .product-purchase-panel,
  html.is-mobile-menu-closing .product-purchase-panel,
  html.is-mobile-menu-motion .product-purchase-panel,
  html.is-mobile-menu-open .product-dynamic-tabs,
  html.is-mobile-menu-closing .product-dynamic-tabs,
  html.is-mobile-menu-motion .product-dynamic-tabs,
  html.is-mobile-menu-open .product-dynamic-section,
  html.is-mobile-menu-closing .product-dynamic-section,
  html.is-mobile-menu-motion .product-dynamic-section,
  html.is-mobile-menu-open .basket-page,
  html.is-mobile-menu-closing .basket-page,
  html.is-mobile-menu-motion .basket-page,
  html.is-mobile-menu-open .basket-panel,
  html.is-mobile-menu-closing .basket-panel,
  html.is-mobile-menu-motion .basket-panel,
  html.is-mobile-menu-open .basket-summary,
  html.is-mobile-menu-closing .basket-summary,
  html.is-mobile-menu-motion .basket-summary {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Global overlay scroll lock: freeze page behind burger/filter/lightbox/modals. */
html.is-global-overlay-scroll-locked,
html.is-global-overlay-scroll-locked body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}

html.is-global-overlay-scroll-locked body {
  position: fixed !important;
  top: calc(var(--geigro-overlay-lock-y, 0px) * -1) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

html.is-global-overlay-scroll-locked body > .geigro-mobile-menu,
html.is-global-overlay-scroll-locked .geigro-filter-sidebar,
html.is-global-overlay-scroll-locked .included-pack-dialog {
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
}

html.is-global-overlay-scroll-locked.has-gallery-lightbox .gallery-lightbox {
  touch-action: none !important;
  overscroll-behavior: none !important;
}

/* Keep numeric filter ranges aligned with the accordion arrow, not the full divider width. */
.geigro-filter-sidebar .product-filter-number-visual {
  --geigro-filter-range-end-inset: 58px;
  width: calc(100% - var(--geigro-filter-range-end-inset)) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 128px !important;
  margin: 0 0 10px !important;
  padding-top: 10px !important;
  touch-action: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values {
  margin-bottom: 22px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values b {
  max-width: 50% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 45px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input {
  top: 34px !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual[data-active-number-thumb="min"] .range-input-min,
.geigro-filter-sidebar .product-filter-number-visual:not([data-active-number-thumb]) .range-input-min:focus {
  z-index: 4 !important;
}

.geigro-filter-sidebar .product-filter-number-visual[data-active-number-thumb="max"] .range-input-max,
.geigro-filter-sidebar .product-filter-number-visual .range-input-max:focus {
  z-index: 4 !important;
}

.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 76px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields input {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 10px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  color: #f7f7f5 !important;
  background: rgba(255, 255, 255, 0.035) !important;
  font: inherit !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-align: center !important;
  outline: 0 !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields input::-webkit-outer-spin-button,
.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields input::-webkit-inner-spin-button {
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields input:focus {
  border-color: rgba(255, 90, 31, 0.72) !important;
  background: rgba(255, 90, 31, 0.1) !important;
  box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.12) !important;
}

/* Product gallery thumbnails: always four clean columns below the main image. */
.page-package .product-gallery,
body.page-package .product-gallery {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.page-package .product-gallery-main,
body.page-package .product-gallery-main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.page-package .product-gallery-thumbs,
body.page-package .product-gallery-thumbs {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(7px, 1.25vw, 12px) !important;
  overflow: visible !important;
}

.page-package .product-gallery-thumb,
.page-package .product-gallery-more,
body.page-package .product-gallery-thumb,
body.page-package .product-gallery-more {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  flex: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  margin: 0 !important;
  border-radius: clamp(8px, 1.2vw, 12px) !important;
}

.page-package .product-gallery-thumb.is-gallery-extra,
body.page-package .product-gallery-thumb.is-gallery-extra {
  display: none !important;
}

.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra,
body.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra {
  display: block !important;
  opacity: 0 !important;
  transform: none !important;
  animation: geigroGalleryThumbReveal 360ms ease forwards !important;
  animation-delay: calc(var(--gallery-extra-index, 0) * 55ms) !important;
}

.page-package .product-gallery-more,
body.page-package .product-gallery-more {
  position: relative !important;
  padding: 8px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #f7f7f5 !important;
  background:
    linear-gradient(135deg, rgba(255, 90, 31, 0.16), rgba(255, 255, 255, 0.08)),
    rgba(10, 14, 18, 0.92) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 90, 31, 0.12) !important;
  cursor: pointer !important;
  transition:
    opacity 180ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 180ms ease,
    background 180ms ease !important;
}

.page-package .product-gallery-more:hover,
.page-package .product-gallery-more:focus-visible,
body.page-package .product-gallery-more:hover,
body.page-package .product-gallery-more:focus-visible {
  border-color: rgba(255, 90, 31, 0.62) !important;
  transform: translate3d(0, -1px, 0) !important;
}

.page-package .product-gallery-more.is-hiding,
body.page-package .product-gallery-more.is-hiding {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) scale(0.96) !important;
  pointer-events: none !important;
}

.page-package .product-gallery-more strong,
body.page-package .product-gallery-more strong {
  color: #fff !important;
  font-size: clamp(15px, 2vw, 24px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

.page-package .product-gallery-more span,
body.page-package .product-gallery-more span {
  max-width: 100% !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: clamp(8px, 1.05vw, 12px) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@keyframes geigroGalleryThumbReveal {
  from {
    opacity: 0;
    transform: none;
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid,
body.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  gap: clamp(7px, 1.25vw, 12px) !important;
  overflow: visible !important;
}

.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-thumb,
.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-more,
body.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-thumb,
body.page-package [data-product-gallery] > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-more {
  grid-column: auto !important;
  grid-row: auto !important;
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

/* Absolute final package action sizing: cart stays icon-only, prices never wrap. */
.page-package .package-actions,
body.page-package .package-actions,
.page-package .package-actions.has-included-pack-action,
body.page-package .package-actions.has-included-pack-action {
  min-width: 0 !important;
  overflow: visible !important;
}

.page-package .package-actions.has-included-pack-action,
body.page-package .package-actions.has-included-pack-action {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(10px, 2vw, 18px) !important;
}

.page-package .package-price,
body.page-package .package-price,
.page-package .package-actions.has-included-pack-action .package-price,
body.page-package .package-actions.has-included-pack-action .package-price {
  min-width: max-content !important;
  max-width: none !important;
  width: max-content !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 0.12em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  line-height: 1 !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  text-wrap: nowrap !important;
}

.page-package .package-price *,
body.page-package .package-price * {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.page-package .package-action-buttons,
body.page-package .package-action-buttons,
.page-package .package-actions.has-included-pack-action .package-action-buttons,
body.page-package .package-actions.has-included-pack-action .package-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(50px, 5vw, 58px) !important;
  align-items: stretch !important;
  gap: clamp(8px, 1.4vw, 12px) !important;
  width: 100% !important;
  min-width: 0 !important;
}

.page-package .package-actions:not(.has-included-pack-action) .package-action-buttons,
body.page-package .package-actions:not(.has-included-pack-action) .package-action-buttons {
  grid-template-columns: clamp(50px, 5vw, 58px) !important;
  justify-content: end !important;
}

.page-package .package-action-buttons .wide.btn-primary,
body.page-package .package-action-buttons .wide.btn-primary,
.page-package .package-action-buttons .wide.is-added,
body.page-package .package-action-buttons .wide.is-added {
  width: clamp(50px, 5vw, 58px) !important;
  min-width: clamp(50px, 5vw, 58px) !important;
  max-width: clamp(50px, 5vw, 58px) !important;
  height: clamp(48px, 4.8vw, 54px) !important;
  min-height: clamp(48px, 4.8vw, 54px) !important;
  padding: 0 !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
}

.page-package .package-action-buttons .wide.btn-primary .package-action-label,
body.page-package .package-action-buttons .wide.btn-primary .package-action-label,
.page-package .package-action-buttons .wide.is-added .package-action-label,
body.page-package .package-action-buttons .wide.is-added .package-action-label {
  display: none !important;
}

.page-package .package-action-buttons .wide.btn-primary::before,
body.page-package .package-action-buttons .wide.btn-primary::before,
.page-package .package-action-buttons .wide.is-added::before,
body.page-package .package-action-buttons .wide.is-added::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  display: block !important;
  background: #fff !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Z' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Z' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.page-package .package-action-buttons .wide.btn-primary:not(.is-added)::before,
body.page-package .package-action-buttons .wide.btn-primary:not(.is-added)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM16.8 4.6v5.2M14.2 7.2h5.2' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM16.8 4.6v5.2M14.2 7.2h5.2' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.page-package .package-action-buttons .wide.is-added::before,
body.page-package .package-action-buttons .wide.is-added::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Zm-2.3-13.35 1.7 1.7 3.3-3.7' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 5h2.1l1.55 9.15a2 2 0 0 0 1.96 1.65h6.98a2 2 0 0 0 1.91-1.4l1.32-4.2H8.15M10 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7ZM17.5 20.25a.85.85 0 1 0 0-1.7.85.85 0 0 0 0 1.7Zm-2.3-13.35 1.7 1.7 3.3-3.7' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
body.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
.page-package .package-action-buttons .wide.is-added .package-cart-state-icon,
body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
  display: none !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  color: #fff !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Final Shopping Bag icon system: header is neutral, add is orange, added is green. */
.geigro-header .geigro-cart-button {
  color: rgba(255, 255, 255, 0.88) !important;
}

.geigro-header .geigro-cart-button svg,
.geigro-cart-icon-button svg,
.page-package .package-action-buttons .wide .package-cart-state-icon,
body.page-package .package-action-buttons .wide .package-cart-state-icon {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.geigro-header .geigro-cart-button svg {
  width: 23px !important;
  height: 23px !important;
}

.geigro-cart-icon-button:not(.is-added):not([disabled]),
.geigro-product-card .geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.58) !important;
  background: rgba(255, 90, 31, 0.1) !important;
  box-shadow: 0 14px 28px rgba(255, 90, 31, 0.12) !important;
}

.geigro-cart-icon-button.is-added,
.geigro-product-card .geigro-cart-icon-button.is-added {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.54) !important;
  background: rgba(53, 215, 130, 0.1) !important;
  box-shadow: 0 14px 28px rgba(53, 215, 130, 0.12) !important;
}

.page-package .package-action-buttons .wide.btn-primary,
body.page-package .package-action-buttons .wide.btn-primary {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.64) !important;
  background: rgba(255, 90, 31, 0.14) !important;
}

.page-package .package-action-buttons .wide.is-added,
body.page-package .package-action-buttons .wide.is-added {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.58) !important;
  background: rgba(53, 215, 130, 0.13) !important;
}

.page-package .package-action-buttons .wide.btn-primary::before,
body.page-package .package-action-buttons .wide.btn-primary::before,
.page-package .package-action-buttons .wide.is-added::before,
body.page-package .package-action-buttons .wide.is-added::before {
  display: none !important;
  content: none !important;
}

.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
body.page-package .package-action-buttons .wide.btn-primary .package-cart-state-icon,
.page-package .package-action-buttons .wide.is-cart-icon-state .package-cart-state-icon,
body.page-package .package-action-buttons .wide.is-cart-icon-state .package-cart-state-icon,
.page-package .package-action-buttons .wide.is-added .package-cart-state-icon,
body.page-package .package-action-buttons .wide.is-added .package-cart-state-icon {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  color: currentColor !important;
}

.page-package .package-actions.has-included-pack-action .included-pack-action,
body.page-package .package-actions.has-included-pack-action .included-pack-action {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 768px) {
  .page-package .package-actions,
  body.page-package .package-actions,
  .page-package .package-actions.has-included-pack-action,
  body.page-package .package-actions.has-included-pack-action {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .page-package .package-price,
  body.page-package .package-price,
  .page-package .package-actions.has-included-pack-action .package-price,
  body.page-package .package-actions.has-included-pack-action .package-price {
    grid-column: 1 / -1 !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: max-content !important;
  }

  .page-package .package-action-buttons,
  body.page-package .package-action-buttons,
  .page-package .package-actions.has-included-pack-action .package-action-buttons,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons {
    grid-template-columns: minmax(0, 1fr) 54px !important;
  }

  .page-package .package-action-buttons .wide.btn-primary,
  body.page-package .package-action-buttons .wide.btn-primary,
  .page-package .package-action-buttons .wide.is-added,
  body.page-package .package-action-buttons .wide.is-added,
  .page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
  .page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added,
  body.page-package .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
  }
}

/* Last word for Shopping Bag action buttons. */
body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary,
body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket),
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket) {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.64) !important;
  background: rgba(255, 90, 31, 0.14) !important;
}

body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.58) !important;
  background: rgba(53, 215, 130, 0.13) !important;
}

body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary::before,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary::before,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added::before,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added::before,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state::before,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body.page-package .product-purchase-panel .package-action-buttons a.wide > svg.package-cart-state-icon,
body.page-package .product-purchase-panel .package-action-buttons button.wide > svg.package-cart-state-icon {
  display: block !important;
  flex: 0 0 25px !important;
  width: 25px !important;
  min-width: 25px !important;
  max-width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Stable purchase card: price stays above the divider, actions stay below while pack state loads. */
.page-package .product-purchase-panel .package-actions,
body.page-package .product-purchase-panel .package-actions,
.page-package .product-purchase-panel .package-actions.has-included-pack-action,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 26px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-top: 0 !important;
  overflow: visible !important;
}

.page-package .product-purchase-panel .package-actions::before,
body.page-package .product-purchase-panel .package-actions::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(var(--geigro-purchase-price-height, 58px) + 12px) !important;
  height: 1px !important;
  display: block !important;
  background: rgba(255, 255, 255, 0.12) !important;
  pointer-events: none !important;
}

.page-package .product-purchase-panel .package-price,
body.page-package .product-purchase-panel .package-price,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  min-height: var(--geigro-purchase-price-height, 58px) !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.12em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  line-height: 1 !important;
  font-size: clamp(28px, 2.35vw, 38px) !important;
  font-weight: 900 !important;
}

.page-package .product-purchase-panel .package-price-current,
body.page-package .product-purchase-panel .package-price-current,
.page-package .product-purchase-panel .package-price strong:not(.package-discount-badge),
body.page-package .product-purchase-panel .package-price strong:not(.package-discount-badge) {
  font-size: inherit !important;
  line-height: 1 !important;
}

.page-package .product-purchase-panel .package-action-buttons,
body.page-package .product-purchase-panel .package-action-buttons,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(50px, 5vw, 58px) !important;
  align-items: stretch !important;
  gap: clamp(10px, 1.4vw, 14px) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  transition: grid-template-columns 280ms cubic-bezier(0.22, 1, 0.36, 1), gap 220ms ease !important;
}

.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons,
body.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons {
  grid-template-columns: minmax(0, 1fr) !important;
}

.page-package .product-purchase-panel .package-action-buttons .included-pack-action,
body.page-package .product-purchase-panel .package-action-buttons .included-pack-action {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  opacity: 0 !important;
  transform: translate3d(10px, 0, 0) scale(0.985) !important;
  transition: opacity 240ms ease, transform 280ms cubic-bezier(0.22, 1, 0.36, 1), border-color 180ms ease, background 180ms ease !important;
}

.page-package .product-purchase-panel .package-actions.has-included-pack-action .included-pack-action.is-visible,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .included-pack-action.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.page-package .product-purchase-panel .package-action-buttons .wide.btn-primary,
body.page-package .product-purchase-panel .package-action-buttons .wide.btn-primary,
.page-package .product-purchase-panel .package-action-buttons .wide.is-added,
body.page-package .product-purchase-panel .package-action-buttons .wide.is-added {
  transition: width 280ms cubic-bezier(0.22, 1, 0.36, 1), min-width 280ms cubic-bezier(0.22, 1, 0.36, 1), max-width 280ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.btn-primary,
body.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.btn-primary,
.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.is-added,
body.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.is-added {
  grid-column: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-inline: 16px !important;
  gap: 10px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}

.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.btn-primary .package-action-label,
body.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.btn-primary .package-action-label,
.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.is-added .package-action-label,
body.page-package .product-purchase-panel .package-actions:not(.has-included-pack-action) .package-action-buttons .wide.is-added .package-action-label {
  display: inline !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added {
  grid-column: 2 !important;
  justify-self: end !important;
  width: clamp(50px, 5vw, 58px) !important;
  min-width: clamp(50px, 5vw, 58px) !important;
  max-width: clamp(50px, 5vw, 58px) !important;
  padding: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary .package-action-label,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.btn-primary .package-action-label,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-action-label,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-action-label {
  display: none !important;
}

.geigro-product-card .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]),
.geigro-product-card .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.58) !important;
  background: rgba(255, 90, 31, 0.1) !important;
  box-shadow: 0 14px 28px rgba(255, 90, 31, 0.12) !important;
}

.geigro-product-card .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button.is-added,
.geigro-product-card .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button.is-added {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.54) !important;
  background: rgba(53, 215, 130, 0.1) !important;
  box-shadow: 0 14px 28px rgba(53, 215, 130, 0.12) !important;
}

.geigro-product-card .geigro-product-actions .geigro-cart-icon-button svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Package gallery carousel + overview modal. */
.page-package .product-gallery.has-gallery-carousel,
body.page-package .product-gallery.has-gallery-carousel {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  grid-template-areas:
    "main main main"
    "prev thumbs next"
    ". overview ." !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.page-package .product-gallery.has-gallery-carousel .product-gallery-main,
body.page-package .product-gallery.has-gallery-carousel .product-gallery-main {
  grid-area: main !important;
}

.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs.geigro-gallery-grid,
.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid,
body.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs.geigro-gallery-grid,
body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid {
  grid-area: thumbs !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-columns: none !important;
  grid-auto-columns: calc((100% - (clamp(7px, 1.25vw, 12px) * 3)) / 4) !important;
  gap: clamp(7px, 1.25vw, 12px) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
}

.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs::-webkit-scrollbar,
body.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs::-webkit-scrollbar {
  display: none !important;
}

.page-package .product-gallery.has-gallery-carousel .product-gallery-thumb,
.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-thumb,
body.page-package .product-gallery.has-gallery-carousel .product-gallery-thumb,
body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-thumb {
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  scroll-snap-align: start !important;
}

.page-package .product-gallery-arrow,
body.page-package .product-gallery-arrow {
  width: 40px !important;
  height: 100% !important;
  min-height: 44px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: rgba(255, 255, 255, 0.86) !important;
  background: rgba(10, 14, 18, 0.76) !important;
  cursor: pointer !important;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, opacity 180ms ease, transform 180ms ease !important;
}

.page-package .product-gallery-arrow.is-prev,
body.page-package .product-gallery-arrow.is-prev {
  grid-area: prev !important;
}

.page-package .product-gallery-arrow.is-next,
body.page-package .product-gallery-arrow.is-next {
  grid-area: next !important;
}

.page-package .product-gallery-arrow svg,
body.page-package .product-gallery-arrow svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.page-package .product-gallery-arrow:hover,
.page-package .product-gallery-arrow:focus-visible,
body.page-package .product-gallery-arrow:hover,
body.page-package .product-gallery-arrow:focus-visible {
  color: #fff !important;
  border-color: rgba(255, 90, 31, 0.55) !important;
  background: rgba(255, 90, 31, 0.14) !important;
  transform: translateY(-1px) !important;
}

.page-package .product-gallery-arrow:disabled,
body.page-package .product-gallery-arrow:disabled {
  opacity: 0.32 !important;
  cursor: default !important;
  transform: none !important;
}

.page-package .product-gallery-arrow[hidden],
body.page-package .product-gallery-arrow[hidden] {
  display: none !important;
}

.page-package .product-gallery-overview-button,
body.page-package .product-gallery-overview-button {
  grid-area: overview !important;
  justify-self: center !important;
  min-width: 118px !important;
  height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255, 90, 31, 0.42) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #f7f7f5 !important;
  background: rgba(255, 90, 31, 0.1) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease !important;
}

.page-package .product-gallery-overview-button svg,
body.page-package .product-gallery-overview-button svg {
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.page-package .product-gallery-overview-button:hover,
.page-package .product-gallery-overview-button:focus-visible,
body.page-package .product-gallery-overview-button:hover,
body.page-package .product-gallery-overview-button:focus-visible {
  border-color: rgba(255, 90, 31, 0.68) !important;
  background: rgba(255, 90, 31, 0.16) !important;
  transform: translateY(-1px) !important;
}

.gallery-overview-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 5100 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)) !important;
  background: rgba(0, 0, 0, 0.78) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 220ms ease, visibility 0s linear 220ms !important;
}

.gallery-overview-modal.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

.gallery-overview-dialog {
  position: relative !important;
  width: min(92vw, 1120px) !important;
  height: min(calc(100dvh - 48px), 880px) !important;
  max-height: calc(100dvh - 48px) !important;
  padding: clamp(12px, 2vw, 18px) !important;
  border: 1px solid rgba(255, 90, 31, 0.34) !important;
  border-radius: 14px !important;
  display: grid !important;
  grid-template-rows: minmax(180px, 1fr) auto !important;
  gap: 12px !important;
  background: rgba(5, 8, 12, 0.96) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.62) !important;
  overflow: hidden !important;
  transform: translate3d(0, 14px, 0) scale(0.98) !important;
  opacity: 0 !important;
  transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease !important;
}

.gallery-overview-modal.is-open .gallery-overview-dialog {
  transform: translate3d(0, 0, 0) scale(1) !important;
  opacity: 1 !important;
}

.gallery-overview-stage {
  min-height: 0 !important;
  height: 100% !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.gallery-overview-stage img,
.gallery-overview-stage iframe {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  border: 0 !important;
}

.gallery-overview-stage iframe {
  aspect-ratio: 16 / 9 !important;
}

.gallery-overview-thumbs {
  display: grid !important;
  grid-template-columns: repeat(var(--gallery-overview-columns, 4), minmax(0, 1fr)) !important;
  gap: clamp(7px, 1.25vw, 12px) !important;
  min-height: 0 !important;
  max-height: min(42dvh, 360px) !important;
  overflow: visible !important;
  padding-right: 2px !important;
}

.gallery-overview-modal.is-gallery-many .gallery-overview-thumbs {
  max-height: min(36dvh, 320px) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

.gallery-overview-thumb {
  aspect-ratio: 16 / 9 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  position: relative !important;
  background: rgba(255, 255, 255, 0.05) !important;
  cursor: pointer !important;
}

.gallery-overview-thumb.is-active {
  border-color: rgba(255, 90, 31, 0.82) !important;
  box-shadow: 0 0 0 1px rgba(255, 90, 31, 0.42) !important;
}

.gallery-overview-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.gallery-overview-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 2 !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #fff !important;
  background: rgba(7, 10, 14, 0.78) !important;
  font-size: 0 !important;
  cursor: pointer !important;
}

.gallery-overview-close::before,
.gallery-overview-close::after {
  content: "" !important;
  position: absolute !important;
  width: 16px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}

.gallery-overview-close::before {
  transform: rotate(45deg) !important;
}

.gallery-overview-close::after {
  transform: rotate(-45deg) !important;
}

@media (max-width: 560px) {
  .page-package .product-gallery.has-gallery-carousel,
  body.page-package .product-gallery.has-gallery-carousel {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 8px !important;
  }

  .page-package .product-gallery-arrow,
  body.page-package .product-gallery-arrow {
    width: 34px !important;
    border-radius: 9px !important;
  }

  .gallery-overview-dialog {
    width: 94vw !important;
    height: auto !important;
    max-height: calc(100dvh - 28px) !important;
    padding: 10px !important;
    grid-template-rows: auto auto !important;
    overflow: auto !important;
  }

  .gallery-overview-stage {
    height: auto !important;
    align-self: start !important;
  }

  .gallery-overview-stage img,
  .gallery-overview-stage iframe {
    height: auto !important;
    max-height: min(52dvh, 360px) !important;
  }

  .gallery-overview-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    max-height: min(44dvh, 330px) !important;
  }
}

/* Last word for package gallery reveal: extras appear without needing hover/paint. */
.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra,
body.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra,
.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-revealed,
.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra.is-gallery-revealed,
.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-visible,
.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra.is-gallery-visible,
body.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-revealed,
body.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra.is-gallery-revealed,
body.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-visible,
body.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra.is-gallery-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: opacity 180ms ease, border-color 180ms ease, transform 180ms ease !important;
  pointer-events: auto !important;
}

.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra img,
body.page-package .product-gallery.is-showing-all-thumbs .product-gallery-thumb.is-gallery-extra img,
.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-revealed img,
.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-visible img,
body.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-revealed img,
body.page-package .product-gallery .product-gallery-thumb.is-gallery-extra.is-gallery-visible img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Unified category filters: no radio dots, active state is an orange border, numeric filters are slider-only. */
.geigro-filter-sidebar .product-filter-choice-list,
.geigro-filter-sidebar .filter-accordion-options,
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options,
.geigro-filter-sidebar .product-filter-choice-list.is-compact-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}

.geigro-filter-sidebar .product-filter-choice-list button,
.geigro-filter-sidebar .filter-accordion-options label,
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options label,
.geigro-filter-sidebar .filter-accordion-options label.is-wide-option {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: 10px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  background: rgba(255, 255, 255, 0.025) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: border-color 170ms ease, background 170ms ease, color 170ms ease, box-shadow 170ms ease !important;
}

.geigro-filter-sidebar .product-filter-choice-list button::before,
.geigro-filter-sidebar .product-filter-choice-list button::after,
.geigro-filter-sidebar .filter-accordion-options label::before,
.geigro-filter-sidebar .filter-accordion-options label::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.geigro-filter-sidebar .filter-accordion-options input[type="checkbox"],
.geigro-filter-sidebar .filter-accordion-options input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.geigro-filter-sidebar .product-filter-choice-list button:hover,
.geigro-filter-sidebar .filter-accordion-options label:hover {
  border-color: rgba(255, 90, 31, 0.42) !important;
  background: rgba(255, 90, 31, 0.055) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

.geigro-filter-sidebar .product-filter-choice-list button.is-selected,
.geigro-filter-sidebar .filter-accordion-options label:has(input:checked) {
  border-color: rgba(255, 90, 31, 0.92) !important;
  background: rgba(255, 90, 31, 0.12) !important;
  color: #f7f7f5 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 90, 31, 0.2), 0 12px 28px rgba(255, 90, 31, 0.08) !important;
}

.geigro-filter-sidebar .product-filter-choice-list button[data-filter-count] {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.geigro-filter-sidebar .product-filter-choice-list button[data-filter-count]::after {
  content: "(" attr(data-filter-count) ")" !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  justify-self: end !important;
  color: rgba(255, 255, 255, 0.58) !important;
  background: transparent !important;
  font: inherit !important;
  font-weight: 850 !important;
}

.geigro-filter-sidebar .product-filter-choice-list button.is-selected[data-filter-count]::after {
  color: rgba(255, 255, 255, 0.78) !important;
}

.geigro-filter-sidebar .filter-option-name,
.geigro-filter-sidebar .filter-option-count,
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-name,
.geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-count {
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: start !important;
  text-align: left !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: inherit !important;
  line-height: 1 !important;
}

.geigro-filter-sidebar .filter-option-count {
  justify-self: end !important;
  color: rgba(255, 255, 255, 0.58) !important;
}

.geigro-filter-sidebar .filter-accordion-options label:has(input:checked) .filter-option-count {
  color: rgba(255, 255, 255, 0.78) !important;
}

.geigro-filter-sidebar .product-filter-number-visual,
.geigro-filter-sidebar .product-filter-price-visual {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 96px !important;
  margin: 0 !important;
  padding: 6px 0 22px !important;
  display: block !important;
  touch-action: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
  display: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual {
  height: 68px !important;
  padding-top: 0 !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values {
  display: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 20px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input {
  top: 8px !important;
  pointer-events: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values,
.geigro-filter-sidebar .product-filter-price-visual .range-current-values {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-labels,
.geigro-filter-sidebar .product-filter-price-visual .range-labels {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill,
.geigro-filter-sidebar .product-filter-price-visual .range-line,
.geigro-filter-sidebar .product-filter-price-visual .range-fill {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 48px !important;
  height: 6px !important;
  border-radius: 999px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-price-visual .range-line {
  background: rgba(255, 255, 255, 0.13) !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-fill,
.geigro-filter-sidebar .product-filter-price-visual .range-fill {
  left: var(--range-min, 0%) !important;
  right: calc(100% - var(--range-max, 100%)) !important;
  background: #ff5a1f !important;
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.18) !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input,
.geigro-filter-sidebar .product-filter-price-visual .range-input {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 36px !important;
  z-index: 3 !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-runnable-track,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-runnable-track {
  height: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-track,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-track {
  height: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
  width: 24px !important;
  height: 24px !important;
  margin-top: -9px !important;
  border: 4px solid #ff5a1f !important;
  border-radius: 999px !important;
  background: #0c1014 !important;
  box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.16), 0 10px 24px rgba(0, 0, 0, 0.36) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border: 4px solid #ff5a1f !important;
  border-radius: 999px !important;
  background: #0c1014 !important;
  box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.16), 0 10px 24px rgba(0, 0, 0, 0.36) !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input-min,
.geigro-filter-sidebar .product-filter-price-visual .range-input-min {
  z-index: 4 !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input-max,
.geigro-filter-sidebar .product-filter-price-visual .range-input-max {
  z-index: 5 !important;
}

.geigro-filter-sidebar .product-filter-number-visual[data-active-number-thumb="min"] .range-input-min,
.geigro-filter-sidebar .product-filter-price-visual[data-active-price-thumb="min"] .range-input-min,
.geigro-filter-sidebar .product-filter-number-visual .range-input-min:focus,
.geigro-filter-sidebar .product-filter-price-visual .range-input-min:focus {
  z-index: 6 !important;
}

/* Purchase card sale polish: keep sale prices inside the box and make hover states readable. */
.page-package .product-purchase-panel .package-actions,
body.page-package .product-purchase-panel .package-actions,
.page-package .product-purchase-panel .package-actions.has-included-pack-action,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: 74px !important;
}

.page-package .product-purchase-panel .package-price,
body.page-package .product-purchase-panel .package-price,
.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.page-package .product-purchase-panel .package-price.is-sale,
body.page-package .product-purchase-panel .package-price.is-sale,
.page-package .product-purchase-panel .package-price:has(del.discount),
body.page-package .product-purchase-panel .package-price:has(del.discount) {
  display: grid !important;
  grid-template-columns: minmax(96px, 1fr) auto minmax(0, max-content) !important;
  align-items: center !important;
  column-gap: clamp(10px, 1.6vw, 18px) !important;
  min-height: var(--geigro-purchase-price-height, 74px) !important;
  font-size: clamp(30px, 3.4vw, 48px) !important;
}

.page-package .product-purchase-panel .package-price del.discount,
body.page-package .product-purchase-panel .package-price del.discount,
.page-package .product-purchase-panel .package-price .discount,
body.page-package .product-purchase-panel .package-price .discount {
  min-width: 0 !important;
  justify-self: start !important;
  max-width: 100% !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: clamp(25px, 2.45vw, 36px) !important;
  line-height: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.page-package .product-purchase-panel .package-discount-badge,
body.page-package .product-purchase-panel .package-discount-badge {
  justify-self: end !important;
  flex: none !important;
  min-width: 0 !important;
  padding: 9px 14px !important;
  border-color: rgba(255, 90, 31, 0.72) !important;
  background: rgba(255, 90, 31, 0.15) !important;
  box-shadow: 0 10px 28px rgba(255, 90, 31, 0.12) !important;
}

.page-package .product-purchase-panel .package-price-current,
body.page-package .product-purchase-panel .package-price-current,
.page-package .product-purchase-panel .package-price strong.package-price-current,
body.page-package .product-purchase-panel .package-price strong.package-price-current {
  justify-self: end !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  line-height: 0.94 !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current {
  justify-self: start !important;
  text-align: left !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

.page-package .product-purchase-panel .package-actions::before,
body.page-package .product-purchase-panel .package-actions::before {
  top: calc(var(--geigro-purchase-price-height, 74px) + 14px) !important;
}

body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:focus-visible {
  color: #fff7f3 !important;
  border-color: rgba(255, 101, 43, 0.96) !important;
  background: linear-gradient(135deg, rgba(255, 90, 31, 0.92), rgba(209, 55, 18, 0.86)) !important;
  box-shadow: 0 18px 44px rgba(255, 90, 31, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  transform: translateY(-1px) !important;
}

body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:focus-visible {
  color: #f4fff9 !important;
  border-color: rgba(53, 215, 130, 0.9) !important;
  background: linear-gradient(135deg, rgba(40, 185, 108, 0.8), rgba(17, 118, 75, 0.82)) !important;
  box-shadow: 0 18px 44px rgba(53, 215, 130, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  transform: translateY(-1px) !important;
}

body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:hover,
body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:focus-visible {
  color: #fff7f3 !important;
  border-color: rgba(255, 90, 31, 0.78) !important;
  background: rgba(255, 90, 31, 0.2) !important;
  box-shadow: 0 16px 38px rgba(255, 90, 31, 0.16) !important;
  transform: translateY(-1px) !important;
}

.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:hover,
.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:hover,
.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:focus-visible,
.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:focus-visible {
  color: #fffaf7 !important;
  border-color: rgba(255, 122, 64, 0.98) !important;
  background: linear-gradient(135deg, rgba(255, 111, 47, 0.96), rgba(209, 55, 18, 0.92)) !important;
  box-shadow: 0 18px 44px rgba(255, 90, 31, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  transform: translateY(-1px) !important;
}

.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:hover,
.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:hover,
.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:hover,
.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:hover,
.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:focus-visible,
.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:focus-visible,
.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:focus-visible,
.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:hover,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:hover,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:focus-visible {
  color: #f7fff9 !important;
  border-color: rgba(62, 231, 141, 0.94) !important;
  background: linear-gradient(135deg, rgba(42, 196, 113, 0.86), rgba(17, 118, 75, 0.88)) !important;
  box-shadow: 0 18px 44px rgba(53, 215, 130, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  transform: translateY(-1px) !important;
}

.page-package .product-purchase-panel .package-action-buttons .included-pack-action:hover,
.page-package .product-purchase-panel .package-action-buttons .included-pack-action:focus-visible,
body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:hover,
body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:focus-visible {
  color: #fffaf7 !important;
  border-color: rgba(255, 111, 47, 0.86) !important;
  background: rgba(255, 90, 31, 0.22) !important;
  box-shadow: 0 16px 38px rgba(255, 90, 31, 0.18) !important;
  transform: translateY(-1px) !important;
}

/* Absolute final numeric filter slider positions. Keep this at the end of the filter work. */
.geigro-filter-sidebar .product-filter-number-visual {
  height: 68px !important;
  padding: 0 0 22px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values,
.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
  display: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 20px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input {
  top: 8px !important;
  pointer-events: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-labels {
  bottom: 0 !important;
}

html .page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
html .page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):hover,
html .page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):focus-visible,
html .page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:not(.is-added):not(.is-success):not(.is-in-basket):focus-visible {
  color: #fffaf7 !important;
  border-color: rgba(255, 122, 64, 0.98) !important;
  background: linear-gradient(135deg, rgba(255, 111, 47, 0.96), rgba(209, 55, 18, 0.92)) !important;
  box-shadow: 0 18px 44px rgba(255, 90, 31, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

@media (max-width: 560px) {
  .page-package .product-purchase-panel .package-price.is-sale,
  body.page-package .product-purchase-panel .package-price.is-sale,
  .page-package .product-purchase-panel .package-price:has(del.discount),
  body.page-package .product-purchase-panel .package-price:has(del.discount) {
    grid-template-columns: max-content max-content !important;
    row-gap: 7px !important;
    min-height: 0 !important;
  }

  .page-package .product-purchase-panel .package-price del.discount,
  body.page-package .product-purchase-panel .package-price del.discount,
  .page-package .product-purchase-panel .package-price .discount,
  body.page-package .product-purchase-panel .package-price .discount {
    grid-column: 1 / -1 !important;
  }

  .page-package .product-purchase-panel .package-discount-badge,
  body.page-package .product-purchase-panel .package-discount-badge {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .page-package .product-purchase-panel .package-price-current,
  body.page-package .product-purchase-panel .package-price-current,
  .page-package .product-purchase-panel .package-price strong.package-price-current,
  body.page-package .product-purchase-panel .package-price strong.package-price-current {
    grid-column: 1 !important;
    justify-self: start !important;
    text-align: left !important;
    font-size: clamp(24px, 8vw, 30px) !important;
  }
}

/* Absolute final package price layout. Must stay after every previous override. */
html .page-package .product-purchase-panel .product-price-block,
html body.page-package .product-purchase-panel .product-price-block {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions,
html body.page-package .product-purchase-panel .package-actions,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action {
  --geigro-purchase-price-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 20px !important;
  padding-top: 0 !important;
}

html .page-package .product-purchase-panel .package-actions::before,
html body.page-package .product-purchase-panel .package-actions::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

html .page-package .product-purchase-panel .package-price,
html body.page-package .product-purchase-panel .package-price,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-price {
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 7px 12px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)),
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

html .page-package .product-purchase-panel .package-price:has(del.discount),
html body.page-package .product-purchase-panel .package-price:has(del.discount),
html .page-package .product-purchase-panel .package-price.is-sale,
html body.page-package .product-purchase-panel .package-price.is-sale {
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: start !important;
}

html .page-package .product-purchase-panel .package-price del.discount,
html body.page-package .product-purchase-panel .package-price del.discount,
html .page-package .product-purchase-panel .package-price .discount,
html body.page-package .product-purchase-panel .package-price .discount {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  justify-self: start !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(255, 255, 255, 0.52) !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price-current,
html body.page-package .product-purchase-panel .package-price-current,
html .page-package .product-purchase-panel .package-price strong.package-price-current,
html body.page-package .product-purchase-panel .package-price strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #ff6428 !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) .package-price-current,
html .page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current,
html body.page-package .product-purchase-panel .package-price:not(:has(del.discount)) strong.package-price-current {
  grid-column: 1 !important;
  grid-row: 1 !important;
  color: #f7f7f5 !important;
  font-size: clamp(22px, 1.55vw, 26px) !important;
}

html .page-package .product-purchase-panel .package-discount-badge,
html body.page-package .product-purchase-panel .package-discount-badge {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(255, 90, 31, 0.62) !important;
  border-radius: 999px !important;
  color: #ff6428 !important;
  background: rgba(255, 90, 31, 0.12) !important;
  box-shadow: none !important;
  font-size: clamp(12px, 0.9vw, 14px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html .page-package .product-purchase-panel .package-action-buttons,
html body.page-package .product-purchase-panel .package-action-buttons,
html .page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  grid-row: 2 !important;
}

/* Absolute final numeric filter slider positions. Must remain last. */
.geigro-filter-sidebar .product-filter-number-visual {
  height: 68px !important;
  padding: 0 0 22px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-current-values,
.geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
  display: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-line,
.geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 20px !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input {
  top: 8px !important;
  pointer-events: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-labels {
  bottom: 0 !important;
}


/* Absolute final mobile filter polish. Keep after final numeric slider overrides. */
@media (max-width: 820px) {
  .geigro-filter-sidebar {
    overflow-x: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-scroll {
    padding-inline: clamp(18px, 5vw, 24px) !important;
    overflow-x: hidden !important;
  }

  .geigro-filter-sidebar .product-filter-section,
  .geigro-filter-sidebar .filter-accordion {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    align-items: center !important;
    column-gap: 14px !important;
    color: #f7f7f5 !important;
    font-size: clamp(18px, 4.8vw, 21px) !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger::before,
  .geigro-filter-sidebar .product-filter-section-trigger::after,
  .geigro-filter-sidebar .filter-accordion-trigger::before,
  .geigro-filter-sidebar .filter-accordion-trigger::after {
    grid-column: 2 !important;
    justify-self: end !important;
    margin: 0 !important;
    left: auto !important;
    right: auto !important;
    transform-origin: center !important;
  }

  .geigro-filter-sidebar .product-filter-section-panel,
  .geigro-filter-sidebar .filter-accordion-panel {
    padding: 0 0 14px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list,
  .geigro-filter-sidebar .filter-accordion-options,
  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button,
  .geigro-filter-sidebar .filter-accordion-options label,
  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options label,
  .geigro-filter-sidebar .product-filter-choice-list button.is-wide-option,
  .geigro-filter-sidebar .filter-accordion-options label.is-wide-option {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    column-gap: 10px !important;
    overflow: hidden !important;
    font-size: clamp(14px, 3.85vw, 16px) !important;
    font-weight: 820 !important;
    line-height: 1 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button::before,
  .geigro-filter-sidebar .filter-accordion-options label::before,
  .geigro-filter-sidebar .filter-accordion-options label::after,
  .geigro-filter-sidebar .filter-accordion-options label:has(input:checked)::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button:not([data-filter-count])::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .geigro-filter-sidebar .product-filter-choice-list button[data-filter-count]::after {
    content: "(" attr(data-filter-count) ")" !important;
    display: block !important;
    grid-column: 2 !important;
    justify-self: end !important;
    width: auto !important;
    height: auto !important;
    color: rgba(255, 255, 255, 0.58) !important;
    background: transparent !important;
    font: inherit !important;
    font-weight: 820 !important;
  }

  .geigro-filter-sidebar .filter-option-name,
  .geigro-filter-sidebar .filter-option-count,
  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-name,
  .geigro-filter-sidebar .filter-accordion-options.is-short-chip-options .filter-option-count {
    min-width: 0 !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .geigro-filter-sidebar .filter-option-name {
    justify-self: start !important;
  }

  .geigro-filter-sidebar .filter-option-count {
    grid-column: 2 !important;
    justify-self: end !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual,
  .geigro-filter-sidebar .product-filter-price-visual {
    height: 82px !important;
    padding: 4px 0 20px !important;
    margin: 0 !important;
    overflow: visible !important;
    touch-action: none !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .filter-number-fields {
    display: none !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-current-values,
  .geigro-filter-sidebar .product-filter-price-visual .range-current-values {
    display: flex !important;
    justify-content: space-between !important;
    margin: 0 0 18px !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-labels,
  .geigro-filter-sidebar .product-filter-price-visual .range-labels {
    bottom: 0 !important;
    font-size: 12px !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-line,
  .geigro-filter-sidebar .product-filter-number-visual .range-fill,
  .geigro-filter-sidebar .product-filter-price-visual .range-line,
  .geigro-filter-sidebar .product-filter-price-visual .range-fill {
    top: 44px !important;
    height: 5px !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-input,
  .geigro-filter-sidebar .product-filter-price-visual .range-input {
    top: 32px !important;
    height: 30px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-runnable-track,
  .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-runnable-track {
    height: 5px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-thumb,
  .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
    width: 22px !important;
    height: 22px !important;
    margin-top: -8.5px !important;
    border: 4px solid #ff5a1f !important;
    border-radius: 999px !important;
    background: #070b0f !important;
    box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.18), 0 8px 20px rgba(0, 0, 0, 0.34) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-thumb,
  .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
    width: 22px !important;
    height: 22px !important;
    border: 4px solid #ff5a1f !important;
    border-radius: 999px !important;
    background: #070b0f !important;
    box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.18), 0 8px 20px rgba(0, 0, 0, 0.34) !important;
  }
}


/* Absolute final desktop filter arrow alignment. Keep after mobile filter polish. */
@media (min-width: 821px) {
  .geigro-filter-sidebar .product-filter-section-trigger,
  .geigro-filter-sidebar .filter-accordion-trigger {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    align-items: center !important;
    column-gap: 14px !important;
    justify-content: stretch !important;
    padding-inline: 0 !important;
    text-align: left !important;
  }

  .geigro-filter-sidebar .product-filter-section-trigger::before,
  .geigro-filter-sidebar .product-filter-section-trigger::after,
  .geigro-filter-sidebar .filter-accordion-trigger::before,
  .geigro-filter-sidebar .filter-accordion-trigger::after {
    grid-column: 2 !important;
    justify-self: end !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }
}


/* Absolute final filter active states without glow. */
.geigro-filter-sidebar .product-filter-choice-list button.is-active,
.geigro-filter-sidebar .product-filter-choice-list button[aria-pressed="true"],
.geigro-filter-sidebar .filter-accordion-options label:has(input:checked) {
  box-shadow: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-fill,
.geigro-filter-sidebar .product-filter-price-visual .range-fill {
  box-shadow: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
  box-shadow: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
  box-shadow: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input:active::-webkit-slider-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input:active::-webkit-slider-thumb,
.geigro-filter-sidebar .product-filter-number-visual .range-input:focus-visible::-webkit-slider-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input:focus-visible::-webkit-slider-thumb {
  box-shadow: none !important;
}

.geigro-filter-sidebar .product-filter-number-visual .range-input:active::-moz-range-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input:active::-moz-range-thumb,
.geigro-filter-sidebar .product-filter-number-visual .range-input:focus-visible::-moz-range-thumb,
.geigro-filter-sidebar .product-filter-price-visual .range-input:focus-visible::-moz-range-thumb {
  box-shadow: none !important;
}

/* Absolute final iPad package gallery sizing: desktop-like, but tablet-fitted. */
@media (min-width: 821px) and (max-width: 1100px) {
  body.page-package .product-detail-workspace {
    align-items: start !important;
  }

  body.page-package .product-gallery,
  body.page-package .product-gallery.has-gallery-carousel {
    width: min(820px, calc(100vw - 40px)) !important;
    max-width: min(820px, calc(100vw - 40px)) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    grid-template-areas:
      "main main main"
      "prev thumbs next"
      ". overview ." !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body.page-package .product-gallery-main,
  body.page-package .product-gallery.has-gallery-carousel .product-gallery-main {
    grid-area: main !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.page-package .product-gallery-main img,
  body.page-package .product-gallery-image,
  body.page-package .product-gallery-frame,
  body.page-package .product-gallery-fallback {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  body.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs.geigro-gallery-grid,
  body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid,
  body.page-package .product-gallery-thumbs {
    grid-area: thumbs !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - 30px) / 4) !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.page-package .product-gallery-thumbs::-webkit-scrollbar {
    display: none !important;
  }

  body.page-package .product-gallery-thumb,
  body.page-package .product-gallery-more,
  body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-thumb,
  body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid > .product-gallery-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    flex: none !important;
    scroll-snap-align: start !important;
  }

  body.page-package .product-gallery-arrow {
    width: 40px !important;
    height: 100% !important;
    min-height: 52px !important;
    align-self: stretch !important;
  }
}

/* Absolute final iPad package layout: gallery left, purchase panel right, details below. */
@media (min-width: 821px) and (max-width: 1099px) {
  body.page-package .product-detail-workspace {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: clamp(20px, 2.8vw, 30px) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
    grid-template-rows: auto !important;
    gap: clamp(18px, 2.4vw, 26px) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-package .product-detail-grid > .product-gallery,
  body.page-package .product-detail-grid > .product-gallery.has-gallery-carousel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.page-package .product-detail-grid > .product-purchase-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.page-package .product-detail-grid > .product-purchase-dock-spacer {
    display: none !important;
  }

  body.page-package .product-detail-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.page-package .product-detail-grid > .product-gallery .product-gallery-main {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.page-package .product-detail-grid > .product-gallery.has-gallery-carousel {
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  }

  body.page-package .product-detail-grid > .product-gallery.has-gallery-carousel .product-gallery-thumbs.geigro-gallery-grid,
  body.page-package .product-detail-grid > [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid {
    grid-auto-columns: calc((100% - 27px) / 4) !important;
    gap: 9px !important;
  }

  body.page-package .product-detail-grid > .product-gallery .product-gallery-arrow {
    width: 38px !important;
    min-height: 48px !important;
  }

  body.page-package .product-purchase-panel .product-detail-title {
    font-size: clamp(28px, 3.4vw, 40px) !important;
  }
}

/* Absolute final shopping-bag color states. */
.geigro-product-card .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]),
.geigro-product-card .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #f7f7f5 !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  box-shadow: none !important;
}

.geigro-product-card.is-sale .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]),
.geigro-product-card.is-sale .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.58) !important;
  background: rgba(255, 90, 31, 0.1) !important;
}

.geigro-product-card .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button.is-added,
.geigro-product-card .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button.is-added,
.geigro-product-card.is-sale .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button.is-added,
.geigro-product-card.is-sale .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button.is-added {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.62) !important;
  background: rgba(53, 215, 130, 0.12) !important;
  box-shadow: none !important;
}

/* Absolute last shopping-bag button color priority. */
html body .geigro-product-card:not(.is-sale) .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]),
html body .geigro-product-card:not(.is-sale) .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #f7f7f5 !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  box-shadow: none !important;
}

html body .geigro-product-card.is-sale .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]),
html body .geigro-product-card.is-sale .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button:not(.is-added):not([disabled]) {
  color: #ff5a1f !important;
  border-color: rgba(255, 90, 31, 0.58) !important;
  background: rgba(255, 90, 31, 0.1) !important;
  box-shadow: none !important;
}

html body .geigro-product-card .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button.is-added,
html body .geigro-product-card .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button.is-added,
html body .geigro-product-card.is-sale .geigro-product-actions a.geigro-add-button.geigro-cart-icon-button.is-added,
html body .geigro-product-card.is-sale .geigro-product-actions button.geigro-add-button.geigro-cart-icon-button.is-added {
  color: #35d782 !important;
  border-color: rgba(53, 215, 130, 0.62) !important;
  background: rgba(53, 215, 130, 0.12) !important;
  box-shadow: none !important;
}

/* Final gallery overview sizing: keep close visible and handle many images cleanly. */
html body .gallery-overview-modal {
  z-index: 2147483000 !important;
  align-items: flex-start !important;
  padding-top: calc(var(--geigro-header-h, 72px) + max(14px, env(safe-area-inset-top))) !important;
  padding-right: max(14px, env(safe-area-inset-right)) !important;
  padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
  padding-left: max(14px, env(safe-area-inset-left)) !important;
  overflow: auto !important;
}

html body .gallery-overview-dialog {
  width: min(88vw, 1280px) !important;
  height: auto !important;
  max-height: calc(100dvh - var(--geigro-header-h, 72px) - 32px) !important;
  grid-template-rows: auto minmax(0, auto) !important;
  gap: clamp(10px, 1.2vw, 14px) !important;
  padding: clamp(10px, 1.4vw, 16px) !important;
  overflow: auto !important;
}

html body .gallery-overview-stage {
  width: 100% !important;
  height: auto !important;
  max-height: min(46dvh, 520px) !important;
  aspect-ratio: 16 / 9 !important;
}

html body .gallery-overview-stage img,
html body .gallery-overview-stage iframe {
  width: 100% !important;
  height: 100% !important;
  max-height: min(46dvh, 520px) !important;
  object-fit: contain !important;
}

html body .gallery-overview-thumbs {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: clamp(7px, 0.9vw, 11px) !important;
  max-height: min(34dvh, 330px) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

html body .gallery-overview-thumb {
  border-radius: 8px !important;
}

html body .gallery-overview-close {
  top: 12px !important;
  right: 12px !important;
  z-index: 20 !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(7, 10, 14, 0.9) !important;
}

@media (max-width: 1100px) {
  html body .gallery-overview-dialog {
    width: min(92vw, 980px) !important;
  }

  html body .gallery-overview-stage,
  html body .gallery-overview-stage img,
  html body .gallery-overview-stage iframe {
    max-height: min(40dvh, 430px) !important;
  }

  html body .gallery-overview-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-height: min(38dvh, 360px) !important;
  }
}

@media (max-width: 560px) {
  html body .gallery-overview-modal {
    padding-top: calc(var(--geigro-header-h, 72px) + 10px) !important;
  }

  html body .gallery-overview-dialog {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - var(--geigro-header-h, 72px) - 20px) !important;
    padding: 9px !important;
  }

  html body .gallery-overview-stage,
  html body .gallery-overview-stage img,
  html body .gallery-overview-stage iframe {
    max-height: min(34dvh, 300px) !important;
  }

  html body .gallery-overview-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    max-height: min(42dvh, 340px) !important;
  }

  html body .gallery-overview-close {
    width: 36px !important;
    height: 36px !important;
  }
}

/* Final checkout polish: neutral item tags, higher line prices, coupon code in discount row. */
html body.page-checkout .basket-item-actions .basket-item-badge,
html body.page-checkout .basket-item-actions .basket-item-kind.basket-item-badge,
html body.page-checkout .basket-item-actions .basket-item-category.basket-item-badge,
html body.page-checkout .basket-item-badge,
html body.page-checkout .basket-item-kind,
html body.page-checkout .basket-item-category {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(247, 247, 245, 0.88) !important;
  box-shadow: none !important;
}

html body.page-checkout .basket-item {
  min-height: 118px !important;
  padding-bottom: 18px !important;
}

html body.page-checkout .basket-item-actions {
  padding-right: 132px !important;
}

html body.page-checkout .basket-item-meta {
  position: absolute !important;
  right: 0 !important;
  top: 68px !important;
  bottom: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

html body.page-checkout .basket-item-meta .price,
html body.page-checkout .basket-item-price {
  display: grid !important;
  grid-auto-flow: row !important;
  justify-items: end !important;
  align-items: end !important;
  gap: 3px !important;
  min-width: 94px !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
}

html body.page-checkout .basket-item-price-original {
  color: rgba(239, 245, 252, 0.42) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-decoration: line-through !important;
}

html body.page-checkout .basket-item-price-current {
  color: rgba(249, 252, 255, 0.96) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

html body.page-checkout .basket-item-price.is-discounted .basket-item-price-current {
  color: #ff5a1f !important;
}

html body.page-checkout .basket-item-discount-badge {
  justify-self: end !important;
  min-height: 18px !important;
  padding: 0 7px !important;
  border-color: rgba(255, 90, 31, 0.42) !important;
  background: rgba(255, 90, 31, 0.11) !important;
  color: #ff6a2a !important;
  font-size: 10px !important;
}

html body.page-checkout .basket-summary-discount-label {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
  min-width: 0 !important;
}

html body.page-checkout .basket-summary-discount-code {
  color: rgba(247, 247, 245, 0.52) !important;
  font-size: 0.86em !important;
  font-weight: 780 !important;
  line-height: 1 !important;
}

html body.page-checkout .basket-summary-discount-code[hidden] {
  display: none !important;
}

html body.page-checkout .basket-summary .basket-mobile-coupon-control {
  margin-top: 12px !important;
}

html body.page-checkout .basket-summary .basket-mobile-active-coupon {
  display: none !important;
}

@media (max-width: 720px) {
  html body.page-checkout .basket-item {
    min-height: 98px !important;
    padding-bottom: 16px !important;
  }

  html body.page-checkout .basket-item-actions {
    padding-right: 96px !important;
  }

  html body.page-checkout .basket-item-meta {
    top: 60px !important;
  }

  html body.page-checkout .basket-item-price-current {
    font-size: 17px !important;
  }
}

/* Final price filter slider alignment. */
html body .geigro-filter-sidebar .product-filter-price-section .product-filter-section-inner {
  padding-bottom: 18px !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual {
  --range-edge-px: 14px;
  height: 132px !important;
  padding: 4px 0 40px !important;
  margin: 0 0 16px !important;
  overflow: visible !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-current-values {
  margin: 0 0 26px !important;
  padding: 0 2px !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-line,
html body .geigro-filter-sidebar .product-filter-price-visual .range-fill {
  top: 58px !important;
  height: 6px !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-line {
  left: var(--range-edge-px) !important;
  right: var(--range-edge-px) !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-fill {
  left: var(--range-min-pos, var(--range-edge-px)) !important;
  right: calc(100% - var(--range-max-pos, calc(100% - var(--range-edge-px)))) !important;
  box-shadow: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input {
  left: var(--range-edge-px) !important;
  right: var(--range-edge-px) !important;
  top: 45px !important;
  width: calc(100% - (var(--range-edge-px) * 2)) !important;
  height: 34px !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
  width: 24px !important;
  height: 24px !important;
  margin-top: -9px !important;
  border-width: 4px !important;
  box-shadow: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
  width: 16px !important;
  height: 16px !important;
  border-width: 4px !important;
  box-shadow: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-labels {
  left: var(--range-edge-px) !important;
  right: var(--range-edge-px) !important;
  bottom: 16px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

html body .geigro-filter-sidebar .product-filter-price-section .product-filter-choice-list {
  margin-top: 8px !important;
  gap: 10px !important;
}

@media (max-width: 820px) {
  html body .geigro-filter-sidebar .product-filter-price-visual {
    --range-edge-px: 15px;
    height: 136px !important;
    padding-bottom: 42px !important;
    margin-bottom: 18px !important;
  }

  html body .geigro-filter-sidebar .product-filter-price-visual .range-line,
  html body .geigro-filter-sidebar .product-filter-price-visual .range-fill {
    top: 60px !important;
  }

  html body .geigro-filter-sidebar .product-filter-price-visual .range-input {
    top: 47px !important;
  }

  html body .geigro-filter-sidebar .product-filter-price-section .product-filter-choice-list {
    margin-top: 10px !important;
  }
}

/* Final price filter visual thumbs: circles sit exactly on the line without overhangs. */
html body .geigro-filter-sidebar .product-filter-price-visual .range-line,
html body .geigro-filter-sidebar .product-filter-price-visual .range-fill {
  left: var(--range-min-pos, var(--range-edge-px)) !important;
  right: calc(100% - var(--range-max-pos, calc(100% - var(--range-edge-px)))) !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb {
  width: 28px !important;
  height: 28px !important;
  margin-top: -11px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-visual-thumb {
  position: absolute !important;
  top: 61px !important;
  z-index: 4 !important;
  width: 28px !important;
  height: 28px !important;
  border: 5px solid #ff5a1f !important;
  border-radius: 999px !important;
  background: #070b0f !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-visual-thumb-min {
  left: var(--range-min-pos, var(--range-edge-px)) !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-visual-thumb-max {
  left: var(--range-max-pos, calc(100% - var(--range-edge-px))) !important;
}

@media (max-width: 820px) {
  html body .geigro-filter-sidebar .product-filter-price-visual .range-visual-thumb {
    top: 63px !important;
  }
}

/* Final package tab switching: stable box, crossfaded content, smooth lower edge only. */
html body.page-package .product-dynamic-sections {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transition: height 360ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  will-change: height !important;
  contain: layout paint !important;
}

html body.page-package .product-dynamic-sections.is-switching {
  height: var(--tab-switch-height) !important;
  overflow: hidden !important;
}

html body.page-package .product-dynamic-sections > .product-dynamic-section,
html body.page-package .product-dynamic-sections > .product-description-panel.product-dynamic-section {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  transition: opacity 220ms ease, visibility 0s linear 220ms !important;
  will-change: opacity !important;
}

html body.page-package .product-dynamic-sections > .product-dynamic-section:not(.is-active):not(.is-tab-outgoing):not(.is-tab-incoming),
html body.page-package .product-dynamic-sections > .product-description-panel.product-dynamic-section:not(.is-active):not(.is-tab-outgoing):not(.is-tab-incoming) {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
}

html body.page-package .product-dynamic-sections > .product-dynamic-section.is-active,
html body.page-package .product-dynamic-sections > .product-description-panel.product-dynamic-section.is-active {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
}

html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section.is-tab-outgoing,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section.is-tab-outgoing,
html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section.is-tab-incoming,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section.is-tab-incoming {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section.is-tab-outgoing.is-tab-faded,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section.is-tab-outgoing.is-tab-faded,
html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section.is-tab-incoming,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section.is-tab-incoming {
  opacity: 0 !important;
}

html body.page-package .product-dynamic-sections.is-switching > .product-dynamic-section.is-tab-incoming.is-tab-visible,
html body.page-package .product-dynamic-sections.is-switching > .product-description-panel.product-dynamic-section.is-tab-incoming.is-tab-visible {
  opacity: 1 !important;
}

html body.page-package .product-trust-strip.is-tab-flowing {
  transform: none !important;
  transition: none !important;
}

/* Final button stability: hover/focus must never move or resize controls. */
html body button,
html body a.btn-primary,
html body a.btn-secondary,
html body .btn-primary,
html body .btn-secondary,
html body .wide,
html body .geigro-add-button,
html body .geigro-cart-icon-button,
html body .package-action-buttons a,
html body .package-action-buttons button,
html body .included-pack-action,
html body .product-gallery-arrow,
html body .product-gallery-overview-button,
html body .gallery-overview-close,
html body .gallery-lightbox-close,
html body .basket-remove,
html body .basket-checkout-button,
html body .basket-coupon button,
html body .product-filter-choice-list button,
html body .filter-accordion-trigger,
html body .product-filter-section-trigger,
html body .product-dynamic-tab,
html body .product-tabs-action,
html body .product-tabs-mobile-action,
html body .geigro-header a,
html body .geigro-header button {
  transform: none !important;
}

html body button:hover,
html body button:focus,
html body button:focus-visible,
html body button:active,
html body a.btn-primary:hover,
html body a.btn-primary:focus,
html body a.btn-primary:focus-visible,
html body a.btn-primary:active,
html body a.btn-secondary:hover,
html body a.btn-secondary:focus,
html body a.btn-secondary:focus-visible,
html body a.btn-secondary:active,
html body .btn-primary:hover,
html body .btn-primary:focus,
html body .btn-primary:focus-visible,
html body .btn-primary:active,
html body .btn-secondary:hover,
html body .btn-secondary:focus,
html body .btn-secondary:focus-visible,
html body .btn-secondary:active,
html body .wide:hover,
html body .wide:focus,
html body .wide:focus-visible,
html body .wide:active,
html body .geigro-add-button:hover,
html body .geigro-add-button:focus,
html body .geigro-add-button:focus-visible,
html body .geigro-add-button:active,
html body .geigro-cart-icon-button:hover,
html body .geigro-cart-icon-button:focus,
html body .geigro-cart-icon-button:focus-visible,
html body .geigro-cart-icon-button:active,
html body .package-action-buttons a:hover,
html body .package-action-buttons a:focus,
html body .package-action-buttons a:focus-visible,
html body .package-action-buttons a:active,
html body .package-action-buttons button:hover,
html body .package-action-buttons button:focus,
html body .package-action-buttons button:focus-visible,
html body .package-action-buttons button:active,
html body .included-pack-action:hover,
html body .included-pack-action:focus-visible,
html body .included-pack-action:active,
html body .product-gallery-arrow:hover,
html body .product-gallery-arrow:focus-visible,
html body .product-gallery-arrow:active,
html body .product-gallery-overview-button:hover,
html body .product-gallery-overview-button:focus-visible,
html body .product-gallery-overview-button:active,
html body .basket-remove:hover,
html body .basket-remove:focus-visible,
html body .basket-remove:active,
html body .basket-checkout-button:hover,
html body .basket-checkout-button:focus-visible,
html body .basket-checkout-button:active,
html body .product-filter-choice-list button:hover,
html body .product-filter-choice-list button:focus-visible,
html body .product-filter-choice-list button:active,
html body .product-dynamic-tab:hover,
html body .product-dynamic-tab:focus-visible,
html body .product-dynamic-tab:active,
html body .product-tabs-action:hover,
html body .product-tabs-action:focus-visible,
html body .product-tabs-action:active,
html body .product-tabs-mobile-action:hover,
html body .product-tabs-mobile-action:focus-visible,
html body .product-tabs-mobile-action:active,
html body .geigro-header a:hover,
html body .geigro-header a:focus-visible,
html body .geigro-header a:active,
html body .geigro-header button:hover,
html body .geigro-header button:focus-visible,
html body .geigro-header button:active {
  transform: none !important;
  translate: none !important;
}

html body.page-package .product-purchase-panel .package-action-buttons a.wide:hover,
html body.page-package .product-purchase-panel .package-action-buttons button.wide:hover,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:hover,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:hover,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:hover,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:hover,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:hover,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:hover,
html body.page-package .product-purchase-panel .package-action-buttons a.wide:focus,
html body.page-package .product-purchase-panel .package-action-buttons button.wide:focus,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:focus,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:focus,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:focus,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:focus,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:focus,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:focus,
html body.page-package .product-purchase-panel .package-action-buttons a.wide:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons button.wide:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons a.wide:active,
html body.page-package .product-purchase-panel .package-action-buttons button.wide:active,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary:active,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary:active,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added:active,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added:active,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state:active,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state:active,
html body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:hover,
html body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:focus,
html body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:focus-visible,
html body.page-package .product-purchase-panel .package-action-buttons .included-pack-action:active,
html body .geigro-product-card .geigro-product-actions .geigro-add-button:hover,
html body .geigro-product-card .geigro-product-actions .geigro-cart-icon-button:hover,
html body .geigro-product-card .geigro-product-actions .geigro-add-button:focus,
html body .geigro-product-card .geigro-product-actions .geigro-cart-icon-button:focus,
html body .geigro-product-card .geigro-product-actions .geigro-add-button:focus-visible,
html body .geigro-product-card .geigro-product-actions .geigro-cart-icon-button:focus-visible,
html body .geigro-product-card .geigro-product-actions .geigro-add-button:active,
html body .geigro-product-card .geigro-product-actions .geigro-cart-icon-button:active {
  transform: none !important;
  translate: none !important;
}

html body.page-package .product-purchase-panel .package-action-buttons a.wide,
html body.page-package .product-purchase-panel .package-action-buttons button.wide,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.btn-primary,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.btn-primary,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-added,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-added,
html body.page-package .product-purchase-panel .package-action-buttons a.wide.is-cart-icon-state,
html body.page-package .product-purchase-panel .package-action-buttons button.wide.is-cart-icon-state,
html body.page-package .product-purchase-panel .package-action-buttons .included-pack-action,
html body .geigro-product-card .geigro-product-actions .geigro-add-button,
html body .geigro-product-card .geigro-product-actions .geigro-cart-icon-button {
  transition-property: background, background-color, border-color, color, box-shadow, opacity !important;
}

/* Unified product media crossfade for detail gallery and overview modal. */
html body.page-package .product-gallery-main,
html body .gallery-overview-stage {
  position: relative !important;
  isolation: isolate !important;
}

html body.page-package .product-gallery-main > .product-gallery-image,
html body.page-package .product-gallery-main > .product-gallery-frame,
html body .gallery-overview-stage > [data-gallery-overview-media] {
  transition:
    opacity 320ms ease,
    filter 320ms ease !important;
  will-change: opacity, filter !important;
  backface-visibility: hidden !important;
}

html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-entering,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-entering,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-entering {
  opacity: 0 !important;
  filter: brightness(0.78) saturate(0.92) !important;
}

html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-active,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-active,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-active {
  opacity: 1 !important;
  filter: none !important;
}

html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-exiting,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-exiting,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-exiting {
  opacity: 0 !important;
  filter: brightness(0.78) saturate(0.92) !important;
  pointer-events: none !important;
}

html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-entering,
html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-active,
html body.page-package .product-gallery-main > .product-gallery-image.is-gallery-exiting,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-entering,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-active,
html body.page-package .product-gallery-main > .product-gallery-frame.is-gallery-exiting,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-entering,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-active,
html body .gallery-overview-stage > [data-gallery-overview-media].is-gallery-exiting {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

/* Absolute button stability: hover/focus may change color only, never geometry. */
html body :is(
  button,
  [role="button"],
  a.btn-primary,
  a.btn-secondary,
  a.wide,
  a.geigro-add-button,
  a.geigro-cart-icon-button,
  a.basket-checkout-button,
  a.basket-remove,
  a.product-gallery-arrow,
  a.product-gallery-overview-button,
  a.product-tabs-action,
  a.product-tabs-mobile-action,
  a.included-pack-action,
  .btn-primary,
  .btn-secondary,
  .wide,
  .geigro-add-button,
  .geigro-cart-icon-button,
  .basket-checkout-button,
  .basket-remove,
  .basket-coupon button,
  .package-action-buttons a,
  .package-action-buttons button,
  .product-gallery-arrow,
  .product-gallery-overview-button,
  .gallery-overview-close,
  .gallery-lightbox-close,
  .filter-accordion-trigger,
  .product-filter-section-trigger,
  .product-filter-choice-list button,
  .product-dynamic-tab,
  .product-tabs-action,
  .product-tabs-mobile-action,
  .geigro-mobile-action-list a,
  .geigro-header a,
  .geigro-header button
):not(#geigro-button-stability-boost) {
  transform: none !important;
  translate: none !important;
}

html body :is(
  button,
  [role="button"],
  a.btn-primary,
  a.btn-secondary,
  a.wide,
  a.geigro-add-button,
  a.geigro-cart-icon-button,
  a.basket-checkout-button,
  a.basket-remove,
  a.product-gallery-arrow,
  a.product-gallery-overview-button,
  a.product-tabs-action,
  a.product-tabs-mobile-action,
  a.included-pack-action,
  .btn-primary,
  .btn-secondary,
  .wide,
  .geigro-add-button,
  .geigro-cart-icon-button,
  .basket-checkout-button,
  .basket-remove,
  .basket-coupon button,
  .package-action-buttons a,
  .package-action-buttons button,
  .product-gallery-arrow,
  .product-gallery-overview-button,
  .gallery-overview-close,
  .gallery-lightbox-close,
  .filter-accordion-trigger,
  .product-filter-section-trigger,
  .product-filter-choice-list button,
  .product-dynamic-tab,
  .product-tabs-action,
  .product-tabs-mobile-action,
  .geigro-mobile-action-list a,
  .geigro-header a,
  .geigro-header button
):not(#geigro-button-stability-boost):is(:hover, :focus, :focus-visible, :active) {
  transform: none !important;
  translate: none !important;
  transition-property: background, background-color, border-color, color, box-shadow, opacity !important;
}

/* Final selection hygiene: UI, images and controls should not get blue selection marks. */
html body img,
html body svg,
html body canvas,
html body video,
html body iframe,
html body button,
html body [role="button"],
html body .geigro-header,
html body .geigro-mobile-menu,
html body .geigro-product-card,
html body .geigro-product-media,
html body .geigro-product-badges,
html body .geigro-product-actions,
html body .product-price,
html body .product-filter-bar,
html body .geigro-filter-sidebar,
html body .product-filter-choice-list,
html body .product-filter-price-visual,
html body .range-current-values,
html body .range-labels,
html body .product-gallery,
html body .gallery-lightbox,
html body .gallery-overview-modal,
html body.page-package .product-purchase-panel,
html body.page-package .product-dynamic-tabs,
html body.page-package .product-tabs-mobile,
html body.page-checkout .basket-item,
html body.page-checkout .basket-summary,
html body.page-checkout .basket-coupon,
html body .site-footer,
html body .site-sidebar,
html body .widget {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

html body .text-content,
html body .product-description,
html body .product-description *,
html body .product-dynamic-section,
html body .product-dynamic-section p,
html body .product-dynamic-section li,
html body .package-refund-policy,
html body .package-refund-policy *,
html body.page-checkout input,
html body.page-checkout textarea,
html body.page-checkout select,
html body input,
html body textarea,
html body select {
  -webkit-user-select: text !important;
  user-select: text !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-labels {
  display: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual {
  height: 104px !important;
  padding-bottom: 18px !important;
  margin-bottom: 10px !important;
}

html body .geigro-filter-sidebar .product-filter-price-section .product-filter-choice-list {
  margin-top: 0 !important;
}

@media (max-width: 820px) {
  html body .geigro-filter-sidebar .product-filter-price-visual {
    height: 108px !important;
    padding-bottom: 20px !important;
    margin-bottom: 10px !important;
  }
}

/* Final slider interaction polish: no orange glow and no overlapping input hitboxes. */
html body .geigro-filter-sidebar .product-filter-price-visual,
html body .geigro-filter-sidebar .product-filter-number-visual {
  cursor: pointer !important;
  touch-action: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input {
  pointer-events: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-fill,
html body .geigro-filter-sidebar .product-filter-number-visual .range-fill,
html body .geigro-filter-sidebar .product-filter-price-visual .range-visual-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-visual-thumb,
html body .geigro-filter-sidebar .product-filter-price-visual .range-input,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-webkit-slider-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-thumb,
html body .geigro-filter-sidebar .product-filter-price-visual .range-input:active::-webkit-slider-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input:active::-webkit-slider-thumb,
html body .geigro-filter-sidebar .product-filter-price-visual .range-input:focus-visible::-webkit-slider-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input:focus-visible::-webkit-slider-thumb {
  box-shadow: none !important;
  filter: none !important;
}

html body .geigro-filter-sidebar .product-filter-price-visual .range-input::-moz-range-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-thumb,
html body .geigro-filter-sidebar .product-filter-price-visual .range-input:active::-moz-range-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input:active::-moz-range-thumb,
html body .geigro-filter-sidebar .product-filter-price-visual .range-input:focus-visible::-moz-range-thumb,
html body .geigro-filter-sidebar .product-filter-number-visual .range-input:focus-visible::-moz-range-thumb {
  box-shadow: none !important;
  filter: none !important;
}

/* Final number-slider rendering: same reliable visual-thumb system as price. */
html body .geigro-filter-sidebar .product-filter-number-visual {
  --range-edge-px: 14px;
  height: 72px !important;
  padding: 0 0 22px !important;
  margin: 0 0 10px !important;
  overflow: visible !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-current-values {
  display: flex !important;
  margin: 0 0 20px !important;
  padding: 0 2px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-line,
html body .geigro-filter-sidebar .product-filter-number-visual .range-fill {
  top: 36px !important;
  height: 6px !important;
  left: var(--range-min-pos, var(--range-edge-px)) !important;
  right: calc(100% - var(--range-max-pos, calc(100% - var(--range-edge-px)))) !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-line {
  left: var(--range-edge-px) !important;
  right: var(--range-edge-px) !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-input {
  left: var(--range-edge-px) !important;
  right: var(--range-edge-px) !important;
  top: 23px !important;
  width: calc(100% - (var(--range-edge-px) * 2)) !important;
  height: 34px !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-input::-webkit-slider-thumb {
  width: 28px !important;
  height: 28px !important;
  margin-top: -11px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-input::-moz-range-thumb {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-visual-thumb {
  position: absolute !important;
  top: 39px !important;
  z-index: 4 !important;
  width: 28px !important;
  height: 28px !important;
  border: 5px solid #ff5a1f !important;
  border-radius: 999px !important;
  background: #070b0f !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-visual-thumb-min {
  left: var(--range-min-pos, var(--range-edge-px)) !important;
}

html body .geigro-filter-sidebar .product-filter-number-visual .range-visual-thumb-max {
  left: var(--range-max-pos, calc(100% - var(--range-edge-px))) !important;
}

@media (max-width: 820px) {
  html body .geigro-filter-sidebar .product-filter-number-visual {
    --range-edge-px: 15px;
    height: 74px !important;
  }

  html body .geigro-filter-sidebar .product-filter-number-visual .range-line,
  html body .geigro-filter-sidebar .product-filter-number-visual .range-fill {
    top: 37px !important;
  }

  html body .geigro-filter-sidebar .product-filter-number-visual .range-visual-thumb {
    top: 40px !important;
  }
}

/* Active filter groups: once a group affects results, its title turns orange. */
html body .geigro-filter-sidebar .product-filter-section.is-filter-active > .product-filter-section-trigger,
html body .geigro-filter-sidebar .filter-accordion.is-filter-active > .filter-accordion-trigger {
  color: #ff5a1f !important;
}

html body .geigro-filter-sidebar .product-filter-section.is-filter-active > .product-filter-section-trigger::after,
html body .geigro-filter-sidebar .filter-accordion.is-filter-active > .filter-accordion-trigger::after {
  border-color: #ff5a1f !important;
}

/* Package detail action choreography: pack note reveals smoothly while the bag button settles into icon state. */
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(50px, 5vw, 58px) !important;
  align-items: stretch !important;
  gap: clamp(10px, 1.4vw, 14px) !important;
  transition:
    grid-template-columns 420ms cubic-bezier(0.22, 1, 0.36, 1),
    gap 360ms ease !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action.is-included-pack-entering:not(:has(.included-pack-action.is-visible)) .package-action-buttons {
  grid-template-columns: minmax(0, 1fr) 0px !important;
  gap: 0 !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .included-pack-action {
  grid-column: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip-path: inset(0 0 0 0) !important;
  transform: none !important;
  will-change: opacity, clip-path;
  transition:
    opacity 300ms ease 80ms,
    clip-path 420ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 260ms ease,
    background 260ms ease,
    color 260ms ease !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action.is-included-pack-entering:not(:has(.included-pack-action.is-visible)) .included-pack-action {
  width: 0 !important;
  max-width: 0 !important;
  padding-inline: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  border-color: transparent !important;
  clip-path: inset(0 100% 0 0) !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide {
  grid-column: 2 !important;
  justify-self: end !important;
  overflow: hidden !important;
  transition:
    width 420ms cubic-bezier(0.22, 1, 0.36, 1),
    min-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
    max-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 360ms ease,
    border-color 260ms ease,
    background 260ms ease,
    color 260ms ease,
    opacity 260ms ease !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action.is-included-pack-entering:not(:has(.included-pack-action.is-visible)) .package-action-buttons .wide:not(.is-added):not(.is-cart-icon-state) {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-inline: 18px !important;
  gap: 10px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action.is-included-pack-entering:not(:has(.included-pack-action.is-visible)) .package-action-buttons .wide:not(.is-added):not(.is-cart-icon-state) .package-action-label {
  display: inline !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-cart-icon-state,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action:has(.included-pack-action.is-visible) .package-action-buttons .wide.btn-primary {
  grid-column: 2 !important;
  justify-self: end !important;
  width: clamp(50px, 5vw, 58px) !important;
  min-width: clamp(50px, 5vw, 58px) !important;
  max-width: clamp(50px, 5vw, 58px) !important;
  padding: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
}

html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-added .package-action-label,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action .package-action-buttons .wide.is-cart-icon-state .package-action-label,
html body.page-package .product-purchase-panel .package-actions.has-included-pack-action:has(.included-pack-action.is-visible) .package-action-buttons .wide.btn-primary .package-action-label {
  display: none !important;
}

html body.page-package .product-purchase-panel .package-action-buttons .wide.is-loading {
  pointer-events: none !important;
  opacity: 0.72 !important;
}

/* Package opening stability: reserve the async gallery/action geometry before JS finishes. */
html body.page-package .product-gallery {
  min-width: 0 !important;
}

html body.page-package .product-gallery-main {
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #070b0f !important;
}

html body.page-package .product-gallery-main > .product-gallery-image,
html body.page-package .product-gallery-main > .product-gallery-frame,
html body.page-package .product-gallery-main > .product-gallery-fallback {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body.page-package .product-gallery-thumbs {
  min-height: clamp(56px, 7vw, 82px) !important;
}

html body.page-package .product-gallery-thumb,
html body.page-package .product-gallery-more {
  aspect-ratio: 16 / 9 !important;
}

html body.page-package .product-purchase-panel .package-action-buttons {
  min-height: clamp(50px, 5vw, 58px) !important;
}

html body.page-package .product-purchase-panel .package-actions.is-included-pack-resolving .package-action-buttons {
  opacity: 0.001 !important;
  pointer-events: none !important;
  transform: none !important;
}

html body.page-package .product-purchase-panel .package-actions.is-package-actions-booting .package-action-buttons {
  opacity: 0.001 !important;
  pointer-events: none !important;
  transform: none !important;
}

html body.page-package .product-purchase-panel .package-actions.is-package-actions-ready .package-action-buttons {
  opacity: 1 !important;
}

html body.page-package .product-purchase-panel .package-vat-label {
  display: none !important;
}

html body.page-package .product-purchase-panel .package-actions:not(.is-included-pack-resolving):not(.is-package-actions-booting) .package-action-buttons {
  opacity: 1 !important;
  transition:
    opacity 240ms ease,
    grid-template-columns 420ms cubic-bezier(0.22, 1, 0.36, 1),
    gap 360ms ease !important;
}

@media (max-width: 820px) {
  html body.page-package .product-gallery,
  html body.page-package .product-gallery.has-gallery-carousel {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    grid-template-areas:
      "main main main"
      "prev thumbs next"
      ". overview ." !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  html body.page-package .product-gallery-main,
  html body.page-package .product-gallery.has-gallery-carousel .product-gallery-main {
    grid-area: main !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.page-package .product-gallery-thumbs,
  html body.page-package .product-gallery.has-gallery-carousel .product-gallery-thumbs.geigro-gallery-grid,
  html body.page-package [data-product-gallery].has-gallery-carousel > .product-gallery-thumbs.geigro-gallery-grid {
    grid-area: thumbs !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - 24px) / 4) !important;
    gap: 8px !important;
    min-height: 58px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  html body.page-package .product-gallery-thumbs::-webkit-scrollbar {
    display: none !important;
  }

  html body.page-package .product-gallery-arrow {
    align-self: stretch !important;
    width: 42px !important;
    min-width: 42px !important;
    min-height: 58px !important;
    transform: none !important;
  }

  html body.page-package .product-gallery-arrow[hidden] {
    display: grid !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.page-package .product-gallery-overview-button {
    grid-area: overview !important;
    justify-self: center !important;
  }
}

/* Final overlay fades: dark backdrops must ease out instead of disappearing abruptly. */
html body .geigro-header-search-backdrop,
html body .geigro-header-search-results,
html body .geigro-nav-backdrop,
html body .geigro-filter-backdrop,
html body .gallery-lightbox,
html body .gallery-overview-modal,
html body .included-pack-modal,
html body.page-checkout .basket-mobile-coupon-backdrop {
  transition:
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 280ms,
    backdrop-filter 280ms ease,
    -webkit-backdrop-filter 280ms ease !important;
}

html.is-header-search-open body .geigro-header-search-backdrop,
html.is-header-search-open body .geigro-header-search-results {
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

html.is-header-search-closing body .geigro-header-search-backdrop {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  backdrop-filter: blur(0) !important;
  -webkit-backdrop-filter: blur(0) !important;
}

html.is-header-search-closing body .geigro-header-search-results {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate3d(0, -8px, 0) !important;
}

html body .geigro-nav-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 110 !important;
  display: block !important;
  background: rgba(0, 0, 0, 0.46) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body .geigro-nav-backdrop.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

html body .geigro-nav-backdrop.is-closing,
html.is-filter-drawer-closing body .geigro-filter-backdrop {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

html body .gallery-lightbox.is-closing,
html body .gallery-overview-modal.is-closing,
html body .included-pack-modal.is-closing {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

html body .gallery-lightbox.is-closing img,
html body .gallery-overview-modal.is-closing .gallery-overview-dialog,
html body .included-pack-modal.is-closing .included-pack-dialog {
  opacity: 0 !important;
  transform: translate3d(0, 10px, 0) scale(0.985) !important;
}

@media (max-width: 768px) {
  html.is-mobile-coupon-closing body.page-checkout .basket-mobile-coupon-backdrop {
    visibility: visible !important;
    opacity: 0 !important;
    pointer-events: none !important;
    backdrop-filter: blur(0) !important;
    -webkit-backdrop-filter: blur(0) !important;
  }

  html.is-mobile-coupon-closing body.page-checkout .basket-coupon {
    visibility: visible !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(0, 104%, 0) !important;
  }
}
