/* Public form coherence and date picker, v1.4.1. Styles scoped to public forms. */
#public-form{width:100%;min-width:0}
#public-form .form-step:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0;align-items:start}
#public-form .form-step>.public-field{grid-column:1 / -1;min-width:0;margin:0 0 22px}
#public-form .form-step>.public-field.half{grid-column:auto}
#public-form .public-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]),
#public-form .public-field textarea,
#public-form .public-field select{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:46px;margin:8px 0 0;border:1px solid #d1dce9;border-radius:10px;background:#fff;color:#1e324d;padding:12px 14px;font:inherit;box-shadow:0 1px 2px #112e4b0c}
/* Reset platform select chrome: Safari menu appearance can ignore padding/height.
   Keep the real select for keyboard navigation, validation and submission. */
#public-form .public-field select{
  -webkit-appearance:none;appearance:none;
  height:auto;min-height:48px;max-height:none;
  padding:12px 44px 12px 14px;
  font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;
  border:1px solid #d1dce9;border-radius:10px;
  outline:none;box-shadow:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23315b86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
}
#public-form .public-field select:is([multiple],[size]:not([size="1"]):not([size="0"])){
  appearance:auto;-webkit-appearance:listbox;background-image:none;padding:10px 14px;min-height:120px;
}
#public-form .public-field select:focus{border-color:#315b86;outline:2px solid #54c5be;outline-offset:2px;box-shadow:none}
#public-form .public-field select:disabled{background-color:#f1f4f8;color:#65758b;opacity:1;cursor:not-allowed}
#public-form .public-field select[aria-invalid="true"]{border-color:#b42334}
@media(forced-colors:active){#public-form .public-field select{-webkit-appearance:auto;appearance:auto;background-image:none}}
#public-form .public-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]),
#public-form .public-field textarea{font-size:16px;line-height:1.4}
#public-form .public-field{min-width:0;margin:0 0 22px}
#public-form .public-field :is(.grid2,.address-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
#public-form .public-field :is(.grid2,.address-grid,.repeater-item)>label{min-width:0;margin:0;font-size:13px;line-height:1.5}
#public-form .public-field .repeater-item{display:grid;gap:16px;min-width:0;margin:8px 0 16px;padding:16px}
#public-form .public-field .choice-group{margin-top:8px}
#public-form .public-field .field-hint{display:block}
#public-form .asp-date-trigger{box-sizing:border-box;font-size:16px;line-height:1.4;min-height:48px}
#public-form [hidden]{display:none!important}
@media(max-width:650px){#public-form .public-field :is(.grid2,.address-grid){grid-template-columns:minmax(0,1fr)}}
#public-form .public-field>textarea{min-height:104px;resize:vertical}
#public-form .public-field .field-label{display:block;font-size:13px;font-weight:650;line-height:1.5;margin:0;color:#253957}
#public-form .public-field .field-hint{margin-top:7px;line-height:1.45}
#public-form .form-step>.form-step-controls{grid-column:1 / -1;display:flex!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:10px!important;padding-top:5px;margin:0 0 6px;min-height:50px}
#public-form .form-step-controls>.form-button-field{display:flex!important;width:auto!important;flex:0 0 auto!important;align-items:center;margin:0!important;padding:0!important;grid-column:auto!important}
#public-form .form-step-controls .button{min-width:108px!important;min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:11px 19px!important;white-space:normal!important;font-size:14px!important;margin:0!important}
#public-form .form-step-controls .button.secondary{background:#fff}
#public-form .form-step:not([hidden])>.decorative{width:100%}
#public-form .public-field.half:has(.asp-date-wrap){min-width:0}
#public-form .asp-date-wrap{position:relative;width:100%;min-width:0;margin-top:8px}
#public-form .asp-original-date{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
#public-form .asp-date-trigger{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d1dce9;background:#fff;border-radius:10px;color:#1e324d;font:inherit;text-align:left;padding:10px 13px;box-shadow:0 1px 2px #112e4b0c}
#public-form .asp-date-trigger:hover{border-color:#83a5c8;background:#fbfdff}
#public-form .asp-date-trigger:focus-visible{outline:3px solid #54c5be;outline-offset:2px}
#public-form .asp-date-trigger[aria-invalid=true]{border-color:#b42334;box-shadow:0 0 0 2px #b4233424}
#public-form .asp-date-trigger.asp-date-empty .asp-date-value{color:#71829a}
#public-form .asp-date-icon{font-size:21px;color:#315b86;font-weight:600;line-height:1}
.asp-calendar[hidden]{display:none!important}
.asp-calendar{position:fixed;z-index:2147483000;box-sizing:border-box;border:1px solid #d5dfec;border-radius:14px;padding:14px;background:#fff;color:#1b304b;box-shadow:0 14px 42px #14294337;font-family:inherit;font-size:14px;max-height:calc(100dvh - 24px);overflow:auto}
.asp-calendar button{font:inherit;cursor:pointer}
.asp-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.asp-calendar-header strong{font-size:15px;font-weight:750;white-space:nowrap}
.asp-calendar-header>button{width:37px;height:37px;border:1px solid #dce5ee;border-radius:9px;background:#f7fafd;color:#193d6b;font-size:23px;line-height:1}
.asp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.asp-calendar-weekday{padding:6px 0;color:#657991;text-align:center;font-size:11px;font-weight:750}
.asp-calendar-day{min-width:0;width:100%;height:37px;border:0;border-radius:8px;background:transparent;color:#213852;font-size:13px;padding:0;line-height:1}
.asp-calendar-day:hover:not(:disabled),.asp-calendar-day:focus-visible{background:#e5f1fc;outline:2px solid #72a0d0;outline-offset:0}
.asp-calendar-day.asp-calendar-outside{color:#9caabd}
.asp-calendar-day.asp-calendar-today{border:1px solid #427db2}
.asp-calendar-day.asp-calendar-selected{background:#163e72!important;color:#fff!important;font-weight:800}
.asp-calendar-day:disabled{color:#b4bfcc;cursor:not-allowed;opacity:.6}
.asp-calendar-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:11px;border-top:1px solid #e4ebf3}
.asp-calendar-footer>button{background:#f1f6fb;border:1px solid #d8e4f0;border-radius:8px;padding:8px 13px;color:#224973;font-size:12px;font-weight:650}
.asp-calendar-footer>button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:650px){#public-form .form-step>.public-field.half{grid-column:1 / -1}#public-form .form-step:not([hidden]){grid-template-columns:minmax(0,1fr)}#public-form .form-step-controls .button{min-width:100px!important}.asp-calendar{padding:10px}.asp-calendar-day{height:35px}}

/* Public select focus: navy border, no green outer highlight. */
#public-form .public-field select:focus,
#public-form .public-field select:focus-visible{outline:none;box-shadow:none;border-color:#163e72}


/* Forms Studio global field focus policy: neutral grey, never green/teal.
   Applies to existing and newly created forms, including embedded forms. */
:where(body, #public-form, .public-shell, .form-panel) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select, [contenteditable="true"]):is(:focus, :focus-visible),
#public-form .public-field :is(input, textarea, select):is(:focus, :focus-visible),
.public-field :is(input, textarea, select):is(:focus, :focus-visible) {
  border-color: #aab5c4 !important;
  outline: 2px solid #aab5c4 !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}
