.kol-remembrance-condolence {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	box-sizing: border-box;
	min-height: 32px;
	margin: 0;
	padding: 0 15px;
	border: 1px solid #b0b0b0;
	border-top-color: #f0f0f0;
	border-left-color: #f0f0f0;
	border-radius: 6px;
	background: linear-gradient(#e2e2e2, #d4d4d4);
	box-shadow: 0 4px 8px rgba(25, 39, 31, 0.2);
	color: #2d2d2d;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}

.kol-remembrance-condolence:hover,
.kol-remembrance-condolence:focus-visible {
	border-color: #607e70;
	box-shadow: 0 5px 11px rgba(25, 39, 31, 0.26);
	outline: 0;
	transform: translateY(-1px);
}

.kol-remembrance-condolence.is-sent,
.kol-remembrance-condolence:disabled {
	border-color: #1a4d1a;
	border-top-color: #3d9d3d;
	border-left-color: #3d9d3d;
	background: linear-gradient(#2d7c2d, #1f5f1f);
	box-shadow: 0 4px 8px rgba(31, 95, 31, 0.25);
	color: #fff;
	cursor: default;
	opacity: 1;
	transform: none;
}

.kol-remembrance-condolence.is-sent[data-remembrance-url] {
	cursor: pointer;
}

.kol-remembrance-condolence.is-sent[data-remembrance-url]:hover,
.kol-remembrance-condolence.is-sent[data-remembrance-url]:focus-visible {
	box-shadow: 0 5px 11px rgba(31, 95, 31, 0.34);
	transform: translateY(-1px);
}

.kol-remembrance-condolence.has-error {
	border-color: #a92f2f;
	box-shadow: 0 0 0 3px rgba(169, 47, 47, 0.18);
}

.kol-remembrance-condolence__icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.kol-remembrance-condolence [data-kol-remembrance-count] {
	font-variant-numeric: tabular-nums;
}

.kol-remembrance-condolence.is-pending .kol-remembrance-condolence__icon {
	animation: kol-remembrance-condolence-pulse 650ms ease-in-out infinite alternate;
}

.bmm-pulse__memorial-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-top: 4px;
}

.bmm-pulse__memorial-actions .bmm-pulse__memorial-link {
	margin: 0;
}

.kol-remembrance-condolence--pulse {
	min-height: 34px;
}

.bmm-pulse__lead-column {
	min-width: 0;
}

.bmm-pulse__lead-memorial {
	margin-bottom: 22px;
}

.bmm-pulse__memorial-card--compact {
	grid-template-columns: minmax(150px, 34%) minmax(0, 1fr);
	min-height: 190px;
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-image {
	min-height: 190px;
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-copy {
	padding: 17px 18px;
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-copy h3 {
	margin-top: 3px;
	font-size: clamp(1.25rem, 2.1vw, 1.65rem);
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-lifespan {
	margin-bottom: 7px !important;
	font-size: .92rem;
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-copy > p:not(.bmm-pulse__memorial-lifespan) {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 10px;
	font-size: .86rem;
	line-height: 1.42;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-credit {
	margin-top: 8px;
}

.kol-memorial-persona-hero .kol-remembrance-condolence,
.kol-persona-profile--memorial .kol-remembrance-condolence-wrap {
	margin-top: 16px;
}

.kol-persona-profile--memorial .kol-remembrance-condolence-wrap {
	display: flex;
	justify-content: center;
	width: 100%;
}

.kol-remembrance-community {
	box-sizing: border-box;
	width: min(410px, 36vw);
	min-width: 310px;
	margin: 14px 0 0 auto;
	padding: 14px;
	border: 1px solid var(--kol-persona-border, #e5e7eb);
	border-radius: 12px;
	background: var(--kol-persona-subtle, #f3f4f6);
	color: var(--kol-persona-text, #1f2937);
	box-shadow: 0 5px 18px rgba(15, 23, 42, .07);
}

.kol-remembrance-community__header {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	gap: 9px;
	align-items: center;
}

.kol-remembrance-community__mark {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #e4f3e8;
	color: #237044;
}

.kol-remembrance-community__mark svg { width: 18px; height: 18px; }
.kol-remembrance-community__header > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.kol-remembrance-community__header strong { overflow: hidden; color: var(--kol-persona-text, #1f2937); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.kol-remembrance-community__header small { color: var(--kol-persona-muted, #64748b); font-size: 11px; }
.kol-remembrance-community__header > b { display: grid; place-items: center; min-width: 29px; height: 29px; padding: 0 7px; border-radius: 999px; background: var(--kol-persona-surface, #fff); color: var(--kol-persona-text, #1f2937); font-size: 12px; }

.kol-remembrance-community__people { display: flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 11px; }
.kol-remembrance-community__avatars { display: flex; align-items: center; min-height: 42px; padding-left: 3px; }
.kol-remembrance-community__avatars a { position: relative; display: grid; place-items: center; width: 42px; height: 42px; margin-left: -13px; border: 3px solid var(--kol-persona-subtle, #f3f4f6); border-radius: 50%; background: var(--kol-persona-surface, #fff); color: var(--kol-persona-text, #1f2937); text-decoration: none; }
.kol-remembrance-community__avatars a:first-child { margin-left: 0; }
.kol-remembrance-community__avatars a:hover, .kol-remembrance-community__avatars a:focus-visible { z-index: 2; border-color: var(--kol-persona-accent, #087bea); transform: translateY(-1px); }
.kol-remembrance-community__avatars img { display: block; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.kol-remembrance-community__people p, .kol-remembrance-community__guest p { margin: 0; color: var(--kol-persona-muted, #64748b); font-size: 12px; line-height: 1.4; }
.kol-remembrance-community__private-note { max-width: 160px; }
.kol-remembrance-community__more { min-height: 32px; margin-left: auto; padding: 0 11px; border: 1px solid var(--kol-persona-border, #d9e1ea); border-radius: 999px; background: var(--kol-persona-surface, #fff); color: var(--kol-persona-accent, #087bea); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.kol-remembrance-community__more:hover, .kol-remembrance-community__more:focus-visible { border-color: currentColor; }
.kol-remembrance-community__action { display: flex; justify-content: flex-end; margin-top: 10px; }
.kol-remembrance-community__guest { display: grid; gap: 9px; margin-top: 9px; padding-top: 10px; border-top: 1px solid var(--kol-persona-border, #e5e7eb); }
.kol-remembrance-community__guest > div { display: flex; align-items: center; gap: 10px; }
.kol-remembrance-community__register { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #1a4d1a; border-top-color: #3d9d3d; border-left-color: #3d9d3d; border-radius: 6px; background: linear-gradient(#2d7c2d, #1f5f1f); color: #fff !important; box-shadow: 0 4px 8px rgba(31, 95, 31, .22); font-size: 12px; font-weight: 800; text-decoration: none !important; }
.kol-remembrance-community__register:hover, .kol-remembrance-community__register:focus-visible { color: #fff !important; transform: translateY(-1px); }
.kol-remembrance-community__login { color: var(--kol-persona-accent, #087bea) !important; font-size: 12px; font-weight: 800; }

body.kol-condolence-modal-open { overflow: hidden; }
.kol-condolence-modal[hidden] { display: none !important; }
.kol-condolence-modal { position: fixed; z-index: 100060; inset: 0; display: grid; place-items: center; padding: 20px; }
.kol-condolence-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .62); backdrop-filter: blur(3px); }
.kol-condolence-modal__dialog { position: relative; display: grid; grid-template-rows: auto minmax(160px, 1fr) auto; width: min(620px, 100%); max-height: min(720px, calc(100vh - 40px)); overflow: hidden; border: 1px solid var(--kol-persona-border, #dce3ea); border-radius: 18px; background: var(--kol-persona-surface, #fff); color: var(--kol-persona-text, #172033); box-shadow: 0 24px 80px rgba(15, 23, 42, .28); }
.kol-condolence-modal__dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid var(--kol-persona-border, #e5e7eb); }
.kol-condolence-modal__dialog > header span { color: var(--kol-persona-accent, #087bea); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.kol-condolence-modal__dialog > header h2 { margin: 2px 0 0; color: inherit; font-size: 22px; line-height: 1.2; }
.kol-condolence-modal__dialog > header button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--kol-persona-border, #dce3ea); border-radius: 50%; background: var(--kol-persona-subtle, #f4f6f8); color: inherit; font-size: 26px; line-height: 1; cursor: pointer; }
.kol-condolence-modal__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 8px; min-height: 160px; padding: 16px 20px; overflow-y: auto; }
.kol-condolence-modal.is-loading .kol-condolence-modal__list { opacity: .55; }
.kol-condolence-modal__person { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 9px; border-radius: 10px; color: inherit !important; text-decoration: none !important; }
.kol-condolence-modal__person:hover, .kol-condolence-modal__person:focus-visible { background: var(--kol-persona-subtle, #f4f6f8); }
.kol-condolence-modal__person img { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; object-fit: cover; }
.kol-condolence-modal__person strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.kol-condolence-modal__pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--kol-persona-border, #e5e7eb); }
.kol-condolence-modal__pagination button { min-height: 34px; padding: 0 13px; border: 1px solid var(--kol-persona-border, #dce3ea); border-radius: 8px; background: var(--kol-persona-subtle, #f4f6f8); color: inherit; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.kol-condolence-modal__pagination button:disabled { cursor: default; opacity: .45; }
.kol-condolence-modal__pagination span { color: var(--kol-persona-muted, #64748b); font-size: 12px; }

html.dark-mode .kol-remembrance-condolence:not(.is-sent),
body.dark-mode .kol-remembrance-condolence:not(.is-sent),
body.bb-dark-mode .kol-remembrance-condolence:not(.is-sent),
body.buddyx-dark-theme .kol-remembrance-condolence:not(.is-sent),
html[data-theme="dark"] .kol-remembrance-condolence:not(.is-sent) {
	border-color: #282828;
	border-top-color: #555;
	border-left-color: #555;
	background: linear-gradient(#383838, #343434);
	color: #fff;
}

html.dark-mode .kol-remembrance-community__mark,
body.dark-mode .kol-remembrance-community__mark,
body.bb-dark-mode .kol-remembrance-community__mark,
body.buddyx-dark-theme .kol-remembrance-community__mark,
html[data-theme="dark"] .kol-remembrance-community__mark {
	background: #173d29;
	color: #8ae0ae;
}

@keyframes kol-remembrance-condolence-pulse {
	from { opacity: 0.45; transform: scale(0.9); }
	to { opacity: 1; transform: scale(1.08); }
}

@media (max-width: 520px) {
	.bmm-pulse__memorial-card--compact {
		grid-template-columns: 1fr;
	}

	.bmm-pulse__memorial-card--compact .bmm-pulse__memorial-image {
		min-height: 0;
		max-height: 230px;
		aspect-ratio: 16 / 10;
	}

	.kol-remembrance-condolence--pulse {
		width: 100%;
	}

	.kol-remembrance-community { width: 100%; min-width: 0; }
	.kol-remembrance-community__guest > div { align-items: stretch; flex-direction: column; }
	.kol-remembrance-community__register { width: 100%; }
	.kol-condolence-modal { padding: 10px; }
	.kol-condolence-modal__dialog { max-height: calc(100vh - 20px); border-radius: 14px; }
	.kol-condolence-modal__list { grid-template-columns: 1fr; padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.kol-remembrance-condolence { transition: none; }
	.kol-remembrance-condolence.is-pending .kol-remembrance-condolence__icon { animation: none; }
}
