/* EquitiFy Portfolio Map – Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

.eqmap-wrapper{font-family:'DM Sans',sans-serif;color:#1a2744;line-height:1.5;-webkit-font-smoothing:antialiased}
.eqmap-wrapper *,.eqmap-wrapper *::before,.eqmap-wrapper *::after{box-sizing:border-box}
.eqmap-wrapper h1,.eqmap-wrapper h2,.eqmap-wrapper h3{font-family:'Playfair Display',serif;margin:0}

/* Hero */
.eqmap-hero{padding:48px 16px;text-align:center;background:linear-gradient(135deg,hsl(215,60%,22%),hsl(215,50%,32%));border-radius:8px 8px 0 0}
.eqmap-hero h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:hsl(210,40%,98%);margin:0}
.eqmap-hero p{margin:8px auto 0;color:rgba(255,255,255,.7);max-width:560px;font-size:clamp(.8rem,1.5vw,1rem)}

/* Layout */
.eqmap-main{display:flex;flex-direction:column;border:1px solid #dde2ea;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}
@media(min-width:1024px){.eqmap-main{flex-direction:row}}
.eqmap-sidebar{width:100%;overflow-y:auto;border-right:1px solid #dde2ea;background:#fff;padding:12px;flex-shrink:0}
@media(min-width:1024px){.eqmap-sidebar{width:400px}}
.eqmap-map{flex:1;position:relative;min-height:300px}
.eqmap-map .leaflet-container{width:100%;height:100%;z-index:0}

.eqmap-loading{text-align:center;padding:40px 16px;color:#6b7a90;font-size:.875rem}

/* Category filters */
.eqmap-filters{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px;margin-bottom:10px}
.eqmap-cat-btn{font-size:.7rem;padding:5px 12px;border-radius:999px;border:1px solid #dde2ea;background:#fff;color:#6b7a90;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:all .15s;display:flex;align-items:center;gap:5px}
.eqmap-cat-btn:hover{border-color:rgba(0,0,0,.2)}
.eqmap-cat-btn.active{color:#fff;border-color:transparent}
.eqmap-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* Toolbar */
.eqmap-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:8px}
.eqmap-count{font-size:.75rem;color:#6b7a90}
.eqmap-view-toggle{display:flex;gap:2px;background:#edf0f4;border-radius:6px;padding:2px}
.eqmap-view-toggle button{background:none;border:none;padding:5px 7px;border-radius:4px;cursor:pointer;color:#6b7a90;transition:all .15s;display:flex;align-items:center}
.eqmap-view-toggle button:hover{color:#1a2744}
.eqmap-view-toggle button.active{background:#fff;color:#1a2744;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.eqmap-view-toggle svg{width:14px;height:14px}

/* List cards */
.eqmap-card{display:flex;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}
.eqmap-card:hover{background:#edf0f4;border-color:#dde2ea}
.eqmap-card img{width:96px;height:80px;object-fit:cover;border-radius:6px;flex-shrink:0}
.eqmap-card-body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.eqmap-card-body h3{font-weight:600;font-size:.875rem;color:#1a2744;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'DM Sans',sans-serif}
.eqmap-card-body .eqmap-addr{font-size:.75rem;color:#6b7a90;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eqmap-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:#fff;font-weight:500}
.eqmap-sqft{font-size:.75rem;color:#6b7a90;margin-left:8px}

/* Grid cards */
.eqmap-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eqmap-grid-card{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}
.eqmap-grid-card:hover{transform:scale(1.02)}
.eqmap-grid-card img{width:100%;height:144px;object-fit:cover;display:block}
.eqmap-grid-card .eqmap-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.2) 50%,transparent)}
.eqmap-grid-card .eqmap-overlay-content{position:absolute;bottom:0;left:0;right:0;padding:10px}
.eqmap-grid-card .eqmap-overlay-content h3{font-weight:600;font-size:.75rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'DM Sans',sans-serif}
.eqmap-grid-card .eqmap-overlay-content .eqmap-city{font-size:.625rem;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.5);margin-top:2px}
.eqmap-grid-card .eqmap-overlay-content .eqmap-grid-badge{font-size:.5625rem;backdrop-filter:blur(4px);color:#fff;padding:2px 6px;border-radius:999px;display:inline-block;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.eqmap-grid-card .eqmap-overlay-content .eqmap-grid-sqft{font-size:.5625rem;color:rgba(255,255,255,.8);margin-left:6px;text-shadow:0 1px 2px rgba(0,0,0,.4)}

/* Detail view */
.eqmap-detail{animation:eqmapFadeIn .2s ease}
@keyframes eqmapFadeIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
.eqmap-back{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:#6b7a90;cursor:pointer;background:none;border:none;padding:0;margin-bottom:12px;font-family:'DM Sans',sans-serif;transition:color .15s}
.eqmap-back:hover{color:#1a2744}
.eqmap-back:hover svg{transform:translateX(-2px)}
.eqmap-back svg{width:16px;height:16px;transition:transform .15s}

/* Detail card */
.eqmap-detail-card{background:#fff;border:1px solid #dde2ea;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.eqmap-detail-img-wrap{position:relative;overflow:hidden}
.eqmap-detail-img-wrap img{width:100%;height:192px;object-fit:cover;display:block}
.eqmap-detail-img-wrap .eqmap-img-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4),transparent)}
.eqmap-status-badge{position:absolute;top:12px;right:12px;background:hsl(35,90%,55%);color:hsl(215,60%,12%);font-size:.625rem;font-weight:700;padding:4px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 6px rgba(0,0,0,.2)}

/* Action buttons row */
.eqmap-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 0}
.eqmap-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:8px;border:1px solid;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;text-decoration:none}
.eqmap-action-btn:hover{filter:brightness(1.1)}
.eqmap-action-btn svg{width:14px;height:14px}
.eqmap-action-btn--street{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.2);color:#3b82f6}
.eqmap-action-btn--street:hover{background:rgba(59,130,246,.1)}
.eqmap-action-btn--satellite{background:rgba(218,165,32,.05);border-color:rgba(218,165,32,.2);color:#daa520}
.eqmap-action-btn--satellite:hover{background:rgba(218,165,32,.1)}

/* Detail body */
.eqmap-detail-body{padding:16px}
.eqmap-detail-body h2{font-size:1.125rem;font-weight:700;color:#1a2744;margin-top:8px}
.eqmap-detail-body .eqmap-loc{display:flex;align-items:flex-start;gap:6px;margin-top:8px;color:#6b7a90;font-size:.8rem;line-height:1.4}
.eqmap-detail-body .eqmap-loc svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:#daa520}
.eqmap-detail-divider{border:none;border-top:1px solid #dde2ea;margin:16px 0}

/* Info grid */
.eqmap-info-section-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b7a90;margin-bottom:10px}
.eqmap-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eqmap-info-cell{background:#f4f6f8;border-radius:8px;padding:12px}
.eqmap-info-cell-label{display:flex;align-items:center;gap:4px;font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#6b7a90;margin-bottom:4px}
.eqmap-info-cell-label svg{width:12px;height:12px;color:#daa520}
.eqmap-info-cell-value{font-size:.8rem;font-weight:600;color:#1a2744}

/* Overview */
.eqmap-overview{margin-top:0}
.eqmap-overview p{font-size:.8rem;color:#6b7a90;line-height:1.65}

/* CTA */
.eqmap-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:8px;background:#daa520;color:#1a2744;font-size:.8rem;font-weight:600;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;box-shadow:0 2px 8px rgba(218,165,32,.3);margin-top:4px}
.eqmap-cta:hover{filter:brightness(1.1)}
.eqmap-cta svg{width:16px;height:16px}

/* No image fallback */
.eqmap-no-img{background:#edf0f4;display:flex;align-items:center;justify-content:center;color:#6b7a90;font-size:.75rem}
