/* v2.4 · panel del mapa más legible */
.map-result-list{grid-template-columns:1fr;gap:14px}
.map-listing{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:stretch;min-height:170px}
.map-listing-photo{position:relative;height:100%;min-height:170px;background:#cce7ee}
.map-listing-photo img{width:100%;height:100%;object-fit:cover;display:block}
.map-listing-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(180deg,rgba(4,35,54,0) 0%,rgba(4,35,54,.74) 72%,rgba(4,35,54,.92) 100%)}
.map-photo-badge{position:absolute;left:12px;z-index:2;display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.map-photo-badge-top{top:12px;background:#fffdf4;color:#7f5a12;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.map-photo-badge-bottom{left:14px;right:14px;bottom:12px;background:transparent;color:#fff;font-size:18px;font-weight:700;letter-spacing:0;text-transform:none;padding:0;text-shadow:0 3px 16px rgba(0,0,0,.44)}
.map-photo-state{position:absolute;right:12px;top:12px;z-index:2;background:#0b7694;color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.map-listing-info{padding:15px 15px 14px;display:flex;flex-direction:column;justify-content:center}
.map-listing-complex{font-size:11px;color:#0a7e99;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.map-listing-info h3{font-family:Georgia,serif;color:#083b57;font-size:24px;line-height:1.08;margin:7px 0 8px}
.map-listing-info p{font-size:13px;color:#607884;line-height:1.45;margin:0 0 10px}
.map-listing-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.map-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.04em}
.map-chip.is-active{background:#e8f8ef;color:#0f6a3a}
.map-chip.is-soon{background:#fff4da;color:#8a6510}
.map-card-link{font-size:13px;font-weight:800;color:#05688f;text-decoration:none}
.map-card-link:hover{text-decoration:underline}
.tucacas-pin-popup img{width:100%;height:130px;object-fit:cover;border-radius:10px 10px 0 0;display:block}
.tucacas-pin-popup-body{padding:11px 12px 12px}.tucacas-pin-popup-body small{display:block;color:#0a7e99;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.tucacas-pin-popup-body strong{display:block;font-size:22px;line-height:1.05;color:#083b57}.tucacas-pin-popup-body a{margin-top:10px;font-size:13px}
@media(max-width:1080px){.map-listing{grid-template-columns:180px minmax(0,1fr)}.map-listing-info h3{font-size:22px}}
@media(max-width:850px){.map-result-list{grid-template-columns:1fr}.map-listing{grid-template-columns:165px minmax(0,1fr);min-height:150px}.map-listing-photo{min-height:150px}.map-photo-badge-bottom{font-size:16px}}
@media(max-width:520px){.map-listing{grid-template-columns:1fr}.map-listing-photo{height:210px;min-height:210px}.map-listing-info h3{font-size:22px}}

/* v2.6: mostrar las fotografías COMPLETAS, sin recorte en las tarjetas y popups */
.map-listing{grid-template-columns:minmax(250px,48%) minmax(0,1fr);min-height:230px}
.map-listing-photo{height:230px;min-height:230px;background:#e6f2f5}
.map-listing-photo img{width:100%;height:100%;object-fit:contain;object-position:center center}
.map-listing-photo::after{height:42%;pointer-events:none}
.map-listing-info{padding:20px}
.tucacas-pin-popup img{width:100%;height:190px;object-fit:contain;background:#e6f2f5}
@media(max-width:1080px){.map-listing{grid-template-columns:minmax(215px,45%) minmax(0,1fr);min-height:215px}.map-listing-photo{height:215px;min-height:215px}}
@media(max-width:850px){.map-listing{grid-template-columns:minmax(210px,44%) minmax(0,1fr);min-height:210px}.map-listing-photo{height:210px;min-height:210px}}
@media(max-width:520px){.map-listing{grid-template-columns:1fr}.map-listing-photo{height:235px;min-height:235px}.map-listing-info{padding:16px}}

/* v2.7 - Restaurar tamaño de marcadores de fotografías en Leaflet.
   Esta corrección afecta solo a las miniaturas DENTRO del mapa;
   las fotografías del listado conservan el modo sin recorte de la v2.6. */
#tucacas-map .tucacas-marker-shell {
  background: transparent !important;
  border: 0 !important;
  width: 64px !important;
  height: 70px !important;
}
#tucacas-map .tucacas-photo-marker {
  position: relative;
  width: 64px !important;
  height: 64px !important;
  padding: 4px;
  border: 3px solid #fff;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(3,48,67,.36);
  overflow: visible;
  cursor: pointer;
  box-sizing: border-box;
}
#tucacas-map .tucacas-photo-marker::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 20px;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 11px solid #fff;
}
#tucacas-map .tucacas-photo-marker > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  border-radius: 9px;
}
#tucacas-map .tucacas-pin-popup {width: 235px; max-width: 100%}
#tucacas-map .tucacas-pin-popup > img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: contain;
  background: #e6f2f5;
  border-radius: 7px;
}
#tucacas-map .tucacas-pin-popup-body {padding: 10px 3px 2px; display:flex;flex-direction:column;gap:7px}
#tucacas-map .tucacas-pin-popup-body small {font-size:10px;color:#0b7192;font-weight:800;letter-spacing:.1em}
#tucacas-map .tucacas-pin-popup-body strong {font-size:17px;color:#063852}
#tucacas-map .tucacas-pin-popup-body a {color:#006e99;font-size:13px;font-weight:800;text-decoration:underline}

/* v4.0 — Corregir doble scroll y cabecera del catálogo del mapa */
.map-explore-layout{align-items:start;min-height:0}
.map-explore-layout .map-results{max-height:none!important;height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
.map-explore-layout .map-results-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:24px 24px 10px;flex-wrap:wrap}
.map-explore-layout .map-results-top strong{line-height:1.2}
.map-explore-layout .map-filter{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;align-items:center;gap:8px;padding:4px 24px 18px;min-height:45px}
.map-explore-layout .map-filter-btn{flex:0 0 auto;line-height:1.2;min-height:32px;padding:7px 14px}
.map-explore-layout .map-result-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;max-height:none!important;height:auto!important;overscroll-behavior:auto;align-content:start;gap:12px;padding:0 22px 24px}
.map-explore-layout .map-listing{grid-template-columns:minmax(165px,40%) minmax(0,1fr)!important;min-height:165px!important;height:auto!important}
.map-explore-layout .map-listing-photo{min-height:165px!important;height:165px!important}
.map-explore-layout .map-listing-info{padding:14px 16px!important}
.map-explore-layout .map-listing-info h3{font-size:clamp(18px,1.7vw,23px);line-height:1.13}
.map-explore-layout .map-pane{height:700px;min-height:700px;align-self:start;overflow:hidden}
.map-explore-layout .map-pane #tucacas-map{height:100%;width:100%}
@media(max-width:850px){
 .map-explore-layout{display:block}
 .map-explore-layout .map-pane{height:360px;min-height:360px}
 .map-explore-layout .map-results-top{padding:20px 16px 10px}
 .map-explore-layout .map-filter{padding:4px 16px 14px}
 .map-explore-layout .map-result-list{padding:0 14px 20px}
}
@media(max-width:530px){
 .map-explore-layout .map-pane{height:310px;min-height:310px}
 .map-explore-layout .map-listing{grid-template-columns:128px minmax(0,1fr)!important;min-height:160px!important}
 .map-explore-layout .map-listing-photo{height:160px!important;min-height:160px!important}
 .map-explore-layout .map-listing-info{padding:10px!important}
 .map-explore-layout .map-listing-info h3{font-size:18px}
 .map-explore-layout .map-photo-badge-bottom{font-size:13px}
 .map-explore-layout .map-results-top span{font-size:11px}
}
