/* =====================================================
   LinKnote Profile Home
===================================================== */

/* Home should use the full profile content column on its tab. */
.um-profile .um-profile-body:has(.lnph-profile-home),
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-body,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-body-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-tab-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-tab {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
}

.lnph-profile-home {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
}

.lnph-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.92fr);
	grid-template-areas:
		"posts profile"
		"groups notes";
	gap: 16px;
	width: 100%;
}

.lnph-section {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #dce7e9;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035);
}

.lnph-section--posts { grid-area: posts; }
.lnph-home-side {
	grid-area: profile;
	display: grid;
	align-content: start;
	gap: 16px;
	min-width: 0;
}
.lnph-section--profile { min-width: 0; }
.lnph-section--schedule { min-width: 0; }
.lnph-section--groups { grid-area: groups; }
.lnph-section--notes { grid-area: notes; }

.lnph-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 0 17px;
	border-bottom: 1px solid #edf2f3;
}

.lnph-section-title {
	margin: 0 !important;
	color: #263438;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.lnph-more-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	color: #249d8c;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
}

.lnph-more-link:hover,
.lnph-more-link:focus {
	color: #197b6e;
	text-decoration: underline !important;
}

.lnph-section-content {
	padding: 14px 16px 16px;
}

.lnph-empty-message {
	margin: 0;
	color: #78878b;
	font-size: 13px;
	line-height: 1.7;
}

/* ----- Posts ----------------------------------------------------------- */

.lnph-posts-output .um-activity-wall {
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.lnph-posts-output .um-activity-widget:not([id^="postid-"]) {
	display: none !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"] {
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf2f3 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"] + .um-activity-widget[id^="postid-"] {
	margin-top: 14px !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"]:last-of-type {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

.lnph-posts-output .um-activity-widget.lnph-is-hidden,
.lnph-notes-output .lnph-is-hidden {
	display: none !important;
}

.lnph-posts-output .um-activity-load,
.lnph-posts-output .um-activity-load-more,
.lnph-posts-output .um-activity-loadbutton,
.lnph-posts-output .um-activity-posts-load,
.lnph-posts-output .um-activity-no-more {
	display: none !important;
}

.lnph-posts-output .um-activity-head {
	margin-bottom: 7px !important;
}

/* Keep home-feed avatars square even when a theme provides responsive image rules. */
.lnph-posts-output .um-activity-ava,
.lnph-posts-output .um-activity-ava > a {
	display: block !important;
	flex: 0 0 34px !important;
	align-self: flex-start !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
}

.lnph-posts-output .um-activity-ava img,
.lnph-posts-output .um-activity-ava img.um-avatar,
.lnph-posts-output .um-activity-ava img.avatar {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: 50% !important;
}

.lnph-posts-output .um-activity-bodyinner-txt {
	font-size: 14px !important;
	line-height: 1.68 !important;
}

.lnph-posts-output .um-activity-foot {
	margin-top: 8px !important;
}

/* ----- Profile -------------------------------------------------------- */

.lnph-profile-output {
	box-sizing: border-box;
	min-height: 142px;
	position: relative;
}

.lnph-profile-output--clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42px;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);
}

.lnph-profile-description {
	color: #435257;
	font-size: 14px;
	line-height: 1.85;
	word-break: break-word;
}

.lnph-profile-description a {
	color: #249d8c;
}

/* ----- Joined communities -------------------------------------------- */

.lnph-group-list {
	display: grid;
	gap: 10px;
}

