.als-pf{max-width:760px;margin:24px auto;padding:24px;border:1px solid #d8e7e9;border-radius:16px;background:#fff;color:#102746;box-sizing:border-box}
.als-pf__heading{margin:0 0 8px;font-size:1.5rem;color:#0b2343}
.als-pf__intro{margin:0 0 20px;line-height:1.55}
.als-pf__step{margin:0 0 14px;font-size:1.15rem;color:#0b2343}
.als-pf__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0}
.als-pf__field{margin:0}
.als-pf__field--wide{grid-column:1 / -1}
.als-pf label{display:block;font-weight:600;font-size:.94rem}
.als-pf input[type=text],.als-pf input[type=email],.als-pf input[type=tel],.als-pf input[type=password]{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #9bb0c1;border-radius:8px;box-sizing:border-box;background:#fff;color:#102746}
/* scoped so a theme's global input rules cannot strip the border or padding */
.als-pf .als-pf__field input[type=text],.als-pf .als-pf__field input[type=email],.als-pf .als-pf__field input[type=tel],.als-pf .als-pf__field input[type=password]{border-color:#9bb0c1!important;background:#fff!important;color:#102746!important;padding:10px 12px!important;border-radius:8px!important}
.als-pf .als-pf__field input::placeholder{color:#6b7f94;opacity:1}
.als-pf .als-pf__field input:focus-visible{outline:3px solid #37c3bb;outline-offset:1px}
.als-pf input:focus-visible,.als-pf button:focus-visible,.als-pf__result input:focus-visible{outline:3px solid #37c3bb;outline-offset:2px}
.als-pf__optional{font-weight:400;color:#5b6b7d}
.als-pf__hint{display:block;margin-top:5px;font-size:.84rem;font-weight:400;color:#40536c}
.als-pf__privacy{font-size:.87rem;color:#40536c;line-height:1.5}
.als-pf__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 0}
/* The theme styles buttons far more aggressively than this plugin, and on at
   least one theme it wins outright and repaints the button. These are scoped to
   .als-pf and use !important on the colour properties only, because a form
   whose submit button does not look like a submit button is a broken form. */
.als-pf .als-pf__button,
.als-pf button.als-pf__button,
.als-pf a.als-pf__button{
  padding:12px 20px;border:1px solid transparent;border-radius:8px;
  font-weight:700;font-size:1rem;line-height:1.2;cursor:pointer;
  text-decoration:none;box-shadow:none;appearance:none;
}
.als-pf .als-pf__button--primary,
.als-pf button.als-pf__button--primary,
.als-pf a.als-pf__button--primary{
  background:#0b3654!important;color:#fff!important;border-color:#0b3654!important;
  box-shadow:none!important;
}
.als-pf .als-pf__button--primary:hover,
.als-pf .als-pf__button--primary:focus,
.als-pf button.als-pf__button--primary:hover,
.als-pf button.als-pf__button--primary:focus{
  background:#105577!important;color:#fff!important;border-color:#105577!important;
}
.als-pf .als-pf__button--primary:disabled,
.als-pf button.als-pf__button--primary:disabled{
  background:#9bb0c1!important;border-color:#9bb0c1!important;color:#fff!important;cursor:not-allowed;
}
.als-pf .als-pf__button--quiet,
.als-pf button.als-pf__button--quiet,
.als-pf a.als-pf__button--quiet{
  background:#fff!important;color:#0b3654!important;border-color:#9bb0c1!important;
}
.als-pf .als-pf__button--quiet:hover,
.als-pf .als-pf__button--quiet:focus{
  background:#eef4f8!important;color:#0b3654!important;border-color:#7d97ae!important;
}
.als-pf .als-pf__button:focus-visible{outline:3px solid #37c3bb;outline-offset:2px}
.als-pf__message{margin:0 0 12px;line-height:1.5}
.als-pf__chosen{margin:0 0 16px;padding:10px 14px;border-radius:8px;background:#eef4f8;line-height:1.5}
.als-pf__legend{font-weight:700;font-size:.94rem;padding:0 0 10px}
.als-pf__results{border:0;padding:0;margin:0 0 8px}
.als-pf__result{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #d8e7e9;border-radius:10px;margin-bottom:10px;cursor:pointer;background:#fff}
.als-pf__result:hover{border-color:#37c3bb;background:#f7fdfd}
.als-pf__result input{margin:3px 0 0;flex:0 0 auto}
/* The theme forces a block display and full width onto form controls, which
   drops the radio onto its own line above the name. Scoped and forced back. */
.als-pf .als-pf__result{display:flex;gap:12px;align-items:flex-start}
.als-pf .als-pf__result input[type=radio]{display:inline-block!important;width:auto!important;min-width:0!important;height:auto!important;margin:3px 0 0;padding:0;flex:0 0 auto;accent-color:#0b3654}
.als-pf .als-pf__result:hover{border-color:#37c3bb;background:#f7fdfd}
.als-pf__result-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.als-pf__result-name{font-weight:700;color:#0b2343;word-break:break-word}
.als-pf__result-place{font-size:.9rem;color:#40536c}
.als-pf__result-type{font-size:.82rem;color:#5b6b7d}
.als-pf__badge{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.02em;width:fit-content}
.als-pf__badge--listed{background:#e8f8f4;color:#0a5c4e}
.als-pf__badge--pending{background:#fff4e2;color:#8a5a00}
.als-pf__status{margin:16px 0 0;padding:0;line-height:1.5}
.als-pf__status:not(:empty){padding:10px 14px;border-radius:8px;background:#eef4f8}
.als-pf__status--error{background:#fff0ed!important;color:#8c1d13}
.als-pf__notice{padding:10px 14px;border-radius:8px;background:#e8f8f4;line-height:1.5}
.als-pf__notice--error{background:#fff0ed}
@media (prefers-reduced-motion:no-preference){.als-pf__button{transition:background-color .15s ease}}
