/* The Stay Manager Pro - Mapbox widgets */
.anabm-pro-mapbox-widget{display:flex;flex-direction:column;gap:18px;width:100%;--anabm-map-accent:#0f5f46;--anabm-map-border:rgba(15,95,70,.16);--anabm-map-muted:#64748b;}
.anabm-pro-mapbox-heading{padding:22px 24px;background:#fff;border:1px solid var(--anabm-map-border);border-radius:22px;box-shadow:0 14px 36px rgba(15,23,42,.08)}
.anabm-pro-mapbox-heading h3{margin:0;color:#0f172a;font-size:clamp(24px,3vw,42px);line-height:1.05}
.anabm-pro-mapbox-heading p{margin:8px 0 0;color:var(--anabm-map-muted);font-size:16px;max-width:780px}
.anabm-pro-mapbox-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:stretch}
.anabm-pro-mapbox-layout.has-list{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}
.anabm-pro-mapbox-canvas{width:100%;min-height:520px;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#e7f3ee,#f7faf9);box-shadow:0 18px 44px rgba(15,23,42,.12)}
.anabm-pro-mapbox-searchbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:14px;padding:18px;background:#fff;border:1px solid var(--anabm-map-border);border-radius:22px;box-shadow:0 12px 28px rgba(15,23,42,.07)}
.anabm-pro-mapbox-searchbar label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#0f172a;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.anabm-pro-mapbox-searchbar input,.anabm-pro-mapbox-searchbar select{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:12px 14px;font-size:16px;background:#fff;color:#0f172a;font-weight:500;text-transform:none;letter-spacing:0}
.anabm-pro-mapbox-list{display:flex;flex-direction:column;gap:12px;max-height:620px;overflow:auto;padding-right:4px}
.anabm-pro-mapbox-list-card{border:1px solid var(--anabm-map-border);border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.07);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.anabm-pro-mapbox-list-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.12);border-color:rgba(15,95,70,.35)}
.anabm-pro-mapbox-list-card h4{margin:0 0 6px;color:#0f172a;font-size:17px;line-height:1.2}
.anabm-pro-mapbox-list-card p{margin:0;color:var(--anabm-map-muted);font-size:14px;line-height:1.45}
.anabm-pro-mapbox-badge{display:inline-flex;margin:8px 0 0;padding:4px 9px;border-radius:999px;background:rgba(15,95,70,.10);color:#0f5f46;font-weight:700;font-size:12px}
.anabm-pro-mapbox-marker{width:28px;height:28px;border-radius:999px;background:var(--anabm-marker-color,#0f5f46);border:3px solid #fff;box-shadow:0 8px 20px rgba(15,23,42,.35);cursor:pointer;position:relative}
.anabm-pro-mapbox-marker:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--anabm-marker-color,#0f5f46)}
.anabm-pro-mapbox-popup{max-width:260px;color:#0f172a}
.anabm-pro-mapbox-popup img{width:100%;height:120px;object-fit:cover;border-radius:12px;margin-bottom:10px;background:#f1f5f9}
.anabm-pro-mapbox-popup h4{margin:0 0 5px;font-size:16px;line-height:1.2;color:#0f172a}
.anabm-pro-mapbox-popup p{margin:0 0 8px;color:#64748b;font-size:13px;line-height:1.35}
.anabm-pro-mapbox-popup a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#0f5f46;color:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px}
.anabm-pro-mapbox-empty,.anabm-pro-mapbox-missing,.anabm-pro-mapbox-locked{border:1px dashed rgba(15,95,70,.28);background:#f6fbf8;color:#123c31;border-radius:18px;padding:18px;font-size:15px;line-height:1.45}
.anabm-pro-mapbox-cluster{background:#0f5f46;color:#fff;border-radius:999px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-weight:800;border:3px solid #fff;box-shadow:0 10px 24px rgba(15,23,42,.35)}
@media (max-width:900px){.anabm-pro-mapbox-layout.has-list{grid-template-columns:1fr}.anabm-pro-mapbox-searchbar{grid-template-columns:1fr}.anabm-pro-mapbox-list{max-height:none}.anabm-pro-mapbox-canvas{min-height:420px}}
