/**
 * Obozy letnie — tylko integracja z layoutem Maris (treść + style inline z eksportu WP).
 */

.site-main--obozy {
  padding-top: 0;
  padding-bottom: 0;
  max-width: none;
}

.obozy-letnie-root {
  position: relative;
  width: 100%;
  overflow-x: hidden;
}

.hero-section {
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.14), transparent 24%),
    radial-gradient(circle at 82% 0%, rgba(255, 215, 0, 0.14), transparent 26%);
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 1;
}

.hero-title,
.hero-subtitle,
.hero-stats,
.hero-buttons {
  position: relative;
  z-index: 1;
}

.hero-stats > *,
.camp-card,
.activity-card,
.facility-card,
.destination-card,
.gallery-grid > * {
  box-shadow: 0 18px 42px rgba(7, 20, 43, 0.18);
}

.hero-buttons .btn,
.btn-camp-signup,
.program-signup-buttons .btn {
  box-shadow: 0 16px 30px rgba(7, 20, 43, 0.18);
}

/* Nagłówki sekcji (badge, tytuł, lead) — wyśrodkowanie; karty programu / listy bez zmiany układu */
.obozy-letnie-root .section-header {
  box-sizing: border-box;
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
  text-align: center;
}

.obozy-letnie-root .section-header .section-badge,
.obozy-letnie-root .section-header .section-title,
.obozy-letnie-root .section-header .section-subtitle {
  text-align: center;
}

.section-title {
  line-height: 1.1;
}

.camp-card,
.activity-card,
.facility-card,
.destination-card {
  border-radius: 28px !important;
  overflow: hidden;
}

.program-tabs-wrapper,
.program-content,
.gallery-section .container,
.destination-section .container {
  position: relative;
  z-index: 1;
}

/* Ujednolicenie typografii i ikon */
.obozy-letnie-root,
.obozy-letnie-root button,
.obozy-letnie-root input,
.obozy-letnie-root textarea,
.obozy-letnie-root select {
  font-family: var(--font-sans) !important;
}

.obozy-letnie-root h1,
.obozy-letnie-root h2,
.obozy-letnie-root h3,
.obozy-letnie-root h4,
.obozy-letnie-root h5,
.obozy-letnie-root h6 {
  font-family: var(--font-heading) !important;
}

.obozy-letnie-root img.emoji {
  width: 1.05em !important;
  height: 1.05em !important;
  vertical-align: -0.12em !important;
}

.sold-out-alert-global .emoji,
.program-tab .emoji,
.activity-icon .emoji,
.facility-title .emoji,
.destination-icon .emoji,
.highlight-icon .emoji {
  width: 1.25rem !important;
  height: 1.25rem !important;
}

.sold-out-alert-global .emoji {
  width: 1.35rem !important;
  height: 1.35rem !important;
}

/* Wyśrodkowanie sekcji treści (nagłówki, siatki, karty) */
.obozy-letnie-root #program .container,
.obozy-letnie-root #osrodki .container,
.obozy-letnie-root #o-miejscowosciach .container,
.obozy-letnie-root #galeria .container,
.obozy-letnie-root #dlaczego-my .container,
.obozy-letnie-root #terminy .container,
.obozy-letnie-root #kontakt .container {
  text-align: center;
}

.obozy-letnie-root .facilities-grid,
.obozy-letnie-root .benefits-grid,
.obozy-letnie-root .gallery-grid,
.obozy-letnie-root .timeline-grid,
.obozy-letnie-root .contact-grid,
.obozy-letnie-root .activities-grid {
  margin-inline: auto;
  justify-items: stretch;
}

.obozy-letnie-root .facility-content,
.obozy-letnie-root .facility-list li,
.obozy-letnie-root .destination-block,
.obozy-letnie-root .destination-block p,
.obozy-letnie-root .timeline-item,
.obozy-letnie-root .highlight-item,
.obozy-letnie-root .highlight-text {
  text-align: left;
}

.obozy-letnie-root .destination-header {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.obozy-letnie-root .destination-card {
  max-width: 56rem;
  margin-inline: auto;
}

/* Program obozowy: ikona + tytuł obok siebie (jak w inline CSS), bez wymuszania kolumny */

@media (max-width: 768px) {
  .obozy-letnie-root .destination-header {
    align-items: center;
  }
}
