/* EQHX  no background. You control background in Elementor container. */

/* Default vars (fallback). Elementor responsive controls can override per device. */
.eqhx-hero{
  --eqhx-peek: 420px;
  --eqhx-slide-w: 520px;
  --eqhx-img-radius: 20px;

  --eqhx-scale-active: 1;
  --eqhx-scale-near1: .82;
  --eqhx-scale-near2: .70;
  --eqhx-scale-far: .62;

  /* Global glow behind everything (JS moves it under active image) */
  --eqhx-glow-x: 75%;
  --eqhx-glow-y: 52%;
  --eqhx-glow-size: 680px;
  --eqhx-glow-opacity: 1;

  position: relative;
}

/* Glow behind EVERYTHING (not clipped by right column) */
.eqhx-hero::before{
  content:"";
  position:absolute;
  inset: 0;
  z-index: 0;
  pointer-events:none;

background: radial-gradient(
  circle var(--eqhx-glow-size) at var(--eqhx-glow-x) var(--eqhx-glow-y),
  rgba(255,255,255,.42) 0%,
  rgba(255,255,255,.22) 16%,
  rgba(255,255,255,.10) 34%,
  rgba(255,255,255,.05) 48%,
  rgba(0,0,0,0) 70%
);
  filter: blur(12px);
  opacity: var(--eqhx-glow-opacity);
  transition: opacity .25s ease;
}

.eqhx-inner{
  position: relative;
  z-index: 2; /* content above glow */
  display: grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
  gap: 28px;
  align-items: center;
}

.eqhx-left{
  position: relative;
  z-index: 50; /* text always above */
  color: #fff;
  transition: opacity .22s ease, transform .22s ease;
}

.eqhx-left.eqhx-fade{
  opacity: .65;
  transform: translateY(2px);
}

.eqhx-title{
  margin: 0 0 10px 0;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 800;
}

.eqhx-price{
  margin: 18px 0 18px 0;
  font-size: 26px;
  font-weight: 800;
}

.eqhx-desc{
  max-width: 520px;
  opacity: .92;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 28px 0;
}

.eqhx-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 12px;
  font-weight: 700;
  text-decoration: none !important;
}

/* Right side  MUST clip slider to the right column (images can't appear behind text on desktop) */
.eqhx-right{
  position: relative;
  min-width: 0;
  overflow: hidden !important; /* KEY */
  z-index: 10;
}

/* Neutralize any global full-width swiper hacks */
.eqhx-right .swiper,
.eqhx-right .eqhx-swiper{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Slider padding: peek controls how much of next products is visible */
.eqhx-swiper{
  padding-right: var(--eqhx-peek);
  padding-left: 10px;
  overflow: visible; /* ok  clipped by .eqhx-right */
}

/* Slide size controlled from Elementor */
.eqhx-slide{
  width: var(--eqhx-slide-w);
  user-select: none;
  border-radius: var(--eqhx-img-radius);
}

.eqhx-imgwrap{
  transform-origin: center;
  transition: transform .45s cubic-bezier(.22,.9,.24,1), opacity .45s ease, filter .45s ease;
  border-radius: var(--eqhx-img-radius);
  overflow: hidden;
}

.eqhx-imgwrap img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--eqhx-img-radius);
  filter: drop-shadow(0 18px 48px rgba(0,0,0,.65));
}

/* Active and previews (driven by Elementor vars) */
.eqhx-slide.eqhx-active .eqhx-imgwrap{ transform: scale(var(--eqhx-scale-active)); opacity: 1; }
.eqhx-slide.eqhx-near-1 .eqhx-imgwrap{ transform: scale(var(--eqhx-scale-near1)); opacity: .92; }
.eqhx-slide.eqhx-near-2 .eqhx-imgwrap{ transform: scale(var(--eqhx-scale-near2)); opacity: .82; }
.eqhx-slide.eqhx-far .eqhx-imgwrap{ transform: scale(var(--eqhx-scale-far)); opacity: .55; }

/* NAV */
.eqhx-nav{
  position: relative;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  margin-top: 22px;
}

.eqhx-prev,
.eqhx-next{
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font-size: 22px;
  line-height: 1;
  user-select: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
}

.eqhx-prev:hover,
.eqhx-next:hover{
  background: rgba(0,0,0,.28);
  border-color: rgba(255,255,255,.32);
  transform: translateY(-1px);
}

.eqhx-prev:active,
.eqhx-next:active{
  transform: translateY(0);
}

.eqhx-prev:disabled,
.eqhx-next:disabled{
  opacity: .45;
  cursor: not-allowed;
}

.eqhx-prev svg,
.eqhx-next svg{
  width: 1em;
  height: 1em;
  display: block;
  fill: currentColor;
}

/* =========================
   RESPONSIVE (fallback only)
   Elementor responsive controls should handle most sizing.
   ========================= */

/* Tablet */
@media (max-width: 1024px){
  .eqhx-inner{
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
  }

  .eqhx-left{ max-width: 720px; }
  .eqhx-title{ font-size: 28px; line-height: 1.15; margin-bottom: 8px; }
  .eqhx-price{ font-size: 22px; margin: 14px 0 12px 0; }
  .eqhx-desc{ font-size: 15px; line-height: 1.6; margin-bottom: 22px; max-width: 680px; }

  .eqhx-prev, .eqhx-next{ width: 44px; height: 44px; }
  .eqhx-nav{ margin-top: 18px; }

  .eqhx-hero{
    --eqhx-glow-size: 520px;
    --eqhx-glow-opacity: .78;
  }
}

/* Mobile  REORDER: najpierw slider, potem opis */
@media (max-width: 600px){
  /* Zamiana kolejnoci: slider (right) na grze, opis (left) pod spodem */
  .eqhx-inner{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px;
    align-items: stretch;
  }
  .eqhx-right{ order: 1 !important; }
  .eqhx-left{ order: 2 !important; }

  .eqhx-title{ font-size: 24px; line-height: 1.18; margin-bottom: 6px; }
  .eqhx-price{ font-size: 20px; margin: 10px 0 8px 0; }
  .eqhx-desc{ font-size: 14px; line-height: 1.6; margin: 0 0 14px 0; max-width: 100%; }

  .eqhx-btn{ width: 100%; justify-content: center; }

  .eqhx-prev, .eqhx-next{ width: 42px; height: 42px; }
  .eqhx-nav{ margin-top: 14px; }

  .eqhx-hero{
    --eqhx-glow-size: 460px;
    --eqhx-glow-opacity: .72;
  }
}

/* Ultra-small */
@media (max-width: 380px){
  .eqhx-title{ font-size: 22px; }
  .eqhx-price{ font-size: 18px; }
  .eqhx-prev, .eqhx-next{ width: 40px; height: 40px; }

  .eqhx-hero{
    --eqhx-glow-size: 420px;
    --eqhx-glow-opacity: .68;
  }
}