/* Strona główna — compact spacing (~40% mniej pionowo vs. domyślne style) */

.page-home {
  --space-section: 3.35rem;
  --space-card: 1.05rem;
}

/* —— Top bar + nav —— */
.page-home .top {
  padding-top: .65rem;
  padding-bottom: .65rem;
}

.page-home .site-nav {
  padding-top: .9rem;
  padding-bottom: .9rem;
}

/* —— Hero —— */
.page-home .hero {
  padding-bottom: 4rem;
  min-height: clamp(17rem, 34vw, 25rem);
}

.page-home .hero-in {
  margin-top: 2rem;
}

.page-home .eyebrow,
.page-home .head > p {
  margin-bottom: .45rem;
}

.page-home .hero h1 {
  margin-bottom: .7rem;
}

.page-home .hero-in > div > p:not(.eyebrow) {
  margin-bottom: .7rem;
}

.page-home .btns {
  margin-top: 1rem;
  gap: .65rem;
}

/* —— Stats —— */
.page-home .stats {
  margin: -2.35rem auto 2rem;
  gap: .75rem;
}

.page-home .stats div {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}

/* —— Sekcje (wspólny rytm) —— */
.page-home .section,
.page-home .dark .wrap {
  padding-top: var(--space-section);
  padding-bottom: var(--space-section);
}

.page-home main > .section:not(:first-child),
.page-home #ranking.dark .wrap,
.page-home #jak-oceniamy.section,
.page-home #faq.section,
.page-home .contact-section {
  padding-top: 1.85rem;
  padding-bottom: 1.85rem;
}

.page-home .head {
  margin-bottom: 1.65rem;
}

.page-home .head h2 {
  margin-bottom: .4rem;
}

.page-home .head > span {
  line-height: 1.5;
}

/* —— Kalkulator —— */
.page-home .calculator-section {
  padding-top: 2.35rem;
}

.page-home .calculator-card {
  gap: 1.25rem;
  padding: clamp(1rem, 2.5vw, 1.65rem);
}

.page-home .calculator-copy h2 {
  margin-bottom: .5rem;
}

.page-home .calculator-controls {
  margin-top: .85rem;
  gap: .65rem;
}

.page-home .calculator-result {
  padding: 1.1rem;
}

.page-home .calculator-result > strong {
  margin: .45rem 0;
}

.page-home .calculator-result > p {
  margin-bottom: .5rem;
}

.page-home .calculator-result ul {
  gap: .4rem;
}

.page-home .calculator-result li {
  padding-top: .45rem;
}

/* —— Oferty / karty —— */
.page-home .toolbar {
  padding: .95rem;
  gap: .7rem;
}

.page-home .results-bar {
  margin: .7rem .15rem;
}

.page-home .grid {
  gap: var(--space-card);
}

.page-home .card {
  padding: 1.2rem;
}

.page-home .card h3 {
  margin-bottom: .45rem;
}

.page-home .card .tags {
  margin: .35rem 0 .55rem;
}

.page-home .empty-state {
  padding: 2rem 1.25rem;
}

/* —— Ranking —— */
.page-home .rank {
  gap: .4rem;
}

.page-home .rank-row {
  padding: .85rem 1rem;
}

/* —— Metodologia —— */
.page-home .method-grid {
  gap: .65rem;
}

.page-home .method-card {
  padding: 1rem;
}

.page-home .method-card h3 {
  margin: .65rem 0 .35rem;
}

.page-home .method-note {
  margin-top: .75rem;
  padding: .95rem 1.1rem;
}

.page-home .method-note p {
  margin: .35rem 0 .5rem;
}

.page-home .ranking-calendar {
  margin-top: .75rem;
  padding-top: .75rem;
}

.page-home .ranking-calendar-month {
  margin-bottom: .6rem;
}

/* —— FAQ —— */
.page-home .faq {
  gap: .4rem;
}

.page-home .faq button {
  padding: .95rem 3.25rem .95rem 1.15rem;
}

.page-home .answer {
  padding: 0 1.15rem .95rem;
}

/* —— Newsletter —— */
.page-home .newsletter-section {
  padding: clamp(1.65rem, 3vw, 2.35rem) 1.75rem;
}

.page-home .newsletter-inner {
  gap: .75rem;
  padding: 1.1rem 1.35rem 1.15rem;
}

.page-home .newsletter-copy .eyebrow {
  margin-bottom: .4rem;
}

.page-home .newsletter-copy h2 {
  margin-bottom: .4rem;
}

.page-home .newsletter-note {
  margin-top: .5rem;
}

.page-home .newsletter-message {
  margin-top: .5rem;
}

/* —— Kontakt —— */
.page-home .contact-inner {
  gap: .9rem;
  padding: 1.1rem 1.35rem 1.2rem;
}

.page-home .contact-form {
  gap: .5rem;
}

.page-home .contact-form-footer {
  gap: .45rem;
  margin-top: .15rem;
}

.page-home .contact-notice {
  margin-top: 0;
  padding: .65rem .8rem;
}

/* —— Stopka —— */
.page-home footer {
  padding: 2rem 1.75rem 1.65rem;
}

.page-home footer p {
  margin-top: .65rem;
}

.page-home .footer-links {
  margin: .85rem 0;
}

.page-home footer small {
  margin-top: .75rem;
}

/* —— Tablet —— */
@media (max-width: 760px) {
  .page-home {
    --space-section: 2.85rem;
  }

  .page-home .hero {
    padding-bottom: 3.25rem;
    min-height: clamp(16rem, 58vw, 22rem);
  }

  .page-home .hero-in {
    margin-top: 1.35rem;
  }

  .page-home .stats {
    margin: -1.85rem auto 1.65rem;
  }

  .page-home .calculator-section {
    padding-top: 1.85rem;
  }

  .page-home main > .section:not(:first-child),
  .page-home #ranking.dark .wrap,
  .page-home #jak-oceniamy.section,
  .page-home #faq.section,
  .page-home .contact-section {
    padding-top: 1.65rem;
    padding-bottom: .15rem;
  }

  .page-home .calculator-card {
    gap: .85rem;
  }

  .page-home .head {
    margin-bottom: 1.35rem;
  }
}

/* —— Mobile —— */
@media (max-width: 520px) {
  .page-home {
    --space-section: 2.35rem;
    --space-card: .85rem;
  }

  .page-home .hero {
    padding-bottom: 2.75rem;
    min-height: clamp(14.5rem, 68vw, 20rem);
  }

  .page-home .hero-in {
    margin-top: 1.1rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .page-home .stats {
    margin: -1.65rem auto 1.35rem;
    gap: .5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .page-home .stats div {
    padding: .95rem .65rem;
  }

  .page-home .section,
  .page-home .dark .wrap {
    padding-top: 2.35rem;
    padding-bottom: 2.35rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .page-home main > .section:not(:first-child),
  .page-home #ranking.dark .wrap,
  .page-home #jak-oceniamy.section,
  .page-home #faq.section,
  .page-home .contact-section {
    padding-top: 1.45rem;
    padding-bottom: .2rem;
  }

  .page-home .calculator-section {
    padding-top: 1.65rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .page-home .head {
    margin-bottom: 1.15rem;
  }

  .page-home .card {
    padding: 1rem;
  }

  .page-home .contact-inner {
    padding: 1rem .95rem 1.1rem;
  }

  .page-home .method-card {
    padding: .9rem;
  }

  .page-home .method-note {
    padding: .85rem;
  }



  .page-home .newsletter-section {
    padding: 1.5rem 1.15rem;
  }

  .page-home .newsletter-inner {
    padding: 1rem 1.1rem;
  }
}