/*
Theme Name: Primo Parent Theme
Theme URI: https://primoart.jp/
Author: Primoart
Description: Block theme for primoart.jp, based on Twenty Twenty-Five. Event types, fields and event blocks live in the primo-parent-displayer plugin.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 8.0
Version: 1.1.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: primo-parent-theme

--- Changelog ---

1.1.9 (2026-11-04)
- Fix: タブレットなど指で触る広い画面で、上のメニューの親（工房案内・公演案内 など）を押すと、サブメニューが開く前にそのページへ移っていた（core は指で触れたときマウスを乗せた扱いにしない）。1 回目でサブメニューを開き、2 回目で移る。マウスとキーボードは今までどおり。

1.1.8 (2026-11-04)
- Feat: 固定ページの本文の頭の写真（段 5 のスクリプトが ph_* から入れるカバー primo-page-cover）の字を、写真の上に白く出す（一言は明朝、説明は小さく）。
- Feat: avant の本文の見出しの飾り style3a（上下の線）・style4a（左の線）を、主の色の細い線で描く。トップの告知（段 5 で固定ページへ写す）が使う。

1.1.7 (2026-11-04)
- Feat: スマホで開いたメニューの子の段を折りたたむ。はじめは閉じ、親の横の印で開け閉めする（core の開閉ボタンを開いたメニューでも出す。core は開いたメニューで子の段を常に開いた扱いにするので、開け閉めは functions.php の小さなスクリプトで持つ）。親の名前を押すと、今までどおりそのページへ行く。

1.1.6 (2026-11-03)
- Fix: スマホで開いたメニューを左寄せにした（ヘッダのメニューが右寄せなので、core が開いた中身も右に寄せていて読みにくかった）。
- Fix: スマホで開いたメニューの子の段の行間を詰めた（47px おきから 38px おきほど。指で押す幅は残す）。

1.1.5 (2026-11-03)
- Feat: 公演のタグの前に小さな印を付けた（配信ありにカメラ、プリモコンサートに音符、プリモ落語会に扇子、その他主催に星）。カード・スライダー・公演のページの頭で同じ。絵は style.css の中の SVG で、色は字と同じ。

1.1.4 (2026-11-03)
- Feat: 公演の一覧のカード（/event/・タグ・過去の公演のテンプレート）のタグから、主催公演と一般公演を除く（primo-parent-displayer 1.29.0 の list_hidden_tags と同じ）。公演のページの頭には残す。

1.1.3 (2026-11-03)
- Fix: トップのスライダーの題名を一回り小さくした（広い画面は large、1023px 以下は本文と同じ medium。月日も少し小さく）。タブレットとスマホで写真が字で埋まっていた。

1.1.2 (2026-11-03)
- Feat: トップのスライダーの日付と題名を、写真の下の方の暗いぼかしに重ねる白い字にした（primo-parent-displayer 1.28.1 の avant と同じ形の写真に合わせて）。題名は大きめ。

1.1.1 (2026-11-03)
- Fix: フッタのロゴが白い四角になっていた（本番のロゴは透明でない白地の PNG）。白く抜くのをやめ、色を反転して地の黒を消す（invert と mix-blend-mode: screen）。ヘッダのロゴも白地が青みの白の地に浮かないよう multiply で重ねる。

1.1.0 (2026-11-03)
- Feat: 見た目を「演奏会の紙のプログラム」の方向に作り込んだ（下調べの「見た目の方向」）。見出しは Shippori Mincho、本文は Noto Sans JP のまま。地は青みの白、h1 と節の見出しは主の色、フッタは主の色の地に白い字（ロゴは白く抜く）。公演のカードは枠と影を外し、上の細い線・「2026年 4月14日 (火) 14:00開演」の月日を明朝で大きく（primo-parent-displayer 1.27.0 の日付の形）・淡い副の色のタグ。月の切り替えとページ送りを同じ札にそろえた。節の間を広げた。日本語の組版（line-break: strict、見出しに palt と auto-phrase）。並び・件数・URL は変えていない。
- Feat: トップの NEWS は半年より新しいお知らせだけを出し、無ければ節ごと出さない（2 年前のお知らせが出続けていた。/news/ には全部残る。フィルタ primo_parent_theme_front_news_months）。
- Fix: primo-site-utils の共通 CSS が公演のカードに付ける白い箱（角丸・影・余白）を打ち消した。
- Fix: 本文の見出し（.primo-section-title など）の上の余白が 0 になっていた。h2・h3 は 2.4em、h4 は 1.8em 空ける（最初の見出しは除く）。
- Fix: 拡大表示のリンクに囲まれた写真が本文の幅からはみ出し、ページが横に流れていた。
- Fix: ヘッダのサブメニュー（紺の地）でマウスを乗せると字が紺になって見えなくなっていた。白い字のまま地を少し明るくする。
- Fix: メニューと一覧の題名で、マウスを乗せたときに下線を付けない（字の色か地の明るさが変わるので足りる。TT5 から写した設定）。
- Fix: 本文のリンクの下線を薄く（字の色の 40%）、字から 0.25em 離した。マウスを乗せると下線が消えていたのを、濃くするように替えた。
- Refactor: サブメニューの色を !important の CSS から、ナビゲーションのブロックの「サブメニューとオーバーレイ」の色（主の色・背景）へ移した。スマホのメニューも紺の地に白い字になる。
- Feat: avant の本文の飾りのうち、灰色のボタン（q_button）と灰色の見出し（style5a）を、テーマの主の色と淡い地で塗り直した（クラスはそのまま）。
- Fix: 公演案内 > 主催公演の 3 段目のメニューを、「>」の向きのとおり右に出す（1024px 以上。core は右寄せのメニューで左に出す）。

1.0.1 (2026-11-03)
- Fix: avant とページの組み立てをそろえた（段 4 の見比べ）。お知らせの一覧と検索の結果に小さなアイキャッチ、お知らせの記事の下に前後の記事と最近のお知らせ 10 件。

1.0.0 (2026-11-03)
- Feat: TT5 1.5 を写した独立のテーマ。theme.json（主 #004b7a・副 #9fd1f2・Noto Sans JP）、ヘッダとフッタ（メニューは外観のクラシックのメニューを差し込む）、テンプレート 12 枚、本文の飾り（avant の design-plus.css とカスタム CSS から使っている分だけ）。
-------------------
*/

