/*
 * Ad Astra Connect public Contact surface with open inquiry form.
 */

.aa-contact-page {
  --pc-ink: var(--aa-ink-strong, #f6f8fb);
  --pc-muted: var(--aa-muted, #b6bcc6);
  --pc-accent: var(--aa-accent-hi, #7ec0e0);
  --pc-rail-max: 1080px;
  --pc-field-bg: rgba(8, 16, 28, 0.42);
  --pc-field-border: rgba(191, 220, 246, 0.22);
}

html[data-theme="light"] .aa-contact-page {
  --pc-ink: #141820;
  --pc-muted: #243044;
  --pc-accent: #0e3f56;
  --pc-field-bg: #ffffff;
  --pc-field-border: #5d6b7c;
}

html[data-theme="stellar"] .aa-contact-page {
  --pc-ink: #f7faff;
  --pc-muted: rgba(198, 214, 238, 0.92);
  --pc-accent: #8fd0ff;
}

html:has(body.aa-contact-page),
body.aa-contact-page {
  margin: 0;
  min-height: 100%;
  overflow-x: clip;
}

body.aa-contact-page.aa-chrome-page {
  overflow-x: clip;
}

body.aa-contact-page .pc-wrap {
  width: 100%;
}

body.aa-contact-page:not(:has(.aa-chrome-header-spacer)) {
  /* Hand the reserved space to the shared spacer without moving the form. */
  padding-top: var(--public-chrome-expanded-height, calc(146px + env(safe-area-inset-top, 0px)));
}

body.aa-contact-page .pc-main {
  width: 100%;
  max-width: var(--pc-rail-max);
  margin: 0 auto;
  padding:
    clamp(24px, 5vh, 48px)
    var(--aa-chrome-rail-pad, clamp(20px, 4vw, 56px))
    clamp(32px, 6vh, 64px);
  padding-left: max(var(--aa-chrome-rail-pad, clamp(20px, 4vw, 56px)), env(safe-area-inset-left, 0px));
  padding-right: max(var(--aa-chrome-rail-pad, clamp(20px, 4vw, 56px)), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.pc-form-shell {
  max-width: 40rem;
}

.pc-form__intro {
  margin: 0 0 clamp(18px, 3vh, 28px);
  color: var(--pc-muted, #243044);
  font-size: 1.05rem;
  line-height: 1.5;
}

.pc-form__title {
  margin: 0 0 12px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(1.75rem, 4.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--pc-ink);
}

.pc-field {
  margin-bottom: clamp(14px, 2vh, 18px);
}

.pc-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--pc-muted);
}

.pc-required {
  font-weight: 500;
  opacity: 0.85;
}

.pc-input {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  font: inherit;
  font-size: 1rem;
  color: var(--pc-ink);
  background: var(--pc-field-bg);
  border: 1px solid var(--pc-field-border);
  border-radius: 4px;
}

.pc-textarea {
  min-height: 120px;
  resize: vertical;
}

.pc-select {
  appearance: auto;
}

.pc-honey {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.pc-turnstile {
  margin: 12px 0 8px;
  min-height: 0;
}

.pc-status {
  margin: 8px 0 12px;
  font-size: 0.92rem;
  color: var(--pc-muted);
}

.pc-status.is-error {
  color: #e8a0a0;
}

html[data-theme="light"] .pc-status.is-error {
  color: #9b3030;
}

.pc-turnstile-prep {
  margin: 8px 0 10px;
  font-size: 0.92rem;
  color: var(--pc-muted);
}

.pc-submit {
  display: inline-block;
  margin-top: 4px;
  padding: 11px 18px;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pc-ink);
  background: transparent;
  border: 1px solid var(--pc-field-border);
  border-radius: 4px;
  cursor: pointer;
}

.pc-submit:hover,
.pc-submit:focus-visible {
  border-color: var(--pc-accent);
  outline: none;
}

.pc-next__title {
  margin: 0 0 12px;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--pc-ink);
}

.pc-field-error {
  margin: 6px 0 0;
  color: #ffd0d0;
  font-size: 0.95rem;
}

html[data-theme="light"] .pc-field-error {
  color: #7a1420;
}

.pc-input[aria-invalid="true"] {
  border-color: #c43646;
}

.pc-next__list,
.pc-next__text {
  margin: 0;
  padding-left: 0;
  color: var(--pc-muted);
  line-height: 1.55;
}

.pc-receipt { overflow-wrap: anywhere; font-size: .9rem; }
.pc-retry-notice { border: 1px solid currentColor; padding: 16px; margin-bottom: 24px; line-height: 1.5; overflow-wrap: anywhere; }
.pc-retry-notice label { display: block; margin-bottom: 16px; }
.pc-retry-button { min-height: 44px; padding: 10px 16px; font: inherit; }

/* Native radio choices remain keyboard accessible and visually separate from callback fields. */
.public-contact-preference {border:0; padding:0; margin:0 0 18px; min-width:0;}
.public-contact-preference legend {font-size:1rem; line-height:1.5; margin-bottom:6px;}
.public-contact-preference label {display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-right:20px;}
.public-contact-preference input {width:1.2rem; height:1.2rem; margin:0; accent-color:var(--aa-accent-hi, #7ec0e0);}
.public-callback[hidden] {display:none !important;}
