/* ==========================================================================
   Typografia redakcyjna — ładowana w base.html PO arkuszach podstron
   (extra_css), a przed motywem sezonowym, żeby w jednym miejscu nadpisać
   rozproszone deklaracje fontów nagłówków stron.

   Zasada: szeryf (Fraunces, --font-serif) tylko dla nagłówków stron i sekcji —
   tytułów, które "otwierają" treść. Karty, przyciski, filtry, panele i
   etykiety zostają na bezszeryfowym Inter (--font-display / --font-body).
   ========================================================================== */

:is(
  .hero-v2-title,
  .section-title,
  .promoted-title,
  .blog-home-title,
  .listing-h1,
  .detail-title,
  .post-detail-title,
  .blog-title,
  .post-related-title,
  .trip-header h1,
  .trip-public-hero h1,
  .trip-section-title,
  .about-hero h1,
  .about-section-label h2,
  .faq-hero h1,
  .contact-hero h1,
  .legal-hero h1,
  .legal-section-header h2,
  .saved-header h1,
  .feed-header h1,
  .places-title,
  .form-page-title,
  .sub-hero__title,
  .promo-hero__title,
  .profile-list-header h1,
  .err404-title,
  .season-section-title,
  .cta-text h3,
  .auth-header-title
) {
  font-family: var(--font-serif);
  font-weight: 600;
  font-optical-sizing: auto;
  letter-spacing: -0.015em;
}

/* Jedna skala H1 dla podstron (listy, blog, planer, zapisane, strony
   informacyjne, formularze) — wcześniej 22–36px zależnie od pliku, a H1 listy
   był mniejszy od H2 sekcji na stronie głównej. Wygrywa z regułami w plikach
   aplikacji (także mobilnymi), bo ten arkusz ładuje się po nich. */
:is(
  .listing-h1,
  .blog-title,
  .trip-header h1,
  .trip-public-hero h1,
  .saved-header h1,
  .feed-header h1,
  .about-hero h1,
  .faq-hero h1,
  .contact-hero h1,
  .legal-hero h1,
  .places-title,
  .form-page-title,
  .profile-list-header h1,
  .sub-hero__title,
  .promo-hero__title
) {
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.12;
}
.detail-title { font-size: clamp(28px, 3.4vw, 38px); line-height: 1.12; }
.hero-v2-title { line-height: 1.05; }
:is(.section-title, .promoted-title, .blog-home-title) { font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; }

/* Nagłówek sekcji bez kolorowej kreski pod spodem — sam krój niesie hierarchię. */
.section-title { padding-bottom: 0; }
.section-title::after { display: none; }
.section-subtitle { margin-top: 6px; font-size: 15px; color: var(--muted-fg); }

/* Jeden wzór etykiety nad nagłówkiem (eyebrow). */
:is(.promoted-eyebrow, .blog-home-eyebrow, .how-step-eyebrow, .wn-eyebrow, .trip-public-hero-eyebrow) {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-fg);
}
