.quote-location { min-width: 0; }
.quote-location-control { position: relative; min-width: 0; }
.quote-location-control #quote-city { padding-right: 42px; }
.quote-location-search { position: absolute; right: 14px; top: 15px; width: 20px; height: 20px; color: #8a7b70; fill: none; stroke: currentColor; stroke-width: 1.5; pointer-events: none; }
.quote-location-menu { position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; right: 0; max-height: min(310px, 42dvh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #e8e1da; border-radius: 14px; padding: 6px; background: #fff; box-shadow: 0 12px 36px #30282120; scrollbar-width: thin; scrollbar-color: #c5b6af transparent; }
.quote-location-menu[hidden] { display: none; }
.quote-location-option { display: flex; flex-direction: column; gap: 3px; min-height: 58px; padding: 10px 12px; border-radius: 9px; cursor: pointer; overflow-wrap: anywhere; }
.quote-location-option:hover, .quote-location-option.is-active { background: #f6f2ee; }
.quote-location-option[aria-selected="true"] { background: #85021608; }
.quote-location-option-name { color: #302821; font-size: 15px; line-height: 1.35; }
.quote-location-option[aria-selected="true"] .quote-location-option-name { color: var(--accent, #850216); }
.quote-location-option-state { color: #746960; font-size: 12px; line-height: 1.4; }
.quote-location-menu-note { margin: 0; padding: 10px 12px; color: #746960; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.quote-location-hint { margin: 10px 0 0; color: #62584f; font-size: 13px; line-height: 1.45; }
.quote-location-error { margin: 10px 0 0; color: var(--accent, #850216); font-size: 14px; line-height: 1.45; }
.quote-location-error:empty { display: none; }
.quote-location-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  .quote-location-menu { max-height: min(280px, 40dvh); }
}
