/*
Theme Name: Gayvio
Description: A lightweight affiliate catalog theme for Gayvio.
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: gayvio
*/

@font-face {
	font-family:"Gayvio Brand M PLUS 1p";
	font-style:normal;
	font-weight:800;
	font-display:swap;
	src:url("assets/fonts/gayvio-mplus1p-800.woff2") format("woff2");
}
@font-face {
	font-family:"Gayvio Brand M PLUS 1p";
	font-style:normal;
	font-weight:900;
	font-display:swap;
	src:url("assets/fonts/gayvio-mplus1p-900.woff2") format("woff2");
}

/* ========== Design tokens ========== */
:root {
	color-scheme: dark;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans JP", sans-serif;
	font-size: 100%;
	line-height: 1.6;
	color: var(--gv-shell-text);
	background: var(--gv-shell-bg);
	/* Adjustable: page geometry */
	--page-max: 92rem;
	--page-gutter: 12px;
	--grid-column-gap: 10px;
	--grid-row-gap: 12px;
	--header-pad-y: 8px;
	--content-pad-y: 10px;
	/* Geometry */
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 8px;
	--radius-pill: 999px;
}


/* ========== Base ========== */
* { box-sizing: border-box; }
html, body { background: var(--gv-shell-bg); max-width: 100%; }
body { margin: 0; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere; max-width: 100%; }
a { color: var(--gv-shell-primary); text-decoration-thickness: 0.08em; text-underline-offset: 0.15em; }
a:hover { color: var(--gv-shell-text); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--gv-shell-accent); outline-offset: 2px; }
img { display: block; max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 10px 14px; clip: auto; clip-path: none; color: var(--gv-shell-text); background: var(--gv-shell-surface); border-radius: 6px; }

/* ========== Layout shell ========== */
.site-header-inner, .site-main, .site-footer-inner {
	width: calc(100% - (2 * var(--page-gutter)));
	max-width: var(--page-max);
	margin-inline: auto;
	min-width: 0;
	box-sizing: border-box;
}

/* ========== Header ========== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid var(--gv-shell-line);
}
.site-brand {
	display:inline-flex;
	align-items:center;
	gap:.16em;
	min-height:44px;
	text-decoration:none;
	color:var(--gv-shell-primary);
	white-space:nowrap;
	min-width:0;
}
.site-brand-name,
.site-brand-latin {
	font-family:"Gayvio Brand M PLUS 1p",sans-serif;
	color:var(--gv-shell-primary);
}
.site-brand-name {
	font-size:1.74em;
	font-weight:900;
	letter-spacing:-.015em;
	line-height:1;
	-webkit-text-stroke:.45px currentColor;
	paint-order:stroke fill;
}
.site-brand-latin {
	align-self:center;
	font-size:.66em;
	font-weight:800;
	letter-spacing:0;
	line-height:1;
	opacity:.78;
	transform:translateY(.12em);
}
.site-search {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.site-search input[type="search"], .site-search button {
	min-height: 44px;
	font: inherit;
}
.site-search input[type="search"] {
	min-width: 0;
	width: 100%;
	padding: 0 12px;
	border: 1px solid var(--gv-shell-line);
	border-right: 0;
	border-radius: var(--radius-md) 0 0 var(--radius-md);
	background: var(--gv-shell-surface-2);
	color: var(--gv-shell-text);
	font-size: 0.875rem;
}
.site-search input[type="search"]::placeholder { color: var(--gv-shell-muted); }
.site-search input[type="search"]:focus { border-color: var(--gv-shell-primary); }
.site-search button {
	padding: 0 18px;
	border: 0;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	background: var(--gv-shell-primary);
	color: #fff;
	font-weight: 720;
	font-size: 0.875rem;
	cursor: pointer;
	min-width: 0;
	max-width: 100%;
	white-space: nowrap;
	flex-shrink: 0;
	box-sizing: border-box;
}
.site-search button:hover { background: color-mix(in srgb,var(--gv-shell-primary) 88%,#000); }
.site-search button:active { background: color-mix(in srgb,var(--gv-shell-primary) 76%,#000); }

/* ========== Main ========== */
.site-main { padding-block: var(--content-pad-y) 32px; min-width: 0; max-width: 100%; box-sizing: border-box; }
/* Section header */
.section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block: 0 6px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.section-header h2 {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.3;
	letter-spacing: -0.02em;
	font-weight: 800;
}
.section-header h2::before {
	display: inline-block;
	width: 3px;
	height: 1em;
	margin-right: 7px;
	border-radius: 999px;
	content: "";
	vertical-align: -0.12em;
	background: linear-gradient(180deg, var(--gv-shell-accent), var(--gv-shell-primary));
}
.section-header a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-pill);
	background: var(--gv-shell-surface-2);
	color: var(--gv-shell-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
}
.section-header a::after { content: "›"; font-size: 1rem; line-height: 1; transform: translateY(-1px); opacity: 0.9; }
.section-header a:hover { background: var(--gv-shell-surface-2); color: var(--gv-shell-text); border-color: var(--gv-shell-line); }

/* ========== Video grid: high-density thumbnail focus ========== */
.entry-thumbnail.entry-thumbnail--content-featured { max-width: 32rem; margin-bottom: 12px; }
.video-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--grid-row-gap) var(--grid-column-gap);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.entry-card { min-width: 0; max-width: 100%; display: flex; flex-direction: column; overflow: hidden; padding: 3px; border-radius: var(--radius-md); background: color-mix(in srgb,var(--gv-shell-surface) 72%,var(--gv-shell-bg)); box-sizing: border-box; }
.entry-thumbnail {
	display: block;
	position: relative;
	margin-bottom: 5px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-sm);
	box-shadow: inset 0 0 0 1px var(--gv-shell-line);
	transition: box-shadow 120ms;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.entry-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-width: 0;
	max-width: 100%;
}
.entry-thumbnail.is-landscape img,
.entry-thumbnail img.is-landscape,
.entry-thumbnail.is-portrait img,
.entry-thumbnail img.is-portrait,
.entry-thumbnail.is-square img,
.entry-thumbnail img.is-square {
	object-fit: contain;
	background: var(--gv-shell-surface-2);
}
.entry-thumbnail-placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--gv-shell-surface-2) 0%, var(--gv-shell-line) 100%);
	color: var(--gv-shell-muted);
	display: grid;
	place-items: center;
	font-size: 0.75rem;
}
.entry-thumbnail-placeholder.img-fallback { display: none; }
.video-detail-main-image .img-fallback.video-detail-noimage {
	position: absolute;
	inset: 0;
}
.entry-preview {
	position: absolute;
	inset: 0;
	display: none;
	background-repeat: no-repeat;
	background-color: var(--gv-shell-surface-2);
	border-radius: var(--radius-sm);
}
.entry-preview.is-active { display: block; }
.entry-thumbnail[data-preview-url] {
	touch-action: pan-y pinch-zoom;
}
.entry-title {
	display: -webkit-box;
	min-height: 2.7em;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 0.8125rem;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
	max-width: 100%;
}
.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--gv-shell-text); text-decoration: underline; text-decoration-thickness: 0.08em; text-underline-offset: 0.12em; }
.entry-card-meta{display:flex;align-items:baseline;gap:4px;min-width:0;max-width:100%;margin-top:4px;overflow:hidden;color:color-mix(in srgb,var(--gv-shell-text) 78%,var(--gv-shell-muted));font-size:.65rem;line-height:1.2}
.entry-card-meta-primary{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--gv-shell-text);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.entry-card-meta-separator{flex:0 0 auto;color:color-mix(in srgb,var(--gv-shell-text) 78%,var(--gv-shell-muted));font-weight:700}
.entry-card-meta-secondary{flex:0 1 auto;min-width:0;overflow:hidden;color:color-mix(in srgb,var(--gv-shell-text) 78%,var(--gv-shell-muted));font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.video-card-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;max-width:100%;margin-top:5px}
.video-card-badge{display:inline-flex;align-items:center;max-width:100%;min-height:19px;padding:1px 5px;border-radius:var(--radius-sm);font-size:.59rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-card-badge--provider{border:1px solid transparent;background:color-mix(in srgb,var(--gv-shell-text) 11%,var(--gv-shell-surface-2));color:var(--gv-shell-text);font-weight:800}
.video-card-badge--service{border:1px solid color-mix(in srgb,var(--gv-shell-primary) 32%,var(--gv-shell-line));background:transparent;color:color-mix(in srgb,var(--gv-shell-text) 88%,var(--gv-shell-primary));font-weight:700}

/* ========== Listing common ========== */
.breadcrumbs {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	overflow: hidden;
	color: var(--gv-shell-muted);
	font-size: 0.75rem;
	white-space: nowrap;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.breadcrumbs a { color: var(--gv-shell-primary); text-decoration: none; }
.breadcrumbs a:hover { color: var(--gv-shell-text); text-decoration: underline; }
.breadcrumbs [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; color: var(--gv-shell-muted); }
.listing-header { margin-bottom: 14px; }
.page-title {
	margin: 0;
	font-size: clamp(1.25rem, 4vw, 1.65rem);
	line-height: 1.25;
	letter-spacing: -0.03em;
}
/* Pagination: numbered, 44px real, 8px gap, prev/next */
.navigation.pagination { margin-top: 26px; }
.nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-md);
	background: var(--gv-shell-surface-2);
	color: var(--gv-shell-text);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
}
.page-numbers:hover { background: var(--gv-shell-surface-2); border-color: var(--gv-shell-line); }
.page-numbers.prev, .page-numbers.next { padding-inline: 14px; }
.page-numbers.dots { border-color: transparent; background: transparent; min-width: auto; padding: 0 4px; }
.pagination-short-label { display: none; }
@media(max-width:767px){
	.navigation.pagination .nav-links{gap:4px}
	.navigation.pagination .page-numbers{min-width:32px;min-height:36px;padding:0 6px;font-size:.8rem}
	.navigation.pagination .page-numbers.prev,.navigation.pagination .page-numbers.next{min-width:36px;padding-inline:0}
	.navigation.pagination .page-numbers.dots{min-width:14px;padding:0 1px}
	.navigation.pagination .pagination-mobile-extra{display:none}
	.navigation.pagination .pagination-long-label{display:none}
	.navigation.pagination .pagination-short-label{display:inline;font-size:1.15rem;line-height:1}
}

/* Search empty, performer empty */
.search-empty, .listing-empty {
	padding: 18px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-md);
	background: var(--gv-shell-surface);
	color: var(--gv-shell-muted);
	font-size: 0.875rem;
}
.search-empty p, .listing-empty p { margin: 0; }
.search-suggest { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.search-suggest a {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	padding: 0 12px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-pill);
	background: var(--gv-shell-surface);
	color: var(--gv-shell-muted);
	font-size: 0.8125rem;
	text-decoration: none;
}
.search-suggest a:hover { background: var(--gv-shell-surface-2); color: var(--gv-shell-text); }

