/* AP Fast Checkout & Location
 * 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.
 */
.apfcl-location-row{margin:0 0 1rem;}
.apfcl-location-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  vertical-align:middle;
  box-sizing:border-box;
}
.apfcl-location-btn.apfcl-full{width:100%;}
.apfcl-location-btn.apfcl-match-input{
  min-height: var(--apfcl-input-h, auto);
  padding-top: var(--apfcl-input-pt, initial);
  padding-bottom: var(--apfcl-input-pb, initial);
  padding-left: var(--apfcl-input-pl, initial);
  padding-right: var(--apfcl-input-pr, initial);
  font-size: var(--apfcl-input-fs, inherit);
  line-height: var(--apfcl-input-lh, normal);
}
.apfcl-location-btn .apfcl-icon{display:inline-flex; line-height:0;}
.apfcl-location-btn .apfcl-icon svg{width:1em;height:1em;}
.apfcl-location-btn .apfcl-spinner{
  width:18px;height:18px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  display:none;
  animation:apfclspin .8s linear infinite;
  opacity:.7;
}
.apfcl-location-btn.is-loading .apfcl-spinner{display:inline-block;}
.apfcl-location-hint{display:block;margin-top:6px;opacity:.8;}
@keyframes apfclspin{to{transform:rotate(360deg);}}

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

/* Provider attribution shown only after a provider result is used. */
.apfcl-location-row .apfcl-attribution { display:block; margin-top:6px; font-size:12px; line-height:1.4; }
.apfcl-location-row .apfcl-attribution [hidden] { display:none !important; }
.apfcl-location-row .apfcl-attribution a { text-decoration:underline; }
