/* Minimal Contact Form -- Frontend Styles
   Rounded, icon-led, professional minimalist look.
   Selectors are scoped + weighted with !important on core visual
   properties so this design survives theme/Elementor global input &
   button styles, which often carry their own !important rules. */

.mcf-form-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.mcf-form-wrapper .mcf-form * {
	box-sizing: border-box !important;
}

.mcf-form-wrapper .mcf-form {
	display: flex !important;
	flex-wrap: wrap !important;
	margin-left: -10px !important;
	margin-right: -10px !important;
}

.mcf-form-wrapper .mcf-field-wrap {
	position: relative !important;
	width: var(--mcf-w, 100%) !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
	box-sizing: border-box !important;
	margin-bottom: 18px !important;
}

.mcf-form-wrapper .mcf-field-label {
	display: block !important;
	margin-bottom: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	color: #333333 !important;
}

.mcf-form-wrapper .mcf-required-mark {
	color: #d33d3d !important;
}

.mcf-form-wrapper input.mcf-input,
.mcf-form-wrapper textarea.mcf-textarea,
.mcf-form-wrapper select.mcf-select {
	width: 100% !important;
	display: block !important;
	padding: 15px 18px !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	font-family: inherit !important;
	color: #1a1a1a !important;
	background-color: #f4f4f4 !important;
	background-image: none;
	border: 1px solid #f4f4f4 !important;
	border-radius: 30px !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
	outline: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	height: auto !important;
}

/* Icon-led fields (Name / Email / Phone / Message) */
.mcf-form-wrapper .mcf-field-icon {
	position: absolute !important;
	left: 18px !important;
	top: 50%;
	transform: translateY(-50%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: none !important;
	line-height: 0 !important;
	z-index: 2;
}

.mcf-form-wrapper .mcf-field-icon svg {
	stroke: #9a9a9a;
	display: block !important;
}

.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon input.mcf-input,
.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon textarea.mcf-textarea {
	padding-left: 48px !important;
}

.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon-top .mcf-field-icon {
	top: 18px !important;
	transform: none !important;
}

.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon-top textarea.mcf-textarea {
	border-radius: 20px !important;
}

.mcf-form-wrapper select.mcf-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23555555'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 18px center !important;
	background-size: 16px !important;
	padding-right: 44px !important;
	cursor: pointer !important;
}

.mcf-form-wrapper select.mcf-select:invalid {
	color: #9a9a9a !important;
}

.mcf-form-wrapper textarea.mcf-textarea {
	resize: vertical !important;
	min-height: 120px !important;
	border-radius: 20px !important;
}

.mcf-form-wrapper input.mcf-input:focus,
.mcf-form-wrapper textarea.mcf-textarea:focus,
.mcf-form-wrapper select.mcf-select:focus {
	background-color: #ffffff !important;
	border-color: #000000 !important;
	box-shadow: 0 0 0 1px #000000 !important;
}

.mcf-form-wrapper input.mcf-input::placeholder,
.mcf-form-wrapper textarea.mcf-textarea::placeholder {
	color: #9a9a9a !important;
	opacity: 1 !important;
}

.mcf-form-wrapper .mcf-input.mcf-invalid,
.mcf-form-wrapper .mcf-textarea.mcf-invalid,
.mcf-form-wrapper .mcf-select.mcf-invalid {
	border-color: #d33d3d !important;
}

.mcf-form-wrapper .mcf-field-wrap.mcf-invalid .mcf-field-label {
	color: #d33d3d !important;
}

/* Date / Time -- normalize native appearance a bit */
.mcf-form-wrapper input.mcf-input[type="date"],
.mcf-form-wrapper input.mcf-input[type="time"] {
	cursor: pointer !important;
	color: #1a1a1a !important;
}

.mcf-form-wrapper input.mcf-input[type="date"]::-webkit-calendar-picker-indicator,
.mcf-form-wrapper input.mcf-input[type="time"]::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 0.6;
}

/* Radio group */
.mcf-form-wrapper .mcf-radio-group .mcf-options-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 24px !important;
}

.mcf-form-wrapper .mcf-radio-label,
.mcf-form-wrapper .mcf-checkbox-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	color: #1a1a1a !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
}

.mcf-form-wrapper .mcf-radio-label input[type="radio"],
.mcf-form-wrapper .mcf-checkbox-label input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	flex-shrink: 0 !important;
	accent-color: #000000 !important;
	cursor: pointer !important;
	margin: 0 !important;
}

.mcf-form-wrapper .mcf-acceptance-label {
	align-items: flex-start !important;
}

