/* Lumin Booking form styles */

.lab-booking-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lab-form-row {
	display: grid;
	gap: 1rem;
}

.lab-form-row--2 {
	grid-template-columns: 1fr 1fr;
}

.lab-field label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--color-muted, #8b92a8);
	margin-bottom: 0.4rem;
}

.lab-field label span {
	color: #6ee7b7;
}

.lab-field input,
.lab-field select,
.lab-field textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	background: #0e1018;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	color: #e8eaef;
	font-family: inherit;
	font-size: 0.95rem;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.lab-field input:focus,
.lab-field select:focus,
.lab-field textarea:focus {
	outline: none;
	border-color: #6ee7b7;
	box-shadow: 0 0 0 3px rgba(110, 231, 183, 0.15);
}

.lab-field textarea {
	resize: vertical;
	min-height: 100px;
}

.lab-hp {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

.lab-form-actions {
	margin-top: 0.5rem;
}

.lab-submit {
	width: 100%;
	cursor: pointer;
}

.lab-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.lab-submit.is-loading .lab-submit-text::after {
	content: "";
	animation: lab-dots 1.2s infinite;
}

@keyframes lab-dots {
	0%, 20% { content: "."; }
	40% { content: ".."; }
	60%, 100% { content: "..."; }
}

.lab-form-message {
	padding: 1rem 1.25rem;
	border-radius: 10px;
	font-size: 0.9rem;
}

.lab-form-message.is-success {
	background: rgba(110, 231, 183, 0.12);
	border: 1px solid rgba(110, 231, 183, 0.35);
	color: #6ee7b7;
}

.lab-form-message.is-error {
	background: rgba(248, 113, 113, 0.12);
	border: 1px solid rgba(248, 113, 113, 0.35);
	color: #f87171;
}

@media (max-width: 600px) {
	.lab-form-row--2 {
		grid-template-columns: 1fr;
	}
}