/* ===== TT5 から写した土台 ===== */

/* 本文のリンクの下線は残し、薄く字から離す。マウスを乗せたら濃くする（メニューと題名は theme.json で下線なし） */
a {
	text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
	text-decoration-thickness: 1px !important;
	text-underline-offset: .25em;
	transition: text-decoration-color .2s;
}

a:hover {
	text-decoration-color: currentColor;
}

:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

.more-link {
	display: block;
}

/* ===== 日本語の組版 ===== */

body {
	line-break: strict;
	overflow-wrap: anywhere;
}

/* 見出しは約物を詰め、文節で折る（auto-phrase が効かないブラウザでは普通に折れる） */
h1, h2, h3,
.wp-block-post-title,
.primo-card-title,
.primo-event-card__title,
.primo-event-slider__title {
	font-feature-settings: "palt";
	word-break: auto-phrase;
}

/* 動きを減らす設定では、マウスを乗せたときの変化も止める */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
	}
}

:where(pre) {
	overflow-x: auto;
}

/* ===== ヘッダとフッタ ===== */

.primo-site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.primo-site-header .wp-block-site-logo img {
	height: auto;
	mix-blend-mode: multiply;
	max-height: 56px;
	width: auto;
}

.primo-site-header .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

/* サブメニューの地と字の色は、ヘッダのナビゲーションのブロックの「サブメニューとオーバーレイ」の色（主の色・背景）で持つ。ここは枠と幅だけ */
.primo-site-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	border: 0;
	min-width: 14em;
}

.primo-site-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .6em 1em;
}

/* 白地に並ぶ上のメニューだけ、マウスで紺の字（スマホで開いたオーバーレイは紺の地なので除く） */
.primo-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
}

/* スマホで開いたメニューは左寄せで読む。core は右寄せのメニューを開くと中身も右に寄せる（中のリストにも右寄せのクラスが付く） */
.primo-site-header .wp-block-navigation__responsive-container.is-menu-open,
.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .items-justified-right {
	--navigation-layout-justification-setting: flex-start;
	text-align: left;
}

/* スマホで開いたメニューの子の段は詰める。指で押す幅として 1 行 38px ほどは残す（広い画面のサブメニューの余白はそのまま） */
.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding-top: .6em;
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .3em 1em;
}

