/* Contact page. Uses the home page's components (home.css: ad-*) and the about
   page's opening (about.css: ab-hero); these are the pieces only this form has. */

/* The form carries more fields than the home audit form, so it gets more room. */
@media (min-width: 1024px) { .ad-signup.ct-panel { grid-template-columns: 1fr 1.15fr; } }

.ct-direct { margin-top: 40px; display: grid; gap: 10px; }
.ct-direct-title { margin: 0 0 4px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ad-faint); }
.ct-tile {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--ad-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .85);
  color: var(--ad-ink);
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease;
}
.ct-tile > i { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; background: var(--ad-lav); color: var(--ad-brand); font-size: 16px; }
.ct-tile.is-primary > i { background: var(--ad-brand); color: #fff; font-size: 18px; }
.ct-tile small { display: block; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ad-faint); }
.ct-tile span { display: block; margin-top: 3px; font-size: 15px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
@media (hover: hover) { a.ct-tile:hover { border-color: rgba(76, 72, 157, .4); background: #fff; } }

/* Fields */
.ct-row { display: grid; gap: 0 16px; }
@media (min-width: 560px) { .ct-row { grid-template-columns: 1fr 1fr; } }
.ct-field { display: grid; }
.ad-form textarea {
  padding: 12px 14px;
  border: 1px solid #d8d7e6;
  border-radius: 12px;
  font: 400 16px/1.5 Inter, system-ui, sans-serif;
  color: var(--ad-ink);
  resize: vertical;
  transition: border-color 150ms ease;
}
.ad-form textarea:focus { border-color: var(--ad-brand); outline: none; box-shadow: 0 0 0 3px rgba(76, 72, 157, .15); }

/* Business type as chips: one tap on a phone instead of opening a list. */
.ct-chips { margin: 14px 0 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-chips legend { width: 100%; margin-bottom: 8px; padding: 0; font-size: 14px; font-weight: 600; }
.ad-form .ct-chips label { margin: 0; position: relative; cursor: pointer; }
.ct-chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ct-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d8d7e6;
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: var(--ad-soft);
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.ct-chips input:checked + span { border-color: var(--ad-brand); background: var(--ad-lav); color: var(--ad-brand); font-weight: 600; }
.ct-chips input:focus-visible + span { outline: 2px solid var(--ad-brand); outline-offset: 2px; }
@media (hover: hover) { .ct-chips label:hover span { border-color: var(--ad-brand); } }

/* On phones the form comes first; what happens next and the direct lines follow it. */
@media (max-width: 1023px) { .ct-panel .ad-form { order: -1; } }
