/* LinKnote Consultation Tools */
.um-profile .um-profile-meta,
.um-profile .um-header,
.um-profile .um-header .um-profile-meta {
	overflow: visible !important;
}

.lnct-consult-box {
	box-sizing: border-box;
	width: 100%;
	margin: 10px 0 8px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	clear: both;
}

.lnct-consult-box.is-owner {
	margin: 9px 0 10px;
}

.lnct-consult-open-link,
.lnct-consult-login,
.lnct-consult-settings-link,
.lnct-consult-action a,
.lnct-consult-action .bp-better-messages.pm-button,
.lnct-consult-action .better-messages-button,
.lnct-consult-action .lnct-better-messages-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 32px !important;
	height: auto !important;
	padding: 7px 15px !important;
	border-radius: 999px !important;
	border: 2px solid #31c7ad !important;
	background: #31c7ad !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	box-shadow: 0 2px 7px rgba(49, 199, 173, 0.20) !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	overflow: visible !important;
}

.lnct-consult-open-link::before,
.lnct-consult-login::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 7px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(255,255,255,0.35);
}

.lnct-consult-open-link:hover,
.lnct-consult-login:hover {
	background: #25b69d !important;
	border-color: #25b69d !important;
	color: #fff !important;
}

.lnct-consult-settings-link {
	background: #fff !important;
	color: #169b86 !important;
	border-color: #31c7ad !important;
	box-shadow: 0 2px 7px rgba(20, 80, 75, 0.08) !important;
}

.lnct-consult-settings-link:hover {
	background: #effdfa !important;
	color: #117f6e !important;
}

.lnct-consult-note {
	flex: 1 1 260px;
	margin: 0 !important;
	color: #66757f;
	font-size: 12px;
	line-height: 1.6;
}

.lnct-consult-unavailable {
	font-size: 12px;
	color: #8a9499;
}

.lnct-settings-panel,
.lnct-consult-panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 860px;
	margin: 14px auto 0;
	padding: 20px;
	border: 1px solid #e3eaec;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 40, 50, 0.05);
	text-align: left;
	clear: both;
}

.lnct-settings-panel h3,
.lnct-consult-panel h3 {
	margin: 0 0 14px;
	font-size: 20px;
	line-height: 1.4;
}

.lnct-consult-panel-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.lnct-consult-close,
.lnct-cancel-link {
	color: #66757f !important;
	font-size: 13px;
	text-decoration: none !important;
}

.lnct-settings-status {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #f6f9fb;
	color: #334;
	font-size: 13px;
}

.lnct-settings-status span {
	display: block;
	margin-top: 4px;
	color: #66757f;
}

.lnct-settings-status.is-open {
	background: #e9faf6;
}

.lnct-creator-notice,
.lnct-consult-form-note {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-left: 4px solid #31c7ad;
	background: #f7fffc;
	color: #415057;
	font-size: 13px;
	line-height: 1.7;
}

.lnct-settings-form label,
.lnct-consult-form label {
	display: block;
	margin-bottom: 7px;
}

.lnct-settings-form input[type="text"],
.lnct-settings-form textarea,
.lnct-consult-form input[type="text"],
.lnct-consult-form textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid #d9e2e5;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	line-height: 1.6;
}

.lnct-consult-form textarea {
	min-height: 260px;
	resize: vertical;
}

.lnct-consult-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.lnct-help {
	color: #66757f;
	font-size: 12px;
	line-height: 1.7;
}

.lnct-variable-help {
	margin: 8px 0 14px;
	padding: 10px 12px;
	border-radius: 8px;
	background: #f6f9fb;
}

.lnct-variable-help p {
	margin: 0 0 6px;
}

.lnct-variable-help ul {
	margin: 0;
	padding-left: 1.2em;
}

.lnct-variable-help code {
	font-size: 12px;
}

.lnct-success,
.lnct-error {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
}

.lnct-success {
	background: #e9faf6;
	color: #166f60;
}

.lnct-error {
	background: #fff0f0;
	color: #b22;
}

