/* "Suggest an update" band + pop-up on preacher and church pages. Matches the preacher Contact strip and modal. The form itself is Fluent Forms. */

.sr-suggest { padding: 48px 0 0; }
.pp-sec ~ .sr-suggest { padding-top: 12px; }
.sr-suggest__i { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sr-suggest__band { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px 20px; border: 1px dashed var(--sr-border-strong); border-radius: var(--sr-radius-lg); background: var(--sr-white); }
.sr-suggest__band p { margin: 0; color: var(--sr-muted-strong); }
.sr-suggest__band strong { color: var(--sr-navy-900); }
.sr-suggest__band .sr-button { gap: 8px; }

/* Pop-up: bottom sheet on phones, centered dialog on larger screens. */
.sr-suggest-modal { width: 100%; max-width: 100%; max-height: 92dvh; margin: auto 0 0; padding: 0; border: 0; border-radius: 20px 20px 0 0; background: var(--sr-white); color: var(--sr-ink); box-shadow: var(--sr-shadow-card); }
.sr-suggest-modal::backdrop { background: rgba(7, 27, 51, 0.7); }
.sr-suggest-modal__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: flex-start; gap: 12px; padding: 18px 20px 14px; border-bottom: 1px solid var(--sr-border-soft); background: var(--sr-white); }
.sr-suggest-modal__head > div { min-width: 0; flex: 1; }
.sr-suggest-modal h2 { margin: 0; color: var(--sr-navy-900); }
.sr-suggest-modal__head p { margin: 4px 0 0; color: var(--sr-muted); }
.sr-suggest-modal__close { display: grid; flex: none; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid var(--sr-border); border-radius: 50%; background: var(--sr-white); color: var(--sr-navy-900); cursor: pointer; }
.sr-suggest-modal__close:hover, .sr-suggest-modal__close:focus { background: var(--sr-surface-tint); color: var(--sr-navy-900); }
.sr-suggest-modal__body { padding: 18px 20px 24px; }
.sr-suggest-modal__intro { margin: 0 0 16px; color: var(--sr-muted-strong); }

/* Fluent Forms inputs, matched to the Contact form. */
.sr-suggest-modal .ff-el-form-control { min-height: 48px; border-color: var(--sr-border-strong); border-radius: var(--sr-radius); font-size: 1rem; }
.sr-suggest-modal .ff-el-form-control:focus { border-color: var(--sr-blue-700); box-shadow: var(--sr-focus-ring); }
.sr-suggest-modal .ff-el-input--label label { color: var(--sr-navy-900); font-weight: 600; }
.sr-suggest-modal .ff-btn-submit { width: 100%; min-height: 48px; border: 1px solid var(--sr-gold-400) !important; border-radius: var(--sr-radius) !important; background: var(--sr-gradient-gold) !important; color: var(--sr-navy-950) !important; font-weight: 700; }
.sr-suggest-modal .ff-message-success { padding: 16px; border: 1px solid var(--sr-border-soft); border-radius: var(--sr-radius); background: var(--sr-surface-tint); color: var(--sr-navy-900); box-shadow: none; }
.sr-suggest-modal .ff-message-success p { margin: 0; }

/* Topic chips: the checkbox stays in the label for keyboard and screen readers, but is drawn as a pill. */
.sr-suggest-chips .ff-el-input--content { display: flex; flex-wrap: wrap; gap: 8px; }
.sr-suggest-chips .ff-el-form-check { margin: 0 !important; }
.sr-suggest-chips .ff-el-form-check-label { position: relative; display: inline-flex; min-height: 40px; padding: 0 14px; align-items: center; gap: 6px; border: 1px solid var(--sr-border-strong); border-radius: var(--sr-radius-pill); background: var(--sr-white); color: var(--sr-navy-900); cursor: pointer; font-size: 0.92rem; font-weight: 600; line-height: 1.2; transition: background var(--sr-duration-fast) var(--sr-ease-out), border-color var(--sr-duration-fast) var(--sr-ease-out), color var(--sr-duration-fast) var(--sr-ease-out); }
.sr-suggest-chips .ff-el-form-check-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.sr-suggest-chips .ff-el-form-check-label:hover { border-color: var(--sr-blue-500); background: var(--sr-surface-tint); }
.sr-suggest-chips .ff-el-form-check-label:has(:focus-visible) { box-shadow: var(--sr-focus-ring); border-color: var(--sr-blue-500); }
.sr-suggest-chips .ff-el-form-check-label:has(:checked) { border-color: var(--sr-navy-900); background: var(--sr-navy-900); color: var(--sr-white); }
.sr-suggest-chips .ff-el-form-check-label:has(:checked)::before { width: 6px; height: 11px; margin: -3px 2px 0 0; border: solid var(--sr-gold-400); border-width: 0 2px 2px 0; content: ""; transform: rotate(45deg); }

/* Notes that appear under the chips as they're tapped, and the standing photo note. */
.sr-suggest-note, .sr-suggest-photo { margin-bottom: 12px !important; }
.sr-suggest-note p, .sr-suggest-photo p { margin: 0; color: var(--sr-muted-strong); font-size: 0.9rem; line-height: 1.5; }
.sr-suggest-note p { padding: 10px 14px; border-left: 3px solid var(--sr-gold-400); border-radius: var(--sr-radius); background: var(--sr-surface-tint); }
.sr-suggest-note strong { color: var(--sr-navy-900); }
.sr-suggest-photo { margin-top: -6px; }
.sr-suggest-modal a { color: var(--sr-blue-700); }
.sr-suggest-modal a[href^="sms:"] { white-space: nowrap; }

/* typography.css forces heading and paragraph sizes; restore the sizes this component needs. */
.send-revival-typography .sr-suggest-modal h2 { font-size: 1.45rem !important; }
.send-revival-typography :is(.sr-suggest__band p, .sr-suggest-modal__head p, .sr-suggest-modal__intro) { font-size: 0.95rem !important; }
.send-revival-typography :is(.sr-suggest-note p, .sr-suggest-photo p) { font-size: 0.9rem !important; }

@media (max-width: 479px) {
	.sr-suggest-who .ff-t-cell { flex-basis: 100% !important; width: 100% !important; }
	.sr-suggest-who.ff-t-container { flex-wrap: wrap; }
}

@media (min-width: 768px) {
	.sr-suggest__band { flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 24px; }
	.sr-suggest-modal { width: min(600px, 94vw); margin: auto; border-radius: var(--sr-radius-lg); }
}

@media (prefers-reduced-motion: reduce) {
	.sr-suggest-chips .ff-el-form-check-label { transition: none; }
}
