/* Reserve space for page containers before browser initialization. */

/* --- BlogPage --- */
body.blog-page #hero-container {
  min-height: 55vh;
  /* Matches Hero CSS */
}

@media (max-width: 768px) {
  body.blog-page #hero-container {
    min-height: 60vh;
  }
}

body.blog-page #list-container {
  min-height: 800px;
  /* Prevents footer jump */
}

/* --- BlogArticlePage --- */
body.blog-article-page #article-container {
  min-height: 100vh;
  /* Article content will fill screen */
}

/* --- TrainingsPage --- */
body.trainings-page #hero-container {
  min-height: 600px;
}

body.trainings-page #service-section-container {
  min-height: 500px;
}

/* --- Shared Containers --- */
#header-container {
  min-height: 72px;
  /* Height of the fixed header bar, the same at every width (the brand name does not wrap, Header.css) */
  /* Avoid layout containment: the header includes fixed elements. */
}

#footer-container {
  min-height: 400px;
  /* Approximate footer height */
  contain: layout;
}
