/* Native compatibility layer for Whitefox Suite 1.0.7+. */
:root {
  --wf-exit-bg: #05060f;
  --wf-exit-panel: #07152a;
  --wf-exit-border: rgba(120,170,255,.18);
  --wf-exit-text: #f4f8ff;
  --wf-exit-muted: rgba(214,225,255,.72);
  --wf-exit-cyan: #7de5ff;
  --wf-exit-blue: #2e9fff;
}

.wf-exit-native,
.wf-exit-native * {
  box-sizing: border-box;
}

body.wf-exit-native {
  margin: 0;
  overflow-x: hidden;
  color: var(--wf-exit-text);
  background: var(--wf-exit-bg);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.wf-exit-native #wf-exit-main.site-main,
body.wf-exit-native .wf-native-main,
body.wf-exit-native .wf-native-main > article {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: clip;
}

.wf-exit-native img,
.wf-exit-native video {
  max-width: 100%;
  height: auto;
}

.wf-exit-native a {
  color: inherit;
}

/* Elementor container geometry retained without loading Elementor itself. */
.wf-exit-native .elementor,
.wf-exit-native .elementor-element,
.wf-exit-native .elementor-widget,
.wf-exit-native .elementor-widget-container {
  min-width: 0;
}

.wf-exit-native .elementor-element {
  --widgets-spacing: 0px;
}

.wf-exit-native .elementor-widget {
  position: relative;
  width: var(--container-widget-width, 100%);
  max-width: 100%;
  align-self: var(--align-self, initial);
  order: var(--order, 0);
}

.wf-exit-native .elementor-widget-container {
  width: 100%;
}

.wf-exit-native .elementor-shortcode {
  width: 100%;
}

.wf-exit-native .e-con {
  position: var(--position, relative);
  width: var(--width, 100%);
  max-width: var(--max-width, none);
  min-height: var(--min-height, initial);
  height: var(--height, auto);
  min-width: 0;
  margin-block: var(--margin-block-start, var(--margin-top, 0)) var(--margin-block-end, var(--margin-bottom, 0));
  margin-inline: var(--margin-inline-start, var(--margin-left, 0)) var(--margin-inline-end, var(--margin-right, 0));
  padding-block: var(--padding-block-start, var(--padding-top, 10px)) var(--padding-block-end, var(--padding-bottom, 10px));
  padding-inline: var(--padding-inline-start, var(--padding-left, 10px)) var(--padding-inline-end, var(--padding-right, 10px));
  align-self: var(--align-self, initial);
  order: var(--order, 0);
  overflow: var(--overflow, visible);
  z-index: var(--z-index, auto);
}

.wf-exit-native .e-con.e-flex {
  display: flex;
  flex-direction: var(--flex-direction, column);
  flex-wrap: var(--flex-wrap, nowrap);
  align-items: var(--align-items, stretch);
  align-content: var(--align-content, initial);
  justify-content: var(--justify-content, initial);
  gap: var(--row-gap, var(--widgets-spacing-row, 20px)) var(--column-gap, var(--widgets-spacing-column, 20px));
  flex: var(--flex-grow, 0) var(--flex-shrink, 1) var(--flex-basis, auto);
}

.wf-exit-native .e-con.e-grid {
  display: grid;
  grid-template-columns: var(--grid-template-columns, repeat(var(--columns, 1), minmax(0, 1fr)));
  grid-template-rows: var(--grid-template-rows, auto);
  align-items: var(--align-items, stretch);
  justify-items: var(--justify-items, stretch);
  gap: var(--row-gap, var(--widgets-spacing-row, 20px)) var(--column-gap, var(--widgets-spacing-column, 20px));
}

.wf-exit-native .e-con-boxed > .e-con-inner {
  display: inherit;
  flex-direction: inherit;
  flex-wrap: inherit;
  grid-template-columns: inherit;
  grid-template-rows: inherit;
  align-items: inherit;
  align-content: inherit;
  justify-content: inherit;
  justify-items: inherit;
  gap: inherit;
  width: 100%;
  max-width: var(--content-width, 1400px);
  margin-inline: auto;
}

/* Legacy Elementor sections/columns used by older Whitefox content pages. */
.wf-exit-native .elementor-section {
  position: relative;
  width: 100%;
}

.wf-exit-native .elementor-section > .elementor-container {
  position: relative;
  display: flex;
  width: 100%;
  margin-inline: auto;
}

.wf-exit-native .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--wf-legacy-content-width, 1400px);
}

