/*
  NAKAJP layout hotfix — related card completeness, form separation and
  inner form-card spacing.
  Scope is intentionally limited to the affected LP form layouts.
  Tracking, attribution and submit logic are not affected.
*/

.nakajp-lp003 .form-box > form[data-nakajp-lead-form],
.seo-interior-page .form-shell > form[data-nakajp-lead-form],
.brand-home-page .form-shell > form[data-nakajp-lead-form] {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  padding: 26px !important;
  border-radius: 20px;
}

.nakajp-lp003 .form-box > .text-center + form[data-nakajp-lead-form] {
  margin-top: 28px;
}

.nakajp-lp003 .nakajp-after-submit {
  text-align: left;
}

.nakajp-lp003 .nakajp-after-submit h3 {
  text-align: center;
}

.seo-interior-page .form-shell > *,
.seo-interior-page .lead-form .form-grid,
.seo-interior-page .lead-form .form-field,
.brand-home-page .form-shell > *,
.brand-home-page .lead-form .form-grid,
.brand-home-page .lead-form .form-field {
  min-width: 0;
}

.seo-interior-page .lead-form :is(input, select, textarea),
.brand-home-page .lead-form :is(input, select, textarea),
.nakajp-lp003 .form-box > form[data-nakajp-lead-form] :is(input, select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
}

@media (max-width: 980px) {
  .seo-interior-page .form-shell,
  .brand-home-page .form-shell {
    row-gap: 28px;
  }
}

@media (max-width: 767.98px) {
  .nakajp-lp003 .form-box > form[data-nakajp-lead-form],
  .seo-interior-page .form-shell > form[data-nakajp-lead-form],
  .brand-home-page .form-shell > form[data-nakajp-lead-form] {
    padding: 20px 16px max(28px, env(safe-area-inset-bottom)) !important;
    border-radius: 18px;
  }

  .nakajp-lp003 .form-box > .text-center + form[data-nakajp-lead-form] {
    margin-top: 24px;
  }
}
