/**
 * [sra_contact_form] front-end styles. Enqueued only on singular posts whose
 * content contains the shortcode (SRA_Projects_Contact_Form::maybe_enqueue_assets).
 *
 * Only .sra-contact-form / .sra-cf-* classes appear here: the theme's legacy
 * Bootstrap-3 and Joomla leftovers style .contact-form, .control-group and
 * .form-control with fixed heights and margins that fight custom layouts.
 */

.sra-contact-form{width:100%;margin:0 0 2rem}

.sra-cf-notice{padding:12px 16px;margin:0 0 18px;font-size:13px;line-height:1.5}
.sra-cf-notice p{margin:0}
.sra-cf-notice.ok{background:#e6f4ea;border:1px solid #2e7d32;color:#1b5e20}
.sra-cf-notice.err{background:#fbe9e7;border:1px solid #b32d2e;color:#8a1f20}

/* Two columns on wide screens; message/checkbox/captcha span both. */
.sra-cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.sra-cf-field-wide{grid-column:1/-1}

.sra-cf-field label{display:block;font-weight:700;margin:0 0 5px;font-size:13px;color:#333}
.sra-cf-field input[type=email],
.sra-cf-field input[type=tel],
.sra-cf-field input[type=text],
.sra-cf-field select,
.sra-cf-field textarea{
	display:block;
	width:100%;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #ddd;
	border-radius:0;
	padding:8px 10px;
	font:13px/1.5 Arial,Helvetica,sans-serif;
	color:#333;
	height:auto;
	line-height:1.5;
}
.sra-cf-field textarea{min-height:160px;resize:vertical}
.sra-cf-field input:focus,
.sra-cf-field select:focus,
.sra-cf-field textarea:focus{border-color:#555;outline:2px solid rgba(0,0,0,.15)}

/* Tick boxes reset the theme's full-width control styles back to a box. */
.sra-cf-field-checkbox label.sra-cf-box{display:flex;align-items:flex-start;gap:8px;font-weight:700;margin:0;cursor:pointer}
.sra-cf-field-checkbox input[type=checkbox]{width:auto;flex:0 0 auto;margin:2px 0 0;vertical-align:middle}

.sra-cf-field-captcha input[type=text]{max-width:140px}

.sra-cf-req{color:#b32d2e}
.sra-cf-error{margin:5px 0 0;color:#b32d2e;font-size:12px}
.sra-cf-err input[type=email],
.sra-cf-err input[type=tel],
.sra-cf-err input[type=text],
.sra-cf-err select,
.sra-cf-err textarea{border-color:#b32d2e}

.sra-cf-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 0}
.sra-cf-req-note{font-size:12px;color:#777}
.sra-cf-submit{background:#222;color:#fff;border:0;border-radius:0;padding:10px 24px;font:700 13px/1.5 Arial,Helvetica,sans-serif;cursor:pointer}
.sra-cf-submit:hover,
.sra-cf-submit:focus{background:#000;color:#fff}

/* Honeypot: kept in the DOM (bots read the markup, not the CSS) but pushed
   off-screen so no layout collapses and screen readers skip it via the
   aria-hidden wrapper. Never display:none — some filters flag that outright. */
.sra-cf-hp{position:absolute !important;left:-9999px !important;top:0;width:1px;height:1px;overflow:hidden;margin:0}

@media (max-width:782px){
	.sra-cf-grid{grid-template-columns:minmax(0,1fr)}
	.sra-cf-actions{flex-direction:column;align-items:stretch}
	.sra-cf-submit{width:100%}
}
