/* Prayer Requests Manager — front-end styles */
.prm-form-wrap, .prm-listing, .prm-manage { max-width: 680px; margin: 1.5em 0; }
.prm-intro { font-size: 1.05em; margin-bottom: 1em; }

.prm-notice { padding: 12px 16px; border-radius: 6px; margin: 0 0 1em; }
.prm-success { background: #e6f4ea; border: 1px solid #1a7f37; color: #135c28; }
.prm-error { background: #fce8e6; border: 1px solid #a00; color: #7a0000; }

.prm-form .prm-field { margin: 0 0 1em; }
.prm-form label { display: block; font-weight: 600; margin-bottom: .35em; }
.prm-form input[type=text],
.prm-form input[type=email],
.prm-form input[type=tel],
.prm-form select,
.prm-form textarea {
	width: 100%; padding: .6em .7em; border: 1px solid #c5c5c5;
	border-radius: 6px; font-size: 1em; box-sizing: border-box;
}
.prm-form .prm-req { color: #a00; }
.prm-privacy legend { font-weight: 600; margin-bottom: .4em; }
.prm-privacy label, .prm-checks label { font-weight: 400; display: inline-block; margin: .15em 1em .15em 0; }
.prm-checks label { display: block; }
.prm-submit button, .prm-btn-sm {
	background: #6b4e9e; color: #fff; border: 0; padding: .7em 1.4em;
	border-radius: 6px; font-size: 1em; cursor: pointer;
}
.prm-submit button:hover, .prm-btn-sm:hover { background: #57407f; }
.prm-btn-sm { padding: .45em 1em; font-size: .9em; }

/* Honeypot */
.prm-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }

/* Listing cards */
.prm-card {
	border: 1px solid #e3e3e3; border-left: 4px solid #6b4e9e;
	border-radius: 8px; padding: 1em 1.2em; margin: 0 0 1.2em; background: #fff;
}
.prm-card.prm-urgent { border-left-color: #c0392b; background: #fff8f7; }
.prm-card-head { display: flex; align-items: center; gap: .6em; flex-wrap: wrap; }
.prm-card-name { margin: 0; font-size: 1.15em; }
.prm-tag { background: #ede7f6; color: #4a3270; padding: .15em .6em; border-radius: 999px; font-size: .78em; }
.prm-tag-urgent { background: #fdecea; color: #c0392b; }
.prm-for { color: #555; margin: .4em 0 .2em; font-size: .92em; }
.prm-body { margin: .5em 0; line-height: 1.6; }
.prm-card-foot { display: flex; align-items: center; justify-content: space-between; margin-top: .6em; color: #888; font-size: .85em; }
.prm-link { background: none; border: 0; color: #6b4e9e; cursor: pointer; text-decoration: underline; padding: 0; font-size: .9em; }
.prm-updates { margin-top: .8em; padding-top: .6em; border-top: 1px dashed #ddd; }
.prm-updates h4 { margin: 0 0 .4em; font-size: .95em; }
.prm-update { font-size: .92em; margin-bottom: .5em; }
.prm-update-date { color: #999; font-size: .82em; display: block; }
.prm-pill { background: #eee; border-radius: 999px; padding: .05em .5em; font-size: .75em; }
.prm-friend-form { margin-top: .8em; padding: .8em; background: #faf8fd; border-radius: 6px; }
.prm-empty, .prm-status { color: #666; }
.prm-manage .prm-card { border-left-color: #1a7f37; }

/* Options dropdown on listing cards */
.prm-card-foot { position: relative; }
.prm-options { position: relative; display: inline-block; }
.prm-options > summary {
	list-style: none; cursor: pointer; color: #6b4e9e; font-size: .9em;
	padding: .2em .6em; border: 1px solid #d9d2ea; border-radius: 6px; background: #faf8fd;
	user-select: none;
}
.prm-options > summary::-webkit-details-marker { display: none; }
.prm-options > summary::after { content: " \25BE"; }
.prm-options[open] > summary::after { content: " \25B4"; }
.prm-options-menu {
	position: absolute; right: 0; top: 100%; margin-top: 4px; z-index: 20;
	min-width: 170px; background: #fff; border: 1px solid #e0d9ee; border-radius: 8px;
	box-shadow: 0 6px 18px rgba(0,0,0,.12); padding: 6px; display: flex; flex-direction: column;
}
.prm-options-menu a,
.prm-options-menu button {
	display: block; width: 100%; text-align: left; background: none; border: 0;
	padding: .5em .6em; color: #4a3270; font-size: .92em; cursor: pointer; border-radius: 6px; text-decoration: none;
}
.prm-options-menu a:hover,
.prm-options-menu button:hover { background: #f2ecfb; }
.prm-challenge input[type=text] { max-width: 140px; }

/* Prayer count badge + button */
.prm-pray-badge { display: inline-flex; align-items: center; gap: 3px; background: #ede7f6; color: #4a3270; border-radius: 999px; padding: .1em .55em; font-size: .8em; font-weight: 600; line-height: 1; }
.prm-pray-badge svg { display: inline-block; }
.prm-pray-btn { display: inline-flex; align-items: center; gap: 5px; background: #6b4e9e; color: #fff; border: 0; border-radius: 999px; padding: .35em .9em; font-size: .85em; cursor: pointer; line-height: 1.2; }
.prm-pray-btn:hover { background: #57407f; }
.prm-pray-btn:disabled, .prm-pray-btn.prm-prayed { background: #1a7f37; cursor: default; }
.prm-pray-btn svg { fill: currentColor; }

/* Inline update form on listing cards */
.prm-update-form { margin-top: .8em; padding: .8em; background: #f3f8f4; border: 1px solid #cfe7d6; border-radius: 6px; }
.prm-update-form textarea { width: 100%; box-sizing: border-box; }
.prm-update-form .prm-challenge input[type=text] { max-width: 90px; margin-left: 6px; }

/* Inline per-card update thank-you / error */
.prm-inline-thanks { margin: 0 0 .6em; padding: .5em .8em; font-size: .9em; }

/* Form validation feedback */
.prm-field-error { display: block; color: #a00; font-size: .85em; margin-top: .25em; }
.prm-has-error input[type=text],
.prm-has-error input[type=email],
.prm-has-error input[type=tel],
.prm-has-error textarea,
.prm-has-error select { border-color: #c0392b; box-shadow: 0 0 0 2px rgba(192,57,43,.12); }
.prm-has-error > label { color: #a00; }
