/* MahadevX CRM — Frontend (loaded only on pages that use shortcodes) */

/* Reinforce form spacing for plugin-rendered forms.
   Theme already styles .mahadevx-form, but these rules guarantee
   the forms look correct even if the theme is swapped out. */

.mahadevx-form { display: grid; gap: 1rem; max-width: 720px; margin: 0 auto; }

.mahadevx-form label {
	display: block; font-size: 0.875rem; font-weight: 500;
	margin-bottom: 0.375rem; color: inherit;
}
.mahadevx-form label span[aria-hidden="true"],
.mahadevx-form label span:first-child { color: #DC2626; }

.mahadevx-form input[type="text"],
.mahadevx-form input[type="tel"],
.mahadevx-form input[type="email"],
.mahadevx-form input[type="number"],
.mahadevx-form select,
.mahadevx-form textarea {
	width: 100%; padding: 0.625rem 0.875rem;
	font-size: 0.9375rem; line-height: 1.4;
	border: 1px solid #d1d5db; border-radius: 8px;
	background: #fff; color: #111827;
	transition: border-color .15s, box-shadow .15s;
	box-sizing: border-box;
}
.mahadevx-form input:focus,
.mahadevx-form select:focus,
.mahadevx-form textarea:focus {
	outline: none; border-color: #185FA5;
	box-shadow: 0 0 0 3px rgba(24, 95, 165, 0.15);
}

.mahadevx-form .form-row { display: grid; gap: 1rem; }
.mahadevx-form .form-row--2 { grid-template-columns: 1fr 1fr; }
.mahadevx-form .form-actions { margin-top: 0.5rem; }

.mahadevx-form .form-message {
	padding: 0.75rem 1rem; border-radius: 8px;
	font-size: 0.875rem; display: none;
}
.mahadevx-form .form-message--success {
	background: #dcfce7; color: #14532d; display: block;
}
.mahadevx-form .form-message--error {
	background: #fee2e2; color: #991b1b; display: block;
}

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