/*--------------------------*/
/*プロフィールのヘッダー部分*/
/*--------------------------*/
.mls-userpage-baseinfo {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.mls-userpage-image {
	width: 100px;
	position: relative;
}
.mls-userpage-image a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mls-userpage-image img {
	width: 80px;
	height: 80px;
	border: solid 1px #eee;
	border-radius: 50%;
	object-fit: cover;
}
.mls-userpage-name {
	position: relative;
}
.mls-userpage-name a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mls-userpage-nickname {
	margin-bottom: 0px;
	font-size: 19px !important;
	line-height: 1.5;
	font-weight: bold;
	color: #555;
}
.mls-userpage-userid {
	margin-bottom: 0px;
	font-size: 14px !important;
	line-height: 1.5;
	color: #888;
}
.mls-follow-button {
	margin-left: auto;
}
.mls-userpage-bio {
	color: #555;
}
/*------------------------------*/
/*-マイページ設定メニューボタン-*/
/*------------------------------*/
/* メニューボタン位置調整 */
.mls-userpage-menu {
	position: relative;
	margin-left: auto;
}
/* 歯車ボタン */
.mls-menu-button {
	background: none;
	border: none;
	border-radius: 5px;
	font-size: 1.5em;
	cursor: pointer;
	padding: 5px;
	color: #666;
}
/* ドロップダウンメニュー */
.mls-menu-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: 100%;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.15);
	list-style: none;
	margin: 5px 0 0;
	padding: 5px 0;
	z-index: 100;
	width: 200px;
}
/* 表示状態 */
.mls-menu-dropdown.active {
	display: block;
}
/* メニュー項目 */
.mls-menu-dropdown li {
	list-style: none;
	color: #555;
}
.mls-menu-dropdown li a {
	display: block;
	padding: 8px 15px;
	text-decoration: none;
	color: #555;
}
.mls-menu-dropdown li a:hover {
	background: #f5f5f5;
}
.mls-menu-dropdown button {
	background: transparent; 
	padding: 8px 15px;
	border: none;
	width: 100%;
	text-align: left;
}
.mls-menu-dropdown button:hover {
	background: #f5f5f5;
}
/*------------------------------*/
/*--------フォローボタン--------*/
/*------------------------------*/
.mls-follow-btn {
	color: #fff;
	font-weight: bold;
	padding: 6px 12px;
	border: none;
	border-radius: 20px;
	background: #333;
	transition: background 0.3s;
}
.mls-follow-btn.is-following {
	color: #666;
	background: #ddd;
}

