/*
 * Bijoux スマホデザイン
 * スマホ・タブレットの幅（1023px以下）のときだけ効く。PCの表示は変えない。
 * 色は Bijoux Boost のデザイン（アイボリー×ゴールド×ワイン）に合わせる。
 * トップの横スワイプの列（.bjp-…）は、Bijoux PCデザインが出しているものをスマホ向けに見せる。
 */

:root {
	--bjs-ivory: #faf6ee;
	--bjs-paper: #fffdf9;
	--bjs-line: rgba(184, 146, 74, .28);
	--bjs-gold: #b8924a;
	--bjs-gold-light: #e9d5a1;
	--bjs-gold-dark: #8a6a2e;
	--bjs-wine: #673243;
	--bjs-wine-2: #84455a;
	--bjs-text: #2b2621;
	--bjs-sub: #786d61;
	--bjs-shadow: 0 10px 24px -14px rgba(64, 42, 14, .45);
	--bjs-radius: 10px;
	--bjs-header-h: 56px;
	--bjs-tabbar-h: 58px;
	--bjs-ease: cubic-bezier(.2, .7, .2, 1);
}

/* PCでは、このプラグインが足したものは出さない */
@media (min-width: 1024px) {
	.bjs-tabbar,
	.bjs-sheet,
	.bjs-cta {
		display: none !important;
	}
	/* トップの検索窓・クイック検索は、Bijoux PCデザインがあればPCでも出す（見た目はPCデザインで指定） */
	html:not(:has(link[href*="bijoux-pc/assets/pc.css"])) .bjs-hero-quick {
		display: none !important;
	}
}