.wf-exit-native .elementor-column {
  position: relative;
  display: flex;
  min-height: 1px;
  min-width: 0;
  width: var(--wf-legacy-column-width, 100%);
}

.wf-exit-native .elementor-column-wrap,
.wf-exit-native .elementor-widget-wrap {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-content: flex-start;
}

.wf-exit-native .elementor-widget-wrap > .elementor-element {
  width: 100%;
}

.wf-exit-native .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; }
.wf-exit-native .elementor-column-gap-no > .elementor-column > .elementor-element-populated { padding: 0; }
.wf-exit-native .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; }
.wf-exit-native .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; }
.wf-exit-native .elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; }
.wf-exit-native .elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; }

/* The current Whitefox product template uses a two-column Elementor grid. */
body.single-product.wf-exit-native .elementor-355382 .wf-single-hero-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

body.single-product.wf-exit-native .elementor-355382 .wf-single-media,
body.single-product.wf-exit-native .elementor-355382 .wf-single-right,
body.single-product.wf-exit-native .elementor-355382 .wf-single-buybox {
  min-width: 0;
  width: 100%;
}

body.single-product.wf-exit-native .wf-add-to-cart .elementor-add-to-cart,
body.single-product.wf-exit-native .wf-add-to-cart .elementor-product-simple {
  display: grid;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

body.single-product.wf-exit-native .wf-add-to-cart form.cart {
  display: grid;
  grid-template-columns: 80px repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
}

body.single-product.wf-exit-native .wf-add-to-cart form.cart .quantity,
body.single-product.wf-exit-native .wf-add-to-cart form.cart button.single_add_to_cart_button {
  min-width: 0;
  width: 100%;
}

body.single-product.wf-exit-native .e-n-accordion-item-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
}

body.single-product.wf-exit-native .e-n-accordion-item-title::-webkit-details-marker {
  display: none;
}

body.single-product.wf-exit-native details:not([open]) .e-opened,
body.single-product.wf-exit-native details[open] .e-closed {
  display: none;
}

.wf-exit-native .elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

.wf-native-header,
.wf-native-footer {
  position: relative;
  z-index: 1000;
  width: 100%;
}

.wf-native-footer {
  z-index: 10;
}

/*
 * The former Elementor footer root was saved at 96.28% width, while the
 * footer HTML itself used the usual 100vw breakout. Outside Elementor this
 * combination starts the footer left of the viewport. Give the native shell
 * a full-width containing block and let the footer fill that block instead of
 * calculating against the scrollbar-inclusive viewport width.
 */
body.wf-exit-native .wf-native-footer > .elementor,
body.wf-exit-native .wf-native-footer > .elementor > .e-con,
body.wf-exit-native .wf-native-footer > .elementor > .e-con > .elementor-widget,
body.wf-exit-native .wf-native-footer > .elementor > .e-con > .elementor-widget > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

body.wf-exit-native .wf-native-footer > .elementor > .e-con {
  --width: 100%;
  padding-inline: 0 !important;
}

body.wf-exit-native .wf-native-footer .wff-footer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

.wf-exit-header-fallback,
.wf-exit-footer-fallback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(calc(100% - 28px), 1400px);
  margin: 0 auto;
  padding: 18px 0;
}

.wf-exit-cart-shell {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: auto;
  min-width: 118px;
}

.wf-exit-cart-shell .elementor-menu-cart__toggle_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-width: 118px;
  min-height: 50px;
  list-style: none;
  cursor: pointer;
}

.wf-exit-cart-shell .elementor-menu-cart__toggle_button::-webkit-details-marker {
  display: none;
}

header.elementor-location-header .wf-exit-cart-shell .elementor-button-text {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: none !important;
}

.wf-exit-cart-shell .elementor-button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wf-exit-cart-shell .elementor-button-icon svg {
  width: 25px;
  height: 25px;
}

.wf-exit-cart-shell .elementor-button-icon-qty {
  position: absolute;
  top: -9px;
  right: -10px;
  z-index: 2;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
}

.wf-exit-cart-shell .elementor-menu-cart__container {
  position: fixed;
  inset: 0;
  z-index: 99998 !important;
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: rgba(1, 5, 15, .72);
  backdrop-filter: blur(4px);
  transition: opacity .2s ease, visibility .2s ease;
}

