.smm-store-map{
  --smm-accent: #c85a3c;
  --smm-border: #e4e4e4;
  --smm-text: #1f1f1f;
  --smm-muted: #6b6b6b;
  display:flex;
  width:100%;
  height:600px;
  border:1px solid var(--smm-border);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  box-sizing:border-box;
  font-family:inherit;
  color:var(--smm-text);
}
.smm-store-map *{box-sizing:border-box}

/* Left panel */
.smm-panel{
  width:38%;
  min-width:280px;
  max-width:480px;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--smm-border);
  background:#fff;
}

.smm-search-bar{
  display:flex;
  align-items:stretch;
  gap:0;
  padding:16px;
  border-bottom:1px solid var(--smm-border);
  flex-shrink:0;
}
.smm-search-input{
  flex:1;
  border:1px solid var(--smm-border);
  border-right:none;
  border-radius:6px 0 0 6px;
  padding:10px 14px;
  font-size:14px;
  color:var(--smm-text);
  outline:none;
  min-width:0;
}
.smm-search-input:focus{border-color:var(--smm-accent)}
.smm-search-btn{
  border:1px solid var(--smm-border);
  border-radius:0 6px 6px 0;
  background:#fafafa;
  color:var(--smm-text);
  font-weight:600;
  font-size:13px;
  padding:0 18px;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease;
}
.smm-search-btn:hover{background:#f0f0f0}

.smm-store-list{
  flex:1;
  overflow-y:auto;
}

.smm-store-item{
  padding:18px 16px;
  border-bottom:1px solid var(--smm-border);
  cursor:default;
  transition:background .15s ease;
}
.smm-store-item:last-child{border-bottom:none}
.smm-store-item.is-active{background:#fbf3ef}

.smm-store-name{
  font-weight:700;
  font-size:15px;
  line-height:1.35;
  margin-bottom:6px;
  color:var(--smm-text);
}
.smm-store-desc{
  font-size:13px;
  color:var(--smm-muted);
  line-height:1.45;
  margin-bottom:4px;
  white-space:pre-line;
}
.smm-store-address{
  font-size:13px;
  color:var(--smm-muted);
  line-height:1.45;
  white-space:pre-line;
}

.smm-store-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.smm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  font-size:14px;
  font-weight:600;
  border-radius:6px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  line-height:1.2;
  transition:opacity .15s ease, background .15s ease;
}
.smm-btn-primary{
  background:var(--smm-accent);
  color:#fff;
  border-color:var(--smm-accent);
}
.smm-btn-primary:hover{opacity:.9; color:#fff;}
.smm-btn-outline{
  background:#fff;
  color:var(--smm-accent);
  border-color:var(--smm-accent);
}
.smm-btn-outline:hover{background:rgba(200,90,60,.08)}

.smm-empty{
  padding:24px 16px;
  color:var(--smm-muted);
  font-size:14px;
  text-align:center;
}

/* Map */
.smm-map-canvas{
  flex:1;
  min-width:0;
  height:100%;
}

.smm-popup{min-width:180px;line-height:1.5}
.smm-popup strong{display:block;font-size:15px;margin-bottom:5px}
.smm-popup-address{margin-top:5px;color:#555}

/* Scrollbar polish */
.smm-store-list::-webkit-scrollbar{width:8px}
.smm-store-list::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}
.smm-store-list::-webkit-scrollbar-track{background:transparent}

@media (max-width: 780px){
  .smm-store-map{
    flex-direction:column;
    height:700px;
  }
  .smm-map-canvas{
    order:1;
    flex:none;
    height:50%;
  }
  .smm-panel{
    order:2;
    width:100%;
    max-width:none;
    flex:none;
    height:50%;
    border-right:none;
    border-top:1px solid var(--smm-border);
  }
  .smm-store-list{
    max-height:none;
  }
  .smm-store-desc{
    display:none;
  }
}