/* «Сайт уже готов» (sobrat.html). Язык — страницы приглашения (invite.css):
   бумага, камень, графит, антиква в заголовке. Своё здесь — только форма
   проверки: поля и строки «услуга — цена». */

.gs .iv-h { max-width: 16ch; }

.gs-url, .gs-check { display: grid; gap: 14px; max-width: 460px; margin: 26px 0 0; }
.gs-url .iv-go, .gs-check .iv-go { margin: 4px 0 0; border: 0; font-family: inherit; cursor: pointer; }

.gs-field { display: grid; gap: 6px; }
.gs-field span, .gs-list-h {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--faint);
}
.gs input {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--page);
  color: var(--ink);
  font: 400 16px/1.3 var(--sans);
  transition: border-color .15s var(--ease);
}
.gs input:focus { outline: none; border-color: var(--ink); }
.gs input::placeholder { color: var(--faint); }

.gs-link {
  justify-self: start;
  padding: 6px 0;
  border: 0;
  background: none;
  color: var(--soft);
  font: 500 15px/1.3 var(--sans);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--line);
  cursor: pointer;
}
.gs-link:hover { color: var(--ink); }

.gs-err {
  max-width: 460px;
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--stone);
  color: var(--ink);
  font-size: 15px;
}

.gs-list { display: grid; gap: 8px; }
#gsRows { display: grid; gap: 8px; }
.gs-list-h { display: grid; grid-template-columns: 1fr 112px 36px; gap: 8px; margin: 0; }
.gs-list-h span:last-child { grid-column: 2; }
.gs-row { display: grid; grid-template-columns: 1fr 112px 36px; gap: 8px; align-items: center; }
.gs-row input[data-price] { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.gs-row input[data-price]:placeholder-shown { border-style: dashed; }
.gs-row button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--stone);
  color: var(--soft);
  font: 400 20px/1 var(--sans);
  cursor: pointer;
}

.gs-fine { max-width: 460px; margin: 6px 0 0; font-size: 13.5px; color: var(--faint); }

.gs-done { display: grid; gap: 12px; max-width: 460px; margin: 26px 0 0; }
.gs-done .iv-go { margin: 0; border: 0; font-family: inherit; cursor: pointer; }
.gs-acts { display: grid; gap: 8px; }

.gs-busy { opacity: .6; pointer-events: none; }

@media (max-width: 420px) {
  .gs-list-h, .gs-row { grid-template-columns: 1fr 92px 36px; }
}

/* Свои display у блоков не должны перебивать hidden — блоки шагов
   показываются по очереди. */
.gs [hidden], .gs[hidden] { display: none !important; }
