.sm-location-picker{display:grid;gap:10px;min-width:0}
.sm-location-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.sm-location-search input{width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--customer-line,#c8d7d0);border-radius:12px;background:var(--customer-card,#fff);color:inherit;font:inherit}
.sm-location-search input:focus-visible{outline:0;border-color:#0b4d39;box-shadow:0 0 0 4px rgba(11,77,57,.1)}
.sm-location-search-button,.sm-location-clear{min-height:44px;padding:10px 15px;border:0;border-radius:12px;background:#0b4d39;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.sm-location-search-button:disabled{opacity:.58;cursor:wait}
.sm-location-help{max-width:72ch;margin:0;color:var(--customer-muted,#536861);font-size:.76rem;line-height:1.55}
.sm-location-results{display:grid;gap:6px;max-height:220px;padding:7px;overflow:auto;border:1px solid var(--customer-line,#c8d7d0);border-radius:13px;background:var(--customer-card,#fff)}
.sm-location-results[hidden]{display:none}
.sm-location-result{display:grid;gap:3px;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.sm-location-result:hover,.sm-location-result:focus-visible{outline:0;background:rgba(11,77,57,.09)}
.sm-location-result strong{font-size:.8rem;line-height:1.45}.sm-location-result small{color:var(--customer-muted,#536861);font-size:.7rem}
.sm-location-result-message{margin:0;padding:8px;color:var(--customer-muted,#536861);font-size:.8rem}.sm-location-result-message.is-error{color:#b42318}
/* touch-action:pan-y (2026-08-23, laporan Owner) BUKAN "none" lagi: jari
   satu wajib tetap bisa scroll halaman secara native begitu menyentuh peta
   (peta ini menempel di form yang lebih panjang, bukan layar peta penuh).
   Geser peta sungguhan baru aktif dengan DUA jari (lihat pointerdown di
   location-picker.js) pola "cooperative gesture" yang sama dipakai Google
   Maps untuk peta yang ditempel di tengah halaman yang bisa di-scroll. */
.sm-location-map{position:relative;isolation:isolate;width:100%;height:clamp(260px,38vw,390px);overflow:hidden;border-radius:14px;background:#dfe9e4;box-shadow:0 1px 2px rgba(11,61,46,.05),0 12px 30px rgba(11,61,46,.08);touch-action:pan-y;cursor:grab;user-select:none}
/* Ctrl+Scroll untuk zoom di desktop (laporan Owner 2026-08-23): scroll polos
   di atas peta membiarkan halaman scroll seperti biasa, bukan diam-diam
   zoom out peta. Hint singkat ini muncul sesaat tiap kali pengguna scroll
   tanpa menekan Ctrl, supaya tidak bingung kenapa peta tidak bereaksi. */
/* Bug audit 2026-08-24 (laporan Owner: hint menutupi pin): top:50% persis di
   titik yang sama dengan .sm-location-marker (pin selalu di tengah peta,
   lihat komentar file ini) diturunkan supaya tidak tumpang tindih. */
.sm-location-zoom-hint{position:absolute;z-index:5;left:50%;top:calc(50% + 38px);transform:translate(-50%,0);padding:9px 16px;border-radius:999px;background:rgba(11,29,22,.82);color:#fff;font-size:.8rem;font-weight:700;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease}
.sm-location-zoom-hint.is-visible{opacity:1}
.sm-location-zoom-hint[hidden]{display:none}
.sm-location-map:focus-visible{outline:3px solid #f4c430;outline-offset:3px}.sm-location-map.is-dragging{cursor:grabbing}
.sm-location-tiles{position:absolute;inset:0;will-change:transform}.sm-location-tiles img{position:absolute;width:256px;height:256px;pointer-events:none;user-select:none}
.sm-location-marker{position:absolute;z-index:3;left:50%;top:50%;width:30px;height:30px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#0b4d39;box-shadow:0 8px 18px rgba(11,61,46,.3);transform:translate(-50%,-100%) rotate(-45deg);pointer-events:none}
.sm-location-marker::after{content:'';position:absolute;inset:8px;border-radius:50%;background:#f4c430}
.sm-location-controls{position:absolute;z-index:4;top:10px;right:10px;display:grid;gap:6px}
.sm-location-icon-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:#fff;color:#0b3d2e;box-shadow:0 4px 14px rgba(11,61,46,.18);cursor:pointer}
.sm-location-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sm-location-icon-button:disabled{opacity:.45;cursor:not-allowed}
.sm-location-icon-button:focus-visible,.sm-location-search-button:focus-visible,.sm-location-clear:focus-visible{outline:3px solid #f4c430;outline-offset:2px}
.sm-location-attribution{position:absolute;z-index:4;right:7px;bottom:6px;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.9);color:#29463c;font-size:.62rem;text-decoration:none}
.sm-location-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.sm-location-coordinate{min-width:0;color:var(--customer-muted,#536861);font-size:.74rem;overflow-wrap:anywhere}.sm-location-clear{min-height:36px;padding:7px 11px;background:transparent;color:#b42318;border:1px solid currentColor;font-size:.72rem}
.dark .sm-location-search input,.dark .sm-location-results,body.customer-dark .sm-location-search input,body.customer-dark .sm-location-results{background:#14382b;color:#f5f5f5;border-color:#3b5d51}
.dark .sm-location-help,.dark .sm-location-coordinate,body.customer-dark .sm-location-help,body.customer-dark .sm-location-coordinate{color:#bfd0c9}
html[data-admin-theme="dark"] .sm-location-search input,html[data-admin-theme="dark"] .sm-location-results{background:#14382b;color:#f5f5f5;border-color:#3b5d51}html[data-admin-theme="dark"] .sm-location-help,html[data-admin-theme="dark"] .sm-location-coordinate{color:#bfd0c9}
@media(max-width:560px){.sm-location-search{grid-template-columns:1fr}.sm-location-search-button{width:100%}.sm-location-map{height:320px}.sm-location-footer{align-items:flex-start;flex-direction:column}.sm-location-clear{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.sm-location-tiles{will-change:auto}}
