/* PBP Forms — front-end (public) styling.
   Matches the funnel/orange-brand aesthetic. Loaded only on pages with [pbp_form]. */
.pbp-form-wrap { max-width: 640px; margin: 0; }
.pbp-form { display: grid; gap: .85rem; }
.pbp-ff-row { display: flex; flex-direction: column; gap: .3rem; }
.pbp-ff-l {
	font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;
	color: rgba(246,244,239,.62); font-weight: 600;
}
.pbp-ff-l .req, .pbp-ff-choice .req { color: #F4C03C; }
.pbp-form input[type=text],
.pbp-form input[type=email],
.pbp-form input[type=tel],
.pbp-form input[type=date],
.pbp-form select,
.pbp-form textarea {
	width: 100%; padding: .8rem .9rem; border-radius: 10px;
	border: 1px solid rgba(246,244,239,.22); background: #0A0A0E;
	color: #F6F4EF; font: inherit; font-size: .95rem;
	box-sizing: border-box;
}
.pbp-form input::placeholder, .pbp-form textarea::placeholder { color: rgba(246,244,239,.35); }
.pbp-form input:focus, .pbp-form select:focus, .pbp-form textarea:focus {
	outline: none; border-color: #F4C03C;
}
.pbp-form input:invalid { border-color: #ff5a5a; }
.pbp-ff-choice {
	display: flex; align-items: center; gap: .5rem; font-size: .92rem;
	padding: .3rem 0; cursor: pointer;
}
.pbp-ff-choice input { accent-color: #F4C03C; width: auto; }
.pbp-ff-consent {
	display: flex; gap: .6rem; align-items: flex-start;
	font-size: .85rem; color: rgba(246,244,239,.75); font-weight: 400;
	cursor: pointer;
}
.pbp-ff-consent input { margin-top: .2rem; accent-color: #F4C03C; width: auto; }
.pbp-ff-section { padding: .4rem 0; }
.pbp-ff-section h4 { margin: 0; font-size: 1.05rem; border-bottom: 1px solid rgba(246,244,239,.15); padding-bottom: .4rem; }
.pbp-ff-submit { margin-top: .4rem; }
.pbp-ff-btn {
	width: 100%; padding: .95rem; border: 0; border-radius: 999px; cursor: pointer;
	background: #F4C03C; color: #0A0A0E; font-weight: 700; font-size: .95rem;
	transition: transform .3s, box-shadow .3s;
}
.pbp-ff-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(244,192,60,.7); }
.pbp-form-ok {
	padding: 1.2rem 1.4rem; border-radius: 10px; background: rgba(70,180,80,.12);
	border: 1px solid rgba(70,180,80,.4); color: #F6F4EF; font-size: 1rem;
}
.pbp-form-err {
	padding: .8rem 1rem; border-radius: 8px; background: rgba(220,50,50,.12);
	border: 1px solid rgba(220,50,50,.4); color: #ffb0b0; font-size: .9rem; margin-bottom: .5rem;
}

/* On light backgrounds (some embed contexts) — flip colors. */
.pbp-form-wrap.is-light .pbp-ff-l { color: #555; }
.pbp-form-wrap.is-light .pbp-form input,
.pbp-form-wrap.is-light .pbp-form select,
.pbp-form-wrap.is-light .pbp-form textarea {
	background: #fff; color: #222; border-color: #d0d0d0;
}
.pbp-form-wrap.is-light .pbp-ff-consent,
.pbp-form-wrap.is-light .pbp-ff-choice { color: #444; }
