/* Sacred Noticing Content Curator — quiet defaults that inherit the theme's fonts and colours. */
.sn-curator { width: 100%; max-width: none; margin: 2rem 0; box-sizing: border-box; }
.sn-curator__intro p { max-width: none; margin: 0 0 1em; }
.sn-curator__intro { margin-bottom: 1.5rem; }
.sn-curator__note { font-size: .85em; opacity: .75; text-align: center; }
.sn-curator__note p { max-width: none; margin: 0; }
.sn-curator__form { display: grid; gap: .9rem; }
.sn-curator__form[hidden] { display: none; }
.sn-curator__prompt { font-size: 1.25em; font-weight: 600; }
/* Themes often give form labels a fixed width or float; the question should read as a full-width heading. */
.sn-curator .sn-curator__form .sn-curator__prompt {
	display: block !important; float: none !important; width: 100% !important; max-width: none !important;
	margin: 0 0 .25rem !important; padding: 0 !important; text-align: center; font-size: 1.35em; line-height: 1.35;
}
.sn-curator__mood {
	font: inherit; font-size: 1.05em; width: 100%; box-sizing: border-box; padding: .85em; border-radius: 8px;
	border: 1px solid rgba(0,0,0,.3); resize: vertical; line-height: 1.5;
}
.sn-curator__mood:focus { outline: 2px solid #7a5c8f; outline-offset: 1px; }

/* The feeling words: a quiet offer, not the main event */
.sn-curator__choose { display: grid; gap: .4rem; justify-items: center; text-align: center; }
.sn-curator__or { font-size: .85em; opacity: .7; font-style: italic; }
.sn-curator__feelings { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem .35rem; }
.sn-curator__chip {
	font: inherit; font-size: .8em; line-height: 1.4; padding: .15em .65em; border-radius: 999px;
	border: 1px solid rgba(0,0,0,.2); background: transparent; color: inherit; cursor: pointer; opacity: .7;
}
.sn-curator__chip:hover { opacity: 1; }
.sn-curator__chip[aria-pressed="true"] { opacity: 1; background: #7a5c8f; border-color: #7a5c8f; color: #fff; }
@media (prefers-color-scheme: dark) {
	.sn-curator__mood { border-color: rgba(255,255,255,.35); }
	.sn-curator__chip { border-color: rgba(255,255,255,.3); }
}
.sn-curator__submit {
	justify-self: center; margin: 1.5rem auto 0; font: inherit; font-size: 1.05em; padding: .7em 1.8em; border: 0; border-radius: 999px;
	background: #b5613a; color: #fff; cursor: pointer;
}
.sn-curator__form .sn-curator__note { margin-top: .75rem; }
.sn-curator__submit[disabled] { opacity: .6; cursor: default; }
.sn-curator__status { margin: 1rem 0; font-style: italic; }

/* Your framing line */
.sn-curator__line { margin: 2rem 0 2.5rem; font-size: 1.15em; font-style: italic; line-height: 1.6; }

/* One step of the walk */
.sn-curator__phase { margin: 0 0 2rem; padding-left: 1.25rem; border-left: 3px solid #b5613a; outline: none; animation: sn-curator-in .6s ease both; }
.sn-curator__phase--pause { border-color: #7a5c8f; }
.sn-curator__phase--respond { border-color: #3f6b4a; }
.sn-curator__phase-label { margin: 0 0 1rem; font-size: .85em; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.sn-curator__piece { margin: 0 0 1.5rem; }
.sn-curator__piece-title { margin: 0 0 .75rem; font-style: italic; opacity: .8; }
.sn-curator__passage { font-size: 1.1em; line-height: 1.75; }
.sn-curator__passage p { margin: 0 0 1em; }
.sn-curator__whole { display: inline-block; margin-top: .25rem; font-size: .9em; }

/* Moving on */
.sn-curator__next, .sn-curator__again {
	display: block; margin: 1rem 0 3rem; font: inherit; font-size: 1.05em; padding: .5em 1.2em;
	border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; cursor: pointer;
}
.sn-curator__again { opacity: .7; font-size: .95em; }

@keyframes sn-curator-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sn-curator__phase { animation: none; } }

/* End-of-post invitation */
.sn-curator-invite { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.12); font-style: italic; }

/* Care note: shown when a reader's words suggest they may be in danger. */
.sn-curator__care { margin: 1.5rem 0; padding: 1.25rem 1.5rem; border-left: 4px solid #3f6b4a; background: rgba(63, 107, 74, .07); border-radius: 4px; animation: sn-curator-in .6s ease both; }
.sn-curator__care p { margin: 0 0 .9rem; line-height: 1.6; }
.sn-curator__care-links { list-style: none; margin: .5rem 0 0; padding: 0; }
.sn-curator__care-links li { margin: .45rem 0; font-weight: 600; }
.sn-curator__care-links a { text-decoration: underline; }

/* Keep or share this break, at the end of the walk. */
.sn-curator__keep { margin: 2rem 0 1rem; text-align: center; animation: sn-curator-in .6s ease both; }
.sn-curator__keep-label { margin: 0 0 .6rem; font-size: .95em; opacity: .8; }
.sn-curator__keep-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.sn-curator__keep-btn { display: inline-block; padding: .4em 1em; font-size: .9em; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; text-decoration: none; cursor: pointer; opacity: .85; }
.sn-curator__keep-btn:hover, .sn-curator__keep-btn:focus { opacity: 1; }
.sn-curator__keep-note { min-height: 1.2em; margin: .5rem 0 0; font-size: .85em; opacity: .75; }

/* A line under each step's name, saying what the step is for. */
.sn-curator__guide { margin: -.25rem 0 1rem; font-style: italic; font-size: .92em; opacity: .75; }

/* "Did this meet you today?" */
.sn-curator__felt { margin: 1.25rem 0 .5rem; text-align: center; font-size: .9em; opacity: .85; }
.sn-curator__felt-q { margin-right: .5rem; }
.sn-curator__felt-btn { margin: 0 .2rem; padding: .2em .8em; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font-size: .95em; cursor: pointer; opacity: .8; }
.sn-curator__felt-btn:hover, .sn-curator__felt-btn:focus { opacity: 1; }
