/*
Theme Name: WhoIsGirl Theme
Theme URI: https://whoisgirl.com/
Description: Custom database theme for WhoIsGirl
Version: 1.0.0
Author: WhoIsGirl
*/


/* =========================
   Base
========================= */

body {
	margin:0;
	background:#f8f8fa;
	color:#28252b;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,Meiryo,sans-serif;
	line-height:1.7;
}

html {
	scroll-behavior:smooth;
	scroll-padding-top:90px;
}


.site-header,
.site-footer {
	background:#fff;
}

.site-header {
	border-bottom:1px solid #ece9ee;
	position:sticky;
	top:0;
	z-index:20;
	box-shadow:0 3px 14px rgba(44,31,39,.06);
}

.header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:32px;
	min-height:72px;
}

.site-logo {
	color:#e83e78;
	line-height:1.15;
	text-decoration:none;
}

.site-logo-main {
	display:block;
	font-size:20px;
	font-weight:800;
}

.site-logo-sub {
	display:block;
	font-size:10px;
	font-weight:700;
	letter-spacing:.16em;
}

.header-search {
	display:flex;
	max-width:460px;
	width:100%;
}

.header-search input,
.hero-search input {
	box-sizing:border-box;
	min-width:0;
	border:1px solid #ded9e0;
	background:#fff;
	color:#28252b;
	font:inherit;
}

.header-search input {
	flex:1;
	border-radius:8px 0 0 8px;
	padding:10px 14px;
}

.header-search button,
.hero-search button {
	border:0;
	background:#e83e78;
	color:#fff;
	font:inherit;
	font-weight:700;
	cursor:pointer;
}

.header-search button {
	border-radius:0 8px 8px 0;
	padding:0 18px;
}


.container {
	box-sizing:border-box;
	max-width:1200px;
	margin:0 auto;
	padding-left:24px;
	padding-right:24px;
}

.screen-reader-text {
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

.hero {
	background:
		linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.35),rgba(255,255,255,.1)),
		url("assets/images/hero-discovery-bg-v2.png") center / cover no-repeat;
	border-bottom:1px solid #f0dfe7;
	color:#392d38;
}

.hero-inner {
	padding-top:76px;
	padding-bottom:76px;
	text-align:center;
}

.hero-eyebrow,
.section-kicker {
	margin:0 0 8px;
	color:#e83e78;
	font-size:13px;
	font-weight:800;
	letter-spacing:.12em;
}

.hero .hero-eyebrow {
	color:#d92f6d;
}

.hero h1 {
	margin:0;
	font-size:clamp(32px,5vw,56px);
	line-height:1.3;
	letter-spacing:.02em;
}

.hero-description {
	margin:18px auto 30px;
	max-width:720px;
	color:#655762;
}

.hero-title-break {
	display:none;
}

.hero-search {
	display:flex;
	max-width:720px;
	margin:0 auto;
	padding:7px;
	border-radius:14px;
	background:#fff;
	box-shadow:0 12px 40px rgba(80,43,59,.12);
}

.hero-search input {
	flex:1;
	border:0;
	padding:14px 16px;
}

.hero-search button {
	border-radius:9px;
	padding:0 28px;
}

.hero-search-note {
	margin:12px 0 0;
	color:#776672;
	font-size:12px;
}

.search-paths {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:16px;
	margin-top:-25px;
	position:relative;
	z-index:2;
}

