/* DaaS service directory ([find_a_pilot]) rules extracted from find-a-pilot.css for routes that embed the directory (e.g. /custom-drone-services/). */
.dbn-find2 { display: block; width: 100%; }
.dbn-find2__left { padding: 32px 28px 32px 56px; background: rgb(255, 255, 255); }
.dbn-find2__title { font-size: 54px; line-height: 1; margin: 0px 0px 14px; font-weight: 800; }
.dbn-find2__form { background: rgb(255, 255, 255); border-top: 1px solid rgba(0, 0, 0, 0.08); padding-top: 16px; }
.dbn-find2__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 14px; }
.dbn-find2__row--single { grid-template-columns: 1fr; }
.dbn-find2__label { display: block; font-size: 14px; font-weight: 700; margin: 0px 0px 8px; color: rgb(31, 42, 55); }
.dbn-find2__select, .dbn-find2__input { width: 100%; box-sizing: border-box; height: 48px; border-radius: 5px; border: 1px solid rgba(0, 0, 0, 0.12); padding: 0px 14px; background: rgb(243, 244, 246); outline: none; }
.dbn-find2__field--location .dbn-find2__input { height: 44px; }
.dbn-find2__input-group { position: relative; }
.dbn-find2__input-group .dbn-find2__input { padding-right: 44px; }
.dbn-find2__locate { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0px; border-radius: 999px; background: transparent; color: rgb(79, 137, 166); cursor: pointer; }
.dbn-find2__select-group { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dbn-find2__actions { display: flex; gap: 14px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.dbn-find2__btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0px 18px; border-radius: 5px; text-decoration: none; font-weight: 700; border: 0px; cursor: pointer; }
.dbn-find2__btn--primary { background: rgb(79, 137, 166); color: rgb(255, 255, 255); margin-top: 6px; }
.dbn-find2__clear { margin-left: auto; font-weight: 700; text-decoration: none; color: rgb(17, 24, 39); opacity: 0.75; }
.dbn-find2__meta { display: flex; justify-content: space-between; align-items: center; margin: 16px 0px 12px; padding-top: 10px; border-top: 1px solid rgba(0, 0, 0, 0.08); color: rgb(107, 114, 128); font-weight: 600; }
.dbn-find2__sort { display: flex; align-items: center; gap: 8px; }
.dbn-find2__sort-label { font-size: 14px; }
.dbn-find2__sort-select { height: 40px; border-radius: 5px; border: 1px solid rgb(102, 155, 188); background: rgb(102, 155, 188); color: rgb(255, 255, 255); padding: 0px 12px; font-weight: 600; }
.dbn-find2__results { margin-top: 12px; }
.dbn-find2__item { display: flex; gap: 16px; padding: 16px 0px; border-top: 1px solid rgba(0, 0, 0, 0.08); text-decoration: none; color: inherit; }
.dbn-find2__thumb { width: 220px; min-width: 220px; height: 140px; border-radius: 5px; overflow: hidden; display: block; background: rgb(229, 231, 235); position: relative; }
.dbn-find2__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dbn-find2__avatar { position: absolute; top: 10px; left: 10px; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; border: 2px solid rgb(255, 255, 255); box-shadow: rgba(15, 23, 42, 0.2) 0px 8px 16px; background: rgb(255, 255, 255); z-index: 2; display: inline-flex; align-items: center; justify-content: center; }
.dbn-find2__avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.dbn-find2__thumb--placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, rgb(229, 231, 235), rgb(243, 244, 246)); }
.dbn-find2__name { margin: 0px 0px 8px; font-size: 18px; font-weight: 800; }
.dbn-find2__desc { color: rgb(107, 114, 128); font-weight: 600; font-size: 14px; }
.dbn-find2__price { margin-top: 12px; font-weight: 800; color: rgb(79, 137, 166); }
.dbn-find2__pagination { margin: 20px 0px 10px; }
.dbn-find2__pagination ul { list-style: none; display: flex; gap: 8px; padding: 0px; margin: 0px; }
.dbn-find2__pagination a, .dbn-find2__pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; border-radius: 5px; border: 1px solid rgba(0, 0, 0, 0.12); text-decoration: none; color: rgb(17, 24, 39); font-weight: 600; background: rgb(243, 244, 246); }
.dbn-find2__pagination .current { background: rgb(79, 137, 166); color: rgb(255, 255, 255); border-color: rgb(79, 137, 166); }
.dbn-find2__view-toggle { display: inline-flex; gap: 8px; margin-left: auto; margin-right: 12px; }
.dbn-find2__view-btn { border: 1px solid rgba(79, 137, 166, 0.35); background: rgb(255, 255, 255); color: rgb(31, 42, 55); font-weight: 700; padding: 8px 12px; cursor: pointer; border-radius: 5px !important; }
.dbn-find2__view-btn.is-active { background: rgb(79, 137, 166); color: rgb(255, 255, 255); }
.dbn-find2__map-wrap { margin-top: 14px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 5px; padding: 14px; background: rgb(255, 255, 255); }
.dbn-find2__map-canvas { height: 460px; border-radius: 5px; overflow: hidden; }
.dbn-find2__map-marker-wrap { background: transparent; border: 0px; }
.dbn-find2__map-marker { display: block; width: 46px; height: 46px; border-radius: 50%; border: 3px solid rgb(255, 255, 255); box-shadow: rgba(15, 23, 42, 0.24) 0px 8px 20px; background-color: rgb(219, 234, 254); background-size: cover; background-position: center center; }
.dbn-find2__map-note { margin: 10px 0px 0px; color: rgb(107, 114, 128); font-weight: 600; }
.dbn-find2__map-selection { position: fixed; inset: 0px; z-index: 10000; background: rgba(15, 23, 42, 0.48); padding: 20px; display: flex; align-items: center; justify-content: center; }
.dbn-find2__map-selection[hidden] { display: none !important; }
.dbn-find2__map-selection-dialog { width: min(1040px, 100%); max-height: min(80vh, 760px); overflow: auto; border-radius: 5px; background: rgb(255, 255, 255); border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: rgba(15, 23, 42, 0.25) 0px 28px 60px; padding: 20px; }
.dbn-find2__map-selection-close { margin-left: auto; border: 0px; background: transparent; color: rgb(107, 114, 128); font-size: 30px; line-height: 1; cursor: pointer; display: block; }
.dbn-find2__map-selection-head { display: flex; align-items: center; gap: 12px; }
.dbn-find2__map-selection-avatar { width: 46px; height: 46px; border-radius: 50%; background-size: cover; background-position: center center; background-color: rgb(243, 244, 246); }
.dbn-find2__map-selection-name { margin: 0px; font-size: 16px; font-weight: 800; color: rgb(17, 24, 39); }
.dbn-find2__map-selection-location { margin: 2px 0px 0px; font-size: 13px; color: rgb(107, 114, 128); font-weight: 600; }
.dbn-find2__map-selection-label { margin: 12px 0px 8px; color: rgb(17, 24, 39); font-weight: 700; }
.dbn-find2__map-selection-services { width: 100%; border-collapse: collapse; border: 1px solid rgba(17, 24, 39, 0.1); border-radius: 5px; overflow: hidden; background: rgb(255, 255, 255); }
.dbn-find2__map-selection-services th, .dbn-find2__map-selection-services td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid rgba(17, 24, 39, 0.08); color: rgb(31, 41, 55); font-size: 14px; }
.dbn-find2__map-selection-services th { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: rgb(107, 114, 128); background: rgb(248, 250, 252); }
.dbn-find2__map-selection-services tbody tr:last-child td { border-bottom: 0px; }
.dbn-find2__map-selection-services a { color: rgb(79, 137, 166); text-decoration: none; font-weight: 700; }
.dbn-find2__map-selection-col-image { width: 76px; }
.dbn-find2__map-selection-col-image img { width: 58px; height: 58px; object-fit: cover; border-radius: 5px; display: block; background: rgb(229, 231, 235); }
.dbn-find2__map-selection-no-image { display: inline-flex; width: 58px; height: 58px; align-items: center; justify-content: center; border-radius: 5px; background: rgb(243, 244, 246); color: rgb(156, 163, 175); }
@media (max-width: 980px) {
  .dbn-find2 { display: block; }
  .dbn-find2__row { grid-template-columns: 1fr; }
  .dbn-find2__meta { flex-wrap: wrap; gap: 10px; }
  .dbn-find2__view-toggle { margin-left: 0px; margin-right: 0px; }
  .dbn-find2__map-canvas { height: 360px; }
  .dbn-find2__select-group { grid-template-columns: 1fr; }
  .dbn-find2__thumb { width: 160px; min-width: 160px; height: 110px; }
  .dbn-find2__title { font-size: 40px; }
  .dbn-find2__left { height: auto; overflow: visible; padding: 24px; }
  .dbn-find2__map-selection { padding: 12px; }
  .dbn-find2__map-selection-dialog { padding: 14px; }
  .dbn-find2__map-selection-services { display: block; overflow-x: auto; white-space: nowrap; }
}
.dbn-find2__view-toggle { border-radius: 5px !important; }
.dbn-find2__view-btn:hover { color: rgb(255, 255, 255); }
.dbn-find2__view-toggle { display: inline-flex; border-radius: 5px; overflow: hidden; margin-left: auto; margin-right: 12px; border: 0px solid rgba(79, 137, 166, 0.35) !important; }
/* React fix: keep Leaflet panes (z-index 400+) inside the map so they never paint over the fixed site header. */
.dbn-find2__map-canvas { position: relative; z-index: 0; isolation: isolate; }

