:root {
	--wp--preset--color--unitone-pale-gray:   #f9fafb;
	--wp--preset--color--unitone-bright-gray: #f3f4f6;
	--wp--preset--color--unitone-light-gray:  #e5e7eb;
	--wp--preset--color--unitone-gray:        #9ca3af;
	--wp--preset--color--unitone-dark-gray:   #374151;
	--wp--preset--color--unitone-heavy-gray:  #030712;
	--wp--preset--color--unitone-accent:      #090a0b;
}

.bbp-replies-list,
.bbp-replies-list ul,
.bbp-replies-list li {
	list-style: none;
}
.bbp-replies-list {
	margin: 0;
	padding-left: 0;
}
.bbp-replies-list ul {
	padding-left: 1.5rem;
}

body.bbpress {
	background-color: var(--wp--preset--color--iisa-paper, #F8F6F0);
}
body.bbpress input[type="text"],
body.bbpress input[type="email"],
body.bbpress input[type="password"],
body.bbpress input[type="search"],
body.bbpress input[type="url"],
body.bbpress textarea {
	background-color: #fff;
	border: 1px solid var(--wp--preset--color--unitone-light-gray, #d1d5db);
}
body.bbpress input[type="text"]:focus,
body.bbpress input[type="email"]:focus,
body.bbpress input[type="password"]:focus,
body.bbpress input[type="search"]:focus,
body.bbpress input[type="url"]:focus,
body.bbpress textarea:focus {
	outline: 2px solid var(--wp--preset--color--iisa-primary, #1B3D6E);
	outline-offset: 1px;
}

body.bbpress #bbp_topic_title,
body.bbpress #bbp_forum_title,
body.bbpress #bbp_reply_title {
	width: 100%;
	box-sizing: border-box;
}

:root {
	--iisa-w-header: 1044px;
}

a:where(:link, :visited) {
	text-decoration: none;
}
a.is-external {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
a.is-external::after {
	content: " \2197";
	font-size: 0.85em;
	opacity: 0.7;
}
.wp-block-button .wp-block-button__link.is-external {
	text-decoration: none;
}
.wp-block-button .wp-block-button__link.is-external::after {
	content: none;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

.wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: .5rem; }
.wp-block-tag-cloud a {
	display: inline-block;
	padding: .35rem .75rem;
	border: 1px solid var(--wp--preset--color--iisa-primary, #1B3D6E);
	border-radius: 999px;
	color: var(--wp--preset--color--iisa-primary, #1B3D6E);
	text-decoration: none;
	font-size: .875rem;
	line-height: 1.2;
	transition: background-color .15s ease, color .15s ease;
}
.wp-block-tag-cloud a:hover,
.wp-block-tag-cloud a:focus {
	background-color: var(--wp--preset--color--iisa-primary, #1B3D6E);
	color: var(--wp--preset--color--iisa-paper, #F8F6F0);
}
.wp-block-tag-cloud .tag-link-count {
	margin-left: .25rem;
	color: var(--wp--preset--color--unitone-gray, #9ca3af);
	font-size: .75em;
}

.tber-status-upcoming .iisa-status-badge::before,
.tber-status-active .iisa-status-badge::before,
.tber-status-closed .iisa-status-badge::before,
.tber-status-ended .iisa-status-badge::before {
	content: "";
	display: inline-block;
	margin-right: 0.6rem;
	padding: 0.2em 0.8em;
	font-size: 0.9em;
	font-weight: 700;
	border-radius: 999px;
	letter-spacing: 0.08em;
	vertical-align: middle;
	line-height: 1.4;
}
.tber-status-upcoming .iisa-status-badge::before {
	content: "開催予定";
	background-color: var(--wp--preset--color--iisa-sub);
	color: var(--wp--preset--color--iisa-paper);
}
.tber-status-active .iisa-status-badge::before {
	content: "開催中";
	background-color: var(--wp--preset--color--iisa-accent);
	color: var(--wp--preset--color--iisa-paper);
}
.tber-status-closed .iisa-status-badge::before {
	content: "申込終了";
	background-color: #c2410c;
	color: #fff;
}
.single-iisa_event.tber-status-closed .iisa-status-badge::before {
	content: "受付終了";
}
.tber-status-ended .iisa-status-badge::before {
	content: "終了しました";
	background-color: var(--wp--preset--color--unitone-gray);
	color: var(--wp--preset--color--iisa-paper);
}

.tber-status-closed .wp-block-buttons .wp-block-button:not(.iisa-always-active) .wp-block-button__link,
.tber-status-ended .wp-block-buttons .wp-block-button:not(.iisa-always-active) .wp-block-button__link,
.tber-deadline-passed .wp-block-buttons .wp-block-button:not(.iisa-always-active) .wp-block-button__link {
	opacity: 0.45;
	pointer-events: none;
	cursor: default;
	text-decoration: line-through;
	text-decoration-color: rgba(255, 255, 255, 0.5);
}

.wp-block-post-terms a { text-decoration: none; }
.wp-block-post-terms a + a::before { content: " / "; opacity: .5; margin: 0 .15rem; }

.wp-block-button.is-style-text .wp-block-button__link[href=""],
.wp-block-button.is-style-text .wp-block-button__link:not([href]) {
	pointer-events: none;
	text-decoration: none;
	cursor: default;
}
.wp-block-button.is-style-text .wp-block-button__link[target="_blank"]:not([href=""])::after {
	content: " ↗";
	font-size: 0.85em;
	opacity: 0.7;
}

.tber-form {
	--tber-accent: var(--wp--preset--color--iisa-primary);
	--tber-muted: var(--wp--preset--color--unitone-gray);
	--tber-line: var(--wp--preset--color--unitone-light-gray);
}
.tber-banner {
	--tber-banner-bg: var(--wp--preset--color--iisa-primary);
	--tber-banner-fg: var(--wp--preset--color--iisa-paper);
	--tber-banner-card: var(--wp--preset--color--iisa-paper);
	--tber-banner-accent: var(--wp--preset--color--iisa-accent);
	--tber-banner-muted: var(--wp--preset--color--unitone-gray);
	--tber-banner-line: var(--wp--preset--color--unitone-light-gray, #e5e7eb);
}

.wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open {
	background-color: var(--wp--preset--color--iisa-paper) !important;
	color: var(--wp--preset--color--iisa-primary);
}
.wp-block-navigation__responsive-container.disable-default-overlay .wp-block-navigation__overlay-container {
	padding:
		calc(2rem + 24px)
		clamp(1rem, var(--wp--style--root--padding-right, 0px), 20rem)
		clamp(1rem, var(--wp--style--root--padding-bottom, 0px), 20rem)
		clamp(1rem, var(--wp--style--root--padding-left, 0px), 20rem);
}

.iisa-spmenu {
	--iisa-spmenu--line: color-mix(in srgb, var(--wp--preset--color--iisa-primary) 20%, transparent);
	border-top: 1px solid var(--iisa-spmenu--line);
}
.iisa-spmenu p {
	margin: 0;
}
.iisa-spmenu > .iisa-spmenu-link,
.iisa-spmenu > .unitone-accordion {
	border-bottom: 1px solid var(--iisa-spmenu--line);
}
.iisa-spmenu > .iisa-spmenu-link,
.iisa-spmenu > .unitone-accordion .unitone-accordion__summary {
	padding-block: 0.9rem;
}
.iisa-spmenu > .unitone-accordion .unitone-accordion__detail p {
	padding-block: 0.4rem;
	padding-inline-start: 1em;
	font-size: var(--wp--preset--font-size--unitone-s);
}
.iisa-spmenu > .unitone-accordion .unitone-accordion__detail p:last-child {
	padding-bottom: 0.9rem;
}

.unitone-swiper:has(> .iisa-telop-controls) {
	--unitone--gap: var(--unitone--s-2);
}
@media (min-width: 782px) {
	.unitone-swiper:has(> .iisa-telop-controls) {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: var(--unitone--s1);
	}
}

@media (max-width: 781px) {
	.iisa-post-row {
		flex-wrap: wrap;
	}
	.iisa-post-row > .wp-block-post-title {
		flex-basis: 100%;
	}
}

:root :where(.wp-block-post-terms.is-style-badge, .wp-block-post-terms.is-style-outline).has-background {
	background-color: transparent !important;
}