/* スマホで開いたメニューの子の段は、親の横の印で開け閉めする（はじめは閉じる）。
   印のボタンは core のもの。core は開いたメニューではボタンを隠して子の段を全部出し、aria-expanded も常に true にするので、
   開け閉めは functions.php の小さなスクリプトが親に付ける is-primo-open で見る */
.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

/* 中の段（主催公演）の名前は core が幅いっぱいに伸ばすので、印が名前のすぐ横に来るよう中身の幅にする */
.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content {
	flex: 0 1 auto;
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: -.6rem 0 -.6rem .2rem;
	padding: 0;
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-icon svg {
	width: .8rem;
	height: .8rem;
	transition: transform .2s ease;
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child.is-primo-open > .wp-block-navigation__submenu-icon svg {
	transform: rotate(180deg);
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-container {
	display: none;
	flex-basis: 100%;
}

.primo-site-header .wp-block-navigation__responsive-container.is-menu-open .has-child.is-primo-open > .wp-block-navigation__submenu-container {
	display: flex;
}

/* 3 段目（公演案内 > 主催公演）は「>」の向きのとおり右に出す。core はメニューを右寄せにすると左に出す。
   メニューが 1 行に収まる 1024px 以上だけ（公演案内からサブメニュー 2 枚ぶん 392px。900px 以下はメニューが 2 行に折れて、右に出すとはみ出す） */
@media (min-width: 1024px) {
	.primo-site-header .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left: 100%;
		right: auto;
	}
}

/* サブメニューは紺の地なので、白い字のまま地を少し明るくする */
.primo-site-header .wp-block-navigation__submenu-container a:hover {
	background: rgba(255, 255, 255, .14);
	color: var(--wp--preset--color--base);
}

/* フッタは主の色の地。ロゴは白地の PNG なので、反転して黒くなった地を screen で消す（brightness(0) だと地まで白い四角になる） */
.primo-site-footer a {
	color: inherit;
}

.primo-site-footer .wp-block-site-logo img {
	filter: invert(1);
	height: auto;
	mix-blend-mode: screen;
	max-width: 220px;
}

.primo-site-footer .wp-block-site-tagline {
	opacity: .8;
}

.primo-site-footer .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
}

.primo-copyright {
	border-top: 1px solid rgba(255, 255, 255, .2);
	opacity: .8;
}

/* ===== 一覧・ページの頭 ===== */

.primo-page-head {
	border-bottom: 1px solid var(--wp--preset--color--primary);
}

.primo-page-head__title {
	color: var(--wp--preset--color--primary);
	letter-spacing: .08em;
}

.primo-page-head__sub {
	color: var(--wp--preset--color--muted);
}

/* 節の見出し（NEWS／お知らせ など）。英字は明朝で大きく、和文の添えは小さく右に */
.primo-section-head {
	align-items: baseline;
	border-bottom: 1px solid var(--wp--preset--color--primary);
	column-gap: 1em !important;
}

.primo-section-head h2 {
	color: var(--wp--preset--color--primary);
	letter-spacing: .1em;
	line-height: 1.2;
}

.primo-section-head p {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .1em;
}

/* 公演案内・タグの一覧の頭の写真 */
.primo-archive-cover p,
.primo-archive-cover h1 {
	font-family: var(--wp--preset--font-family--shippori-mincho);
}

.primo-archive-cover h1 {
	letter-spacing: .2em;
}

.primo-more-link a {
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .1em;
	padding: .7em 3em;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

.primo-more-link a:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.primo-news-list .wp-block-post {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: .8em;
}

.primo-news-list .wp-block-post-date {
	font-variant-numeric: tabular-nums;
	min-width: 7em;
}

/* お知らせの行は日付と並べて読むのでゴシック（明朝は 600 しか読まない） */
.primo-news-list .wp-block-post-title {
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	letter-spacing: 0;
}

.primo-news-list .wp-block-post-title a {
	color: inherit;
}

.primo-news-list .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}

/* お知らせの一覧と検索の結果の小さなアイキャッチ（avant と同じく正方形） */
.primo-news-thumb {
	background: var(--wp--preset--color--subtle);
	flex-shrink: 0;
	margin: 0;
	overflow: hidden;
	width: 6rem;
}

.primo-post-nav {
	border-block: 1px solid var(--wp--preset--color--line);
	padding-block: .9em;
}

.primo-post-nav .post-navigation-link-next {
	text-align: right;
}

/* ===== 公演のカード（紙のプログラムの一項） ===== */

/* 公演のカードは広い画面で 3 列（9 件ずつが 3 段で割り切れる。avant と同じ） */
.primo-event-list {
	gap: 2.5rem 1.75rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
}

.primo-event-query .wp-block-post-template {
	gap: 2.5rem 1.75rem;
}

/* カードの上に細い線（枠と影は付けない。primo-site-utils の共通 CSS が同じクラスに付ける箱を打ち消す） */
article.primo-event-card,
.primo-event-query .wp-block-post {
	background: none;
	border-radius: 0;
	border-top: 1px solid var(--wp--preset--color--primary);
	box-shadow: none;
	margin: 0;
	overflow: visible;
	padding: .9rem 0 0;
}

.primo-event-query .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.primo-event-card__img,
.primo-event-query .wp-block-post-featured-image {
	background: var(--wp--preset--color--subtle);
	margin: 0;
}

.primo-event-card__img img,
.primo-event-query .wp-block-post-featured-image img {
	transition: filter .2s;
}

.primo-event-card__link:hover img,
.primo-event-query .wp-block-post-featured-image a:hover img {
	filter: brightness(.88);
}

/* 公演日「2026年 4月14日 (火) 14:00開演」: 月日だけ明朝で大きく主の色、年・曜日・開演は小さく薄く */
.primo-event-card__date,
.primo-event-slider__date,
.primo-event-date {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: lining-nums;
	letter-spacing: .04em;
	line-height: 1.4;
	margin-top: .7rem;
}

.primo-event-card__date-day,
.primo-event-slider__date-day,
.primo-event-date-day {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 1.6em;
	font-weight: 600;
	letter-spacing: .02em;
	margin: 0 .1em 0 .3em;
}

/* 開演は狭いカードでは次の行へ回す（「14:00開演」の途中では折らない） */
.primo-event-card__date-time,
.primo-event-slider__date-time,
.primo-event-date-time {
	display: inline-block;
	margin-left: .5em;
}

/* event_detail の文（「10月24日（土）・25日（日）」など）は日付の形でないので、主の色の字だけにする */
.primo-event-card__date--text,
.primo-event-slider__date--text,
.primo-event-date--text {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.6;
}

.primo-event-tags,
.primo-card-terms {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin-top: .5rem;
}

.primo-event-tag,
.primo-card-terms a {
	background: var(--wp--preset--color--secondary-pale);
	border: 0;
	color: var(--wp--preset--color--primary);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .04em;
	padding: .15em .7em;
	text-decoration: none;
}

.primo-event-tag:hover,
.primo-card-terms a:hover {
	background: var(--wp--preset--color--secondary);
}

.primo-card-title,
.primo-event-card__title {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.55;
	margin-top: .45rem;
}

.primo-card-title a,
.primo-event-card__title a {
	color: inherit;
	text-decoration: none;
}

.primo-card-title a:hover,
.primo-event-card__title a:hover {
	color: var(--wp--preset--color--primary);
}

/* 月の切り替えとページ送りは同じ形の小さな札。今の月・ページは主の色で塗る */
.primo-event-months a,
.primo-event-pager li > .page-numbers,
.wp-block-query-pagination-numbers .page-numbers {
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary);
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: tabular-nums;
	min-width: 2.6em;
	padding: .35em .9em;
	text-align: center;
	text-decoration: none;
}

.wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.primo-event-months a:hover,
.primo-event-pager a.page-numbers:hover,
.wp-block-query-pagination-numbers a.page-numbers:hover {
	border-color: var(--wp--preset--color--primary);
}

.primo-event-months a[aria-current="page"],
.primo-event-pager li > .current,
.wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-weight: 400;
	text-decoration: none;
}

/* 「…」は札にしない */
.primo-event-pager li > .dots,
.wp-block-query-pagination-numbers .dots {
	border-color: transparent;
	min-width: 0;
	padding-inline: .2em;
}

.primo-event-query .wp-block-query-pagination,
.primo-event-pager {
	margin-top: var(--wp--preset--spacing--50);
}

/* トップのスライダーの字。写真の下の暗いぼかしに重なるので白い字 */
.primo-event-slider__body,
.primo-event-slider__date,
.primo-event-slider__date-day,
.primo-event-slider__date--text {
	color: var(--wp--preset--color--base);
}

.primo-event-slider__body {
	text-shadow: 0 1px 6px rgba(0, 0, 0, .45);
}

.primo-event-slider__body .primo-event-tag {
	text-shadow: none;
}

/* 題名は広い画面で一回り大きく、タブレットとスマホは本文と同じ。写真を字で埋めない */
.primo-event-slider__title {
	font-size: var(--wp--preset--font-size--large);
}

