/* Stage 020 public Val-first shell. Loaded after the shared product system. */
body[data-page-mode]:has(.landing-shell) > .public-val-nav {
  grid-template-columns: 1fr auto !important;
  height: 72px !important;
  min-height: 72px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  background: transparent !important;
  border-bottom: 0 !important;
}
body[data-page-mode]:has(.landing-shell) .public-val-nav-actions {
  grid-column: 2 !important;
  justify-self: end !important;
}
body[data-page-mode]:has(.landing-shell) .landing-shell {
  width: min(760px, calc(100% - 32px)) !important;
  min-height: calc(100vh - 170px) !important;
  margin: 0 auto !important;
  padding: 54px 0 70px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  background: transparent !important;
}
body[data-page-mode]:has(.landing-shell) .landing-shell .hero {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
body[data-page-mode]:has(.landing-shell) .landing-shell .hero h1 {
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 5px !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
body[data-page-mode]:has(.landing-shell) .landing-shell .hero p {
  max-width: none !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
body[data-page-mode]:has(.landing-shell) #searchForm.public-val-composer {
  position: sticky !important;
  bottom: 18px !important;
  z-index: 12 !important;
  width: min(700px, 100%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  justify-self: auto !important;
  margin: 0 auto !important;
  padding: 9px 10px 9px 16px !important;
  border: 1px solid #d9e2f2 !important;
  border-radius: 15px !important;
  background: #fff !important;
}
body[data-page-mode]:has(.landing-shell) .public-val-composer input#publicValInput {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 600px) {
  body[data-page-mode]:has(.landing-shell) > .public-val-nav {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 16px !important;
  }
  body[data-page-mode]:has(.landing-shell) .landing-shell {
    min-height: calc(100vh - 150px) !important;
    padding: 40px 0 44px !important;
  }
  body[data-page-mode]:has(.landing-shell) .landing-shell .hero h1 {
    font-size: 32px !important;
  }
  body[data-page-mode]:has(.landing-shell) #searchForm.public-val-composer {
    bottom: 10px !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
  }
}
