.loc-page-body{ margin:0; font-family:Poppins,system-ui; background:#fff; color:#111827; }
.ico{ width:20px;height:20px; stroke:#111827; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }

.loc-topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:10px;
  padding:12px 12px;
  border-bottom:1px solid rgba(0,0,0,0.06);
  background:#fff;
}
.loc-back{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:12px;
  text-decoration:none;
}
.loc-title{ font-weight:700; font-size:15px; }

.loc-main{ padding:12px; max-width:980px; margin:0 auto; }

.loc-search-row{ display:flex; gap:10px; }
.loc-search{
  flex:1; height:44px; border-radius:14px;
  border:1px solid rgba(0,0,0,0.12);
  padding:0 14px; outline:none;
}
.loc-search:focus{ border-color:#f97316; box-shadow:0 0 0 4px rgba(249,115,22,.16); }

.loc-search-btn{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(0,0,0,0.10);
  background:#fff; cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

.loc-gps{
  margin-top:10px;
  width:100%; height:44px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.10);
  background:#fff;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  gap:10px;
  font-weight:600;
}

.map-wrap{
  margin-top:12px;
  position:relative;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.10);
}
.map-box{ height:340px; width:100%; }

.center-pin{
  position:absolute; left:50%; top:50%;
  width:28px;height:28px;
  transform: translate(-50%, -100%);
  background: radial-gradient(circle at 50% 40%, #ff6a00 0, #f97316 60%, #c2410c 100%);
  border-radius:50% 50% 50% 0;
  rotate:-45deg;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  pointer-events:none;
}
.center-pin::after{
  content:""; position:absolute;
  width:10px;height:10px; background:#fff; border-radius:50%;
  left:50%; top:50%; transform:translate(-50%,-50%); rotate:45deg;
}

.bottom-sheet{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:rgba(0,0,0,0.03);
}
.picked-label{ font-size:12px; color:rgba(0,0,0,0.55); font-weight:600; }
.picked-value{ margin-top:5px; font-size:13px; }
.picked-hint{ margin-top:6px; font-size:12px; opacity:.85; }

.loc-confirm{
  margin-top:12px;
  width:100%;
  height:48px;
  border:none;
  border-radius:14px;
  background:#f97316;
  color:#111827;
  font-weight:800;
  cursor:pointer;
  opacity:.6;
}
.loc-confirm:disabled{ cursor:not-allowed; }
.loc-confirm:not(:disabled){ opacity:1; }

/* ✅ iOS zoom fix: input must be >= 16px */
.loc-search{
  font-size:16px !important;
  line-height: 1.2;
}
