/* ==========================================================================
 * Content Pages — long tail of page/content types (events, campaigns, chat, dictionary, giving, external media, invites, etc.)
 * ========================================================================== */
.-lookup-head {
	margin: 4.6875vw 4.6875vw 1.5625vw;
}

.-lookup-head small {
	display: block;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .3125vw;
}

.-lookup-head h2 {
	margin: 1.5625vw 0 0;
	font-family: var(--font-editorial);
	font-size: 7.5vw;
	line-height: 1;
}

.-landing-statement {
	width: 93.75vw;
	min-height: 62.5vw;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	justify-content: flex-end;
	padding: 6.25vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-landing-statement .material-symbols-rounded {
	width: 15.625vw;
	height: 15.625vw;
	display: grid;
	place-items: center;
	font-size: 10vw;
	color: var(--app-accent);
	clip-path: var(--squircle);
	background: var(--dimmer);
}

.-landing-statement b {
	font-family: var(--font-editorial);
	font-size: 7.5vw;
	line-height: 1.03;
}

.-landing-statement p {
	margin: 0;
	color: var(--app-muted);
	font-size: 3.4375vw;
	font-weight: 600;
	line-height: 1.55;
}

.-surface-actions {
	width: 93.75vw;
	display: flex;
	gap: 2.1875vw;
	flex-wrap: wrap;
}

.-surface-action {
	min-height: 12.5vw;
	display: flex;
	gap: 1.5625vw;
	align-items: center;
	justify-content: center;
	padding: 0 4.6875vw;
	font-size: 3.125vw;
	font-weight: 900;
	clip-path: var(--squircle);
	background: #fff;
	color: var(--app-color);
}

.-surface-action.---primary {
	color: #fff;
	background: var(--app-accent);
}

.-surface-action .material-symbols-rounded {
	font-size: 5vw;
	color: inherit;
}

.-event-page,
.-campaign-page,
.-community-page,
.-cohort-page,
.-gallery-page,
.-place-page,
.-person-page,
.-poll-page,
.-stats-page,
.-media-info-page,
.-volunteer-page,
.-care-page {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	align-items: center;
	padding: 0 0 9.375vw;
}

.-programme-row,
.-transport-row,
.-resource-row,
.-prayer-response {
	width: 93.75vw;
	min-height: 15.625vw;
	display: flex;
	gap: 3.125vw;
	align-items: center;
	padding: 3.125vw 4.6875vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-programme-row time,
.-transport-row > span:first-child {
	width: 16.25vw;
	flex: none;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
}

.-programme-row div,
.-transport-row div,
.-resource-row div,
.-prayer-response div {
	flex: 1;
	min-width: 0;
}

.-programme-row b,
.-transport-row b,
.-resource-row b,
.-prayer-response b {
	display: block;
	font-size: 3.4375vw;
}

.-programme-row small,
.-transport-row small,
.-resource-row small,
.-prayer-response small {
	display: block;
	margin-top: .9375vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 650;
	line-height: 1.35;
}

.-avatar-sm {
	width: 10vw;
	height: 10vw;
	display: grid;
	place-items: center;
	flex: none;
	border-radius: 50%;
	color: #fff;
	font-weight: 900;
	background: var(--app-accent);
	background-size: cover;
	background-position: center;
}

.-care-actions {
	width: 93.75vw;
	display: flex;
	gap: 2.1875vw;
	flex-wrap: wrap;
}

.-care-action {
	min-height: 12.5vw;
	display: flex;
	gap: 1.5625vw;
	flex: 1 1 40%;
	align-items: center;
	justify-content: center;
	padding: 0 3.125vw;
	clip-path: var(--squircle);
	background: #fff;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
}

.-care-action .material-symbols-rounded {
	font-size: 5.625vw;
}

.-care-action b {
	color: var(--app-color);
	font-size: 3.125vw;
}

.-care-feed {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	align-items: center;
}

.-metric-row-fellowship {
	width: -webkit-fill-available;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2.1875vw;
	margin: 0 3.125vw;
}

.-fellowship-stat {
	min-height: 21.875vw;
	display: flex;
	gap: .9375vw;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	clip-path: var(--squircle);
	background: #ffffff;
	aspect-ratio: 1/1;
}

.-fellowship-stat b {
	font-size: 5vw;
}

.-fellowship-stat small {
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 750;
}

.-fellowship-stat-icon {
	width: 9.375vw;
	height: 9.375vw;
	background: var(--dimmer);
	border-radius: 50%;
	color: var(--app-accent);
}

.-campaign-progress {
	width: 100%;
	height: 2.5vw;
	overflow: hidden;
	border-radius: 6.25vw;
	background: var(--dimmer);
}

.-campaign-progress i {
	display: block;
	height: 100%;
	width: var(--campaign-progress,0%);
	border-radius: inherit;
	background: var(--app-accent);
}

.-gallery-mosaic {
	width: 93.75vw;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3.125vw;
}

.-gallery-photo {
	min-height: 43.75vw;
	position: relative;
	overflow: hidden;
	clip-path: var(--squircle);
	background: var(--app-theme) center/cover no-repeat;
}

.-gallery-photo:nth-child(3n+1) {
	grid-column: 1/-1;
	min-height: 59.375vw;
}

.-gallery-photo span {
	left: 3.125vw;
	right: 3.125vw;
	bottom: 3.125vw;
	position: absolute;
	color: #fff;
	font-size: 3.125vw;
	font-weight: 900;
	text-shadow: 0 .3125vw 1.25vw rgb(0 0 0 / 55%);
}

.-person-portrait,
.-media-info-cover {
	width: 93.75vw;
	aspect-ratio: 1/1;
	clip-path: var(--squircle);
	background: var(--app-theme) center/cover no-repeat;
}

.-poll-options {
	width: 93.75vw;
	display: flex;
	gap: 2.5vw;
	flex-flow: column;
}

.-poll-option {
	min-height: 14.0625vw;
	display: flex;
	gap: 3.125vw;
	align-items: center;
	padding: 0 4.6875vw;
	font-size: 3.4375vw;
	font-weight: 850;
	clip-path: var(--squircle);
	background: #fff;
}

.-poll-option::before {
	width: 6.25vw;
	height: 6.25vw;
	content: "";
	flex: none;
	border-radius: 50%;
	background: var(--dimmer);
}

.-poll-option.---selected::before {
	box-shadow: inset 0 0 0 1.875vw #fff;
	background: var(--app-accent);
}

.-poll-bar {
	height: 2.5vw;
	margin-left: auto;
	min-width: 18.75vw;
	border-radius: 6.25vw;
	background: linear-gradient(90deg,var(--app-accent) var(--poll,0%),var(--dimmer) var(--poll,0%));
}

.-stats-large {
	width: 93.75vw;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3.125vw;
}

.-stats-large .-fellowship-stat {
	min-height: 34.375vw;
}

.-stats-large .-fellowship-stat b {
	font-family: var(--font-editorial);
	font-size: 9.375vw;
}

.-note-composer {
	width: 93.75vw;
	display: flex;
	gap: 1.5625vw;
	align-items: flex-end;
	padding: 3.125vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-note-composer textarea {
	flex: 1;
	min-height: 21.875vw;
	resize: none;
	border: 0;
	outline: 0;
	color: var(--app-color);
	font: 600 3.4375vw/1.5 var(--app-font);
	background: #0000;
}

.-article-page {
	width: 93.75vw;
	min-height: calc(100dvh - 28.125vw);
	padding: 7.8125vw 6.25vw 12.5vw;
	clip-path: var(--squircle);
	background: #FFFDF9;
	color: #342D29;
}

.-article-page h1 {
	margin: 2.5vw 0 3.125vw;
	font-family: var(--font-editorial);
	font-size: 9.375vw;
	line-height: 1.02;
	letter-spacing: -.15625vw;
}

.-article-byline {
	margin-bottom: 6.25vw;
	color: #806F66;
	font-size: 3.125vw;
	font-weight: 750;
}

.-article-copy {
	font: 500 4.375vw/1.82 Georgia,"Times New Roman",serif;
	user-select: text;
}

.-article-copy p {
	margin: 0 0 5vw;
}

.-article-scripture {
	margin: 6.25vw 0;
	padding: 5vw;
	font: 600 4.375vw/1.65 Georgia,"Times New Roman",serif;
	clip-path: var(--squircle);
	background: color-mix(in srgb,var(--app-theme) 30%,#fff);
}

.-reflection-prompt {
	margin-top: 7.8125vw;
	padding: 5vw;
	clip-path: var(--squircle);
	background: color-mix(in srgb,var(--app-theme) 36%,#fff);
}

.-reflection-prompt b {
	display: block;
	font-size: 3.75vw;
}

.-reflection-prompt p {
	margin: 1.5625vw 0 3.125vw;
	font-family: var(--font-rounded);
	font-size: 3.4375vw;
	line-height: 1.5;
}

.-reflection-add {
	min-height: 12.5vw;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 3.125vw;
	font-weight: 900;
	clip-path: var(--squircle);
	background: var(--app-accent);
}

.-loading-ring {
	width: 12.5vw;
	height: 12.5vw;
	border-radius: 50%;
	background: conic-gradient(var(--app-accent),#0000 65%);
	animation: fellowship-spin .8s linear infinite;
	mask: radial-gradient(circle,#0000 43%,#000 45%);
}

.-dict-view {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	padding: 3.125vw 0 9.375vw;
}

.-dict-word {
	margin: 0 4.6875vw;
	font-family: var(--font-editorial);
	font-size: 10vw;
	line-height: 1;
}

.-dict-phonetic {
	margin: -1.5625vw 4.6875vw 1.5625vw;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 800;
}

.-dict-meaning,
.-dict-related {
	margin: 0 3.125vw;
	padding: 4.6875vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-dict-pos {
	margin-bottom: 3.125vw;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .3125vw;
}

.-dict-definition {
	display: flex;
	gap: 3.125vw;
	margin-bottom: 4.6875vw;
}

.-dict-definition:last-child {
	margin-bottom: 0;
}

.-dict-definition > span {
	width: 6.25vw;
	flex: none;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
}

.-dict-definition p,
.-dict-related p {
	margin: 0;
	color: var(--app-color);
	font-size: 3.4375vw;
	line-height: 1.55;
}

.-dict-definition em {
	display: block;
	margin-top: 1.5625vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	line-height: 1.45;
}

.-dict-definition small {
	display: block;
	margin-top: 1.5625vw;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 750;
}

/* Forms: all app/content creation uses forms.js and custom frosted dropdowns. */

.-creation-suite {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	padding: 3.125vw 0 9.375vw;
}

.-create-launcher {
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
}

.-creation-actions {
	display: flex;
	gap: 2.1875vw;
	margin: 0 3.125vw;
}

/* Hero-right modes: chat thread, contextual forms/give, or Quiz leaderboard. */

.-chat-thread {
	width: 100%;
	min-height: 100%;
	display: flex;
	flex-flow: column;
	padding: 3.125vw 0 9.375vw;
}

.-chat-thread-head {
	margin: 3.125vw;
	width: auto;
	padding: 4.6875vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-chat-thread-head small {
	display: block;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .15625vw;
}

.-chat-thread-head b {
	display: block;
	margin-top: 1.5625vw;
	font-size: 4.6875vw;
	line-height: 1.15;
}

.-chat-messages {
	display: flex;
	gap: 0;
	flex-flow: column;
}

.-chat-message {
	width: 75vw;
	margin: 0 3.125vw 3.125vw;
	padding: 3.125vw 4.6875vw;
	clip-path: var(--squircle);
	background: #fff;
	font-size: 3.4375vw;
	line-height: 1.5;
}

.-chat-message.---mine {
	margin-left: auto;
	background: var(--widget-item-background);
}

.-chat-message b {
	display: block;
	margin-bottom: .9375vw;
	color: var(--app-accent);
	font-size: 3.125vw;
}

.-chat-composer {
	margin-top: auto;
	padding: 0 3.125vw;
	display: flex;
	gap: 1.5625vw;
	align-items: center;
}

.-chat-composer input {
	flex: 1;
	min-height: 12.5vw;
	padding: 0 3.125vw;
	border: 0;
	outline: 0;
	clip-path: var(--squircle);
	background: #fff;
	color: var(--app-color);
	font: 600 3.4375vw var(--app-font);
}

.-chat-send {
	width: 12.5vw;
	min-width: 12.5vw;
	aspect-ratio: 1/1;
	display: grid;
	place-items: center;
	clip-path: var(--squircle);
	background: var(--app-accent);
	color: #fff;
}

.-chat-send .material-symbols-rounded {
	font-size: 6.25vw;
}

/* Feed/card internals that belong inside the shared Tray surface. */

.-prayer-response p {
	margin: .9375vw 0 0;
	color: var(--app-muted);
	font-size: 3.125vw;
	line-height: 1.5;
}

.-surface-action b {
	font-size: 3.125vw;
}

.-surface-action small {
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 700;
}

.-surface-action.---primary small {
	color: rgb(255 255 255 / 82%);
}

.-lookup-result {
	margin: 0 3.125vw;
	min-height: 14.0625vw;
	display: flex;
	gap: 3.125vw;
	align-items: center;
	padding: 2.5vw 3.125vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-lookup-result-icon {
	width: 9.375vw;
	height: 9.375vw;
	display: grid;
	place-items: center;
	flex: none;
	color: var(--result-color,var(--app-accent));
	clip-path: var(--squircle);
	background: var(--dimmer);
}

.-lookup-result-icon .material-symbols-rounded {
	font-size: 6.25vw;
}

.-lookup-result-copy {
	flex: 1;
	min-width: 0;
}

.-lookup-result-copy b {
	display: block;
	font-size: 3.4375vw;
}

.-lookup-result-copy small {
	display: block;
	margin-top: .9375vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ===== Build 009 · connected local-state surfaces ===== */

.-chat-empty {
	display: grid;
	min-height: 31.25vw;
	padding: 6.25vw;
	place-items: center;
	text-align: center;
	color: var(--app-muted);
	font-size: 3.4375vw;
	line-height: 1.5;
}

.-giving-options {
	opacity: 1;
	min-height: auto;
	padding-bottom: 3.125vw;
}

.-giving-review-note {
	gap: 3.125vw;
	display: flex;
	margin: 3.125vw;
	padding: 3.125vw;
	align-items: flex-start;
	clip-path: var(--squircle);
	color: var(--app-color);
	background: color-mix(in srgb, var(--app-theme) 50%, #fff 50%);
}

.-giving-review-note > .material-symbols-rounded {
	flex: none;
	color: var(--app-accent);
	font-size: 6.25vw;
}

.-giving-review-note b,
.-giving-review-note small {
	display: block;
}

.-giving-review-note b {
	font-size: 3.75vw;
}

.-giving-review-note small {
	margin-top: 1.5625vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	line-height: 1.45;
}

.-dict-headline {
	gap: 3.125vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.-dict-source {
	margin-top: 6.25vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	line-height: 1.45;
}

.-external-media-page {
	min-height: 100%;
	padding: 3.125vw;
}

.-external-media-frame {
	width: 100%;
	overflow: hidden;
	aspect-ratio: 16/9;
	clip-path: var(--squircle);
	background: #141312;
}

.-external-media-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.-external-media-placeholder {
	gap: 3.125vw;
	width: 100%;
	display: grid;
	min-height: 56.25vw;
	padding: 6.25vw;
	place-items: center;
	text-align: center;
	clip-path: var(--squircle);
	background: color-mix(in srgb, var(--app-theme) 62%, #fff 38%);
}

.-external-media-placeholder .material-symbols-rounded {
	color: var(--app-accent);
	font-size: 12.5vw;
}

.-external-media-placeholder b {
	font-size: 5vw;
}

.-external-media-placeholder p {
	margin: 0;
	color: var(--app-muted);
	font-size: 3.125vw;
}

.-external-media-frame video {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: contain;
	background: #141312;
}

.-media-video-copy {
	padding: 6.25vw 0 3.125vw;
}

.-media-video-copy h1 {
	margin: 1.5625vw 0 3.125vw;
	color: var(--app-color);
	font-size: 7.5vw;
	line-height: 1.05;
}

.-media-video-copy p {
	margin: 0;
	color: var(--app-muted);
	font-size: 3.75vw;
	line-height: 1.6;
}

.-invite-key-area {
	min-height: 21.875vw;
	display: flex;
	gap: 3.125vw;
	margin: 0 3.125vw;
	padding: 0 4.6875vw;
	align-items: center;
	justify-content: space-between;
	clip-path: var(--squircle);
	color: var(--app-muted);
	background: var(--field-surface);
}

.-invite-key-area b {
	color: var(--app-color);
	font-family: Clock, var(--font-rounded);
	font-size: 7.5vw;
	letter-spacing: .625vw;
}

.-invite-key-area .material-symbols-rounded {
	color: var(--app-accent);
	font-size: 6.25vw;
}