.search-paths > a {
	display:flex;
	align-items:center;
	gap:14px;
	box-sizing:border-box;
	min-height:92px;
	padding:18px 20px;
	border:1px solid #ebe5eb;
	border-radius:12px;
	background:#fff;
	box-shadow:0 8px 24px rgba(55,39,49,.07);
	color:#312a31;
	text-decoration:none;
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.search-paths > a:hover {
	transform:translateY(-2px);
	border-color:#ef8cac;
	box-shadow:0 12px 28px rgba(55,39,49,.11);
}

.search-path-icon {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	flex:0 0 42px;
	border-radius:50%;
	background:#fff0f5;
	color:#e83e78;
}

.search-paths strong,
.search-paths small {
	display:block;
}

.search-paths strong {
	font-size:16px;
}

.search-paths small {
	margin-top:2px;
	color:#817780;
	font-size:12px;
}

.featured-actresses-section {
	padding:70px 0 72px;
	background:linear-gradient(180deg,#fff 0%,#fff8fa 100%);
}

.popular-actresses-section .section-heading {
	align-items:flex-end;
	margin-bottom:28px;
}

.popular-actresses-section .section-kicker {
	color:#e83e78;
	letter-spacing:.16em;
}

.popular-actresses-section .section-description {
	max-width:440px;
	line-height:1.8;
}

.actress-cards {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:18px;
}

.actress-card {
	position:relative;
	min-width:0;
	border:1px solid #ebe6ec;
	border-radius:16px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 8px 24px rgba(40,30,36,.06);
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.actress-card:hover {
	transform:translateY(-4px);
	border-color:#f2b5c9;
	box-shadow:0 16px 34px rgba(65,38,52,.12);
}

.actress-card-link {
	position:relative;
	display:block;
	color:#28252b;
	text-decoration:none;
}

.actress-card-rank {
	position:absolute;
	z-index:1;
	top:10px;
	left:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:48px;
	height:32px;
	padding:0 9px;
	border-radius:999px;
	background:rgba(45,39,47,.9);
	box-shadow:0 4px 12px rgba(0,0,0,.18);
	color:#fff;
	font-weight:800;
	line-height:1;
	backdrop-filter:blur(4px);
}

.actress-card-rank-number {
	font-family:Georgia,"Times New Roman",serif;
	font-size:19px;
}

.actress-card-rank-unit {
	margin-left:2px;
	font-size:10px;
}

.actress-card-rank.is-medal {
	top:8px;
	left:8px;
	width:44px;
	height:44px;
	min-width:44px;
	padding:0;
	border:2px solid rgba(255,255,255,.78);
	border-radius:50%;
}

.actress-card.is-rank-1 .actress-card-rank { background:linear-gradient(145deg,#e7c45c,#ad7712); }
.actress-card.is-rank-2 .actress-card-rank { background:linear-gradient(145deg,#cbd1d8,#717a85); }
.actress-card.is-rank-3 .actress-card-rank { background:linear-gradient(145deg,#d39a68,#8e512f); }

.actress-card-image {
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:3/4;
	background:linear-gradient(145deg,#f3eff3,#e9e4e9);
	overflow:hidden;
}

.actress-card-image img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .25s ease;
}

.actress-card-link:hover .actress-card-image img {
	transform:scale(1.03);
}

.actress-card-image span {
	color:#aaa2ac;
	font-size:11px;
	font-weight:700;
	letter-spacing:.1em;
}

.actress-card-body {
	padding:15px 15px 16px;
}

.actress-card-body h3,
.actress-card-body p {
	margin:0;
}

.actress-card-body .actress-card-kana {
	margin-top:1px;
	color:#a098a2;
}

.actress-card-body h3 {
	font-size:17px;
	line-height:1.45;
}

.actress-card-body p {
	margin-top:2px;
	color:#817780;
	font-size:12px;
}

.actress-card-body .actress-card-works {
	display:flex;
	align-items:baseline;
	gap:2px;
	margin-top:10px;
	padding-top:9px;
	border-top:1px solid #f0ebef;
}

.actress-card-works span {
	margin-right:auto;
}

.actress-card-works strong {
	color:#39323a;
	font-size:16px;
}

.actress-card-cta {
	display:block;
	margin-top:9px;
	color:#e83e78;
	font-size:12px;
	font-weight:700;
}

.latest-section {
	padding-top:64px;
	padding-bottom:72px;
}

.featured-works-section {
	padding:64px 0 70px;
	background:#fff8fa;
}

.featured-works-section .section-heading {
	margin-bottom:28px;
}

.posts.featured-works-grid {
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:16px;
}

.ranked-work-card {
	position:relative;
}

.work-rank-badge {
	position:absolute;
	z-index:2;
	top:18px;
	left:18px;
	display:flex;
	align-items:baseline;
	justify-content:center;
	min-width:48px;
	height:34px;
	box-sizing:border-box;
	padding:5px 9px;
	border:2px solid rgba(255,255,255,.82);
	border-radius:999px;
	background:rgba(45,39,47,.9);
	box-shadow:0 4px 12px rgba(0,0,0,.2);
	color:#fff;
	font-weight:800;
	line-height:1;
	backdrop-filter:blur(4px);
}

.work-rank-badge span {
	font-family:Georgia,"Times New Roman",serif;
	font-size:19px;
}

.work-rank-badge small {
	margin-left:2px;
	font-size:10px;
}

.ranked-work-card.is-rank-1 .work-rank-badge { background:linear-gradient(145deg,#e7c45c,#ad7712); }
.ranked-work-card.is-rank-2 .work-rank-badge { background:linear-gradient(145deg,#cbd1d8,#717a85); }
.ranked-work-card.is-rank-3 .work-rank-badge { background:linear-gradient(145deg,#d39a68,#8e512f); }

.discovery-section {
	padding:64px 0;
	background:#2c2630;
	color:#fff;
}

.discovery-heading > p {
	color:#c9c1cb;
}

.actress-directory {
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:10px;
}

.actress-directory-link {
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:72px;
	box-sizing:border-box;
	padding:12px 14px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:9px;
	background:rgba(255,255,255,.07);
	color:#fff;
	text-decoration:none;
}

.actress-directory-link span {
	font-weight:700;
}

.actress-directory-link small {
	color:#c9c1cb;
	font-size:11px;
}

.actress-directory-link:hover {
	border-color:#ff73a3;
	background:rgba(232,62,120,.2);
}

.browse-section {
	padding:64px 0 72px;
	background:#f1edf1;
}

.browse-columns {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:24px;
}

.browse-panel {
	padding:24px;
	border:1px solid #ebe6ec;
	border-radius:12px;
	background:#fff;
}

.browse-panel h3 {
	margin:0 0 16px;
	font-size:18px;
}

.tag-links {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.tag-links a {
	display:inline-flex;
	align-items:baseline;
	gap:5px;
	padding:7px 11px;
	border-radius:999px;
	background:#f6f2f5;
	color:#5c535e;
	font-size:13px;
	text-decoration:none;
}

.tag-links small {
	color:#968c98;
	font-size:11px;
	white-space:nowrap;
}

.tag-links a:hover {
	background:#fff0f5;
	color:#e83e78;
}

.tag-links a:hover small {
	color:#c7517a;
}

.section-heading {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:28px;
}

.section-heading h2 {
	margin:0;
	font-size:30px;
}

.section-heading > p {
	margin:0;
	color:#777079;
	font-size:14px;
}




/* =========================
   Post Card
========================= */


.posts {

	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:24px;

}


.post-card {
	border:1px solid #eee;
	background:#fff;
	padding:12px;
	border-radius:12px;
	box-shadow:0 4px 16px rgba(40,30,36,.04);
	overflow:hidden;
}

.post-card-discovery {
	display:flex;
	flex-direction:column;
}

.post-card-discovery .post-title {
	margin-bottom:11px;
}

.post-actresses {
	margin-bottom:10px;
	padding:10px 11px;
	border-left:3px solid #e83e78;
	border-radius:0 7px 7px 0;
	background:#fff4f7;
}

.post-actresses-label,
.post-actresses-empty {
	margin:0;
}

.post-actresses-label {
	color:#8d5367;
	font-size:11px;
	font-weight:700;
}

.post-actresses-links {
	margin-top:3px;
	font-size:13px;
	font-weight:700;
	line-height:1.55;
	overflow-wrap:anywhere;
}

.post-actresses-links a {
	color:#d8326b;
	text-decoration:none;
}

.post-actresses-links a:hover {
	text-decoration:underline;
}

.post-actresses-more {
	color:#6f626b;
	font-weight:600;
	white-space:nowrap;
}

.post-actresses-empty {
	margin-top:3px;
	color:#9b929c;
	font-size:12px;
}

.post-card-discovery .post-date {
	margin-bottom:5px;
}

.post-card-discovery .post-info {
	line-height:1.65;
}

.post-detail-button {
	display:block;
	margin-top:14px;
	padding:10px 14px;
	border:1px solid #e83e78;
	border-radius:7px;
	background:#fff;
	color:#e83e78;
	font-size:13px;
	font-weight:700;
	text-align:center;
	text-decoration:none;
}

.post-card-discovery .post-detail-button {
	margin-top:auto;
}

.post-detail-button:hover {
	background:#e83e78;
	color:#fff;
}



.post-thumb {
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:3 / 4;
	border-radius:8px;
	background:#f0edf1;
	overflow:hidden;
	text-align:center;
}

.post-thumb a {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
}



.post-thumb img {
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:center;
}

.post-thumb-placeholder {
	color:#aaa2ac;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
}



.post-title {
	font-size:16px;
	line-height:1.55;
	margin:13px 0 8px;
}



.post-title a {
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	color:#222;
	text-decoration:none;
}

.post-title a:hover,
.post-info a:hover {
	color:#e83e78;
}

.post-date,
.post-info {
	color:#777079;
	font-size:12px;
}

.post-info a {
	color:#5f5862;
	text-decoration:none;
}

.navigation.pagination {
	margin-top:40px;
	text-align:center;
}

.nav-links,
.page-numbers ul {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px;
}

.page-numbers ul {
	margin:40px 0 0;
	padding:0;
	list-style:none;
}

.nav-links > .page-numbers,
.page-numbers li > .page-numbers {
	min-width:40px;
	box-sizing:border-box;
	padding:7px 10px;
	border:1px solid #e5e0e6;
	border-radius:8px;
	background:#fff;
	color:#514a53;
	text-decoration:none;
}

.nav-links > .page-numbers.current,
.page-numbers li > .page-numbers.current {
	border-color:#e83e78;
	background:#e83e78;
	color:#fff;
}

.site-footer {
	padding:28px 0;
	border-top:1px solid #ece9ee;
	color:#777079;
	font-size:13px;
}



.post-meta {

	font-size:13px;
	color:#666;

}



.category-name {

	display:inline-block;
	margin-right:8px;
	color:#666;

}






/* =========================
   Single Work
========================= */


.single-title {

	font-size:32px;
	font-weight:bold;
	line-height:1.5;
	margin-bottom:40px;

}




.single-main {

	display:flex;
	gap:50px;
	align-items:flex-start;

}





.single-image {

	width:400px;
	flex-shrink:0;

}




.single-image img {

	width:100%;
	height:auto;
	display:block;
	border-radius:4px;

}





.single-meta {

	flex:1;

	background:#fff;
	border:1px solid #eee;
	border-radius:8px;

	padding:30px;

	font-size:16px;
	line-height:1.8;

}





.single-meta a {

	color:#0066cc;
	text-decoration:none;

}



.single-meta a:hover {

	text-decoration:underline;

}





.meta-date {

	margin-bottom:20px;

}



.meta-actress,
.meta-maker,
.meta-label,
.meta-series {

	margin-bottom:18px;

}




.single-content {

	margin-top:50px;

	line-height:1.9;
	font-size:16px;

}







/* =========================
   Responsive
========================= */


@media(max-width:768px){
	.header-inner {
		flex-wrap:wrap;
		gap:9px;
		min-height:60px;
		padding-top:10px;
		padding-bottom:10px;
	}

	.header-search {
		display:flex;
		order:2;
		max-width:none;
		width:100%;
	}

	.header-search input {
		padding:8px 12px;
		font-size:13px;
	}

	.header-search button {
		padding:0 15px;
		font-size:13px;
	}

	.hero-inner {
		padding-top:52px;
		padding-bottom:52px;
	}

	.hero-description {
		font-size:14px;
	}

	.hero-title-break {
		display:block;
	}

	.hero-search {
		display:block;
		padding:8px;
	}

	.hero-search input,
	.hero-search button {
		width:100%;
	}

	.hero-search button {
		margin-top:7px;
		padding:12px;
	}

	.search-paths {
		grid-template-columns:1fr;
		gap:10px;
		margin-top:-18px;
	}

	.search-paths > a {
		min-height:76px;
		padding:13px 16px;
	}

	.featured-actresses-section {
		padding:48px 0 52px;
	}

	.actress-cards {
		grid-template-columns:repeat(3,1fr);
		gap:12px;
	}

	.popular-actresses-section .section-heading {
		align-items:initial;
		margin-bottom:20px;
	}

	.popular-actresses-section .section-description {
		max-width:none;
		line-height:1.65;
	}

	.latest-section {
		padding-top:42px;
	}

	.featured-works-section {
		padding:44px 0 48px;
	}

	.featured-works-section .section-heading {
		margin-bottom:20px;
	}

	.featured-works-grid {
		display:flex;
		gap:14px;
		overflow-x:auto;
		margin-right:-24px;
		padding:2px 24px 14px 0;
		-webkit-overflow-scrolling:touch;
		overscroll-behavior-inline:contain;
	}

	.featured-works-grid .ranked-work-card {
		flex:0 0 min(76vw,300px);
	}

	.discovery-section {
		padding:44px 0;
	}

	.actress-directory {
		grid-template-columns:repeat(3,1fr);
	}

	.browse-section {
		padding:44px 0 52px;
	}

	.browse-columns {
		grid-template-columns:1fr;
	}

	.section-heading {
		display:block;
	}

	.section-heading > p {
		margin-top:4px;
	}



	.posts {

		grid-template-columns:repeat(2,1fr);

	}



	.single-main {

		display:block;

	}



	.single-image {

		width:100%;
		max-width:400px;
		margin:0 auto 25px;

	}



	.single-title {

		font-size:24px;

	}


}

/* =========================
   Single Work - improved information architecture
========================= */
.single-section-title {
	margin:0 0 18px;
	font-size:23px;
	line-height:1.4;
}

.work-gallery {
	margin-top:38px;
}

.work-gallery-grid {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:12px;
}

.gallery-thumbnail {
	width:100%;
}

.single-actresses,
.single-information,
.single-genres {
	margin-top:46px;
}

.single-actress-list {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
}

.single-actress-card {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:22px 24px;
	border:1px solid #e8e3e9;
	border-radius:10px;
	background:#fff;
	color:#332d34;
	text-decoration:none;
}

.single-actress-card strong {
	font-size:18px;
}

.single-actress-card span {
	color:#d93470;
	font-weight:700;
}

.single-actress-card:hover {
	border-color:#e83e78;
	box-shadow:0 8px 24px rgba(38,29,34,.08);
}

.single-genre-tags {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.single-genre-tags a {
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:7px 15px;
	border:1px solid #e5dce2;
	border-radius:999px;
	background:#fff;
	color:#d93470;
	font-weight:700;
	text-decoration:none;
}

.single-genre-tags a:hover {
	border-color:#e83e78;
	background:#fff4f7;
}

.single-recommended .posts {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:20px;
}

.single-more-link {
	display:block;
	width:max-content;
	max-width:100%;
	margin:26px auto 0;
	padding:12px 24px;
	border:1px solid #d93470;
	border-radius:8px;
	color:#d93470;
	font-weight:700;
	text-align:center;
	text-decoration:none;
}

.related-work-item {
	min-width:0;
}

.related-work-item .post-card {
	height:calc(100% - 34px);
}

.related-reason {
	display:inline-block;
	margin:0 0 8px;
	padding:4px 10px;
	border-radius:999px;
	background:#fff0f5;
	color:#c62862;
	font-size:12px;
	font-weight:800;
}

.share-section {
	margin-top:52px;
}

@media(max-width:768px){
	.single-container {
		padding-left:16px;
		padding-right:16px;
	}

	.single-container .single-title {
		font-size:22px;
		line-height:1.5;
	}

	.single-section-title,
	.single-recommended h2 {
		font-size:20px;
	}

	.work-gallery {
		margin-top:30px;
	}

	.work-gallery-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
		overflow:visible;
		padding-bottom:0;
	}

	.gallery-thumbnail {
		min-width:0;
		aspect-ratio:4 / 3;
	}

	.single-actresses,
	.single-information,
	.single-genres {
		margin-top:38px;
	}

	.single-actress-list {
		grid-template-columns:1fr;
	}

	.single-actress-card {
		align-items:flex-start;
		flex-direction:column;
		gap:8px;
		padding:18px;
	}

	.work-details > div {
		display:block;
	}

	.work-details dt {
		padding:10px 14px 4px;
		background:#fff;
		color:#756c77;
		font-size:13px;
		text-align:left;
	}

	.work-details dd {
		padding:3px 14px 12px;
		border-left:0;
	}

	.video-link-area {
		margin-left:4px;
		margin-right:4px;
	}

	.single-recommended .posts {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:14px 10px;
	}

	.share-buttons {
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:7px;
	}

	.share-button {
		padding:11px 6px;
		font-size:13px;
	}
}

/* Single work: final heading and card rhythm. */
.single-actress-card strong {
	font-size:16px;
}

.single-section-title,
.single-recommended > h2,
.share-section > h2 {
	margin-top:16px;
}

.single-recommended .post-date {
	margin-top:2px;
}

@media(max-width:768px){
	.single-actress-card strong {
		font-size:16px;
	}

	.single-section-title,
	.single-recommended > h2,
	.share-section > h2 {
		margin-top:12px;
	}

	.single-recommended .post-date {
		margin-top:1px;
	}
}

/* Single work: generous heading separation. */
.single-section-title,
.single-recommended > h2,
.share-section > h2 {
	margin-top:48px;
}

.single-series-works .post-date,
.single-related-works .post-date {
	margin-top:0 !important;
	padding-top:0;
}

.work-detail-genres a:hover {
	border-color:#d92f6d;
	background:#d92f6d;
	color:#fff;
}

.single-more-link {
	transition:background-color .2s,color .2s,border-color .2s;
}

.single-more-link:hover {
	border-color:#d92f6d;
	background:#d92f6d;
	color:#fff;
}

@media(max-width:768px){
	.single-section-title,
	.single-recommended > h2,
	.share-section > h2 {
		margin-top:36px;
	}
}

/* Keep genre hover identical to the more-link button. */
.work-detail-genres a {
	transition:background-color .2s,color .2s,border-color .2s;
}

.work-detail-genres a:hover {
	border-color:#d92f6d;
	background:#d92f6d;
	color:#fff;
}

.gallery-modal figure {
	overflow:hidden;
}

.gallery-modal figure img {
	will-change:transform,opacity;
	touch-action:pan-y;
}

/* Single work: compact actress directory for ensemble titles. */
.single-section-title small {
	margin-left:6px;
	color:#8b828c;
	font-size:13px;
	font-weight:500;
}

.single-actress-list {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:9px;
}

.single-actress-card {
	dis:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:7px;
	width:auto;
	min-height:38px;
	padding:7px 13px;
	border-radius:999px;
}

.single-actress-card strong {
	font-size:14px;
}

.single-actress-card > span {
	color:#d93470;
	font-size:13px;
	line-height:1;
}

@media(max-width:768px){
	.single-actress-list {
		gap:8px;
	}

	.single-actress-card {
		align-items:center;
		flex-direction:row;
		gap:6px;
		min-height:36px;
		padding:6px 11px;
	}

	.single-actress-card strong {
		font-size:13px;
	}
}

@media(max-width:480px){
	.container {
		padding-left:16px;
		padding-right:16px;
	}

	.posts {
		gap:12px;
	}

	.post-card {
		padding:8px;
	}

	.post-actresses {
		padding:8px;
	}

	.post-actresses-links {
		font-size:12px;
	}

	.post-title {
		font-size:14px;
	}

	.actress-cards {
		grid-template-columns:repeat(2,1fr);
	}

	.popular-actresses-section .actress-card:first-child {
		grid-column:1 / -1;
	}

	.actress-card-body {
		padding:11px 12px 13px;
	}

	.actress-card-body h3 {
		font-size:15px;
	}

	.actress-card-cta {
		display:none;
	}

	.actress-directory {
		grid-template-columns:repeat(2,1fr);
	}
}

/* =========================
   Category pages
========================= */

/* =========================
   Footer
========================= */

.site-footer {
	padding:0;
	border-top:0;
	background:#211c23;
	color:#cfc7d1;
}

.footer-inner {
	display:grid;
	grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);
	gap:72px;
	padding-top:52px;
	padding-bottom:46px;
}

.footer-logo {
	display:inline-block;
	margin-bottom:13px;
	color:#fff;
	font-size:24px;
	font-weight:800;
	text-decoration:none;
}

.footer-brand p {
	max-width:520px;
	margin:0;
	color:#aaa1ac;
	font-size:14px;
}

.footer-navigation h2 {
	margin:0 0 15px;
	color:#fff;
	font-size:14px;
	letter-spacing:.06em;
}

.footer-navigation ul {
	display:flex;
	flex-wrap:wrap;
	gap:9px 20px;
	margin:0;
	padding:0;
	list-style:none;
}

.footer-navigation a {
	color:#cfc7d1;
	text-decoration:none;
}

.footer-navigation a:hover,
.footer-logo:hover {
	color:#ff79a8;
}

.footer-bottom {
	border-top:1px solid rgba(255,255,255,.08);
}

.footer-bottom p {
	margin:0;
	padding:18px 0;
	color:#8f8792;
	font-size:12px;
}

.page-top-button {
	display:flex;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:30;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	box-sizing:border-box;
	padding:0;
	border:0;
	border-radius:50%;
	background:#e83e78;
	box-shadow:0 6px 20px rgba(80,31,53,.24);
	color:#fff;
	text-decoration:none;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	pointer-events:none;
	cursor:pointer;
	font:inherit;
	transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .2s ease;
}

.page-top-button.is-visible {
	opacity:1;
	visibility:visible;
	transform:translateY(0);
	pointer-events:auto;
}

.page-top-button:hover {
	background:#d52e68;
	color:#fff;
}

@media(max-width:768px){
	.footer-inner {
		grid-template-columns:1fr;
		gap:30px;
		padding-top:38px;
		padding-bottom:34px;
	}

	.page-top-button {
		right:12px;
		bottom:12px;
		width:44px;
		height:44px;
	}
}

.category-container {
	padding-top:48px;
	padding-bottom:72px;
}

/* Category detail FIX layout */
.category-profile{display:grid;grid-template-columns:171px minmax(0,1fr);align-items:center;gap:34px;margin-top:24px;padding:30px 34px;border:1px solid #eae5eb;border-radius:12px;background:#fff;box-shadow:0 6px 20px rgba(64,42,55,.04)}
.category-profile-image{display:flex;align-items:center;justify-content:center;overflow:hidden;width:171px;height:171px;border-radius:50%;background:#f3eff2}
.category-profile-image img{display:block;width:100%;height:100%;object-fit:cover}
.maker-profile .category-profile-image{height:110px;border-radius:10px;background:#fff}
.maker-profile .category-profile-image img{object-fit:contain}
.category-profile-body{min-width:0}.category-kana{margin:0 0 12px;color:#756d77;font-size:15px;font-weight:700}
.category-introduction{color:#5e5660;font-size:15px;line-height:1.85}.category-introduction>span{display:inline-block;margin-bottom:7px;padding:3px 9px;border-radius:999px;background:#fff0f5;color:#c62f63;font-size:11px;font-weight:800}.category-introduction p{margin:0}
.category-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:36px}.category-works{min-width:0}
.category-detail .category-works .posts{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.category-works-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.category-works-heading h2{margin:0;font-size:23px}
.category-sort{flex:none}.category-sort label{color:#625b64;font-size:13px;font-weight:700}.category-sort select{margin-left:6px;padding:8px 28px 8px 10px;border:1px solid #ddd5dc;border-radius:7px;background:#fff}
.category-sidebar{position:sticky;top:24px}.category-filter{margin-bottom:14px;border:1px solid #e7e1e7;border-radius:10px;background:#fff}.category-filter summary{padding:15px 17px;color:#453e47;font-size:15px;font-weight:800;cursor:pointer}.category-filter-links,.category-filter-options{display:flex;flex-direction:column;max-height:330px;overflow:auto;padding:0 16px 16px}.category-filter-links a{padding:8px 0;border-bottom:1px solid #f0ebef;color:#625a63;font-size:13px;text-decoration:none}.category-filter-options label{display:flex;align-items:center;gap:8px;padding:7px 0;color:#625a63;font-size:13px;cursor:pointer}.category-filter-options input{accent-color:#e83e78}.filter-actions{display:flex;align-items:center;gap:12px;padding:0 16px 16px}.filter-actions button{padding:9px 12px;border:0;border-radius:7px;background:#e83e78;color:#fff;font-weight:700;cursor:pointer}.filter-actions a{color:#766d77;font-size:12px}
@media(max-width:900px){.category-detail-layout{grid-template-columns:1fr}.category-sidebar{position:static}.category-detail .category-works .posts{grid-template-columns:repeat(2,minmax(0,1fr))}.category-filter:not([open])>*:not(summary){display:none}}
@media(max-width:600px){.category-profile{grid-template-columns:1fr;gap:20px;padding:22px 18px}.category-profile-image{width:150px;height:150px;margin:auto}.maker-profile .category-profile-image{height:95px}.category-works-heading{align-items:flex-start;flex-direction:column;gap:12px}.category-detail .category-works .posts{gap:12px}.category-sidebar{width:100%}}

.category-header {
	margin-bottom:34px;
}

.category-header h1 {
	margin:0;
	font-size:clamp(28px,4vw,42px);
	line-height:1.4;
}

.category-description {
	max-width:760px;
	margin-top:12px;
	color:#6d6570;
}

/* ACF actress profile */
.actress-profile {
	display:grid;
	grid-template-columns:171px minmax(0,1fr);
	align-items:center;
	gap:34px;
	box-sizing:border-box;
	width:100%;
	max-width:none;
	margin-top:24px;
	padding:30px 34px;
	border:1px solid #eae5eb;
	border-radius:10px;
	background:#fff;
	box-shadow:0 6px 20px rgba(64,42,55,.04);
}

.actress-profile-image {
	overflow:hidden;
	width:171px;
	height:171px;
	border:5px solid #fff;
	border-radius:50%;
	background:#f3eff2;
	box-shadow:0 0 0 1px #eee7ec,0 6px 18px rgba(60,38,50,.1);
}

.actress-profile-image img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.actress-profile-body {
	min-width:0;
}

.actress-kana {
	margin:0 0 14px;
	padding-bottom:11px;
	border-bottom:1px solid #eee8ed;
	color:#39333b;
	font-size:18px;
	font-weight:800;
	letter-spacing:.04em;
}

.actress-profile-text {
	color:#5e5660;
	font-size:15px;
	line-height:1.85;
}

.actress-profile-text p {
	margin:0 0 14px;
}

.actress-profile-text p:last-child {
	margin-bottom:0;
}

.actress-profile-meta {
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:20px 0 0;
}

.actress-profile-meta > div {
	display:flex;
	align-items:baseline;
	gap:10px;
	min-width:0;
}

.actress-profile-meta dt {
	flex:0 0 auto;
	margin:0;
	color:#39333b;
	font-size:14px;
	font-weight:800;
	letter-spacing:.02em;
	white-space:nowrap;
}

.actress-profile-meta dt::after {
	content:"\FF1A";
	margin-left:2px;
}

.actress-profile-meta dd {
	min-width:0;
	margin:0;
	color:#565057;
	font-size:15px;
	font-weight:500;
	line-height:1.65;
	overflow-wrap:anywhere;
}

.category-directory {
	margin-bottom:52px;
	padding:26px;
	border:1px solid #eae5eb;
	border-radius:12px;
	background:#fff;
}

.category-directory h2,
.category-works > h2 {
	margin:0 0 20px;
	font-size:23px;
}

.all-maker-works-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-top:14px;
	padding:8px 14px;
	border:1px solid #e2d8de;
	border-radius:999px;
	background:#fff;
	color:#c62f63;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
}

.all-maker-works-button:hover {
	border-color:#e83e78;
	background:#fff7fa;
}

.solo-work-filter {
	display:flex;
	align-items:center;
	gap:12px;
	margin:-8px 0 20px;
	color:#565057;
	font-size:14px;
	font-weight:700;
}

.solo-work-toggle {
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:#817984;
	font-size:12px;
	text-decoration:none;
}

.solo-work-toggle-track {
	position:relative;
	display:inline-block;
	width:42px;
	height:24px;
	border-radius:999px;
	background:#c9c3ca;
	transition:background-color .2s ease;
}

.solo-work-toggle-track span {
	position:absolute;
	top:3px;
	left:3px;
	width:18px;
	height:18px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 1px 3px rgba(45,35,47,.25);
	transition:transform .2s ease;
}

.solo-work-toggle.is-active {
	color:#d92f6d;
}

.solo-work-toggle.is-active .solo-work-toggle-track {
	background:#e83e78;
}

.solo-work-toggle.is-active .solo-work-toggle-track span {
	transform:translateX(18px);
}

.solo-work-toggle:focus-visible {
	outline:2px solid #e83e78;
	outline-offset:4px;
	border-radius:4px;
}

.category-directory-links {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:9px;
}

.category-directory-links a {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	min-width:0;
	padding:10px 12px;
	border-radius:7px;
	background:#f7f4f7;
	color:#4f4851;
	text-decoration:none;
}

.category-directory-links a:hover {
	background:#fff0f5;
	color:#e83e78;
}

.category-directory-links span {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.category-directory-links small {
	flex-shrink:0;
	color:#938a95;
	font-size:10px;
}

.post-category-group {
	margin-top:3px;
}

.actress-related-links,
.actress-recommended {
	margin-top:52px;
}

.actress-related-links {
	margin-bottom:52px;
	padding:28px;
	border:1px solid #eae5eb;
	border-radius:12px;
	background:#fff;
}

.actress-related-links h2,
.actress-recommended h2 {
	margin:0 0 22px;
	font-size:23px;
}

.actress-related-group + .actress-related-group {
	margin-top:24px;
}

.actress-related-group h3 {
	margin:0 0 11px;
	color:#4f4851;
	font-size:16px;
}

.actress-related-tags {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.actress-related-tags a {
	display:inline-flex;
	padding:8px 13px;
	border:1px solid #eadde3;
	border-radius:999px;
	background:#fff7fa;
	color:#c62f63;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
}

.actress-related-tags a:hover {
	border-color:#e83e78;
	background:#e83e78;
	color:#fff;
}

.actress-related-toggle {
	display:inline-flex;
	align-items:center;
	margin-top:14px;
	padding:0;
	border:0;
	background:transparent;
	color:#c62f63;
	font:inherit;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
}

.actress-related-toggle .hide-label {
	display:none;
}

.actress-related-toggle[aria-expanded="true"] .show-label {
	display:none;
}

.actress-related-toggle[aria-expanded="true"] .hide-label {
	display:inline;
}

.actress-related-tags a[hidden] {
	display:none;
}

@media(max-width:768px){
	.category-container {
		padding-top:30px;
		padding-bottom:48px;
	}

	.actress-profile {
		grid-template-columns:135px minmax(0,1fr);
		gap:24px;
		padding:24px;
	}

	.actress-profile-image {
		width:135px;
		height:135px;
	}

	.category-directory {
		margin-bottom:38px;
		padding:18px;
	}

	.category-directory-links {
		grid-template-columns:repeat(2,1fr);
	}
}

@media(max-width:480px){
	.actress-related-links,
	.actress-recommended {
		margin-top:38px;
	}

	.actress-related-links {
		margin-bottom:38px;
		padding:22px 18px;
	}

	.actress-profile {
		grid-template-columns:1fr;
		gap:20px;
		margin-top:18px;
		padding:22px 18px;
		border-radius:12px;
	}

	.actress-profile-image {
		width:153px;
		height:153px;
		margin:0 auto;
	}

	.actress-kana {
		margin-bottom:12px;
	}

	.actress-profile-meta {
		margin-top:18px;
	}

	.category-directory-links {
		grid-template-columns:1fr;
	}
}

/* =========================
   Single Work - one column
========================= */

/* Actress directory */
.actress-directory-page{max-width:1180px}.actress-sort-tabs{display:flex;gap:8px;margin:0 0 20px}.actress-sort-tabs a{padding:10px 22px;border:1px solid #e5dce2;border-radius:999px;color:#5b535c;font-weight:700;text-decoration:none}.actress-sort-tabs a.is-active{border-color:#e83e78;background:#e83e78;color:#fff}.actress-kana-filter{display:grid;grid-template-columns:repeat(11,1fr);gap:6px;margin-bottom:24px}.actress-kana-filter a{padding:10px 4px;border:1px solid #e8e1e6;border-radius:8px;background:#fff;color:#5b535c;text-align:center;text-decoration:none}.actress-kana-filter a.is-active{border-color:#e83e78;background:#fff1f6;color:#cf2862;font-weight:800}.actress-genre-filter{margin-bottom:42px;padding:24px;border:1px solid #eae5eb;border-radius:14px;background:#fff}.actress-filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.actress-filter-heading h2{margin:0;font-size:19px}.actress-genre-chips{display:flex;flex-wrap:wrap;gap:9px}.actress-genre-chips label{cursor:pointer}.actress-genre-chips label[hidden]{display:none}.actress-genre-chips label.is-disabled{cursor:not-allowed}.actress-genre-chips label.is-disabled span{border-color:#eee9ec;background:#f8f6f7;color:#aaa2aa;opacity:.58}.actress-genre-chips label.is-disabled small{color:#b8b1b8}.actress-genre-chips input{position:absolute;opacity:0;pointer-events:none}.actress-genre-chips span{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid #e7dce2;border-radius:999px;background:#fff;color:#514a52;font-size:13px;font-weight:700}.actress-genre-chips small{color:#948b96}.actress-genre-chips input:checked+span{border-color:#e83e78;background:#e83e78;color:#fff}.actress-genre-chips input:checked+span small{color:#fff}.actress-genre-chips input:focus-visible+span{outline:2px solid #e83e78;outline-offset:2px}.actress-filter-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.actress-filter-result-count{margin-left:auto;color:#6d6570;font-size:13px;font-weight:700;white-space:nowrap}.actress-filter-result-count strong{color:#d92f6d;font-size:18px}.actress-filter-primary-actions{display:flex;align-items:center;gap:9px}.actress-genres-toggle{padding:0;border:0;background:none;color:#c62f63;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.actress-genres-toggle .hide-label{display:none}.actress-genres-toggle[aria-expanded=true] .show-label{display:none}.actress-genres-toggle[aria-expanded=true] .hide-label{display:inline}.actress-filter-clear,.actress-filter-submit{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:40px;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none}.actress-filter-clear{border:1px solid #d9d0d6;background:#fff;color:#665e67}.actress-filter-clear:hover{border-color:#e83e78;color:#c62f63}.actress-filter-submit{border:0;background:#363038;color:#fff;font:inherit;cursor:pointer}.actress-directory-results>h2{margin:0 0 20px;font-size:23px}.actress-directory-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.actress-directory-card{min-width:0;border:1px solid #ebe6ec;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 20px rgba(40,30,36,.05)}.actress-directory-card a{display:block;color:#302a31;text-decoration:none}.actress-directory-card-image{display:block;aspect-ratio:3/4;background:#f3eff3;overflow:hidden}.actress-directory-card img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.actress-directory-card a:hover img{transform:scale(1.03)}.actress-directory-card strong{display:block;padding:13px 12px 14px;font-size:15px;line-height:1.45;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.actress-directory-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.actress-kana-filter{grid-template-columns:repeat(6,1fr)}}
@media(max-width:600px){.actress-sort-tabs a{flex:1;text-align:center}.actress-kana-filter{grid-template-columns:repeat(4,1fr)}.actress-genre-filter{padding:18px}.actress-directory-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.actress-directory-card strong{font-size:14px}.actress-filter-actions{align-items:flex-end;gap:12px}}

.single-container {
	max-width:1040px;
	padding-top:48px;
	padding-bottom:72px;
}

.single-header {
	margin-bottom:32px;
}

.breadcrumbs {
	margin-bottom:18px;
	color:#827985;
	font-size:13px;
}

.breadcrumbs ol {
	display:flex;
	align-items:center;
	min-width:0;
	margin:0;
	padding:0;
	list-style:none;
}

.breadcrumbs li {
	min-width:0;
}

.breadcrumbs li:not(:last-child)::after {
	content:">";
	margin:0 9px;
	color:#b8b0ba;
}

.breadcrumbs li:last-child {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.breadcrumbs a {
	color:#d93470;
	text-decoration:none;
}

.single-container .single-title {
	margin:0;
	font-size:clamp(21px,3vw,32px);
	line-height:1.45;
}

.single-container .single-image {
	width:100%;
	margin:0 auto;
	text-align:center;
}

.single-container .single-image img {
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
	margin:0 auto;
	border-radius:12px;
	box-shadow:0 12px 36px rgba(38,29,34,.1);
}

.single-container .single-image img.work-main-image.is-small-image {
	width:auto;
	max-width:100%;
	height:auto;
	margin-inline:auto;
}

.single-container .single-image a {
	display:block;
	border-radius:12px;
	text-decoration:none;
}

.single-container .single-image a:hover img {
	opacity:.9;
}

.single-image-placeholder {
	display:grid;
	place-items:center;
	min-height:420px;
	border-radius:12px;
	background:#eeebef;
	color:#a49ca6;
	font-weight:700;
	letter-spacing:.12em;
}

.single-taxonomies {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px 16px;
	margin-top:22px;
	padding:17px 20px;
	border:1px solid #ebe6ec;
	border-radius:9px;
	background:#fff;
	color:#716974;
	font-size:14px;
}

.single-taxonomy-row {
	display:inline-flex;
	align-items:baseline;
	gap:5px;
	margin:0;
}

.single-taxonomy-row:first-child {
	margin-top:0;
}

.single-taxonomy-row a {
	color:#5f5762;
	text-decoration:none;
}

.single-taxonomy-row a:hover {
	color:#e83e78;
}

.work-gallery {
	margin-top:18px;
}

.work-gallery-grid {
	display:flex;
	align-items:stretch;
	flex-wrap:nowrap;
	gap:12px;
}

.gallery-thumbnail {
	display:block;
	flex:1 1 0;
	min-width:0;
	padding:0;
	border:0;
	border-radius:8px;
	background:#eee9ee;
	cursor:pointer;
	overflow:hidden;
}

.gallery-thumbnail img {
	display:block;
	width:100%;
	aspect-ratio:4 / 3;
	height:100%;
	object-fit:cover;
}

.gallery-thumbnail:hover img {
	opacity:.85;
	transform:scale(1.02);
}

.gallery-modal {
	display:none;
	position:fixed;
	inset:0;
	z-index:1000;
	align-items:center;
	justify-content:center;
	padding:60px 80px;
	box-sizing:border-box;
	background:rgba(15,10,14,.92);
}

.gallery-modal.is-open {
	display:flex;
}

.gallery-modal figure {
	margin:0;
	text-align:center;
}

.gallery-modal figure img {
	display:block;
	max-width:min(1200px,82vw);
	max-height:82vh;
	width:auto;
	height:auto;
	border-radius:6px;
}

.gallery-modal figcaption {
	margin-top:10px;
	color:#fff;
	font-size:13px;
}

.gallery-modal-close,
.gallery-modal-prev,
.gallery-modal-next {
	position:absolute;
	border:0;
	background:transparent;
	color:#fff;
	cursor:pointer;
}

.gallery-modal-close {
	top:16px;
	right:22px;
	font-size:42px;
	line-height:1;
}

.gallery-modal-prev,
.gallery-modal-next {
	top:50%;
	transform:translateY(-50%);
	padding:16px;
	font-size:40px;
}

.gallery-modal-prev { left:18px; }
.gallery-modal-next { right:18px; }

.gallery-modal-open {
	overflow:hidden;
}

.single-actress-message {
	margin:34px 0 24px;
	padding:24px 28px;
	border-left:5px solid #e83e78;
	border-radius:0 10px 10px 0;
	background:#fff2f6;
	font-size:18px;
	font-weight:700;
	line-height:1.9;
}

.single-actress-message span,
.single-actress-message strong {
	display:block;
}

.single-actress-message a {
	color:#e30072;
	text-decoration:underline;
	text-decoration-thickness:2px;
	text-underline-offset:3px;
}

.single-container .single-meta {
	padding:0;
	border:1px solid #e8e3e9;
	border-radius:10px;
	background:#fff;
	overflow:hidden;
}

.work-details {
	margin:0;
}

.work-details > div {
	display:grid;
	grid-template-columns:180px 1fr;
	border-bottom:1px solid #eee;
}

.work-details > div:last-child {
	border-bottom:0;
}

.work-details dt,
.work-details dd {
	margin:0;
	padding:15px 20px;
}

.work-details dt {
	background:#f7f5f7;
	font-weight:700;
	text-align:right;
}

.work-details dd {
	border-left:1px solid #eee;
}

.single-container .single-content {
	margin-top:36px;
	padding:28px;
	border-radius:10px;
	background:#fff;
	line-height:1.9;
}

.share-section {
	margin-top:36px;
	padding-top:28px;
	border-top:1px solid #e7e2e8;
}

.video-link-area {
	margin-top:36px;
}

.video-link-button {
	display:block;
	width:100%;
	box-sizing:border-box;
	padding:16px 24px;
	border-radius:8px;
	background:#e83e4f;
	box-shadow:0 6px 18px rgba(232,62,79,.2);
	color:#fff;
	font-size:18px;
	font-weight:800;
	text-align:center;
	text-decoration:none;
}

.video-link-button:hover {
	background:#d62f41;
	color:#fff;
	transform:translateY(-1px);
}

.share-section h2 {
	margin:0 0 14px;
	font-size:18px;
	text-align:center;
}

.share-buttons {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:10px;
}

.share-button {
	padding:12px 16px;
	border-radius:7px;
	color:#fff;
	font-weight:700;
	text-align:center;
	text-decoration:none;
}

.share-x { background:#111; }
.share-facebook { background:#1877f2; }
.share-line { background:#06c755; }

.share-button:hover {
	color:#fff;
	opacity:.86;
}

.single-recommended {
	margin-top:52px;
	padding-top:34px;
	border-top:1px solid #e7e2e8;
}

.single-recommended h2 {
	margin:0 0 22px;
	font-size:23px;
}

@media(max-width:768px){
	.single-recommended {
		margin-top:38px;
		padding-top:28px;
	}

	.single-container {
		padding-top:30px;
		padding-bottom:48px;
	}

	.single-actress-message {
		padding:18px;
		font-size:16px;
	}

	.work-details > div {
		grid-template-columns:110px 1fr;
	}

	.work-details dt,
	.work-details dd {
		padding:12px;
	}

	.share-buttons {
		grid-template-columns:1fr;
	}

	.work-gallery-grid {
		overflow-x:auto;
		padding-bottom:7px;
		scroll-snap-type:x proximity;
	}

	.gallery-thumbnail {
		flex:0 0 120px;
		scroll-snap-align:start;
	}

	.gallery-modal {
		padding:54px 46px;
	}

	.gallery-modal figure img {
		max-width:90vw;
		max-height:78vh;
	}

	.gallery-modal-prev,
	.gallery-modal-next {
		padding:8px;
		font-size:30px;
	}

	.gallery-modal-prev { left:2px; }
	.gallery-modal-next { right:2px; }
}

/* Category detail WF alignment */
.category-detail .category-header{margin-bottom:30px}
.actress-title-kana{display:inline-block;margin-left:4px;color:#6f6871;font-size:.56em;font-weight:400;letter-spacing:.02em}
.actress-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.actress-social-link{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #ded7dd;border-radius:999px;background:#fff;color:#4d464e;font-size:11px;font-weight:700;line-height:1;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s,filter .2s}
.actress-social-link svg{width:14px;height:14px;fill:currentColor}
.actress-social-link.is-x:hover{border-color:#111;background:#111;color:#fff}
.actress-social-link.is-instagram:hover{border-color:#d62976;background:#fff4f8;color:#c62368}
.actress-social-link{align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%}
.actress-social-link svg{display:block;flex:none;width:20px;height:20px;margin:0}
.actress-social-link.is-x,.actress-social-link.is-x:hover{border-color:#111;background:#111;color:#fff}
.actress-social-link.is-instagram,.actress-social-link.is-instagram:hover{border-color:#d6249f;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);color:#fff}
.actress-social-link:hover{transform:none;filter:brightness(1.08)}
.actress-social-link.is-x:hover{box-shadow:0 0 0 3px rgba(17,17,17,.16)}
.actress-social-link.is-instagram:hover{box-shadow:0 0 0 3px rgba(214,36,159,.2)}
.category-detail .category-introduction .profile-kicker{margin:0 0 10px;color:#e83e78;font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.3}
.category-detail .category-profile{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:20px 30px;margin-top:0;padding:24px 28px}
.category-detail .category-profile-image{width:160px;height:160px}
.category-detail .category-profile-body{align-self:center}
.category-detail .actress-profile-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:0}
.category-detail .actress-profile-meta>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:4px}
.category-detail .category-introduction{grid-column:1/-1;padding-top:18px;border-top:1px solid #eee8ed}
.category-detail .category-introduction h2{margin:0 0 8px;color:#39333b;font-size:16px}
.category-detail .category-introduction p{margin:0;color:#5e5660;line-height:1.8}
.category-detail .maker-profile{grid-template-columns:180px minmax(0,1fr)}
.category-detail .maker-profile .category-profile-image{width:180px;height:100px}
.category-detail-layout{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:24px}
.category-main-column{min-width:0}
.category-main-column .category-works{margin-top:32px}
.category-detail .category-works-heading{margin-bottom:12px}
.category-works-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e9e3e8}
.category-works-controls .solo-work-filter{margin:0}
.category-works-controls .category-sort{margin-left:auto}
.category-filter-links a{display:flex;justify-content:space-between;gap:10px}
.category-filter-links small,.category-filter-options small{flex:none;color:#999098;font-size:10px}
.category-filter-options label span{min-width:0;flex:1}
.genre-filter-chips{flex-direction:row;flex-wrap:wrap;gap:8px;max-height:360px;padding-top:14px}
.genre-filter-chips label{position:relative;display:inline-flex;padding:0}
.genre-filter-chips input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.genre-filter-chips label span{display:inline-flex;align-items:center;gap:6px;flex:none;padding:7px 10px;border:1px solid #e3dce2;border-radius:999px;background:#fff;color:#5f5761;font-size:12px;font-weight:700;line-height:1.2;transition:border-color .2s,background-color .2s,color .2s}
.genre-filter-chips label:hover span{border-color:#ef8cac;background:#fff6f9;color:#d92f6d}
.genre-filter-chips input:checked+span{border-color:#e83e78;background:#e83e78;color:#fff}
.genre-filter-chips input:focus-visible+span{outline:2px solid #e83e78;outline-offset:2px}
.genre-filter-chips label span small{color:#9a9098;font-size:9px}
.genre-filter-chips input:checked+span small{color:#fff}
.genre-filter-form .filter-actions{gap:10px;margin-top:0;padding:28px 16px 16px}
.genre-filter-form .filter-actions button,.genre-filter-form .filter-reset-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:36px;padding:9px 16px;border-radius:7px;font-size:12px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}
.genre-filter-form .filter-actions button{border:1px solid #e83e78;background:#e83e78;color:#fff}
.genre-filter-form .filter-reset-button{border:1px solid #ddd4da;background:#fff;color:#6f6670}
.genre-filter-form .filter-reset-button:hover{border-color:#e83e78;background:#fff6f9;color:#d92f6d}
.category-sidebar .category-filter summary{border-radius:9px 9px 0 0;background:linear-gradient(90deg,#fff0f5 0,#fff 72%);box-shadow:none;color:#3f3741;letter-spacing:.02em}
.filter-all-works{display:flex;align-items:center;justify-content:center;margin:0 16px 16px;padding:8px 12px;border:1px solid #e83e78;border-radius:7px;background:#fff7fa;color:#d92f6d;font-size:12px;font-weight:800;text-decoration:none}
.filter-all-works:hover{background:#e83e78;color:#fff}
.category-filter-links .related-actress-link{align-items:center;justify-content:flex-start;gap:9px;padding:8px 0}
.related-actress-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#f6eaf0;color:#c62f63;font-size:13px;font-weight:800}
.related-actress-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.related-actress-link .category-filter-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.related-actress-link small{margin-left:auto}
.category-sidebar{top:88px}
.admin-bar .site-header{top:32px}
.admin-bar .category-sidebar{top:120px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:900px){
	.category-detail-layout{display:flex;flex-direction:column;gap:24px}
	.category-main-column{display:contents}
	.category-main-column .category-profile,
	.category-main-column .category-description{order:1}
	.category-sidebar{order:2;position:static;width:100%;min-width:0;margin-top:0}
	.category-main-column .category-works{order:3;width:100%;min-width:0;margin-top:0}
	.category-detail .category-works .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	.category-detail .category-header{margin-bottom:20px}
	.category-detail .category-profile{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}
	.category-detail .category-profile-image{width:128px;height:128px;margin:0 auto}
	.category-detail .category-profile-body{width:100%;min-width:0}
	.category-detail .actress-profile-meta{grid-template-columns:1fr;gap:5px}
	.category-detail .actress-profile-meta>div{grid-template-columns:74px minmax(0,1fr)}
	.category-detail .category-introduction{padding-top:15px}
	.category-detail .maker-profile{grid-template-columns:1fr}
	.category-detail .maker-profile .category-profile-image{width:160px;height:90px}
	.category-works-controls{align-items:flex-start;flex-wrap:wrap;gap:12px}
	.category-works-controls .category-sort{margin-left:auto}
	.category-detail .category-works .posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.category-detail .category-works .post-card{min-width:0}
}

/* Single work: keep detail rows vertically stacked on phones. */
@media(max-width:768px){
	.single-container .work-details > div {
		display:block;
	}

	.single-container .work-details dt {
		padding:10px 14px 4px;
		background:#fff;
		color:#756c77;
		font-size:13px;
		text-align:left;
	}

	.single-container .work-details dd {
		padding:3px 14px 12px;
		border-left:0;
	}
}

/* Single work: compact discovery sections. */
.single-actresses,
.single-information,
.single-genres {
	margin-top:34px;
}

.single-actress-list {
	grid-template-columns:1fr;
}

.single-actress-card {
	padding:15px 18px;
}

.single-recommended {
	margin-top:40px;
	padding-top:28px;
}

.single-recommended h2 {
	margin-bottom:16px;
}

.single-recommended .post-actresses,
.single-recommended .post-info,
.single-recommended .post-detail-button {
	display:none;
}

.single-recommended .post-card {
	padding-bottom:14px;
}

.single-recommended .post-title {
	margin-bottom:8px;
}

.single-recommended .post-date {
	margin-top:auto;
}

.single-more-link {
	margin-top:18px;
}

.share-section {
	margin-top:40px;
	padding-top:22px;
}

@media(max-width:768px){
	.single-actresses,
	.single-information,
	.single-genres {
		margin-top:28px;
	}

	.single-actress-card {
		padding:14px 16px;
	}

	.single-recommended {
		margin-top:30px;
		padding-top:22px;
	}

	.single-recommended .posts {
		gap:12px 10px;
	}

	.share-section {
		margin-top:30px;
		padding-top:20px;
	}
}

/* Keep ensemble actress links compact after all single-page overrides. */
.single-actress-list {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:9px;
}

.single-actress-card {
	dis:inline-flex;
	align-items:center;
	justify-content:flex-start;
	flex-direction:row;
	gap:7px;
	width:auto;
	min-height:38px;
	padding:7px 13px;
	border-radius:999px;
}

@media(max-width:768px){
	.single-actress-list { gap:8px; }
	.single-actress-card {
		gap:6px;
		min-height:36px;
		padding:6px 11px;
	}
}

/* Single work: section accents and taxonomy chips. */
.single-section-title,
.single-recommended > h2,
.share-section > h2 {
	position:relative;
	padding-left:15px;
}

.single-section-title::before,
.single-recommended > h2::before,
.share-section > h2::before {
	content:"";
	position:absolute;
	top:.18em;
	bottom:.18em;
	left:0;
	width:5px;
	border-radius:999px;
	background:#e83e78;
}

.single-actress-card,
.single-actress-card:hover {
	border-color:#e83e78;
	border-radius:7px;
	background:#e83e78;
	color:#fff;
}

.single-actress-card strong,
.single-actress-card > span {
	color:#fff;
}

.single-actress-card:hover {
	background:#d92f6d;
	box-shadow:0 5px 14px rgba(232,62,120,.22);
}

.work-detail-genres a {
	display:inline-flex;
	align-items:center;
	min-height:30px;
	margin:2px 5px 2px 0;
	padding:3px 10px;
	border:1px solid #efb4c8;
	border-radius:999px;
	background:#fff7fa;
	color:#d92f6d;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
}

.work-detail-genres a:hover {
	border-color:#e83e78;
	background:#fff0f5;
}

.single-actress-card {
	min-height:20px;
}

.share-section > h2 {
	text-align:left;
}

/* Single work: balanced outer space and tighter recommendation cards. */
.single-container {
	padding-top:64px;
	padding-bottom:96px;
}

.single-recommended .posts {
	gap:16px;
}

.single-recommended .post-card {
	padding:10px;
}

.single-recommended .post-title {
	margin:8px 0 5px;
	font-size:14px;
	line-height:1.55;
}

.single-recommended .post-date {
	padding-top:3px;
	font-size:12px;
}

.single-related-works .related-work-item .post-card {
	height:100%;
}

@media(max-width:768px){
	.single-container {
		padding-top:42px;
		padding-bottom:68px;
	}

	.single-recommended .posts {
		gap:12px 10px;
	}

	.single-recommended .post-card {
		padding:8px;
	}

	.single-recommended .post-title {
		margin-top:7px;
		font-size:14px;
		line-height:1.5;
	}
}

/* Final single-work hover overrides. Keep this block at the end. */
.single-container .work-details .work-detail-genres a {
	transition:background-color .2s,color .2s,border-color .2s;
}

.single-container .work-details .work-detail-genres a:hover,
.single-container .work-details .work-detail-genres a:focus-visible {
	border-color:#d92f6d;
	background-color:#d92f6d;
	color:#fff;
}

.single-container .single-more-link:hover,
.single-container .single-more-link:focus-visible {
	border-color:#d92f6d;
	background-color:#d92f6d;
	color:#fff;
}

.single-container .work-details .work-detail-genres a:hover,
.single-container .work-details .work-detail-genres a:focus-visible {
	text-decoration:none !important;
}

@media(max-width:768px){
	.single-container .work-details dt {
		font-weight:800;
		padding:10px 14px 0;
	}
}

/* Single work cards: equal natural height with the date anchored below. */
.single-recommended .posts {
	align-items:stretch;
}

.single-related-works .related-work-item {
	display:flex;
	min-height:0;
}

.single-related-works .related-work-item .post-card,
.single-series-works .post-card {
	height:auto;
	min-height:0;
	box-sizing:border-box;
}

.single-related-works .related-work-item .post-card {
	flex:1 1 auto;
}

.single-series-works .post-date,
.single-related-works .post-date {
	margin-top:auto !important;
	padding-top:8px;
}

.actress-filter-primary-actions {
	margin-left:auto;
}

.actress-filter-result-count strong {
	font-size:26px;
}

.actress-directory-description {
	margin:18px 0 0;
	padding:16px 20px;
	border-left:4px solid #e83e78;
	border-radius:0 10px 10px 0;
	background:linear-gradient(90deg,#fff1f6 0%,rgba(255,241,246,.28) 72%,rgba(255,255,255,0) 100%);
	color:#625a64;
	font-size:15px;
	line-height:1.9;
}

.actress-directory-description strong {
	color:#c62f63;
	font-weight:800;
}

@media(max-width:600px) {
	.actress-filter-result-count strong {
		font-size:20px;
	}

	.actress-directory-description {
		padding:14px 16px;
		font-size:14px;
		line-height:1.8;
	}
}

/* Editorial note shown only when work_description_ai is available. */
.work-editor-note {
	margin-top:36px;
	padding:26px 28px;
	border:1px solid #e8e3e9;
	border-left:4px solid #cf567e;
	border-radius:0 10px 10px 0;
	background:#fcfafb;
	color:#4d454e;
}

.work-editor-note h2 {
	margin:0 0 14px;
	color:#3d363e;
	font-size:20px;
	font-weight:800;
	line-height:1.5;
}

.work-editor-note-content {
	font-size:16px;
	line-height:1.9;
}

.work-editor-note-content p {
	margin:0 0 12px;
}

.work-editor-note-content p:last-child {
	margin-bottom:0;
}

@media(max-width:600px) {
	.work-editor-note {
		margin-top:30px;
		padding:20px;
	}

	.work-editor-note h2 {
		font-size:22px;
	}
}

/* =========================================================
   Find Actress
   ========================================================= */

.find-actress-page {
	padding-bottom: 64px;
}

.find-actress-hero {
	padding: 64px 0;
	text-align: center;
}

.find-actress-hero-inner {
	max-width: 900px;
}

.find-actress-kicker {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
}

.find-actress-hero h1 {
	margin: 0;
	font-size: clamp(30px, 5vw, 48px);
	line-height: 1.35;
}

.find-actress-lead {
	max-width: 720px;
	margin: 20px auto 0;
	font-size: 16px;
	line-height: 1.9;
}

.find-actress-search {
	display: flex;
	max-width: 720px;
	margin: 32px auto 0;
	gap: 10px;
}

.find-actress-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	font-size: 16px;
	background: #fff;
}

.find-actress-search button {
	flex: 0 0 auto;
	padding: 0 28px;
	border: 0;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.find-actress-search-note {
	margin: 12px 0 0;
	font-size: 13px;
	opacity: .7;
}

.find-actress-section {
	padding: 48px 0;
}

.find-actress-section h2 {
	margin: 0 0 28px;
	text-align: center;
	font-size: clamp(24px, 4vw, 32px);
}

.find-actress-use-cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 900px;
	margin: 0 auto;
}

.find-actress-use-case {
	padding: 24px;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
}

.find-actress-use-case strong {
	display: block;
	margin-bottom: 8px;
	font-size: 17px;
}

.find-actress-use-case p {
	margin: 0;
	line-height: 1.7;
}

.find-actress-steps {
	max-width: 760px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.find-actress-steps li {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 20px 0;
	border-bottom: 1px solid #ececec;
}

.find-actress-step-number {
	display: flex;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
}

.find-actress-steps strong {
	display: block;
	margin-bottom: 5px;
	font-size: 17px;
}

.find-actress-steps p {
	margin: 0;
	line-height: 1.7;
}

.find-actress-flow {
	max-width: 720px;
	margin: 32px auto 0;
	padding: 22px;
	text-align: center;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	line-height: 1.8;
}

.find-actress-flow strong {
	font-size: 20px;
}

.find-actress-path-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	max-width: 900px;
	margin: 0 auto;
}

.find-actress-path-grid a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 26px 18px;
	text-align: center;
	text-decoration: none;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
}

.find-actress-path-grid a > span {
	font-size: 28px;
}

.find-actress-path-grid strong {
	font-size: 17px;
}

.find-actress-path-grid small {
	opacity: .7;
}

@media (max-width: 767px) {
	.find-actress-hero {
		padding: 40px 0;
	}

	.find-actress-search {
		flex-direction: column;
	}

	.find-actress-search button {
		min-height: 50px;
	}

	.find-actress-use-cases,
	.find-actress-path-grid {
		grid-template-columns: 1fr;
	}

	.find-actress-section {
		padding: 36px 0;
	}
}

.hero-find-actress-link {
	margin: 14px 0 0;
	text-align: center;
}

.hero-find-actress-link a {
	display: inline-block;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* =========================================================
   Find Actress - Site Visual Alignment
   ========================================================= */

.find-actress-page {
	background:linear-gradient(180deg,#fff 0%,#fff8fa 100%);
}

.find-actress-hero {
	background:
		linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.35),rgba(255,255,255,.1)),
		url("assets/images/hero-discovery-bg-v2.png") center / cover no-repeat;
	border-bottom:1px solid #f0dfe7;
	color:#392d38;
}

.find-actress-kicker {
	color:#e83e78;
	font-weight:800;
	letter-spacing:.16em;
}

.find-actress-lead {
	color:#655762;
}

.find-actress-search {
	padding:7px;
	border-radius:14px;
	background:#fff;
	box-shadow:0 12px 40px rgba(80,43,59,.12);
}

.find-actress-search input[type="search"] {
	border:0;
	border-radius:9px;
	padding:14px 16px;
	color:#28252b;
}

.find-actress-search button {
	border-radius:9px;
	padding:0 28px;
	background:#e83e78;
	color:#fff;
	transition:background .2s ease,transform .2s ease;
}

.find-actress-search button:hover {
	background:#d92f6d;
	transform:translateY(-1px);
}

.find-actress-search-note {
	color:#776672;
	opacity:1;
}

.find-actress-section h2 {
	color:#312a31;
}

.find-actress-use-case {
	border:1px solid #ebe5eb;
	background:#fff;
	box-shadow:0 8px 24px rgba(55,39,49,.05);
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.find-actress-use-case:hover {
	transform:translateY(-2px);
	border-color:#ef8cac;
	box-shadow:0 12px 28px rgba(55,39,49,.09);
}

.find-actress-use-case strong {
	color:#312a31;
}

.find-actress-use-case p,
.find-actress-steps p {
	color:#655d66;
}

.find-actress-step-number {
	background:#fff0f5;
	color:#e83e78;
	font-weight:800;
}

.find-actress-steps li {
	border-bottom:1px solid #f0ebef;
}

.find-actress-steps strong {
	color:#312a31;
}

.find-actress-flow {
	border:1px solid #eadde3;
	background:#fff4f7;
	box-shadow:0 6px 20px rgba(64,42,55,.04);
}

.find-actress-flow strong {
	color:#e83e78;
}

.find-actress-path-grid a {
	border:1px solid #ebe5eb;
	background:#fff;
	box-shadow:0 8px 24px rgba(55,39,49,.07);
	color:#312a31;
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.find-actress-path-grid a:hover {
	transform:translateY(-2px);
	border-color:#ef8cac;
	box-shadow:0 12px 28px rgba(55,39,49,.11);
}

.find-actress-path-grid a > span {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:50%;
	background:#fff0f5;
	color:#e83e78;
	font-size:20px;
}

.find-actress-path-grid strong {
	color:#312a31;
}

.find-actress-path-grid small {
	color:#817780;
	opacity:1;
}

@media (max-width:767px) {

	.find-actress-search {
		padding:7px;
	}

	.find-actress-search button {
		min-height:50px;
	}

}


/* TOP KV：外側から検索窓へ集まる漫画風の集中線 */
.hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #fff7fa;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		repeating-conic-gradient(
			from -7deg at 50% 61%,
			transparent 0 10.4deg,
			rgba(216, 47, 109, .17) 10.4deg 11.3deg,
			transparent 11.3deg 22.7deg
		),
		repeating-conic-gradient(
			from 4deg at 50% 61%,
			transparent 0 16.2deg,
			rgba(216, 47, 109, .13) 16.2deg 16.55deg,
			transparent 16.55deg 27.8deg
		),
		repeating-conic-gradient(
			from 1deg at 50% 61%,
			transparent 0 23.4deg,
			rgba(216, 47, 109, .2) 23.4deg 25.4deg,
			transparent 25.4deg 41deg
		);
	-webkit-mask: radial-gradient(
		ellipse at 50% 61%,
		transparent 0 28%,
		rgba(0, 0, 0, .35) 30%,
		#000 33% 100%
	);
	mask: radial-gradient(
		ellipse at 50% 61%,
		transparent 0 28%,
		rgba(0, 0, 0, .35) 30%,
		#000 33% 100%
	);
}

.hero-inner {
	position: relative;
	z-index: 1;
}

.hero-search {
	box-shadow: 0 8px 20px rgba(80, 43, 59, .1);
}

@media (max-width: 768px) {
	.hero::before {
		background:
			repeating-conic-gradient(
				from -7deg at 50% 67%,
				transparent 0 13.4deg,
				rgba(216, 47, 109, .17) 13.4deg 14.5deg,
				transparent 14.5deg 28.7deg
			),
			repeating-conic-gradient(
				from 5deg at 50% 67%,
				transparent 0 19.2deg,
				rgba(216, 47, 109, .13) 19.2deg 19.6deg,
				transparent 19.6deg 34.8deg
			),
			repeating-conic-gradient(
				from 1deg at 50% 67%,
				transparent 0 27.4deg,
				rgba(216, 47, 109, .2) 27.4deg 29.7deg,
				transparent 29.7deg 47deg
			);
		-webkit-mask: radial-gradient(
			ellipse at 50% 67%,
			transparent 0 26%,
			rgba(0, 0, 0, .35) 28%,
			#000 31% 100%
		);
		mask: radial-gradient(
			ellipse at 50% 67%,
			transparent 0 26%,
			rgba(0, 0, 0, .35) 28%,
			#000 31% 100%
		);
	}
}

/* Find Actress KV - same visual as TOP hero */
.find-actress-hero {
	position:relative;
	overflow:hidden;
	isolation:isolate;
	background:#fff7fa;
	border-bottom:1px solid #f0dfe7;
	color:#392d38;
}

.find-actress-hero::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background:
		repeating-conic-gradient(from -7deg at 50% 61%,transparent 0 10.4deg,rgba(216,47,109,.17) 10.4deg 11.3deg,transparent 11.3deg 22.7deg),
		repeating-conic-gradient(from 4deg at 50% 61%,transparent 0 16.2deg,rgba(216,47,109,.13) 16.2deg 16.55deg,transparent 16.55deg 27.8deg),
		repeating-conic-gradient(from 1deg at 50% 61%,transparent 0 23.4deg,rgba(216,47,109,.2) 23.4deg 25.4deg,transparent 25.4deg 41deg);
	-webkit-mask:radial-gradient(ellipse at 50% 61%,transparent 0 28%,rgba(0,0,0,.35) 30%,#000 33% 100%);
	mask:radial-gradient(ellipse at 50% 61%,transparent 0 28%,rgba(0,0,0,.35) 30%,#000 33% 100%);
}

.find-actress-hero-inner {
	position:relative;
	z-index:1;
}

@media (max-width:768px) {
	.find-actress-hero::before {
		background:
			repeating-conic-gradient(from -7deg at 50% 67%,transparent 0 13.4deg,rgba(216,47,109,.17) 13.4deg 14.5deg,transparent 14.5deg 28.7deg),
			repeating-conic-gradient(from 5deg at 50% 67%,transparent 0 19.2deg,rgba(216,47,109,.13) 19.2deg 19.6deg,transparent 19.6deg 34.8deg),
			repeating-conic-gradient(from 1deg at 50% 67%,transparent 0 27.4deg,rgba(216,47,109,.2) 27.4deg 29.7deg,transparent 29.7deg 47deg);
		-webkit-mask:radial-gradient(ellipse at 50% 67%,transparent 0 26%,rgba(0,0,0,.35) 28%,#000 31% 100%);
		mask:radial-gradient(ellipse at 50% 67%,transparent 0 26%,rgba(0,0,0,.35) 28%,#000 31% 100%);
	}
}