@media (max-width: 1023px) {
	.primo-event-slider__title {
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.5;
	}

	.primo-event-slider__date-day {
		font-size: 1.3em;
	}
}

.primo-event-slider__meta {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: .2rem 1rem;
}

.primo-event-slider__title {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-weight: 600;
	letter-spacing: .04em;
}

/* タグの印（文字の前に小さな絵。色は字と同じ）。カード・スライダー・公演のページの頭で同じ。
   タグはリンク先（/event_tag/スラッグ/）で見分ける。印は飾りなので、読み上げは文字のまま */
:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/"]::before {
	background: currentColor;
	content: none;
	display: inline-block;
	height: 1.15em;
	margin-right: .3em;
	-webkit-mask: var(--primo-tag-icon) center / contain no-repeat;
	mask: var(--primo-tag-icon) center / contain no-repeat;
	vertical-align: -.2em;
	width: 1.15em;
}

/* 配信あり：カメラ */
:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/streaming/"] {
	--primo-tag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 6.5h11a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 2 16V8a1.5 1.5 0 0 1 1.5-1.5zM17 10.2l5-3v9.6l-5-3z'/%3E%3C/svg%3E");
}

:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/streaming/"]::before {
	content: "";
}

/* プリモコンサート：音符 */
:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/primoconcert/"] {
	--primo-tag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6.5' cy='18' r='3'/%3E%3Ccircle cx='17.5' cy='16' r='3'/%3E%3Cpath d='M8 18V6.2L20.5 3.5V16h-2V6.4L10 8.2V18z'/%3E%3C/svg%3E");
}

:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/primoconcert/"]::before {
	content: "";
}

/* プリモ落語会：扇子 */
:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/primorakugo/"] {
	--primo-tag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.6 18.1L1.2 15.1A11.5 11.5 0 0 1 4.0 10.7L10.2 17.1zM10.3 17.1L4.4 10.4A11.5 11.5 0 0 1 8.9 7.9L11.3 16.5zM11.4 16.5L9.4 7.8A11.5 11.5 0 0 1 14.6 7.8L12.6 16.5zM12.7 16.5L15.1 7.9A11.5 11.5 0 0 1 19.6 10.4L13.7 17.1zM13.8 17.1L20.0 10.7A11.5 11.5 0 0 1 22.8 15.1L14.4 18.1z'/%3E%3Ccircle cx='12' cy='19' r='2'/%3E%3C/svg%3E");
}

:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/primorakugo/"]::before {
	content: "";
}

/* その他主催：星 */
:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/others/"] {
	--primo-tag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5-4.8-4.6 6.6-.9z'/%3E%3C/svg%3E");
}

:is(.primo-event-tag, .wp-block-post-terms a)[href*="/event_tag/others/"]::before {
	content: "";
}

/* 同じタグの今後の公演が無い（タグの無い公演）ときは見出しごと出さない */
.primo-related:not(:has(.primo-event-list)) {
	display: none;
}

/* 公演の個別ページの頭 */
.primo-event-head .primo-event-date {
	margin: 0;
}

.primo-event-head .primo-event-date {
	font-size: var(--wp--preset--font-size--medium);
}

.primo-event-head .primo-event-date-day {
	font-size: 1.7em;
}

.primo-event-head .wp-block-post-terms a {
	background: var(--wp--preset--color--secondary-pale);
	color: var(--wp--preset--color--primary);
	display: inline-block;
	font-weight: 400;
	padding: .15em .8em;
	text-decoration: none;
}

.primo-event-head .wp-block-post-title {
	border-bottom: 1px solid var(--wp--preset--color--primary);
	padding-bottom: .5em;
}

/* ===== 本文の飾り（avant の design-plus.css から、使っている分だけ） ===== */

.wp-block-post-content .red,
.wp-block-post-content span.red {
	color: red;
}

.wp-block-post-content .b {
	font-weight: 700;
}

/* 2 段組（post_row / post_col-2 / post_col-3） */
.post_row {
	display: flex;
	flex-wrap: wrap;
	line-height: 2;
	margin-inline: -15px;
}