/*------------------------------*/
/*-フォローボタン⇒ポップアップ-*/
/*------------------------------*/
.mls-login-popup-overlay {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}
.mls-login-popup {
	background: #fff;
	padding: 20px 30px;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
	text-align: center;
}
.mls-login-popup p {
	margin-bottom: 15px;
	font-size: 1em;
	color: #333;
}
.mls-login-popup-buttons {
	display: flex;
	justify-content: center;
	gap: 10px;
}
.mls-login-popup-cancel,
.mls-login-popup-login {
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-weight: bold;
	text-decoration: none;
}
.mls-login-popup-cancel {
	padding: 8px 14px;
	background: #eee;
	color: #333;
}
.mls-login-popup-login {
	padding: 8px 22px;
	background: #333;
	color: #fff;
}
.mls-login-popup-login:hover {
	color: #fff;
}
/*------------------------------*/
/*「フォローされています」ラベル*/
/*------------------------------*/
.mls-followed-label {
	line-height: 1.5;
	margin-bottom: 5px;
}
.mls-followed-label span {
	background-color: #eee;
	font-size: 12px !important;
	color: #888;
	padding: 1px 4px;
	border-radius: 3px;
}
/*------------------------------*/
/*-フォロー数フォロワー数の表示-*/
/*------------------------------*/
.mls-userpage-followstats {
	margin-top: 8px;
	margin-bottom: 15px;
	font-size: 14px;
}
.mls-userpage-followstats span {
	color: #666;
}
.mls-userpage-followstats span:nth-child(2) {
	margin-left: 12px;
}
.mls-userpage-followstats a {
	text-decoration: none;
	color: #666;
}
.mls-userpage-followstats a:nth-child(2) {
	margin-left: 12px;
}
.mls-userpage-followstats strong {
	font-size: 1.1em;
	margin-right: 2px;
}
.mls-userpage-followstats a strong {
	color: #333;
}
/*------------------------------*/
/*---ゲストユーザー向けの表示---*/
/*------------------------------*/
.mls-note-for-guest {
	color: #777;
	line-height: 1.2;
}
.mls-login-btn-for-guest {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	background-color: #333;
	border-radius: 20px;
	color: #fff;
	font-weight: bold;
	margin: 10px 0px;
	padding: 6px 12px;
	margin-left: auto;
}
.mls-login-btn-for-guest:hover {
	color: #fff;
}
/*------------------------------*/
/*ユーザーページのタブコンテンツ*/
/*------------------------------*/
.mls-userpage-tab-menu {
	display: flex;
	padding: 0;
	padding-bottom: 1px;
	border-bottom: 1px solid #ddd;
	margin: 0;
	/* 横スクロールを有効化 */
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	/* スクロールバー非表示*/
	-ms-overflow-style: none; /*IE・Edge*/
	scrollbar-width: none; /*Firefox*/
}
.mls-userpage-tab-menu::-webkit-scrollbar {
	display: none; /*Chrome, Safari*/
}
.mls-userpage-tab-item {
	list-style: none;
	padding: 6px 0px;
	margin: 0px 10px;
	cursor: pointer;
	color: #888;
	font-weight: bold;
	white-space: nowrap; /* 折り返し防止 */
	flex-shrink: 0; /* つぶれ防止 */
}
.mls-userpage-tab-item:hover {
	border-bottom: solid 3px #ccc;
}
.mls-userpage-tab-item.is-active {
	border-bottom: solid 3px #444;
	color: #444;
}
.mls-userpage-tab-contents {
	padding-top: 10px;
}
.mls-userpage-tab-content {
	display: none;
}
.mls-userpage-tab-content.is-active {
	display: block;
}
/*------------------------------*/
/*--------設定ページ共通--------*/
/*------------------------------*/
/*タブ部分*/
.mls-settings-tabs {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 1px;
	border-bottom: solid 1px #ddd;
}
.mls-settings-tabs a {
	padding: 3px 0px;
	text-decoration: none;
	color: #888;
}
.mls-settings-tabs a.active {
	color: #333;
	border-bottom: solid 3px #333;
	font-weight: bold;
}
/*フォーム部分*/
.mls-user-setting-form input, .mls-user-setting-form textarea {
	border: solid 2px #ccc !important;
	background-color: #fefef3;
	margin-top: 5px !important;
}
.mls-user-setting-form input::placeholder {
	font-size: 0.8em;
}
.mls-user-setting-label-wrapper {
	margin-bottom: 15px;
}
.mls-user-setting-form p {
	margin-bottom: 5px;
}
.mls-user-setting-form small {
	margin-left: 10px;
}
.mls-user-setting-item-name {
	font-weight: bold;
	font-size: 16px;
	margin-right: 8px;
}
.mls-user-setting-confirm-btn {
	text-align: center;
}
.mls-user-setting-confirm-btn button {
	border: none;
	border-radius: 20px;
	text-align: center;
	color: #fff;
	background-color: #333;
	padding: 6px 10px;
	margin-top: 20px;
	width: 100%;
	font-weight: bold;
}
.mls-user-setting-return-btn {
	margin-top: 30px;
}
.mls-user-setting-return-btn a {
	display: inline-block;
	border: solid 1px #aaa;
	border-radius: 20px;
	width: 100%;
	text-align: center;
	text-decoration: none;
	color: #555;
	padding: 2px;
}
.mls-optional-field {
	background-color: gray;
	color: white;
	font-size: 0.7em;
	padding: 1px 4px;
	border-radius: 2px;
}
/*------------------------------*/
/*--プロフィール設定ページ専用--*/
/*------------------------------*/
img#mls-profile-preview {
	width: 100px;
	height: 100px;
	border: solid 1px #aaa;
	border-radius: 50%;
	margin-bottom: 10px;
	object-fit:cover;
}
button#mls-delete-image-btn {
	background: #dc3545;
	color: #fff;
	padding: 4px 10px;
	border: none;
	border-radius: 5px;
}
button#mls-delete-image-btn::before {
	content: '\f00d';
	font-family: FontAwesome;
	font-size: 1.2em;
	margin-right: 4px;
}

/*------------------------------*/
/*--フォロー一覧フォロワー一覧--*/
/*------------------------------*/
/*------ヘッダー部分------*/
.mls-user-follow-header {
	text-align: center;
	margin-bottom: 20px;
}
.mls-user-follow-header img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid #ccc;
}
.mls-user-follow-header-name {
	margin: 8px 0 0;
}
.mls-user-follow-header-name a {
	text-decoration: none;
}
.mls-user-follow-header-nickname {
	font-weight: bold;
	color: #333;
}
.mls-user-follow-header-username {
	color: #555;
}
/*------タブ部分------*/
.mls-follow-tabs {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 15px;
	border-bottom: solid 1px #ddd;
	padding-bottom: 1px;
}
.mls-follow-tab-item {
	padding: 6px 12px;
	text-decoration: none;
	font-weight: bold;
	color: #888;
	width: 100%;
}
.mls-follow-tab-item:hover {
	color: #888;
}
.mls-follow-tab-item.is-active {
	border-bottom: solid 3px #333;
	color: #333;
}
/*------一覧部分------*/
.mls-follow-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.mls-follow-list-item-wrapper {
}
.mls-follow-list-item {
	display: flex;
	align-items: center;
	gap: 15px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}
