/*--------------------------------------------------------------
Events Manager 専用スタイル

Events Manager 導入クライアント向け。
plugins 未導入時は enqueue されない（inc/events-manager/load.php）。
--------------------------------------------------------------*/

#dbem-bookings-table.fixed{
	position:inherit!important;
}

/* [bb_events_posts] */
.bb-events-posts-shortcode .bb-event-no-image {
	display: block;
	min-height: 100%;
	background-color: var(--default-border, var(--bb-primary-color, #385dff));
}

.bb-events-posts-shortcode .entry-header .bb-event-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.bb-events-posts-shortcode .bb-event-category-tag {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 3px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	background-color: var(--default-border, var(--bb-primary-color, #385dff));
}

.bb-events-posts-shortcode .entry-meta .bb-user-avatar-wrap{
	margin-top: 0.75rem;
}

.bb-events-posts-shortcode .bb-event-meta-line {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
}

.bb-events-posts-shortcode .bb-event-meta-line:last-child {
	margin-bottom: 0;
}

.bb-events-posts-shortcode .bb-event-meta-label {
	font-weight: 600;
	color: var(--bb-headings-color, #122b46);
}

.bb-events-posts-shortcode .bb-event-meta-value {
	font-weight: 400;
}

.bb-events-posts-shortcode .bb-event-meta-value a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

.bb-events-posts-shortcode .bb-event-entry-meta {
	margin-top: 0.75rem;
}

.bb-events-posts-shortcode .bb-event-entry-meta .avatar-wrap img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

/* BuddyPress プロフィール > イベントタブ */
body.events #buddypress #item-body h4 {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
}

body.events #buddypress #item-body h4:not(:first-of-type) {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.events #buddypress #item-body ul.em-events-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.events #buddypress #item-body ul.em-events-list > li {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-bottom-width: 0;
}

body.events #buddypress #item-body ul.em-events-list > li:first-child {
	border-top-left-radius: var(--bb-block-radius, 4px);
	border-top-right-radius: var(--bb-block-radius, 4px);
}

body.events #buddypress #item-body ul.em-events-list > li:last-child {
	border-bottom-width: 1px;
	border-bottom-left-radius: var(--bb-block-radius, 4px);
	border-bottom-right-radius: var(--bb-block-radius, 4px);
}

body.events #buddypress #item-body ul.em-events-list > li > a {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
}

body.events #buddypress #item-body ul.em-events-list > li > a:hover,
body.events #buddypress #item-body ul.em-events-list > li > a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.events #buddypress #item-body ul.em-events-list > li > ul {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	font-size: 0.8125rem;
	color: var(--bb-alternate-text-color, #939597);
}

body.events #buddypress #item-body ul.em-events-list > li > ul > li {
	margin: 0;
	padding: 0;
}

/* 会場なしの空リンク・「 - , 」を非表示 */
body.events #buddypress #item-body ul.em-events-list > li > ul > li:has(> a:empty) {
	display: none;
}

body.events #buddypress #item-body ul.em-events-list > li > ul a {
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
}

body.events #buddypress #item-body ul.em-events-list > li > ul a:hover,
body.events #buddypress #item-body ul.em-events-list > li > ul a:focus {
	color: var(--bb-primary-color, #385dff);
	text-decoration: underline;
}

/* 参加予定イベント（EM デフォルトカード／.em ラッパー無し対策） */
body.events #item-body .em-event.em-item {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 1.25rem;
	margin: 0 0 1rem;
	padding: 1rem 1rem 1rem 1.15rem;
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-left: 4px solid var(--bb-primary-color, #385dff);
	border-radius: var(--bb-block-radius, 4px);
	box-sizing: border-box;
}

body.events #item-body .em-event.em-item .em-item-image {
	flex: 0 0 140px !important;
	width: 140px !important;
	min-width: 140px !important;
	max-width: 140px !important;
	align-self: stretch;
	overflow: hidden;
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
}

body.events #item-body .em-event.em-item .em-item-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 140px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

body.events #item-body .em-event.em-item .em-item-info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

body.events #item-body .em-event.em-item .em-item-title {
	margin: 0 0 0.75rem !important;
	font-size: 1.125rem !important;
	font-weight: 600;
	line-height: 1.4;
}

body.events #item-body .em-event.em-item .em-item-title a {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
}

body.events #item-body .em-event.em-item .em-item-title a:hover,
body.events #item-body .em-event.em-item .em-item-title a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.events #item-body .em-event.em-item .em-item-meta {
	margin: 0;
}

body.events #item-body .em-event.em-item .em-item-meta-line {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.35rem;
	margin: 0 0 0.4rem !important;
	padding: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
}

body.events #item-body .em-event.em-item .em-item-meta-line:last-child {
	margin-bottom: 0 !important;
}

/* EM アイコンは .em 親が無いと表示されないため、ラベルで代替 */
body.events #item-body .em-event.em-item .em-icon {
	display: none !important;
}

body.events #item-body .em-event.em-item .em-event-date::before,
body.events #item-body .em-event.em-item .em-event-time::before,
body.events #item-body .em-event.em-item .em-event-prices::before,
body.events #item-body .em-event.em-item .em-event-location::before,
body.events #item-body .em-event.em-item .em-event-categories::before {
	font-weight: 600;
	color: var(--bb-headings-color, #122b46);
	flex: 0 0 auto;
}

body.events #item-body .em-event.em-item .em-event-date::before {
	content: "日程：";
}

body.events #item-body .em-event.em-item .em-event-time::before {
	content: "時間：";
}

body.events #item-body .em-event.em-item .em-event-prices::before {
	content: "金額：";
}

body.events #item-body .em-event.em-item .em-event-location::before {
	content: "会場：";
}

body.events #item-body .em-event.em-item .em-event-categories::before {
	content: "カテゴリー：";
}

body.events #item-body .em-event.em-item .em-item-meta-line a {
	color: var(--bb-body-text-color, #4d5c6d) !important;
	font-style: normal !important;
	text-decoration: none !important;
}

body.events #item-body .em-event.em-item .em-item-meta-line a:hover,
body.events #item-body .em-event.em-item .em-item-meta-line a:focus {
	color: var(--bb-primary-color, #385dff) !important;
	text-decoration: underline !important;
}

body.events #item-body .em-event.em-item .em-event-categories > div {
	display: inline;
}

body.events #item-body .em-event.em-item .event-categories {
	display: inline-flex !important;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.events #item-body .em-event.em-item .event-categories li {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	line-height: 1 !important;
}