.wf-exit-cart-shell[open] .elementor-menu-cart__container,
.wf-exit-cart-shell.is-open .elementor-menu-cart__container {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.wf-exit-cart-shell .elementor-menu-cart__main {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(430px, 92vw);
  height: 100%;
  min-height: 100dvh;
  padding: 28px;
  overflow-y: auto;
  color: #f4f8ff;
  background: linear-gradient(155deg, #0a1932 0%, #050b18 62%, #030711 100%);
  border-left: 1px solid rgba(125, 229, 255, .2);
  box-shadow: -28px 0 70px rgba(0, 0, 0, .55);
  transform: translateX(104%);
  transition: transform .24s ease;
}

.wf-exit-cart-shell[open] .elementor-menu-cart__main,
.wf-exit-cart-shell.is-open .elementor-menu-cart__main {
  transform: translateX(0);
}

.wf-exit-cart-shell .elementor-menu-cart__close-button {
  align-self: flex-end;
  width: 42px;
  height: 42px;
  margin: 0 0 12px;
  padding: 0;
  border: 1px solid rgba(125, 229, 255, .22);
  border-radius: 0;
  color: #f4f8ff;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
  font: 400 30px/1 sans-serif;
}

.wf-exit-cart-drawer__title {
  margin: 0 0 24px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(125, 229, 255, .18);
  color: #fff;
  font-size: 25px;
  font-weight: 900;
}

.wf-exit-cart-drawer .woocommerce-mini-cart {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-exit-cart-drawer .woocommerce-mini-cart-item {
  position: relative;
  min-height: 76px;
  padding: 12px 34px 12px 86px;
  border: 1px solid rgba(125, 229, 255, .14);
  background: rgba(255, 255, 255, .035);
}

.wf-exit-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  display: block;
  color: #f4f8ff;
  text-decoration: none;
  font-weight: 800;
  line-height: 1.35;
}

.wf-exit-cart-drawer .woocommerce-mini-cart-item img {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 58px;
  height: 58px;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}

.wf-exit-cart-drawer .woocommerce-mini-cart-item .remove {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #ff8b9d;
  text-decoration: none;
  font-size: 24px;
}

.wf-exit-cart-drawer .woocommerce-mini-cart-item .quantity {
  display: block;
  margin-top: 8px;
  color: var(--wf-exit-muted);
  font-size: 14px;
}

.wf-exit-cart-drawer .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 24px 0 14px;
  padding: 16px 0;
  border-block: 1px solid rgba(125, 229, 255, .18);
  color: #fff;
  font-size: 17px;
}

.wf-exit-cart-drawer .woocommerce-mini-cart__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.wf-exit-cart-drawer .woocommerce-mini-cart__buttons .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid rgba(125, 229, 255, .26);
  border-radius: 0;
  color: #f4f8ff;
  background: #0b2343;
  text-align: center;
  text-decoration: none;
  font-weight: 850;
}

.wf-exit-cart-drawer .woocommerce-mini-cart__buttons .checkout {
  color: #03101f;
  background: linear-gradient(135deg, #7de5ff, #2e9fff);
}

.wf-exit-cart-drawer .woocommerce-mini-cart__empty-message {
  margin: 12px 0;
  color: var(--wf-exit-muted);
  line-height: 1.6;
}

body.wf-exit-cart-open {
  overflow: hidden !important;
}

/* The drawer lives directly below body so no Elementor header container can clip it. */
body.wf-exit-native > .wf-exit-cart-drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: none !important;
  background: rgba(1, 5, 15, .72) !important;
  backdrop-filter: blur(4px);
  transition: opacity .2s ease, visibility .2s ease;
}

