/* Report location selectors share the form's typography, colors and spacing. */
.location-picker { min-width: 0; align-self: start; }
.location-picker__control { position: relative; --z-location-options: 20; }
.location-picker__control input:not([type=hidden]) { padding-right: 44px; }
.location-picker__control input:disabled { background: #e7e6e2; color: var(--muted); border-color: #7d8289; cursor: not-allowed; opacity: 1; }
.location-picker__control input::placeholder { color: var(--muted); opacity: 1; }
.location-picker__control input[aria-invalid=true] { border-color: var(--orange-deep); }
.location-picker__clear { position: absolute; right: 2px; top: 2px; width: 44px; height: 46px; border: 0; background: transparent; color: var(--ink); font-size: 24px; cursor: pointer; }
.location-picker__clear:hover { background: var(--cream); }
.location-picker__options { position: absolute; z-index: var(--z-location-options); top: calc(100% + 4px); left: 0; right: 0; margin: 0; padding: 4px; list-style: none; max-height: min(280px, 45vh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--ink); background: white; color: var(--ink); box-shadow: 0 6px 16px #131a261a; text-transform: none; letter-spacing: 0; font-weight: 400; }
.location-picker__option { display: grid; gap: 3px; min-height: 44px; padding: 10px; cursor: pointer; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
.location-picker__option small { font-size: 13px; color: var(--muted); }
.location-picker__option:hover, .location-picker__option.is-active { background: #fff0e9; outline: 1px solid var(--orange-deep); outline-offset: -1px; }
.location-picker__option[aria-selected=true] > span { font-weight: 700; }
.location-picker__skip { align-self: flex-start; padding: 4px 0; min-height: 32px; border: 0; background: transparent; color: #a6320c; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.location-feedback { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.location-picker [hidden], .location-feedback[hidden], .location-feedback [hidden] { display: none; }

/* State uses the same select behavior as the admin, styled for the public form. */
.state-picker { min-width:0;align-self:start; }
.state-picker .custom-select { width:100%;min-width:0; }
.state-picker [hidden] { display:none; }
.state-picker .select-trigger { display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:54px;padding:14px;border:2px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:400 17px/1.3 var(--text);text-transform:none;letter-spacing:0;text-align:left;cursor:pointer; }
.state-picker .select-trigger>span:first-child { min-width:0;overflow-wrap:anywhere; }
.state-picker .select-trigger[aria-expanded=true] { border-color:var(--orange-deep); }
.state-picker .select-trigger[aria-invalid=true] { border-color:var(--orange-deep); }
.state-picker .select-chevron { width:9px;height:9px;flex:0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-inline:6px; }
.state-picker .select-trigger[aria-expanded=true] .select-chevron { transform:translateY(2px) rotate(225deg); }
.state-picker .select-options { --z-state-options:20;position:fixed;z-index:var(--z-state-options);overflow-y:auto;overscroll-behavior:contain;max-height:320px;margin:0;padding:4px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:400 16px/1.35 var(--text);text-transform:none;letter-spacing:0; }
.state-picker .select-option { position:relative;min-height:44px;padding:11px 36px 11px 12px;cursor:pointer;overflow-wrap:anywhere; }
.state-picker .select-option:hover,.state-picker .select-option.is-active { background:#fff0e9;outline:1px solid var(--orange-deep);outline-offset:-1px; }
.state-picker .select-option[aria-selected=true] { color:#a6320c;background:#fff0e9;font-weight:600; }
.state-picker .select-option[aria-selected=true]::after { content:'✓';position:absolute;right:12px;top:11px; }
.state-picker .select-option[aria-disabled=true] { opacity:.5;cursor:default; }
@media(forced-colors:active){
 .state-picker .select-option[aria-selected=true] { color:HighlightText;background:Highlight; }
 .state-picker .select-option.is-active { outline-color:Highlight; }
}