body.events #item-body .em-event.em-item .event-categories li a {
	display: inline-block !important;
	padding: 0.2rem 0.6rem !important;
	border-radius: 3px;
	font-size: 0.75rem !important;
	font-weight: 600;
	line-height: 1.4 !important;
	color: #fff !important;
	font-style: normal !important;
	background-color: var(--default-border, var(--bb-primary-color, #385dff));
	text-decoration: none !important;
}

body.events #item-body .em-event.em-item .event-categories li a:hover,
body.events #item-body .em-event.em-item .event-categories li a:focus {
	color: #fff !important;
	opacity: 0.9;
	text-decoration: none !important;
}

body.events #item-body .em-event.em-item .em-item-desc:empty {
	display: none;
}

body.events #item-body .em-event.em-item .em-item-actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 0.85rem;
	text-align: left !important;
}

/* 予約済み一覧のため「今すぐ予約」は非表示 */
body.events #item-body .em-event.em-item .em-event-book-now {
	display: none !important;
}

body.events #item-body .em-event.em-item .em-item-actions .em-item-read-more.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0.5rem 1.15rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-body-background-color, #fff) !important;
	text-decoration: none;
	background-color: var(--bb-primary-color, #385dff) !important;
	border: 1px solid var(--bb-primary-color, #385dff) !important;
	border-radius: var(--bb-button-radius, 100px) !important;
}

body.events #item-body .em-event.em-item .em-item-actions .em-item-read-more.button:hover,
body.events #item-body .em-event.em-item .em-item-actions .em-item-read-more.button:focus {
	opacity: 0.9;
	color: var(--bb-body-background-color, #fff) !important;
}

@media screen and (max-width: 640px) {
	body.events #item-body .em-event.em-item {
		flex-direction: column;
		gap: 1rem;
	}

	body.events #item-body .em-event.em-item .em-item-image {
		flex: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: 180px;
	}

	body.events #item-body .em-event.em-item .em-item-image img {
		min-height: 140px;
		max-height: 180px;
		aspect-ratio: 16 / 9;
	}
}

body.events #buddypress #item-body h4 + p {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

body.events #buddypress #item-body h4 + p a {
	color: var(--bb-primary-color, #385dff);
	text-decoration: none;
}

body.events #buddypress #item-body h4 + p a:hover,
body.events #buddypress #item-body h4 + p a:focus {
	text-decoration: underline;
}

body.events #buddypress #item-body .em-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.25rem;
}

body.events #buddypress #item-body .em-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.events #buddypress #item-body .em-pagination .page-numbers.current {
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.events #buddypress #item-body .em-pagination .page-numbers:hover,
body.events #buddypress #item-body .em-pagination .page-numbers:focus {
	color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.events #buddypress #item-body .em-pagination .not-current {
	display: inline-flex;
	gap: 0.35rem;
}

/* BuddyPress > My Events / My Locations 管理 */
body.my-events #buddypress #item-body .css-events-admin,
body.my-events #buddypress #item-body .em-events-admin-list,
body.my-locations #buddypress #item-body .css-locations-admin,
body.my-locations #buddypress #item-body .em-locations-admin-list {
	margin-top: 0.25rem;
}

body.my-events #buddypress #item-body a.add-new-h2,
body.my-events #buddypress #item-body a.em-button.button.add-new-h2,
body.my-locations #buddypress #item-body a.add-new-h2,
body.my-locations #buddypress #item-body a.em-button.button.add-new-h2 {
	display: inline-block;
	margin: 0 0 1rem;
	padding: 0.55rem 1.1rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-body-background-color, #fff);
	text-decoration: none;
	background-color: var(--bb-primary-color, #385dff);
	border: 1px solid var(--bb-primary-color, #385dff);
	border-radius: var(--bb-button-radius, 100px);
}

body.my-events #buddypress #item-body a.add-new-h2:hover,
body.my-events #buddypress #item-body a.add-new-h2:focus,
body.my-events #buddypress #item-body a.em-button.button.add-new-h2:hover,
body.my-events #buddypress #item-body a.em-button.button.add-new-h2:focus,
body.my-locations #buddypress #item-body a.add-new-h2:hover,
body.my-locations #buddypress #item-body a.add-new-h2:focus,
body.my-locations #buddypress #item-body a.em-button.button.add-new-h2:hover,
body.my-locations #buddypress #item-body a.em-button.button.add-new-h2:focus {
	opacity: 0.92;
	color: var(--bb-body-background-color, #fff);
}

body.my-events #buddypress #item-body .subsubsub,
body.my-locations #buddypress #item-body .subsubsub {
	display: block;
	margin: 0 0 1rem;
	padding: 0;
	font-size: 0.875rem;
	line-height: 1.8;
	color: var(--bb-body-text-color, #4d5c6d);
}

body.my-events #buddypress #item-body .subsubsub a,
body.my-locations #buddypress #item-body .subsubsub a {
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
}

body.my-events #buddypress #item-body .subsubsub a.current,
body.my-locations #buddypress #item-body .subsubsub a.current {
	font-weight: 600;
	color: var(--bb-headings-color, #122b46);
}

body.my-events #buddypress #item-body .subsubsub a:hover,
body.my-events #buddypress #item-body .subsubsub a:focus,
body.my-locations #buddypress #item-body .subsubsub a:hover,
body.my-locations #buddypress #item-body .subsubsub a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.my-events #buddypress #item-body .subsubsub .count,
body.my-locations #buddypress #item-body .subsubsub .count {
	color: var(--bb-alternate-text-color, #939597);
	font-weight: 400;
}

body.my-events #buddypress #item-body .search-box {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 0 0 1rem;
	padding: 0;
	float: none;
	width: 100%;
}

body.my-events #buddypress #item-body .search-box input[type="text"] {
	flex: 1 1 12rem;
	min-width: 0;
	max-width: 20rem;
	margin: 0;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
}

body.my-events #buddypress #item-body .search-box input[type="submit"],
body.my-events #buddypress #item-body .search-box .button {
	margin: 0;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.my-events #buddypress #item-body .search-box input[type="submit"]:hover,
body.my-events #buddypress #item-body .search-box .button:hover {
	border-color: var(--bb-primary-color, #385dff);
	color: var(--bb-primary-color, #385dff);
}

body.my-events #buddypress #item-body .tablenav,
body.my-locations #buddypress #item-body .tablenav {
	margin: 0 0 1rem;
	padding: 0;
	float: none;
	width: 100%;
}

body.my-events #buddypress #item-body .tablenav .alignleft.actions,
body.my-locations #buddypress #item-body .tablenav .alignleft.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 0 0 1rem;
}

body.my-events #buddypress #item-body .tablenav .alignleft.actions select,
body.my-locations #buddypress #item-body .tablenav .alignleft.actions select {
	margin: 0;
	padding: 0.45rem 0.75rem;
	font-size: 0.875rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.my-events #buddypress #item-body .tablenav .alignleft.actions .button,