body.wf-exit-native > .wf-exit-cart-drawer:target,
body.wf-exit-native > .wf-exit-cart-drawer.is-open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.wf-exit-native > .wf-exit-cart-drawer > .wf-exit-cart-drawer__panel {
  position: absolute !important;
  inset: 0 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(430px, 92vw) !important;
  max-width: 92vw !important;
  height: 100% !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 28px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #f4f8ff !important;
  background: linear-gradient(155deg, #0a1932 0%, #050b18 62%, #030711 100%) !important;
  border: 0 !important;
  border-left: 1px solid rgba(125, 229, 255, .2) !important;
  border-radius: 0 !important;
  box-shadow: -28px 0 70px rgba(0, 0, 0, .55) !important;
  transform: translate3d(104%, 0, 0) !important;
  transition: transform .24s ease !important;
}

body.wf-exit-native > .wf-exit-cart-drawer:target > .wf-exit-cart-drawer__panel,
body.wf-exit-native > .wf-exit-cart-drawer.is-open > .wf-exit-cart-drawer__panel {
  transform: translate3d(0, 0, 0) !important;
}

.wf-exit-cart-drawer .elementor-menu-cart__close-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-end !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 1px solid rgba(125, 229, 255, .22) !important;
  border-radius: 0 !important;
  color: #f4f8ff !important;
  background: rgba(255, 255, 255, .04) !important;
  text-decoration: none !important;
  cursor: pointer;
  font: 400 30px/1 sans-serif !important;
}

.wf-exit-cart-closed {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

body.wf-exit-native:has(> .wf-exit-cart-drawer:target) {
  overflow: hidden !important;
}

.wf-exit-message,
.wf-exit-archive,
.wf-exit-product-archive {
  width: min(calc(100% - 28px), 1400px);
  margin: 0 auto;
  padding: clamp(46px, 7vw, 96px) 0;
}

.wf-exit-product-archive .woocommerce-products-header__title.page-title {
  display: block !important;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(34px, 4vw, 64px);
  line-height: 1.04;
}

.wf-exit-product-archive .term-description {
  max-width: 820px;
  margin-bottom: 32px;
  color: var(--wf-exit-muted);
}

.wf-exit-product-archive .woocommerce-result-count,
.wf-exit-product-archive .woocommerce-ordering {
  margin-bottom: 24px;
}

.wf-exit-product-archive .wpk-products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wf-exit-archive-card {
  padding: 28px 0;
  border-bottom: 1px solid var(--wf-exit-border);
}

.wf-exit-share {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wf-exit-share a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--wf-exit-border);
  border-radius: 0;
  text-decoration: none;
}

.wf-exit-entry > .wp-block-woocommerce-cart,
.wf-exit-entry > .wp-block-woocommerce-checkout,
.wf-exit-entry > .woocommerce,
.wf-exit-entry .woocommerce {
  width: min(calc(100% - 28px), 1400px);
  margin-inline: auto;
}

.wf-exit-preview::before {
  content: "WHITEFOX EXIT · NUR ADMIN-VORSCHAU";
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 999999;
  padding: 9px 12px;
  border: 1px solid rgba(125,229,255,.52);
  border-radius: 0;
  color: #061127;
  background: var(--wf-exit-cyan);
  font: 900 11px/1.2 "Manrope", system-ui, sans-serif;
  letter-spacing: .08em;
  box-shadow: 0 10px 28px rgba(0,0,0,.42);
}

@media (min-width: 1025px) {
  .wf-exit-native .elementor-hidden-desktop {
    display: none !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .wf-exit-native .elementor-hidden-laptop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .wf-exit-native .elementor-hidden-tablet {
    display: none !important;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .wf-exit-native .elementor-hidden-tablet-extra {
    display: none !important;
  }
}

@media (min-width: 481px) and (max-width: 767px) {
  .wf-exit-native .elementor-hidden-mobile-extra {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .wf-exit-native .elementor-section > .elementor-container {
    flex-wrap: wrap;
  }

  .wf-exit-native .elementor-column {
    width: 100%;
  }

  .wf-exit-native .elementor-hidden-mobile {
    display: none !important;
  }

  body.wf-exit-native > .wf-exit-cart-drawer > .wf-exit-cart-drawer__panel {
    width: min(390px, 100vw) !important;
    max-width: 100vw !important;
    padding: 20px !important;
  }

  .wf-exit-cart-shell,
  .wf-exit-cart-shell .elementor-menu-cart__toggle_button {
    min-width: 86px;
  }

  header.elementor-location-header .wf-exit-cart-shell .elementor-button-text {
    display: none !important;
  }
}

@media (max-width: 980px) {
  body.single-product.wf-exit-native .elementor-355382 .wf-single-hero-inner {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
  }

  body.single-product.wf-exit-native .wf-add-to-cart form.cart {
    grid-template-columns: 68px minmax(0, 1fr);
  }
}
