.ffm-location-widget{font-family:inherit}
.ffm-location-launch{
  display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  width:auto!important;min-width:44px;min-height:44px;padding:10px 13px!important;
  border:1px solid #dedede!important;border-radius:999px!important;background:#fff!important;
  color:#222!important;box-shadow:0 3px 14px rgba(0,0,0,.12);cursor:pointer;
  font:inherit;line-height:1.2;transition:box-shadow .2s ease,transform .2s ease;
}
.ffm-location-launch:hover,.ffm-location-launch:focus-visible{box-shadow:0 5px 18px rgba(0,0,0,.2);transform:translateY(-1px)}
.ffm-location-pin{font-size:19px;line-height:1}
.ffm-location-launch-label{font-size:13px;white-space:nowrap}
.ffm-location-launch.is-sharing{border-color:#16834a!important;color:#16834a!important}
.ffm-location-modal[hidden]{display:none!important}
.ffm-location-modal{
  position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;
  padding:18px;background:rgba(0,0,0,.55);box-sizing:border-box;
}
.ffm-location-modal-card{
  position:relative;box-sizing:border-box;width:min(420px,100%);max-height:calc(100vh - 36px);
  overflow:auto;background:#fff;color:#222;border-radius:14px;padding:24px;
  box-shadow:0 18px 60px rgba(0,0,0,.28);text-align:left;font-size:15px;line-height:1.5;
}
.ffm-location-modal-card *{box-sizing:border-box}
.ffm-location-modal-card h3{margin:0 28px 8px 0;color:#222;font-size:20px;line-height:1.3}
.ffm-location-modal-card p{margin:8px 0;overflow-wrap:break-word;word-break:normal}
.ffm-location-modal-card .ffm-location-short-desc{color:#555}
.ffm-location-modal-card .ffm-location-smallprint{font-size:12px;color:#666;margin-top:14px}
.ffm-location-close{
  position:absolute;top:10px;right:12px;border:0!important;background:transparent!important;
  color:#444!important;font-size:27px!important;line-height:1;padding:4px!important;cursor:pointer;
}
.ffm-location-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ffm-location-modal-actions button{
  border:0!important;border-radius:7px!important;padding:10px 15px!important;min-height:40px;
  background:#222!important;color:#fff!important;font:inherit;cursor:pointer;
}
.ffm-location-modal-actions .ffm-location-dismiss{background:#ededed!important;color:#222!important}
.ffm-location-modal-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:480px){
  .ffm-location-modal{padding:12px}
  .ffm-location-modal-card{padding:20px;width:100%;max-height:calc(100vh - 24px)}
  .ffm-location-modal-actions{flex-direction:column}
  .ffm-location-modal-actions button{width:100%}
}

.ffm-location-address{display:block;margin:10px 0;padding:9px 12px;border:1px solid #2271b1;border-radius:4px;background:#f0f6fc;color:#135e96;cursor:pointer}
.ffm-location-address[hidden],.ffm-address-suggestion[hidden]{display:none!important}
.ffm-address-suggestion{padding:10px;margin:10px 0;background:#f6f7f7;border:1px solid #dcdcde;border-radius:4px;overflow-wrap:anywhere}
.ffm-address-suggestion p{margin:4px 0}

/* v1.2.8: header location button displays saved state and PIN clearly */
.ffm-location-launch .ffm-location-launch-label{display:inline-block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
@media(max-width:480px){.ffm-location-launch .ffm-location-launch-label{max-width:120px}}