body.my-events #buddypress #item-body .tablenav .alignleft.actions .button-secondary,
body.my-locations #buddypress #item-body .tablenav .alignleft.actions .button,
body.my-locations #buddypress #item-body .tablenav .alignleft.actions .button-secondary {
	margin: 0;
	padding: 0.45rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.my-events #buddypress #item-body .tablenav .tablenav-pages,
body.my-locations #buddypress #item-body .tablenav .tablenav-pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
}

body.my-events #buddypress #item-body .tablenav .displaying-num,
body.my-locations #buddypress #item-body .tablenav .displaying-num {
	margin-right: auto;
	font-size: 0.8125rem;
	color: var(--bb-alternate-text-color, #939597);
}

body.my-events #buddypress #item-body .tablenav .page-numbers,
body.my-locations #buddypress #item-body .tablenav .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.my-events #buddypress #item-body .tablenav .page-numbers.current,
body.my-locations #buddypress #item-body .tablenav .page-numbers.current {
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.my-events #buddypress #item-body .tablenav .page-numbers:hover,
body.my-events #buddypress #item-body .tablenav .page-numbers:focus,
body.my-locations #buddypress #item-body .tablenav .page-numbers:hover,
body.my-locations #buddypress #item-body .tablenav .page-numbers:focus {
	color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.my-events #buddypress #item-body table.events-table,
body.my-locations #buddypress #item-body table.widefat {
	width: 100%;
	margin: 0 0 1rem;
	border-collapse: collapse;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	overflow: hidden;
	background-color: var(--bb-content-background-color, #fff);
}

body.my-events #buddypress #item-body table.events-table thead th,
body.my-locations #buddypress #item-body table.widefat thead th {
	padding: 0.75rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-align: left;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #buddypress #item-body table.events-table thead th:first-child {
	padding-left: 1.25rem !important;
}

body.my-events #buddypress #item-body table.events-table tbody td:first-child {
	padding-left: 1.25rem !important;
}

body.my-events #buddypress #item-body table.events-table tbody td,
body.my-locations #buddypress #item-body table.widefat tbody td {
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	vertical-align: top;
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #buddypress #item-body table.events-table tbody tr:last-child td,
body.my-locations #buddypress #item-body table.widefat tbody tr:last-child td {
	border-bottom: 0;
}

body.my-events #buddypress #item-body table.events-table tbody tr.alternate,
body.my-locations #buddypress #item-body table.widefat tbody tr.alternate {
	background-color: rgba(0, 0, 0, 0.015);
}

body.my-events #buddypress #item-body table.events-table tbody tr.past td {
	background-color: rgba(0, 0, 0, 0.03);
	color: var(--bb-alternate-text-color, #939597);
}

body.my-events #buddypress #item-body table.events-table tbody tr.pending td {
	background-color: #fff8e6;
}

body.my-events #buddypress #item-body table.events-table .row-title,
body.my-locations #buddypress #item-body table.widefat tbody td a {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	font-weight: 600;
}

body.my-events #buddypress #item-body table.events-table .row-title:hover,
body.my-events #buddypress #item-body table.events-table .row-title:focus,
body.my-locations #buddypress #item-body table.widefat tbody td a:hover,
body.my-locations #buddypress #item-body table.widefat tbody td a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.my-events #buddypress #item-body table.events-table .row-actions {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
}

body.my-events #buddypress #item-body table.events-table .row-actions a {
	color: var(--bb-alternate-text-color, #939597);
	text-decoration: none;
}

body.my-events #buddypress #item-body table.events-table .row-actions a:hover,
body.my-events #buddypress #item-body table.events-table .row-actions a:focus {
	color: var(--bb-primary-color, #385dff);
	text-decoration: underline;
}

/* 複製（+）列 — 2列目が EM の + リンク専用セル */
body.my-events #buddypress #item-body table.events-table thead th:nth-child(2) {
	width: 1%;
	min-width: 3.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	text-align: center;
	vertical-align: middle;
	font-size: 0;
	line-height: 1;
	color: transparent;
	white-space: nowrap;
}

body.my-events #buddypress #item-body table.events-table thead th:nth-child(2)::before {
	content: "コピー";
	display: inline-block;
	white-space: nowrap;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--bb-headings-color, #122b46);
	vertical-align: middle;
}

body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) {
	width: 1%;
	padding: 0.85rem 0.75rem;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1;
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: 0;
	box-sizing: border-box;
	transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a strong {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
}

body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a:hover,
body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a:focus {
	color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
	background-color: rgba(56, 93, 255, 0.06);
}

body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a:hover strong,
body.my-events #buddypress #item-body table.events-table tbody td:nth-child(2) a:focus strong {
	color: inherit;
}

body.my-locations #buddypress #item-body table.widefat .check-column {
	width: 2.5rem;
	text-align: center;
}

body.my-locations #buddypress #item-body table.widefat .check-column input {
	margin: 0;
}

body.my-locations #buddypress #item-body .em-locations-admin-list > p {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

body.my-events #buddypress #item-body .em-notice,
body.my-events #buddypress #item-body .em-notice-info,
body.my-events #buddypress #item-body .em-notice-warning,
body.my-events #buddypress #item-body .em-notice-error,
body.my-locations #buddypress #item-body .em-notice,
body.my-locations #buddypress #item-body .em-notice-info,
body.my-locations #buddypress #item-body .em-notice-warning,
body.my-locations #buddypress #item-body .em-notice-error {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: var(--bb-block-radius, 4px);
}

body.my-events #buddypress #item-body .em-notice-info,
body.my-locations #buddypress #item-body .em-notice-info {
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
}

/* イベント・会場 作成・編集フォーム */
body.my-events #item-body .css-event-form,
body.my-events #item-body form.em-event-editor,
body.my-locations #item-body .css-locations-admin,
body.my-locations #item-body .em-location-editor,
body.my-locations #item-body #location-form {
	margin-top: 0.25rem;
}

body.my-events #item-body form.em-event-editor > section,
body.my-locations #item-body .em-location-editor section,
body.my-locations #item-body #location-form section {
	margin: 0 0 1.5rem;
	padding: 0 0 1.5rem;
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #item-body form.em-event-editor > section:last-of-type,
body.my-locations #item-body .em-location-editor section:last-of-type,
body.my-locations #item-body #location-form section:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

body.my-events #item-body form.em-event-editor h3,
body.my-events #item-body form.em-event-editor h4,
body.my-locations #item-body .em-location-editor h3,
body.my-locations #item-body #location-form h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
}

body.my-events #item-body form.em-event-editor .input,
body.my-events #item-body form.em-event-editor .event-extra-details,
body.my-events #item-body form.em-event-editor #em-location-data,
body.my-events #item-body form.em-event-editor .event-form-details > div,
body.my-locations #item-body .em-location-editor .input,
body.my-locations #item-body #location-form .input,
body.my-locations #item-body #location-form .inside {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
}