/* ========== Video detail: narrow single-column, wide two-column ========== */
.video-detail { margin-inline: auto; }
.video-detail-media { min-width: 0; max-width: 100%; box-sizing: border-box; }
.video-detail-main-image {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-md);
	border: 1px solid var(--gv-shell-line);
	aspect-ratio: 16 / 9;
}
.video-detail-main-image.is-image { touch-action: pan-y pinch-zoom; }
.video-detail-main-image [hidden] { display: none !important; }
.video-detail-main-image img { width: 100%; height: 100%; object-fit: contain; background: var(--gv-shell-surface-2); display: block; }
.video-detail-main-image > a { display: block; width: 100%; height: 100%; }
.video-detail-noimage {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	background: var(--gv-shell-surface-2);
	color: var(--gv-shell-muted);
	font-size: 0.875rem;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.video-detail-thumb-rail {
	margin-top: 8px;
}
.video-detail-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}
@media (max-width: 767px) { .video-detail-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.video-detail-thumb {
	position: relative;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: var(--radius-sm);
	border: 1px solid var(--gv-shell-line);
	aspect-ratio: 16 / 9;
	font: inherit;
	color: inherit;
	appearance: none;
	cursor: pointer;
}
.video-detail-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--gv-shell-surface-2);
	display: block;
}
.video-detail-info {
	display: grid;
	gap: 8px;
	min-width: 0;
	align-content: start;
}
.video-detail-title {
	margin: 0;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	line-height: 1.3;
	letter-spacing: -0.03em;
}
.video-detail-media > .video-detail-title { margin-bottom: 10px; }
.video-detail-section-title { margin:0; font-size:.78rem; font-weight:800; line-height:1.3; letter-spacing:.01em; }
.video-detail-facts { overflow:hidden; border:1px solid var(--gv-shell-line); border-radius:7px; }
.video-detail-fact-row { display:grid; grid-template-columns:6.2rem minmax(0,1fr); gap:8px; align-items:start; padding:7px 10px; border-top:1px solid var(--gv-shell-line); font-size:.82rem; line-height:1.4; }
.video-detail-fact-row:first-child { border-top:0; }
.video-detail-fact-label { color:var(--gv-shell-muted); font-size:.69rem; font-weight:750; line-height:1.4; }
.video-detail-fact-value { min-width:0; color:var(--gv-shell-text); }
.video-detail-performer-links { display:flex; flex-wrap:wrap; gap:2px 4px; align-items:baseline; }
.video-detail-performer-links a,.video-detail-provider-path a,.video-detail-service-links a { font-weight:700; text-decoration:none; }
.video-detail-performer-links a:hover,.video-detail-provider-path a:hover,.video-detail-service-links a:hover { color:var(--gv-shell-text); text-decoration:underline; }
.video-detail-performer-alias { color:var(--gv-shell-muted); font-size:.76rem; }
.video-detail-provider-path { display:inline-flex; max-width:100%; overflow-x:auto; flex-wrap:nowrap; gap:4px; white-space:nowrap; }
.video-detail-provider-separator { flex:0 0 auto; color:var(--gv-shell-muted); }
.video-detail-service-links { display:inline-flex; flex-wrap:wrap; gap:2px 4px; }
.video-detail-tags { display:flex; flex-wrap:wrap; gap:3px; }
.video-detail-tags a { display:inline-flex; min-height:22px; align-items:center; padding:1px 6px; border:1px solid var(--gv-shell-line); border-radius:var(--radius-pill); font-size:.69rem; line-height:1.2; text-decoration:none; }
.video-detail-tags a:hover { background:var(--gv-shell-surface-2); color:var(--gv-shell-text); border-color:var(--gv-shell-line); }
.video-detail-overview-wrap { position:relative; display:grid; gap:6px; margin-top:7px; padding:16px 12px 10px; border:1px solid var(--gv-shell-line); border-radius:7px; }
.video-detail-overview-title { position:absolute; top:0; left:8px; transform:translateY(-50%); padding:0 5px; }
.video-detail-overview { margin:0; font-size:.82rem; line-height:1.55; overflow-wrap:break-word; }
.video-detail-overview > :first-child { margin-top:0; }
.video-detail-overview > :last-child { margin-bottom:0; }
.video-detail-overview p { margin:0 0 .6em; }
.video-detail-overview p:last-child { margin-bottom:0; }
.video-detail-overview.is-clamped { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:10; overflow:hidden; }
.video-detail-overview.is-expanded { display:block; }
.video-detail-overview-toggle { justify-self:start; min-height:28px; padding:0 10px; border:1px solid var(--gv-shell-line); border-radius:var(--radius-pill); font-size:.75rem; font-weight:600; cursor:pointer; }
.video-detail-overview-toggle:hover,.video-detail-overview-toggle:focus-visible { background:var(--gv-shell-surface-2); color:var(--gv-shell-text); border-color:var(--gv-shell-line); }
.video-detail-gallery-sample {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: #000;
}
.video-detail-gallery-sample iframe,
.video-detail-gallery-sample video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
	object-fit: contain;
}
.video-detail-main-image.is-native-sample {
	aspect-ratio: auto;
}
.video-detail-main-image.is-native-sample .video-detail-gallery-sample {
	position: relative;
	inset: auto;
}
.video-detail-main-image.is-native-sample video {
	height: auto;
	aspect-ratio: 16 / 9;
}
.related-products, .performer-works { margin-top:26px; }
.entry-content { max-width:46rem; font-size:.9375rem; line-height:1.75; color:var(--gv-shell-muted); }
.entry-content > :first-child { margin-top:0; }
.entry-content > :last-child { margin-bottom:0; }
.listing-content { width:100%; max-width:100%; min-width:0; }
.video-detail-panel { margin:0; padding:10px 12px; border:1px solid var(--gv-shell-line); border-radius:7px; }
.video-detail-action-panel { display:grid; gap:7px; }
.video-detail-offer-notice { margin:0; color:var(--gv-shell-muted); font-size:.78rem; }
.video-detail-sellers { display:grid; gap:6px; }
.video-detail-sellers a { display:flex; width:100%; box-sizing:border-box; min-height:42px; align-items:center; justify-content:center; padding:8px 12px; border-radius:6px; background:var(--gv-shell-primary); color:var(--gv-shell-button-text); font-weight:750; font-size:.9rem; text-align:center; text-decoration:none; }
.video-detail-sellers a:hover { background:color-mix(in srgb,var(--gv-shell-primary) 88%,#000); }
.video-detail-sellers a:active { background:color-mix(in srgb,var(--gv-shell-primary) 76%,#000); }

/* ========== Performer ========== */
.performer-index-search { max-width: 32rem; margin-bottom: 14px; }
.performer-header {
	padding: 16px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-lg);
	background: var(--gv-shell-surface);
	margin-bottom: 16px;
}
.performer-header-main {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.performer-avatar {
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	border-radius: 50%;
	background: var(--gv-shell-surface-2);
	border: 1px solid var(--gv-shell-line);
	display: grid;
	place-items: center;
	color: var(--gv-shell-muted);
	font-size: 1.55rem;
	font-weight: 800;
	overflow: hidden;
}
.performer-avatar img { width: 100%; height: 100%; object-fit: cover; }
.performer-identity { min-width: 0; flex: 1; }
.performer-name {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.25;
	letter-spacing: -0.03em;
}
.performer-alias {
	margin: 4px 0 0;
	color: var(--gv-shell-muted);
	font-size: 0.8125rem;
}
.performer-stats {
	margin-top: 8px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 0.8125rem;
	color: var(--gv-shell-muted);
}
.performer-stats strong { color: var(--gv-shell-text); }
.performer-bio {
	margin-top: 10px;
	color: var(--gv-shell-muted);
	font-size: 0.875rem;
	line-height: 1.65;
}
.performer-prefix a {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	padding: 0 12px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-pill);
	background: var(--gv-shell-surface);
	color: var(--gv-shell-muted);
	font-size: 0.8125rem;
	text-decoration: none;
}
.performer-prefix a:hover { background: var(--gv-shell-surface-2); color: var(--gv-shell-text); }
.performer-prefix {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.performer-list {
	display: grid;
	gap: 8px;
}
.performer-list-item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-md);
	background: var(--gv-shell-surface);
	text-decoration: none;
	color: var(--gv-shell-text);
	min-height: 44px;
}
.performer-list-item:hover, .performer-list-item:focus-visible { background: var(--gv-shell-surface-2); border-color: var(--gv-shell-line); color: var(--gv-shell-text); }
.performer-list-avatar {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 50%;
	background: var(--gv-shell-surface-2);
	border: 1px solid var(--gv-shell-line);
	display: grid;
	place-items: center;
	color: var(--gv-shell-muted);
	font-weight: 800;
	font-size: 0.9rem;
	overflow: hidden;
}
.performer-list-avatar img { width: 100%; height: 100%; object-fit: cover; }
.performer-list-main { display: grid; gap: 2px; min-width: 0; flex: 1; }
.performer-list-name { font-weight: 600; font-size: 0.9rem; }
.performer-list-count { color: var(--gv-shell-muted); font-size: 0.8125rem; margin-left: 6px; }
.performer-list-bio { color: var(--gv-shell-muted); font-size: 0.75rem; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.performer-empty {
	padding: 24px;
	border: 1px dashed var(--gv-shell-line);
	border-radius: var(--radius-lg);
	background: var(--gv-shell-surface);
	color: var(--gv-shell-muted);
	font-size: 0.875rem;
}

/* Genre index */
.term-index { display: grid; gap: 12px; }
.term-card {
	padding: 14px;
	border: 1px solid var(--gv-shell-line);
	border-radius: var(--radius-md);
	background: var(--gv-shell-surface);
}
.term-card h2 { margin: 0 0 4px; font-size: 1rem; }
.term-card h2 a { color: var(--gv-shell-text); text-decoration: none; }
.term-card h2 a:hover, .term-card h2 a:focus-visible { background: var(--gv-shell-surface-2); color: var(--gv-shell-text); text-decoration: underline; }
.term-card p { margin: 0; color: var(--gv-shell-muted); font-size: 0.8125rem; }
.term-card .term-count { color: var(--gv-shell-muted); font-weight: 600; }
/* v23 Provider directory. The theme owns the outer page gutters and shell. */
.canonical-tag-button{display:flex;align-items:baseline;gap:7px;width:100%;min-width:0;min-height:0;padding:8px 10px;color:var(--gv-shell-text);font-size:.88rem;line-height:1.25;text-decoration:none}
.canonical-tag-button:hover,.canonical-tag-button:focus-visible{background:var(--gv-shell-surface-2);color:var(--gv-shell-primary)}
.gv-provider-index{width:100%;min-width:0;padding:10px 0 24px;color:var(--gv-shell-text)}
.gv-provider-index .page-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 18px}
.gv-provider-index .directory-title{font-size:clamp(18px,2vw,20px);font-weight:850;line-height:1.3;letter-spacing:-.025em}
.gv-provider-index .page-count{display:inline-flex;align-items:baseline;gap:4px;flex:0 0 auto;color:var(--gv-shell-text);font-size:10px;font-weight:700}
.gv-provider-index .page-count b{color:var(--gv-shell-text);font-size:13px;line-height:1;font-variant-numeric:tabular-nums}
.gv-provider-index .vendor-section{margin:0 0 17px;min-width:0;border:1px solid var(--gv-shell-line);border-radius:10px;background:var(--gv-shell-surface)}
.gv-provider-index .vendor-section-head{padding:14px 16px 10px}
.gv-provider-index .vendor-section-head h2{margin:0;font-size:17px;font-weight:850;letter-spacing:-.02em;line-height:1.35}
.gv-provider-index .vendor-section-head h2 a{color:inherit;text-decoration:none}
.gv-provider-index .vendor-section-head h2 a:hover,.gv-provider-index .vendor-section-head h2 a:focus-visible{color:var(--gv-shell-primary);text-decoration:underline;text-underline-offset:.15em}
.gv-provider-index .vendor-section-body{padding:3px 16px 17px;min-width:0}
.gv-provider-index .vendor-grid,.gv-provider-index .family-group,.gv-provider-index .family-children{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:7px 10px;min-width:0}
.gv-provider-index .family-group{margin-top:20px}
.gv-provider-index .family-group>.vendor-entry{grid-column:1}
.gv-provider-index .family-children{grid-column:1/-1}
.gv-provider-index .vendor-grid--orphan{margin-top:7px}
.gv-provider-index .vendor-entry{display:flex;align-items:stretch;min-width:0;width:100%;line-height:1.35}
.gv-provider-index .vendor-name{display:flex;flex:1 1 0;align-items:center;min-width:0;min-height:36px;padding:6px 10px;border:1px solid var(--gv-shell-line);border-radius:6px 0 0 6px;background:var(--gv-shell-surface-2);color:var(--gv-shell-text);font-size:.88rem;font-weight:700;overflow-wrap:anywhere;word-break:normal;text-decoration:none}
.gv-provider-index .vendor-sites{display:flex;min-width:0;flex:0 0 auto}
.gv-provider-index .vendor-site{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:36px;padding:5px 6px;border:1px solid var(--gv-shell-line);border-left:0;background:var(--gv-shell-surface);color:var(--gv-shell-muted);font-size:10.5px;font-weight:750;white-space:nowrap;text-decoration:none}
.gv-provider-index .vendor-site:last-child{border-radius:0 6px 6px 0}
.gv-provider-index .vendor-name:hover,.gv-provider-index .vendor-site:hover,.gv-provider-index .vendor-name:focus-visible,.gv-provider-index .vendor-site:focus-visible{background:var(--gv-shell-surface-2);color:var(--gv-shell-primary)}
.gv-provider-index .family-children>.vendor-entry{position:relative;padding-left:12px}
.gv-provider-index .family-children>.vendor-entry::before{content:"↳";position:absolute;top:50%;transform:translateY(-50%);left:0;color:var(--gv-shell-muted);font-size:12px}
@media(max-width:767px){.gv-provider-index{padding-top:5px}.gv-provider-index .page-heading{margin-bottom:15px}.gv-provider-index .directory-title{font-size:18px}.gv-provider-index .page-count b{font-size:12px}.gv-provider-index .vendor-section{margin-bottom:13px}.gv-provider-index .vendor-section-head{padding:12px 12px 8px}.gv-provider-index .vendor-section-head h2{font-size:16px}.gv-provider-index .vendor-section-body{padding:3px 12px 14px}.gv-provider-index .family-group{margin-top:16px}}
@media(max-width:370px){.gv-provider-index .vendor-section-body{padding-inline:9px}.gv-provider-index .vendor-section-head{padding-inline:9px}.gv-provider-index .family-children>.vendor-entry{padding-left:10px}.gv-provider-index .vendor-site{font-size:10px;min-width:28px;padding-inline:4px}.gv-provider-index .vendor-name{padding:6px 8px}}

/* 404 */
.error-404-search { margin: 16px auto; max-width: 28rem; justify-content: center; }
.error-404 {
	max-width: 36rem;
	margin: 40px auto;
	text-align: center;
}
.error-404 h1 { font-size: 1.5rem; margin-bottom: 8px; }
.error-404 p { color: var(--gv-shell-muted); }
.error-404 .search-suggest { justify-content: center; }

/* Footer */
.site-footer {
	margin-top: 36px;
	border-top: 1px solid var(--gv-shell-line);
	background: var(--gv-shell-surface);
}
.site-footer-inner {
	display: grid;
	gap: 10px;
	padding-block: 18px;
}
.site-footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
}
.site-footer-nav a {
	color: var(--gv-shell-muted);
	font-size: 0.8125rem;
	text-decoration: none;
}
.site-footer-nav a:hover { color: var(--gv-shell-text); text-decoration: underline; }
.site-footer-meta { display: grid; gap: 4px; }
.site-footer-meta p { margin: 0; font-size: 0.72rem; line-height: 1.4; }

/* ========== Medium width ========== */
@media (min-width: 768px) {
	:root { --page-gutter: 20px; --grid-column-gap: 16px; --grid-row-gap: 18px; --header-pad-y: 10px; }
	.site-search { grid-column: auto; }
	.site-main { padding-block: var(--content-pad-y) 36px; }
	/* home-intro removed for TOP high-density */
	.entry-thumbnail { margin-bottom: 6px; }
	.entry-title { min-height: 2.8em; font-size: 0.875rem; line-height: 1.4; }
	.navigation.pagination { margin-top: 28px; }
	.video-detail-title { font-size: 1.5rem; }
	.performer-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.performer-avatar { width: 72px; height: 72px; flex: 0 0 72px; }
}

/* ========== Wide width ========== */
@media (min-width: 992px) {
	:root { --grid-row-gap: 20px; }
	.performer-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.video-detail-top .video-detail-info { position: sticky; top: 74px; }

	.performer-header-main { gap: 18px; }
	.performer-avatar { width: 84px; height: 84px; flex: 0 0 84px; }
	.performer-name { font-size: 1.55rem; }
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Save-Data */
@media (prefers-reduced-data: reduce) {
	.entry-thumbnail img[loading="lazy"] { content-visibility: auto; }
}

.section-header a:hover,.entry-title a:hover,.breadcrumbs a:hover,.search-suggest a:hover,.video-detail-performer-links a:hover,.video-detail-tags a:hover,.performer-prefix a:hover,.performer-list-item:hover,.term-card h2 a:hover,.site-footer-nav a:hover{color:var(--gv-shell-text)}

/* Narrow-width drawer navigation. */
.site-mobile-menu{display:none}

.video-detail-seller-row{display:block}
.video-detail-sellers .video-detail-seller-external{width:100%;min-width:0}
.site-menu-backdrop{display:none}
.site-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid}
.site-mobile-menu-head strong{font-size:.82rem;letter-spacing:.02em}
body.gayvio-menu-open{overflow:hidden}
@media(max-width:767px){
	.site-menu-backdrop:not([hidden]){display:block!important;position:fixed;inset:0;z-index:10000;border:0;background:rgba(0,0,0,.62);backdrop-filter:blur(2px);cursor:default}
	.site-mobile-menu:not([hidden]){display:flex!important;position:fixed;z-index:10001;top:0;right:0;width:min(74vw,290px);min-height:0;padding:max(12px,env(safe-area-inset-top)) 12px 12px;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;border-left-width:1px;border-left-style:solid;box-shadow:-18px 0 44px rgba(0,0,0,.34);animation:gayvio-menu-in .16s ease-out}
	.site-mobile-menu-nav{display:grid;grid-template-columns:1fr;gap:4px}.site-mobile-menu-nav a{min-height:40px;padding:7px 10px;border:1px solid;border-radius:10px;font-size:.8rem;font-weight:750;text-decoration:none}
	.site-mobile-menu-nav .palette-switcher{width:100%;color:var(--gv-shell-muted)}
	.site-mobile-menu-nav .palette-switcher>summary{width:100%;min-height:40px;height:auto;padding:7px 10px;justify-content:flex-start;border-radius:10px;background:var(--gv-shell-surface-2);font-size:.8rem;font-weight:750}
	.site-mobile-menu-nav .palette-switcher .palette-trigger-cue{margin-left:auto}
	.site-mobile-menu-nav .palette-switcher>.listing-filter-menu{top:calc(100% + 3px);bottom:auto;left:0;right:auto;width:100%}

	.admin-bar .site-mobile-menu:not([hidden]){top:46px}
	.admin-bar .site-menu-backdrop:not([hidden]){top:46px}
}
@keyframes gayvio-menu-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(min-width:768px){
	.site-mobile-menu,.site-menu-backdrop{display:none!important}
}
@media(min-width:480px) and (max-width:767px){.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:991px){.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:992px) and (max-width:1535px){.video-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1536px){.video-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

@media(max-width:767px){:root{--page-gutter:12px;--grid-column-gap:10px;--grid-row-gap:12px}}

.site-header-inner,.site-main,.site-footer-inner{max-width:var(--page-max)}

/* Narrow-width app-style bottom navigation */
.mobile-bottom-nav{display:none}
@media(max-width:767px){
	.site-menu-backdrop:not([hidden]){bottom:calc(64px + env(safe-area-inset-bottom))}
	.site-mobile-menu:not([hidden]){bottom:calc(64px + env(safe-area-inset-bottom))}
	body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
	.mobile-bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;min-height:64px;padding:4px max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));border-top:1px solid var(--gv-shell-line);background:color-mix(in srgb,var(--gv-shell-surface) 96%,transparent);box-shadow:0 -8px 24px rgba(0,0,0,.12);backdrop-filter:blur(12px)}
	.mobile-bottom-nav-item{display:flex;min-width:0;min-height:56px;padding:4px 2px;border:0;background:transparent;color:var(--gv-shell-muted);align-items:center;justify-content:center;flex-direction:column;gap:2px;font:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
	.mobile-bottom-nav-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
	.mobile-bottom-nav-item span{max-width:100%;overflow:hidden;font-size:.65rem;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
	.mobile-bottom-nav-item.is-active{color:var(--gv-shell-text)}
	.mobile-bottom-nav-item.is-active svg{stroke-width:2.35}
	.mobile-bottom-nav-item:focus-visible{outline:2px solid var(--gv-shell-accent);outline-offset:-3px;border-radius:8px}
}


/* Shared listing headings, dropdowns, and visible facets. */
.listing-title-row{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%}
.listing-title-row .page-title{min-width:0}
.listing-title-row .listing-count{flex:0 0 auto;white-space:nowrap;font-size:.78rem}
.performer-list-line{display:flex;align-items:baseline;gap:7px;min-width:0}
.performer-list-line .performer-list-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.performer-list-line .performer-list-count{flex:0 0 auto;margin-left:0;white-space:nowrap}
.term-card h2{display:flex;align-items:baseline;gap:7px;min-width:0}
.term-card h2 a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.term-card h2 .term-count{flex:0 0 auto;font-size:.75rem;white-space:nowrap}
.mobile-menu-icon-close{display:none}
.mobile-bottom-menu-toggle[aria-expanded="true"] .mobile-menu-icon-open{display:none}
.mobile-bottom-menu-toggle[aria-expanded="true"] .mobile-menu-icon-close{display:block}

.listing-filter-dropdown{position:relative;min-width:0;margin:0}
.listing-filter-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:36px;padding:0 8px;border:1px solid var(--gv-shell-line);border-radius:7px;background:var(--gv-shell-bg);color:var(--gv-shell-text);font-size:.7rem;font-weight:700;list-style:none;cursor:pointer;white-space:nowrap;overflow:hidden}
.listing-filter-dropdown summary::-webkit-details-marker{display:none}
.listing-filter-dropdown summary::after{content:"";flex:0 0 auto;width:6px;height:6px;border-right:1.5px solid var(--gv-shell-primary);border-bottom:1.5px solid var(--gv-shell-primary);transform:translateY(-2px) rotate(45deg)}
.listing-filter-dropdown[open]{z-index:45}
.listing-filter-dropdown[open] summary::after{transform:translateY(2px) rotate(225deg)}
.listing-filter-summary-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.listing-filter-menu{position:absolute;top:calc(100% + 3px);left:0;width:max(100%,160px);max-height:230px;padding:4px;overflow:auto;border:1px solid var(--gv-shell-line);border-radius:7px;background:var(--gv-shell-surface);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.listing-filter-menu--right{left:auto;right:0}
.listing-filter-menu label{position:relative;display:flex;align-items:center;min-height:38px;padding:6px 8px;border-radius:5px;color:var(--gv-shell-muted);font-size:.73rem;font-weight:650;line-height:1.2;cursor:pointer}
.listing-filter-menu label:hover,.listing-filter-menu label:has(input:checked){background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.listing-filter-menu input{position:absolute;opacity:0;pointer-events:none}

/* Visible listing facets: result state is always readable and directly changeable. */
.listing-facets{margin:9px 0 0;min-width:0}
.listing-facet-row{position:relative;display:flex;align-items:center;gap:6px;min-width:0}
.listing-facet-row+.listing-facet-row{margin-top:5px}
.listing-facet-row--primary{flex-wrap:nowrap}
.listing-facet-row--secondary{flex-wrap:wrap}
.listing-result-count{flex:0 0 auto;margin-left:auto;color:var(--gv-shell-muted);font-size:.76rem;font-weight:700;white-space:nowrap}
.listing-facet-provider-picker{flex:0 1 auto;min-width:0}
.listing-facet-dropdown{flex:0 1 auto;min-width:0}
.listing-facet-dropdown>summary,
.listing-facet-scope,
.listing-facet-reset{display:inline-flex;align-items:center;gap:5px;min-height:30px;box-sizing:border-box;padding:4px 9px;border:1px solid var(--gv-shell-line);border-radius:999px;background:var(--gv-shell-surface);color:var(--gv-shell-text);font-size:.73rem;font-weight:650;line-height:1.1;text-decoration:none;white-space:nowrap}
.listing-facet-dropdown>summary{width:auto;height:30px;max-width:min(38vw,240px)}
.listing-facet-provider-picker>summary{width:auto;max-width:min(56vw,280px)}
.listing-facet-dropdown>summary::after{margin-left:2px}
.listing-facet-key{color:var(--gv-shell-muted);font-size:.68rem;font-weight:650}
.listing-facet-dropdown strong,.listing-facet-scope strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
.listing-facet-scope{background:color-mix(in srgb,var(--gv-shell-primary) 9%,var(--gv-shell-surface))}
.listing-facet-scope:hover,.listing-facet-scope:focus-visible,.listing-facet-reset:hover,.listing-facet-reset:focus-visible{border-color:var(--gv-shell-primary);color:var(--gv-shell-primary)}
.listing-facet-reset{color:var(--gv-shell-primary);background:var(--gv-shell-surface-2)}
.listing-facet-menu{min-width:180px;max-width:min(88vw,320px)}
.listing-facet-menu--tags{width:min(520px,calc(100vw - 32px));max-width:none;max-height:min(68vh,460px);padding:8px}
.listing-facet-menu--providers{width:min(700px,calc(100vw - 32px));max-width:none;max-height:min(68vh,500px);padding:8px}
.listing-provider-clear{margin-bottom:5px;font-weight:750}
.listing-provider-tree{display:grid;gap:7px}
.listing-provider-service-tree{display:grid;gap:5px;padding:6px 0;border-top:1px solid var(--gv-shell-line)}
.listing-provider-service-tree:first-child{border-top:0}
.listing-facet-menu a.listing-provider-service{min-height:32px;padding:5px 8px;color:var(--gv-shell-text);font-size:.78rem;font-weight:800}
.listing-provider-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.listing-provider-line{min-width:0}
.listing-provider-identity{display:flex;align-items:stretch;min-width:0;overflow:hidden;border:1px solid var(--gv-shell-line);border-radius:5px;background:var(--gv-shell-surface)}
.listing-facet-menu a.listing-provider-node{display:flex;flex:1 1 auto;align-items:center;min-width:0;min-height:34px;padding:5px 7px;background:transparent;color:var(--gv-shell-text);font-size:.74rem;font-weight:700;line-height:1.2;border-radius:0}
.listing-provider-node span{min-width:0;overflow-wrap:anywhere}
.listing-provider-sites{display:flex;flex:0 0 auto;align-items:stretch;border-left:1px solid var(--gv-shell-line)}
.listing-facet-menu a.listing-provider-site{display:flex;align-items:center;justify-content:center;min-height:34px;min-width:29px;padding:4px 5px;border-radius:0;border-left:1px solid var(--gv-shell-line);color:var(--gv-shell-muted);font-size:.62rem;font-weight:750;white-space:nowrap}
.listing-facet-menu a.listing-provider-site:first-child{border-left:0}
.listing-provider-family{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:5px}
.listing-provider-children{display:contents}
.listing-provider-children .listing-provider-line{display:flex;align-items:center;gap:5px}
.listing-provider-children .listing-provider-line::before{content:"↳";flex:0 0 auto;color:var(--gv-shell-muted);font-size:.75rem}
.listing-provider-children .listing-provider-identity{flex:1 1 auto}
.listing-tag-groups{display:grid;gap:7px}
.listing-tag-group{display:grid;gap:4px}
.listing-tag-options{display:flex;flex-wrap:wrap;gap:4px}
.listing-facet-menu a.listing-tag-option{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 7px;border:1px solid var(--gv-shell-line);border-radius:999px;background:var(--gv-shell-bg);color:var(--gv-shell-text);font-size:.7rem;line-height:1.1}
.listing-facet-menu a.listing-tag-option:hover,.listing-facet-menu a.listing-tag-option:focus-visible{border-color:var(--gv-shell-primary);background:var(--gv-shell-surface-2);color:var(--gv-shell-primary)}
.listing-tag-option small{color:var(--gv-shell-muted);font-size:.62rem;font-weight:700}
.listing-tag-empty{margin:7px 4px;color:var(--gv-shell-muted);font-size:.7rem}
.listing-facet-tag-chip{padding-inline:8px}
.listing-facet-group-title{display:block;margin:5px 6px 2px;padding-top:5px;border-top:1px solid var(--gv-shell-line);color:var(--gv-shell-muted);font-size:.62rem;font-weight:800;letter-spacing:.03em}
.listing-facet-group-title:first-of-type{margin-top:2px;padding-top:2px;border-top:0}
.listing-facet-menu a{display:flex;align-items:center;min-height:38px;padding:6px 9px;border-radius:5px;color:var(--gv-shell-muted);font-size:.74rem;font-weight:650;line-height:1.2;text-decoration:none}
.listing-facet-menu a:hover,.listing-facet-menu a:focus-visible{background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.listing-facet-menu a[aria-current="true"]{background:color-mix(in srgb,var(--gv-shell-primary) 12%,var(--gv-shell-surface));color:var(--gv-shell-text);font-weight:800}
.listing-facet-sort{margin-left:0}

/* Global keyword search: visible on wider layouts, opened from the magnifier on narrow layouts. */
.site-header-search-panel[hidden]{display:none!important}
.gayvio-search-form{min-width:0}
.gayvio-search-primary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}
.gayvio-search-primary-row input[type="search"]{width:100%;min-width:0;height:40px;padding:0 10px;border:1px solid var(--gv-shell-line);font:inherit;font-size:.82rem}
.gayvio-search-submit{height:40px;padding:0 13px;border:1px solid var(--gv-shell-primary);border-radius:7px;background:var(--gv-shell-primary);color:#fff;font-size:.76rem;font-weight:800;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;cursor:pointer}

/* Narrow-width shell and compact listing controls. */
@media(max-width:767px){
	.site-brand{min-height:40px}
	.mobile-bottom-nav{z-index:10002}
	body.gayvio-menu-open .mobile-bottom-nav{pointer-events:auto}
	.mobile-bottom-menu-toggle .mobile-menu-icon-close{width:23px;height:23px}

	.listing-filter-dropdown summary{height:36px;padding:0 7px;font-size:.68rem}
	.listing-filter-menu{width:max(100%,148px);max-height:220px}

	.listing-facets{margin-top:7px}
	.listing-facet-row{gap:5px}
	.listing-facet-provider-picker,.listing-facet-tags{position:static}
	.listing-facet-provider-picker .listing-facet-menu--providers,.listing-facet-tags .listing-facet-menu--tags{left:0;right:auto;top:calc(100% + 4px);width:calc(100vw - 24px);max-width:none;z-index:60}
	.listing-facet-dropdown>summary,.listing-facet-scope,.listing-facet-reset{min-height:29px;padding:3px 8px;font-size:.7rem}
	.listing-facet-dropdown>summary{height:29px;max-width:calc(100vw - 32px)}
	.listing-facet-key{font-size:.64rem}
	.listing-facet-menu--tags{max-height:min(62vh,420px)}
	.listing-facet-menu--providers{max-height:min(64vh,440px)}
	.listing-provider-branches,.listing-provider-family{grid-template-columns:minmax(0,1fr)}
	.listing-provider-children{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-left:14px}
	.listing-result-count{font-size:.7rem}
	.listing-facet-menu a.listing-tag-option{min-height:27px;font-size:.68rem}
	.listing-facet-sort{flex:0 0 auto;margin-left:0}

	.site-search-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
	.gayvio-search-primary-row input[type="search"]{height:38px;font-size:.75rem}
	.gayvio-search-submit{height:38px;padding:0 8px;font-size:.7rem}
}

/* Canonical discovery genre index. */
.entry-content>.canonical-genre-index{margin-top:12px}
.canonical-genre-index{display:grid;gap:20px}
.canonical-genre-group{display:grid;gap:4px}
.canonical-genre-group__title{margin:0;font-size:.86rem;font-weight:800;letter-spacing:.02em}
.term-index--canonical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.term-card--canonical{min-width:0;padding:8px 10px}
.canonical-tag-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.term-card--canonical .term-count{flex:0 0 auto;font-size:.69rem;font-weight:700;white-space:nowrap}
@media(min-width:768px){.term-index--canonical{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.term-index--canonical{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* Gallery v3: image-only three-row free rail + universal fullscreen viewer. */
.video-detail-thumb-rail.is-free-scroll {
	position: relative;
	max-width: 100%;
}
.video-detail-thumbs.is-free-scroll {
	--gayvio-gallery-thumb-width: clamp(140px, 18vw, 210px);
	grid-template-columns: repeat(var(--gayvio-gallery-columns), var(--gayvio-gallery-thumb-width));
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: row;
	gap: 7px;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0 0 5px;
	scroll-snap-type: none;
	scroll-behavior: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}
.video-detail-thumbs.is-free-scroll .video-detail-thumb { width: auto; }
@media (hover: hover) and (pointer: fine) {
	.video-detail-thumbs.is-free-scroll { cursor: grab; }
	.video-detail-thumbs.is-free-scroll.is-dragging { cursor: grabbing; user-select: none; }
	.video-detail-thumbs.is-free-scroll img { -webkit-user-drag: none; user-select: none; }
}
@media (max-width: 767px) {
	.video-detail-thumbs.is-free-scroll {
		--gayvio-gallery-thumb-width: clamp(104px, 29%, 148px);
		gap: 6px;
		scrollbar-width: none;
	}
	.video-detail-thumbs.is-free-scroll::-webkit-scrollbar { display: none; }
}
.gallery-lightbox-open { overflow: hidden !important; }
.video-detail-lightbox[hidden] { display: none !important; }
.video-detail-lightbox {
	position: fixed;
	inset: 0;
	display: block;
	overscroll-behavior: contain;
}
.video-detail-lightbox-top {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: max(7px, env(safe-area-inset-top)) 10px 7px;
	background: linear-gradient(to bottom, rgba(0,0,0,.28), rgba(0,0,0,0));
	pointer-events: none;
}
.video-detail-lightbox-count { font-size: .8125rem; font-weight: 700; color: rgba(255,255,255,.88); }
.video-detail-lightbox-close {
	position: absolute;
	right: max(10px, env(safe-area-inset-right));
	top: max(10px, env(safe-area-inset-top));
	z-index: 4;
	display: grid;
	width: 52px;
	height: 52px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: radial-gradient(circle at center, rgba(0,0,0,.45) 0 22px, rgba(0,0,0,0) 23px);
	color: rgba(255,255,255,.92);
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 1;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	cursor: pointer;
	pointer-events: auto;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
}
.video-detail-lightbox-stage {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	touch-action: pan-y pinch-zoom;
}
.video-detail-lightbox-media {
	display: grid;
	width: 100%;
	height: 100%;
	margin: 0;
	place-items: center;
	padding: calc(54px + env(safe-area-inset-top)) 0 calc(54px + env(safe-area-inset-bottom));
	box-sizing: border-box;
	transform: translate3d(0,0,0);
	will-change: transform;
}
.video-detail-lightbox-media img {
	display: block;
	max-width: min(86vw, 1600px);
	max-height: 78dvh;
	width: auto;
	height: auto;
	object-fit: contain;
	user-select: none;
	-webkit-user-select: none;
	-webkit-user-drag: none;
}
@media (orientation: portrait) {
	.video-detail-lightbox-media img { max-width: min(92vw, 1600px); max-height: 82dvh; }
}
.video-detail-lightbox-nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 42px;
	height: 68px;
	transform: translateY(-50%);
	border: 0;
	font-size: 2.1rem;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
}
.video-detail-lightbox-prev { left: 0; border-radius: 0 7px 7px 0; }
.video-detail-lightbox-next { right: 0; border-radius: 7px 0 0 7px; }
.video-detail-lightbox-help {
	position: absolute;
	left: 50%;
	bottom: max(12px, env(safe-area-inset-bottom));
	z-index: 3;
	transform: translateX(-50%);
	padding: 5px 10px;
	border-radius: var(--radius-pill);
	background: rgba(0,0,0,.45);
	color: rgba(255,255,255,.7);
	font-size: .6875rem;
	font-weight: 600;
	white-space: nowrap;
	pointer-events: none;
}
.video-detail-lightbox { z-index: 20000; }

/* Browser-local Work favorite control. */
.gayvio-favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--gv-shell-line);background:color-mix(in srgb,var(--gv-shell-surface) 90%,transparent);color:var(--gv-shell-text);font:inherit;cursor:pointer}
.gayvio-favorite-button:focus-visible{outline:2px solid var(--gv-shell-accent);outline-offset:2px}
.video-detail-favorite-button{width:100%;min-height:36px;margin:0;padding:6px 10px;border-radius:6px;font-size:.76rem;font-weight:750}

/* Current Layered Store shell. Palette tokens stay isolated from card/media tokens
   so those surfaces retain their current styling. */
:root{
	--gv-shell-primary:#2d6f73;--gv-shell-accent:#a85f45;--gv-shell-text:#202729;
	--gv-shell-bg:#f2efe5;--gv-shell-surface:#fffdf7;--gv-shell-surface-2:#e5e7df;
	--gv-shell-muted:#69716e;--gv-shell-line:#c7cbc2;--gv-shell-button-text:#fff;
	--gv-shell-radius:10px;--gv-shell-shadow:0 5px 17px rgba(20,30,40,.12);
	--gv-shell-font:Arial,"Helvetica Neue",sans-serif;
}
html[data-palette="midnight"]{--gv-shell-primary:#25d9eb;--gv-shell-accent:#f04b9a;--gv-shell-text:#edf5ff;--gv-shell-bg:#070c19;--gv-shell-surface:#111a2a;--gv-shell-surface-2:#19243a;--gv-shell-muted:#9cabc1;--gv-shell-line:#2c3a54;--gv-shell-button-text:#071018}
html[data-palette="steam"]{--gv-shell-primary:#66a8d8;--gv-shell-accent:#7fc34a;--gv-shell-text:#e7f0f7;--gv-shell-bg:#182636;--gv-shell-surface:#21364b;--gv-shell-surface-2:#29465e;--gv-shell-muted:#a9bac8;--gv-shell-line:#385c75;--gv-shell-button-text:#07131d}
html[data-palette="cinema"]{--gv-shell-primary:#00c071;--gv-shell-accent:#f2a900;--gv-shell-text:#ecf1ef;--gv-shell-bg:#171a1d;--gv-shell-surface:#22272a;--gv-shell-surface-2:#2d3437;--gv-shell-muted:#a9b2af;--gv-shell-line:#3e4848;--gv-shell-button-text:#07150f}
html[data-palette="violet"]{--gv-shell-primary:#9c75ff;--gv-shell-accent:#ff6dad;--gv-shell-text:#f4efff;--gv-shell-bg:#130f22;--gv-shell-surface:#211936;--gv-shell-surface-2:#30234a;--gv-shell-muted:#b9acd3;--gv-shell-line:#473765;--gv-shell-button-text:#10091f}
html[data-palette="ocean"]{--gv-shell-primary:#087e9b;--gv-shell-accent:#e27a42;--gv-shell-text:#172934;--gv-shell-bg:#e9f4f5;--gv-shell-surface:#ffffff;--gv-shell-surface-2:#d6eaed;--gv-shell-muted:#627983;--gv-shell-line:#b8d2d6;--gv-shell-button-text:#ffffff}
html[data-palette="coral"]{--gv-shell-primary:#d84663;--gv-shell-accent:#166e8d;--gv-shell-text:#2b2024;--gv-shell-bg:#fff0ed;--gv-shell-surface:#fffafa;--gv-shell-surface-2:#f8dcd9;--gv-shell-muted:#80676d;--gv-shell-line:#e6c5c4;--gv-shell-button-text:#ffffff}
html[data-palette="forest"]{--gv-shell-primary:#316747;--gv-shell-accent:#c78a37;--gv-shell-text:#222b24;--gv-shell-bg:#edf0e7;--gv-shell-surface:#fafbf5;--gv-shell-surface-2:#dce4d5;--gv-shell-muted:#687469;--gv-shell-line:#c5d0bf;--gv-shell-button-text:#ffffff}
html[data-palette="mono"]{--gv-shell-primary:#222222;--gv-shell-accent:#777777;--gv-shell-text:#181818;--gv-shell-bg:#eeeeec;--gv-shell-surface:#ffffff;--gv-shell-surface-2:#dfdfdc;--gv-shell-muted:#6b6b68;--gv-shell-line:#bdbdb8;--gv-shell-button-text:#ffffff}
html[data-palette="monodark"]{--gv-shell-primary:#e6e6e6;--gv-shell-accent:#8a8a8a;--gv-shell-text:#f2f2f2;--gv-shell-bg:#0f0f10;--gv-shell-surface:#171718;--gv-shell-surface-2:#242426;--gv-shell-muted:#a0a0a4;--gv-shell-line:#3b3b3f;--gv-shell-button-text:#151515}
html[data-palette="amber"]{--gv-shell-primary:#ffbd2e;--gv-shell-accent:#16d6b0;--gv-shell-text:#f5f0dc;--gv-shell-bg:#101315;--gv-shell-surface:#1b2022;--gv-shell-surface-2:#282f30;--gv-shell-muted:#aaa891;--gv-shell-line:#4a504b;--gv-shell-button-text:#181100}
html[data-palette="sakura"]{--gv-shell-primary:#9c536d;--gv-shell-accent:#4d8490;--gv-shell-text:#322a30;--gv-shell-bg:#f3e9ec;--gv-shell-surface:#fffafb;--gv-shell-surface-2:#eadadd;--gv-shell-muted:#796a70;--gv-shell-line:#d4c1c7;--gv-shell-button-text:#ffffff}
html[data-palette="blueprint"]{--gv-shell-primary:#175fbb;--gv-shell-accent:#e37b2c;--gv-shell-text:#102849;--gv-shell-bg:#e9f0f8;--gv-shell-surface:#f9fcff;--gv-shell-surface-2:#d8e6f4;--gv-shell-muted:#60748c;--gv-shell-line:#b6cce2;--gv-shell-button-text:#ffffff}

html[data-palette="ivory"]{color-scheme:light}
html[data-palette="ocean"],html[data-palette="coral"],html[data-palette="forest"],html[data-palette="mono"],html[data-palette="sakura"],html[data-palette="blueprint"]{color-scheme:light}
html[data-palette="midnight"],html[data-palette="steam"],html[data-palette="cinema"],html[data-palette="violet"],html[data-palette="monodark"],html[data-palette="amber"]{color-scheme:dark}
body{background:linear-gradient(180deg,color-mix(in srgb,var(--gv-shell-primary) 12%,var(--gv-shell-bg)),var(--gv-shell-bg) 44%);color:var(--gv-shell-text);font-family:var(--gv-shell-font);font-weight:500}
.site-header{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text);box-shadow:var(--gv-shell-shadow)}
.site-brand,.site-header-primary-nav a,.site-header-personal-nav a,.site-footer-nav a{color:var(--gv-shell-text)}
.site-footer-meta p{color:var(--gv-shell-muted)}
.site-header-primary-nav a:hover,.site-header-primary-nav a:focus-visible:hover{background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.palette-switcher{position:relative;color:var(--gv-shell-muted);font-size:.68rem;font-weight:700}
.palette-switcher>summary{display:flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:3px;border:1px solid var(--gv-shell-line);border-radius:999px;background:var(--gv-shell-surface-2);color:var(--gv-shell-text);list-style:none;cursor:pointer}
.palette-switcher>summary::-webkit-details-marker,.palette-switcher>summary::after{display:none}
.palette-trigger-visual{display:inline-flex;align-items:center;flex:0 0 auto}
.palette-trigger-icon{display:none;font-size:.9rem;line-height:1}
.palette-trigger-visual[data-kind="sun"] .palette-trigger-icon,.palette-trigger-visual[data-kind="moon"] .palette-trigger-icon{display:inline}
.palette-trigger-visual[data-kind="sun"] .palette-trigger-swatches,.palette-trigger-visual[data-kind="moon"] .palette-trigger-swatches{display:none}
.palette-trigger-swatches,.palette-choice-swatches{display:inline-flex;overflow:hidden;border:1px solid color-mix(in srgb,var(--gv-shell-text) 30%,transparent);border-radius:999px}
.palette-trigger-swatches i,.palette-choice-swatches i{display:block;width:7px;height:14px;background:var(--palette-swatch-1)}
.palette-trigger-swatches i:nth-child(2),.palette-choice-swatches i:nth-child(2){background:var(--palette-swatch-2)}
.palette-trigger-swatches i:nth-child(3),.palette-choice-swatches i:nth-child(3){background:var(--palette-swatch-3)}
.palette-trigger-cue{font-size:.7rem}
.palette-switcher>.listing-filter-menu{left:auto;right:0;width:208px;max-height:min(70vh,430px)}
.palette-switcher .listing-filter-menu{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text)}
.palette-switcher .listing-filter-menu label{gap:8px;color:var(--gv-shell-text)}
.palette-choice-swatches{flex:0 0 auto}.palette-choice-swatches i{width:9px;height:16px}
.palette-choice-system{display:inline-flex;align-items:center;justify-content:center;flex:0 0 29px;width:29px;height:18px}
.palette-choice-system::before{content:"";width:17px;height:17px;border:1px solid color-mix(in srgb,var(--gv-shell-text) 30%,transparent);border-radius:50%;background:linear-gradient(90deg,#e9f0f8 50%,#101315 50%)}
.palette-switcher .listing-filter-menu label:hover,.palette-switcher .listing-filter-menu label:has(input:checked){background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.palette-option-group{display:block;padding:5px 8px 2px;color:var(--gv-shell-muted);font-size:.62rem;font-weight:800;letter-spacing:.04em}
.palette-option-group--other{margin-top:4px;padding-top:7px;border-top:1px solid var(--gv-shell-line)}
.site-header-search-panel{color:var(--gv-shell-text)}
.site-search-toggle{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text)}
.site-mobile-menu,.mobile-bottom-nav,.site-footer{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text)}
.site-mobile-menu:not([hidden]){border-left-color:var(--gv-shell-line)}
.site-mobile-menu-head{border-color:var(--gv-shell-line)}
.site-mobile-menu-nav a{border-color:var(--gv-shell-line);background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.site-mobile-menu-nav a:hover,.site-mobile-menu-nav a:focus-visible{border-color:var(--gv-shell-primary);background:color-mix(in srgb,var(--gv-shell-primary) 14%,var(--gv-shell-surface-2));color:var(--gv-shell-text)}
.mobile-bottom-nav-item{color:var(--gv-shell-muted)}
.mobile-bottom-nav-item.is-active,.mobile-bottom-menu-toggle[aria-expanded="true"]{background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.site-main>.section-header,.listing-header,.performer-header,.performer-empty,.gayvio-personal-header,.gayvio-personal-section{color:var(--gv-shell-text)}
.performer-header,.performer-empty,.gayvio-personal-section{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);box-shadow:var(--gv-shell-shadow)}
.performer-bio,.performer-stats,.listing-empty,.search-empty,.gayvio-personal-header p{color:var(--gv-shell-muted)}
.term-card,.performer-list-item{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text);box-shadow:var(--gv-shell-shadow)}
.term-card h2 a,.performer-list-name,.breadcrumbs a{color:var(--gv-shell-text)}
.term-card p,.performer-list-count,.performer-list-bio{color:var(--gv-shell-muted)}
/* Explicitly retain the pre-integration type/token boundary inside protected review surfaces. */
.video-grid,.video-detail{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP",sans-serif;font-weight:400}
/* Browser-local favorites and history pages. */
.gayvio-personal-page{max-width:70rem;margin-inline:auto}
.gayvio-personal-header{margin-bottom:18px}
.gayvio-personal-header p{max-width:48rem;margin:6px 0 0;font-size:.86rem;line-height:1.65}
.gayvio-personal-section{min-width:0;padding:16px;border:1px solid var(--gv-shell-line);border-radius:var(--radius-lg)}
.gayvio-personal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.gayvio-personal-section-head h2{margin:0;font-size:1.08rem}
.gayvio-personal-section-head>span{color:var(--gv-shell-muted);font-size:.76rem;font-weight:700}
.gayvio-personal-list{display:grid;gap:10px}
.gayvio-personal-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--gv-shell-line)}
.gayvio-personal-item-image{display:block;width:76px;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:var(--gv-shell-surface-2)}
.gayvio-personal-item-image img{width:100%;height:100%;object-fit:cover}
.gayvio-personal-item-copy{min-width:0}
.gayvio-personal-item-title{display:-webkit-box;overflow:hidden;font-size:.8rem;font-weight:700;line-height:1.35;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.gayvio-personal-item-provider,.gayvio-personal-empty{margin:4px 0 0;color:var(--gv-shell-muted);font-size:.76rem}
.gayvio-personal-remove,.gayvio-personal-clear{border:1px solid var(--gv-shell-line);border-radius:6px;cursor:pointer}
.gayvio-personal-remove{width:34px;height:34px}
.gayvio-personal-actions{margin-top:16px;text-align:right}
.gayvio-personal-clear{padding:7px 10px}.gayvio-personal-clear:disabled{cursor:default}
@media(max-width:767px){.gayvio-personal-section{padding:13px}.gayvio-personal-item{grid-template-columns:68px minmax(0,1fr) auto}.gayvio-personal-item-image{width:68px}}

/* Full-width title, then media/album and information columns. */
.video-detail { max-width: 80rem; }
.video-detail-title-full { margin: 0 0 14px; }
@media (max-width: 767px) {
	.video-detail-top .video-detail-info { margin-top: 12px; }
}
@media (min-width: 768px) {
	.video-detail-top {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(18rem, 2fr);
		gap: 24px;
		align-items: start;
	}
}

/* Personal-list pages inside the current shell. */
.gayvio-personal-header,.gayvio-personal-section{color:var(--gv-shell-text)}
.gayvio-personal-header p,.gayvio-personal-section-head>span{color:var(--gv-shell-muted)}
.gayvio-personal-section{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);box-shadow:var(--gv-shell-shadow)}

/* Canonical one-row header. DOM order matches visual order at intermediate/PC widths. */
.site-header-inner{position:relative;padding-block:6px 0}
.site-header-primary{display:flex;align-items:center;gap:7px;min-width:0}

.site-header-primary-nav,.site-header-personal-nav{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.site-header-primary-nav a,.site-header-personal-nav a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:32px;
	padding:5px 9px;
	border:1px solid var(--gv-shell-line);
	border-radius:999px;
	background:var(--gv-shell-surface-2);
	color:var(--gv-shell-text);
	font-size:.78em;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
}
.site-header-primary-nav svg,.site-header-personal-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header-primary-nav a:hover,.site-header-primary-nav a:focus-visible,.site-header-personal-nav a:hover,.site-header-personal-nav a:focus-visible{
	border-color:var(--gv-shell-primary);
	background:color-mix(in srgb,var(--gv-shell-primary) 14%,var(--gv-shell-surface-2));
	color:var(--gv-shell-text);
}
.site-header-search-panel{position:relative!important;display:block!important;flex:1 1 18rem;min-width:8rem;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;z-index:auto!important}
.site-search-toggle{display:none}
.site-search-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-search-toggle[aria-expanded="true"]{background:var(--gv-shell-surface-2);border-color:var(--gv-shell-primary);color:var(--gv-shell-primary)}
.palette-switcher-desktop{display:block;flex:0 0 auto}
.palette-switcher-desktop .listing-filter-summary-label{max-width:7.5rem}
.gayvio-search-primary-row{gap:7px!important}
.gayvio-search-primary-row input[type="search"]{
	padding-inline:12px;
	border-color:var(--gv-shell-line)!important;
	border-radius:var(--gv-shell-radius);
	background:var(--gv-shell-bg)!important;
	color:var(--gv-shell-text)!important;
}
.gayvio-search-primary-row input[type="search"]::placeholder{color:var(--gv-shell-muted)}
.site-header-search-panel .gayvio-search-submit{
	border-radius:6px;
	font-weight:750;
}
@media(min-width:992px){
	.site-header-primary{gap:9px}
	.site-header-discovery-nav svg{display:none}
}
@media (min-width:768px) and (max-width:991px){
	.site-header-primary{gap:5px}
	.site-header-primary-nav a,.site-header-personal-nav a{width:34px;padding:5px}
	.site-header-discovery-nav a span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
	.palette-switcher-desktop .listing-filter-summary-label{display:none}
	.palette-switcher-desktop>summary{padding-inline:7px}
	.gayvio-search-primary-row{grid-template-columns:minmax(7rem,1fr) auto!important}
}
@media(max-width:767px){
	.site-brand-latin{display:none}
	.site-header-primary{position:relative;justify-content:flex-start;gap:4px}
	.site-header-primary-nav,.site-header-personal-nav,.palette-switcher-desktop{display:none}
	.site-search-toggle{display:grid;flex:0 0 40px;width:40px;height:40px;margin-left:auto;padding:8px;border:0;border-radius:999px;background:transparent;color:var(--gv-shell-text);place-items:center;cursor:pointer}
	.site-header-search-panel{display:none!important;flex:1 1 0;min-width:0;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;z-index:auto!important}
	.site-header-search-panel.is-open{display:block!important}
	.gayvio-search-primary-row{grid-template-columns:minmax(0,1fr) auto!important;gap:4px!important}
}
.palette-choice:has(input:focus-visible){outline:3px solid var(--gv-shell-accent);outline-offset:-2px}

/* Seller panel is information/action UI, not protected detail media. */
.video-detail-panel h2{color:var(--gv-shell-text)}
.video-detail-sellers .video-detail-seller-external{border-radius:6px}
.video-detail-sellers .video-detail-seller-external:hover,.video-detail-sellers .video-detail-seller-external:focus-visible{
	border-color:var(--gv-shell-primary);
	background:color-mix(in srgb,var(--gv-shell-primary) 88%,#000);
	color:var(--gv-shell-button-text);
}

/* Palette-aware contrast with color-only card/media chrome. */
.section-header h2::before{
	background:linear-gradient(180deg,var(--gv-shell-primary),var(--gv-shell-accent));
}
.section-header a,.search-suggest a,.performer-prefix a,.page-numbers{
	border-color:var(--gv-shell-line);
	background:var(--gv-shell-surface);
	color:var(--gv-shell-text);
}
.section-header a:hover,.section-header a:focus-visible,.search-suggest a:hover,.search-suggest a:focus-visible,
.performer-prefix a:hover,.performer-prefix a:focus-visible,
.page-numbers:hover,.page-numbers:focus-visible{
	border-color:var(--gv-shell-primary);
	background:var(--gv-shell-surface-2);
	color:var(--gv-shell-text);
}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--gv-shell-text)}
.page-numbers.current{box-shadow:inset 0 -2px var(--gv-shell-accent)}
.video-detail-performer-links a:hover,.video-detail-performer-links a:focus-visible,
.video-detail-provider-path a:hover,.video-detail-provider-path a:focus-visible{color:var(--gv-shell-text)}
.video-detail-favorite-button:focus-visible{outline-color:var(--gv-shell-accent)}

/* Shared action color. Text/link/muted colors use the palette tokens directly. */
:root{--gv-shell-action-bg:var(--gv-shell-primary)}
html[data-palette="coral"]{--gv-shell-action-bg:color-mix(in srgb,var(--gv-shell-primary) 88%,#000)}
.skip-link{color:var(--gv-shell-primary)}
.skip-link:focus{background:var(--gv-shell-surface);color:var(--gv-shell-text);border:1px solid var(--gv-shell-line)}
.breadcrumbs,.breadcrumbs [aria-current="page"],.video-detail-performer-alias,
.video-detail-provider-separator{color:var(--gv-shell-muted)}
.breadcrumbs a,.video-detail-performer-links a,.video-detail-provider-path a,.video-detail-service-links a{color:var(--gv-shell-primary)}
.site-header-search-panel .gayvio-search-submit,.page-numbers.current,
.video-detail-sellers .video-detail-seller-external{
	border-color:var(--gv-shell-action-bg)!important;background:var(--gv-shell-action-bg)!important;color:var(--gv-shell-button-text)!important;
}

/* Section-page palette roles. */
html[data-palette]{background:var(--gv-shell-bg)}
body{min-height:100vh}
.canonical-genre-group__title{color:var(--gv-shell-primary)}
.term-card--canonical{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text);box-shadow:var(--gv-shell-shadow)}
.canonical-tag-button{color:var(--gv-shell-text)}
.canonical-tag-button:hover,.canonical-tag-button:focus-visible{color:var(--gv-shell-primary)}
.term-card--canonical .term-count{color:var(--gv-shell-muted)}
.post-type-archive-gayvio_performer .site-main>.site-search input[type="search"]{border-color:var(--gv-shell-line);background:var(--gv-shell-surface);color:var(--gv-shell-text)}
.post-type-archive-gayvio_performer .site-main>.site-search input[type="search"]::placeholder{color:var(--gv-shell-muted)}
.post-type-archive-gayvio_performer .site-main>.site-search button{border-color:var(--gv-shell-action-bg);background:var(--gv-shell-action-bg);color:var(--gv-shell-button-text)}
.listing-count{color:var(--gv-shell-muted)}
.post-type-archive-gayvio_performer .performer-empty p+p{margin-top:8px;color:var(--gv-shell-muted);font-size:.8125rem}
.gayvio-personal-header p,.gayvio-personal-section-head>span,.gayvio-personal-empty{color:var(--gv-shell-muted)}
.gayvio-personal-clear{border-color:var(--gv-shell-line);background:var(--gv-shell-surface-2);color:var(--gv-shell-text)}
.gayvio-personal-clear:disabled{opacity:.65}

/* Palette roles for cards, personal lists, and detail media chrome. */
:root{
	--gv-role-card-surface:var(--gv-shell-surface);
	--gv-role-card-border:color-mix(in srgb,var(--gv-shell-line) 55%,var(--gv-shell-text));
	--gv-role-muted:var(--gv-shell-muted);
	--gv-role-link:var(--gv-shell-primary);
	--gv-role-control-bg:var(--gv-shell-surface-2);
	--gv-role-control-border:color-mix(in srgb,var(--gv-shell-accent) 45%,var(--gv-shell-text));
	--gv-role-highlight-bg:color-mix(in srgb,var(--gv-shell-accent) 22%,var(--gv-shell-surface));
	--gv-role-highlight-text:var(--gv-shell-text);
	--gv-role-media-backdrop:color-mix(in srgb,var(--gv-shell-surface-2) 94%,var(--gv-shell-text));
	--gv-role-media-frame:color-mix(in srgb,var(--gv-shell-line) 82%,var(--gv-shell-text));
	--gv-role-selected-border:color-mix(in srgb,var(--gv-shell-accent) 62%,var(--gv-shell-text));
}

/* Listing geometry and natural thumbnail colour are intentionally untouched. */
.video-grid{background:var(--gv-shell-bg)}
.entry-card{border-color:var(--gv-role-card-border);background:var(--gv-role-card-surface);color:var(--gv-shell-text);box-shadow:var(--gv-shell-shadow)}
.entry-thumbnail{border-color:var(--gv-role-media-frame);background:var(--gv-role-media-backdrop)}
.entry-thumbnail.is-landscape img,.entry-thumbnail img.is-landscape,
.entry-thumbnail.is-portrait img,.entry-thumbnail img.is-portrait,
.entry-thumbnail.is-square img,.entry-thumbnail img.is-square{background:var(--gv-role-media-backdrop)}
.entry-thumbnail-placeholder,.video-detail-noimage{border-color:var(--gv-role-media-frame);background:var(--gv-role-media-backdrop);color:var(--gv-role-muted)}
.entry-thumbnail:hover{box-shadow:inset 0 0 0 2px var(--gv-role-selected-border),0 2px 10px color-mix(in srgb,var(--gv-shell-accent) 24%,transparent)}
.entry-thumbnail:focus-visible{outline:3px solid var(--gv-role-selected-border);outline-offset:2px;box-shadow:none}
.entry-title{color:var(--gv-shell-text)}
.entry-title a:hover,.entry-title a:focus-visible{color:var(--gv-role-link)}

/* Personal-list rows use the same current shell roles. */
.gayvio-personal-item{border-color:var(--gv-role-card-border);color:var(--gv-shell-text)}
.gayvio-personal-item-title{color:var(--gv-shell-text)}
.gayvio-personal-item-provider{color:var(--gv-role-muted)}
.gayvio-personal-remove,.gayvio-personal-clear{border-color:var(--gv-role-control-border);background:var(--gv-role-control-bg);color:var(--gv-shell-text)}
.gayvio-personal-remove:hover,.gayvio-personal-remove:focus-visible,.gayvio-personal-clear:hover,.gayvio-personal-clear:focus-visible{border-color:var(--gv-role-selected-border);background:var(--gv-role-highlight-bg);color:var(--gv-role-highlight-text)}
.gayvio-personal-page button:focus-visible{outline:3px solid var(--gv-role-selected-border);outline-offset:2px}
.gayvio-personal-page button:disabled{opacity:.58;box-shadow:none;cursor:default}

/* Detail information and description use neutral surfaces; links remain primary. */
.video-detail{color:var(--gv-shell-text)}
.video-detail-performer-alias,.video-detail-provider-separator,.video-detail-fact-label{color:var(--gv-role-muted)}
.video-detail-performer-links a,.video-detail-provider-path a,.video-detail-service-links a{color:var(--gv-role-link)}
.video-detail-facts{border-color:var(--gv-role-card-border);background:var(--gv-role-card-surface)}
.video-detail-fact-row{border-color:var(--gv-role-card-border)}
.video-detail-tags a{border-color:var(--gv-role-card-border);background:var(--gv-role-control-bg);color:var(--gv-shell-text)}
.video-detail-tags a:hover,.video-detail-tags a:focus-visible{border-color:var(--gv-role-selected-border);background:var(--gv-role-highlight-bg);color:var(--gv-role-highlight-text);outline:2px solid transparent}
.video-detail-panel{border-color:var(--gv-role-card-border);background:var(--gv-role-card-surface);color:var(--gv-shell-text)}
.video-detail-favorite-button{border-color:var(--gv-role-control-border);background:var(--gv-role-control-bg);color:var(--gv-shell-text)}
.video-detail-favorite-button [aria-hidden]{font-size:1.15em;line-height:1}
.video-detail-favorite-button[aria-pressed="true"]{border-color:color-mix(in srgb,#e33a52 58%,var(--gv-role-control-border));background:color-mix(in srgb,#e33a52 8%,var(--gv-role-control-bg));color:var(--gv-shell-text);box-shadow:none}
.video-detail-favorite-button[aria-pressed="true"] [aria-hidden]{color:#e33a52}
.video-detail-overview-wrap{border-color:var(--gv-role-card-border);background:var(--gv-role-card-surface);color:var(--gv-shell-text);box-shadow:none}
.video-detail-overview-title{background:var(--gv-role-card-surface);color:var(--gv-shell-text)}
.video-detail-overview{color:var(--gv-shell-text)}
.video-detail-overview-toggle,.video-detail-overview-toggle:hover,.video-detail-overview-toggle:focus-visible{border-color:var(--gv-role-control-border);background:var(--gv-role-control-bg);color:var(--gv-role-highlight-text)}
.video-detail-overview-toggle:focus-visible{outline-color:var(--gv-role-selected-border)}

/* Detail media uses three quiet layers: page, album panel, image backdrop. */
.video-detail-thumb-rail{padding:7px;border:1px solid var(--gv-shell-line);border-radius:var(--radius-md);background:var(--gv-shell-surface)}
.video-detail-main-image{border-color:transparent;background:var(--gv-role-media-backdrop);box-shadow:none}
.video-detail-main-image img,.video-detail-thumb img{background:var(--gv-role-media-backdrop)}
.video-detail-thumb{border-color:transparent;background:var(--gv-role-media-backdrop);box-shadow:none}
.video-detail-thumb:hover,.video-detail-thumb:focus-visible{border-color:var(--gv-role-selected-border);outline:3px solid var(--gv-role-selected-border);outline-offset:2px}
/* Fullscreen keeps the page visible through a translucent backdrop. */
.video-detail-lightbox{background:rgba(5,5,6,.74);color:#fff;outline:none}
.video-detail-lightbox-count,.video-detail-lightbox-help{color:#fff}
.video-detail-lightbox-nav{background:rgba(0,0,0,.34);color:#fff}
.video-detail-lightbox-nav:hover{background:rgba(0,0,0,.50);color:#fff}
.video-detail-lightbox-close:hover{background:radial-gradient(circle at center,rgba(0,0,0,.62) 0 22px,rgba(0,0,0,0) 23px);color:#fff}
.video-detail-lightbox-close:focus-visible,.video-detail-lightbox-nav:focus-visible{outline:3px solid color-mix(in srgb,var(--gv-shell-accent) 65%,#fff);outline-offset:3px;color:#fff}

mark,.video-detail mark,.gayvio-personal-page mark{border-bottom:2px solid var(--gv-role-selected-border);background:var(--gv-role-highlight-bg);color:var(--gv-role-highlight-text)}
::selection{background:color-mix(in srgb,var(--gv-shell-primary) 32%,var(--gv-shell-surface));color:var(--gv-shell-text)}

/* ========== Fan / MyFans v1 public UI ========== */
.site-category-tabs{display:flex;gap:0;margin-top:3px;border-top:1px solid color-mix(in srgb,var(--gv-shell-line) 62%,transparent);overflow:auto}
.site-category-tabs a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:36px;padding:0 13px;background:transparent;color:var(--gv-shell-muted);font-size:.875rem;font-weight:800;letter-spacing:.05em;line-height:1;text-decoration:none;white-space:nowrap}
.site-category-tabs a.is-active{color:var(--gv-shell-text)}
.site-category-tabs a.is-active::after{position:absolute;left:9px;right:9px;bottom:0;height:2px;border-radius:999px;background:var(--gv-shell-primary);content:""}

.fan-creator-strip{display:grid;grid-template-rows:repeat(2,max-content);grid-auto-flow:column;grid-auto-columns:112px;gap:9px 8px;padding-top:2px}
.fan-creator-mini{display:flex;min-width:0;padding:4px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--gv-shell-surface) 72%,var(--gv-shell-bg));color:var(--gv-shell-text);text-align:left;text-decoration:none}
.fan-creator-mini:hover{color:var(--gv-shell-text)}
.fan-creator-mini-avatar{width:100%;height:auto;margin-bottom:5px;aspect-ratio:1/1;background:var(--gv-shell-surface-2)}
.fan-creator-mini-avatar img{width:100%;height:100%;object-fit:cover}
.fan-creator-mini .fan-avatar-placeholder{font-size:1.08rem;font-weight:800}
.fan-creator-mini-name{min-height:2.5em;font-size:.68rem;line-height:1.25;font-weight:700;-webkit-line-clamp:2}
.fan-creator-mini-service{display:block;margin-top:3px;overflow:hidden;color:var(--gv-shell-muted);font-size:.58rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}

.fan-post-card-link{display:flex;min-width:0;height:100%;flex-direction:column;color:inherit;text-decoration:none}
.fan-post-card-link:hover{color:inherit}
.fan-post-thumbnail{margin-bottom:5px;background:var(--gv-shell-surface-2)}
.fan-post-thumbnail img{width:100%;height:100%;object-fit:cover}
.fan-post-duration{position:absolute;right:4px;bottom:4px;padding:1px 4px;border-radius:3px;background:rgba(0,0,0,.74);color:#fff;font-size:.59rem;font-weight:800;line-height:1.3}
.fan-post-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.fan-post-badge{display:inline-flex;align-items:center;min-height:19px;padding:1px 5px;border:1px solid var(--gv-shell-line);border-radius:var(--radius-sm);background:var(--gv-shell-surface-2);color:var(--gv-shell-muted);font-size:.59rem;font-weight:800;line-height:1.1}
.fan-post-badge--price{border-color:color-mix(in srgb,var(--gv-shell-primary) 42%,var(--gv-shell-line));background:color-mix(in srgb,var(--gv-shell-primary) 12%,var(--gv-shell-surface));color:var(--gv-shell-primary)}

.fan-creator-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,118px));gap:14px 10px}
.fan-creator-list-grid .fan-creator-mini{display:flex}

.fan-creator-profile{overflow:hidden;border:1px solid var(--gv-shell-line);border-radius:var(--radius-lg);background:var(--gv-shell-surface);box-shadow:var(--gv-shell-shadow)}
.fan-creator-profile-left,.fan-creator-profile-body{min-width:0}
.fan-creator-visual{position:relative;height:112px;background:var(--gv-shell-surface-2)}
.fan-creator-banner{width:100%;height:100%;object-fit:cover}
.fan-image-placeholder{background:linear-gradient(135deg,var(--gv-shell-surface-2),var(--gv-shell-line))}
.fan-image-fallback{display:none}
.fan-creator-avatar{position:absolute;left:12px;bottom:-36px;width:72px;height:72px;border:4px solid var(--gv-shell-surface);border-radius:50%;object-fit:cover;background:var(--gv-shell-surface-2)}
.fan-creator-avatar.fan-avatar-placeholder{place-items:center}
.fan-creator-avatar.fan-avatar-placeholder:not(.fan-image-fallback){display:grid}
.fan-creator-summary{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.9fr));align-items:stretch;padding:42px 12px 10px}
.fan-creator-summary>div{min-width:0;padding:0 10px}
.fan-creator-summary>div:first-child{padding-left:0}
.fan-creator-summary>div+div{border-left:1px solid var(--gv-shell-line)}
.fan-creator-summary span{display:block;color:var(--gv-shell-muted);font-size:.62rem;font-weight:700;line-height:1.1}
.fan-creator-summary b{display:block;margin-top:3px;overflow:hidden;font-size:.82rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.fan-creator-profile-body{display:flex;flex-direction:column;padding:12px;border-top:1px solid var(--gv-shell-line)}
.fan-creator-heading h1{margin:0;font-size:.98rem;font-weight:800;line-height:1.35}
.fan-creator-heading span{display:block;margin-top:2px;color:var(--gv-shell-muted);font-size:.68rem}
.fan-creator-about{display:-webkit-box;margin-top:7px;overflow:hidden;color:var(--gv-shell-muted);font-size:.74rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.fan-creator-about.is-open{display:block;overflow:visible}
.fan-creator-about-toggle{align-self:flex-start;margin-top:2px;padding:0;border:0;background:none;color:var(--gv-shell-primary);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}
.fan-creator-plans{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;margin-top:8px;padding:6px 0;border-top:1px solid var(--gv-shell-line);border-bottom:1px solid var(--gv-shell-line);font-size:.69rem;line-height:1.38}
.fan-creator-plans-label{color:var(--gv-shell-muted);font-weight:700}
.fan-creator-plan-list{min-width:0}
.fan-creator-plan-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0}
.fan-creator-plan-row b{min-width:0;overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.fan-creator-plan-row span{flex:0 0 auto;font-size:.68rem;font-weight:800}
.fan-creator-external-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:36px;margin-top:9px;padding:0 12px;border:1px solid var(--gv-shell-primary);border-radius:6px;background:var(--gv-shell-primary);color:var(--gv-shell-button-text);font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap}
.fan-creator-external-link:hover{background:color-mix(in srgb,var(--gv-shell-primary) 88%,#000);color:var(--gv-shell-button-text)}
.fan-content-section + .fan-content-section,.fan-creator-profile + .fan-content-section{margin-top:20px}
.fan-load-more-wrap{display:flex;justify-content:center;margin:18px 0 22px}
.fan-load-more-btn{min-width:150px;min-height:38px;padding:0 18px;border:1px solid var(--gv-shell-line);border-radius:999px;background:var(--gv-shell-surface);color:var(--gv-shell-text);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(20,30,40,.05)}
.fan-load-more-btn:disabled{cursor:wait;opacity:.7}
.fan-load-more-btn[hidden]{display:none}

@media(max-width:767px){
	.fan-creator-plan-row{align-items:flex-start}
	.fan-creator-plan-row b{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.4}
}
@media(min-width:768px){
	.fan-creator-strip{grid-template-rows:max-content}
	.fan-creator-profile{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:12px;align-items:start;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
	.fan-creator-profile-left,.fan-creator-profile-body{overflow:hidden;border:1px solid var(--gv-shell-line);border-radius:var(--radius-lg);background:var(--gv-shell-surface);box-shadow:var(--gv-shell-shadow)}
	.fan-creator-visual{height:220px;overflow:hidden}
	.fan-creator-avatar{left:14px;bottom:14px}
	.fan-creator-summary{padding:11px 14px}
	.fan-creator-profile-body{padding:14px 16px}
}
@media(min-width:768px) and (max-width:991px){
	.fan-creator-strip{grid-auto-columns:132px;gap:10px}
	.fan-creator-list-grid{grid-template-columns:repeat(auto-fill,minmax(122px,140px));gap:16px 12px}
	.fan-creator-mini-name{font-size:.71rem}
	.fan-creator-mini-service{font-size:.60rem}
}
@media(min-width:992px){
	.fan-creator-strip{grid-auto-columns:156px;gap:14px}
	.fan-creator-list-grid{grid-template-columns:repeat(auto-fill,minmax(146px,166px));gap:20px 16px}
	.fan-creator-mini-name{font-size:.76rem}
	.fan-creator-mini-service{font-size:.63rem}
}

/* ========== Shared horizontal rails ========== */
.content-rail-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.content-rail-actions>a{margin-left:1px}
.content-rail-arrow{
	width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,var(--gv-shell-primary) 34%,var(--gv-shell-line));border-radius:999px;
	background:var(--gv-shell-surface-2);color:var(--gv-shell-text);font:800 1.15rem/1 var(--gv-shell-font);
	display:none;place-items:center;cursor:pointer;box-shadow:0 1px 4px rgba(20,30,40,.08)
}
.content-rail-arrow:hover,.content-rail-arrow:focus-visible{
	border-color:var(--gv-shell-primary);
	background:color-mix(in srgb,var(--gv-shell-primary) 10%,var(--gv-shell-surface-2));
	color:var(--gv-shell-text)
}
.content-rail-arrow:disabled{opacity:.32;cursor:default;box-shadow:none}
.content-rail{
	width:100%;
	min-width:0;
	overflow-x:auto;
	overflow-y:hidden;
	overscroll-behavior-inline:contain;
	scroll-snap-type:x proximity;
	scrollbar-width:thin;
	scrollbar-color:color-mix(in srgb,var(--gv-shell-primary) 58%,var(--gv-shell-muted)) var(--gv-shell-surface-2);
	padding-bottom:10px;
	-webkit-overflow-scrolling:touch
}
.content-rail::-webkit-scrollbar{display:block;height:7px}
.content-rail::-webkit-scrollbar-track{background:var(--gv-shell-surface-2);border-radius:999px}
.content-rail::-webkit-scrollbar-thumb{
	background:color-mix(in srgb,var(--gv-shell-primary) 58%,var(--gv-shell-muted));
	border:1px solid var(--gv-shell-surface-2);
	border-radius:999px
}
.content-rail::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gv-shell-primary) 72%,var(--gv-shell-muted))}
.content-rail>*{scroll-snap-align:start}

@media (any-hover:hover) and (any-pointer:fine){
	.content-rail-arrow{display:grid}
}

/* ========== Shared rail grid layout ========== */
.content-rail-grid{
	display:grid;
	grid-template-columns:none;
	grid-template-rows:repeat(2,max-content);
	grid-auto-flow:column;
	grid-auto-columns:calc(50% - 21px);
	gap:var(--grid-row-gap) var(--grid-column-gap)
}
.content-rail-grid .entry-thumbnail[data-preview-url]{touch-action:pan-x pan-y pinch-zoom}

@media(min-width:480px) and (max-width:767px){
	.content-rail-grid{grid-template-columns:none;grid-auto-columns:calc(33.333% - 16.667px)}
}
@media(min-width:768px) and (max-width:991px){
	.content-rail-grid{grid-template-columns:none;grid-auto-columns:calc(25% - 15px)}
}
@media(min-width:992px) and (max-width:1535px){
	.content-rail-grid{grid-template-columns:none;grid-auto-columns:calc(20% - 14px)}
}
@media(min-width:1536px){
	.content-rail-grid{grid-template-columns:none;grid-auto-columns:calc(16.6667% - 13.333px)}
}

/* ========== Aggregate TOP section spacing ========== */
.home-rail-section + .home-rail-section{margin-top:18px}
