/**
 * PPC Form inputs/buttons — isolated from theme CSS.
 * Dual roots: .ppc-form-root (inline) and body > .ppc-form-popup (moved modal).
 */
.ppc-form-root,
body > .ppc-form-popup {
	--ppc-btn-bg: #2563eb;
	--ppc-btn-hover: #1d4ed8;
	--ppc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ppc-radius: 10px;
	--ppc-input-border: #d1d5db;
	--ppc-input-focus: #2563eb;
	--ppc-input-bg: #f9fafb;
	--ppc-text: #111827;
	--ppc-muted: #6b7280;
	font-family: var(--ppc-font) !important;
	color: var(--ppc-text) !important;
	line-height: 1.5 !important;
	font-size: 15px !important;
	box-sizing: border-box !important;
	-webkit-text-size-adjust: 100%;
}

.ppc-form-root *,
.ppc-form-root *::before,
.ppc-form-root *::after,
body > .ppc-form-popup *,
body > .ppc-form-popup *::before,
body > .ppc-form-popup *::after {
	box-sizing: border-box !important;
}

.ppc-form-root .ppc-form-card,
.ppc-form-root .ppc-form-card-inner,
.ppc-form-root .ppc-form-signup-wrap,
body > .ppc-form-popup .ppc-form-card,
body > .ppc-form-popup .ppc-form-card-inner,
body > .ppc-form-popup .ppc-form-signup-wrap {
	font-family: var(--ppc-font) !important;
	color: var(--ppc-text) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: relative !important;
}

.ppc-form-root .ppc-form-field,
body > .ppc-form-popup .ppc-form-field {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	width: 100% !important;
	float: none !important;
	display: block !important;
}

.ppc-form-root .ppc-form-input,
body > .ppc-form-popup .ppc-form-input {
	display: block !important;
	width: 100% !important;
	min-height: 48px !important;
	height: auto !important;
	margin: 0 !important;
	outline: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: none !important;
	background-repeat: no-repeat !important;
	border: 1.5px solid var(--ppc-input-border) !important;
	background-color: var(--ppc-input-bg) !important;
	border-radius: var(--ppc-radius) !important;
	padding: 14px 16px !important;
	font-family: var(--ppc-font) !important;
	font-weight: 400 !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: var(--ppc-text) !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.ppc-form-root .ppc-form-input::placeholder,
body > .ppc-form-popup .ppc-form-input::placeholder {
	color: #9ca3af !important;
	opacity: 1 !important;
}

.ppc-form-root .ppc-form-input:focus,
body > .ppc-form-popup .ppc-form-input:focus {
	border-color: var(--ppc-input-focus) !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
	background-color: #fff !important;
}

.ppc-form-root .ppc-form-submit-wrap,
body > .ppc-form-popup .ppc-form-submit-wrap {
	margin-top: 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	width: 100% !important;
}

.ppc-form-root .ppc-form-submit-btn,
body > .ppc-form-popup .ppc-form-submit-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%) !important;
	font-family: var(--ppc-font) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--ppc-radius) !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: transform 0.15s, box-shadow 0.2s, background 0.2s;
}

.ppc-form-root .ppc-form-submit-btn:hover,
body > .ppc-form-popup .ppc-form-submit-btn:hover {
	background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45) !important;
}

.ppc-form-root .ppc-form-submit-btn:active,
body > .ppc-form-popup .ppc-form-submit-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3) !important;
}

.ppc-form-root .ppc-form-submit-btn:disabled,
body > .ppc-form-popup .ppc-form-submit-btn:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

.ppc-form-root .ppc-form-disclaimer,
.ppc-form-root .ppc-form-disclaimer p,
body > .ppc-form-popup .ppc-form-disclaimer,
body > .ppc-form-popup .ppc-form-disclaimer p {
	font-family: var(--ppc-font) !important;
	font-size: 11px !important;
	color: #9ca3af !important;
	text-align: center !important;
	margin: 14px 0 0 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
	background: transparent !important;
	border: 0 !important;
}

.ppc-form-root .ppc-form-disclaimer a,
body > .ppc-form-popup .ppc-form-disclaimer a {
	color: #6b7280 !important;
	text-decoration: underline !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: inherit !important;
}

.ppc-form-root .ppc-form-disclaimer a:hover,
body > .ppc-form-popup .ppc-form-disclaimer a:hover {
	color: #374151 !important;
}
