@layer components {
.hero--overview {
  background: var(--gradient-hero);
}
.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}
.hero-media {
  display: flex;
  justify-content: center;
}
.hero-figure {
  max-width: 440px;
}
@media (max-width: 767px) {
  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-media {
    order: -1;
  }
}
.opis-grid {
  align-items: flex-start;
}
.opis-highlights {
  display: flex;
}
.opis-card {
  width: 100%;
}
.opis-list {
  display: grid;
  gap: var(--space-2);
  font-size: 0.95rem;
}
.opis-list li span {
  font-weight: 600;
  color: var(--gray-800);
}
.opis-cta {
  margin-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.features-grid .feature-card {
  min-height: 100%;
}
.feature-link {
  display: inline-flex;
  margin-top: var(--space-3);
  font-size: 0.9rem;
  color: var(--color-primary-dark);
}
.section-soft {
  background-color: var(--color-surface-muted);
}
.zadymiarze-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr);
  gap: var(--space-6);
  align-items: center;
}
.zadymiarze-figure {
  max-width: 420px;
}
.zadymiarze-slider {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.zadymiarze-slides {
  position: relative;
}
.zadymiarz-slide {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  transition: opacity var(--transition-base), transform var(--transition-base);
  transform: translateX(6px);
}
.zadymiarz-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
  transform: translateX(0);
}
.zadymiarze-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.zadymiarze-dots {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.zadymiarze-dots .dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background-color: var(--gray-300);
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast), width var(--transition-fast);
}
.zadymiarze-dots .dot.is-active {
  width: 18px;
  background-image: var(--gradient-primary);
}
.slide-meta {
  margin-top: var(--space-3);
  display: grid;
  gap: 0.35rem;
  font-size: 0.9rem;
}
.slide-meta span {
  font-weight: 600;
  color: var(--gray-700);
}
@media (max-width: 900px) {
  .zadymiarze-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
  .zadymiarze-visual {
    order: -1;
    justify-self: center;
  }
}
.galeria-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.galeria-card {
  padding: var(--space-4);
}
.galeria-caption {
  margin-top: var(--space-3);
  font-size: 0.9rem;
  color: var(--color-text-muted);
}
.guides-grid .guide-card {
  min-height: 100%;
}
.guide-list {
  margin-top: var(--space-3);
  display: grid;
  gap: 0.35rem;
  font-size: 0.92rem;
}
.top-postacie-grid .top-postac-card {
  min-height: 100%;
}
.opinie-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-4);
}
.opinia-card blockquote {
  font-size: 0.96rem;
  color: var(--gray-700);
  margin-bottom: var(--space-3);
}
.opinia-author {
  display: block;
  font-weight: 600;
}
.opinia-meta {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}
.faq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
}
.news-grid .news-card {
  min-height: 100%;
}
.newsletter-wrapper {
  max-width: 840px;
}
.newsletter-content {
  background: var(--gradient-card);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  box-shadow: var(--shadow-md);
}
.newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: flex-end;
  margin-top: var(--space-4);
}
.newsletter-fields {
  flex: 1 1 220px;
}
.newsletter-label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: 0.9rem;
  color: var(--gray-700);
}
.newsletter-submit {
  flex: 0 0 auto;
}
.newsletter-note {
  margin-top: var(--space-3);
  font-size: 0.85rem;
}
.newsletter-note a {
  color: var(--color-primary-dark);
  text-decoration: underline;
}
.download-section {
  background-color: var(--color-surface);
}
.download-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}
.download-visual {
  display: flex;
  justify-content: center;
}
.download-figure {
  max-width: 360px;
}
.download-actions {
  margin-top: var(--space-4);
}
.download-note {
  margin-top: var(--space-2);
  font-size: 0.9rem;
  color: var(--color-text-muted);
}
@media (max-width: 900px) {
  .download-inner {
    grid-template-columns: minmax(0, 1fr);
  }
}
.section-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--space-4);
}
.section-header-row .btn {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .section-header-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .newsletter-content {
    padding: var(--space-5);
  }
}
}