.mcf-form-wrapper .mcf-acceptance-label input[type="checkbox"] {
	margin-top: 2px !important;
}

.mcf-form-wrapper .mcf-acceptance-label span {
	font-size: 13px !important;
	color: #555555 !important;
	line-height: 1.5 !important;
}

.mcf-form-wrapper .mcf-acceptance-label a {
	color: #000000 !important;
	text-decoration: underline !important;
}

.mcf-form-wrapper .mcf-acceptance-label a:hover {
	text-decoration: none !important;
}

.mcf-form-wrapper .mcf-radio-group.mcf-invalid .mcf-options-row,
.mcf-form-wrapper .mcf-checkbox-wrap.mcf-invalid .mcf-checkbox-label {
	outline: 1px solid #d33d3d !important;
	outline-offset: 6px !important;
	border-radius: 4px !important;
}

/* HTML field — free-form admin content, keep first/last child margins tidy */
.mcf-form-wrapper .mcf-html-field {
	overflow-wrap: break-word !important;
}

.mcf-form-wrapper .mcf-html-field > *:first-child {
	margin-top: 0 !important;
}

.mcf-form-wrapper .mcf-html-field > *:last-child {
	margin-bottom: 0 !important;
}

/* Honeypot -- invisible to humans, present for bots */
.mcf-form-wrapper .mcf-hp-wrap {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
}

/* Submit button */
.mcf-form-wrapper .mcf-submit-wrap {
	margin-bottom: 0 !important;
	margin-top: 6px !important;
}

.mcf-form-wrapper button.mcf-submit-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 16px 34px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	font-family: inherit !important;
	color: #ffffff !important;
	background-color: #000000 !important;
	background-image: none !important;
	border: 2px solid #000000 !important;
	border-radius: 30px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.15s ease, opacity 0.25s ease !important;
	width: auto;
	margin: 0 !important;
}

.mcf-form-wrapper .mcf-btn-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 0 !important;
}

.mcf-form-wrapper .mcf-btn-icon svg {
	fill: #ffffff;
	display: block !important;
}

.mcf-form-wrapper.mcf-btn-width-full button.mcf-submit-btn,
.mcf-btn-width-full .mcf-form-wrapper button.mcf-submit-btn {
	width: 100% !important;
}

.mcf-form-wrapper button.mcf-submit-btn:hover,
.mcf-form-wrapper button.mcf-submit-btn:focus-visible {
	opacity: 0.88 !important;
}

.mcf-form-wrapper button.mcf-submit-btn:active {
	transform: scale(0.98) !important;
}

.mcf-form-wrapper button.mcf-submit-btn:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

/* Loading spinner shown inside the button while submitting */
.mcf-form-wrapper .mcf-btn-spinner {
	display: none;
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: mcf-spin 0.6s linear infinite;
}

.mcf-form-wrapper .mcf-form.mcf-submitting .mcf-btn-spinner {
	display: inline-block !important;
}

.mcf-form-wrapper .mcf-form.mcf-submitting .mcf-btn-icon {
	display: none !important;
}

@keyframes mcf-spin {
	to { transform: rotate(360deg); }
}

/* Response / status message */
.mcf-form-wrapper .mcf-response {
	width: 100% !important;
	margin-top: 16px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	display: none;
	padding: 12px 16px !important;
	border-radius: 12px !important;
}

.mcf-form-wrapper .mcf-response.mcf-visible {
	display: block !important;
}

.mcf-form-wrapper .mcf-response.mcf-success {
	color: #1a7a3a !important;
	background-color: #eefaf1 !important;
	border: 1px solid #cdeedb !important;
}

.mcf-form-wrapper .mcf-response.mcf-error {
	color: #b02a2a !important;
	background-color: #fdecec !important;
	border: 1px solid #f6cccc !important;
}

/* Responsive */
@media (max-width: 640px) {
	.mcf-form-wrapper .mcf-field-wrap {
		width: 100% !important;
	}
}

@media (max-width: 480px) {
	.mcf-form-wrapper input.mcf-input,
	.mcf-form-wrapper textarea.mcf-textarea,
	.mcf-form-wrapper select.mcf-select {
		padding: 13px 16px !important;
		font-size: 14px !important;
	}

	.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon input.mcf-input,
	.mcf-form-wrapper .mcf-field-wrap.mcf-has-icon textarea.mcf-textarea {
		padding-left: 44px !important;
	}

	.mcf-form-wrapper .mcf-radio-group .mcf-options-row {
		flex-direction: column !important;
		gap: 10px !important;
	}

	.mcf-form-wrapper button.mcf-submit-btn {
		width: 100% !important;
		padding: 14px 24px !important;
	}
}
