/**
 * Renovexo — contact page and Fluent Forms.
 */

.rv-contact-section { padding-block: clamp(36px, 5vw, 64px) clamp(56px, 8vw, 96px); }
.rv-contact-grid { display: grid; gap: clamp(28px, 4vw, 48px); }
@media (min-width: 992px) { .rv-contact-grid { grid-template-columns: 1.05fr 1fr; align-items: start; } }

.rv-contact-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 14px;
	padding: 4px 12px 4px 8px;
	border: 1.5px solid var(--rv-ink);
	border-radius: 999px;
	background: var(--rv-yellow-soft);
	font-size: .88rem;
	font-weight: 700;
}
.rv-contact-title { margin: 0 0 14px; font-size: clamp(1.4rem, 1.15rem + 1vw, 2rem); font-weight: 800; }
.rv-contact-desc { margin: 0 0 24px; color: #3A3F4B; font-size: 1.06rem; }

.rv-contact-reasons {
	margin-bottom: 20px;
	padding: 22px 24px;
	border: var(--rv-border);
	border-radius: var(--rv-radius);
	background: var(--rv-white);
}
.rv-contact-reasons h3 { margin: 0 0 14px; font-size: 1.1rem; }
.rv-contact-reasons ul { margin: 0; padding: 0; list-style: none; }
.rv-contact-reasons li { position: relative; padding: 0 0 12px 22px; font-size: .97rem; line-height: 1.55; }
.rv-contact-reasons li::before { content: ""; position: absolute; left: 0; top: .55em; width: 9px; height: 9px; background: var(--rv-minium); }
.rv-contact-reasons li:last-child { padding-bottom: 0; }

.rv-contact-notice {
	padding: 16px 20px;
	border: var(--rv-border);
	border-radius: var(--rv-radius);
	background: var(--rv-calque);
	font-size: .96rem;
	line-height: 1.55;
}

.rv-contact-form-card {
	padding: clamp(22px, 3.5vw, 34px);
	border: var(--rv-border);
	border-radius: 18px;
	background: linear-gradient(180deg, #FFFFFF 0%, #FAFAF8 100%);
	box-shadow: 0 6px 0 var(--rv-ink);
}
.rv-contact-form-card h3 { margin: 0 0 20px; font-size: 1.25rem; }

/* Fluent Forms */
.fluentform .ff-el-group { margin-bottom: 18px; }
.fluentform .ff-el-form-top label,
.fluentform .ff-el-input--label label { color: var(--rv-ink); font-weight: 700; font-size: .95rem; }
.fluentform .ff-el-form-control {
	min-height: 48px;
	padding: 11px 14px !important;
	border: var(--rv-border) !important;
	border-radius: var(--rv-radius-sm) !important;
	background: var(--rv-white) !important;
	color: var(--rv-ink) !important;
	font-family: var(--rv-font-body) !important;
	font-size: 1rem !important;
}
.fluentform textarea.ff-el-form-control { min-height: 140px; }
.fluentform .ff-el-form-control:focus { border-color: var(--rv-blue) !important; box-shadow: 0 0 0 4px var(--rv-calque) !important; outline: none; }
.fluentform .ff-btn-submit {
	min-height: 52px;
	padding: 0 26px !important;
	border: var(--rv-border) !important;
	border-radius: var(--rv-radius-sm) !important;
	background: var(--rv-minium) !important;
	color: #FFFFFF !important;
	font-family: var(--rv-font-head) !important;
	font-weight: 600 !important;
	font-size: .95rem !important;
	box-shadow: 0 4px 0 var(--rv-ink) !important;
	transition: transform .12s ease, box-shadow .12s ease, background-color .15s ease !important;
}
.fluentform .ff-btn-submit:hover { background: var(--rv-minium-text) !important; transform: translateY(2px); box-shadow: 0 2px 0 var(--rv-ink) !important; }
.fluentform .ff-message-success {
	padding: 16px 18px !important;
	border: var(--rv-border) !important;
	border-radius: var(--rv-radius) !important;
	background: var(--rv-yellow-soft) !important;
	color: var(--rv-ink) !important;
	box-shadow: none !important;
}
