/**
 * Joey & Honesty Wedding — frontend styles for the RSVP form and party-bus
 * payment. Intentionally light-touch: inherits the theme's fonts/colors and
 * only adds spacing, a soft card, and clear notice states. Override anything
 * via Appearance → Additional CSS.
 */

.jhw-rsvp,
.jhw-partybus {
	max-width: 32rem;
	margin: 1.5rem auto;
}

/* Form as a soft card that adapts to light/dark backgrounds. */
.jhw-form {
	padding: 1.5rem;
	border: 1px solid rgba( 0, 0, 0, 0.12 );
	border-radius: 10px;
	background: rgba( 0, 0, 0, 0.015 );
}

.jhw-form p {
	margin: 0 0 1.1rem;
}

.jhw-form p:last-child {
	margin-bottom: 0;
}

.jhw-form label {
	font-weight: 600;
}

/* Radio labels sit inline and are not bold. */
.jhw-form label input[type="radio"] + * ,
.jhw-form input[type="radio"] {
	font-weight: 400;
}

.jhw-form input[type="radio"] {
	margin: 0 0.4rem 0 0.9rem;
}

.jhw-form input[type="radio"]:first-of-type {
	margin-left: 0;
}

.jhw-form input[type="text"],
.jhw-form input[type="email"],
.jhw-form input[type="number"],
.jhw-form textarea {
	width: 100%;
	padding: 0.55rem 0.7rem;
	margin-top: 0.3rem;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 6px;
	background: #fff;
	color: #1a1a1a;
	font: inherit;
	box-sizing: border-box;
}

.jhw-form textarea {
	resize: vertical;
}

.jhw-form input:focus,
.jhw-form textarea:focus {
	outline: 2px solid currentColor;
	outline-offset: 1px;
}

.jhw-form button {
	padding: 0.6rem 1.6rem;
	border: 0;
	border-radius: 6px;
	background: #1a1a1a;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.jhw-form button:hover {
	opacity: 0.9;
}

/* Payment amount line. */
.jhw-partybus__amount {
	text-align: center;
	font-size: 1.15rem;
	margin-bottom: 1rem;
}

#jhw-partybus-buttons {
	max-width: 22rem;
	margin: 0 auto;
}

/* Status / feedback notices. */
.jhw-notice {
	padding: 0.75rem 1rem;
	border-radius: 6px;
	border: 1px solid transparent;
}

.jhw-notice--ok {
	color: #14532d;
	background: #dcfce7;
	border-color: #86efac;
}

.jhw-notice--error {
	color: #7f1d1d;
	background: #fee2e2;
	border-color: #fca5a5;
}

/* Dark-scheme adjustments: keep contrast without fighting the theme. */
@media ( prefers-color-scheme: dark ) {
	.jhw-form {
		border-color: rgba( 255, 255, 255, 0.18 );
		background: rgba( 255, 255, 255, 0.04 );
	}

	.jhw-form input[type="text"],
	.jhw-form input[type="email"],
	.jhw-form input[type="number"],
	.jhw-form textarea {
		background: #1e1e1e;
		color: #f2f2f2;
		border-color: rgba( 255, 255, 255, 0.25 );
	}

	.jhw-form button {
		background: #f2f2f2;
		color: #1a1a1a;
	}

	.jhw-notice--ok {
		color: #bbf7d0;
		background: rgba( 34, 197, 94, 0.15 );
		border-color: rgba( 34, 197, 94, 0.4 );
	}

	.jhw-notice--error {
		color: #fecaca;
		background: rgba( 239, 68, 68, 0.15 );
		border-color: rgba( 239, 68, 68, 0.4 );
	}
}