.lnph-group-list--full {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lnph-group-card {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 8px;
	border: 1px solid #e8eff0;
	border-radius: 9px;
	background: #fbfdfd;
	color: inherit;
	text-decoration: none !important;
	transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.lnph-group-card:hover,
.lnph-group-card:focus {
	border-color: #9fded4;
	background: #f4fbfa;
	transform: translateY(-1px);
}

.lnph-group-avatar {
	display: block;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 8px;
	background: #eef3f4;
}

.lnph-group-avatar img {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	max-width: 48px !important;
	max-height: 48px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
}

.lnph-group-text {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.lnph-group-name {
	overflow: hidden;
	color: #2d3a3e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-group-description {
	display: -webkit-box;
	overflow: hidden;
	color: #667579;
	font-size: 12px;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.lnph-group-meta {
	color: #8b989b;
	font-size: 11px;
	line-height: 1.4;
}

/* ----- Notes ---------------------------------------------------------- */

.lnph-notes-output {
	min-height: 142px;
}

.lnph-notes-output .um-user-notes-add,
.lnph-notes-output .um-user-notes-add-button,
.lnph-notes-output .um-notes-add,
.lnph-notes-output .um-user-notes-load,
.lnph-notes-output .um-user-notes-load-more,
.lnph-notes-output .um-notes-load-more {
	display: none !important;
}

.lnph-notes-output .um-user-notes,
.lnph-notes-output .um-notes,
.lnph-notes-output .um-user-notes-list {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
}

/* User Notes uses absolutely positioned .note-block elements in its normal
   masonry view. The home card turns them into three ordinary preview cards. */
.lnph-notes-output .note-block {
	position: static !important;
	left: auto !important;
	top: auto !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

.lnph-notes-output .note-block-container {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #e6eeee;
	border-radius: 8px;
	background: #fbfdfd;
}

.lnph-notes-output .note-block-container strong {
	display: block;
	overflow: hidden;
	color: #334147;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-notes-output .note-block-container small {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 4px;
	color: #748286;
	font-size: 12px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lnph-notes-output .um_note_read_more {
	display: inline-flex;
	margin-top: 7px;
	color: #249d8c;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

.lnph-notes-output .um_note_read_more:hover,
.lnph-notes-output .um_note_read_more:focus {
	text-decoration: underline !important;
}

/* ----- Compact birthday in the existing header ----------------------- */

/* The JS moves this small line into .um-meta before the user tags. */
.um-profile .um-header .um-meta .lnph-header-birthday {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	order: -1;
	width: auto;
	margin: 0;
	color: #728084;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* Name stays on its own line; birthday and tags then share the next line. */
.um-profile .um-header .um-meta:has(.lnph-header-birthday) > span:first-child {
	order: -1;
	width: auto;
}

.um-profile .lnph-header-birthday-icon {
	font-size: 13px;
	line-height: 1;
}

/* Profile detail view: do not show native last-login fields publicly. */
.um-profile .um-field-last_login,
.um-profile .um-field-last-login,
.um-profile .um-field-last_login_date,
.um-profile .um-field-last-login-date {
	display: none !important;
}

/* ----- Full joined-community tab ------------------------------------- */

.lnph-joined-groups-page {
	width: 100%;
}

.lnph-joined-groups-page-head {
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e7eff0;
}

.lnph-joined-groups-page-head h2 {
	margin: 0;
	color: #263438;
	font-size: 18px;
	line-height: 1.4;
}

@media screen and (max-width: 760px) {
	.lnph-home-grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"posts"
			"profile"
			"groups"
			"notes";
		gap: 12px;
	}

	.lnph-section-head {
		min-height: 49px;
		padding: 0 14px;
	}

	.lnph-section-content {
		padding: 13px 14px 14px;
	}

	.lnph-group-list--full {
		grid-template-columns: 1fr;
	}
}

/* ----- Home width: use the profile content width without widening the shell -- */
/*
 * On this theme the Home tab is rendered directly as:
 * .um-theme-profile-single-content-container > .um-profile-body.linknote_home
 * It is not wrapped by .um-form (the .um-form visible in the markup belongs
 * to the embedded activity feed). Target the real tab column only.
 */
.um-theme-profile-single-content-container > .um-profile-body.linknote_home,
.um-theme-profile-single-content-container > .um-profile-body.linknote_home.linknote_home-default {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: 1 1 100% !important;
	grid-column: 1 / -1 !important;
	float: none !important;
	clear: both !important;
	margin-right: 0 !important;
	padding-right: 0 !important;
}

.um-theme-profile-single-content-container > .um-profile-body.linknote_home > .lnph-profile-home,
.um-theme-profile-single-content-container > .um-profile-body.linknote_home > .lnph-profile-home > .lnph-home-grid {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-right: 0 !important;
}


/* ----- Compact profile header on non-Home tabs ------------------------- */
/*
 * Home keeps the normal cover image. Other profile tabs use a compact header
 * so the tab content starts higher on the screen. This is display-only and
 * does not modify profile images or user data.
 */
.um-profile.lnph-profile-header-compact .um-cover,
.um-profile.lnph-profile-header-compact .um-cover-e,
.um-profile.lnph-profile-header-compact .um-profile-cover,
.um-profile.lnph-profile-header-compact .um-header-cover,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-add,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-edit,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-overlay,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-dropdown,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-has-cover {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.um-profile.lnph-profile-header-compact .um-header {
	box-sizing: border-box !important;
	min-height: 0 !important;
	margin: 0 0 10px !important;
	padding: 12px 16px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-profile-photo a,
.um-profile.lnph-profile-header-compact .um-profile-photo img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
	width: 52px !important;
	height: 52px !important;
	min-width: 52px !important;
	min-height: 52px !important;
	max-width: 52px !important;
	max-height: 52px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo {
	position: static !important;
	float: left !important;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-meta {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-name,
.um-profile.lnph-profile-header-compact .um-name a,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
}

.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .lnph-header-birthday,
.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note,
.um-profile.lnph-profile-header-compact .um-profile-edit-a,
.um-profile.lnph-profile-header-compact .um-header .um-dropdown {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-header::after {
	content: "";
	display: block;
	clear: both;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		padding: 10px 12px !important;
		margin-bottom: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo,
	.um-profile.lnph-profile-header-compact .um-profile-photo a,
	.um-profile.lnph-profile-header-compact .um-profile-photo img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
	.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
	}

	.um-profile.lnph-profile-header-compact .um-name,
	.um-profile.lnph-profile-header-compact .um-name a,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a {
		font-size: 16px !important;
	}
}


/* ----- v1.1.6 Compact header: keep essential profile info on non-Home tabs --
 * Keep: avatar, name, short profile, Works/Store status, consultation/estimate controls.
 * Hide: cover image and age/birthday-type header noise.
 */
.um-profile.lnph-profile-header-compact .um-header {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	min-height: 0 !important;
	margin: 0 0 12px !important;
	padding: 14px 18px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
	text-align: left !important;
}

/* Avatar must stay visible even when the cover is hidden. */
.um-profile.lnph-profile-header-compact .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-profile-photo a,
.um-profile.lnph-profile-header-compact .um-profile-photo img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo {
	position: static !important;
	float: none !important;
	flex: 0 0 58px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	z-index: 1 !important;
}

/* Name + compact public summary area. */
.um-profile.lnph-profile-header-compact .um-profile-meta {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}

.um-profile.lnph-profile-header-compact .um-name,
.um-profile.lnph-profile-header-compact .um-name a,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a,
.um-profile.lnph-profile-header-compact .um-main-meta,
.um-profile.lnph-profile-header-compact .um-main-meta .um-name,
.um-profile.lnph-profile-header-compact .um-main-meta .um-name a {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #263438 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

/* Re-enable the header meta area because it contains the short profile and
   LinKnote's Works/Store/consultation widgets. */
.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note,
.um-profile.lnph-profile-header-compact .um-profile-edit-a {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	max-width: 100% !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-meta {
	margin-top: 5px !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note {
	margin-top: 6px !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

/* Birthday/age is intentionally not part of the compact header. */
.um-profile.lnph-profile-header-compact .lnph-header-birthday {
	display: none !important;
}

/* Try to remove common social-link/icon-only rows from the compact header.
   Works/Store cards and consultation controls are left alone. */
.um-profile.lnph-profile-header-compact .um-profile-meta .um-profile-social,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-social-icons,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-social-links,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-social,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-facebook,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-twitter,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-instagram,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-youtube,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-url,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-user_url {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-header::after {
	display: none !important;
	content: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		gap: 11px !important;
		padding: 12px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo,
	.um-profile.lnph-profile-header-compact .um-profile-photo a,
	.um-profile.lnph-profile-header-compact .um-profile-photo img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
	.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo {
		flex-basis: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .um-name,
	.um-profile.lnph-profile-header-compact .um-name a,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a,
	.um-profile.lnph-profile-header-compact .um-main-meta,
	.um-profile.lnph-profile-header-compact .um-main-meta .um-name,
	.um-profile.lnph-profile-header-compact .um-main-meta .um-name a {
		font-size: 16px !important;
	}
}

/* ----- v1.1.7 Reliable compact header renderer -------------------------
 * The inspected UM header does not always contain a visible .um-name element
 * on non-Home tabs, so the compact header is rendered by JS from the avatar
 * title/alt plus existing LinKnote status blocks.
 */
.um-profile.lnph-profile-header-home .lnph-compact-profile-card {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-cover,
.um-profile.lnph-profile-header-compact .um-cover-e,
.um-profile.lnph-profile-header-compact .um-profile-cover,
.um-profile.lnph-profile-header-compact .um-header-cover,
.um-profile.lnph-profile-header-compact [class*="cover"] {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.um-profile.lnph-profile-header-compact .um-header {
	box-sizing: border-box !important;
	display: block !important;
	position: relative !important;
	min-height: 0 !important;
	margin: 0 0 12px !important;
	padding: 14px 18px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-header > .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-header > .um-profile-meta {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar {
	flex: 0 0 58px !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
	background: #eef3f4 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar a,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar img,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .avatar,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-avatar,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .gravatar {
	display: block !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-profile-photo-overlay,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-profile-photo-overlay-s {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-main {
	box-sizing: border-box !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	gap: 7px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-name {
	margin: 0 !important;
	padding: 0 !important;
	color: #263438 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-short-profile {
	max-width: 100% !important;
	color: #435257 !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	word-break: break-word !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .linknote-connection-panel {
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .lnct-consult-box {
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .linknote-connection-panel,
.um-profile.lnph-profile-header-compact .lnph-compact-essentials .lnct-consult-box {
	max-width: 100% !important;
}

/* Hide items that should not be part of the compact version. */
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-header-birthday,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnra-header-summary,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-profile-status {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		padding: 12px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
		gap: 11px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar a,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar img,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .gravatar {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-avatar {
		flex-basis: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-name {
		font-size: 16px !important;
	}
}


/* ----- v1.1.8 Compact header: show user tags and SNS icons ------------
 * Non-Home tabs keep the compact header, but the empty area to the right of
 * the Works/Store status is now used for public user tags and social icons.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	box-sizing: border-box !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 7px !important;
	min-width: 0 !important;
	padding-top: 1px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect a,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons a,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .linknote-activity-header-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	max-width: 24px !important;
	max-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	font-size: 12px !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-user-tags {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 5px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag a {
	display: inline-flex !important;
	align-items: center !important;
	max-width: 130px !important;
	margin: 0 !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions .lnct-consult-box {
	margin: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
		width: 100% !important;
	}
}

/* ----- v1.1.9 Compact header: prevent SNS/tags overlap ---------------
 * Keep SNS icons and user tags on the right side of the Works/Store status,
 * but isolate them in their own grid column so they never sit on top of the
 * connection panel.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
	align-items: start !important;
	justify-content: stretch !important;
	column-gap: 22px !important;
	row-gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	box-sizing: border-box !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	z-index: 1 !important;
	width: max-content !important;
	min-width: 132px !important;
	max-width: 190px !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	box-sizing: border-box !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 7px !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta,
.um-profile.lnph-profile-header-compact .lnph-compact-side-meta * {
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons {
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-user-tags {
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 5px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag a {
	box-sizing: border-box !important;
	max-width: 116px !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 2px 6px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	width: 100% !important;
	margin-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
		width: 100% !important;
		max-width: 100% !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
		width: 100% !important;
	}
}


/* ----- v1.1.10 Compact header: restore lower status row + keep Home SNS ---
 * The compact card is now split into a top identity row and a lower status row.
 * Works/Store returns to the lower-left area, while SNS icons and user tags use
 * the open space to its right. Home keeps the original Ultimate Member header.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 9px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-top-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-width: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-main {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	gap: 4px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	display: grid !important;
	grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 18px !important;
	row-gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: start !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	width: max-content !important;
	min-width: 132px !important;
	max-width: 190px !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: start !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 6px !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* ----- v1.1.12 Home header reset ---------------------------------------
 * Home must use the original Ultimate Member/LinKnote header. Compact header
 * rendering is only for non-Home tabs.
 */
.um-profile.lnph-profile-header-home .lnph-compact-profile-card,
.um-profile.lnph-profile-header-home .lnph-home-social-restore {
	display: none !important;
}

.um-profile.lnph-profile-header-home .um-header > .um-profile-photo,
.um-profile.lnph-profile-header-home .um-header > .um-profile-meta {
	visibility: visible !important;
	opacity: 1 !important;
}


/* ----- v1.1.14 Home SNS icon size reset -----------------------------------
 * Home uses the original Ultimate Member/LinKnote header. Do not clone or
 * rebuild SNS links; only protect the icon anchors from previous compact-header
 * size overrides so they stay square and match the original Home size.
 */
.um-profile.lnph-profile-header-home .um-header .um-profile-connect {
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-home .um-header .um-profile-connect a,
.um-profile.lnph-profile-header-home .um-header .linknote-activity-header-icon {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	max-width: 30px !important;
	max-height: 30px !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	line-height: 1 !important;
	text-decoration: none !important;

	font-size: 15px !important;}

.um-profile.lnph-profile-header-home .um-header .um-profile-connect a i,
.um-profile.lnph-profile-header-home .um-header .linknote-activity-header-icon i {
	line-height: 1 !important;
}


/* ----- v1.1.15 Profile header width alignment -------------------------
 * DMタブ内のDM外枠（linknote-dm-tools v1.6.9）に合わせて、
 * コンパクト表示時のプロフィールヘッダーとタブナビだけを同じ幅へ広げる。
 * プロフィール本文やDM内部カラムには触らない。
 */
@media screen and (min-width: 901px) {
	body .um-profile.lnph-profile-header-compact,
	body .um-profile.lnph-profile-header-compact .um-profile-body {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-compact .um-header,
	body .um-profile.lnph-profile-header-compact .um-profile-nav {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile.lnph-profile-header-compact .um-header,
	body .um-profile.lnph-profile-header-compact .um-profile-nav {
		width: calc(100vw - 40px) !important;
		max-width: calc(100vw - 40px) !important;
	}
}


/* ----- v1.1.16 Full profile width alignment ----------------------------
 * v1.1.15ではコンパクトヘッダー側だけをDM幅に合わせたため、
 * Homeの通常ヘッダー・ホーム本文・各タブメニューも同じ基準幅へ揃える。
 * Better Messagesの内部カラムや各タブ本文の個別レイアウトには触らない。
 */
@media screen and (min-width: 901px) {
	body .um-profile {
		overflow: visible !important;
	}

	body .um-profile .um-header,
	body .um-profile .um-profile-nav {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	body .um-profile.lnph-profile-header-home .um-profile-body,
	body .um-profile.lnph-profile-header-home .um-profile-body:has(.lnph-profile-home) {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		min-width: 0 !important;
		float: none !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile .um-header,
	body .um-profile .um-profile-nav,
	body .um-profile.lnph-profile-header-home .um-profile-body,
	body .um-profile.lnph-profile-header-home .um-profile-body:has(.lnph-profile-home) {
		width: calc(100vw - 40px) !important;
		max-width: calc(100vw - 40px) !important;
	}
}


/* ----- v1.1.17 Unified profile shell/content width ---------------------
 * v1.1.16でヘッダー幅は揃ったが、Homeのカバー画像と本文背面の外枠、
 * そしてDM以外の各タブ本文が旧幅のまま残っていたため、プロフィールの
 * 外枠・本文・カバーを同じ基準幅へ統一する。
 */
@media screen and (min-width: 901px) {
	body .um-profile {
		--lnph-profile-wide-width: min(calc(100vw - 80px), 1200px);
		overflow: visible !important;
	}

	/* The visible profile content shell behind Home/other tabs. */
	body .um-profile .um-theme-profile-single-content-container,
	body .um-profile .um-profile-content,
	body .um-profile .um-profile-body-container {
		box-sizing: border-box !important;
		width: var(--lnph-profile-wide-width) !important;
		max-width: var(--lnph-profile-wide-width) !important;
		min-width: 0 !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow: visible !important;
	}

	/* Header / tab menu / tab bodies share the same outer width. */
	body .um-profile .um-header,
	body .um-profile .um-profile-nav,
	body .um-profile > .um-profile-body {
		box-sizing: border-box !important;
		width: var(--lnph-profile-wide-width) !important;
		max-width: var(--lnph-profile-wide-width) !important;
		min-width: 0 !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* If the tab body is inside the UM content shell, make it fill that shell
	   instead of being translated a second time. */
	body .um-profile .um-theme-profile-single-content-container > .um-profile-body,
	body .um-profile .um-profile-content > .um-profile-body,
	body .um-profile .um-profile-body-container > .um-profile-body {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		position: relative !important;
		left: auto !important;
		transform: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
	}

	/* Home grid and tab internals should use the widened body, not the old theme max-width. */
	body .um-profile .um-profile-body .lnph-profile-home,
	body .um-profile .um-profile-body .lnph-home-grid,
	body .um-profile .um-profile-body .um-profile-body-content,
	body .um-profile .um-profile-body .um-tab-content,
	body .um-profile .um-profile-body .um-profile-tab {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Home cover image/background should span the same width as the widened header. */
	body .um-profile.lnph-profile-header-home .um-header {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-home .um-cover,
	body .um-profile.lnph-profile-header-home .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header-cover {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
	}

	body .um-profile.lnph-profile-header-home .um-cover img,
	body .um-profile.lnph-profile-header-home .um-cover-e img,
	body .um-profile.lnph-profile-header-home .um-profile-cover img,
	body .um-profile.lnph-profile-header-home .um-header-cover img,
	body .um-profile.lnph-profile-header-home .um-cover .um-cover-overlay,
	body .um-profile.lnph-profile-header-home .um-cover-e .um-cover-overlay {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		object-fit: cover !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile {
		--lnph-profile-wide-width: calc(100vw - 40px);
	}
}


/* ----- v1.1.18 Home cover width alignment ------------------------------
 * v1.1.17でヘッダー/本文幅は揃ったが、Homeのカバーだけ旧幅のまま残る環境がある。
 * UMテーマ側の cover 専用ラッパー/先頭要素にも強めに幅指定を入れ、
 * 広げたHomeヘッダーの幅に合わせる。
 */
@media screen and (min-width: 901px) {
	body .um-profile.lnph-profile-header-home .um-header {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-home .um-header > .um-cover,
	body .um-profile.lnph-profile-header-home .um-header > .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-header > .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header > .um-header-cover,
	body .um-profile.lnph-profile-header-home .um-header > [class*="cover"],
	body .um-profile.lnph-profile-header-home .um-header > div:first-child {
		box-sizing: border-box !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
	}

	body .um-profile.lnph-profile-header-home .um-header > .um-cover *,
	body .um-profile.lnph-profile-header-home .um-header > .um-cover-e *,
	body .um-profile.lnph-profile-header-home .um-header > .um-profile-cover *,
	body .um-profile.lnph-profile-header-home .um-header > .um-header-cover *,
	body .um-profile.lnph-profile-header-home .um-header > [class*="cover"] *,
	body .um-profile.lnph-profile-header-home .um-header > div:first-child > * {
		box-sizing: border-box !important;
		max-width: 100% !important;
	}

	body .um-profile.lnph-profile-header-home .um-header .um-cover,
	body .um-profile.lnph-profile-header-home .um-header .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-header .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header .um-header-cover,
	body .um-profile.lnph-profile-header-home .um-header [class*="cover"] {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body .um-profile.lnph-profile-header-home .um-header .um-cover img,
	body .um-profile.lnph-profile-header-home .um-header .um-cover-e img,
	body .um-profile.lnph-profile-header-home .um-header .um-profile-cover img,
	body .um-profile.lnph-profile-header-home .um-header .um-header-cover img,
	body .um-profile.lnph-profile-header-home .um-header [class*="cover"] img {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}


/* ----- v1.1.19 Runtime cover width helper -----------------------------
 * Some UM/theme versions render the Home cover outside the header width chain,
 * so CSS width:100% does not reach it. The JS adds this class after measuring
 * the widened .um-header and applies inline geometry. Keep CSS here minimal.
 */
@media screen and (min-width: 901px) {
	body .um-profile .lnph-home-cover-wide {
		box-sizing: border-box !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body .um-profile .lnph-home-cover-wide img {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}



.lnph-home-side .lnph-profile-output {
	min-height: 96px;
}

.lnph-home-side .lnph-profile-description {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

/* ----- Home schedule card --------------------------------------------- */
.lnph-schedule-output {
	min-height: 142px;
}

.lnph-schedule-list {
	display: grid;
	gap: 10px;
}

.lnph-schedule-item {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 10px 11px;
	border: 1px solid #e5eef0;
	border-radius: 10px;
	background: #fbfdfd;
	color: #263438;
	text-decoration: none !important;
	transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.lnph-schedule-item:hover,
.lnph-schedule-item:focus {
	border-color: #b9ded8;
	background: #f4fbfa;
	color: #263438;
	transform: translateY(-1px);
}

.lnph-schedule-date {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eaf7f4;
	color: #197b6e;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
}

.lnph-schedule-main {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.lnph-schedule-title {
	overflow: hidden;
	color: #263438;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-schedule-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	color: #748489;
	font-size: 11px;
	line-height: 1.3;
}

.lnph-schedule-meta span {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 999px;
	background: #eef3f4;
}

.lnph-schedule-item--private .lnph-schedule-date {
	background: #f3f1f7;
	color: #69617d;
}

.lnph-schedule-item--saved .lnph-schedule-date {
	background: #eef4ff;
	color: #3970b7;
}

@media screen and (max-width: 760px) {
	.lnph-schedule-item {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.lnph-schedule-date {
		justify-content: flex-start;
		width: fit-content;
	}
}


/* ----- v1.1.24 Home profile text dynamic height ------------------------
   The profile text itself must not be line-clamped; the outer output box is
   height-controlled by JS so it can use all space available next to posts. */
.lnph-home-side .lnph-profile-description {
	display: block !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: initial !important;
}

.lnph-home-side .lnph-profile-output {
	overflow: hidden;
}


/* ----- v1.1.25 Profile edit / compact settings recovery ---------------
   Non-Home tabs use the compact header, but the settings gear must still take
   the profile owner to the edit screen. When UM is already in edit mode, use
   the normal Home-style header so the cover image controls remain available. */
.um-profile.lnph-profile-header-compact .um-header .um-profile-edit,
.um-profile.lnph-profile-header-compact .um-header .um-profile-edit-a {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	overflow: visible !important;
	z-index: 50 !important;
}

.um-profile.lnph-profile-header-edit .um-header {
	overflow: visible !important;
}

.um-profile.lnph-profile-header-edit .um-cover,
.um-profile.lnph-profile-header-edit .um-cover-e,
.um-profile.lnph-profile-header-edit .um-profile-cover,
.um-profile.lnph-profile-header-edit .um-header-cover,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-add,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-edit,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-overlay,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-has-cover {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}


/* ----- v1.1.34 Gear position only --------------------------------------
   Keep the stable v1.1.33 behavior and only align the existing UM gear.
   Do not add JS, do not create a new gear, and do not touch the cover sizing. */
.um-profile:not(.lnph-profile-header-edit) .um-header {
	position: relative !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.um-profile-headericon,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
	z-index: 150 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-profile-edit-a {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-profile-edit-a i {
	position: static !important;
	margin: 0 !important;
	font-size: 28px !important;
	line-height: 1 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown {
	z-index: 200 !important;
}


/* ----- v1.1.36 safe gear dropdown CSS-only fix -------------------------
   Based on v1.1.34. Do not touch JS/menu behavior to avoid load lock.
   1) keep the stable gear position
   2) prevent the UM dropdown from becoming a narrow vertical column
   3) hide the logout item visually
*/
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit {
	overflow: visible !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown {
	box-sizing: border-box !important;
	width: 220px !important;
	min-width: 220px !important;
	max-width: 220px !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 0 !important;
	text-align: left !important;
	white-space: normal !important;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	letter-spacing: normal !important;
	word-break: keep-all !important;
	overflow: visible !important;
	z-index: 300 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown-b,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown ul,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown li,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a {
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	letter-spacing: normal !important;
	word-break: keep-all !important;
	white-space: nowrap !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	width: auto !important;
	max-width: none !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 6px 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a {
	display: block !important;
	padding: 10px 14px !important;
	line-height: 1.4 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="logout"] {
	display: none !important;
}


/* ----- v1.1.37 edit-page checkmark + dropdown label CSS-only fix --------
   Based on stable v1.1.36. Keep this CSS-only to avoid the load lock caused
   by previous menu-control JavaScript experiments.
   - Hide UM's edit-mode checkmark button.
   - Keep the cover/profile-photo change UI visible.
   - Rename the dropdown labels visually without touching menu JS.
*/
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit,
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit.um-profile-headericon,
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit .um-profile-edit-a {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"],
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"] {
	font-size: 0 !important;
	line-height: 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"]::after,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"]::after {
	display: block !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: inherit !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"]::after {
	content: "プロフィール編集" !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"]::after {
	content: "アカウント編集" !important;
}


/* ----- v1.1.40 compact-tab gear dropdown open fix ----------------------
   Based on stable v1.1.38. Only compact tabs get a click-open class; Home tab
   still uses UM's own dropdown behavior. */
.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open > .um-dropdown,
.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open .um-dropdown {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	position: absolute !important;
	top: 42px !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	margin: 0 !important;
	z-index: 400 !important;
}

.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open .um-dropdown-arr {
	display: none !important;
}