/* React fix: inline "Use my location" error and the empty-state "Clear filters" link. */
.dbn-find2__locate-error { margin: 6px 0px 0px; font-size: 13px; font-weight: 600; color: rgb(185, 28, 28); }
.dbn-find2__clear-link { color: rgb(79, 137, 166); font-weight: 700; text-decoration: underline; }
.dbn-find2__select:disabled { opacity: 0.6; cursor: not-allowed; }
/* React fix: phones (<=600px) - stack result cards, full-width filters/buttons, wrap the map selection table. */
@media (max-width: 600px) {
  .dbn-find2__left { padding: 16px; }
  .dbn-find2__title { font-size: 30px; }
  .dbn-find2__actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .dbn-find2__btn, .dbn-find2__btn--primary { width: 100%; }
  .dbn-find2__clear { margin-left: 0px; text-align: center; }
  .dbn-find2__meta { flex-direction: column; align-items: stretch; }
  .dbn-find2__view-toggle { display: flex; width: 100%; margin: 0px; }
  .dbn-find2__view-btn { flex: 1 1 0%; }
  .dbn-find2__sort { width: 100%; }
  .dbn-find2__sort-select { flex: 1 1 auto; min-width: 0px; }
  .dbn-find2__item { flex-direction: column; gap: 12px; }
  .dbn-find2__thumb { width: 100%; min-width: 0px; height: auto; aspect-ratio: 16 / 9; }
  .dbn-find2__thumb img { width: 100%; height: 100%; object-fit: cover; }
  .dbn-find2__info { min-width: 0px; }
  .dbn-find2__name { font-size: 17px; overflow-wrap: anywhere; }
  .dbn-find2__pagination ul { flex-wrap: wrap; }
  .dbn-find2__map-canvas { height: 300px; }
  .dbn-find2__map-selection { padding: 8px; }
  .dbn-find2__map-selection-dialog { padding: 12px; max-height: 88vh; }
  .dbn-find2__map-selection-services, .dbn-find2__map-selection-services tbody { display: block; width: 100%; overflow: visible; white-space: normal; }
  .dbn-find2__map-selection-services thead { display: none; }
  .dbn-find2__map-selection-services tr { display: grid; grid-template-columns: 58px minmax(0px, 1fr); column-gap: 12px; row-gap: 4px; padding: 10px 12px; border-bottom: 1px solid rgba(17, 24, 39, 0.08); }
  .dbn-find2__map-selection-services tbody tr:last-child { border-bottom: 0px; }
  .dbn-find2__map-selection-services td { display: block; padding: 0px; border-bottom: 0px; white-space: normal; overflow-wrap: anywhere; font-size: 13px; }
  .dbn-find2__map-selection-services td.dbn-find2__map-selection-col-image { grid-row: span 3; width: auto; }
}
