/* Developments listing, filters, map and result cards. Scoped to .pg-devs. */
.pg-devs { color: #2b2e33; background: #ffffff; }
.pg-devs *, .pg-devs *::before, .pg-devs *::after { box-sizing: border-box; }
.pg-devs [hidden] { display: none !important; }
.pg-devs__inner { width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
.pg-devs__section { padding: 8px 0 96px; background: #ffffff; }
.pg-devs__filter-panel { padding: 20px; border: 1px solid #e0ebf1; border-radius: 24px; background: #ffffff; box-shadow: 0 10px 30px rgba(6, 43, 67, 0.06); }
.pg-devs__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pg-devs__field { flex: 1 1 200px; min-width: 0; }
.pg-devs__field select { width: 100%; max-width: 100%; height: 46px; min-height: 46px; padding: 0 16px; border: 1px solid #d3e3ec; border-radius: 999px; background: #ffffff; color: #2b2e33; font: inherit; font-size: 14px; font-weight: 600; }
.pg-devs__submit { min-height: 46px; padding: 0 30px; border: 0; border-radius: 999px; background: #2b2e33; color: #ffffff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.pg-devs__filter-toggle { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; border: 1.5px solid #2b2e33; border-radius: 999px; background: #ffffff; color: #2b2e33; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.pg-devs__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; border: 0; clip-path: inset(50%); white-space: nowrap; }
.pg-devs__map-wrap { margin-top: 20px; overflow: hidden; border: 1px solid #cfe1ea; border-radius: 28px; background: #eaf5fb; }
.pg-devs #mapemp { position: relative; display: block; width: 100%; height: 300px; min-height: 300px; z-index: 0; background: #dcebf2; }
.pg-devs .development-map-marker { border: 0; background: transparent; }
.pg-devs .development-map-marker span { display: inline-flex; align-items: center; max-width: 200px; min-height: 30px; padding: 6px 12px; overflow: hidden; border-radius: 999px; background: #ffffff; color: #2b2e33; box-shadow: 0 6px 14px rgba(6, 43, 67, 0.25); font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.pg-devs__results-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; }
.pg-devs__results-head h2 { margin: 0; color: #2b2e33; font-family: inherit; font-size: 22px; font-weight: 800; line-height: 1.4; }
.pg-devs__results-head [data-total-results] { color: #009cde; font-size: 26px; }
.pg-devs__map-toggle { min-height: 44px; padding: 0 18px; border: 1.5px solid #2b2e33; border-radius: 999px; background: transparent; color: #2b2e33; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.pg-devs__list { display: flex; flex-direction: column; gap: 24px; margin-top: 20px; }
.pg-devs__card { display: flex; flex-wrap: wrap; min-width: 0; overflow: hidden; border-radius: 28px; background: #f3f8fb; }
.pg-devs__card-media { position: relative; display: block; flex: 1 1 340px; min-width: 0; min-height: 340px; background: #e0ebf1; }
.pg-devs__card-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-devs__card-stage { position: absolute; top: 14px; left: 14px; max-width: calc(100% - 28px); padding: 7px 14px; border-radius: 999px; background: #ffffff; color: #2b2e33; font-size: 12px; font-weight: 800; line-height: 1.6; }
.pg-devs__card-body { display: flex; flex: 1 1 340px; flex-direction: column; justify-content: center; gap: 10px; min-width: 0; padding: 36px; }
.pg-devs__card-body h3 { margin: 0; color: #056f9d; font-family: inherit; font-size: 24px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.pg-devs__card-body h3 a { color: inherit; text-decoration: none; }
.pg-devs__card-place { display: flex; align-items: center; gap: 6px; margin: 0; color: #52697a; font-size: 14px; font-weight: 600; line-height: 1.6; }
.pg-devs__card-summary { margin: 4px 0 12px; color: #3d5566; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.pg-devs__card-link { display: inline-flex; align-items: center; align-self: flex-start; min-height: 48px; padding: 0 24px; border: 1.5px solid #2b2e33; border-radius: 999px; color: #2b2e33; font-size: 15px; font-weight: 700; text-decoration: none; }
.pg-devs__card-link:hover { background: #2b2e33; color: #ffffff; }
.pg-devs__empty { margin-top: 24px; padding: 40px 24px; border-radius: 28px; background: #f3f8fb; color: #52697a; text-align: center; }
.pg-devs__pagination:empty { display: none; }
.pg-devs__pagination ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 40px 0 0; padding: 0; list-style: none; }
.pg-devs__pagination button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 16px; border: 1px solid #d3e3ec; border-radius: 999px; background: #ffffff; color: #2b2e33; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.pg-devs__pagination button.active { border-color: #2b2e33; background: #2b2e33; color: #ffffff; }
.pg-devs :where(a, button, select):focus-visible { outline: 3px solid #009cde; outline-offset: 3px; }
@media (max-width: 767.98px) {
  .pg-devs__filter-toggle { display: inline-flex; }
  .pg-devs__filters { display: none; margin-top: 16px; }
  .pg-devs__filters.is-open { display: flex; }
  .pg-devs__field { flex-basis: 100%; }
  .pg-devs__submit { width: 100%; }
}
@media (max-width: 575.98px) {
  .pg-devs__inner { width: calc(100% - 32px); }
  .pg-devs__section { padding-bottom: 56px; }
  .pg-devs__filter-panel { padding: 16px; }
  .pg-devs__card-body { padding: 28px 24px; }
}

.pg-devs #mapemp:empty::after { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; color: #52697a; font-size: 14px; font-weight: 600; text-align: center; content: "Las ubicaciones se mostrarán cuando estén disponibles."; }
