/**
 * SSM Stripe Payment — front-end styles.
 */

.ssm-card-wrapper {
	margin: 12px 0;
}

.ssm-card-wrapper > label.gfield_label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.ssm-currency-wrapper {
	margin: 10px 0;
}

.ssm-currency-wrapper > label.gfield_label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.ssm-currency-select {
	min-width: 140px;
	padding: 8px 10px;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	background: #fff;
}

#ssm-card-element {
	padding: 12px;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	background: #fff;
	min-height: 44px;
}

.ssm-card-errors {
	color: #b32d2e;
	font-size: 0.9em;
	margin-top: 8px;
	min-height: 1.2em;
}

/* Ensure the submit button label is centered (some themes left-align it). */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper .gform_button,
input.gform_button,
button.gform_button {
	text-align: center !important;
	justify-content: center !important;
}

/* Busy state for the submit button while a payment is in flight. */
.gform_button.ssm-busy,
button.ssm-busy,
input.ssm-busy {
	opacity: 0.6;
	cursor: progress;
}

/*
 * Hide the Gravity Forms anti-spam honeypot. GF adds a decoy field just before
 * the submit button and normally hides it with its own CSS; when that CSS is
 * suppressed (e.g. a heavily themed / Elementor form), the honeypot shows up as
 * a stray empty text box. These selectors keep it hidden without disabling the
 * spam protection. Safe to apply — it only targets GF's validation/honeypot
 * containers, never real fields.
 */
.gform_validation_container,
.gfield--type-honeypot,
[id*="gform_validation_container"],
[id*="_validation_container"],
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-honeypot,
form[id^="gform_"] .gform_validation_container,
form[id^="gform_"] .gfield--type-honeypot {
	display: none !important;
	position: absolute !important;
	left: -9000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Status page */
.ssm-payment-status {
	padding: 20px;
	border-radius: 8px;
	border: 1px solid #e2e4e7;
	font-size: 1.05em;
}

.ssm-payment-status.ssm-status-succeeded {
	border-color: #46b450;
	background: #f0fff4;
	color: #1e6b2a;
}

.ssm-payment-status.ssm-status-processing {
	border-color: #ffb900;
	background: #fffbf0;
	color: #8a6d0b;
}

.ssm-payment-status.ssm-status-failed,
.ssm-payment-status.ssm-status-unknown {
	border-color: #dc3232;
	background: #fff5f5;
	color: #a02222;
}
