.elementor-widget .zestawy-02-hero { display: flex; flex-direction: column-reverse; overflow: hidden; background: var(--color-bg); }
.elementor-widget .zestawy-02-hero__content { position: relative; z-index: var(--z-base); padding: var(--space-xl) var(--gutter) var(--space-2xl); }
.elementor-widget .zestawy-02-hero__heart { display: block; width: var(--icon-m); height: var(--icon-m); margin-bottom: var(--space-s); fill: var(--color-lavender-500); stroke: none; animation: zestawy-02-beat 2.4s var(--ease-in-out) infinite; }
@keyframes zestawy-02-beat { 0%, 100% { transform: scale(1); } 12% { transform: scale(var(--grow-scale)); } 24% { transform: scale(1); } }
.elementor-widget .zestawy-02-hero__title { margin: 0; font-family: var(--font-serif); font-weight: var(--weight-regular); font-size: var(--text-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-tight); color: var(--color-heading); }
.elementor-widget .zestawy-02-hero__accent { color: var(--color-accent-display); }
.elementor-widget .zestawy-02-hero__divider { display: flex; align-items: center; gap: var(--space-xs); max-width: var(--measure-narrow); margin: var(--space-m) 0; }
.elementor-widget .zestawy-02-hero__divider::before, .elementor-widget .zestawy-02-hero__divider::after { content: ""; flex: 1; height: var(--border-width); background: var(--color-line-strong); }
.elementor-widget .zestawy-02-hero__sprig { flex: none; width: var(--icon-m); height: var(--icon-m); fill: none; stroke: var(--color-sage-700); stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; }
.elementor-widget .zestawy-02-hero__lead { max-width: var(--measure-narrow); margin: 0 0 var(--space-l); font-size: var(--text-body); line-height: var(--leading-body); color: var(--color-text); }
.elementor-widget .zestawy-02-hero__btn { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: var(--control-height); padding-inline: var(--space-l); border-radius: var(--radius-s); background: var(--color-action); color: var(--color-on-action); font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); text-decoration: none; box-shadow: var(--shadow-1); transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.elementor-widget .zestawy-02-hero__btn:hover { background: var(--color-action-hover); transform: translateY(var(--lift)); box-shadow: var(--shadow-2); }
.elementor-widget .zestawy-02-hero__btn:active { background: var(--color-action-active); transform: scale(var(--press-scale)); }
.elementor-widget .zestawy-02-hero__arrow { width: var(--space-s); height: var(--space-s); fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur-fast) var(--ease-out); }
.elementor-widget .zestawy-02-hero__btn:hover .zestawy-02-hero__arrow { transform: translateX(var(--space-3xs)); }
.elementor-widget .zestawy-02-hero__media { position: relative; aspect-ratio: 2 / 1; overflow: hidden; }
.elementor-widget .zestawy-02-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: zestawy-02-drift 14s var(--ease-in-out) infinite alternate; }
@keyframes zestawy-02-drift { from { transform: scale(1); } to { transform: scale(var(--zoom-hover)); } }
@media (min-width: 1024px) {
  .elementor-widget .zestawy-02-hero { flex-direction: row; align-items: stretch; min-height: var(--hero-min); }
  .elementor-widget .zestawy-02-hero__content { flex: 0 0 38%; align-self: center; padding: var(--space-3xl) var(--space-xl) var(--space-3xl) max(var(--gutter), calc((100vw - var(--container)) / 2)); }
  .elementor-widget .zestawy-02-hero__media { flex: 1; aspect-ratio: auto; }
  .elementor-widget /* Gradient z powodem: zdjęcie miękko wtapia się w kremowe tło kolumny tekstu, .elementor-widget jak na makiecie */
  .zestawy-02-hero__media::before { content: ""; position: absolute; inset: 0; z-index: var(--z-base); background: linear-gradient(90deg, var(--color-bg), transparent 30%); }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget .zestawy-02-hero__heart, .elementor-widget .zestawy-02-hero__img { animation: none; }
  .elementor-widget .zestawy-02-hero__btn, .elementor-widget .zestawy-02-hero__arrow { transition-duration: 0s; }
  .elementor-widget .zestawy-02-hero__btn:hover, .elementor-widget .zestawy-02-hero__btn:active { transform: none; }
}
