/* ============ Form pages (demo / request) — Mobbin-style upgrade ============ */

/* Floating pill nav */
.site-nav {
  background: transparent !important;
  border-bottom: none !important;
  padding: 12px 16px !important;
}
.nav-inner-simple {
  max-width: 1008px !important;
  margin: 0 auto;
  padding: 9px 22px !important;
  background: rgba(255,255,255,0.8);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.nav-back { font-size: 13px; }

/* Pill buttons */
.btn { border-radius: 999px !important; }

/* Typography — Mobbin-style: big, tight, semibold sans */
.req-title {
  font-family: var(--font-jp) !important;
  font-size: clamp(26px, 2.7vw, 38px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.3 !important;
  /* authored <br/> is the only break we want — balance re-breaks CJK mid-phrase */
  text-wrap: normal !important;
}
.req-eyebrow {
  background: white !important;
  color: var(--text-dim) !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
}
.req-eyebrow .dot { background: var(--brand-green) !important; }
.req-main {
  background: #FDFDFC !important;
  padding-top: 104px !important;
}
.req-wrap { max-width: 1072px !important; }
.req-done h2 {
  font-family: var(--font-jp) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

/* Card surfaces */
.req-card, .bk-card {
  border-radius: 22px !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  box-shadow: 0 24px 64px -36px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.04) !important;
}

/* Inputs — white with hairline border */
.form-input, .form-select, .form-textarea, input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  border-radius: 12px !important;
  background: white !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
}
.form-input:focus { border-color: var(--brand-green) !important; }

/* Chips — white base; selected goes near-black like Mobbin */
.select-chip {
  background: white !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
}
.select-chip.active {
  background: #111 !important;
  border-color: #111 !important;
  color: white !important;
}

/* Calendar + slot pills */
.bk-slot {
  border-radius: 999px !important;
}
.bk-cal-day, .cal-day {
  border-radius: 10px !important;
}

/* Steps */
.bk-step i { border-radius: 999px; }

/* Decorative shapes: calmer */
.req-shapes svg { opacity: 0.1; }

/* Footer — light base like the main page */
.req-footer {
  background: transparent !important;
  color: var(--text-dim) !important;
  border-top: 1px solid rgba(0,0,0,0.07);
}
.rf-inner { max-width: 1072px !important; }
.rf-inner > div:first-child { color: var(--black) !important; }

/* Calendly embed card */
.cal-card { padding: 10px !important; overflow: hidden; align-self: start; }
.calendly-inline-widget, .calendly-embed-host { border-radius: 14px; overflow: hidden; }
.cal-fallback {
  min-height: 380px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px; text-align: center;
  padding: 40px 24px;
}
.cal-fallback p { margin: 0; font-size: 14px; color: rgba(0,0,0,0.6); }
