/* ─── Lomakesivu ──────────────────────────────────────────────────────────
   Kaksi palstaa: vasemmalla lupaus ja mitä seuraavaksi tapahtuu, oikealla
   lomake omalla kortillaan. Ylätunnisteessa ei ole navia, joten ainoa tie
   eteenpäin on lomake ja ainoa tie taaksepäin on palvelusivu. */

.s-page:has(.f-header) {
  background:
    radial-gradient(60% 50% at 100% 0%, rgba(255, 166, 196, 0.16), transparent 70%),
    var(--s-paper);
}

.f-header .s-header__inner { justify-content: space-between; }
.f-back { min-height: 44px; font-size: 14px; color: var(--s-ink-2); }

.f-main { background: transparent; }

@media (max-width: 700px) {
  .f-back { display: none; }
}

.f-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
  gap: clamp(40px, 7vw, 120px);
  align-items: start;
  padding-block: clamp(40px, 6vw, 88px) var(--s-section-y-tight);
}

.f-intro { max-width: 34rem; }
.f-intro .s-display { font-size: clamp(2rem, calc(1.5rem + 2vw), 3.25rem); }

.f-next { width: 100%; margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid var(--s-rule); }
.f-next__title { margin-bottom: var(--s-4); font-size: 14px; font-weight: var(--s-fw-medium); color: var(--s-ink); }
.f-next ol { display: grid; gap: var(--s-4); }
.f-next li { display: grid; grid-template-columns: 32px 1fr; gap: 8px; align-items: baseline; }
.f-next li p { color: var(--s-ink-2); font-size: var(--s-fs-ui); line-height: 1.55; }

.f-card {
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--s-rule);
  border-radius: 20px;
  background: var(--s-paper);
  box-shadow: var(--s-shadow-float);
}

.f-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.f-submit { width: 100%; margin-top: var(--s-2); }
.f-card .s-note a { color: var(--s-ink-2); text-decoration: underline; text-underline-offset: 2px; }

.f-done { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-3); padding-block: var(--s-6); }
.f-done[hidden] { display: none; }

.f-done__mark {
  width: 44px;
  height: 44px;
  margin-bottom: var(--s-2);
  border-radius: 12px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.5 12.3 3.6 3.6 7.4-7.6' fill='none' stroke='%23d4176a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat,
    var(--s-accent-soft);
}

.f-faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: clamp(32px, 6vw, 96px);
  align-items: start;
}

.f-faq .s-title { max-width: 14ch; }

.f-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-4);
  padding-block: var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));
  border-top: 1px solid var(--s-rule);
}

.f-foot nav { display: flex; gap: var(--s-5); }
.f-foot a { color: var(--s-ink-3); font-size: var(--s-fs-label); }
.f-foot a:hover { color: var(--s-ink); }

@media (max-width: 900px) {
  .f-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); }
  .f-faq { grid-template-columns: minmax(0, 1fr); }
  /* Puhelimessa lomake heti lupauksen jälkeen, "mitä seuraavaksi" sen alle. */
  .f-intro { display: contents; }
  .f-intro > .f-next { order: 3; margin-top: 0; }
  .f-card { order: 2; margin-block: var(--s-3); }
}

@media (max-width: 560px) {
  .f-row { grid-template-columns: minmax(0, 1fr); }
  .f-card { padding: 20px; border-radius: 16px; box-shadow: var(--s-shadow-card); }
}
.f-grid .s-chip { justify-self: start; }