.post_col,
.post_col-2,
.post_col-3 {
	box-sizing: border-box;
	margin-bottom: 2em;
	min-height: 1px;
	padding-inline: 15px;
	position: relative;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.post_col-2 {
		width: 50%;
	}

	.post_col-3 {
		width: 33.33333%;
	}
}

.post_col img,
.post_col-2 img,
.post_col-3 img {
	height: auto;
	max-width: 100%;
}

/* 見出し（style3a・style4a。トップの告知などが使う）。クラスは avant のまま、線は主の色の細い線 */
.style3a {
	border-bottom: 1px solid var(--wp--preset--color--primary);
	border-top: 1px solid var(--wp--preset--color--primary);
	margin: 2.4em 0 1.2em;
	padding: .9em .2em .8em;
}

.style4a {
	border-left: 2px solid var(--wp--preset--color--primary);
	margin: 2em 0 1em;
	padding: .2em 0 .2em .8em;
}

/* 固定ページの本文の頭の写真（段 5 で ph_* から入れたカバー）。字は写真の上に白く、明朝の一言と小さな説明 */
.primo-page-cover {
	margin-bottom: var(--wp--preset--spacing--50);
}

.primo-page-cover .primo-page-cover__title,
.primo-page-cover .primo-page-cover__desc {
	color: #fff;
	text-align: center;
}

.primo-page-cover .primo-page-cover__title {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.5;
	word-break: auto-phrase;
}

.primo-page-cover .primo-page-cover__desc {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .06em;
}

/* 見出し（style5a）。クラスは avant のまま、色はテーマの淡い地と主の色の線 */
.style5a {
	background: var(--wp--preset--color--subtle);
	border-left: 3px solid var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.6;
	margin: 2em 0 1em;
	padding: .5em .8em .45em 1em;
}

/* ボタン（q_button rounded sz_l。テーマ設定のカスタム CSS で外の余白が 10px）。クラスは avant のまま、色はテーマのボタンと同じ主の色 */
.q_button {
	background-color: var(--wp--preset--color--primary);
	box-sizing: border-box;
	color: #fff !important;
	display: inline-block;
	font-size: 100%;
	font-weight: 400;
	margin: 10px;
	max-width: 90%;
	min-width: 200px;
	padding: .6em 1.3em .5em;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s;
	vertical-align: middle;
}

.q_button:hover,
.q_button:focus {
	background-color: color-mix(in srgb, var(--wp--preset--color--primary) 85%, transparent);
	color: #fff;
	text-decoration: none;
}

.rounded {
	border-radius: 6px;
}

.sz_l {
	font-size: 110%;
	max-width: 90%;
	min-width: 350px;
	padding: .8em 1.5em .7em;
}

@media screen and (max-width: 767px) {
	.sz_l {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}
}

/* ===== avant のテーマ設定のカスタム CSS から（MailPoet と使っていない見出しは捨てた） ===== */

.p-country-name {
	display: none;
}

.hide {
	display: none;
}

.photocenter {
	text-align: center;
}

.formreq::before {
	background-color: #de3631;
	border-radius: .5em;
	color: #fff !important;
	content: "必須";
	font-weight: bold;
	margin: 8px;
	padding: 0 8px;
}

.grecaptcha-badge {
	visibility: hidden;
}

summary {
	display: list-item;
	line-height: 2;
}

.iframe-wrapper {
	margin: 0 0 20px;
	padding-top: 56.25%;
	position: relative;
	width: 100%;
}

.iframe-wrapper iframe {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

/* クラシックの本文の表は、狭い画面で横に流す（avant と同じ） */
.wp-block-post-content > table,
.wp-block-post-content .wp-block-freeform table {
	display: block;
	overflow-x: auto;
}

/* 本文の中の見出しの上に余白（primo-site-utils の .primo-section-title が上の余白を 0 にし、段落の間隔まで消していた）。最初の見出しは詰めたまま */
.wp-block-post-content :is(h2, h3):not(:first-child) {
	margin-top: 2.4em;
}

.wp-block-post-content h4:not(:first-child) {
	margin-top: 1.8em;
}

/* 写真を囲むリンク（拡大表示のプラグインが inline-block にする）が写真の幅に広がり、本文の幅からはみ出していた */
.wp-block-post-content figure > a {
	max-width: 100%;
}
