/* ==========================================================================
   Emporiapolis — cf7-custom.css
   Styles Contact Form 7 to match the Next.js QuoteForm.
   Wrap CF7 markup with .emp-quote-form (grid) for the multi-field layout.
   ========================================================================== */

.wpcf7 { font-family: var(--emp-font-body); }

/* Field grid: wrap rows in <div class="emp-form-grid"> inside the CF7 form */
.emp-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.625rem 0.75rem;
}
@media (min-width: 768px) {
	.emp-form-grid { grid-template-columns: repeat(3, 1fr); }
}
.emp-form-grid .emp-col-2 { grid-column: span 2; }
.emp-form-grid .emp-col-full { grid-column: 1 / -1; }

/* Labels */
.wpcf7-form label {
	display: block;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--emp-navy);
	margin-bottom: 0.25rem;
}

/* Inputs / selects / textareas */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	background: #F8F9FA;
	border: 1px solid var(--emp-border);
	border-radius: 8px;
	padding: 0.5rem 0.625rem;
	font-size: 13px;
	font-family: var(--emp-font-body);
	color: var(--emp-navy);
	line-height: 1.4;
	transition: border-color 0.2s var(--emp-ease), box-shadow 0.2s var(--emp-ease);
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: var(--emp-muted); }

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--emp-blue);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.wpcf7-form textarea { min-height: 90px; resize: vertical; }

/* Submit button */
.wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1rem;
	min-height: 46px;
	padding: 0.75rem 1.5rem;
	font-size: 13.5px;
	font-weight: 600;
	color: #fff;
	background: var(--emp-navy);
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.25s var(--emp-ease);
	width: auto;
}
.wpcf7-form .wpcf7-submit:hover { background: var(--emp-navy-3); }
.wpcf7-form .wpcf7-submit:disabled { opacity: 0.6; cursor: not-allowed; }

/* Loader spinner position */
.wpcf7-spinner { margin: 0 0 0 0.5rem; }

/* Validation + response messages */
.wpcf7-not-valid-tip {
	font-size: 11px;
	color: #B91C1C;
	margin-top: 0.25rem;
}
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid {
	border-color: #FCA5A5;
	background: #FEF2F2;
}
.wpcf7-response-output {
	margin: 1rem 0 0 !important;
	padding: 0.75rem 1rem !important;
	border-radius: 8px !important;
	font-size: 13px;
	border-width: 1px !important;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output {
	border-color: #FCA5A5 !important;
	background: #FEF2F2 !important;
	color: #7F1D1D !important;
}
.wpcf7-form.sent .wpcf7-response-output {
	border-color: #86EFAC !important;
	background: #F0FDF4 !important;
	color: #166534 !important;
}

/* Privacy note helper */
.emp-form-note {
	font-size: 11px;
	color: var(--emp-muted);
	line-height: 1.4;
	margin-top: 0.75rem;
}
