/*
Theme Name: SWELL CHILD
Template: swell
*/

/* === カスタムヘッダー専用スタイル === */
body {
	padding-top: 0 !important;
}

.custom-header a {
	text-decoration: none;
}

/* PC表示 (768px以上) */
@media (min-width: 768px) {
	.header-desktop {
		display: flex;
	}

	.header-mobile {
		display: none;
	}

	.header-logo {
		display: flex;
		align-items: center;
		flex-shrink: 0;
		padding: 0 24px;
		background-color: #5d2a63;
	}

	.header-logo img {
		max-height: 80px;
		max-width: 250px;
		width: 100%;
		height: auto;
	}

	.header-content-column {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.header-upper {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding: 8px 24px;
		font-size: 13px;
		background-color: #3d1a42;
		color: #fff;
	}

	.header-upper a {
		color: inherit;
		margin-left: 24px;
	}

	.header-upper a:hover {
		text-decoration: underline;
	}

	.header-nav-container {
		flex-grow: 1;
	}
}

/* スマホ表示 (767px以下) */
@media (max-width: 767px) {
	.header-desktop {
		display: none;
	}

	.header-mobile {
		display: block;
	}

	.header-mobile-upper {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		padding: 0;
		background-color: #3d1a42;
		color: #fff;
	}

	.header-mobile-upper .header-logo {
		display: flex;
		align-items: center;
		padding: 0 12px;
		background-color: #5d2a63;
	}

	.header-mobile-upper .header-logo img {
		max-height: 32px;
		width: auto;
	}

	.header-mobile-upper .account-info {
		display: flex;
		align-items: center;
		padding: 0 12px;
		font-size: 13px;
	}

	.header-mobile-upper .account-info a {
		color: #fff;
		margin-left: 14px;
	}

	.header-mobile-lower {
		padding: 0;
	}
}

/* ナビゲーションボタン（共通） */
.header-nav-container {
	display: flex;
	width: 100%;
	height: 100%;
}

.header-nav-button {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	text-align: center;
	padding: 14px 10px;
	color: #fff;
	font-weight: bold;
	background-color: #3d1a42;
	transition: background-color: 0.2s;
}

.header-nav-button.middle {
	border-left: 1px solid #553359;
	border-right: 1px solid #553359;
}

.header-nav-button:hover,
.header-nav-button.is-current-page {
	background-color: #5d2a63;
	text-decoration: underline;
}

.header-nav-button.is-current-page {
	cursor: default;
}

/* === アカウントページ 興味タグ表示スタイル === */
.um-view-interest-tags {
	border: 1px solid #ddd;
	padding: 20px;
	border-radius: 4px;
	background: #f9f9f9;
	margin-top: 20px;
}

.um-view-interest-tags .um-field-label {
	margin-bottom: 15px;
	font-weight: bold;
}

.um-view-tag-list a {
	display: inline-block;
	background: #eee;
	color: #333;
	padding: 5px 10px;
	margin: 0 5px 5px 0;
	border-radius: 4px;
	font-size: 14px;
	text-decoration: none;
}

.um-view-tag-list a:hover {
	background: #ddd;
}

.um-view-edit-tags-button {
	display: inline-block;
	margin-top: 20px;
	font-size: 14px;
	background: #333;
	color: #fff;
	padding: 10px 15px;
	border-radius: 4px;
	text-decoration: none;
}

.um-view-edit-tags-button:hover {
	background: #555;
	color: #fff;
}


/* === 興味タグ選択欄（検索機能付き）のスタイル === */
.interest-tags-search-wrapper {
	margin-bottom: 15px;
}

#interest-tags-search-input {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 16px;
}

.um-field-interest_tags_wrapper .um-field-label {
	margin-bottom: 10px;
	font-weight: bold;
}

.interest-tags-container {
	max-height: 250px;
	overflow-y: auto;
	border: 1px solid #ddd;
	padding: 15px;
	background: #fff;
	border-radius: 4px;
}

.interest-tag-item {
	display: inline-block;
	/* タグを横並びにする */
	margin: 0 8px 8px 0;
}

.interest-tags-container label {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #ccc;
	border-radius: 20px;
	/* 角を丸くしてピル形状に */
	cursor: pointer;
	transition: all 0.2s;
	font-size: 14px;
	background-color: #f0f0f0;
	/* 通常時の色 */
}

.interest-tags-container input[type="checkbox"] {
	display: none;
	/* 元のチェックボックスは隠す */
}

/* チェックされた時のスタイル */
.interest-tags-container input[type="checkbox"]:checked+label {
	background-color: #3b82f6;
	/* 青色に変更 */
	color: #fff;
	border-color: #3b82f6;
}