/* Rock Creek - "Get a quote" popup (custom shell + Fluent Forms inside) */
.rc-modal { position: fixed; inset: 0; z-index: 100000; display: none; }
.rc-modal.is-open { display: block; }
.rc-modal__overlay { position: absolute; inset: 0; background: rgba(19,39,32,0.55); }
.rc-modal__dialog {
	box-sizing: border-box;
	position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
	width: calc(100% - 30px); max-width: 620px; max-height: 90vh; overflow-y: auto;
	background: #FFFFFF; border-radius: 24px; padding: 36px;
	box-shadow: 0 30px 60px rgba(19,39,32,0.25);
	font-family: 'Inter', sans-serif; color: #193A2F;
}
.rc-modal__close {
	position: absolute; top: 20px; right: 20px; width: 40px; height: 40px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 999px; background: #EEF1EF; color: #4B5F57; cursor: pointer;
}
.rc-modal__close:hover { background: #DCE1DE; }
.rc-modal__state { display: none; }
.rc-modal[data-current="form"] .rc-state-form,
.rc-modal[data-current="success"] .rc-state-success,
.rc-modal[data-current="error"] .rc-state-error { display: block; }
.rc-modal__title { font-family: 'Fraunces', serif; font-style: italic; font-weight: 600; font-size: 30px; line-height: 1.1; margin: 0 0 6px; color: #193A2F; }
.rc-modal__subtitle { font-size: 15px; line-height: 1.5; color: #4B5F57; margin: 0 0 22px; }
.rc-btn { display: inline-flex; align-items: center; justify-content: center; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 600; padding: 15px 28px; border-radius: 999px; border: 0; cursor: pointer; background: #132720; color: #FFFFFF; }
.rc-btn:hover { background: #1d3a2f; }
.rc-btn--auto { margin-top: 8px; padding-left: 40px; padding-right: 40px; }
.rc-state-success, .rc-state-error { text-align: center; padding: 8px 0; }
.rc-status-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 999px; margin: 8px auto 20px; }
.rc-status-icon--success { background: #E3F1EE; color: #1C7469; }
.rc-status-icon--error { background: #FBEAEA; color: #D64545; font-size: 30px; font-weight: 800; line-height: 1; }
.rc-state-success .rc-modal__subtitle, .rc-state-error .rc-modal__subtitle { max-width: 430px; margin-left: auto; margin-right: auto; }
.rc-state-error a { color: #193A2F; text-decoration: underline; }
body.rc-modal-open { overflow: hidden; }

/* --- Fluent Forms restyled + laid out to match the design (scoped to the modal) --- */
#rc-quote-modal .fluentform { margin: 0; }
#rc-quote-modal .frm-fluent-form fieldset { display: flex; flex-wrap: wrap; column-gap: 16px; border: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
#rc-quote-modal .frm-fluent-form .ff-el-group { flex: 0 0 100%; margin: 0 0 16px; }
/* Name + Email on one row */
#rc-quote-modal .frm-fluent-form .ff-el-group:has(input[name="name"]),
#rc-quote-modal .frm-fluent-form .ff-el-group:has(input[name="email"]) { flex: 0 0 calc(50% - 8px); }

/* labels + remove required asterisks (fields stay required) */
#rc-quote-modal .frm-fluent-form .ff-el-input--label { margin-bottom: 8px; padding: 0; }
#rc-quote-modal .frm-fluent-form .ff-el-input--label label { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: #193A2F; }
#rc-quote-modal .frm-fluent-form .asterisk-right label:after,
#rc-quote-modal .frm-fluent-form .ff-el-is-required.asterisk-right label:after,
#rc-quote-modal .frm-fluent-form .asterisk-right:after { content: none !important; display: none !important; }

/* inputs */
#rc-quote-modal .frm-fluent-form .ff-el-form-control {
	width: 100%; font-family: 'Inter', sans-serif; font-size: 15px; color: #193A2F;
	padding: 13px 14px; border: 1px solid #DCE1DE; border-radius: 12px; background: #FFFFFF;
	box-sizing: border-box; line-height: 1.4; box-shadow: none; height: auto;
}
#rc-quote-modal .frm-fluent-form .ff-el-form-control::placeholder { color: #9DB0AA; }
#rc-quote-modal .frm-fluent-form .ff-el-form-control:focus { border-color: #1C7469; box-shadow: 0 0 0 3px rgba(28,116,105,0.12); outline: none; }
#rc-quote-modal .frm-fluent-form textarea.ff-el-form-control { min-height: 118px; resize: vertical; }

/* topic radio: label on its own line, pills in a row below */
#rc-quote-modal .frm-fluent-form .ff-el-group.ff_list_inline { display: block; }
#rc-quote-modal .frm-fluent-form .ff-el-group.ff_list_inline .ff-el-input--label,
#rc-quote-modal .frm-fluent-form .ff-el-group.ff_list_inline .ff-el-input--content { display: block; width: 100%; float: none; }
#rc-quote-modal .frm-fluent-form .ff-el-group.ff_list_inline .ff-el-input--content { display: flex; flex-wrap: wrap; gap: 8px; }
#rc-quote-modal .frm-fluent-form .ff-el-form-check { display: inline-flex; margin: 0; padding: 0; min-height: 0; }
#rc-quote-modal .frm-fluent-form .ff-el-form-check input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
#rc-quote-modal .frm-fluent-form .ff-el-form-check-label {
	display: inline-block; padding: 8px 17px; border: 1px solid #DCE1DE; border-radius: 999px;
	cursor: pointer; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: #193A2F; margin: 0; line-height: 1.3;
}
#rc-quote-modal .frm-fluent-form .ff-el-form-check-label:has(input:checked),
#rc-quote-modal .frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label {
	background: #193A2F; color: #FFFFFF; border-color: #193A2F;
}

/* submit */
#rc-quote-modal .frm-fluent-form .ff_submit_btn_wrapper { margin-bottom: 0; }
#rc-quote-modal .frm-fluent-form .ff-btn-submit {
	width: 100%; background: #132720; color: #FFFFFF; border: 0; border-radius: 999px;
	padding: 16px 28px; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 6px; box-shadow: none;
}
#rc-quote-modal .frm-fluent-form .ff-btn-submit:hover { background: #1d3a2f; }

/* validation + hide FF's own success message (we show our own screen) */
#rc-quote-modal .frm-fluent-form .error.text-danger, #rc-quote-modal .frm-fluent-form .text-danger { color: #C0392B; font-size: 13px; margin-top: 6px; }
#rc-quote-modal .frm-fluent-form .ff-message-success { display: none; }

@media (max-width: 560px) {
	.rc-modal__dialog { padding: 26px 20px; border-radius: 20px; width: 94vw; }
	.rc-modal__title { font-size: 26px; }
	#rc-quote-modal .frm-fluent-form .ff-el-group:has(input[name="name"]),
	#rc-quote-modal .frm-fluent-form .ff-el-group:has(input[name="email"]) { flex: 0 0 100%; }
}
