/* Scoped consultation-form styles for the review prototype. */
.cph-forms {
  --cph-form-bg: #141414;
  --cph-form-field: #1c1c1c;
  --cph-form-border: #414141;
  --cph-form-accent: #c82025;
  color: #fff;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  text-align: left;
}
.cph-forms *,
.cph-forms *::before,
.cph-forms *::after { box-sizing: border-box; }
.cph-forms [hidden] { display: none !important; }
.cph-forms button,
.cph-forms input,
.cph-forms select,
.cph-forms textarea { font: inherit; }
.cph-forms form { margin: 0; padding: 0; }
.cph-preview-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: #b2b2b2;
  font-size: 11px;
  line-height: 1.55;
}
.cph-preview-note > span {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  background: var(--cph-form-accent);
}
.cph-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 22px;
  row-gap: 21px;
}
.cph-field { min-width: 0; }
.cph-field-wide { grid-column: 1 / -1; }
.cph-field > label {
  display: block;
  margin: 0 0 8px;
  color: #f5f5f5;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
.cph-required { color: #e85b5e; margin-left: 2px; }
.cph-optional { color: #aaa; font-size: 10px; font-weight: 400; }
.cph-forms input:not([type="hidden"]),
.cph-forms select,
.cph-forms textarea {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--cph-form-border);
  border-radius: 0;
  outline: none;
  background: var(--cph-form-field);
  color: #f5f5f5;
  padding: 13px 14px;
  font-size: 12px;
  line-height: 20px;
  box-shadow: none;
  transition: border-color 160ms ease, outline-color 160ms ease;
}
.cph-forms input,
.cph-forms select { height: 49px; }
.cph-forms textarea { min-height: 116px; resize: vertical; }
.cph-forms input::placeholder,
.cph-forms textarea::placeholder { color: #969696; opacity: 1; }
.cph-forms input:focus-visible,
.cph-forms select:focus-visible,
.cph-forms textarea:focus-visible {
  border-color: #e75054;
  outline: 2px solid #e75054;
  outline-offset: 2px;
}
.cph-forms input[aria-invalid="true"],
.cph-forms select[aria-invalid="true"],
.cph-forms textarea[aria-invalid="true"] { border-color: #ee777a; }
.cph-forms select { color-scheme: dark; padding-right: 28px; cursor: pointer; }
.cph-forms select:has(option:checked[value=""]) { color: #b0b0b0; }
.cph-forms option { background: #1c1c1c; color: #fff; }
.cph-forms input[type="date"] { color-scheme: dark; -webkit-appearance: none; }
.cph-forms input[type="date"]::-webkit-date-and-time-value { text-align: left; }
.cph-forms input[type="date"]::-webkit-calendar-picker-indicator { opacity: .72; cursor: pointer; }
.cph-field-error {
  display: block;
  margin-top: 7px;
  color: #ff9c9f;
  font-size: 11px;
  line-height: 1.45;
}
.cph-field-hint {
  display: block;
  margin-top: 7px;
  color: #a6a6a6;
  font-size: 10px;
  line-height: 1.55;
}
.cph-phone-row {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  height: 49px;
}
.cph-country-wrap {
  position: relative;
  flex: 0 0 104px;
  width: 104px;
  min-width: 0;
}
.cph-forms .cph-country-select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 49px;
  padding: 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: var(--cph-form-field);
  border-right: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.cph-forms .cph-country-select option {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.cph-country-display {
  position: absolute;
  z-index: 3;
  inset: 0 18px 0 12px;
  display: flex;
  align-items: center;
  color: #f5f5f5;
  line-height: 20px;
  white-space: nowrap;
  font-size: 12px;
  pointer-events: none;
}
.cph-country-chevron {
  position: absolute;
  z-index: 3;
  right: 8px;
  top: 19px;
  color: #b3b3b3;
  pointer-events: none;
}
.cph-forms .cph-phone-row > input {
  width: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.cph-forms .cph-country-select:focus-visible { z-index: 2; }
.cph-form-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 27px;
}
.cph-forms .cph-submit,
.cph-forms .cph-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 50px;
  padding: 14px 23px;
  border: 1px solid var(--cph-form-accent);
  border-radius: 0;
  background: var(--cph-form-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .045em;
  line-height: 20px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.cph-submit svg,
.cph-reset svg { flex: 0 0 20px; }
.cph-forms .cph-submit:hover,
.cph-forms .cph-reset:hover { background: #a4191d; border-color: #a4191d; }
.cph-forms .cph-submit:focus-visible,
.cph-forms .cph-reset:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.cph-forms .cph-submit:disabled { cursor: wait; opacity: .65; }
.cph-form-privacy {
  margin: 0;
  color: #c3c3c3;
  font-size: 10px;
  line-height: 1.8;
  text-align: right;
}
.cph-form-privacy span { color: #999; }
.cph-honey {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.cph-success {
  min-height: 280px;
  padding: 30px 0;
  outline: none;
}
.cph-success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  background: var(--cph-form-accent);
  color: white;
  font-size: 22px;
}
.cph-success .cph-success-kicker {
  margin: 0 0 9px;
  color: #b2b2b2;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .13em;
}
.cph-success h3 {
  margin: 0 0 12px;
  color: #fff;
  font-family: inherit;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.cph-success > p:not(.cph-success-kicker) {
  margin: 0 0 28px;
  color: #bcbcbc;
  font-size: 13px;
}
.cph-forms .cph-reset {
  border-color: #777;
  background: transparent;
}
.cph-forms .cph-reset:hover { border-color: #fff; background: #222; }
.cph-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.cph-forms-quick .cph-form-bottom { align-items: flex-start; }
.cph-forms-quick .cph-form-privacy { max-width: 160px; }
@media (max-width: 600px) {
  .cph-form-grid { grid-template-columns: minmax(0, 1fr); gap: 19px; }
  .cph-field-wide { grid-column: auto; }
  .cph-forms input:not([type="hidden"]),
  .cph-forms select,
  .cph-forms textarea { font-size: 16px; }
  .cph-forms .cph-country-select { font-size: 16px; }
  .cph-country-display { font-size: 12px; }
  .cph-form-bottom { flex-direction: column; align-items: stretch; gap: 13px; margin-top: 22px; }
  .cph-forms-quick .cph-form-bottom { align-items: stretch; }
  .cph-form-bottom .cph-submit { width: 100%; }
  .cph-form-privacy,
  .cph-forms-quick .cph-form-privacy { max-width: none; text-align: left; }
  .cph-preview-note { margin-bottom: 20px; }
  .cph-success { min-height: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  .cph-forms *,
  .cph-forms *::before,
  .cph-forms *::after { transition: none !important; }
}