body.my-events #item-body form.em-event-editor .input p,
body.my-events #item-body form.em-event-editor #em-booking-options p,
body.my-events #item-body form.em-event-editor #em-location-data p,
body.my-locations #item-body .em-location-editor .input p,
body.my-locations #item-body #location-form .input p {
	margin: 0 0 0.85rem;
}

body.my-events #item-body form.em-event-editor label,
body.my-locations #item-body .em-location-editor label,
body.my-locations #item-body #location-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	color: var(--bb-headings-color, #122b46);
}

body.my-events #item-body form.em-event-editor .event-rsvp-toggle label,
body.my-events #item-body form.em-event-editor .event-rsvp-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
	cursor: pointer;
}

body.my-events #item-body form.em-event-editor .event-form-name input[type="text"],
body.my-events #item-body form.em-event-editor .event-form-where input[type="text"],
body.my-events #item-body form.em-event-editor .event-form-where input[type="email"],
body.my-events #item-body form.em-event-editor .event-form-where input[type="url"],
body.my-events #item-body form.em-event-editor .event-form-where input[type="number"],
body.my-events #item-body form.em-event-editor .event-form-where textarea,
body.my-events #item-body form.em-event-editor .event-form-where select,
body.my-events #item-body form.em-event-editor .event-form-details textarea,
body.my-events #item-body form.em-event-editor .event-form-details select,
body.my-events #item-body form.em-event-editor .event-form-image input[type="text"],
body.my-events #item-body form.em-event-editor .event-form-bookings input[type="text"],
body.my-events #item-body form.em-event-editor .event-form-bookings input[type="email"],
body.my-events #item-body form.em-event-editor .event-form-bookings input[type="number"],
body.my-events #item-body form.em-event-editor .event-form-bookings input[type="date"],
body.my-events #item-body form.em-event-editor .event-form-bookings select,
body.my-events #item-body form.em-event-editor .event-extra-details input[type="text"],
body.my-events #item-body form.em-event-editor .event-extra-details select,
body.my-locations #item-body .em-location-editor input[type="text"],
body.my-locations #item-body .em-location-editor input[type="email"],
body.my-locations #item-body .em-location-editor input[type="url"],
body.my-locations #item-body .em-location-editor input[type="number"],
body.my-locations #item-body .em-location-editor textarea,
body.my-locations #item-body .em-location-editor select,
body.my-locations #item-body #location-form input[type="text"],
body.my-locations #item-body #location-form textarea,
body.my-locations #item-body #location-form select {
	width: 100%;
	max-width: 100%;
	margin: 0 0 0.5rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
	box-sizing: border-box;
}

body.my-events #item-body form.em-event-editor .inline-inputs,
body.my-events #item-body form.em-event-editor .em-booking-date-normal,
body.my-events #item-body form.em-event-editor .em-booking-date-recurring {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

body.my-events #item-body form.em-event-editor .inline-inputs input[type="text"],
body.my-events #item-body form.em-event-editor .inline-inputs input[type="date"],
body.my-events #item-body form.em-event-editor .inline-inputs select,
body.my-events #item-body form.em-event-editor .em-time-input {
	width: auto;
	max-width: none;
	margin: 0;
}

body.my-events #item-body form.em-event-editor .event-form-details .event-editor,
body.my-events #item-body form.em-event-editor .event-form-details .wp-editor-wrap {
	margin-bottom: 0.5rem;
}

body.my-events #item-body form.em-event-editor .event-form-details .wp-editor-container {
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
	overflow: hidden;
}

body.my-events #item-body form.em-event-editor table.form-table {
	width: 100%;
	margin: 0 0 1rem;
	border-collapse: collapse;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	overflow: hidden;
	background-color: var(--bb-content-background-color, #fff);
}

body.my-events #item-body form.em-event-editor table.form-table thead th {
	padding: 0.75rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-align: left;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #item-body form.em-event-editor table.form-table tbody td {
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	vertical-align: top;
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #item-body form.em-event-editor table.form-table tbody tr:last-child td {
	border-bottom: 0;
}

body.my-events #item-body form.em-event-editor table.form-table tfoot td {
	padding: 0.75rem 1rem;
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-top: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-events #item-body form.em-event-editor .ticket-actions a,
body.my-events #item-body form.em-event-editor table.form-table a {
	color: var(--bb-primary-color, #385dff);
	text-decoration: none;
	font-weight: 600;
}

body.my-events #item-body form.em-event-editor .event-rsvp-options,
body.my-events #item-body form.em-event-editor #em-booking-options,
body.my-events #item-body form.em-event-editor .event-rsvp-options-tickets {
	margin-top: 0.75rem;
}

body.my-events #item-body form.em-event-editor .recurrence-reschedule-warning,
body.my-events #item-body form.em-event-editor .em-notice-warning {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: #fff8e6;
	border: 1px solid #f0d78c;
	border-radius: var(--bb-block-radius, 4px);
}

body.my-events #item-body form.em-event-editor .button,
body.my-events #item-body form.em-event-editor .button-secondary,
body.my-events #item-body form.em-event-editor a.button,
body.my-locations #item-body .em-location-editor .button,
body.my-locations #item-body .em-location-editor .button-secondary,
body.my-locations #item-body #location-form .button,
body.my-locations #item-body #location-form .button-secondary {
	display: inline-block;
	margin: 0.35rem 0.35rem 0.35rem 0;
	padding: 0.45rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.my-events #item-body form.em-event-editor .button:hover,
body.my-events #item-body form.em-event-editor .button-secondary:hover,
body.my-locations #item-body .em-location-editor .button:hover,
body.my-locations #item-body .em-location-editor .button-secondary:hover,
body.my-locations #item-body #location-form .button:hover,
body.my-locations #item-body #location-form .button-secondary:hover {
	border-color: var(--bb-primary-color, #385dff);
	color: var(--bb-primary-color, #385dff);
}

body.my-events #item-body form.em-event-editor input[type="submit"],
body.my-events #item-body form.em-event-editor button[type="submit"],
body.my-events #item-body form.em-event-editor .button-primary,
body.my-locations #item-body .em-location-editor input[type="submit"],
body.my-locations #item-body .em-location-editor button[type="submit"],
body.my-locations #item-body #location-form input[type="submit"],
body.my-locations #item-body #location-form button[type="submit"] {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.55rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border: 1px solid var(--bb-primary-color, #385dff);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.my-events #item-body form.em-event-editor input[type="submit"]:hover,
body.my-events #item-body form.em-event-editor button[type="submit"]:hover,
body.my-events #item-body form.em-event-editor .button-primary:hover,
body.my-locations #item-body .em-location-editor input[type="submit"]:hover,
body.my-locations #item-body .em-location-editor button[type="submit"]:hover,
body.my-locations #item-body #location-form input[type="submit"]:hover,
body.my-locations #item-body #location-form button[type="submit"]:hover {
	opacity: 0.92;
}

