.mcb-frontend {
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}
.mcb-frontend fieldset {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 20px;
}
.mcb-frontend legend {
	font-weight: 600;
	padding: 0 8px;
}
.mcb-frontend label {
	display: block;
	margin-bottom: 14px;
	font-weight: 500;
	font-size: 14px;
}
.mcb-frontend label.mcb-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: normal;
}
.mcb-frontend input[type="text"],
.mcb-frontend input[type="tel"],
.mcb-frontend input[type="email"],
.mcb-frontend input[type="password"],
.mcb-frontend input[type="date"],
.mcb-frontend input[type="time"],
.mcb-frontend input[type="number"],
.mcb-frontend select,
.mcb-frontend textarea {
	width: 100%;
	padding: 8px 10px;
	margin-top: 6px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	box-sizing: border-box;
}
.mcb-frontend textarea {
	min-height: 70px;
}
#mcb-estimate-box {
	background: #f7f8fa;
}
#mcb-estimate-display p {
	margin: 4px 0;
	font-size: 14px;
}
.mcb-estimate-disclaimer {
	font-size: 12px;
	color: #777;
	font-style: italic;
}
#mcb-signature-pad {
	display: block;
	background: #fff;
	max-width: 100%;
	margin-bottom: 10px;
}
.mcb-submit-button,
.mcb-secondary-button {
	background: #1f6feb;
	color: #fff;
	border: none;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 15px;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}
.mcb-secondary-button {
	background: #999;
	padding: 8px 14px;
	font-size: 13px;
}
.mcb-submit-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.mcb-form-message {
	padding: 12px 14px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 14px;
}
.mcb-form-message.mcb-success {
	background: #e6f6ea;
	color: #1a7d36;
	border: 1px solid #b7e4c4;
}
.mcb-form-message.mcb-error {
	background: #fdeaea;
	color: #a02020;
	border: 1px solid #f3bcbc;
}

/* WP core's wp_login_form() output — labels/inputs stack, submit button
   picks up the plugin's standard button look. */
.mcb-signup-form #loginform p {
	margin-bottom: 14px;
}
.mcb-signup-form #loginform label {
	display: block;
	font-weight: 500;
	font-size: 14px;
	margin-bottom: 4px;
}
.mcb-signup-form #wp-submit {
	background: #1f6feb;
	color: #fff;
	border: none;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 15px;
	cursor: pointer;
}
.mcb-signup-form .forgetmenot {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: normal;
}

/* ---------- CUSTOMER PORTAL ---------- */
.mcb-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	color: #fff;
	background: #888;
}
.mcb-badge-pending { background: #a7a7a7; }
.mcb-badge-confirmed { background: #2271b1; }
.mcb-badge-assigned { background: #8a4fd1; }
.mcb-badge-in_progress { background: #d18a2a; }
.mcb-badge-completed { background: #2a9d47; }
.mcb-badge-cancelled { background: #c0392b; }

.mcb-portal-company {
	color: #666;
	margin-top: -10px;
}
.mcb-portal-logo {
	max-width: 160px;
	max-height: 100px;
	display: block;
	margin-bottom: 10px;
}
.mcb-portal-about {
	color: #555;
	font-size: 14px;
	margin-top: -6px;
}
.mcb-portal-booking {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 18px 20px;
	margin-bottom: 16px;
}
.mcb-portal-booking-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}
.mcb-portal-booking-header h3 {
	margin: 0;
	font-size: 17px;
}
.mcb-portal-payment-block {
	background: #f7f8fa;
	border-radius: 6px;
	padding: 10px 14px;
	margin: 10px 0;
}
.mcb-portal-paypal-button {
	max-width: 280px;
	margin-top: 8px;
}
.mcb-portal-documents ul {
	margin: 6px 0 0;
	padding-left: 18px;
}
.mcb-portal-signed {
	color: #2a9d47;
	font-weight: 600;
	font-size: 14px;
}
.mcb-portal-estimate-response {
	background: #fff8ec;
	border: 1px solid #f0c36d;
	border-radius: 6px;
	padding: 10px 14px;
	margin: 10px 0;
}
.mcb-portal-estimate-response p {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
}
.mcb-estimate-accept,
.mcb-estimate-decline {
	border: none;
	border-radius: 6px;
	padding: 8px 16px;
	font-size: 14px;
	cursor: pointer;
	margin-right: 8px;
}
.mcb-estimate-accept {
	background: #2a9d47;
	color: #fff;
}
.mcb-estimate-decline {
	background: #fff;
	border: 1px solid #c0392b;
	color: #c0392b;
}

/* Google Places Autocomplete dropdown — pinned sizing so theme-wide image
   rules (e.g. img { width:100% }) can't stretch Google's small icons into
   giant broken-image placeholders. */
.pac-container {
	z-index: 100000 !important;
	font-family: inherit;
}
.pac-item {
	font-size: 13px;
	padding: 6px 8px;
}
.pac-icon,
.pac-item img {
	display: none !important;
}
