/**
 * Contact Us — form shell (page template, not full legacy body wrap).
 */

body.jcproto-layout-contact .jcproto-page-shell .jcproto-page-title,
body.jcproto-layout-quote .jcproto-page-shell .jcproto-page-title {
	font-family: var(--jcproto-font-display, inherit);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--jcproto-text, #0a0a0a);
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

body.jcproto-layout-contact .jcproto-contact-layout,
body.jcproto-layout-quote .jcproto-contact-layout {
	margin-top: clamp(0.5rem, 2vw, 1rem);
}

/* ── Form container ────────────────────────────────────────────── */
body.jcproto-layout-contact .jcproto-article--contact .wpcf7-form,
body.jcproto-layout-quote .jcproto-article--contact .wpcf7-form,
body.jcproto-layout-contact .jcproto-article--contact form,
body.jcproto-layout-quote .jcproto-article--contact form,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd form,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd form {
	max-width: 900px;
	background: #fff;
	border: 1px solid var(--jcproto-border, #e0e0e0);
	border-radius: var(--jcproto-radius-lg, 12px);
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
	padding: clamp(1.25rem, 3vw, 2rem);
}

/* ── Inputs ─────────────────────────────────────────────────────── */
body.jcproto-layout-contact .jcproto-article--contact input[type="text"],
body.jcproto-layout-quote .jcproto-article--contact input[type="text"],
body.jcproto-layout-contact .jcproto-article--contact input[type="email"],
body.jcproto-layout-quote .jcproto-article--contact input[type="email"],
body.jcproto-layout-contact .jcproto-article--contact input[type="tel"],
body.jcproto-layout-quote .jcproto-article--contact input[type="tel"],
body.jcproto-layout-contact .jcproto-article--contact input[type="url"],
body.jcproto-layout-quote .jcproto-article--contact input[type="url"],
body.jcproto-layout-contact .jcproto-article--contact textarea,
body.jcproto-layout-quote .jcproto-article--contact textarea,
body.jcproto-layout-contact .jcproto-article--contact select,
body.jcproto-layout-quote .jcproto-article--contact select,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd input,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd input,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd textarea,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd textarea,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd select,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd select {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--jcproto-border, #e0e0e0);
	border-radius: var(--jcproto-radius-sm, 6px);
	margin-bottom: 12px;
	font-size: 1rem;
	color: var(--jcproto-text, #0a0a0a);
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.jcproto-layout-contact .jcproto-article--contact input:focus,
body.jcproto-layout-quote .jcproto-article--contact input:focus,
body.jcproto-layout-contact .jcproto-article--contact textarea:focus,
body.jcproto-layout-quote .jcproto-article--contact textarea:focus,
body.jcproto-layout-contact .jcproto-article--contact select:focus,
body.jcproto-layout-quote .jcproto-article--contact select:focus,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd input:focus,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd input:focus,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd textarea:focus,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd textarea:focus {
	outline: none;
	border-color: var(--jcproto-primary, #0a0a0a);
	box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.08);
}

body.jcproto-layout-contact .jcproto-article--contact label,
body.jcproto-layout-quote .jcproto-article--contact label,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd label,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd label {
	color: var(--jcproto-text, #0a0a0a);
	font-weight: 500;
	font-size: 0.9375rem;
	margin-bottom: 4px;
	display: block;
}

/* ── Submit — black industrial ─────────────────────────────────── */
body.jcproto-layout-contact .jcproto-article--contact .btn-primary,
body.jcproto-layout-quote .jcproto-article--contact .btn-primary,
body.jcproto-layout-contact .jcproto-article--contact input[type="submit"],
body.jcproto-layout-quote .jcproto-article--contact input[type="submit"],
body.jcproto-layout-contact .jcproto-article--contact button[type="submit"],
body.jcproto-layout-quote .jcproto-article--contact button[type="submit"],
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd input[type="submit"],
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd input[type="submit"],
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd button[type="submit"],
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd button[type="submit"],
body.jcproto-layout-contact .jcproto-article--contact .backstage-component-btn,
body.jcproto-layout-quote .jcproto-article--contact .backstage-component-btn {
	background: var(--jcproto-primary, #0a0a0a) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 12px 28px;
	border-radius: var(--jcproto-radius, 8px) !important;
	cursor: pointer;
	font-weight: 600;
	font-size: 1rem;
	min-height: 44px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

body.jcproto-layout-contact .jcproto-article--contact .btn-primary:hover,
body.jcproto-layout-quote .jcproto-article--contact .btn-primary:hover,
body.jcproto-layout-contact .jcproto-article--contact input[type="submit"]:hover,
body.jcproto-layout-quote .jcproto-article--contact input[type="submit"]:hover,
body.jcproto-layout-contact .jcproto-article--contact button[type="submit"]:hover,
body.jcproto-layout-quote .jcproto-article--contact button[type="submit"]:hover,
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd input[type="submit"]:hover,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd input[type="submit"]:hover,
body.jcproto-layout-contact .jcproto-article--contact .backstage-component-btn:hover,
body.jcproto-layout-quote .jcproto-article--contact .backstage-component-btn:hover {
	background: var(--jcproto-primary-hover, #333333) !important;
	box-shadow: var(--jcproto-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.1));
}

/* ── Legacy form widgets inside contact content ────────────────── */
body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd,
body.jcproto-layout-contact .jcproto-article--contact .entry-content,
body.jcproto-layout-quote .jcproto-article--contact .entry-content {
	color: var(--jcproto-text-body, #555555);
	line-height: 1.7;
	font-size: 1rem;
}

body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd a:not(.backstage-component-btn):not(.btn),
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd a:not(.backstage-component-btn):not(.btn) {
	color: var(--jcproto-text-body, #555555);
}

body.jcproto-layout-contact .jcproto-article--contact .sitewidget-bd a:not(.backstage-component-btn):not(.btn):hover,
body.jcproto-layout-quote .jcproto-article--contact .sitewidget-bd a:not(.backstage-component-btn):not(.btn):hover {
	color: var(--jcproto-primary, #0a0a0a);
}

body.jcproto-layout-contact .jcproto-article--contact .wpcf7-not-valid-tip,
body.jcproto-layout-quote .jcproto-article--contact .wpcf7-not-valid-tip {
	color: #c0392b;
	font-size: 0.875rem;
}

body.jcproto-layout-contact .jcproto-article--contact .wpcf7-response-output,
body.jcproto-layout-quote .jcproto-article--contact .wpcf7-response-output {
	border-radius: var(--jcproto-radius, 8px);
	margin-top: 16px;
}