body.my-events #item-body form.em-event-editor .event-form-submit {
	margin-top: 0.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--bb-content-border-color, #e7e9ec);
}

@media screen and (max-width: 782px) {
	body.my-events #item-body form.em-event-editor table.form-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media screen and (max-width: 782px) {
	body.my-events #buddypress #item-body table.events-table,
	body.my-locations #buddypress #item-body table.widefat {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.my-events #buddypress #item-body .subsubsub .admin-events-filter {
		display: block;
		margin-top: 0.5rem;
	}
}

/* BuddyPress > My Event Bookings 管理 */
body.my-bookings #item-body .css-bookings-admin,
body.my-bookings #item-body .em-bookings-admin-dashboard,
body.my-bookings #item-body .em-bookings-admin-event,
body.my-bookings #item-body .em-bookings-admin-single,
body.my-bookings #item-body .em-bookings-admin-ticket {
	margin-top: 0.25rem;
}

body.my-bookings #item-body .css-bookings-admin-login {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

body.my-bookings #item-body .em-bookings-recent.wrap,
body.my-bookings #item-body .em-bookings-events.wrap {
	margin: 0 0 1.5rem;
	padding: 0;
}

body.my-bookings #item-body .em-bookings-recent h2,
body.my-bookings #item-body .em-bookings-events h2,
body.my-bookings #item-body .em-bookings-admin-event h2,
body.my-bookings #item-body .em-bookings-admin-single h2,
body.my-bookings #item-body .em-bookings-admin-ticket h2,
body.my-bookings #item-body #event-bookings h2 {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
}

body.my-bookings #item-body .em-bookings-events,
body.my-bookings #item-body #event-bookings,
body.my-bookings #item-body #event-recurrences {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-bookings #item-body .em-bookings-admin-event > .input > h2:first-child,
body.my-bookings #item-body .em-bookings-admin-single > .input > h2:first-child,
body.my-bookings #item-body .em-bookings-admin-ticket > .input > h2:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

body.my-bookings #item-body .button,
body.my-bookings #item-body .button-secondary,
body.my-bookings #item-body a.button,
body.my-bookings #item-body a.button-secondary,
body.my-bookings #item-body .em-list-table .tablenav .button,
body.my-bookings #item-body .em-list-table .tablenav .button-secondary {
	display: inline-block;
	margin: 0 0.35rem 0.35rem 0;
	padding: 0.45rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.my-bookings #item-body .button:hover,
body.my-bookings #item-body .button-secondary:hover,
body.my-bookings #item-body a.button:hover,
body.my-bookings #item-body a.button-secondary:hover,
body.my-bookings #item-body .em-list-table .tablenav .button:hover,
body.my-bookings #item-body .em-list-table .tablenav .button-secondary:hover {
	border-color: var(--bb-primary-color, #385dff);
	color: var(--bb-primary-color, #385dff);
}

body.my-bookings #item-body hr.wp-header-end {
	display: none;
}

body.my-bookings #item-body .em-bookings-admin-event > .input > p,
body.my-bookings #item-body .em-bookings-admin-single > .input > p {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
}

body.my-bookings #item-body .em-bookings-admin-event > .input > p strong,
body.my-bookings #item-body .em-bookings-admin-single > .input > p strong {
	color: var(--bb-headings-color, #122b46);
}

body.my-bookings #item-body .em-list-table {
	margin-bottom: 1.5rem;
}

body.my-bookings #item-body .em-list-table .tablenav {
	margin: 0 0 1rem;
	padding: 0;
	float: none;
	width: 100%;
}

body.my-bookings #item-body .em-list-table .tablenav > .actions,
body.my-bookings #item-body .em-list-table .tablenav .alignleft.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 0 0 0.75rem;
}

body.my-bookings #item-body .em-list-table .tablenav select,
body.my-bookings #item-body .em-list-table .em-list-table-filters select,
body.my-bookings #item-body .em-list-table .em-list-table-filters input[type="text"],
body.my-bookings #item-body .em-list-table .em-list-table-filters input[type="search"] {
	margin: 0;
	padding: 0.45rem 0.75rem;
	font-size: 0.875rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.my-bookings #item-body .em-list-table .tablenav-pages,
body.my-bookings #item-body .em-list-table .tablenav .tablenav-pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.35rem;
}

body.my-bookings #item-body .em-list-table .displaying-num {
	margin-right: auto;
	font-size: 0.8125rem;
	color: var(--bb-alternate-text-color, #939597);
}

body.my-bookings #item-body .em-list-table div.table-wrap {
	margin: 0 0 1rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	overflow: hidden;
	background-color: var(--bb-content-background-color, #fff);
}

body.my-bookings #item-body .em-list-table div.table-wrap table,
body.my-bookings #item-body .em-bookings-admin-ticket table {
	width: 100%;
	margin: 0 !important;
	border-collapse: collapse;
	border: 0 !important;
	background-color: transparent;
}

body.my-bookings #item-body .em-list-table div.table-wrap thead th,
body.my-bookings #item-body .em-list-table div.table-wrap tfoot th,
body.my-bookings #item-body .em-bookings-admin-ticket table thead th {
	padding: 0.75rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-align: left;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-bookings #item-body .em-list-table div.table-wrap tbody td,
body.my-bookings #item-body .em-bookings-admin-ticket table tbody td {
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	vertical-align: top;
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
	background-color: transparent;
}

body.my-bookings #item-body .em-list-table div.table-wrap tbody > :nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.015);
}

body.my-bookings #item-body .em-list-table div.table-wrap tbody tr:last-child td {
	border-bottom: 0;
}

body.my-bookings #item-body .em-list-table div.table-wrap a,
body.my-bookings #item-body .em-list-table .em-list-table-row-edit,
body.my-bookings #item-body .em-list-table .em-list-table-row-action {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	font-weight: 600;
}

body.my-bookings #item-body .em-list-table div.table-wrap a:hover,
body.my-bookings #item-body .em-list-table .em-list-table-row-edit:hover,
body.my-bookings #item-body .em-list-table .em-list-table-row-action:hover {
	color: var(--bb-primary-color, #385dff);
}

body.my-bookings #item-body .em-list-table .check-column {
	width: 2.5rem;
	text-align: center;
}

body.my-bookings #item-body .em-list-table .tablenav .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.my-bookings #item-body .em-list-table .tablenav .page-numbers.current {
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.my-bookings #item-body .em-notice,
body.my-bookings #item-body .em-notice-info,
body.my-bookings #item-body .em-notice-warning,
body.my-bookings #item-body .em-notice-error {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: var(--bb-block-radius, 4px);
}

