/* =========================================================
   NEO BUILDER — SAFE GLOBAL VIEWPORT FIX
   File: neobuilder-global-hero-safe.css

   ВАЖЛИВО:
   Це безпечний глобальний файл.
   Він НЕ рухає hero content, НЕ міняє top/left/bottom,
   НЕ міняє flex/display/gap, НЕ чіпає mobile layout.

   Старий файл neobuilder-global-hero-system.css прибрати.
   Цей файл підключити останнім.
========================================================= */


/* 1) DESKTOP HERO HEIGHT ONLY */
@media (min-width: 576px) {
  body .hero-section,
  body .about-hero,
  body .about-page-hero,
  body .contact-hero,
  body .career-hero,
  body .green-hero,
  body .rec-hero,
  body .pam-hero,
  body .novo-hero,
  body .sluzby-hero,
  body .service-page-hero,
  body .realizace-hero,
  body .job-hero,
  body .project-hero {
    min-height: 720px;
    height: 100vh;
    overflow: hidden;
  }

  @supports (height: 100svh) {
    body .hero-section,
    body .about-hero,
    body .about-page-hero,
    body .contact-hero,
    body .career-hero,
    body .green-hero,
    body .rec-hero,
    body .pam-hero,
    body .novo-hero,
    body .sluzby-hero,
    body .service-page-hero,
    body .realizace-hero,
    body .job-hero,
    body .project-hero {
      height: 100svh;
    }
  }

  @supports (height: 100dvh) {
    body .hero-section,
    body .about-hero,
    body .about-page-hero,
    body .contact-hero,
    body .career-hero,
    body .green-hero,
    body .rec-hero,
    body .pam-hero,
    body .novo-hero,
    body .sluzby-hero,
    body .service-page-hero,
    body .realizace-hero,
    body .job-hero,
    body .project-hero {
      height: 100dvh;
    }
  }

  body .hero-layout,
  body .about-hero-layout,
  body .about-page-layout,
  body .contact-hero-layout,
  body .career-hero-layout,
  body .green-hero-layout,
  body .rec-hero-layout,
  body .pam-hero-layout,
  body .novo-hero-layout,
  body .sluzby-hero-layout,
  body .service-page-layout,
  body .service-page-hero-layout,
  body .realizace-hero-layout,
  body .job-hero-layout,
  body .project-hero-layout {
    min-height: 100%;
    height: 100%;
  }
}


/* 2) DESKTOP BACKGROUND HEIGHT ONLY */
@media (min-width: 576px) {
  body .about-hero-bg,
  body .about-page-hero-img,
  body .contact-hero-bg,
  body .career-hero-bg,
  body .green-hero-img,
  body .green-hero-bg,
  body .rec-hero-img,
  body .rec-hero-bg,
  body .pam-hero-bg,
  body .novo-hero-bg,
  body .sluzby-hero-bg,
  body .service-page-hero-desktop-img,
  body .service-page-hero-mobile-img,
  body .service-page-hero-bg,
  body .realizace-hero-bg,
  body .job-hero-bg,
  body .project-hero-bg,
  body .project-hero img {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
  }
}


/* 3) LOW DESKTOP HEIGHT — SCALE TEXT ONLY */
@media (min-width: 900px) and (max-height: 820px) {
  body .hero-title,
  body .about-hero-title,
  body .about-page-title,
  body .contact-hero-title,
  body .career-hero-title,
  body .green-hero-title,
  body .rec-hero-title,
  body .pam-hero-title,
  body .novo-hero-title,
  body .sluzby-hero-title,
  body .service-page-title,
  body .realizace-hero-title,
  body .job-hero-title,
  body .project-hero-title {
    font-size: clamp(64px, 7vw, 112px);
    line-height: .96;
  }

  body .hero-desc,
  body .about-hero-text,
  body .about-page-text,
  body .contact-hero-text,
  body .career-hero-text,
  body .green-hero-text,
  body .rec-hero-text,
  body .pam-hero-text,
  body .novo-hero-text,
  body .sluzby-hero-text,
  body .service-page-text,
  body .realizace-hero-text,
  body .job-hero-desc,
  body .project-hero-text {
    font-size: 15px;
    line-height: 24px;
  }
}

@media (min-width: 900px) and (max-height: 700px) {
  body .hero-title,
  body .about-hero-title,
  body .about-page-title,
  body .contact-hero-title,
  body .career-hero-title,
  body .green-hero-title,
  body .rec-hero-title,
  body .pam-hero-title,
  body .novo-hero-title,
  body .sluzby-hero-title,
  body .service-page-title,
  body .realizace-hero-title,
  body .job-hero-title,
  body .project-hero-title {
    font-size: clamp(52px, 6vw, 86px);
    line-height: .96;
  }

  body .hero-desc,
  body .about-hero-text,
  body .about-page-text,
  body .contact-hero-text,
  body .career-hero-text,
  body .green-hero-text,
  body .rec-hero-text,
  body .pam-hero-text,
  body .novo-hero-text,
  body .sluzby-hero-text,
  body .service-page-text,
  body .realizace-hero-text,
  body .job-hero-desc,
  body .project-hero-text {
    font-size: 14px;
    line-height: 22px;
  }
}


/* 4) VERY LOW DESKTOP HEIGHT */
@media (min-width: 900px) and (max-height: 600px) {
  body .hero-section,
  body .about-hero,
  body .about-page-hero,
  body .contact-hero,
  body .career-hero,
  body .green-hero,
  body .rec-hero,
  body .pam-hero,
  body .novo-hero,
  body .sluzby-hero,
  body .service-page-hero,
  body .realizace-hero,
  body .job-hero,
  body .project-hero {
    height: auto;
    min-height: 640px;
  }

  body .hero-layout,
  body .about-hero-layout,
  body .about-page-layout,
  body .contact-hero-layout,
  body .career-hero-layout,
  body .green-hero-layout,
  body .rec-hero-layout,
  body .pam-hero-layout,
  body .novo-hero-layout,
  body .sluzby-hero-layout,
  body .service-page-layout,
  body .service-page-hero-layout,
  body .realizace-hero-layout,
  body .job-hero-layout,
  body .project-hero-layout {
    min-height: 640px;
  }
}


/* 5) MOBILE SAFE — ONLY MODERN MIN-HEIGHT SUPPORT */
@media (max-width: 575px) {
  @supports (height: 100svh) {
    body .hero-section,
    body .about-hero,
    body .about-page-hero,
    body .contact-hero,
    body .career-hero,
    body .green-hero,
    body .rec-hero,
    body .pam-hero,
    body .novo-hero,
    body .sluzby-hero,
    body .service-page-hero,
    body .realizace-hero,
    body .job-hero,
    body .project-hero {
      min-height: 100svh;
    }
  }
}


/* TEST MARKER */
body {
  --neo-global-hero-safe-loaded: 1;
}