/* ==========================================================================
   AI Front-Desk Audit — intake page styles. Same design system as
   website-check.css / ai-receptionist.css (DM Serif Display / DM Sans,
   slate + blue + amber). Section backgrounds use body+element+class
   selectors (0,1,2): design-tokens.css paints sections via
   section:nth-of-type() at (0,1,1) and would otherwise override them.
   ========================================================================== */

:root {
  --aud-slate: #0F172A;
  --aud-slate-2: #1E293B;
  --aud-blue: #2563EB;
  --aud-blue-light: #DBEAFE;
  --aud-blue-ink: #1D4ED8;
  --aud-amber: #F59E0B;
  --aud-amber-ink: #B45309;
  --aud-green: #10B981;
  --aud-ink: #1E293B;
  --aud-body: #334155;
  --aud-muted: #64748B;
  --aud-line: #E2E8F0;
  --aud-surface: #F8FAFC;
  --aud-gray: #F1F5F9;
  --aud-white: #FFFFFF;
  --aud-fail: #DC2626;
  --aud-radius: 12px;
  --aud-radius-sm: 8px;
}

.aud-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.25rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ----- Hero ----- */
.aud-hero { padding: 2.75rem 0; }
body section.aud-hero { background: linear-gradient(180deg, var(--aud-slate) 0%, var(--aud-slate-2) 100%); }
.aud-eyebrow {
  font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--aud-blue-light); margin: 0 0 0.9rem; text-align: center;
}
.aud-h1 {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 2.7rem; line-height: 1.1; color: var(--aud-white);
  margin: 0 0 1rem; max-width: 820px; text-align: center;
}
.aud-sub {
  font-size: 1.0625rem; line-height: 1.65; color: rgba(255,255,255,0.88);
  max-width: 760px; margin: 0 0 1.75rem; text-align: center;
}
.aud-steps {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem; width: 100%; max-width: 920px; margin-bottom: 1.5rem;
}
.aud-step {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--aud-radius); padding: 1.1rem 1.1rem 1.2rem; text-align: center;
}
.aud-step-n {
  font-family: "DM Serif Display", Georgia, serif; font-size: 1.5rem;
  color: var(--aud-amber); margin: 0 0 0.35rem; text-align: center;
}
.aud-step-t { font-size: 0.9375rem; line-height: 1.6; color: rgba(255,255,255,0.9); margin: 0; text-align: center; }
.aud-hero-note { font-size: 0.9375rem; line-height: 1.65; color: rgba(255,255,255,0.85); max-width: 760px; margin: 0; text-align: center; }
.aud-hero-link { color: var(--aud-white); font-weight: 700; text-decoration: underline; }

/* ----- Main / form ----- */
.aud-main { padding: 2.5rem 0 3rem; }
body section.aud-main { background: var(--aud-surface); }
.aud-prose { max-width: 760px; text-align: center; margin-bottom: 1.75rem; }
.aud-prose p { font-size: 1rem; line-height: 1.75; color: var(--aud-body); margin: 0 0 1.1rem; text-align: center; }