body.my-bookings #item-body .em-notice-info,
body.my-bookings #item-body .em-notice.em-notice-icon {
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.my-bookings #item-body .em-bookings-admin-single .input input[type="text"],
body.my-bookings #item-body .em-bookings-admin-single .input input[type="email"],
body.my-bookings #item-body .em-bookings-admin-single .input textarea,
body.my-bookings #item-body .em-bookings-admin-single .input select {
	width: 100%;
	max-width: 100%;
	margin: 0 0 0.5rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-input-radius, 4px);
	box-sizing: border-box;
}

body.my-bookings #item-body .em-bookings-admin-single input[type="submit"],
body.my-bookings #item-body .em-bookings-admin-single button[type="submit"] {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.55rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border: 1px solid var(--bb-primary-color, #385dff);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

@media screen and (max-width: 782px) {
	body.my-bookings #item-body .em-list-table div.table-wrap,
	body.my-bookings #item-body .em-bookings-admin-ticket table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* BuddyPress > Events I'm Attending */
body.attending #item-body .css-my-bookings {
	margin-top: 0.25rem;
}

body.attending #item-body .tablenav {
	margin: 0 0 1rem;
	padding: 0;
	float: none;
	width: 100%;
}

body.attending #item-body .tablenav .tablenav-pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.35rem;
}

body.attending #item-body .tablenav .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	color: var(--bb-body-text-color, #4d5c6d);
	text-decoration: none;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

body.attending #item-body .tablenav .page-numbers.current {
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.attending #item-body .tablenav .page-numbers:hover,
body.attending #item-body .tablenav .page-numbers:focus {
	color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

body.attending #item-body .table-wrap {
	margin: 0 0 1rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	overflow: visible;
	background-color: var(--bb-content-background-color, #fff);
}

body.attending #item-body #dbem-bookings-table.widefat {
	width: 100%;
	margin: 0 !important;
	border-collapse: collapse;
	border: 0 !important;
	box-shadow: none !important;
	background-color: transparent;
}

body.attending #item-body #dbem-bookings-table.widefat thead th,
body.attending #item-body #dbem-bookings-table.widefat tbody td {
	padding: 0.85rem 1.25rem !important;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	vertical-align: middle;
}

body.attending #item-body #dbem-bookings-table.widefat thead th {
	font-size: 0.8125rem;
	font-weight: 600;
	text-align: left;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.attending #item-body #dbem-bookings-table.widefat tbody td {
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.attending #item-body #dbem-bookings-table.widefat tbody tr:last-child td {
	border-bottom: 0 !important;
}

body.attending #item-body #dbem-bookings-table.widefat tbody tr.alternate td {
	background-color: rgba(0, 0, 0, 0.015);
}

body.attending #item-body #dbem-bookings-table.widefat tbody td:last-child {
	min-width: 7rem;
	text-align: right;
	white-space: nowrap;
}

body.attending #item-body #dbem-bookings-table.widefat tbody td a {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	font-weight: 600;
}

body.attending #item-body #dbem-bookings-table.widefat tbody td a:hover,
body.attending #item-body #dbem-bookings-table.widefat tbody td a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.attending #item-body .button,
body.attending #item-body .button-secondary {
	display: inline-block;
	margin: 0;
	padding: 0.45rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	cursor: pointer;
}

body.attending #item-body #dbem-bookings-table.widefat tbody td:last-child button.em-tooltip-ddm.em-clickable.input {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto;
	min-width: 6.5rem;
	height: auto !important;
	min-height: 2.25rem;
	margin: 0 !important;
	padding: 0.5rem 2.25rem 0.5rem 1rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-align: center !important;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	background-image: var(--icon-chevron-down) !important;
	background-position: calc(100% - 0.75rem) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 12px !important;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	box-sizing: border-box !important;
	cursor: pointer;
	vertical-align: middle;
}

body.attending #item-body #dbem-bookings-table.widefat tbody td:last-child button.em-tooltip-ddm.em-clickable.input[aria-expanded="true"] {
	background-image: var(--icon-chevron-up) !important;
}