.mls-follow-list-item img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}
.mls-follow-list-item-name {
	flex: 1;
}
.mls-follow-list-item-name a {
	text-decoration: none;
	color: #333;
}
.mls-follow-list-item-nickname {
	color: #333;
	font-weight: bold;
}
.mls-follow-list-item-username {
	color: #555;
}
.mls-follow-list-item-bio {
	margin: 4px 0 0;
	font-size: 13px;
	color: #666;
}
.mls-follow-list-no-user-note {
	text-align: center;
}
/*------------------------------*/
/*-------新規登録フォーム-------*/
/*------------------------------*/
.mls-signup-form {
	margin-bottom: 60px;
}
.mls-signup-form input {
	border: solid 2px #ccc !important;
	background-color: #fefef3;
	margin-top: 3px !important;
	margin-bottom: 1px !important;
}
.mls-signup-form input::placeholder {
	font-size: 0.8em;
}
.mls-signup-label-wrapper {
	margin-bottom: 15px;
}
.mls-signup-item-name {
	font-weight: bold;
	color: #555;
}
/*
.mls-signup-requirements {
	font-size: 0.8em;
	color: #888;
	margin-bottom: 12px;
}
*/
.mls-signup-confirm-btn {
	text-align: center;
}
.mls-signup-confirm-btn button {
	border: none;
	border-radius: 20px;
	text-align: center;
	color: #fff;
	background-color: #333;
	padding: 6px 10px;
	margin-top: 15px;
	width: 100%;
	font-weight: bold;
}
.mls-signup-validation-msg {
	font-size: 13px;
	margin-top: 2px;
}
/*------------------------------*/
/*-------ログインフォーム-------*/
/*------------------------------*/
.mls-login-form {
	margin-bottom: 60px;
}
.mls-login-form input {
	border: solid 2px #ccc !important;
	background-color: #fefef3;
	margin-top: 3px !important;
	margin-bottom: 20px !important;
}
.mls-login-item-name {
	font-weight: bold;
	color: #555;
}
.mls-login-confirm-btn {
	text-align: center;
}
.mls-login-confirm-btn button {
	border: none;
	border-radius: 20px;
	text-align: center;
	color: #fff;
	background-color: #333;
	padding: 6px 10px;
	margin-top: 15px;
	width: 100%;
	font-weight: bold;
}
/*---メッセージ表示---*/
.mls-template-notice {
	padding: 12px 14px;
	margin-bottom: 30px !important;
	border-radius: 1px;
	font-weight: bold;
}
.mls-template-notice span {
	
}
.mls-template-notice.success {
	background: #e6f7ee;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
}
.mls-template-notice.success span::before {
	content: '\f14a';
	font-family: FontAwesome;
	font-weight: normal;
	margin-right: 5px;
}
.mls-template-notice.error {
	background: #fdecea;
	color: #c62828;
	border: 1px solid #ef9a9a;
}
.mls-template-notice.error span::before {
	content: '\f2d3';
	font-family: FontAwesome;
	font-weight: normal;
	margin-right: 5px;
}
/*------------------------------*/
/*新規登録、ログインフォーム共通*/
/*------------------------------*/
.mls-signup-page-login-guide, .mls-login-page-signup-guide {
	color: #666;
}
.mls-signup-page-login-guide span, .mls-login-page-signup-guide span {
	font-size: 0.8em;
}
.mls-signup-page-login-guide a, .mls-login-page-signup-guide a {
	display: inline-block;
	border: solid 1px #aaa;
	border-radius: 20px;
	width: 100%;
	text-align: center;
	text-decoration: none;
	color: #555;
	padding: 2px;
}
/*------------------------------*/
/*----オンラインユーザー一覧----*/
/*------------------------------*/
.mls-online-users-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.mls-online-user-item {
	display: flex;
	align-items: center;
	gap: 15px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}
.mls-online-user-item img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}
.mls-online-user-item-name {
	flex: 1;
}
.mls-online-user-item-name a {
	text-decoration: none;
	color: #333;
}
.mls-online-user-item-nickname {
	color: #333;
	font-weight: bold;
}
.mls-online-user-item-username {
	color: #555;
}
.mls-online-user-item-last-activity {
	color: #888;
	font-size: 0.9em;
}