/* GS Intake — public form styles
   Colours reference the GeekStuff theme CSS variables so the form
   automatically matches whichever section palette is active.
   Falls back to IT-blue values on non-GeekStuff themes. */

#gsi-wrap {
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--gs-font-body, system-ui, sans-serif);
  color: var(--gs-text, #1a1a2e);
}

#gsi-wrap h3 {
  margin-top: 28px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--gs-border, #ddd);
  color: var(--gs-heading-color, #1a4f8a);
  font-family: var(--gs-font-heading, system-ui, sans-serif);
}

#gsi-wrap label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--gs-text, #1a1a2e);
}

#gsi-wrap input[type="text"],
#gsi-wrap input[type="tel"],
#gsi-wrap input[type="email"],
#gsi-wrap input[type="number"],
#gsi-wrap select,
#gsi-wrap textarea {
  width: 100%;
  max-width: 560px;
  padding: 9px 12px;
  border: 1px solid var(--gs-border, #ccc);
  border-radius: var(--gs-radius, 4px);
  font-size: 15px;
  font-family: var(--gs-font-body, system-ui, sans-serif);
  background-color: var(--gs-surface, #fff);
  color: var(--gs-text, #1a1a2e);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#gsi-wrap input:focus,
#gsi-wrap select:focus,
#gsi-wrap textarea:focus {
  outline: none;
  border-color: var(--gs-accent, #2d8cf0);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gs-accent, #2d8cf0) 20%, transparent);
}

#gsi-wrap textarea { resize: vertical; }

#gsi-wrap .required { color: #c00; }

/* No-work notice */
.gsi-no-work-notice {
  background-color: var(--gs-surface-alt, #fff8e8);
  border: 1px solid var(--gs-accent, #c47c2b);
  border-left: 4px solid var(--gs-accent, #c47c2b);
  border-radius: var(--gs-radius, 4px);
  padding: 14px 16px;
  margin: 12px 0;
  color: var(--gs-text, #2c1a0e);
}

.gsi-submit-btn {
  display: inline-block;
  margin-top: 12px;
  padding: 12px 32px;
  background-color: var(--gs-btn-bg, #1a73e8);
  color: var(--gs-btn-text, #fff);
  border: none;
  border-radius: var(--gs-radius, 4px);
  font-family: var(--gs-font-body, system-ui, sans-serif);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.18s ease;
}
.gsi-submit-btn:hover { background-color: var(--gs-btn-hover-bg, #1a4f8a); transform: translateY(-1px); }
.gsi-submit-btn:active { transform: translateY(0); }
.gsi-submit-btn:disabled { background: #aaa; cursor: not-allowed; transform: none; }

.gsi-btn-secondary {
  background-color: var(--gs-surface, #fff);
  color: var(--gs-text-muted, #555);
  border: 1px solid var(--gs-border, #ccc);
}
.gsi-btn-secondary:hover { background-color: var(--gs-surface-alt, #eee); transform: none; }

.gsi-error-box {
  background: #fff3f3;
  border: 1px solid #c00;
  border-left: 4px solid #c00;
  color: #c00;
  padding: 12px 16px;
  border-radius: var(--gs-radius, 4px);
  margin-bottom: 16px;
}

.gsi-error-inline { color: #c00; font-size: 13px; margin-top: 4px; }

.gsi-terms-box {
  max-height: 180px;
  overflow-y: scroll;
  border: 1px solid var(--gs-border, #ccc);
  border-radius: var(--gs-radius, 4px);
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--gs-text, #1a1a2e);
  background: var(--gs-surface-alt, #f9f9f9);
  margin-bottom: 14px;
  white-space: pre-wrap;
}

.gsi-terms-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: normal !important;
  cursor: pointer;
  font-size: 14px;
}

.gsi-terms-label input[type="checkbox"] {
  width: auto;
  max-width: none;
  margin-top: 3px;
  flex-shrink: 0;
}

.gsi-success-box {
  background: var(--gs-surface-alt, #f0fff4);
  border: 1px solid var(--gs-accent, #2d7a2d);
  border-left: 4px solid var(--gs-accent, #2d7a2d);
  color: var(--gs-text, #1a4d1a);
  padding: 16px 20px;
  border-radius: var(--gs-radius, 4px);
}