body.attending #item-body .button:hover,
body.attending #item-body .button-secondary:hover,
body.attending #item-body #dbem-bookings-table.widefat tbody td:last-child button.em-tooltip-ddm.em-clickable.input:hover,
body.attending #item-body #dbem-bookings-table.widefat tbody td:last-child button.em-tooltip-ddm.em-clickable.input:focus {
	border-color: var(--bb-primary-color, #385dff);
	color: var(--bb-primary-color, #385dff);
}

/* 操作ドロップダウン（Tippy） */
body.attending #item-body .em-tooltip-ddm-content.em-my-bookings-actions-content {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.attending .em-tooltip-ddm-display.em-my-bookings-actions-tooltip .tippy-box,
body.attending .em-tooltip-ddm-display.em-my-bookings-actions-tooltip .tippy-content {
	padding: 0 !important;
	background-color: var(--bb-content-background-color, #fff);
	border-radius: var(--bb-block-radius, 4px);
}

body.attending .em-tooltip-ddm-display.em-my-bookings-actions-tooltip .tippy-box {
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

body.attending .em-tooltip-ddm-display .em-my-bookings-actions-content {
	display: block;
	padding: 0;
	margin: 0;
}

body.attending .em-tooltip-ddm-display .em-my-bookings-actions-content a {
	display: block;
	padding: 0.65rem 1rem !important;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	text-decoration: none;
	color: var(--bb-primary-color, #385dff);
}

body.attending .em-tooltip-ddm-display .em-my-bookings-actions-content a:hover,
body.attending .em-tooltip-ddm-display .em-my-bookings-actions-content a:focus {
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
}

body.attending .em-tooltip-ddm-display .em-my-bookings-actions-content a.em-bookings-rsvp-maybe {
	color: var(--bb-body-text-color, #4d5c6d);
}

body.attending #item-body .em-notice,
body.attending #item-body .em-notice-info,
body.attending #item-body .em-notice-warning,
body.attending #item-body .em-notice-error {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: var(--bb-block-radius, 4px);
}

body.attending #item-body .em-notice-info {
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.attending #item-body .css-my-bookings > p,
body.attending #item-body .css-my-bookings-login,
body.attending #item-body .css-my-bookings:not(:has(#dbem-bookings-table)) {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

body.attending #item-body .css-my-bookings > p a {
	color: var(--bb-primary-color, #385dff);
	text-decoration: none;
	font-weight: 600;
}

/* Events Manager > Single Event Page */
.entry-content .em-view-container[data-view="event"] {
	margin-top: 0.5rem;
}

.entry-content .em.em-item.em-item-single.em-event {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: #fff !important;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent !important;
}

.entry-content .em.em-item.em-item-single.em-event > section {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent !important;
}

.entry-content .em.em-item.em-item-single.em-event > section + section {
	margin-top: 1.25rem;
	padding-top: 0;
	border-top: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-event-location {
	overflow: hidden;
}

.entry-content .em.em-item.em-item-single.em-event .em-event-content {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--bb-body-text-color, #4d5c6d);
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-image {
	flex: 0 1 280px;
	order: 2;
	max-width: 100%;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-image img {
	width: 100%;
	height: auto;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--bb-block-radius, 4px);
	object-fit: cover;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta {
	flex: 1 1 280px;
	gap: 1.25rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta > section {
	flex: 1 1 220px;
	min-width: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta > section section {
	margin-bottom: 1.25rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta > section section:last-child {
	margin-bottom: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta h3 {
	margin: 0 0 0.65rem;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.4;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--bb-headings-color, #122b46);
}

.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
}

.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line:last-child {
	margin-bottom: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line .em-icon {
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line a {
	color: var(--bb-primary-color, #385dff);
	text-decoration: none;
	font-weight: 600;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line a:hover,
.entry-content .em.em-item.em-item-single.em-event .em-item-meta-line a:focus {
	text-decoration: underline;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-taxonomy ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-taxonomy ul li {
	margin: 0 0 0.35rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-item-taxonomy ul li:last-child {
	margin-bottom: 0;
}

.entry-content .em.em-item.em-item-single.em-event button.em-event-add-to-calendar.em-tooltip-ddm,
.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta .button,
.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center;
	height: auto !important;
	min-height: 2.25rem;
	margin: 0.75rem 0 0 !important;
	padding: 0.5rem 1rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-button-radius, 100px);
	box-sizing: border-box;
	cursor: pointer;
}

.entry-content .em.em-item.em-item-single.em-event button.em-event-add-to-calendar.em-tooltip-ddm {
	padding: 0.5rem 2.25rem 0.5rem 1rem !important;
	background-position: calc(100% - 0.75rem) 50% !important;
	background-size: 12px !important;
}

.entry-content .em.em-item.em-item-single.em-event button.em-event-add-to-calendar.em-tooltip-ddm:hover,
.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta .button:hover,
.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-meta a.button:hover {
	color: var(--bb-primary-color, #385dff);
	border-color: var(--bb-primary-color, #385dff);
}

.entry-content .em.em-item.em-item-single.em-event .em-event-content p {
	margin: 0 0 1rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-event-content p:last-child {
	margin-bottom: 0;
}

.entry-content .em.em-item.em-item-single.em-event > .em-event-cancelled.em-notice {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: var(--bb-block-radius, 4px);
}

.entry-content .em.em-item.em-item-single.em-event .em-event-bookings > h2 {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bb-headings-color, #122b46);
}

.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form h3.em-booking-section-title {
	margin: 0 0 0.75rem;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.4;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--bb-headings-color, #122b46);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-section {
	margin-bottom: 1rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar {
	gap: 1.25rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar .em-booking-recurrences h3 {
	font-size: 1rem !important;
	font-weight: 600 !important;
	text-transform: none !important;
	color: var(--bb-headings-color, #122b46);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar .em-booking-recurrence {
	padding: 0.75rem 1rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar .em-booking-recurrences.selected .em-booking-recurrence.selected {
	border-color: var(--bb-primary-color, #385dff) !important;
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-timeslot-picker.mode-buttons .em-booking-timeslots-list {
	gap: 0.5rem;
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-timeslot-picker.mode-buttons .em-booking-timeslot {
	padding: 0.75rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-timeslot-picker.mode-buttons .em-booking-timeslot.selected {
	border-color: var(--bb-primary-color, #385dff) !important;
	opacity: 1;
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-timeslot-picker.mode-buttons .em-booking-timeslot:not(.selected) {
	opacity: 0.75;
}

.entry-content .em.em-item.em-item-single.em-event .em-calendar {
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: 0;
	overflow: visible;
	background-color: var(--bb-content-background-color, #fff);
}

.entry-content .em.em-item.em-item-single.em-event .em-calendar .em-cal-head {
	border-radius: 0;
}

.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form .button,
.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form .button-secondary,
.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form .em-button.em-booking-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.55rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: normal !important;
	text-transform: none !important;
	border-radius: var(--bb-button-radius, 100px);
}

.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form .em-button.em-booking-submit,
.entry-content .em.em-item.em-item-single.em-event .em-event-booking-form .button-primary {
	color: var(--bb-body-background-color, #fff);
	background-color: var(--bb-primary-color, #385dff);
	border: 1px solid var(--bb-primary-color, #385dff);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-message {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: var(--bb-block-radius, 4px);
}

.entry-content .em.em-item.em-item-single.em-event .em-booking-form input[type="text"],
.entry-content .em.em-item.em-item-single.em-event .em-booking-form input[type="email"],
.entry-content .em.em-item.em-item-single.em-event .em-booking-form input[type="number"],
.entry-content .em.em-item.em-item-single.em-event .em-booking-form input[type="tel"],
.entry-content .em.em-item.em-item-single.em-event .em-booking-form select,
.entry-content .em.em-item.em-item-single.em-event .em-booking-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.55rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	box-sizing: border-box;
}

.single-event .widget .em-list-widget .em-item,
.single-event .widget .em.em-list-widget .em-item {
	margin-bottom: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	background-color: var(--bb-content-background-color, #fff);
}

.single-event .widget .em-list-widget .em-item:last-child,
.single-event .widget .em.em-list-widget .em-item:last-child {
	margin-bottom: 0;
}

.single-event .widget .em-list-widget .em-item .em-item-name,
.single-event .widget .em.em-list-widget .em-item .em-item-name {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.single-event .widget .em-list-widget .em-item .em-item-name a,
.single-event .widget .em.em-list-widget .em-item .em-item-name a {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
}

.single-event .widget .em-list-widget .em-item .em-item-meta-line,
.single-event .widget .em.em-list-widget .em-item .em-item-meta-line {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
}

@media screen and (max-width: 782px) {
	.entry-content .em.em-item.em-item-single.em-event .em-item-header {
		flex-direction: column;
	}

	.entry-content .em.em-item.em-item-single.em-event .em-item-header .em-item-image {
		order: -1;
		flex: 1 1 auto;
		width: 100%;
	}

	.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar.size-small,
	.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar.size-medium,
	.entry-content .em.em-item.em-item-single.em-event .em-booking-recurrence-picker.mode-calendar.size-large {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 782px) {
	body.attending #item-body .table-wrap {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Events Manager > Category single page */
.entry-content .em-view-container[data-view="category"] {
	margin-top: 0;
}

.entry-content .em.em-item.em-item-single.em-category {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent !important;
	box-sizing: border-box;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent !important;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	min-height: 0 !important;
	background: none !important;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header .em-item-image {
	flex: 0 1 220px;
	max-width: 100%;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header .em-item-image img {
	display: block;
	width: 100%;
	height: auto;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--bb-block-radius, 4px);
	object-fit: cover;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header .em-item-meta {
	flex: 1 1 280px;
	min-width: 0;
}

.entry-content .em.em-item.em-item-single.em-category .em-taxonomy-description {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--bb-body-text-color, #4d5c6d);
}

.entry-content .em.em-item.em-item-single.em-category > section {
	margin: 0 !important;
}

.entry-content .em.em-item.em-item-single.em-category > .em-category-upcoming {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent !important;
}

.entry-content .em.em-item.em-item-single.em-category .em-item-header:not(:empty) + .em-category-upcoming {
	padding-top: 1.5rem;
	border-top: 1px solid var(--bb-content-border-color, #e7e9ec);
}

.entry-content .em.em-item.em-item-single.em-category .em-category-upcoming-title {
	margin: 0 0 1rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--bb-headings-color, #122b46) !important;
}

/* 空メッセージ（グリッド以外の直下テキスト） */
.entry-content .em.em-item.em-item-single.em-category .em-category-upcoming > :not(h3):not(a):not(.post-grid):not(.em-pagination) {
	margin: 0;
	padding: 1rem 1.15rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

/*
 * カテゴリページ内のカードは .em.pixelbones 配下になるため、
 * EM の見出し・p 余白が [bb_events_posts] と同じ見た目を潰す。上書きして揃える。
 */
/* 上下のみリセット。左右の -10px は .bb-grid の gutter 相殺に必要なので残す */
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode > article {
	background-color: transparent;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode h2.entry-title {
	margin: 0 !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	line-height: 1.47 !important;
	letter-spacing: -0.24px !important;
	color: var(--bb-headings-color, #122b46) !important;
	word-break: break-word;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title a,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title a:hover,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title a:focus {
	color: inherit !important;
	font-weight: inherit !important;
	background-color: transparent !important;
	box-shadow: none !important;
	text-decoration: none;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title a:hover,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-title a:focus {
	color: var(--bb-primary-color, #385dff) !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-header {
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.5rem;
	margin-bottom: 0;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-content-wrap {
	padding: 20px 30px 25px;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-meta-list {
	margin: 0;
	padding: 0;
}

/* EM: .em.pixelbones p { margin-bottom: 25px !important } を打ち消す */
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode p,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-meta-line {
	margin: 0 0 0.35rem !important;
	padding: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode p:last-child,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-meta-line:last-child {
	margin-bottom: 0 !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-meta-value a,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .post-author,
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .avatar-wrap a {
	color: inherit !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .entry-meta {
	margin-top: 0.75rem !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode img {
	margin: 0 !important;
	padding: 0 !important;
	border-style: none !important;
}

/* EM: .em.pixelbones a { background-color: transparent !important } で色が消えるのを防ぐ */
.entry-content .em.pixelbones.em-category .bb-events-posts-shortcode .bb-event-no-image {
	display: block !important;
	min-height: 100% !important;
	background-color: var(--default-border, var(--bb-primary-color, #385dff)) !important;
	background-image: none !important;
}

.entry-content .em.em-item.em-item-single.em-category .em-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.25rem;
}

/* BuddyBoss グループ > イベントタブ */
body.groups.events #buddypress #item-body {
	padding: 0;
	background-color: var(--bb-content-background-color, #fff);
	border: 1px solid var(--bb-content-border-color, #e7e9ec);
	border-radius: var(--bb-block-radius, 4px);
	box-sizing: border-box;
}

body.groups.events #buddypress #item-body .tablenav {
	margin: 0 0 1rem;
}

body.groups.events #buddypress #item-body .tablenav:empty {
	display: none;
}

body.groups.events #buddypress #item-body table.events-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background-color: var(--bb-content-background-color, #fff);
}

body.groups.events #buddypress #item-body table.events-table thead th {
	padding: 0.75rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-align: left;
	color: var(--bb-headings-color, #122b46);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
}

body.groups.events #buddypress #item-body table.events-table thead th:first-child,
body.groups.events #buddypress #item-body table.events-table tbody td:first-child {
	padding-left: 1.25rem;
}

body.groups.events #buddypress #item-body table.events-table tbody td {
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-body-text-color, #4d5c6d);
	vertical-align: top;
	border-bottom: 1px solid var(--bb-content-border-color, #e7e9ec);
	background-color: var(--bb-content-background-color, #fff);
}

body.groups.events #buddypress #item-body table.events-table tbody tr:last-child td {
	border-bottom: 0;
}

body.groups.events #buddypress #item-body table.events-table tbody tr.alternate td {
	background-color: rgba(0, 0, 0, 0.015);
}

body.groups.events #buddypress #item-body table.events-table tbody tr.past td {
	background-color: rgba(0, 0, 0, 0.03);
	color: var(--bb-alternate-text-color, #939597);
}

body.groups.events #buddypress #item-body table.events-table tbody tr.pending td {
	background-color: #fff8e6;
}

body.groups.events #buddypress #item-body table.events-table tbody td strong a {
	color: var(--bb-headings-color, #122b46);
	text-decoration: none;
	font-weight: 600;
}

body.groups.events #buddypress #item-body table.events-table tbody td strong a:hover,
body.groups.events #buddypress #item-body table.events-table tbody td strong a:focus {
	color: var(--bb-primary-color, #385dff);
}

body.groups.events #buddypress #item-body table.events-table .row-actions {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
}

body.groups.events #buddypress #item-body table.events-table .row-actions:empty {
	display: none;
}

body.groups.events #buddypress #item-body table.events-table .row-actions a {
	color: var(--bb-alternate-text-color, #939597);
	text-decoration: none;
}

body.groups.events #buddypress #item-body table.events-table .row-actions a:hover,
body.groups.events #buddypress #item-body table.events-table .row-actions a:focus {
	color: var(--bb-primary-color, #385dff);
	text-decoration: underline;
}

body.groups.events #buddypress #item-body table.events-table .bb-group-event-datetime {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

body.groups.events #buddypress #item-body table.events-table .bb-group-event-location.is-empty {
	color: var(--bb-alternate-text-color, #939597);
}

body.groups.events #buddypress #item-body > p {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--bb-alternate-text-color, #939597);
	background-color: var(--bb-content-alternate-background-color, #f2f4f5);
	border-radius: var(--bb-block-radius, 4px);
}

@media screen and (max-width: 782px) {
	body.groups.events #buddypress #item-body {
		padding: 0;
	}

	body.groups.events #buddypress #item-body table.events-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
