/* Code slot: put an element with class "pfos-code" anywhere in the popup; it stays hidden until a code is shown. */
.pfos-code:not(.pfos-has-code) { display: none; }
.pfos-code.pfos-has-code {
	display: inline-block;
	direction: ltr;
	font-weight: 700;
	letter-spacing: .12em;
	padding: .4em .9em;
	border: 2px dashed currentColor;
	border-radius: 6px;
	user-select: all;
}

/* Shortcode form – intentionally minimal so the theme / Elementor styles take over. */
.pfos-form { max-width: 420px; }
.pfos-form .pfos-title { font-weight: 700; margin-bottom: .5em; }
.pfos-form .pfos-row { display: flex; gap: .5em; }
.pfos-form input[type=tel] { flex: 1 1 auto; min-width: 0; text-align: left; }
.pfos-form button { flex: 0 0 auto; white-space: nowrap; }
.pfos-form .pfos-msg:empty { display: none; }
.pfos-form .pfos-msg { margin-top: .6em; font-size: .95em; }
.pfos-form.pfos-ok .pfos-msg { color: #1e7e34; }
.pfos-form.pfos-err .pfos-msg { color: #c0392b; }
.pfos-form.pfos-ok .pfos-row { display: none; }
.pfos-form .pfos-code.pfos-has-code { margin-top: .6em; }
.pfos-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Busy state (any form that uses this plugin: atomic form, classic form, shortcode). */
form.pfos-loading { cursor: progress; }
form.pfos-loading input,
form.pfos-loading textarea,
form.pfos-loading select { pointer-events: none; opacity: .7; }
form.pfos-loading button[type="submit"],
form.pfos-loading input[type="submit"] {
	position: relative;
	pointer-events: none;
	color: transparent !important;
	cursor: progress;
}
form.pfos-loading button[type="submit"] * { visibility: hidden; }
form.pfos-loading button[type="submit"]::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.1em;
	height: 1.1em;
	margin: -.55em 0 0 -.55em;
	border: 2px solid var(--pfos-spin, currentColor);
	border-right-color: transparent;
	border-radius: 50%;
	visibility: visible;
	animation: pfos-spin .7s linear infinite;
}
@keyframes pfos-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	form.pfos-loading button[type="submit"]::after { animation-duration: 2s; }
}
