/* Styled searchable dropdown (assets/js/pvp_select.js), same look as the city page location picker. Added 2026-10-10. */
.pvp-sel { position: relative; flex: 1 1 260px; min-width: 0; }
body .pvp-sel .pvp-sel__trigger {
  display: flex; align-items: center; gap: 10px; width: 100%; height: 48px; margin: 0; padding: 0 40px 0 14px;
  border: 1.5px solid #cfd8dc; border-radius: 12px; background: #F9FAFA; color: #6b7780;
  font: 400 15.5px 'Fira Sans', sans-serif; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer;
  transition: border-color .15s, background-color .15s, box-shadow .15s;
}
body .pvp-sel .pvp-sel__trigger:hover { border-color: #0BB7B3; background: #fff; color: #6b7780; }
body .pvp-sel.is-open .pvp-sel__trigger,
body .pvp-sel .pvp-sel__trigger:focus-visible { border-color: #0BB7B3; background: #fff; box-shadow: 0 0 0 4px rgba(11, 183, 179, .15); outline: none; }
body .pvp-sel .pvp-sel__trigger.has-value { color: #1A1A2E; font-weight: 500; background: #fff; border-color: #9fd9d7; }
.pvp-sel__pin { flex: 0 0 auto; color: #0A7F7C; }
.pvp-sel__label { flex: 1 1 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pvp-sel__chev { position: absolute; right: 14px; top: 16px; color: #1A395C; transition: transform .15s; pointer-events: none; }
.pvp-sel.is-open .pvp-sel__chev { transform: rotate(180deg); }
.pvp-sel .pvp-sel__trigger.has-value .pvp-sel__chev { display: none; }
body .pvp-sel .pvp-sel__clear {
  position: absolute; right: 8px; top: 8px; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 50%;
  background: #EEF2F2; color: #1A395C; font-size: 18px; line-height: 32px; text-align: center; cursor: pointer;
}
body .pvp-sel .pvp-sel__clear:hover, body .pvp-sel .pvp-sel__clear:focus { background: #dbe5e5; color: #1A395C; }
.pvp-sel__panel {
  position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: max(100%, 300px); max-width: calc(100vw - 32px);
  background: #fff; border: 1px solid #e3e9ea; border-radius: 14px; box-shadow: 0 20px 44px rgba(16, 24, 40, .18); overflow: hidden;
}
.pvp-sel__search { display: flex; align-items: center; gap: 8px; margin: 10px; padding: 0 12px; border: 1px solid #e3e9ea; border-radius: 10px; background: #F9FAFA; color: #8A96A3; }
body .pvp-sel .pvp-sel__search input {
  flex: 1 1 auto; min-width: 0; height: 42px; margin: 0; padding: 0; border: 0; background: transparent;
  color: #1A1A2E; font: 15px 'Fira Sans', sans-serif; box-shadow: none;
}
body .pvp-sel .pvp-sel__search input:focus { outline: none; box-shadow: none; }
.pvp-sel__search:focus-within { border-color: #0BB7B3; background: #fff; }
.pvp-sel__list { max-height: 300px; overflow-y: auto; padding: 0 6px 8px; overscroll-behavior: contain; }
.pvp-sel__group {
  position: sticky; top: 0; z-index: 1; padding: 12px 10px 6px; background: #fff;
  font: 600 12px 'Fira Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #0A7F7C;
}
.pvp-sel__opt { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 10px; border-radius: 10px; color: #1A1A2E; font: 15px 'Fira Sans', sans-serif; cursor: pointer; }
.pvp-sel__opt:hover, .pvp-sel__opt.is-active { background: #F1FAF9; }
.pvp-sel__opt.is-selected { background: #E3F6F5; font-weight: 600; }
.pvp-sel__opt.is-empty { cursor: default; color: #8A96A3; }
.pvp-sel__opt.is-empty:hover { background: transparent; }
.pvp-sel__name { flex: 1 1 auto; min-width: 0; }
.pvp-sel__meta { flex: 0 0 auto; font-size: 13px; color: #0A7F7C; font-weight: 500; white-space: nowrap; }
.pvp-sel__badge { flex: 0 0 auto; padding: 2px 8px; border-radius: 999px; background: #EEF2F2; color: #1A395C; font-size: 12px; font-weight: 500; white-space: nowrap; }
.pvp-sel__empty { margin: 4px 16px 14px; font-size: 14px; color: #666; }
body .pvp-sel__empty a { color: #0A7F7C; font-weight: 600; }
/* In the photo tray's narrow assign panel the list opens full width of the panel. */
.pvp-tray__field .pvp-sel { flex: none; width: 100%; }
.pvp-tray__field .pvp-sel__panel { width: 100%; min-width: 0; }
@media (max-width: 600px) {
  .pvp-sel__panel { width: 100%; }
  .pvp-sel__list { max-height: 260px; }
}
