.elementor-widget .home-06-ritual {
  display: grid;
  background: var(--color-bg);
  border-bottom: var(--border-width) solid var(--color-line);
}
.elementor-widget .home-06-ritual__photo {
  display: flex;
  align-items: flex-end;
  aspect-ratio: 3 / 2;
  padding: var(--space-s);
  background-color: var(--color-placeholder);
  background-image: repeating-linear-gradient(135deg, var(--color-placeholder-hatch) 0 var(--border-width), transparent var(--border-width) var(--space-s));
}
.elementor-widget .home-06-ritual__photo {
  position: relative;
  overflow: hidden;
}
.elementor-widget .home-06-ritual__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.elementor-widget .home-06-ritual__content {
  padding: var(--space-2xl) var(--gutter) var(--space-l);
}
.elementor-widget .home-06-ritual__eyebrow {
  margin: 0 0 var(--space-xs);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  color: var(--color-accent-text);
}
.elementor-widget .home-06-ritual__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: var(--weight-regular);
  font-size: var(--text-h2);
  line-height: var(--leading-heading);
  color: var(--color-heading);
}
.elementor-widget .home-06-ritual__rule {
  display: block;
  width: var(--space-2xl);
  height: var(--border-width);
  margin-block: var(--space-m) var(--space-s);
  background: var(--color-sage-300);
}
.elementor-widget .home-06-ritual__lead {
  max-width: var(--measure);
  margin: 0 0 var(--space-m);
}
.elementor-widget .home-06-ritual__icon {
  flex: none;
  width: var(--icon-l);
  height: var(--icon-l);
  fill: none;
  stroke: currentColor;
  stroke-width: var(--icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.elementor-widget .home-06-ritual__icon--s {
  width: var(--space-s);
  height: var(--space-s);
  transition: transform var(--dur-fast) var(--ease-out);
}
.elementor-widget .home-06-ritual__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding-block: var(--space-3xs);
  color: var(--color-accent-text);
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  text-decoration: none;
  border-bottom: var(--border-width) solid transparent;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.elementor-widget .home-06-ritual__link:hover { border-bottom-color: currentColor; }
.elementor-widget .home-06-ritual__link:hover .home-06-ritual__icon--s { transform: translateX(var(--space-3xs)); }
.elementor-widget .home-06-ritual__link:active { color: var(--color-heading); }

.elementor-widget .home-06-ritual__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0 var(--gutter) var(--space-2xl);
  list-style: none;
}
.elementor-widget .home-06-ritual__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-m) var(--space-2xs);
  color: var(--color-sage-700);
  text-align: center;
  border-top: var(--border-width) solid var(--color-line);
}
.elementor-widget .home-06-ritual__step:nth-child(odd) { border-right: var(--border-width) solid var(--color-line); }
.elementor-widget .home-06-ritual__step-label {
  font-size: var(--text-small);
  font-weight: var(--weight-regular);
  color: var(--color-heading);
}

@media (min-width: 768px) {
  .elementor-widget .home-06-ritual__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .elementor-widget .home-06-ritual__step { border-right: var(--border-width) solid var(--color-line); }
  .elementor-widget .home-06-ritual__step:last-child { border-right: 0; }
}

.elementor-widget /* Łamanie siatki: zdjęcie dosunięte do lewej krawędzi ekranu, .elementor-widget reszta w kontenerze */
@media (min-width: 1024px) {
  .home-06-ritual {
    grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 5fr);
    align-items: center;
  }
  .home-06-ritual__media { align-self: stretch; }
  .home-06-ritual__photo {
    height: 100%;
    min-height: var(--media-min);
    aspect-ratio: auto;
  }
  .home-06-ritual__content { padding: var(--space-2xl) var(--space-xl); }
  .home-06-ritual__steps {
    padding: 0 max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter))) 0 0;
  }
  .home-06-ritual__step {
    padding-block: var(--space-s);
    border-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget .home-06-ritual__link, .elementor-widget .home-06-ritual__icon--s { transition-duration: 0s; }
}
