/* Loaded after contact.css. Unenhanced markup keeps its native country select. */
.phone-fields { --ct-country-picker: ready; }
.country-picker-trigger { display: none; }
.form-step .phone-fields.country-picker-ready {
  position: relative;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  min-height: 49px;
  border: 1px solid #8a9789;
  border-radius: 9px;
  background: #fffef9;
  isolation: isolate;
}
.phone-fields.country-picker-ready:focus-within { border-color: #587d41; }
.phone-fields.country-picker-ready:has(:focus-visible) { outline: 2px solid #587d41; outline-offset: 3px; }
.phone-fields.country-picker-ready:has(#phone[aria-invalid="true"]) { border-color: #983e32; box-shadow: 0 0 0 1px #983e32; }
.phone-fields.country-picker-ready #phone {
  border: 0;
  border-radius: 0 8px 8px 0;
  background: transparent;
  min-width: 0;
  min-height: 47px;
  padding: 11px 12px;
  font-size: 16px;
  box-shadow: none;
  outline: none;
}
.phone-fields.country-picker-ready .country-picker-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  position: relative;
  width: 104px;
  min-height: 47px;
  margin: 0;
  padding: 0 10px;
  border: 0;
  border-radius: 8px 0 0 8px;
  background: transparent;
  color: var(--ink, #172522);
  font: 500 13px/1.2 var(--ct-font-body, Manrope, sans-serif);
  cursor: pointer;
  box-shadow: none;
  outline: none;
  white-space: nowrap;
  transition: background-color 120ms ease;
}
.country-picker-trigger::after { content: ''; position: absolute; right: 0; top: 11px; bottom: 11px; width: 1px; background: #d5ddce; }
.country-picker-trigger__code { font-size: 11px; font-weight: 650; letter-spacing: .025em; color: #62705b; }
.country-picker-trigger__dial { font-size: 13px; font-variant-numeric: tabular-nums; }
.country-picker-trigger__chevron { display: block; width: 5px; height: 5px; border-right: 1.3px solid #64735d; border-bottom: 1.3px solid #64735d; transform: translateY(-2px) rotate(45deg); margin-left: 1px; flex: none; }
.country-picker-trigger[aria-expanded="true"] { background: #edf3e5!important; }
.country-picker-trigger[aria-expanded="true"] .country-picker-trigger__chevron { transform: translateY(1px) rotate(225deg); }
.country-picker-trigger:active { background: #e6eedc; }
.country-picker-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: -1px;
  right: -1px;
  z-index: 60;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  max-height: min(var(--country-picker-height, 370px), calc(100dvh - 24px));
  min-width: 0;
  overflow: hidden;
  border: 1px solid #bcc9b2;
  border-radius: 12px;
  background: #fffef9;
  box-shadow: 0 7px 16px #1725220b, 0 20px 45px #17252214;
  color: var(--ink, #172522);
  text-align: left;
}
.country-picker-popover[data-side="top"] { top: auto; bottom: calc(100% + 8px); }
.country-picker-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 10px 0 16px; }
.country-picker-title { font: 600 12px/1.4 var(--ct-font-body, Manrope, sans-serif); color: #52604b; }
.country-picker-close { display: grid; place-items: center; flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #6c7864; font: 400 23px/1 var(--ct-font-body, Manrope, sans-serif); cursor: pointer; }
.country-picker-search-wrap { padding: 5px 11px 10px; }
.form-step .country-picker-search {
  display: block;
  width: 100%;
  min-height: 43px;
  height: 43px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d2dbc9;
  border-radius: 7px;
  background: #f5f8ef;
  font: 400 16px/1.3 var(--ct-font-body, Manrope, sans-serif);
  color: var(--ink, #172522);
  box-shadow: none;
}
.form-step .country-picker-search::placeholder { color: #7a8572; opacity: 1; }
.country-picker-results { position: relative; margin: 0; padding: 3px 7px 7px; list-style: none; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #becbb4 transparent; min-height: 0; }
.country-picker-results li { margin: 0; padding: 0; }
.country-picker-option { display: grid; grid-template-columns: minmax(0, 1fr) auto 14px; align-items: center; gap: 9px; width: 100%; min-height: 44px; padding: 10px 9px; margin: 0; border: 0; border-radius: 7px; background: transparent; color: var(--ink, #172522); font: 400 13px/1.4 var(--ct-font-body, Manrope, sans-serif); text-align: left; cursor: pointer; }
.country-picker-option__name { overflow-wrap: anywhere; }
.country-picker-option__dial { font: 400 11px/1.4 var(--mono, monospace); color: #6b7762; white-space: nowrap; }
.country-picker-option__check { opacity: 0; font-size: 12px; color: #506f33; }
.country-picker-option[aria-pressed="true"] { background: #edf3e4; }
.country-picker-option[aria-pressed="true"] .country-picker-option__name { font-weight: 600; }
.country-picker-option[aria-pressed="true"] .country-picker-option__check { opacity: 1; }
.country-picker-option:focus-visible, .country-picker-close:focus-visible { outline: 2px solid #587d41; outline-offset: -2px; background: #f0f5e8; }
.country-picker-option:active { background: #e6eedc; }
.form-step .country-picker-empty { font-size: 13px; line-height: 1.6; margin: 0; padding: 15px 17px 22px; color: #65725d; }
.country-picker-count { display: block; padding: 8px 16px; border-top: 1px solid #e5eadf; background: #fbfcf7; color: #7a8473; font: 400 10px/1.5 var(--mono, monospace); }
.country-picker-popover[hidden], .country-picker-popover [hidden] { display: none!important; }
@media(hover:hover) and (pointer:fine) { .country-picker-trigger:hover, .country-picker-close:hover { background: #f0f4e9; } .country-picker-option:hover { background: #f1f5e9; } }
@media(max-width:360px) { .form-step .phone-fields.country-picker-ready { grid-template-columns: 96px minmax(0,1fr); } .phone-fields.country-picker-ready .country-picker-trigger { width: 96px; gap: 5px; padding-inline: 8px; } .phone-fields.country-picker-ready #phone { padding-inline: 10px; } .country-picker-option { gap: 7px; font-size: 12px; } }
@media(max-width:300px) { .form-step .phone-fields.country-picker-ready { grid-template-columns: 88px minmax(0,1fr); } .phone-fields.country-picker-ready .country-picker-trigger { width: 88px; gap: 4px; padding-inline: 6px; } .phone-fields.country-picker-ready #phone { padding-inline: 8px; } }
@media(prefers-reduced-motion:reduce) { .country-picker-trigger { transition: none; } }