.aud-form {
  width: 100%; max-width: 880px; background: var(--aud-white);
  border: 1px solid var(--aud-line); border-radius: var(--aud-radius);
  padding: 1.75rem 1.6rem; box-shadow: 0 18px 44px rgba(15,23,42,0.08);
  text-align: left;
}
.aud-fs { border: 1px solid var(--aud-line); border-radius: var(--aud-radius); padding: 1.25rem 1.2rem 1.4rem; margin: 0 0 1.4rem; }
.aud-fs legend {
  font-family: "DM Serif Display", Georgia, serif; font-size: 1.25rem;
  color: var(--aud-ink); padding: 0 0.5rem;
}
.aud-fs-note { font-size: 0.9rem; line-height: 1.6; color: var(--aud-muted); margin: 0 0 1rem; text-align: left; }
.aud-field { margin-bottom: 1rem; }
.aud-field label {
  display: block; font-size: 0.8125rem; font-weight: 600;
  color: var(--aud-ink); margin: 0 0 0.35rem; text-align: left;
}
.aud-opt { font-weight: 400; color: var(--aud-muted); }
.aud-field input, .aud-field textarea, .aud-field select {
  width: 100%; padding: 0.75rem 0.9rem; font-size: 0.975rem;
  border: 2px solid var(--aud-line); border-radius: var(--aud-radius-sm);
  background: var(--aud-white); color: var(--aud-ink);
  outline: none; box-sizing: border-box; text-align: left;
  font-family: inherit;
}
.aud-field textarea { line-height: 1.55; resize: vertical; }
.aud-field input:focus, .aud-field textarea:focus, .aud-field select:focus { border-color: var(--aud-blue); }
.aud-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.aud-grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 1rem; }
.aud-hours { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 0.6rem; }
.aud-hour span { display: block; font-size: 0.75rem; font-weight: 700; color: var(--aud-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.25rem; text-align: left; }
.aud-hour input {
  width: 100%; padding: 0.6rem 0.6rem; font-size: 0.9rem;
  border: 2px solid var(--aud-line); border-radius: var(--aud-radius-sm);
  box-sizing: border-box; text-align: left;
}
.aud-hour input:focus { border-color: var(--aud-blue); outline: none; }
.aud-checks { display: flex; gap: 1.5rem; }
.aud-check { font-size: 0.95rem; color: var(--aud-body); display: flex; align-items: center; gap: 0.45rem; }
.aud-check input { width: auto; }

.aud-examples {
  background: var(--aud-blue-light); border-radius: var(--aud-radius-sm);
  padding: 1rem 1.1rem; margin-bottom: 1.2rem;
}
.aud-examples-h { font-weight: 700; color: var(--aud-ink); font-size: 0.9rem; margin: 0 0 0.5rem; text-align: left; }
.aud-examples p { font-size: 0.9rem; line-height: 1.6; color: var(--aud-body); margin: 0 0 0.5rem; text-align: left; }
.aud-examples p:last-child { margin-bottom: 0; }
.aud-pair { border: 1px solid var(--aud-line); border-radius: var(--aud-radius-sm); padding: 0.9rem 1rem 0.4rem; margin-bottom: 0.8rem; background: var(--aud-surface); }
.aud-pair-h { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--aud-muted); margin: 0 0 0.5rem; text-align: left; }
.aud-pair textarea {
  width: 100%; padding: 0.65rem 0.8rem; font-size: 0.95rem; line-height: 1.5;
  border: 2px solid var(--aud-line); border-radius: var(--aud-radius-sm);
  box-sizing: border-box; margin-bottom: 0.6rem; font-family: inherit; resize: vertical;
}
.aud-pair textarea:focus { border-color: var(--aud-blue); outline: none; }
.aud-pair-actions { display: flex; align-items: center; gap: 1rem; margin: 0.25rem 0 0; }
.aud-btn-ghost {
  padding: 0.55rem 1rem; background: var(--aud-white); color: var(--aud-blue-ink);
  border: 2px solid var(--aud-blue); border-radius: var(--aud-radius-sm);
  font-size: 0.9rem; font-weight: 700; cursor: pointer;
}
.aud-btn-ghost:hover { background: var(--aud-blue-light); }
.aud-btn-ghost:disabled { opacity: 0.5; cursor: not-allowed; }

.aud-consent {
  display: flex; gap: 0.6rem; align-items: flex-start;
  font-size: 0.9rem; line-height: 1.6; color: var(--aud-body);
  margin-top: 0.5rem; text-align: left; cursor: pointer;
}
.aud-consent input { margin-top: 0.3rem; flex-shrink: 0; }

.aud-btn {
  display: inline-block; width: 100%; padding: 0.95rem 1.4rem;
  background: var(--aud-amber); color: var(--aud-ink);
  font-size: 1rem; font-weight: 700; border: none; cursor: pointer;
  border-radius: var(--aud-radius-sm); text-decoration: none; text-align: center;
  transition: transform 0.1s ease, background 0.15s ease;
}
.aud-btn:hover { background: var(--aud-amber-ink); color: var(--aud-white); }
.aud-btn:active { transform: scale(0.99); }
.aud-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.aud-btn-inline { width: auto; }
.aud-status { font-size: 0.9375rem; color: var(--aud-body); margin: 0.9rem 0 0; min-height: 1.2em; text-align: center; }
.aud-status.error { color: var(--aud-fail); font-weight: 600; }
.aud-micro { font-size: 0.8125rem; line-height: 1.6; color: var(--aud-muted); margin: 0.75rem 0 0; text-align: center; }
.aud-micro a { color: var(--aud-blue-ink); }

/* ----- After band ----- */
.aud-after { padding: 2.75rem 0 3rem; }
body section.aud-after { background: linear-gradient(180deg, var(--aud-slate-2) 0%, var(--aud-slate) 100%); }
.aud-section-h {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 1.9rem; line-height: 1.15; margin: 0 0 0.9rem; text-align: center;
}
.aud-on-dark { color: var(--aud-white); }
.aud-on-dark-sub {
  font-size: 1rem; line-height: 1.7; color: rgba(255,255,255,0.87);
  max-width: 760px; margin: 0 0 1.1rem; text-align: center;
}
.aud-fix-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 1.5rem; margin: 0.5rem 0 0; }
.aud-after-link { color: var(--aud-white); font-weight: 600; text-decoration: underline; }

/* ----- Mobile ----- */
@media (max-width: 820px) {
  .aud-h1 { font-size: 2.15rem; }
  .aud-hero { padding: 2.25rem 0; }
  .aud-grid2, .aud-grid3 { grid-template-columns: 1fr; }
  .aud-form { padding: 1.25rem 1rem; }
}
@media (max-width: 640px) {
  .aud-section-h { font-size: 1.6rem; }
  .aud-main { padding: 2rem 0 2.5rem; }
}
