/* 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; }

/* A Spiritual Break inside a readings post (prayersandmeditations.com). Plain in email; this styles the website. */
.sn-break-embed { margin: 2.5em 0 1em; padding-top: 1.5em; border-top: 1px solid rgba(0,0,0,.12); }
.sn-break-embed__title { margin: 0 0 .75em; }
.sn-break-embed__label { margin: 1.25em 0 .25em; letter-spacing: .04em; text-transform: uppercase; font-size: .9em; }
.sn-break-embed__guide { margin-top: 0; opacity: .8; }
.sn-break-embed__piece { margin-bottom: .4em; }
.sn-break-embed__whole a { font-size: .92em; }
.sn-break-embed__next { margin: 1em 0 .5em; padding: .55em 1.1em; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.sn-break-embed__next:hover, .sn-break-embed__next:focus-visible { background: rgba(0,0,0,.05); }

/* Lectio Divina session [sn_lectio]. Inherits the curator's quiet look. */
.sn-lectio__choices { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem .5rem; }
.sn-lectio__choice, .sn-lectio__who {
	font: inherit; font-size: .95em; padding: .45em 1.1em; border-radius: 999px; border: 1px solid rgba(0,0,0,.25);
	background: transparent; color: inherit; cursor: pointer; opacity: .8;
}
.sn-lectio__choice:hover, .sn-lectio__who:hover { opacity: 1; }
.sn-lectio__choice[aria-checked="true"], .sn-lectio__who[aria-checked="true"] { opacity: 1; background: #3f6b4a; border-color: #3f6b4a; color: #fff; }
.sn-lectio__carry { display: grid; gap: .6rem; }
.sn-lectio__carry[hidden] { display: none; }
.sn-lectio__carry-label { font-weight: 600; text-align: center; }
.sn-lectio__who-label { margin: .75rem 0 0; text-align: center; font-weight: 600; }
@media (prefers-color-scheme: dark) { .sn-lectio__choice, .sn-lectio__who { border-color: rgba(255,255,255,.3); } }

.sn-lectio__head { margin: 0 0 2rem; text-align: center; }
.sn-lectio__ref { margin: 0; font-size: 1.3em; font-weight: 600; }
.sn-lectio__day { margin: .25rem 0 .5rem; font-style: italic; opacity: .75; }
.sn-lectio__readings { font-size: .9em; }
.sn-lectio__bell { display: block; margin-top: .75rem; font-size: .85em; opacity: .75; cursor: pointer; }
.sn-lectio__step { border-color: #3f6b4a; }
.sn-lectio__step--settle, .sn-lectio__step--act { border-color: #b5613a; }
.sn-lectio__step--rest { border-color: #7a5c8f; }
.sn-lectio__text { margin: 0 0 1rem; line-height: 1.65; }
.sn-lectio__cue { margin: 0 0 1rem; padding: .6em .9em; background: rgba(63,107,74,.08); border-radius: 4px; line-height: 1.55; }
.sn-lectio__passage { margin: 0 0 1.25rem; font-size: 1.1em; line-height: 1.75; }
.sn-lectio__passage p { margin: 0 0 1em; }
.sn-lectio__silence { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0 0 .5rem; }
.sn-lectio__silence-btn { font: inherit; font-size: .95em; padding: .4em 1em; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; }
.sn-lectio__silence.is-running .sn-lectio__silence-btn { opacity: .7; }
.sn-lectio__clock { font-variant-numeric: tabular-nums; font-size: 1.4em; letter-spacing: .05em; opacity: .8; }
.sn-lectio__silence-done { flex-basis: 100%; margin: 0; min-height: 1.2em; font-style: italic; opacity: .8; }
.sn-lectio__tools { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 1rem 0 2rem; }

/* Visio Divina session [sn_visio]. Shares the Lectio session's look; these rules are for the image. */
.sn-visio__gallery { display: grid; gap: .6rem; }
.sn-visio__gallery[hidden] { display: none; }
.sn-visio__gallery-label { margin: 0; text-align: center; font-weight: 600; }
.sn-visio__filter { font: inherit; font-size: .95em; padding: .5em .8em; border: 1px solid rgba(0,0,0,.3); border-radius: 8px; width: 100%; box-sizing: border-box; }
.sn-visio__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .45rem; max-height: 26rem; overflow-y: auto; padding: .15rem; }
.sn-visio__tile { padding: 0; border: 3px solid transparent; border-radius: 6px; background: rgba(0,0,0,.05); cursor: pointer; aspect-ratio: 1; overflow: hidden; }
.sn-visio__tile[hidden] { display: none; }
.sn-visio__tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sn-visio__tile:hover, .sn-visio__tile:focus-visible { border-color: rgba(63,107,74,.5); }
.sn-visio__tile[aria-checked="true"] { border-color: #3f6b4a; }
.sn-visio__gallery-note { margin: 0; min-height: 1.2em; text-align: center; font-style: italic; opacity: .8; }

.sn-visio__step--prepare { border-color: #b5613a; }
.sn-visio__step--pray { border-color: #7a5c8f; }
.sn-visio__hidden { margin: 0 0 1rem; font-style: italic; opacity: .75; }
.sn-visio__figure { margin: 0 0 .5rem; }
.sn-visio__open { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.sn-visio__img { display: block; width: auto; max-width: 100%; height: auto; max-height: 75vh; margin: 0 auto; border-radius: 4px; }
.sn-visio__caption { margin: .4rem 0 0; text-align: center; font-size: .9em; font-style: italic; opacity: .8; }
.sn-visio__fs { display: block; margin: .25rem auto 1rem; font: inherit; font-size: .85em; padding: .3em .9em; border: 1px solid rgba(0,0,0,.25); border-radius: 999px; background: transparent; color: inherit; cursor: pointer; opacity: .8; }
.sn-visio__fs:hover { opacity: 1; }
.sn-visio__example { margin: 0 0 1.25rem; padding: .7em 1em; border-left: 3px solid #b5613a; background: rgba(181,97,58,.06); border-radius: 0 4px 4px 0; }
.sn-visio__example-label { margin: 0 0 .35rem; font-size: .8em; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.sn-visio__example-text p { margin: 0 0 .6em; font-style: italic; line-height: 1.6; }
.sn-visio__example-text p:last-child { margin-bottom: 0; }
.sn-visio__from { text-align: center; font-size: .95em; }
@media (prefers-color-scheme: dark) { .sn-visio__fs, .sn-visio__filter { border-color: rgba(255,255,255,.3); } }

.sn-visio__full { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: #000; }
.sn-visio__full-img { max-width: 100vw; max-height: 100vh; width: auto; height: auto; object-fit: contain; cursor: zoom-out; }
.sn-visio__full-close { position: absolute; top: 1rem; right: 1rem; font: inherit; font-size: .95em; padding: .4em 1em; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; background: rgba(0,0,0,.5); color: #fff; cursor: pointer; }

/* "Pray this Gospel" at the end of each readings post (1.20.2). */
.sn-lectio-invite { margin: 2.5rem 0 0; padding: 1.25rem 1.5rem; border-left: 4px solid #3f6b4a; background: rgba(63, 107, 74, .06); border-radius: 0 4px 4px 0; }
.sn-lectio-invite__text { margin: 0 0 .75rem; font-style: italic; }
.sn-lectio-invite__go { margin: 0; }
.sn-lectio-invite__btn { display: inline-block; padding: .55em 1.2em; border-radius: 999px; background: #3f6b4a; color: #fff !important; text-decoration: none !important; font-weight: 600; }
.sn-lectio-invite__btn:hover, .sn-lectio-invite__btn:focus-visible { background: #335a3d; }
.sn-lectio-invite + .sn-curator-invite { margin-top: 1.25rem; padding-top: 0; border-top: 0; }