@media screen and (max-width: 600px) {
	.lnct-consult-box {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.lnct-settings-panel,
	.lnct-consult-panel {
		padding: 16px;
		border-radius: 10px;
	}

	.lnct-consult-panel-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.lnct-consult-form textarea {
		min-height: 300px;
	}
}


/* v1.2.1: UM Theme側のリンク/ヘッダー指定に負けないようプロフィール上部を補強 */
.um-profile .um-header:has(.lnct-consult-box),
.um-profile .um-profile-meta:has(.lnct-consult-box),
.um-profile .um-header .um-profile-meta:has(.lnct-consult-box) {
	overflow: visible !important;
}

.um-profile .um-header:has(.lnct-consult-box) {
	padding-bottom: 18px !important;
}

.um-profile .um-profile-meta:has(.lnct-consult-box) {
	padding-bottom: 8px !important;
}

.um-profile .um-header .lnct-consult-box,
.um-profile .um-profile-meta .lnct-consult-box,
.um-profile .lnct-consult-box {
	position: relative !important;
	z-index: 20 !important;
	width: auto !important;
	max-width: 100% !important;
	min-height: 38px !important;
	margin: 9px 0 13px !important;
	overflow: visible !important;
}

.um-profile .lnct-consult-box.is-owner {
	margin-bottom: 18px !important;
	padding-bottom: 2px !important;
}

/* 相談ボタン：クラス指定とURL指定の両方で強制適用 */
.um-profile .lnct-consult-box > a.lnct-consult-open-link,
.um-profile .lnct-consult-box > a.lnct-consult-login,
.um-profile .lnct-consult-box > a[href*="lnct_consult"],
.um-profile .um-header .lnct-consult-box > a[href*="lnct_consult"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 30px !important;
	height: auto !important;
	padding: 6px 14px !important;
	border: 2px solid #31c7ad !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #168d7a !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 7px rgba(20, 80, 75, 0.08) !important;
	white-space: nowrap !important;
	overflow: visible !important;
}

.um-profile .lnct-consult-box > a.lnct-consult-open-link::before,
.um-profile .lnct-consult-box > a.lnct-consult-login::before,
.um-profile .lnct-consult-box > a[href*="lnct_consult"]::before {
	content: "" !important;
	display: inline-block !important;
	width: 7px !important;
	height: 7px !important;
	margin-right: 7px !important;
	border-radius: 999px !important;
	background: #31c7ad !important;
	box-shadow: none !important;
}

.um-profile .lnct-consult-box > a.lnct-consult-open-link:hover,
.um-profile .lnct-consult-box > a.lnct-consult-login:hover,
.um-profile .lnct-consult-box > a[href*="lnct_consult"]:hover {
	background: #effdfa !important;
	border-color: #25b69d !important;
	color: #117f6e !important;
}

/* 相談設定ボタン：下端が切れないよう高さと余白を強めに確保 */
.um-profile .lnct-consult-box > a.lnct-consult-settings-link,
.um-profile .lnct-consult-box > a[href*="lnct_settings"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-height: 32px !important;
	height: auto !important;
	padding: 6px 14px !important;
	border: 2px solid #31c7ad !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #168d7a !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 7px rgba(20, 80, 75, 0.08) !important;
	white-space: nowrap !important;
	overflow: visible !important;
}

.um-profile .lnct-consult-note {
	flex-basis: 100% !important;
	margin-top: 2px !important;
}


/* v1.2.3: Works / Store連携パネルの外側・下に相談導線を配置 */
.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	margin: 6px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	clear: both !important;
	overflow: visible !important;
	z-index: 30 !important;
}

.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 30px !important;
	padding: 6px 10px !important;
	border: 2px solid #31c7ad !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #168d7a !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 7px rgba(20, 80, 75, 0.08) !important;
	white-space: nowrap !important;
}

.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel > a::before {
	content: "" !important;
	display: inline-block !important;
	width: 7px !important;
	height: 7px !important;
	margin-right: 7px !important;
	border-radius: 999px !important;
	background: #31c7ad !important;
}

.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel > a:hover {
	background: #effdfa !important;
	border-color: #25b69d !important;
	color: #117f6e !important;
}

.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel .lnct-consult-note {
	display: none !important;
}

.um-profile .um-header:has(.linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel) {
	overflow: visible !important;
}

@media screen and (max-width: 600px) {
	.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel {
		margin-top: 7px !important;
	}

	.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel > a {
		min-height: 32px !important;
		font-size: 13px !important;
	}
}


/* v1.2.4: 相談ボタンをWorks/Storeステータス枠の外・真下へ固定配置 */
.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel,
.um-profile .um-header .lnct-consult-box.lnct-after-connection-panel {
	position: absolute !important;
	top: 166px !important;
	left: 14px !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 176px !important;
	max-width: 176px !important;
	min-height: 0 !important;
	margin: 7px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	clear: none !important;
	overflow: visible !important;
	z-index: 8 !important;
}

.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel > a,
.um-profile .um-header .lnct-consult-box.lnct-after-connection-panel > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 30px !important;
	padding: 6px 10px !important;
	border: 2px solid #31c7ad !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #168d7a !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 7px rgba(20, 80, 75, 0.08) !important;
	white-space: nowrap !important;
}

.um-profile .um-header:has(.linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel),
.um-profile .um-header:has(.lnct-consult-box.lnct-after-connection-panel) {
	min-height: 210px !important;
	overflow: visible !important;
}

.um-profile .um-header .lnct-consult-box.lnct-after-connection-panel .lnct-consult-note {
	display: none !important;
}

@media screen and (max-width: 600px) {
	.um-profile .um-header .linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel,
	.um-profile .um-header .lnct-consult-box.lnct-after-connection-panel {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 7px 0 0 !important;
	}

	.um-profile .um-header:has(.linknote-connection-panel + .lnct-consult-box.lnct-after-connection-panel),
	.um-profile .um-header:has(.lnct-consult-box.lnct-after-connection-panel) {
		min-height: 0 !important;
	}
}
