@charset "UTF-8";

/*
 * Ported from wp-content/themes/swell_child/assets/entity-pages.css,
 * scoped to only the circle/creator subset of that shared
 * series/circle/creator stylesheet -- the series master page already has
 * its own complete, independently-implemented series-master-v42.css and
 * is not touched here. Rules that only ever apply to series markup
 * (.entity-page--series, the template-local .breadcrumb, .reading-box,
 * .quicknav*, .series-data*, .entity-relations, .entity-grid--series,
 * .anchor-card) are excluded rather than carried over as dead weight;
 * taxonomy-circle.php/taxonomy-creator.php never emit those classes. The
 * source's own SWELL-fighting rule (.hd-entity-page #breadcrumb,
 * #sidebar { display:none; }) is also excluded -- this theme has no
 * SWELL wrapper elements to fight, and its own breadcrumb
 * (hdtheme_render_breadcrumb(), site.css's .hd-breadcrumb*) is an
 * entirely different, already-independent element the template-local
 * .breadcrumb this file used to hide was a duplicate of.
 *
 * CSS custom properties are retargeted to this theme's own tokens
 * (--c-main/--c-dark/--c-light2/--c-border/--c-border-strong become
 * --hd-c-main/--hd-c-dark/--hd-c-light2/--hd-c-border/--hd-c-border-strong;
 * defined in style.css), the same retargeting sale-index.css/home.css/
 * work-pages.css already use. The 900px SP breakpoint is unchanged from
 * the source (already this theme's own common boundary, no retargeting
 * needed); the source's separate 340px extra-narrow breakpoint was
 * removed in 1.0.22 (see below).
 *
 * .work-card and its full subtree (card-link/work-cov/work-body/
 * work-title/ep-inline/ep-sep/work-entity-link/work-circle/work-price/
 * rrp-main/off-rate/work-actions/work-fanza) is no longer styled in this
 * file at all as of 1.0.23 -- it moved to the single shared
 * assets/css/common-work-card.css (enqueued as this file's own
 * dependency, see functions.php's hdtheme_enqueue_assets()), after 1.0.22
 * kept an independent copy here that drifted out of sync with the actual
 * canonical values in production (see
 * release-records/theme-independent-1.0.23-common-work-card-css-consolidation.md
 * for the incident and fix). This page's own remaining CSS covers only
 * its grid layout (.entity-grid), headings/pagination, and other page
 * chrome that is genuinely specific to this page. The source's separate
 * 340px extra-narrow breakpoint (a
 * tighter .entity-grid gap and narrower .work-fanza side padding) was
 * removed: it existed to keep the old design's percentage-width cards
 * from breaking at very narrow viewports, but this page's cards are now a
 * fixed 163px at SP with the grid's own auto-fill/justify-content:center
 * handling any leftover space, so no extra-narrow adjustment is needed.
 */

.hd-entity-page {
	background: var(--hd-page-bg);
}

.hd-entity {
	padding: 24px 14px 70px;
	color: #333;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 1.7;
}

.hd-entity .entity-page {
	width: min(100%, 1080px);
	min-height: 70vh;
	margin: 0 auto;
	background: #fff;
}

.hd-entity .num {
	font-family: "Inter", "Noto Sans JP", sans-serif;
}

.hd-entity .entity-meta-row a,
.hd-entity .head-meta a {
	color: var(--hd-c-dark);
	text-decoration: underline;
	text-decoration-thickness: 1.2px;
	text-underline-offset: 2px;
}

.hd-entity .page-head {
	padding: 16px 28px 24px;
	border-bottom: 1px solid var(--hd-c-border);
}

/* v10 mock parity: a small pill directly above the h1 so a circle page and
   a creator page are distinguishable at a glance (icon shape + text only --
   no new semantic color, since violet/orange are already the omnibus
   meaning-colors elsewhere on this theme). */
.hd-entity .entity-type-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 9px;
	padding: 3px 10px;
	border-radius: 4px;
	background: var(--hd-c-light2);
	color: #555;
	font-size: 11.5px;
	font-weight: 700;
}

.hd-entity .entity-type-tag svg {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

.hd-entity .page-head h1 {
	margin: 0;
	color: #333;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.5;
}

.hd-entity .name-reading,
.hd-entity .head-meta {
	margin: 5px 0 0;
	color: #555;
	font-size: 13px;
}

.hd-entity .lead {
	max-width: 720px;
	margin-top: 10px;
	color: #333;
	font-size: 15px;
	font-weight: 400;
}

.hd-entity .lead p {
	margin: 0 0 0.7em;
}

.hd-entity .entity-meta-row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-top: 14px;
	font-size: 15px;
}

.hd-entity .entity-meta-row > span {
	color: #555;
	font-size: 13px;
	font-weight: 700;
}

.hd-entity .entity-meta-row--multiple > div {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
}

/* v10 mock parity: a divider between the basic-info block (h1/reading/lead/
   entity-meta-row above) and the external-link buttons below, without
   restructuring the surrounding <header class="page-head"> markup. */
.hd-entity .external-links {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--hd-c-border);
}

.hd-entity .external-links h2 {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
}

.hd-entity .external-links > div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* v10 mock parity: X/official-site/FANZA buttons, replacing the previous
   uniform label-only style. Icon color inherits from this rule's own
   color (currentColor) -- no separate icon-color declaration needed. */
