[data-pipi-section="invitation-form"] {
  --pipi-radius: 14px;
  --pipi-radius-large: 28px;
  background: var(--pipi-paper-warm);
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__body {
  padding-block: clamp(56px, 8vw, 104px);
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 0 clamp(16px, 3vw, 34px);
  margin-bottom: clamp(30px, 4vw, 52px);
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__number {
  padding-top: 0.7em;
  color: var(--pipi-accent);
  font-family: var(--pipi-mono);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__header h2 {
  font-size: clamp(25px, 3.5vw, 38px);
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__header p {
  max-width: 62ch;
  margin-top: 12px;
  color: var(--pipi-slate);
  font-size: 16px;
  line-height: 1.75;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__grid {
	display: block;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form form {
  margin: 0;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form form > fieldset {
  display: grid;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .pipi-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 16px !important;
  margin: 0 !important;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .pipi-form-row > .ff-t-cell {
  width: auto !important;
  padding: 0 !important;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .ff-el-group {
  margin: 0 !important;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .ff-el-input--label {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.72 !important;
  margin-bottom: 7px !important;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form label {
  display: block;
  color: var(--pipi-ink);
  font-family: var(--pipi-sans);
  font-size: 13.5px;
  line-height: 1.72;
  font-weight: 700;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form input:not([type="checkbox"]):not([type="radio"]),
[data-pipi-section="invitation-form"] .pipi-invitation-form__form select,
[data-pipi-section="invitation-form"] .pipi-invitation-form__form textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid var(--pipi-line-strong);
  border-radius: var(--pipi-radius);
  background: var(--pipi-paper);
  color: var(--pipi-ink);
  font-family: var(--pipi-sans);
  font-size: 15px;
  line-height: normal;
  transition: border-color 0.16s, box-shadow 0.16s;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form select {
  appearance: auto;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form textarea {
  height: 104px;
  min-height: 104px;
  line-height: 1.7;
  resize: vertical;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form input:focus,
[data-pipi-section="invitation-form"] .pipi-invitation-form__form select:focus,
[data-pipi-section="invitation-form"] .pipi-invitation-form__form textarea:focus {
  border-color: var(--pipi-accent);
  box-shadow: 0 0 0 3px var(--pipi-accent-wash);
  outline: none;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form button,
[data-pipi-section="invitation-form"] .pipi-invitation-form__form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 14px 26px;
  gap: 9px;
  border: 1.5px solid transparent !important;
  border-radius: var(--pipi-radius) !important;
  background: var(--pipi-accent) !important;
  color: #fff;
  cursor: pointer;
  font-family: var(--pipi-sans);
  font-size: 15.5px;
  font-weight: 700;
  line-height: normal !important;
  letter-spacing: 0.01em;
  justify-content: flex-start !important;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .pipi-form-arrow {
  color: inherit;
  font-family: var(--pipi-mono);
  font-size: 0.92em;
  opacity: 0.75;
}

/* Fluent's default `with_label` help placement turns this accepted hint into
 * a tooltip icon. Keep the source design's visible under-input explanation. */
[data-pipi-section="invitation-form"] .pipi-invitation-form__form .ff-el-group:has(#ff_3_budget) .ff-el-tooltip {
  display: none;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .ff-el-group:has(#ff_3_budget) .ff-el-input--content::after {
  display: block;
  margin-top: 7px;
  color: var(--pipi-slate-2);
  content: '只是為了給出可執行的方案，不是報價依據。';
  font-size: 12.5px;
  line-height: 1.6;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .ff-el-help-message {
  margin-top: 7px;
  color: var(--pipi-slate-2);
  font-size: 12.5px;
  line-height: 1.6;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form .pipi-form-note {
  color: var(--pipi-slate);
  font-size: 13px;
  line-height: 1.7;
}

[data-pipi-section="invitation-form"] .pipi-invitation-form__form button:hover,
[data-pipi-section="invitation-form"] .pipi-invitation-form__form input[type="submit"]:hover {
  background: var(--pipi-accent-soft);
}

@media (max-width: 620px) {
  [data-pipi-section="invitation-form"] .pipi-invitation-form__header {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  [data-pipi-section="invitation-form"] .pipi-invitation-form__number {
    padding-top: 0;
  }

  [data-pipi-section="invitation-form"] .pipi-invitation-form__form .pipi-form-row {
    grid-template-columns: 1fr;
  }
}
