
.gpm-container{
 background:#f9f9f9a1;
 border:1px solid #ccc;
}
.gpm-wrapper{display:flex;height:600px;border-top:1px solid #ddd}
.gpm-left{width:35%;overflow:auto;padding:0;border-right:1px solid #ddd}
.gpm-right{width:65%}
#property-map{width:100%;height:100%}
#property-map .maplibregl-map{width:100%;height:100%}
.gpm-filter{
 display:flex;
 gap:10px;
 margin-bottom:12px;
 padding:10px 12px;
}
.gpm-filter-item{
 flex:1 1 0;
}
.gpm-filter select{
 width:100%;
 padding:10px 36px 10px 12px;
 border:1px solid #d0d0d0;
 border-radius:4px;
 background-color:#fff;
 background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27%3E%3Cpath d=%27M2 4l4 4 4-4%27 fill=%27none%27 stroke=%27%23666%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 12px center;
 background-size:12px 12px;
 color:#111;
 outline:none !important;
 box-shadow:none !important;
 -webkit-appearance:none;
 -moz-appearance:none;
 appearance:none;
 min-height:42px;
}
.gpm-filter select::-ms-expand{
 display:none;
}
.gpm-filter select:focus{
 border-color:#9aa9b8;
 outline:none !important;
 box-shadow:0 0 0 2px rgba(86,119,152,0.14) !important;
}

.gpm-left li{padding:10px;border-bottom:1px solid #eee;cursor:pointer}
.gpm-left li:hover{background:#eaf3ff;color:#0073e6}
.gpm-left .gpm-empty{
 color:#9ca3af;
 cursor:default;
 font-style:italic;
}
.gpm-left .gpm-type-group{
 padding:0;
 cursor:default;
 background:transparent;
}
.gpm-left .gpm-type-group:hover{
 background:transparent;
 color:inherit;
}
.gpm-type-toggle{
 width:100%;
 padding:12px 10px;
 border:0;
 border-bottom:1px solid #eee;
 background:#fff;
 display:flex;
 align-items:center;
 gap:10px;
 cursor:pointer;
 text-align:left;
}
.gpm-type-title{
 flex:1 1 auto;
 font-weight:600;
}
.gpm-type-count{
 min-width:28px;
 height:22px;
 padding:0 8px;
 border-radius:999px;
 background:#eef3f9;
 color:#32445a;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 font-size:12px;
 font-weight:600;
}
.gpm-type-toggle::after{
 content:'\25BE';
 color:#6b7280;
 font-size:12px;
 transition:transform .2s ease;
}
.gpm-type-group.is-open .gpm-type-toggle::after{
 transform:rotate(180deg);
}
.gpm-type-properties{
 display:none;
 margin:0;
 padding:0;
}
.gpm-type-group.is-open .gpm-type-properties{
 display:block;
}
.gpm-type-properties .gpm-property-item{
 padding-left:24px;
}

.gpm-modal{
 display:none;
 position:fixed;
 top:0;
 left:0;
 width:100%;
 height:100%;
 background:rgba(6,10,20,0.68);
 z-index:99999;
 padding:24px;
 box-sizing:border-box;
 overflow-y:auto;
}
.gpm-modal-content{
 position:relative;
 background:#fff;
 max-width:1024px;
 margin:40px auto;
 padding:28px;
 border-radius:22px;
 box-shadow:0 28px 80px rgba(10,14,26,0.36);
 border:1px solid rgba(0,0,0,0.08);
}
.gpm-close{
 position:absolute;
 top:16px;
 right:16px;
 width:34px;
 height:34px;
 border:1px solid rgba(0,0,0,0.15);
 border-radius:999px;
 display:flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
 font-size:20px;
 line-height:1;
 color:#6b7280;
 background:#fff;
 transition:all .2s ease;
}
.gpm-close:hover{
 color:#111827;
 border-color:rgba(0,0,0,0.25);
 box-shadow:0 8px 18px rgba(0,0,0,0.16);
}
.gpm-modal-title{
 margin:0 56px 6px 0;
 font-size:34px;
 line-height:1.16;
 letter-spacing:-0.02em;
 font-weight:700;
}
.gpm-modal-subtitle{
 margin:0;
 font-size:15px;
 line-height:1.5;
 letter-spacing:0.01em;
 color:#5e6475;
}
.gpm-modal-description{
 margin-top:18px;
 font-size:18px;
 line-height:1.62;
 letter-spacing:0.002em;
 color:#1f2937;
}
.gpm-modal-description p,
.gpm-modal-description li{
 font-size:18px;
 line-height:1.62;
 letter-spacing:0.002em;
}
.gpm-modal-header{
 padding-bottom:18px;
 margin-bottom:16px;
 border-bottom:1px dashed rgba(31,41,55,0.2);
}
.gpm-modal-actions{
 margin-top:0;
 display:flex;
 gap:12px;
 flex-wrap:wrap;
}
.gpm-modal-footer{
 margin-top:22px;
 padding-top:16px;
 border-top:1px dashed rgba(31,41,55,0.18);
}
.gpm-action-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:44px;
 padding:11px 20px;
 border-radius:999px;
 text-decoration:none;
 font-weight:600;
 font-size:15px;
 letter-spacing:0.01em;
 transition:all .2s ease;
 border:1px solid transparent;
}
.gpm-btn-icon{
 display:inline-flex;
 align-items:center;
 justify-content:center;
}
.gpm-action-whatsapp{
 background:#22c55e;
 color:#fff;
}
.gpm-action-whatsapp:hover{
 background:#16a34a;
 color:#fff;
}
.gpm-action-email{
 background:#ffffff;
 color:#1f2937;
 border-color:#d1d5db;
}
.gpm-action-email:hover{
 border-color:#9ca3af;
 color:#111827;
}
.gpm-swiper-wrap{
 border-radius:16px;
 overflow:hidden;
}
.swiper img{
 width:100%;
 height:350px;
 object-fit:cover;
 display:block;
}
.gpm-swiper-pagination{
 position:absolute;
 bottom:14px !important;
 left:0 !important;
 width:100%;
 text-align:center;
}
.gpm-swiper-pagination .swiper-pagination-bullet{
 width:8px;
 height:8px;
 background:rgba(255,255,255,0.6);
 opacity:1;
}
.gpm-swiper-pagination .swiper-pagination-bullet-active{
 width:20px;
 border-radius:999px;
 background:#ffffff;
}

.gpm-powered{
 text-align:right;
 margin-top:0;
 padding:5px 14px;
 font-size:12px;
 opacity:0.8;
}

.gpm-dark{background:#121212;color:#eee}
.gpm-dark.gpm-container{
 background:var(--gpm-dark-bg,#121212);
 border-color:#2a2a2a;
}
.gpm-dark .gpm-wrapper{
 border-color:#2a2a2a;
}
.gpm-dark .gpm-filter select{
 background-color:#1b1b1b;
 color:#eee;
 border-color:#2a2a2a;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23cfd6df' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 12px center;
 background-size:12px 12px;
}
.gpm-dark .gpm-filter select:focus{
 border-color:#384553;
 outline:none !important;
 box-shadow:0 0 0 1px rgba(120,150,180,0.22) !important;
}
.gpm-dark .gpm-filter select option{
 background:#1b1b1b;
 color:#eee;
}
.gpm-dark .gpm-left{border-right:1px solid #2a2a2a}
.gpm-dark .gpm-left li{
 border-bottom:1px solid #2f2f2f;
}
.gpm-dark .gpm-left li:hover{
 background:#252525;
 color:#f2f2f2;
}
.gpm-dark .gpm-type-toggle{
 background:#191919;
 border-bottom:1px solid #2f2f2f;
 color:#f3f4f6;
}
.gpm-dark .gpm-type-count{
 background:#2b3340;
 color:#e4edf9;
}
.gpm-dark .gpm-type-toggle::after{
 color:#c3cad7;
}
.gpm-dark .gpm-modal-content{
 background:var(--gpm-dark-modal-bg,#171927);
 color:#f3f4f6;
 border-color:rgba(255,255,255,0.08);
 box-shadow:0 30px 90px rgba(0,0,0,0.48);
}
.gpm-dark .gpm-modal-title{
 color:#f8fafc;
}
.gpm-dark .gpm-modal-subtitle{
 color:#9ea8c0;
}
.gpm-dark .gpm-modal-description,
.gpm-dark .gpm-modal-description p,
.gpm-dark .gpm-modal-description div,
.gpm-dark .gpm-modal-description span,
.gpm-dark .gpm-modal-description li{
 color:#d2d8e6 !important;
}
.gpm-dark .gpm-modal-header{
 border-bottom:1px dashed rgba(207,214,223,0.24);
}
.gpm-dark .gpm-modal-footer{
 border-top:1px dashed rgba(207,214,223,0.2);
}
.gpm-dark .gpm-modal-description h1,
.gpm-dark .gpm-modal-description h2,
.gpm-dark .gpm-modal-description h3,
.gpm-dark .gpm-modal-description h4,
.gpm-dark .gpm-modal-description h5,
.gpm-dark .gpm-modal-description h6,
.gpm-dark .gpm-modal-description strong,
.gpm-dark .gpm-modal-description b{
 color:#f3f6ff !important;
}
.gpm-dark .gpm-modal-description a{
 color:#9ecbff !important;
}
.gpm-dark .gpm-close{
 background:#1b1f32;
 color:#b8bfd3;
 border-color:rgba(255,255,255,0.12);
}
.gpm-dark .gpm-close:hover{
 color:#ffffff;
 border-color:rgba(255,255,255,0.22);
}
.gpm-dark .gpm-action-email{
 background:#1b1f32;
 color:#d7dbe8;
 border-color:rgba(255,255,255,0.15);
}
.gpm-dark .gpm-action-email:hover{
 border-color:rgba(255,255,255,0.28);
 color:#ffffff;
}
.gpm-dark .gpm-powered{
 background:var(--gpm-dark-bg,#121212);
 background:color-mix(in srgb,var(--gpm-dark-bg,#121212) 84%,#000 16%);
 color:#ddd;
}
.gpm-dark .gpm-powered a{
 color:#9ecbff;
}

@media(max-width:992px){
.gpm-wrapper{flex-direction:column;height:auto}
.gpm-left{width:100%;height:250px;border-right:none;border-bottom:1px solid #ddd}
.gpm-right{width:100%;height:400px}
#property-map{height:400px}
.gpm-filter{
 flex-direction:column;
}
.gpm-modal{
 padding:12px;
}
.gpm-modal-content{
 margin:20px auto;
 padding:20px;
 border-radius:16px;
}
.gpm-modal-title{
 font-size:26px;
 margin-right:44px;
}
.gpm-modal-subtitle{
 font-size:14px;
}
.gpm-modal-description,
.gpm-modal-description p,
.gpm-modal-description li{
 font-size:16px;
}
.swiper img{
 height:240px;
}
}