.hd-entity .external-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 1px solid var(--hd-c-border-strong);
	border-radius: 8px;
	background: #fff;
	color: var(--hd-c-dark);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.15s;
}

.hd-entity .external-link:hover {
	background: #d4e8dd;
}

.hd-entity .external-link-icon {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}

/* X: logo-only square button (no visible label -- aria-label carries the
   accessible name), matching v10. */
.hd-entity .external-link--x {
	width: 34px;
	justify-content: center;
	padding: 8px;
}

.hd-entity .external-link--x .external-link-icon {
	width: 16px;
	height: 16px;
}

.hd-entity .entity-works {
	margin: 0 28px;
	padding: 28px 0;
	border-bottom: 1px solid var(--hd-c-border);
}

.hd-entity .entity-works:last-child {
	border-bottom: 0;
}

.hd-entity .section-heading h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

/*
 * 1.0.24: count row right edge now matches .entity-grid's own right edge
 * (both are direct children of .entity-works, same left/right bounds),
 * mirroring sale-index.css's .result-line "新着順に表示" (left) / count
 * (right) row exactly. margin-bottom raised from 16px to 28px (SP: 20px,
 * see the @media(max-width:900px) block below) to match the same visual
 * gap sale-index.css's .result-line-to-.sale-grid spacing has there
 * (.sale-section's own 28px/20px top padding, since .result-line and
 * .sale-section are adjacent siblings with no margin of their own).
 */
.hd-entity .section-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 28px;
}

.hd-entity .section-heading p {
	margin: 0;
	color: #555;
	font-size: 12px;
}

.hd-entity .section-heading p b {
	color: #333;
	font-size: 13px;
}

/*
 * 1.0.25: 4-column (PC) / 2-column (SP) grid, columns split the available
 * grid width evenly via minmax(0,1fr), matching sale-index.css's
 * .sale-grid fix exactly -- see that file's own comment for why this
 * replaced 1.0.24's minmax(0,240px)/minmax(0,170px) column cap +
 * justify-content:center, which left unused space inside .entity-works'
 * padding instead of filling it.
 */
.hd-entity .entity-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

@media (max-width: 900px) {
	.hd-entity .entity-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Card body (.work-card and everything inside it -- card-link/work-cov/
 * work-body/work-title/ep-inline/ep-sep/work-circle/work-entity-link/
 * work-price/rrp-main/off-rate/work-actions/work-fanza) is styled once,
 * shared across every page, by assets/css/common-work-card.css (enqueued
 * as a dependency of this file -- see functions.php's
 * hdtheme_enqueue_assets()). This includes .work-entity-link's full
 * appearance (it shares .work-circle's spacing/sizing there, plus its own
 * link color/underline) -- only *which* term a given card's entity_link
 * points to (its own author on a circle page, its own circle on a
 * creator page) is this page's own data concern, computed in PHP
 * (inc/entity-pages.php's hdtheme_entity_work_card()), not a CSS one.
 * 1.0.22 kept an independent copy of all of this here; 1.0.23 removed it
 * in favor of the shared file -- see
 * release-records/theme-independent-1.0.23-common-work-card-css-consolidation.md.
 */

.hd-entity .empty-message {
	margin: 0;
	padding: 24px;
	border-radius: 8px;
	background: #f7faf8;
	color: #555;
	font-size: 14px;
	text-align: center;
}

.hd-entity .entity-pagination {
	margin-top: 28px;
}

.hd-entity .entity-pagination .page-numbers {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hd-entity .entity-pagination a,
.hd-entity .entity-pagination span {
	display: grid;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	place-items: center;
	border: 1px solid var(--hd-c-border-strong);
	border-radius: 5px;
	color: #333;
	font-size: 12px;
	text-decoration: none;
}

.hd-entity .entity-pagination .current {
	border-color: var(--hd-c-main);
	background: var(--hd-c-main);
	color: #fff;
}

@media (max-width: 900px) {
	.hd-entity {
		padding: 0 0 50px;
	}

	.hd-entity .page-head {
		padding: 14px 16px 20px;
	}

	.hd-entity .page-head h1 {
		font-size: 19px;
	}

	.hd-entity .entity-works {
		margin-right: 16px;
		margin-left: 16px;
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.hd-entity .section-heading h2,
	.hd-entity .external-links h2 {
		font-size: 16px;
	}

	/* .entity-grid's own card-width switch (163px) is set by the dedicated
	   @media(max-width:900px) block declared with .entity-grid above. Card
	   body's own SP typography/FANZA-button overrides now live in
	   common-work-card.css's @media(max-width:900px) block -- neither is
	   redeclared here. */

	/*
	 * 1.0.24: heading stays on its own line at its own left-aligned
	 * position (align-self:flex-start on the h2 itself, unchanged from
	 * before); only the count line (p) moves to the right edge via its
	 * own align-self:flex-end, matching PC's already-right-aligned count
	 * (this file's own base .section-heading rule above uses
	 * justify-content:space-between) instead of stacking both flush left
	 * as a plain column previously did.
	 */
	.hd-entity .section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
		margin-bottom: 20px;
	}

	.hd-entity .section-heading h2 {
		align-self: flex-start;
	}

	.hd-entity .section-heading p {
		align-self: flex-end;
	}
}
