/* Scoped additions to the supplied Landwirte homepage. */
.home-page [data-land-owner-form] .land-parcel-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; grid-column: 1 / -1; }
.home-page #land-check-form .land-check__surface--contact { grid-template-columns: 1fr; }
.home-page [data-land-owner-form] input, .home-page [data-land-owner-form] select { min-width: 0; }
.home-page .land-check-sticky .land-check-sticky__shell { grid-template-columns: minmax(140px,.7fr) minmax(0,2fr) auto; max-height: calc(100svh - 32px); overflow-y: auto; }
.home-page .land-check-sticky .land-check-sticky__status { display: none; }
.home-page .land-check-sticky .land-check-sticky__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-page .land-check-sticky[data-step="1"] .land-check-sticky__field:first-child,
.home-page .land-check-sticky[data-step="3"] .land-check-sticky__field:first-child { grid-column: 1 / -1; }
.home-page .land-check-sticky .land-check-sticky__consent { grid-column: 1 / -1; }
.home-page .land-check-sticky [aria-busy="true"], .home-page [data-land-owner-form] button:disabled { cursor: wait; }

/* Pure CSS: image stays in view beside normally scrolling process milestones. */
.home-page #prozess.home-process--native { overflow: visible; }
.home-page #prozess.home-process--native > .site-container { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: start; gap: 3rem clamp(2rem,5vw,5rem); }
.home-page #prozess.home-process--native .home-process__hero { display: contents; }
.home-page #prozess.home-process--native .home-process__copy { grid-column: 1 / -1; max-width: 54rem; }
.home-page #prozess.home-process--native .home-process__visual { grid-column: 1; grid-row: 2; align-self: start; }
.home-page #prozess.home-process--native .home-process__timeline { grid-column: 2; grid-row: 2; display: block; margin: 0; }
.home-page #prozess.home-process--native .home-process__project,
.home-page #prozess.home-process--native .home-process__operation { display: block; padding: 0; }
.home-page #prozess.home-process--native .home-process__route,
.home-page #prozess.home-process--native .home-process__divider { display: none; }
.home-page #prozess.home-process--native .home-process__phase-head { margin-bottom: 2.5rem; }
.home-page #prozess.home-process--native .home-process__steps { display: block; margin: 0 0 0 .5rem; padding: 0; border-left: 1px solid var(--line-strong); list-style: none; }
.home-page #prozess.home-process--native .home-process__step { position: relative; padding: 0 0 4rem 2rem; min-height: 12rem; }
.home-page #prozess.home-process--native .home-process__step-head { position: static; height: auto; padding: 0; }
.home-page #prozess.home-process--native .home-process__step-head::before { display: none; }
.home-page #prozess.home-process--native .home-process__step h4 { font-size: clamp(1.5rem,2.5vw,2rem); }
.home-page #prozess.home-process--native .home-process__node { top: .5rem; bottom: auto; left: -.375rem; }
.home-page #prozess.home-process--native .home-process__description { margin-top: 1rem; }
.home-page #prozess.home-process--native .home-process__operation { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--line-strong); }
.home-page #prozess.home-process--native .home-process__operation-head { padding-left: 2rem; }
.home-page #prozess.home-process--native .home-process__operation .home-process__node { top: .5rem; left: 0; }
.home-page #prozess.home-process--native .home-process__bracket { text-align: left; }
@media (min-width:951px) and (min-height:650px) {
  .home-page #prozess.home-process--native .home-process__visual { position: sticky; top: 112px; }
  .home-page #prozess.home-process--native .home-process__image { max-height: calc(100svh - 240px); }
}
@media (max-width:950px) {
  .home-page #prozess.home-process--native > .site-container { display: block; }
  .home-page #prozess.home-process--native .home-process__hero { display: block; }
  .home-page #prozess.home-process--native .home-process__visual { position: static; margin-top: 2rem; }
  .home-page #prozess.home-process--native .home-process__timeline { margin-top: 3rem; }
  .home-page #prozess.home-process--native .home-process__step { min-height: 0; padding-bottom: 3rem; }
}
@media (max-width:640px) {
  .home-page .land-check-sticky .land-check-sticky__shell { grid-template-columns: minmax(0,1fr) auto; max-height: calc(var(--sticky-vv-height,100svh) - 16px); }
  .home-page .land-check-sticky .land-check-sticky__copy { grid-column: 1 / -1; }
  .home-page .land-check-sticky .land-check-sticky__fields { grid-column: 1; grid-template-columns: 1fr; min-width: 0; }
  .home-page .land-check-sticky .land-check-sticky__actions { grid-column: 2; align-self: end; }
  .home-page .land-check-sticky.is-keyboard-open .land-check-sticky__fields,
  .home-page .land-check-sticky.is-keyboard-open .land-check-sticky__actions { grid-row: 2; }
  .home-page [data-land-owner-form] .land-parcel-fields { grid-template-columns: 1fr; }
}


/* Form field polish (hero steps + lower contact form): keep iconless fields full-width. */
.home-page [data-land-owner-form] .land-check__field,
.home-page [data-land-owner-form] .land-check__input-shell {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.home-page [data-land-owner-form] .land-check__input-shell:not(:has(> .land-check__field-icon)) {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.home-page [data-land-owner-form] .land-check__input-shell:not(:has(> .land-check__field-icon)) input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0;
}
.home-page [data-land-owner-form] .land-check__input-shell:not(:has(> .land-check__field-icon)) select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 46px;
  padding: 0 2.25rem 0 0;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: var(--form-ink);
  cursor: pointer;
}
/* Each parcel field uses the same surface treatment as Gemarkung. */
.home-page [data-land-owner-form] .land-parcel-fields {
  gap: 12px;
  align-items: stretch;
}
.home-page [data-land-owner-form] .land-parcel-fields > .land-check__field,
.home-page #land-check-form [data-step="2"] > .land-check__field {
  padding: 17px 18px 15px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(24,34,29,.075);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.home-page [data-land-owner-form] .land-check__field-label {
  overflow-wrap: anywhere;
}
.home-page [data-land-owner-form] .land-check__select-wrap:not(:has(> .land-check__field-icon)) {
  grid-template-columns: minmax(0,1fr);
}
.home-page [data-land-owner-form] .land-check__select-wrap:not(:has(> .land-check__field-icon))::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
@media (max-width:640px) {
  .home-page [data-land-owner-form] .land-parcel-fields > .land-check__field,
  .home-page #land-check-form [data-step="2"] > .land-check__field {
    padding: 12px 13px 10px;
    border-radius: 13px;
  }
}
