/* AP Geo Prefill — GPS Button
 * Theme-friendly button styling:
 * - We intentionally DO NOT set background, border, padding, font-size, radius, etc.
 * - Theme/WooCommerce button classes control appearance.
 * - We only handle layout for icon/spinner and a full-width row button.
 */
.apgp-location-row{margin:0 0 1rem;}
.apgp-location-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  vertical-align:middle;
  box-sizing:border-box;
}
.apgp-location-btn.apgp-full{width:100%;}
.apgp-location-btn.apgp-match-input{
  min-height: var(--apgp-input-h, auto) !important;
  padding-top: var(--apgp-input-pt, initial) !important;
  padding-bottom: var(--apgp-input-pb, initial) !important;
  padding-left: var(--apgp-input-pl, initial) !important;
  padding-right: var(--apgp-input-pr, initial) !important;
  font-size: var(--apgp-input-fs, inherit) !important;
  line-height: var(--apgp-input-lh, normal) !important;
}
.apgp-location-btn .apgp-icon{display:inline-flex; line-height:0;}
.apgp-location-btn .apgp-icon svg{width:1em;height:1em;}
.apgp-location-btn .apgp-spinner{
  width:18px;height:18px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  display:none;
  animation:apgpspin .8s linear infinite;
  opacity:.7;
}
.apgp-location-btn.is-loading .apgp-spinner{display:inline-block;}
.apgp-location-hint{display:block;margin-top:6px;opacity:.8;}
@keyframes apgpspin{to{transform:rotate(360deg);}}

/* Inline theme color sync (copies computed styles from primary checkout button) */
.apgp-location-btn.apgp-theme-inline{
  background-color: var(--apgp-btn-bg, initial) !important;
  color: var(--apgp-btn-color, inherit) !important;
  border-color: var(--apgp-btn-bc, currentColor) !important;
  border-width: var(--apgp-btn-bw, initial) !important;
  border-style: var(--apgp-btn-bs, initial) !important;
  border-radius: var(--apgp-btn-radius, initial) !important;
  box-shadow: var(--apgp-btn-shadow, none) !important;
  text-transform: var(--apgp-btn-tt, none) !important;
  font-weight: var(--apgp-btn-fw, inherit) !important;
  letter-spacing: var(--apgp-btn-ls, normal) !important;
  font-family: var(--apgp-btn-ff, inherit) !important;
  background-image: var(--apgp-btn-bgimg, none) !important;
  background-size: var(--apgp-btn-bgsize, auto) !important;
  background-repeat: var(--apgp-btn-bgrepeat, repeat) !important;
  background-position: var(--apgp-btn-bgpos, 0% 0%) !important;
}
.apgp-location-btn.apgp-theme-inline:hover{
  filter: brightness(0.97);
}
.apgp-location-btn.apgp-theme-inline:disabled,
.apgp-location-btn.apgp-theme-inline.disabled{
  opacity: .6;
  cursor: not-allowed;
}
