/**
 * css/request-call.css: views/request-a-call.php, loaded only on that page (layouts/head.php). The card, fields, consent box and submit button are the shared css/lead-form.css (.lf-*);
 * this file owns the page column, the choice chips (days / times) and the inline field errors. Same palette as feedback.css / contact-us.css.
 */

.rc-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding: 24px var(--wrap-gutter, 16px) 48px;
  color: #12233D;
}

.rc-heading {
  margin: 0 0 12px;
  font-size: 32px;
  font-weight: 600;
}

.rc-copy {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.6;
  color: #4B5A70;
}

.rc-copy a { color: #1E40AF; font-weight: 600; }

.rc-card { margin-bottom: 32px; }

.rc-about {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-left: 4px solid #1E40AF;
  border-radius: 6px;
  background: #EAF0FF;
  font-size: 15px;
}

.rc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin-bottom: 12px;
}

.rc-grid .lf-field { min-width: 0; }

.rc-req { color: #B42318; }
.rc-opt, .rc-tz { font-weight: 400; color: #5B6B82; }

.rc-group {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  min-width: 0;
}

.rc-group legend {
  padding: 0;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #12233D;
}

.rc-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* a checkbox that looks like a pill, so a thumb can hit it: the real input stays (keyboard, screen readers) */
.rc-choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid #7B889C;
  border-radius: 9999px;
  background: #FFFFFF;
  font-size: 15px;
  color: #12233D;
  cursor: pointer;
  user-select: none;
}

.rc-choice input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
.rc-choice:hover { border-color: #1E40AF; }
.rc-choice:has(input:checked) { background: #E3EAFB; border-color: #1E40AF; color: #1E40AF; font-weight: 600; }
.rc-choice:has(input:focus-visible) { outline: 3px solid #1E40AF; outline-offset: 2px; }
.rc-choices.is-disabled .rc-choice { opacity: .5; cursor: default; }

.rc-hint {
  margin: 6px 0 0;
  font-size: 13px;
  color: #5B6B82;
}

.rc-field-error {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #B42318;
}

.rc-form select,
.rc-form input[type="text"],
.rc-form input[type="tel"],
.rc-form input[type="email"] {
  width: 100%;
  box-sizing: border-box;
}

.rc-form .is-invalid { border-color: #B42318; }

@media (max-width: 560px) {
  .rc-grid { grid-template-columns: 1fr; }
  .rc-heading { font-size: 26px; }
  .rc-choice { flex: 1 1 calc(50% - 8px); justify-content: flex-start; }
}
