/* ZSB Responsive Styles — mobile/tablet only, desktop unchanged */

/* ===== TABLET (max-width: 1199px) ===== */
@media (max-width: 1199px) {
  .elementor-sticky { width: 100% !important; max-width: 100% !important; }
  .zsb-nav { padding: 0 32px !important; }
  .zsb-nav-links { gap: 32px !important; }
  .zsb-hero { height: 700px !important; }
  .zsb-hero-img { left: 100px !important; width: 1100px !important; }
  .zsb-hero-title-1 { font-size: 140px !important; line-height: 120px !important; top: 520px !important; }
  .zsb-hero-title-2 { font-size: 140px !important; line-height: 120px !important; top: 640px !important; }
  .zsb-hero-cta { left: auto !important; right: 32px !important; top: 380px !important; }
  .zsb-hero-scroll { left: 640px !important; top: 660px !important; }
  .zsb-tagline { padding: 80px 32px 80px !important; }
  .zsb-tagline-words { flex: 0 0 480px !important; }
  .zsb-tagline-words p { font-size: 80px !important; line-height: 74px !important; letter-spacing: -2px !important; }
  .zsb-projekte-header { padding: 80px 32px 0 !important; }
  .zsb-projekte-header p { font-size: 80px !important; line-height: 70px !important; letter-spacing: -2px !important; }
  .zsb-project-row { height: auto !important; min-height: 400px !important; }
  .zsb-project-img { flex: 0 0 560px !important; }
  .zsb-project-img img { width: auto !important; height: 100% !important; max-width: none !important; }
  .zsb-project-info { flex: 1 !important; }
  .zsb-values { height: auto !important; padding-bottom: 100px !important; }
  .zsb-values-subtitle { top: 80px !important; }
  .zsb-values-inner { top: 128px !important; }
  .zsb-values-inner p { font-size: 80px !important; line-height: 74px !important; }
  .zsb-vision-text { padding: 60px 32px 40px !important; }
  .zsb-vision-text > div { font-size: 80px !important; line-height: 72px !important; letter-spacing: -2px !important; }
  .zsb-banner { height: 560px !important; }
  .zsb-news { padding: 60px 32px 80px !important; }
  .zsb-news-heading > div { font-size: 80px !important; line-height: 72px !important; letter-spacing: -2px !important; }
  .zsb-contact { min-height: unset !important; }
  .zsb-contact-left { flex: 0 0 480px !important; padding: 80px 32px !important; }
  .zsb-contact-heading { font-size: 60px !important; line-height: 54px !important; letter-spacing: -1.5px !important; }
  .zsb-contact-right { padding: 60px 40px !important; }
  .zsb-footer { padding: 60px 32px 0 !important; }
  .zsb-footer-address { flex: 0 0 240px !important; }
}

/* ===== MOBILE (max-width: 767px) ===== */
@media (max-width: 767px) {
  .elementor-sticky { width: 100% !important; max-width: 100% !important; }

  /* NAV */
  .zsb-nav {
    height: auto !important;
    min-height: 64px !important;
    padding: 0 20px !important;
  }
  .zsb-nav-links { display: none !important; }
  .zsb-nav-mobile-kontakt { display: inline-flex !important; align-items: center !important; }

  /* HERO — desktop hidden, mobile shown */
  .zsb-hero-desktop { display: none !important; }
  .zsb-hero-mobile { display: block !important; }

  /* TAGLINE */
  .zsb-tagline { padding: 56px 20px 60px !important; }
  .zsb-tagline-inner { flex-direction: column !important; gap: 36px !important; }
  .zsb-tagline-words { flex: none !important; width: 100% !important; }
  .zsb-tagline-words p { font-size: 58px !important; line-height: 53px !important; letter-spacing: -2px !important; }
  .zsb-tagline-text { flex: none !important; width: 100% !important; padding-top: 0 !important; }
  .zsb-tagline-cta { margin-top: 36px !important; }

  /* PROJEKTE */
  .zsb-projekte-header { padding: 60px 20px 0 !important; }
  .zsb-projekte-header p { font-size: 58px !important; line-height: 53px !important; letter-spacing: -2px !important; }
  .zsb-project-row { flex-direction: column !important; height: auto !important; }
  .zsb-project-img {
    flex: none !important;
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
  }
  .zsb-project-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; left: 0 !important; top: 0 !important; }
  .zsb-project-info {
    flex: none !important;
    width: 100% !important;
    border-left: none !important;
    border-right: none !important;
    border-top: 1px solid #e8e8e8 !important;
    min-height: 200px !important;
    padding-bottom: 70px !important;
  }
  .zsb-project-detail { padding: 32px 20px 0 !important; }
  .zsb-project-meta {
    left: 20px !important;
    right: 20px !important;
    bottom: 24px !important;
  }

  /* VALUES — desktop hidden, mobile shown */
  .zsb-values-desktop { display: none !important; }
  .zsb-values-mobile { display: block !important; }

  /* VISION SUBTEXT */
  .zsb-vision-text { padding: 56px 20px 40px !important; }
  .zsb-vision-text > div { font-size: 54px !important; line-height: 50px !important; letter-spacing: -2px !important; }

  /* BANNER */
  .zsb-banner { height: 280px !important; }

  /* NEWS */
  .zsb-news { padding: 56px 20px 80px !important; }
  .zsb-news-heading > div { font-size: 54px !important; line-height: 50px !important; letter-spacing: -2px !important; }
  .zsb-news-grid { grid-template-columns: 1fr !important; }
  .zsb-news-grid > div { border-right: none !important; border-bottom: 1px solid #bbb !important; }
  .zsb-news-grid > div:last-child { border-bottom: none !important; }
  .zsb-news-item-img { height: 260px !important; }

  /* CONTACT */
  .zsb-contact { flex-direction: column !important; min-height: unset !important; }
  .zsb-contact-left {
    flex: none !important;
    width: 100% !important;
    padding: 56px 20px 48px !important;
  }
  .zsb-contact-heading {
    font-size: 52px !important;
    line-height: 48px !important;
    letter-spacing: -1.5px !important;
  }
  .zsb-contact-right {
    flex: none !important;
    width: 100% !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
  }

  /* FOOTER */
  .zsb-footer { padding: 48px 20px 0 !important; }
  .zsb-footer-top { flex-direction: column !important; gap: 36px !important; }
  .zsb-footer-logo { flex: none !important; }
  .zsb-footer-address { flex: none !important; }
  .zsb-footer-nav {
    margin-left: 0 !important;
    text-align: left !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 28px !important;
  }
  .zsb-footer-nav a { display: inline !important; margin-bottom: 10px !important; }
  .zsb-footer-bottom {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 24px 0 24px !important;
    margin-top: 48px !important;
  }
}