@media (max-width: 1023px) {

	/* ================= 全体 ================= */

	body {
		padding-bottom: calc(var(--bjs-tabbar-h) + env(safe-area-inset-bottom));
		color: var(--bjs-text);
		-webkit-tap-highlight-color: transparent;
		-webkit-font-smoothing: antialiased;
		text-rendering: optimizeLegibility;
	}
	body.bjs-sheet-open {
		overflow: hidden;
	}

	/* 見出し「PICKS／ピックアップ」：英語を小さなゴールドのラベル、日本語を見出しに */
	.bjs-sep {
		display: none;
	}
	.bjs-en {
		display: block;
		margin-bottom: 4px;
		color: var(--bjs-gold-dark);
		font-family: inherit;
		font-size: 10.5px;
		font-weight: 600;
		letter-spacing: .26em;
		line-height: 1.2;
	}
	.bjs-ja {
		display: block;
		color: var(--bjs-text);
		font-size: 19px;
		font-weight: 700;
		letter-spacing: .04em;
		line-height: 1.35;
	}
	h1 .bjs-ja {
		font-size: 24px;
	}

	/* ================= ヘッダー ================= */

	/* 枠の箱ではなく、画面の幅いっぱいの細いバーに */
	.wp-site-blocks > header {
		position: sticky;
		top: 0;
		z-index: 60;
		margin: 0 !important;
		border: 0 !important;
		box-shadow: none !important; /* PCの左のメニューの線を出さない */
		transition: transform .28s var(--bjs-ease);
	}
	body.admin-bar .wp-site-blocks > header {
		top: 46px;
	}
	.wp-site-blocks > header .bb-header {
		align-items: center;
		min-height: var(--bjs-header-h);
		margin: 0 !important;
		padding: 8px 14px 8px 18px !important;
		border: 0 !important;
		border-bottom: 1px solid var(--bjs-line) !important;
		border-radius: 0 !important;
		background: rgba(250, 246, 238, .92) !important;
		-webkit-backdrop-filter: saturate(1.5) blur(14px);
		backdrop-filter: saturate(1.5) blur(14px);
		box-shadow: none !important;
	}
	.bjs-scrolled .wp-site-blocks > header .bb-header {
		box-shadow: 0 10px 22px -18px rgba(64, 42, 14, .55) !important;
	}
	.wp-site-blocks > header .bb-header .bb-brand-logo {
		width: 148px !important;
		max-width: 50vw !important;
	}
	.bjs-header-hidden .wp-site-blocks > header {
		transform: translateY(-105%);
	}

	/* メニューのボタン：丸い枠のボタン */
	.bb-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid var(--bjs-line);
		border-radius: 50%;
		background: var(--bjs-paper);
		color: var(--bjs-text);
	}
	.bb-header .wp-block-navigation__responsive-container-open svg {
		width: 20px;
		height: 20px;
	}

	/* ================= メニュー（右上のボタンで開く） ================= */

	/* 開いている間は、タブバー・固定ボタンより前に出す（下の項目が隠れないように） */
	html.has-modal-open .wp-site-blocks > header,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-site-blocks > header {
		z-index: 200;
		transform: none !important;
	}
	/* ぼかし（backdrop-filter）があると、全画面のメニューがヘッダーの中に閉じ込められるので、開いている間は外す */
	html.has-modal-open .wp-site-blocks > header .bb-header,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-site-blocks > header .bb-header {
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}
	html.has-modal-open .bjs-tabbar,
	html.has-modal-open .bjs-cta,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .bjs-tabbar,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .bjs-cta {
		display: none;
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 0 !important;
		background: var(--bjs-ivory) !important;
		color: var(--bjs-text) !important;
		animation: bjs-fade .2s var(--bjs-ease);
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		max-width: none;
		margin: 0;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		top: 8px !important;
		right: 14px !important;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border: 1px solid var(--bjs-line);
		border-radius: 50%;
		background: var(--bjs-paper);
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 20px;
		height: 20px;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: stretch !important;
		gap: 0 !important;
		padding: 64px 20px calc(32px + env(safe-area-inset-bottom)) !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch !important;
		gap: 0 !important;
		width: 100%;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
		margin: 0 !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .bja-nav-search {
		margin-bottom: 14px !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .bja-search {
		max-width: none;
	}
	.wp-block-navigation__responsive-container.is-menu-open .bja-search input[type=search] {
		padding-block: 11px;
		font-size: 16px;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link > a {
		position: relative;
		display: block !important;
		width: 100%;
		padding: 13px 28px 13px 2px !important;
		border-bottom: 1px solid var(--bjs-line);
		color: var(--bjs-text) !important;
		text-decoration: none;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link > a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 6px;
		width: 8px;
		height: 8px;
		border-top: 1.5px solid var(--bjs-gold);
		border-right: 1.5px solid var(--bjs-gold);
		transform: translateY(-50%) rotate(45deg);
	}
	/* 「TOP<br>トップ」の1行目（英語）を小さなラベルに */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
		display: block;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: .04em;
		line-height: 1.55;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label::first-line {
		color: var(--bjs-gold-dark);
		font-size: 10.5px;
		font-weight: 600;
		letter-spacing: .24em;
	}
	@keyframes bjs-fade {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}

	/* ================= 下のタブバー ================= */

	.bjs-tabbar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 70;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		height: calc(var(--bjs-tabbar-h) + env(safe-area-inset-bottom));
		padding: 0 6px env(safe-area-inset-bottom);
		border-top: 1px solid var(--bjs-line);
		background: rgba(255, 253, 249, .92);
		-webkit-backdrop-filter: saturate(1.6) blur(16px);
		backdrop-filter: saturate(1.6) blur(16px);
		transition: transform .28s var(--bjs-ease);
	}
	.bjs-cta-shown .bjs-tabbar {
		transform: translateY(105%);
	}
	.bjs-tabbar a,
	.bjs-tabbar button {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #9a8e80;
		font: inherit;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: .06em;
		line-height: 1.2;
		text-decoration: none;
		cursor: pointer;
		transition: color .2s;
	}
	.bjs-tabbar svg {
		width: 22px;
		height: 22px;
	}
	.bjs-tabbar [aria-current="page"] {
		color: var(--bjs-wine);
	}
	.bjs-tabbar [aria-current="page"]::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 22px;
		height: 2px;
		border-radius: 0 0 2px 2px;
		background: var(--bjs-wine);
		transform: translateX(-50%);
	}
	/* 検索：ワインの丸いボタン（はみ出させず、上品に） */
	.bjs-tabbar .bjs-open-search {
		color: var(--bjs-wine);
	}
	.bjs-tabbar .bjs-open-search svg {
		box-sizing: content-box;
		width: 18px;
		height: 18px;
		padding: 7px 13px;
		border-radius: 999px;
		background: linear-gradient(135deg, var(--bjs-wine-2), var(--bjs-wine));
		color: #fff;
		box-shadow: 0 6px 14px -8px rgba(103, 50, 67, .9);
	}

	/* ================= 検索シート ================= */

	.bjs-sheet {
		position: fixed;
		inset: 0;
		z-index: 300;
	}
	.bjs-sheet[hidden] {
		display: none;
	}
	.bjs-sheet-backdrop {
		position: absolute;
		inset: 0;
		background: rgba(28, 20, 14, .42);
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
		opacity: 0;
		transition: opacity .22s var(--bjs-ease);
	}
	.bjs-sheet-panel {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		max-height: 88vh;
		overflow-y: auto;
		padding: 14px 18px calc(28px + env(safe-area-inset-bottom));
		border-radius: 20px 20px 0 0;
		background: var(--bjs-ivory);
		box-shadow: 0 -16px 40px -16px rgba(28, 20, 14, .45);
		transform: translateY(100%);
		transition: transform .26s var(--bjs-ease);
	}
	.bjs-sheet.is-open .bjs-sheet-backdrop {
		opacity: 1;
	}
	.bjs-sheet.is-open .bjs-sheet-panel {
		transform: none;
	}
	.bjs-sheet-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 12px;
	}
	.bjs-sheet-head::before {
		content: "";
		position: absolute;
		top: 7px;
		left: 50%;
		width: 36px;
		height: 4px;
		border-radius: 2px;
		background: rgba(184, 146, 74, .45);
		transform: translateX(-50%);
	}
	.bjs-sheet-title {
		margin: 6px 0 0;
		color: var(--bjs-text);
		font-size: 16px;
		font-weight: 700;
		letter-spacing: .08em;
	}
	.bjs-sheet-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		margin: 4px -4px 0 0;
		padding: 0;
		border: 1px solid var(--bjs-line);
		border-radius: 50%;
		background: var(--bjs-paper);
		color: var(--bjs-sub);
		font-size: 20px;
		line-height: 1;
		cursor: pointer;
	}
	.bjs-sheet-label {
		margin: 22px 0 10px;
		color: var(--bjs-gold-dark);
		font-size: 10.5px;
		font-weight: 600;
		letter-spacing: .24em;
	}

	/* 検索窓（シート・トップ） */
	.bjs-sheet .bja-search,
	.bjs-hero-quick .bja-search {
		max-width: none;
		border-color: var(--bjs-gold-light);
		background: #fff;
		box-shadow: 0 8px 20px -14px rgba(64, 42, 14, .5);
	}
	.bjs-sheet .bja-search input[type=search],
	.bjs-hero-quick .bja-search input[type=search] {
		padding: 12px 6px 12px 18px;
		font-size: 16px; /* iPhoneで入力時に拡大されないように */
	}
	.bjs-sheet .bja-search button,
	.bjs-hero-quick .bja-search button {
		width: 48px;
		height: 46px;
	}

	/* ================= ボタンの列（クイック検索・人気の女優） ================= */

	.bjs-chips {
		display: flex;
		gap: 8px;
		margin: 14px 0 0;
		padding: 0 0 2px;
		list-style: none;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.bjs-chips::-webkit-scrollbar {
		display: none;
	}
	.bjs-chips.is-wrap {
		flex-wrap: wrap;
		overflow: visible;
	}
	.bjs-chips li {
		flex: 0 0 auto;
		margin: 0;
	}
	.bjs-chips a {
		display: inline-flex;
		align-items: center;
		min-height: 34px;
		padding: 0 14px;
		border: 1px solid var(--bjs-line);
		border-radius: 999px;
		background: rgba(255, 255, 255, .75);
		color: var(--bjs-text);
		font-size: 12.5px;
		font-weight: 600;
		letter-spacing: .03em;
		white-space: nowrap;
		text-decoration: none;
		transition: background .15s, border-color .15s;
	}
	.bjs-chips a:active {
		border-color: var(--bjs-gold);
		background: #f5ecd9;
	}

	/* ================= トップ ================= */

	/* ヒーロー：ヘッダーと同じロゴは出さず（読み上げ・検索エンジン向けには残す）、案内と検索を先に */
	body.home .bb-hero {
		display: flex;
		flex-direction: column;
		padding: 22px 0 6px !important;
		border: 0 !important;
		background: none !important;
	}
	body.home .bb-hero::before,
	body.home .bb-hero::after {
		display: none !important;
	}
	body.home .bb-hero .bb-hero-logo {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
	body.home .bb-hero > p {
		order: 1;
		margin: 0 !important;
		color: var(--bjs-sub);
		font-size: 11px;
		letter-spacing: .06em;
		text-align: center;
	}
	body.home .bb-hero > p:first-of-type {
		order: 0;
		margin-bottom: 2px !important;
		color: var(--bjs-gold-dark);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: .14em;
	}
	.bjs-hero-quick {
		order: 2;
		margin: 16px 0 0 !important;
	}
	.bjs-hero-quick .bjs-chips {
		margin-inline: calc(50% - 50vw);
		padding-inline: calc(50vw - 50%);
		scroll-padding-inline: calc(50vw - 50%);
	}

	/* セクション */
	body.home main .bb-section {
		padding-block: 30px 6px !important;
		border: 0 !important;
	}
	body.home main .bb-section > h2,
	.bjp-head h2 {
		margin: 0 0 14px !important;
		padding: 0 !important;
		border: 0 !important;
		font-size: 19px !important;
	}
	body.home main .bb-section > h2::after,
	.bjp-head h2::after {
		display: none !important;
	}

	/* 横スワイプの列（PICKS・新着レビュー・おすすめ総集編・こだわり作品・セール中） */
	.bjp-rows,
	.bjp-picks {
		display: block;
	}
	body.home .bb-section:has(.bjp-picks) .bb-collection {
		display: none; /* 横スワイプを出したら、元の縦に長い一覧は隠す */
	}
	.bjp-row {
		padding-block: 30px 6px;
	}
	.bjp-head {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 12px;
	}
	.bjp-more {
		flex: 0 0 auto;
		margin-bottom: 16px;
		padding: 5px 12px;
		border: 1px solid var(--bjs-line);
		border-radius: 999px;
		color: var(--bjs-wine) !important;
		font-size: 11.5px;
		font-weight: 600;
		letter-spacing: .04em;
		text-decoration: none !important;
		white-space: nowrap;
	}
	.bjp-more::after {
		content: " ›";
	}
	.bjp-scroller {
		position: relative;
	}
	.bjp-nav {
		display: none; /* スマホは指でスワイプ */
	}
	/* 画面の端までスワイプできるように（1枚目は見出しと左をそろえる） */
	.bjp-track {
		display: flex;
		gap: 12px;
		margin: 0 calc(50% - 50vw);
		padding: 4px calc(50vw - 50%) 14px;
		list-style: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: calc(50vw - 50%);
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.bjp-track::-webkit-scrollbar {
		display: none;
	}
	.bjp-item {
		flex: 0 0 37%;
		max-width: 168px;
		margin: 0;
		scroll-snap-align: start;
	}
	.bjp-item a {
		display: block;
		color: inherit;
		text-decoration: none;
	}
	.bjp-cover {
		position: relative;
		display: block;
		aspect-ratio: 400 / 538;
		overflow: hidden;
		border-radius: var(--bjs-radius);
		background: #efe7da;
		box-shadow: var(--bjs-shadow);
	}
	.bjp-cover::after {
		content: "";
		position: absolute;
		inset: 0;
		border: 1px solid rgba(255, 255, 255, .35);
		border-radius: inherit;
		pointer-events: none;
	}
	.bjp-cover img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 100% 50%; /* パッケージ画像の右半分（表紙） */
	}
	.bjp-badge {
		position: absolute;
		top: 7px;
		left: 7px;
		z-index: 1;
		padding: 2px 8px;
		border-radius: 999px;
		background: rgba(103, 50, 67, .92);
		color: #fff;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: .06em;
	}
	.bjp-title {
		display: -webkit-box;
		margin-top: 9px;
		overflow: hidden;
		color: var(--bjs-text);
		font-size: 12.5px;
		font-weight: 700;
		letter-spacing: .02em;
		line-height: 1.45;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	.bjp-excerpt {
		display: -webkit-box;
		margin-top: 3px;
		overflow: hidden;
		color: var(--bjs-sub);
		font-size: 11px;
		line-height: 1.55;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	.bjp-cover.bjp-more-tile {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		background: linear-gradient(160deg, #fffdf9, #f2e7d2);
		box-shadow: inset 0 0 0 1px var(--bjs-gold-light);
		color: var(--bjs-gold-dark);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .1em;
	}
	.bjp-more-arrow {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		border: 1px solid var(--bjs-gold);
		border-radius: 50%;
	}
	.bjp-empty {
		margin: 0;
		padding: 22px 12px;
		border: 1px dashed var(--bjs-gold-light);
		border-radius: var(--bjs-radius);
		color: var(--bjs-sub);
		font-size: 12.5px;
		text-align: center;
	}

	/* 診断 */
	body.home .bjx-shindan {
		border-radius: 14px !important;
		box-shadow: var(--bjs-shadow) !important;
	}

	/* カテゴリー：グループごとに、ラベルとボタン */
	body .bb-categories {
		display: grid;
		gap: 0;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	body .bb-categories > li {
		margin: 0 !important;
		padding: 16px 0 !important;
		border: 0 !important;
		border-top: 1px solid var(--bjs-line) !important;
		background: none !important;
		box-shadow: none !important;
		font-size: 0; /* 件数「(73)」を隠す */
	}
	body .bb-categories > li:first-child {
		border-top: 0 !important;
		padding-top: 2px !important;
	}
	body .bb-categories > li > a {
		display: inline-block;
		margin-bottom: 10px;
		padding: 0 !important;
		border: 0 !important;
		color: var(--bjs-gold-dark) !important;
		font-size: 10.5px !important;
		font-weight: 600;
		letter-spacing: .26em;
		text-decoration: none !important;
	}
	body .bb-categories > li > .children {
		display: flex !important;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		list-style: none;
	}
	body .bb-categories > li > .children > li {
		display: block !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		font-size: 0;
	}
	body .bb-categories > li > .children a {
		display: inline-flex !important;
		align-items: center;
		width: auto !important;
		min-height: 34px;
		padding: 0 14px !important;
		border: 1px solid var(--bjs-line) !important;
		border-radius: 999px;
		background: rgba(255, 255, 255, .75) !important;
		color: var(--bjs-text) !important;
		font-size: 12.5px !important;
		font-weight: 600;
		text-decoration: none !important;
	}

	/* 女優：顔写真の横スワイプ（トップ） */
	body.home ul.bb-actress-directory {
		display: flex;
		gap: 14px;
		margin: 0 calc(50% - 50vw);
		padding: 4px calc(50vw - 50%) 10px;
		list-style: none;
		overflow-x: auto;
		scroll-padding-inline: calc(50vw - 50%);
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}
	body.home ul.bb-actress-directory::-webkit-scrollbar {
		display: none;
	}
	body.home ul.bb-actress-directory > li {
		flex: 0 0 72px;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		scroll-snap-align: start;
	}
	body.home ul.bb-actress-directory > li.bb-actress-card > a.bb-actress-link {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 7px;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
		text-align: center;
		text-decoration: none;
	}
	body.home .bb-actress-directory .bb-actress-portrait {
		width: 64px;
		height: 64px;
		margin: 0;
		padding: 2px;
		overflow: hidden;
		border: 0;
		border-radius: 50%;
		background: linear-gradient(135deg, #e9d5a1, #b8924a 55%, #e9d5a1);
		box-shadow: 0 6px 14px -8px rgba(64, 42, 14, .6);
	}
	body.home .bb-actress-directory .bb-actress-portrait img,
	body.home .bb-actress-directory .bb-actress-portrait > * {
		width: 100%;
		height: 100%;
		border: 2px solid var(--bjs-paper);
		border-radius: 50%;
		object-fit: cover;
	}
	body.home .bb-actress-directory .bb-actress-name {
		display: block;
		color: var(--bjs-text);
		font-size: 11px;
		font-weight: 600;
		line-height: 1.35;
		word-break: break-all;
	}
	body.home .bb-actress-directory .bb-count,
	body.home .bb-actress-directory .bb-actress-arrow {
		display: none;
	}
	body.home .bjp-more-actress {
		display: block;
		flex: 0 0 72px;
		align-self: flex-start;
	}
	body.home .bjp-more-actress a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 64px;
		height: 64px;
		border: 1px solid var(--bjs-gold);
		border-radius: 50%;
		background: linear-gradient(160deg, #fffdf9, #f2e7d2);
		color: var(--bjs-gold-dark);
		font-size: 10.5px;
		font-weight: 700;
		line-height: 1.35;
		text-align: center;
		text-decoration: none;
	}
	body.home .bjp-more-actress a::after {
		content: none;
	}

	/* ================= 一覧（記事一覧・カテゴリー・女優・PICKS） ================= */

	/* ページの見出し */
	body:not(.home) main h1.wp-block-post-title,
	body:not(.home) main h1.wp-block-query-title,
	body:not(.home) main h1.wp-block-heading {
		margin-block: 26px 18px !important;
		font-size: 24px !important;
		line-height: 1.35;
	}

	/* 2列のカード */
	main .wp-block-post-template {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
		margin-inline: 0;
		padding: 0;
	}
	main .wp-block-post-template > .wp-block-post {
		margin: 0 !important;
	}
	/* カテゴリー・女優のページ：記事の項目に直接 表紙・タイトル・日付が入る作り */
	main .wp-block-post-template > .wp-block-post:has(> .bjb-thumb) {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		padding: 0 !important;
		border: 0 !important;
		grid-template-columns: none;
	}
	main .wp-block-post-template > .wp-block-post:has(> .bjb-thumb) > * {
		grid-area: auto !important;
		margin: 0;
	}
	main .wp-block-post-template .bb-info-panel {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		margin: 0;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		box-shadow: none !important;
		grid-template-columns: none;
	}
	main .wp-block-post-template .bb-info-panel > * {
		grid-area: auto !important;
		margin: 0;
	}
	main .wp-block-post-template .bjb-thumb {
		position: relative;
		display: block;
		float: none;
		width: 100%;
		max-width: none;
		margin: 0 0 9px;
		aspect-ratio: 400 / 538;
		overflow: hidden;
		border: 0;
		border-radius: var(--bjs-radius);
		background: #efe7da;
		box-shadow: var(--bjs-shadow);
	}
	main .wp-block-post-template .bjb-thumb img {
		position: absolute;
		inset: 0;
		width: 100% !important;
		height: 100% !important;
		max-width: none;
		object-fit: cover;
		object-position: 100% 50%;
	}
	main .wp-block-post-template .wp-block-post-date {
		order: 2;
		margin-top: 4px;
		color: var(--bjs-sub);
		font-size: 10.5px !important;
		letter-spacing: .06em;
	}
	main .wp-block-post-template .wp-block-post-title {
		order: 1;
		font-size: 12.5px !important;
		font-weight: 700;
		letter-spacing: .02em;
		line-height: 1.45 !important;
	}
	main .wp-block-post-template .wp-block-post-title a {
		display: -webkit-box;
		overflow: hidden;
		color: var(--bjs-text) !important;
		text-decoration: none;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	main .wp-block-post-template .wp-block-post-excerpt {
		order: 3;
		margin-top: 4px;
	}
	main .wp-block-post-template .wp-block-post-excerpt__excerpt {
		display: -webkit-box;
		margin: 0;
		overflow: hidden;
		color: var(--bjs-sub);
		font-size: 11px;
		line-height: 1.55;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	main .wp-block-post-template .wp-block-post-excerpt__more-text {
		display: none; /* カード全体から記事に行けるので「続きを読む」は出さない */
	}

	/* ページ送り */
	main .wp-block-query-pagination {
		align-items: center;
		margin-top: 30px !important;
		font-size: 13px;
	}
	main .wp-block-query-pagination a,
	main .wp-block-query-pagination .page-numbers {
		text-decoration: none !important;
	}
	main .wp-block-query-pagination-numbers .page-numbers {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 34px;
		height: 34px;
		margin: 0 2px;
		border-radius: 50%;
		color: var(--bjs-text);
	}
	main .wp-block-query-pagination-numbers .page-numbers.current {
		background: var(--bjs-wine);
		color: #fff;
	}
	main .wp-block-query-pagination-next,
	main .wp-block-query-pagination-previous {
		padding: 7px 14px;
		border: 1px solid var(--bjs-line);
		border-radius: 999px;
		color: var(--bjs-wine) !important;
		font-weight: 600;
	}

	/* PICKS ページのカード */
	body:not(.home) .bb-collection .bb-cards {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	body:not(.home) .bb-collection .bb-card {
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
	}
	body:not(.home) .bb-collection .bb-card article > a:first-child,
	body:not(.home) .bb-collection .bb-card article > p:first-child > a:first-child {
		position: relative;
		display: block;
		aspect-ratio: 400 / 538;
		overflow: hidden;
		border-radius: var(--bjs-radius);
		background: #efe7da;
		box-shadow: var(--bjs-shadow);
	}
	body:not(.home) .bb-collection .bb-card img {
		position: absolute;
		inset: 0;
		width: 100% !important;
		height: 100% !important;
		max-width: none;
		object-fit: cover;
		object-position: 100% 50%;
	}
	body:not(.home) .bb-collection .bb-card h3 {
		margin: 9px 0 0;
		font-size: 12.5px;
		font-weight: 700;
		line-height: 1.45;
	}
	body:not(.home) .bb-collection .bb-card h3 a {
		display: -webkit-box;
		overflow: hidden;
		color: var(--bjs-text);
		text-decoration: none;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	body:not(.home) .bb-collection .bb-card-date {
		margin: 4px 0 0;
		color: var(--bjs-sub);
		font-size: 10.5px;
	}
	body:not(.home) .bb-collection .bb-card article > p:last-child {
		display: -webkit-box;
		margin: 4px 0 0;
		overflow: hidden;
		color: var(--bjs-sub);
		font-size: 11px;
		line-height: 1.55;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}

	/* おすすめ総集編・こだわり作品・検索結果のカードも同じ見た目に */
	.bja-comp-grid {
		gap: 24px 12px !important;
	}
	.bja-comp-grid .bja-comp-cover {
		border: 0 !important;
		border-radius: var(--bjs-radius) !important;
		box-shadow: var(--bjs-shadow) !important;
	}
	.bja-comp-title {
		font-size: 12.5px !important;
		font-weight: 700 !important;
	}
	.bja-comp-excerpt {
		font-size: 11px !important;
		-webkit-line-clamp: 2 !important;
	}

	/* ================= 記事ページ ================= */

	/* 本文の「作品詳細を見る」ボタン */
	body.single main .bb-fanza-cta {
		border-radius: 999px !important;
		background: linear-gradient(135deg, var(--bjs-wine-2), var(--bjs-wine)) !important;
		box-shadow: 0 10px 22px -14px rgba(103, 50, 67, .95) !important;
		letter-spacing: .06em;
	}

	/* FANZAのサンプル動画：高さはスクリプトで合わせる（プレイヤーを縮小して、ボタンが切れないように） */
	.bb-fanza-movie.bjs-movie {
		aspect-ratio: auto !important;
		margin-block: 24px !important;
		border-radius: var(--bjs-radius);
		background: #1d1a1a;
		box-shadow: var(--bjs-shadow);
	}
	.bb-fanza-movie.bjs-movie iframe {
		inset: 0 auto auto 0 !important;
		max-width: none !important;
	}

	/* 下に固定の「作品詳細を見る」 */
	.bjs-cta {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 75;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--bjs-line);
		background: rgba(255, 253, 249, .92);
		-webkit-backdrop-filter: saturate(1.6) blur(16px);
		backdrop-filter: saturate(1.6) blur(16px);
		transform: translateY(110%);
		transition: transform .28s var(--bjs-ease);
	}
	.bjs-cta.is-shown {
		transform: none;
	}
	.bjs-cta-button {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 50px;
		padding: 0 18px;
		border-radius: 999px;
		background: linear-gradient(135deg, var(--bjs-wine-2), var(--bjs-wine));
		color: #fff !important;
		font-size: 14.5px;
		font-weight: 700;
		letter-spacing: .06em;
		text-decoration: none !important;
		box-shadow: 0 12px 24px -14px rgba(103, 50, 67, .95);
	}
	.bjs-cta-sale {
		padding: 2px 9px;
		border-radius: 999px;
		background: #fff;
		color: var(--bjs-wine);
		font-size: 10.5px;
		letter-spacing: .04em;
	}
	.bjs-cta-arrow {
		font-size: 20px;
		line-height: 1;
	}

	/* ================= フッター ================= */

	.wp-site-blocks > footer .bb-footer {
		padding-block: 28px 20px !important;
		text-align: center;
	}
	.wp-site-blocks > footer .bb-footer nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 18px;
	}
	.wp-site-blocks > footer .bb-footer nav a {
		color: var(--bjs-sub) !important;
		font-size: 11.5px !important;
		letter-spacing: .06em;
		text-decoration: none !important;
	}
	.wp-site-blocks > footer .bb-footer > p {
		margin-top: 18px !important;
		color: var(--bjs-gold-dark);
		font-size: 11px !important;
		letter-spacing: .3em;
	}
}
