/*
Theme Name: オナホ動画.com Modern
Theme URI: http://localhost/onahodouga_wp/
Author: オナホ動画.com
Description: 旧サイトの3カラム構成を受け継いだ、軽量で現代的な専用メディアテーマ。
Version: 0.1.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: onahodouga-modern
*/

:root {
	--color-canvas: #f4f3f0;
	--color-surface: #ffffff;
	--color-ink: #202124;
	--color-muted: #6c7077;
	--color-line: #d9dadd;
	--color-accent: #a12836;
	--color-accent-dark: #761b27;
	--color-header: #16191e;
	--content-width: 1340px;
	--font-sans: Helvetica, Arial, sans-serif, "メイリオ", Meiryo;
}

/* Single post comments */
.comments-area {
	margin-top: 18px;
	padding: 22px 24px 26px;
	background: #fff;
	color: #333;
}

.comments-title,
.comment-reply-title {
	margin: 0 0 14px;
	padding-bottom: 9px;
	border-bottom: 2px solid #ff6b95;
	font-size: 20px;
	line-height: 1.4;
}

.comment-list,
.comment-list .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comment-list .children {
	margin-left: 24px;
	border-left: 2px solid #f1d6de;
}

.comment-list .comment-body {
	padding: 14px 4px;
	border-bottom: 1px solid #e5e5e5;
	scroll-margin-top: 64px;
}

.comment-list li[id^="comment-no-"] {
	scroll-margin-top: 64px;
}

.comment-list .children .comment-body {
	padding-left: 14px;
}

.comment-meta {
	margin-bottom: 7px;
	font-size: 12px;
	line-height: 1.5;
	color: #777;
}

.comment-author {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin-bottom: 2px;
	font-size: 12px;
	font-weight: 400;
	color: #333;
}

.comment-author .fn {
	color: rgb(34, 122, 34);
	font-size: 12px;
	font-weight: 600;
}

.comment-date,
.comment-anonymous-id {
	color: #808080;
	font-size: 11px;
	font-weight: 400;
}

.comment-metadata a,
.comment-reply-link {
	color: #777;
	text-decoration: none;
}

.comment-metadata a:hover,
.comment-reply-link:hover {
	color: #ff6b95;
}

.comment-number,
.comment-reference {
	color: #ff6b95;
	font-weight: 700;
	text-decoration: none;
}

.comment-number {
	font-size: 14px;
	color: #444;
	cursor: default;
}

.comment-reference:hover {
	color: #d94370;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.comment-reference-preview {
	position: fixed;
	z-index: 10050;
	width: min(400px, calc(100vw - 24px));
	padding: 13px 15px 14px;
	border: 1px solid #ddd;
	border-left: 3px solid #ff6b95;
	border-radius: 3px;
	background: #fff;
	box-shadow: 0 5px 16px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	color: #333;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(3px);
	transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 150ms;
}

.comment-reference-preview.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.comment-reference-preview__meta {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.comment-reference-preview__date {
	margin-top: 2px;
	font-size: 11px;
	line-height: 1.4;
	color: #888;
}

.comment-reference-preview__body {
	display: -webkit-box;
	margin-top: 8px;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.65;
	white-space: pre-wrap;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}

@media (hover: none), (pointer: coarse) {
	.comment-reference-preview {
		display: none;
	}
}

.comment-content {
	font-size: 16px;
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.comment-content p {
	margin: 0 0 8px;
}

.reply {
	margin-top: 6px;
	font-size: 12px;
}

.comment-quote-reply {
	padding: 0;
	border: 0;
	background: transparent;
	color: #777;
	font: inherit;
	cursor: pointer;
}

.comment-quote-reply:hover,
.comment-quote-reply:focus-visible {
	color: #ff6b95;
	text-decoration: underline;
}

.comment-respond {
	margin-top: 26px;
	scroll-margin-top: 64px;
}

.comment-form p {
	margin: 0 0 13px;
}

.comment-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 10px 11px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	box-sizing: border-box;
}

.comment-form-author input {
	max-width: 360px;
}

.comment-form textarea {
	min-height: 140px;
	resize: vertical;
}

.comment-form input:focus,
.comment-form textarea:focus {
	border-color: #ff6b95;
	outline: 2px solid rgba(255, 107, 149, 0.16);
}

.comment-form .submit {
	padding: 10px 22px;
	border: 0;
	background: #ff6b95;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.comment-form .submit:hover {
	background: #ed557f;
}

.comment-navigation {
	margin: 18px 0;
	text-align: center;
}

.comment-navigation .page-numbers {
	display: inline-block;
	margin: 2px;
	padding: 5px 9px;
	border: 1px solid #ddd;
	color: #555;
	text-decoration: none;
}

.comment-navigation .current {
	border-color: #ff6b95;
	background: #ff6b95;
	color: #fff;
}

@media (max-width: 799px), (max-width: 999px) and (pointer: coarse), (max-width: 999px) and (hover: none) {
	.comments-area {
		padding: 18px 16px 22px;
	}

	.comment-list .children {
		margin-left: 12px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--color-canvas);
	background-image: url("assets/images/00bg.webp");
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
	font: inherit;
}

.site-shell {
	width: min(calc(100% - 32px), var(--content-width));
	margin: 0 auto 24px;
	background: var(--color-surface);
	box-shadow: 0 4px 22px rgb(22 25 30 / 8%);
}

a {
	color: var(--color-accent-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
	color: var(--color-accent);
}

img {
	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);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 10000;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	background: #fff;
	color: #111;
}

.site-header {
	background: #fff;
	color: var(--color-ink);
	border-top: 4px solid #ff6b95;
}

.site-header__inner {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 2px 20px;
}

.site-branding {
	min-width: 0;
	margin-left: -10px;
}

.site-branding__row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.site-db-switches {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

.mobile-menu-toggle,
.header-search__icon {
	display: none;
}

.site-db-switch {
	box-sizing: border-box;
	align-items: center;
	color: #fff;
	line-height: 1.3;
	text-decoration: none;
	background: #00aecb;
	border: 1px solid #00a2bd;
	border-radius: 3px;
}

.site-db-switch:hover,
.site-db-switch:focus-visible {
	color: #fff;
	background: #009bb5;
	border-color: #008da6;
}

.site-db-switch--logo {
	display: flex;
	width: 196px;
	min-height: 58px;
	flex: 0 0 196px;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 4px 10px;
}

.site-db-switch__brand-logo {
	display: block;
	width: 151px;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 180ms ease;
}

.site-db-switch--logo:hover .site-db-switch__brand-logo,
.site-db-switch--logo:focus-visible .site-db-switch__brand-logo {
	transform: translateY(-1px);
}

.site-db-switch__logo-subtitle {
	display: block;
	margin: 0;
	font-size: 9px;
	line-height: 1.2;
	white-space: nowrap;
}

.site-db-switch__logo-subtitle--mobile {
	display: none;
}

.site-title {
	margin: 0;
	font-size: clamp(24px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.01em;
}

.site-title a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

.site-logo {
	display: block;
	width: 400px;
	max-width: 100%;
	height: auto;
}

.site-description {
	margin: 5px 0 0;
	color: var(--color-muted);
	font-size: 15px;
}

.header-search {
	display: flex;
	flex: 0 1 360px;
	min-width: 260px;
}

.header-search__input,
.header-search__button {
	box-sizing: border-box;
	height: 38px;
	font: inherit;
	border-radius: 0;
}

.header-search__input {
	min-width: 0;
	width: 100%;
	padding: 7px 10px;
	background: #fff;
	border: 1px solid #d9dadd;
	border-right: 0;
}

.header-search__button {
	flex: 0 0 auto;
	padding: 7px 15px;
	color: #fff;
	font-weight: 700;
	background: #ff6b95;
	border: 1px solid #ff6b95;
	cursor: pointer;
}

.header-search__button:hover,
.header-search__button:focus-visible {
	background: #e95781;
	border-color: #e95781;
}

@media (max-width: 799px) {
	.site-header__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 10px 16px 14px;
	}

	.site-branding,
	.header-search {
		width: 100%;
	}

	.header-search {
		flex: 0 0 auto;
		min-width: 0;
		background: #fff;
	}

}

.site-navigation {
	background: #333;
	border-bottom: 1px solid #333;
	box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
}

@media (min-width: 1000px) {
	.site-navigation {
		position: sticky;
		top: 0;
		z-index: 100;
	}

	body.admin-bar .site-navigation {
		top: 32px;
	}

	.site-navigation.is-sticky {
		isolation: isolate;
		margin-bottom: 28px;
	}

	.site-navigation.is-sticky::before {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
		height: 45px;
		background: #333;
		content: "";
	}

	body.admin-bar .site-navigation.is-sticky::before {
		top: 32px;
	}

	.site-navigation.is-sticky .prototype-navigation__items {
		min-height: 44px;
	}

	.site-navigation.is-sticky .prototype-navigation__item {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.site-navigation.is-sticky .prototype-navigation__icon {
		font-size: 19px;
	}

	.site-navigation.is-sticky .prototype-navigation__copy small {
		display: none;
	}

	.site-navigation.is-sticky .prototype-navigation > .prototype-mega-menu,
	.site-navigation.is-sticky .prototype-navigation > .prototype-ranking-menu,
	.site-navigation.is-sticky .prototype-navigation > .prototype-series-menu,
	.site-navigation.is-sticky .prototype-navigation > .prototype-variety-menu,
	.site-navigation.is-sticky .prototype-navigation > .prototype-projects-menu,
	.site-navigation.is-sticky .prototype-navigation > .prototype-db-menu {
		position: absolute;
		top: 100%;
		left: 0;
	}

	.site-navigation.is-sticky .prototype-navigation.is-manufacturer-open > .prototype-mega-menu,
	.site-navigation.is-sticky .prototype-navigation.is-ranking-open > .prototype-ranking-menu,
	.site-navigation.is-sticky .prototype-navigation.is-series-open > .prototype-series-menu,
	.site-navigation.is-sticky .prototype-navigation.is-variety-open > .prototype-variety-menu,
	.site-navigation.is-sticky .prototype-navigation.is-projects-open > .prototype-projects-menu,
	.site-navigation.is-sticky .prototype-navigation.is-db-open > .prototype-db-menu {
		max-height: 75vh;
		overflow-y: auto;
		overscroll-behavior: contain;
		transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
	}
}

@media (min-width: 1000px) {
	.site-shell {
		min-width: 1100px;
	}
}

.site-navigation,
.prototype-navigation__items,
.prototype-navigation__item,
.prototype-navigation__icon {
	transition: min-height 180ms ease, padding 180ms ease, font-size 180ms ease, margin-bottom 180ms ease;
}

.navigation-sticky-sentinel {
	display: block;
	width: 100%;
	height: 1px;
	margin-bottom: -1px;
	pointer-events: none;
}

.mega-menu-flow-host {
	position: relative;
	width: 100%;
}

.site-navigation__inner {
	width: 100%;
	padding: 0 24px;
}

.site-navigation ul {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-navigation li {
	position: relative;
}

.site-navigation__legacy a {
	display: block;
	padding: 13px 18px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.site-navigation__legacy a:hover,
.site-navigation__legacy a:focus-visible,
.site-navigation__legacy .current-menu-item > a {
	background: #444;
	color: #ff6b95;
}

.site-navigation .sub-menu,
.site-navigation .children {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	display: none;
	min-width: 220px;
	background: #333;
	border: 1px solid #555;
	box-shadow: 0 10px 24px rgb(0 0 0 / 12%);
}

.site-navigation li:hover > .sub-menu,
.site-navigation li:focus-within > .sub-menu,
.site-navigation li:hover > .children,
.site-navigation li:focus-within > .children {
	display: block;
}

.site-navigation__legacy {
	display: none;
}

.prototype-navigation {
	position: relative;
	width: 100%;
}

.prototype-navigation__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.prototype-navigation__items {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	min-height: 63px;
}

.prototype-navigation__item {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 7px 12px;
	color: #fff;
	font: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	border-right: 1px solid #474747;
}

.prototype-navigation__item:last-child {
	border-right: 0;
}

.prototype-navigation.is-manufacturer-open .prototype-navigation__item--manufacturers {
	background: #ff6b95;
	border-color: #ff86a8;
}

.prototype-navigation.is-series-open .prototype-navigation__item--series {
	background: #ff6b95;
	border-color: #ff86a8;
}

.prototype-navigation.is-ranking-open .prototype-navigation__item--ranking {
	background: #ff6b95;
	border-color: #ff86a8;
}

.prototype-navigation.is-variety-open .prototype-navigation__item--variety {
	background: #ff6b95;
	border-color: #ff86a8;
}

.prototype-navigation.is-projects-open .prototype-navigation__item--projects {
	background: #ff6b95;
	border-color: #ff86a8;
}

.site-navigation .prototype-navigation__item--database {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 7px 12px;
	color: #51d2e7;
	background: transparent;
	border-left: 2px solid #596267;
	border-right: 0;
	text-decoration: none;
}

.prototype-navigation__item--database,
.prototype-navigation__item--ranking,
.prototype-navigation__item--manufacturers,
.prototype-navigation__item--series,
.prototype-navigation__item--variety {
	cursor: pointer;
}

.prototype-navigation__item--manufacturers:hover,
.prototype-navigation__item--manufacturers:focus-visible,
.prototype-navigation__item--ranking:hover,
.prototype-navigation__item--ranking:focus-visible,
.prototype-navigation__item--series:hover,
.prototype-navigation__item--series:focus-visible,
.prototype-navigation__item--variety:hover,
.prototype-navigation__item--variety:focus-visible {
	background: #414141;
}

.site-navigation .prototype-navigation__item--database:hover,
.site-navigation .prototype-navigation__item--database:focus-visible {
	color: #79e5f6;
	background: rgb(0 174 203 / 16%);
}

.prototype-navigation__item--database .prototype-navigation__icon,
.prototype-navigation__item--database .prototype-navigation__copy strong {
	color: #51d2e7;
}

.prototype-navigation__item--database .prototype-navigation__copy small {
	color: #9bcbd2;
}

.prototype-navigation__icon {
	flex: 0 0 auto;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}

.prototype-navigation__copy {
	display: block;
	min-width: 0;
}

.prototype-navigation__copy strong,
.prototype-navigation__copy small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prototype-navigation__copy strong {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.prototype-navigation__copy small {
	margin-top: 1px;
	color: #c8c8c8;
	font-size: 10px;
	line-height: 1.3;
}

.prototype-navigation.is-manufacturer-open .prototype-navigation__item--manufacturers small {
	color: #fff;
}

.prototype-navigation.is-series-open .prototype-navigation__item--series small {
	color: #fff;
}

.prototype-navigation.is-ranking-open .prototype-navigation__item--ranking small {
	color: #fff;
}

.prototype-navigation.is-variety-open .prototype-navigation__item--variety small {
	color: #fff;
}

.prototype-mega-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 30;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 16px;
	color: #333;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translateY(-4px);
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, transform 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-manufacturer-open .prototype-mega-menu,
.prototype-mega-menu.is-panel-open {
	max-height: 1200px;
	padding: 14px 16px 4px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.prototype-ranking-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 30;
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	gap: 24px;
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 22px;
	color: #333;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translateY(-4px);
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, transform 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-ranking-open .prototype-ranking-menu,
.prototype-ranking-menu.is-panel-open {
	max-height: 760px;
	padding: 18px 22px 20px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.prototype-ranking-menu h2 {
	margin: 0 0 10px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.prototype-ranking-menu__latest h2 span {
	color: #ff6b95;
}

.prototype-ranking-feature {
	display: grid;
	overflow: hidden;
	color: #333;
	text-decoration: none;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.prototype-ranking-feature__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 2 / 1;
	background: #fff;
}

.prototype-ranking-feature__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: filter 180ms ease;
}

.prototype-ranking-feature__copy {
	display: grid;
	gap: 5px;
	padding: 11px 13px 12px;
}

.prototype-ranking-feature__copy strong {
	font-size: 16px;
	line-height: 1.4;
}

.prototype-ranking-feature__copy small {
	color: #ff6b95;
	font-size: 13px;
	font-weight: 700;
}

.prototype-ranking-feature:hover,
.prototype-ranking-feature:focus-visible {
	background: #fffafb;
	border-color: #ff8eae;
}

.prototype-ranking-feature:hover img,
.prototype-ranking-feature:focus-visible img {
	filter: brightness(1.04);
}

.prototype-ranking-menu__browse {
	display: grid;
	align-content: start;
	gap: 20px;
}

.prototype-ranking-menu__months {
	padding-bottom: 18px;
	border-bottom: 1px solid #ececec;
}

.prototype-ranking-menu__month-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.prototype-ranking-menu__month-grid > a,
.prototype-ranking-menu__month-grid > span {
	display: flex;
	min-height: 41px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 7px 10px;
	color: #3f3f3f;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	background: #fafafa;
	border: 1px solid #e1e1e1;
	border-radius: 3px;
	transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.prototype-ranking-menu__month-grid > a:hover,
.prototype-ranking-menu__month-grid > a:focus-visible {
	color: #ff5f8d;
	background: #fff5f8;
	border-color: #ff91b0;
}

.prototype-ranking-menu__month-grid .is-latest {
	color: #e9517c;
	border-color: #ff9ab7;
}

.prototype-ranking-menu__month-grid small {
	padding: 1px 4px;
	color: #fff;
	font-size: 9px;
	line-height: 1.4;
	background: #ff6b95;
	border-radius: 2px;
}

.prototype-ranking-menu__month-grid .is-unavailable {
	color: #aaa;
	background: #f5f5f5;
}

.prototype-ranking-menu__annual-links {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 7px;
}

.prototype-ranking-menu__annual-links a {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	color: #444;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 3px;
	transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.prototype-ranking-menu__annual-links a:hover,
.prototype-ranking-menu__annual-links a:focus-visible {
	color: #ff5f8d;
	background: #fff7fa;
	border-color: #ff9ab7;
}

.prototype-ranking-menu__archive {
	display: block;
	width: fit-content;
	margin: 12px 0 0 auto;
	color: #666;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

a.prototype-ranking-menu__archive:hover,
a.prototype-ranking-menu__archive:focus-visible {
	color: #ff5f8d;
}

@media (max-width: 799.98px), (max-width: 800px) and (pointer: coarse), (max-width: 800px) and (hover: none) {
	.prototype-ranking-menu {
		grid-template-columns: 1fr;
	}

	.prototype-ranking-menu__annual-links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.prototype-ranking-menu__month-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.prototype-ranking-menu__annual-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 716px) {
	.prototype-ranking-menu__latest,
	.prototype-ranking-menu__browse {
		min-width: 0;
	}

	.prototype-ranking-feature__copy strong,
	.prototype-ranking-feature__copy small {
		white-space: normal;
	}
}

.prototype-projects-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 30;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 22px;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translateY(-4px);
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, transform 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-projects-open .prototype-projects-menu,
.prototype-projects-menu.is-panel-open {
	max-height: 900px;
	padding: 18px 22px 20px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.prototype-project-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	color: #555;
	text-decoration: none;
	white-space: normal;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 3px;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.prototype-project-card__image {
	display: block;
	aspect-ratio: 62 / 25;
	overflow: hidden;
	background: #fff;
}

.prototype-project-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: filter 180ms ease, transform 180ms ease;
}

.prototype-project-card__copy {
	display: grid;
	gap: 2px;
	padding: 8px 10px;
}

.prototype-project-card strong {
	display: -webkit-box;
	min-height: calc(2em * 1.4);
	box-sizing: border-box;
	overflow: hidden;
	color: #5c5c5c;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color 180ms ease;
}

.prototype-project-card__copy small {
	overflow: hidden;
	color: #888;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prototype-project-card:hover,
.prototype-project-card:focus-visible {
	background: #fffafb;
	border-color: #ff8eae;
}

.prototype-project-card:hover strong,
.prototype-project-card:focus-visible strong {
	color: #ff5f8d;
}

.prototype-project-card:hover img,
.prototype-project-card:focus-visible img {
	filter: brightness(0.92);
	transform: scale(1.012);
}

@media (max-width: 799.98px), (max-width: 800px) and (pointer: coarse), (max-width: 800px) and (hover: none) {
	.prototype-projects-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.prototype-projects-menu {
		grid-template-columns: 1fr;
	}
}

.prototype-variety-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 30;
	display: grid;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 22px;
	color: #333;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translateY(-4px);
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, transform 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-variety-open .prototype-variety-menu,
.prototype-variety-menu.is-panel-open {
	max-height: 900px;
	padding: 18px 22px 20px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.prototype-variety-menu__primary,
.prototype-variety-menu__secondary {
	display: grid;
	gap: 12px;
}

.prototype-variety-menu__primary {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.prototype-variety-menu__secondary {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.prototype-variety-card {
	position: relative;
	display: block;
	min-width: 0;
	overflow: hidden;
	color: #333;
	text-decoration: none;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.prototype-variety-card__image {
	display: block;
	overflow: hidden;
	background: #f7f7f7;
}

.prototype-variety-card--primary .prototype-variety-card__image {
	aspect-ratio: 62 / 25;
}

.prototype-variety-card--primary .prototype-variety-card__image img,
.prototype-variety-card--secondary .prototype-variety-card__image img {
	object-fit: contain;
	object-position: center;
}

.prototype-variety-card--secondary .prototype-variety-card__image {
	aspect-ratio: 62 / 25;
}

.prototype-variety-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 180ms ease, transform 180ms ease;
}

.prototype-variety-card__copy {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: grid;
	gap: 3px;
	box-sizing: border-box;
	padding: 30px 12px 11px;
	pointer-events: none;
	background: linear-gradient(to bottom, rgb(0 0 0 / 0%), rgb(0 0 0 / 68%));
}

.prototype-variety-card__copy strong {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	transition: color 180ms ease;
	text-shadow: 0 1px 2px rgb(0 0 0 / 35%);
}

.prototype-variety-card--primary .prototype-variety-card__copy strong {
	font-size: 16px;
}

.prototype-variety-card__copy small {
	overflow: hidden;
	color: rgb(255 255 255 / 86%);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgb(0 0 0 / 35%);
}

.prototype-variety-card:hover,
.prototype-variety-card:focus-visible {
	background: #fffafb;
	border-color: #ff8eae;
}

.prototype-variety-card:hover .prototype-variety-card__copy strong,
.prototype-variety-card:focus-visible .prototype-variety-card__copy strong {
	color: #ff5f8d;
}

.prototype-variety-card:hover .prototype-variety-card__image img,
.prototype-variety-card:focus-visible .prototype-variety-card__image img {
	filter: brightness(0.88);
	transform: scale(1.015);
}

@media (max-width: 799.98px), (max-width: 800px) and (pointer: coarse), (max-width: 800px) and (hover: none) {
	.prototype-variety-menu__primary {
		grid-template-columns: 1fr;
	}

	.prototype-variety-menu__secondary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.prototype-variety-menu__secondary {
		grid-template-columns: 1fr;
	}
}

.prototype-series-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 30;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 22px;
	color: #333;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transform: translateY(-4px);
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, transform 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-series-open .prototype-series-menu,
.prototype-series-menu.is-panel-open {
	max-height: 900px;
	padding: 18px 22px 20px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.prototype-series-menu__column {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 17px;
}

.prototype-series-menu__group {
	min-width: 0;
}

.prototype-series-menu__maker {
	display: flex;
	min-height: 25px;
	box-sizing: border-box;
	align-items: center;
	gap: 8px;
	margin: 0 0 7px;
	padding: 0 2px 6px;
	color: #5c5c5c;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	border-bottom: 1px solid #ececec;
}

.prototype-series-menu__maker-logo {
	display: block;
	width: auto;
	max-width: 88px;
	height: auto;
	max-height: 21px;
	flex: 0 0 auto;
	object-fit: contain;
	background: transparent;
}

.prototype-series-menu__maker > span {
	min-width: 0;
}

.prototype-series-menu__items {
	display: grid;
	gap: 5px;
}

.prototype-series-menu__item {
	display: flex;
	min-width: 0;
	min-height: 55px;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 11px;
	color: #383838;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	background: #fafafa;
	border: 1px solid #e4e4e4;
	border-radius: 3px;
	transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.prototype-series-menu__copy {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 2px;
	text-align: left;
	overflow-wrap: anywhere;
}

.prototype-series-menu__copy strong {
	color: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.prototype-series-menu__copy small {
	color: #888;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

.prototype-series-menu__thumbnail {
	display: none;
}

@media (min-width: 1000px) {
	.prototype-series-menu__item {
		min-height: 55px;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.prototype-series-menu__thumbnail {
		display: flex;
		width: 42px;
		height: 42px;
		flex: 0 0 42px;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		padding: 4px;
		background: #fff;
		border: 1px solid #e3e3e3;
		border-radius: 50%;
		overflow: hidden;
	}

	.prototype-series-menu__thumbnail img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
		border-radius: 50%;
	}
}

.prototype-series-menu__arrow {
	flex: 0 0 auto;
	color: #b5b5b5;
	font-size: 15px;
	transition: transform 180ms ease;
}

a.prototype-series-menu__item:hover,
a.prototype-series-menu__item:focus-visible {
	color: #e95781;
	background: #fff7fa;
	border-color: #ff9ab8;
}

a.prototype-series-menu__item:hover .prototype-series-menu__arrow,
a.prototype-series-menu__item:focus-visible .prototype-series-menu__arrow {
	color: #ff6b95;
	transform: translateX(2px);
}

.prototype-series-menu__item.is-unavailable {
	color: #777;
	background: #f7f7f7;
}

@media (max-width: 799.98px), (max-width: 950px) and (pointer: coarse), (max-width: 950px) and (hover: none) {
	.prototype-series-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.prototype-series-menu {
		grid-template-columns: 1fr;
	}

	.prototype-series-menu__maker-logo {
		max-width: 76px;
		max-height: 18px;
	}
}

.prototype-db-menu {
	position: relative;
	top: auto;
	left: 0;
	z-index: 29;
	width: 100%;
	box-sizing: border-box;
	max-height: 0;
	padding: 0 18px;
	color: #333;
	background: #fff;
	border: 0 solid #e2e2e2;
	border-right-width: 1px;
	border-left-width: 1px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transition: max-height 200ms ease, padding 200ms ease, opacity 180ms ease, visibility 0s linear 200ms;
}

.prototype-navigation.is-db-open .prototype-db-menu,
.prototype-db-menu.is-panel-open {
	max-height: 1400px;
	padding: 15px 18px 14px;
	border-bottom-width: 1px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.prototype-db-menu__header {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 11px;
}

.prototype-db-menu__header strong {
	font-size: 17px;
	line-height: 1.3;
}

.prototype-db-menu__header span {
	color: #777;
	font-size: 11px;
}

.prototype-db-menu__layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.prototype-db-menu__main {
	min-width: 0;
}

.db-type-panel {
	box-sizing: border-box;
	padding: 14px;
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
}

.db-type-panel__header {
	margin-bottom: 11px;
	padding-bottom: 9px;
	border-bottom: 2px solid #ff6b95;
}

.db-type-panel__title {
	margin: 0;
	color: #333;
	font-size: 15px;
	line-height: 1.35;
}

.db-type-panel__header p {
	margin: 3px 0 0;
	color: #888;
	font-size: 10px;
	line-height: 1.4;
}

.db-type-list {
	display: grid;
	gap: 6px;
}

.db-type-item {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	width: 100%;
	padding: 7px 8px;
	color: #333;
	font-family: inherit;
	text-align: left;
	background: #fff;
	border: 1px solid #e2e2e2;
	transition: background-color 170ms ease, border-color 170ms ease;
}

.db-type-item:hover {
	background: rgb(255 107 149 / 7%);
	border-color: #ffabc3;
}

.db-type-item.is-active {
	background: rgb(255 107 149 / 12%);
	border-color: #ff8eaf;
}

.db-type-item.is-selected {
	color: #fff;
	background: #ff6b95;
	border-color: #ff6b95;
}

.db-type-item.is-selected .db-type-item__icon {
	color: #e95781;
	background: #fff;
	border-color: #fff;
}

.db-type-item.is-selected .db-type-item__desc {
	color: rgb(255 255 255 / 88%);
}

.db-type-item.is-selected .db-type-item__count {
	color: #e95781;
	background: rgb(255 255 255 / 92%);
	border-color: rgb(255 255 255 / 75%);
}

.db-type-item:disabled,
.db-type-item.is-unavailable:not(.is-selected) {
	color: #aaa;
	background: #f3f3f3;
	cursor: not-allowed;
}

.db-type-item__icon {
	display: inline-flex;
	width: 28px;
	height: 28px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	color: #666;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	background: #fafafa;
	border: 1px solid #d8d8d8;
	border-radius: 50%;
}

.db-type-item:hover .db-type-item__icon,
.db-type-item.is-active .db-type-item__icon {
	color: #e95781;
	background: #fff;
	border-color: #ff8eaf;
}

.db-type-item__copy {
	display: block;
	min-width: 0;
}

.db-type-item__label,
.db-type-item__desc {
	display: block;
}

.db-type-item__label {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
}

.db-type-item__desc {
	margin-top: 2px;
	color: #858585;
	font-size: 9px;
	font-weight: 400;
	line-height: 1.35;
}

.db-type-item__count {
	min-width: 42px;
	box-sizing: border-box;
	padding: 2px 4px;
	color: #6d6d6d;
	font-size: 9px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	text-align: center;
	background: #f3f3f3;
	border: 1px solid #e2e2e2;
	border-radius: 2px;
}

.db-type-item__count.is-zero {
	color: #aaa;
	background: #f5f5f5;
	border-color: #e8e8e8;
}

.prototype-db-menu__groups {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.prototype-db-group {
	min-width: 0;
}

.prototype-db-group h2 {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 0 2px 5px;
	font-size: 14px;
	line-height: 1.3;
	border-bottom: 2px solid #ff6b95;
}

.prototype-db-group__icon {
	display: inline-flex;
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	align-items: center;
	justify-content: center;
	color: #5f5f5f;
}

.prototype-db-group__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.prototype-db-group__icon--nkp {
	display: block;
	width: 20px;
	height: 20px;
	flex-basis: 20px;
	overflow: hidden;
}

.prototype-db-group__icon--nkp img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: scale(1.6);
}

.prototype-db-nkp-note {
	margin-top: 9px;
	padding: 8px 9px;
	color: #666;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.45;
	background: #f6f6f6;
	border-left: 3px solid #ff6b95;
}

.prototype-db-nkp-note > strong {
	display: block;
	margin-bottom: 3px;
	color: #444;
	font-size: 11px;
}

.prototype-db-nkp-note p {
	margin: 0 0 3px;
}

.prototype-db-nkp-note p:last-child {
	margin-bottom: 0;
}

.prototype-db-nkp-note__formula {
	color: #444;
	font-weight: 700;
}

.prototype-db-nkp-note__emphasis {
	color: #444;
	font-weight: 700;
}

.prototype-db-nkp-note .prototype-db-nkp-note__caution {
	color: #888;
	font-size: 9px;
}

.prototype-db-group__options {
	display: grid;
}

.prototype-db-hardness {
	margin-top: 18px;
	padding: 13px 14px 14px;
	background: #fff;
	border: 1px solid #e7e4ec;
	border-radius: 4px;
}

.prototype-db-hardness__header {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	gap: 9px;
	margin-bottom: 12px;
}

.prototype-db-hardness__header h2 {
	margin: 0;
	color: #444;
	font-size: 14px;
	line-height: 1.3;
}

.prototype-db-hardness__direction {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: center;
	gap: 12px;
	color: #777;
	font-size: 11px;
	font-weight: 600;
}

.prototype-db-hardness__direction i {
	position: relative;
	height: 3px;
	flex: 1;
	background: linear-gradient(90deg, #e798b5 0%, #aaa0c9 50%, #79b1d2 100%);
	border-radius: 999px;
}

.prototype-db-hardness__direction i::before,
.prototype-db-hardness__direction i::after {
	position: absolute;
	top: 50%;
	width: 7px;
	height: 7px;
	content: "";
	border-style: solid;
	transform: translateY(-50%) rotate(45deg);
}

.prototype-db-hardness__direction i::before { left: 0; border-width: 0 0 1px 1px; border-color: #d47b9d; }
.prototype-db-hardness__direction i::after { right: 0; border-width: 1px 1px 0 0; border-color: #679dbf; }

.prototype-db-hardness__scale {
	display: grid;
	grid-template-columns: repeat(9, minmax(0, 1fr));
	gap: 5px;
}

.prototype-db-hardness .prototype-db-hardness__option {
	display: flex;
	min-height: 82px;
	box-sizing: border-box;
	align-items: center;
	flex-direction: column;
	justify-content: flex-start;
	padding: 8px 4px 6px;
	text-align: center;
	background: var(--hardness-bg);
	border: 1px solid var(--hardness-border);
	border-radius: 3px;
}

.prototype-db-hardness__option[data-hardness-level="0"], .hardness-archive-intro[data-hardness-level="0"] { --hardness-bg: #fff7fa; --hardness-border: #f1d7e1; --hardness-accent: #dc87a7; }
.prototype-db-hardness__option[data-hardness-level="1"], .hardness-archive-intro[data-hardness-level="1"] { --hardness-bg: #fff8fb; --hardness-border: #efdce5; --hardness-accent: #d891ab; }
.prototype-db-hardness__option[data-hardness-level="2"], .hardness-archive-intro[data-hardness-level="2"] { --hardness-bg: #fdf8fb; --hardness-border: #eadde5; --hardness-accent: #cb96ae; }
.prototype-db-hardness__option[data-hardness-level="3"], .hardness-archive-intro[data-hardness-level="3"] { --hardness-bg: #fbf8fc; --hardness-border: #e7dfeb; --hardness-accent: #b99ab8; }
.prototype-db-hardness__option[data-hardness-level="4"], .hardness-archive-intro[data-hardness-level="4"] { --hardness-bg: #faf9fd; --hardness-border: #e3e0ec; --hardness-accent: #9e9ac2; }
.prototype-db-hardness__option[data-hardness-level="5"], .hardness-archive-intro[data-hardness-level="5"] { --hardness-bg: #f8fafd; --hardness-border: #dce5ed; --hardness-accent: #8ca5c8; }
.prototype-db-hardness__option[data-hardness-level="6"], .hardness-archive-intro[data-hardness-level="6"] { --hardness-bg: #f7fbfd; --hardness-border: #d7e6ee; --hardness-accent: #7caccb; }
.prototype-db-hardness__option[data-hardness-level="7"], .hardness-archive-intro[data-hardness-level="7"] { --hardness-bg: #f5fafd; --hardness-border: #d1e4ee; --hardness-accent: #6eafd0; }
.prototype-db-hardness__option[data-hardness-level="8"], .hardness-archive-intro[data-hardness-level="8"] { --hardness-bg: #f3fafd; --hardness-border: #cae2ed; --hardness-accent: #58a7cc; }

.prototype-db-hardness__option .prototype-db-hardness__value,
.prototype-db-hardness__option strong {
	display: block;
}

.prototype-db-hardness__option .prototype-db-hardness__value {
	display: inline-flex;
	width: 34px;
	height: 34px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	color: var(--hardness-accent);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	background: rgb(255 255 255 / 82%);
	border: 2px solid var(--hardness-accent);
	border-radius: 50%;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.prototype-db-hardness__option strong {
	width: max-content;
	max-width: 100%;
	align-self: center;
	margin: 5px 0 4px;
	color: #4f4b54;
	font-size: 11px;
	text-align: center;
}

.prototype-db-hardness__option .prototype-db-option__count {
	display: block;
	width: max-content;
	min-width: 0;
	max-width: 100%;
	flex: 0 0 auto;
	align-self: center;
	margin-right: 0;
	margin-left: 0;
	font-size: 9px;
	text-align: center;
}

.prototype-db-hardness__option:hover {
	background: var(--hardness-bg);
	border-color: var(--hardness-accent);
}

.prototype-db-hardness__option:hover .prototype-db-hardness__value {
	background: color-mix(in srgb, var(--hardness-accent) 12%, white);
}

.prototype-db-hardness__option.is-selected,
.onahodouga-db .prototype-db-hardness__option.is-selected {
	color: #3f3945;
	background: color-mix(in srgb, var(--hardness-accent) 12%, white);
	border-color: var(--hardness-accent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hardness-accent) 72%, white);
}

.prototype-db-hardness__option.is-selected .prototype-db-hardness__value {
	color: #4b4850;
	background: #fff;
	border-color: color-mix(in srgb, var(--hardness-accent) 38%, #e1e1e1);
}

.prototype-db-hardness__option.is-selected .prototype-db-hardness__value,
.prototype-db-hardness__option.is-selected strong {
	color: #3f3945;
}

@media (max-width: 799.98px), (max-width: 900px) and (pointer: coarse), (max-width: 900px) and (hover: none) {
	.prototype-db-hardness__scale { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.prototype-db-hardness__header { gap: 7px; }
	.prototype-db-hardness__scale { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.prototype-db-option {
	display: block;
	width: 100%;
	min-height: 38px;
	box-sizing: border-box;
	padding: 8px;
	color: #444;
	font-size: 12px;
	font-family: inherit;
	line-height: 1.25;
	text-align: left;
	background: #fff;
	border: 0;
	border-bottom: 1px solid #ededed;
	cursor: pointer;
}

.prototype-db-option__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.prototype-db-option__count {
	flex: 0 0 auto;
	min-width: 52px;
	box-sizing: border-box;
	padding: 2px 5px;
	color: #6d6d6d;
	font-size: 11px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	text-align: center;
	background: #f3f3f3;
	border: 1px solid #e2e2e2;
	border-radius: 2px;
}

.prototype-db-option__description {
	display: block;
	margin-top: 3px;
	color: #808080;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
}

.prototype-db-option:hover {
	background: rgb(255 107 149 / 8%);
	color: #333;
}

.prototype-db-option:disabled,
.prototype-db-option.is-unavailable:not(.is-selected) {
	color: #aaa;
	background: #f5f5f5;
	cursor: not-allowed;
}

.prototype-db-option:disabled .prototype-db-option__count,
.prototype-db-option.is-unavailable:not(.is-selected) .prototype-db-option__count,
.prototype-db-option:disabled .prototype-db-option__description,
.prototype-db-option.is-unavailable:not(.is-selected) .prototype-db-option__description {
	color: #bbb;
}

.prototype-db-option:disabled .prototype-db-option__count,
.prototype-db-option.is-unavailable:not(.is-selected) .prototype-db-option__count {
	background: #eeeeee;
	border-color: #e5e5e5;
}

.prototype-db-option.is-selected {
	color: #fff;
	background: #ff6b95;
	border-color: #ff6b95;
}

.prototype-db-option.is-selected .prototype-db-option__count,
.prototype-db-option.is-selected .prototype-db-option__description {
	color: rgb(255 255 255 / 88%);
}

.prototype-db-option.is-selected .prototype-db-option__count {
	color: #e95781;
	background: rgb(255 255 255 / 92%);
	border-color: rgb(255 255 255 / 75%);
}

.prototype-db-hardness__heading {
	display: flex;
	align-items: baseline;
	gap: 9px;
}

.prototype-db-hardness__heading small,
.prototype-db-numeric__legend-with-note small,
.prototype-db-numeric__header small {
	color: #888;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
}

.prototype-db-numeric__group .prototype-db-numeric__legend-with-note {
	display: flex;
	align-items: baseline;
	gap: 7px;
}

.prototype-db-numeric {
	margin-top: 12px;
	padding: 12px 14px 14px;
	background: #fff;
	border: 1px solid #e7e4ec;
	border-radius: 4px;
}

.prototype-db-numeric__header {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin-bottom: 10px;
}

.prototype-db-numeric__header h2 {
	margin: 0;
	color: #444;
	font-size: 14px;
	line-height: 1.3;
}

.prototype-db-numeric__groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.prototype-db-numeric__group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.prototype-db-numeric__group legend {
	margin-bottom: 6px;
	padding: 0;
	color: #555;
	font-size: 12px;
	font-weight: 700;
}

.prototype-db-numeric__choices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
}

.prototype-db-numeric__choices button {
	display: flex;
	min-height: 35px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	padding: 5px 7px;
	color: #555;
	font: inherit;
	font-size: 12px;
	background: #fafafa;
	border: 1px solid #dcdcdc;
	border-radius: 3px;
	cursor: pointer;
}

.prototype-db-numeric__choices button strong,
.prototype-db-numeric__choices button small {
	display: block;
}

.prototype-db-numeric__choices button .prototype-db-numeric__count {
	margin-top: 3px;
	color: #999;
	font-size: 9px;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
}

.prototype-db-numeric__choices button strong {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.prototype-db-numeric__choices button small {
	margin-top: 2px;
	color: #888;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.25;
}

.prototype-db-numeric__choices button:hover {
	color: #333;
	background: #fff7fa;
	border-color: #efb5c6;
}

.prototype-db-numeric__choices button.is-selected {
	color: #fff;
	font-weight: 700;
	background: #ff6b95;
	border-color: #ff6b95;
}

.prototype-db-numeric__choices button.is-selected small {
	color: rgb(255 255 255 / 84%);
}

.prototype-db-numeric__range {
	display: flex;
	align-items: center;
	gap: 6px;
}

.prototype-db-numeric__range label {
	display: flex;
	min-width: 0;
	flex: 1;
	align-items: center;
	gap: 4px;
	color: #666;
	font-size: 11px;
}

.prototype-db-numeric__range select {
	width: 100%;
	min-width: 0;
	height: 35px;
	box-sizing: border-box;
	padding: 0 6px;
	color: #555;
	font: inherit;
	font-size: 11px;
	background: #fafafa;
	border: 1px solid #dcdcdc;
	border-radius: 3px;
}

.prototype-db-numeric__range > i {
	color: #888;
	font-size: 12px;
	font-style: normal;
}

.prototype-db-numeric__weight-count {
	display: block;
	margin-top: 5px;
	color: #888;
	font-size: 10px;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}

.prototype-db-numeric__weight-count[hidden] {
	display: none;
}

@media (max-width: 799.98px), (max-width: 900px) and (pointer: coarse), (max-width: 900px) and (hover: none) {
	.prototype-db-numeric__groups { grid-template-columns: 1fr; }
	.prototype-db-hardness__heading,
	.prototype-db-numeric__header { align-items: flex-start; flex-direction: column; gap: 3px; }
}

.prototype-db-menu__secondary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #e6e6e6;
}

.prototype-db-menu__secondary label > span:first-child,
.prototype-db-maker-field > span:first-child {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
}

.prototype-db-select {
	display: flex;
	height: 35px;
	align-items: center;
	justify-content: space-between;
	padding: 0 10px;
	color: #555;
	font-size: 12px;
	background: #fafafa;
	border: 1px solid #dcdcdc;
}

.prototype-db-select--maker {
	display: flex;
	width: 100%;
	font: inherit;
	text-align: left;
	border-radius: 0;
	cursor: pointer;
}

.prototype-db-select--maker b {
	margin-left: auto;
	font-size: 11px;
	font-weight: 400;
}

.prototype-db-select--maker i {
	margin-left: 7px;
	color: #999;
	font-size: 9px;
	font-style: normal;
}

.prototype-db-select--maker[aria-expanded="true"] {
	border-color: #ff6b95;
}

.prototype-db-select--maker[aria-expanded="true"] i {
	transform: rotate(180deg);
}

.prototype-db-maker-panel {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 9px;
	padding: 11px 12px;
	background: #fafafa;
	border: 1px solid #dedede;
}

.prototype-db-maker-panel[hidden] {
	display: none;
}

.prototype-db-maker-group {
	min-width: 0;
}

.prototype-db-maker-group h3 {
	margin: 0 0 6px;
	color: #666;
	font-size: 11px;
	line-height: 1.3;
}

.prototype-db-maker-group__items {
	display: grid;
	gap: 4px;
}

.prototype-db-maker-option {
	display: flex;
	min-height: 33px;
	align-items: center;
	gap: 7px;
	padding: 6px 7px;
	color: #444;
	font: inherit;
	font-size: 11px;
	line-height: 1.25;
	text-align: left;
	background: #fff;
	border: 1px solid #dedede;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.prototype-db-maker-option > span {
	position: relative;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	border: 1px solid #bbb;
}

.prototype-db-maker-option > b {
	min-width: 0;
	color: inherit;
	font-size: inherit;
	font-weight: 600;
}

.prototype-db-maker-option > small {
	min-width: 48px;
	box-sizing: border-box;
	margin-left: auto;
	padding: 2px 4px;
	color: #6d6d6d;
	font-size: 10px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	text-align: center;
	background: #f3f3f3;
	border: 1px solid #e2e2e2;
	border-radius: 2px;
}

.prototype-db-maker-option:hover {
	color: #ff6b95;
	background: rgb(255 107 149 / 7%);
	border-color: #ff9bb8;
}

.prototype-db-maker-option.is-selected {
	color: #fff;
	background: #ff6b95;
	border-color: #ff6b95;
}

.prototype-db-maker-option.is-selected > span {
	border-color: #fff;
}

.prototype-db-maker-option.is-selected > span::after {
	position: absolute;
	top: 1px;
	left: 4px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	content: "";
	transform: rotate(45deg);
}

.prototype-db-maker-option.is-unavailable:not(.is-selected),
.prototype-db-maker-option:disabled {
	color: #aaa;
	background: #f3f3f3;
	cursor: not-allowed;
}

.prototype-db-maker-option.is-unavailable:not(.is-selected) > small,
.prototype-db-maker-option:disabled > small {
	color: #bbb;
	background: #eee;
	border-color: #e5e5e5;
}

.prototype-db-maker-option.is-selected > small {
	color: #e95781;
	background: rgb(255 255 255 / 92%);
	border-color: rgb(255 255 255 / 75%);
}

.prototype-db-maker-values {
	display: none;
}

.prototype-db-select b {
	color: #999;
	font-size: 9px;
}

.prototype-db-select--disabled {
	color: #999;
	background: #f1f1f1;
	border-color: #ddd;
	cursor: not-allowed;
}

.prototype-db-select--disabled small {
	margin-left: auto;
	color: #aaa;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.prototype-db-type__description {
	display: block;
	margin-top: 3px;
	color: #888;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.4;
}

.prototype-db-menu__selected {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 46px;
	padding: 5px 0;
}

.prototype-db-menu__selected > strong {
	margin-right: 3px;
	font-size: 12px;
}

.prototype-db-menu__selected > span {
	padding: 5px 10px;
	color: #e95781;
	font-size: 11px;
	line-height: 1.3;
	background: rgb(255 107 149 / 10%);
	border: 1px solid rgb(255 107 149 / 40%);
}

.prototype-db-menu__selected > span b {
	font-size: 12px;
}

.prototype-db-menu__facet-chips,
.prototype-db-menu__maker-chips {
	display: contents;
}

.prototype-db-menu__facet-chip,
.prototype-db-menu__maker-chip {
	padding: 5px 10px;
	color: #e95781;
	font: inherit;
	font-size: 11px;
	line-height: 1.3;
	background: rgb(255 107 149 / 10%);
	border: 1px solid rgb(255 107 149 / 40%);
	cursor: pointer;
}

.prototype-db-menu__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 10px;
	border-top: 1px solid #e6e6e6;
}

.prototype-db-menu__footer button {
	font: inherit;
	cursor: pointer;
}

.prototype-db-menu__clear {
	padding: 7px 12px;
	color: #666;
	font-size: 11px;
	background: #fff;
	border: 1px solid #d7d7d7;
}

.prototype-db-menu__submit {
	min-width: 230px;
	height: 40px;
	padding: 0 18px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	background: #ff6b95;
	border: 1px solid #ff6b95;
}

.prototype-maker-column {
	min-width: 0;
	padding: 0 13px;
	border-right: 1px solid #ededed;
}

.prototype-maker-column:first-child {
	padding-left: 0;
}

.prototype-maker-column:last-child {
	padding-right: 0;
	border-right: 0;
}

.prototype-maker-column__title {
	margin: 0 0 7px;
	padding: 0 2px 5px;
	color: #333;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	border-bottom: 2px solid #ff6b95;
}

.prototype-maker-column__title small {
	font-size: 9px;
	font-weight: 700;
}

.prototype-maker-column__title span {
	padding: 0 4px;
	color: #888;
	font-size: 12px;
}

.prototype-maker-column__items {
	display: grid;
	gap: 3px;
}

.prototype-maker {
	min-height: 43px;
	padding: 3px 2px;
	color: inherit;
	border-bottom: 1px solid #f0f0f0;
}

.prototype-maker__link {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	width: 100%;
	box-sizing: border-box;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: inherit;
	line-height: inherit;
	text-decoration: none;
	white-space: normal;
}

.site-navigation a.prototype-maker__link {
	display: grid;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
	text-decoration: none;
	white-space: normal;
}

.site-navigation a.prototype-maker__link:hover,
.site-navigation a.prototype-maker__link:focus-visible {
	color: inherit;
	background: transparent;
}

.prototype-maker--linked {
	cursor: pointer;
	transition: background-color 180ms ease;
}

.prototype-maker--linked .prototype-maker__copy strong {
	transition: color 180ms ease, transform 180ms ease;
}

.prototype-maker--linked:hover,
.prototype-maker--linked:focus-within {
	background: rgb(255 107 149 / 8%);
}

.prototype-maker--linked:hover .prototype-maker__copy strong,
.prototype-maker--linked:focus-within .prototype-maker__copy strong {
	color: #ff6b95;
}

.prototype-maker-column:not(:last-child) .prototype-maker {
	padding-top: 6px;
	padding-bottom: 6px;
}

.prototype-maker__logo {
	display: flex;
	width: 38px;
	height: 34px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	color: #888;
	font-size: 13px;
	font-weight: 700;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.prototype-maker__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.prototype-maker__logo img[src$="/npg.png"],
.prototype-maker__logo img[src$="/exe.png"],
.prototype-maker__logo img[src$="/coolp.png"],
.prototype-maker__logo img[src$="/tamatoys.png"],
.prototype-maker__logo img[src$="/tamapremium.png"],
.prototype-maker__logo img[src$="/tenga.png"],
.prototype-maker__logo img[src$="/peachtoys.png"],
.prototype-maker__logo img[src$="/lovecloud.png"],
.prototype-maker__logo img[src$="/ridejapan.png"] {
	transform: scale(1.18);
}

.prototype-maker__copy,
.prototype-maker__copy strong,
.prototype-maker__copy small {
	display: block;
	min-width: 0;
}

.prototype-maker__copy strong {
	overflow: hidden;
	color: #333;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prototype-maker__copy small {
	margin-top: 2px;
	overflow: hidden;
	color: #666;
	font-size: 11px;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prototype-maker-directory-link,
.site-navigation a.prototype-maker-directory-link {
	display: flex;
	grid-column: 1 / -1;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	margin-top: 9px;
	padding: 7px 4px 6px;
	color: #444;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	background: transparent;
	border-top: 1px solid #e3e3e3;
	transition: color 150ms ease, background-color 150ms ease;
}

.prototype-maker-directory-link span {
	color: var(--color-accent);
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
}

.prototype-maker-directory-link:hover,
.prototype-maker-directory-link:focus-visible,
.site-navigation a.prototype-maker-directory-link:hover,
.site-navigation a.prototype-maker-directory-link:focus-visible {
	color: var(--color-accent);
	background: rgb(255 107 149 / 7%);
}

.site-layout {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 13fr) minmax(0, 6fr);
	grid-template-areas: "left main right";
	gap: 12px;
	width: 100%;
	margin: 0 auto;
	padding: 16px 16px 24px;
	justify-content: center;
	align-items: start;
}

@media (min-width: 1000px) {
	.single-post .site-layout {
		gap: 10px;
	}
}

@media (min-width: 1000px) {
	.home:not(.page) .site-shell,
	.archive .site-shell,
	.search .site-shell,
	.single-post .site-shell {
		width: 1240px;
		min-width: 1240px;
	}

	.home:not(.page) .site-layout,
	.archive .site-layout,
	.search .site-layout,
	.single-post .site-layout {
		grid-template-columns: 207px 670px 311px;
		gap: 10px;
	}

	.single-post .entry-content {
		width: 650px;
		max-width: 100%;
		margin-inline: auto;
	}
}

.main-content {
	grid-area: main;
	min-width: 0;
	background: var(--color-surface);
	border: 0;
}

.article-list-tabs {
	display: flex;
	gap: 24px;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 12px;
	padding: 0 16px;
	overflow-x: auto;
	border-bottom: 1px solid #e4e7e9;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.article-list-tabs__link {
	flex: 0 0 auto;
	appearance: none;
	border: 0;
	background: transparent;
	padding: 13px 0;
	color: #6a7178;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.article-list-tabs__link:hover,
.article-list-tabs__link:focus-visible { color: #d85a83; }

.article-list-tabs__link.is-active {
	color: #30353a;
	box-shadow: inset 0 -2px #d85a83;
}

.main-content.article-list-tabs--panel-open > :not(.article-list-tabs):not(.article-list-tab-panel) { display: none !important; }
.article-list-tab-panel[hidden] { display: none !important; }
.article-list-tab-panel { min-height: 180px; padding: 16px; }
.article-list-tab-panel > .manufacturer-directory-others { margin-top: 32px; }
.article-tag-directory__group { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px; align-items: start; margin-bottom: 11px; }
.article-tag-directory__group h2 { margin: 5px 0 0; color: #626a70; font-size: 12px; font-weight: 600; }
.article-tag-directory__group ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }
.article-tag-directory__group a,
.article-tag-directory__disabled { display: inline-flex; align-items: baseline; gap: 2px; padding: 4px 8px; border: 1px solid #dce0e3; border-radius: 4px; color: #41474d; background: #fff; font-size: 12px; line-height: 1.3; text-decoration: none; }
.article-tag-directory__count { color: #929aa1; font-size: 10px; }
.article-tag-directory__group a:hover,
.article-tag-directory__group a:focus-visible { border-color: #d85a83; color: #d85a83; }
.article-tag-directory__disabled { border-color: #e9ebed; color: #aeb4ba; background: #fafafa; cursor: default; }
.article-tag-directory__disabled .article-tag-directory__count { color: #bec3c8; }
@media (max-width: 600px) {
	.article-tag-directory__group { grid-template-columns: 50px minmax(0, 1fr); gap: 4px; }
}

.sidebar-left {
	grid-area: left;
}

.sidebar-right {
	grid-area: right;
}

.sidebar {
	min-width: 0;
}

.sidebar-block {
	margin-bottom: 18px;
	background: var(--color-surface);
	border: 0;
}

.sidebar-block__title {
	margin: 0;
	padding: 11px 13px 9px;
	font-size: 16px;
	line-height: 1.45;
	border-top: 4px solid #ff6b95;
	border-bottom: 1px solid var(--color-line);
}

.sidebar-block__body {
	padding: 13px;
	color: var(--color-muted);
	font-size: 13px;
}

.sidebar-block__body p {
	margin: 0;
}

.major-shop-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.major-shop-list__item {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #eee;
}

.major-shop-list__item:first-child {
	padding-top: 0;
}

.major-shop-list__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.major-shop-list__link {
	display: block;
	width: 100%;
	line-height: 0;
	transform-origin: center center;
	transition: transform 200ms ease, filter 200ms ease, box-shadow 200ms ease;
}

.major-shop-list__link img {
	display: block;
	width: 100%;
	height: auto;
}

@media (hover: hover) and (pointer: fine) {
	.major-shop-list__link:hover,
	.major-shop-list__link:focus-visible {
		transform: translateY(-2px) scale(1.01);
		filter: brightness(1.06) saturate(1.12) contrast(1.03);
		box-shadow: 0 5px 14px rgba(255, 80, 140, 0.16);
	}
}

.popular-ranking {
	margin: 0;
	padding: 0;
	list-style: none;
}

.popular-ranking-block .sidebar-block__title {
	padding-left: 10px;
	color: #fff;
	background: #333;
}

.latest-comments-block .sidebar-block__title,
.review-links-block .sidebar-block__title,
.sidebar-right .sidebar-block__title {
	padding-left: 10px;
	color: #fff;
	background: #333;
}

.review-links {
	margin: 0;
	padding: 4px 8px;
	list-style: none;
}

.review-links li:not(:last-child) {
	border-bottom: 1px solid #ebebeb;
}

.review-links a {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 6px;
	padding: 7px 4px;
	color: #555;
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.review-links a > span:first-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.review-links__external {
	margin-left: auto;
	flex: 0 0 auto;
	color: #aaa;
	font-size: 10px;
	line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
	.review-links a:hover {
		color: #e9507b;
		background: #fff7f9;
	}

	.review-links a:hover .review-links__external {
		color: #e9507b;
	}
}

.popular-ranking-block .sidebar-block__body {
	padding: 8px;
}

.latest-comments {
	margin: 0;
	padding: 0 8px;
	list-style: none;
}

.latest-comments__item:not(:last-child) {
	border-bottom: 1px solid #ebebeb;
	margin-bottom: 7px;
}

.latest-comments__item {
	padding: 8px 0 9px;
}

.latest-comments__card {
	display: block;
	color: #444;
	text-decoration: none;
	font-family: inherit;
	overflow-wrap: anywhere;
}

.latest-comments__bubble {
	position: relative;
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 11px;
	border: 1px solid transparent;
}

.latest-comments__bubble-surface {
	position: absolute;
	inset: 0;
	display: block;
	border: 1px solid #bfc0c2;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transform: scale(1);
	transform-origin: center center;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.latest-comments__bubble-surface::after {
	content: "";
	position: absolute;
	left: 26px;
	bottom: -7px;
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	background: #fff;
	border: 0;
	border-right: 1px solid #bfc0c2;
	border-bottom: 1px solid #bfc0c2;
	transform: rotate(45deg);
	z-index: 1;
	pointer-events: none;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.latest-comments__excerpt,
.latest-comments__post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.latest-comments__excerpt {
	position: relative;
	z-index: 3;
	-webkit-line-clamp: 3;
	font-size: 12px;
	line-height: 1.56;
	color: #444;
	margin: 0;
}

.latest-comments__post-title {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	-webkit-line-clamp: 2;
	font-size: 10.5px;
	line-height: 1.46;
	color: #888;
	transition: color 180ms ease;
	text-decoration: none;
}

.directory-layout {
	display: block;
	max-width: 1040px;
	padding-block: 24px 36px;
}

.directory-page {
	padding: 24px 28px 32px;
	border: 1px solid #e4e4e4;
}

.directory-page__header {
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 2px solid #efefef;
}

.directory-page__header h1 {
	margin: 0 0 6px;
	font-size: 26px;
}

.directory-page__header p {
	margin: 0;
	color: #777;
	font-size: 13px;
}

.manufacturer-directory {
	margin-top: 2px;
}

.manufacturer-directory > h2,
.manufacturer-directory-others h2,
.monthly-directory__year h2 {
	margin: 0 0 8px;
	padding-bottom: 7px;
	border-bottom: 1px solid #ddd;
	font-size: 17px;
}

.manufacturer-directory__grid,
.manufacturer-directory-others ul,
.monthly-directory__year ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.manufacturer-directory__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

@media (min-width: 1000px) {
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.manufacturer-directory__card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 18px 16px 13px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	transition: filter 200ms ease, border-color 200ms ease;
}

.manufacturer-directory__card:hover,
.manufacturer-directory__card:focus-within {
	border-color: var(--color-accent);
	filter: brightness(1.025);
}

.manufacturer-directory__primary-link {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: #333;
	text-decoration: none;
}

.manufacturer-directory__primary-link::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
}

.manufacturer-directory__primary-link:hover strong {
	color: var(--color-accent);
}

.manufacturer-directory__logo {
	position: relative;
	display: flex;
	align-self: stretch;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 114px;
	margin: -18px -16px 0;
	padding: 10px 18px;
	overflow: hidden;
	border-radius: 0;
	background: #fff;
	transition: filter 200ms ease;
}

.manufacturer-directory__card:hover .manufacturer-directory__logo,
.manufacturer-directory__card:focus-within .manufacturer-directory__logo {
	filter: brightness(1.025) saturate(1.12);
}

.manufacturer-directory__logo.has-manufacturer-background:not([class*="manufacturer-archive-header__logo-frame--"]) {
	background: #cf2e2e;
}

.manufacturer-directory__logo.is-discontinued img {
	filter: grayscale(1);
	opacity: .72;
}

.manufacturer-directory__logo.is-discontinued::after {
	position: absolute;
	inset: 0;
	background: rgb(128 128 128 / 16%);
	content: "";
	pointer-events: none;
}

.manufacturer-directory__status {
	position: absolute;
	top: 7px;
	right: 8px;
	z-index: 1;
	padding: 2px 6px;
	color: #555;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.35;
	background: rgb(255 255 255 / 88%);
	border: 1px solid rgb(120 120 120 / 28%);
	border-radius: 2px;
}

.manufacturer-directory__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.manufacturer-directory__name {
	min-height: 44px;
	text-align: center;
	font-size: 16px;
	line-height: 1.35;
}

.manufacturer-directory__trend {
	min-height: 40px;
	margin: 4px 0 16px;
	color: #4f4f4f;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.55;
	text-align: center;
}

.manufacturer-directory__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	margin-top: auto;
	color: #626262;
	font-size: 11px;
	line-height: 1.35;
}

.manufacturer-directory__counts,
.manufacturer-directory__external-links { display: flex; align-items: center; gap: 7px; }
.manufacturer-directory__counts { min-width: 0; flex-wrap: nowrap; gap: 4px; white-space: nowrap; }
.manufacturer-directory__meta strong { color: #444; font-size: 12.5px; font-weight: 700; }
.manufacturer-directory__meta i { color: #e7a400; font-style: normal; }
.manufacturer-directory__external-links {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 2px;
}
.manufacturer-directory__external-links a {
	display: inline-flex;
	width: 16px;
	height: 20px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0;
	color: #666;
	line-height: 1;
	text-decoration: none;
	background: none;
	border: 0;
	border-radius: 0;
	transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease;
}
.manufacturer-directory__external-links svg { width: 13px; height: 13px; fill: none; stroke: currentcolor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.manufacturer-directory__external-links a[aria-label="X"] svg { fill: currentcolor; stroke: none; }
.manufacturer-directory__external-links a:hover { color: var(--color-accent); background: none; }

@media (min-width: 1000px) {
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory__meta {
		flex-direction: column;
		justify-content: center;
		gap: 2px;
	}
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory__counts {
		flex-direction: column;
		align-items: center;
		gap: 1px;
	}
}

@media (min-width: 717px) and (max-width: 999.98px) {
	.manufacturer-directory__primary-link { gap: 6px; }
	.manufacturer-directory__name {
		min-height: 35px;
		font-size: 14px;
		line-height: 1.25;
	}
	.manufacturer-directory__trend {
		min-height: 0;
		margin: 2px 0 8px;
		line-height: 1.4;
	}
	.manufacturer-directory__counts {
		flex: 1 1 auto;
		flex-direction: column;
		align-items: center;
		gap: 1px;
	}
}

.manufacturer-directory-others { margin-top: 32px; }
.manufacturer-directory-others ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 22px;
	padding-top: 5px;
}
.manufacturer-directory-others a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	color: #4f4f4f;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	border-bottom: 1px solid #e2e2e2;
	transition: color 150ms ease, border-color 150ms ease;
}
.manufacturer-directory-others a::before { margin-right: 5px; color: #bbb; content: "›"; }
.manufacturer-directory-others a span { min-width: 0; margin-right: auto; }
.manufacturer-directory-others a small { flex: 0 0 auto; color: #999; font-size: 11px; font-weight: 500; }
.manufacturer-directory-others a:hover { color: var(--color-accent); border-color: var(--color-accent); }
.manufacturer-directory-others a:hover small { color: var(--color-accent); }

@media (min-width: 1000px) {
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory-others ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory-others a { gap: 4px; padding: 6px 0; font-size: 13px; line-height: 1.3; }
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory-others a::before { margin-right: 2px; }
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory-others a span { overflow-wrap: anywhere; }
	.article-list-tab-panel[data-article-panel="makers"] .manufacturer-directory-others a small { font-size: 10px; white-space: nowrap; }
}

@media (min-width: 717px) and (max-width: 999.98px) {
	.manufacturer-directory-others ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
	.manufacturer-directory-others a { gap: 4px; padding: 6px 0; font-size: 13px; line-height: 1.3; }
	.manufacturer-directory-others a::before { margin-right: 2px; }
	.manufacturer-directory-others a span { overflow-wrap: anywhere; }
	.manufacturer-directory-others a small { font-size: 10px; white-space: nowrap; }
}

.monthly-directory {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px 34px;
}

.monthly-directory__year ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.monthly-directory__year-visual {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 8px;
	overflow: hidden;
}

.monthly-directory__year-visual > img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.monthly-directory__visual-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: transparent;
	transition: background-color 140ms ease;
}

.monthly-directory__year-caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: flex;
	height: 25%;
	align-items: center;
	justify-content: center;
	gap: clamp(6px, 1vw, 12px);
	box-sizing: border-box;
	padding: 3px 12px;
	color: #fff;
	background: rgb(0 0 0 / 65%);
	pointer-events: none;
}

.monthly-directory__year-caption strong {
	font-size: clamp(15px, 1.85vw, 22px);
	font-weight: 800;
	line-height: 1;
}

.monthly-directory__year-caption small {
	font-size: clamp(8px, 1vw, 13px);
	font-weight: 700;
	line-height: 1.2;
}

@media (hover: hover) and (pointer: fine) {
	.monthly-directory__visual-link:hover,
	.monthly-directory__visual-link:focus-visible {
		background: rgb(255 255 255 / 14%);
		outline: 0;
	}
}

.monthly-directory__year li {
	border-bottom: 1px solid #eee;
}

.monthly-directory__year a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 8px 7px;
	color: #444;
	font-size: 13px;
	text-decoration: none;
}

.monthly-directory__year ul a { transition: color 140ms ease, background-color 140ms ease; }
.monthly-directory__year ul a:hover { color: var(--color-accent); background: rgb(255 105 145 / 7%); }
.monthly-directory__year small { color: #999; font-size: 10px; }

@media (max-width: 716px) {
	.directory-layout { padding: 10px 8px 24px; }
	.directory-page { padding: 18px 14px 24px; }
	.directory-page__header h1 { font-size: 22px; }
	.monthly-directory { grid-template-columns: 1fr; gap: 24px; }
	.manufacturer-directory__grid { grid-template-columns: 1fr; }
	.manufacturer-directory__card { padding: 14px; }
	.manufacturer-directory__logo { height: 96px; margin: -14px -14px 0; }
	.manufacturer-directory__name { min-height: 0; }
	.manufacturer-directory__trend { min-height: 0; }
	.manufacturer-directory-others ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
	.monthly-directory__year ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 716px) {
	.manufacturer-directory__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-top: 12px;
	}

	.manufacturer-directory__card {
		padding: 10px 9px 9px;
		border-radius: 6px;
	}

	.manufacturer-directory__primary-link {
		gap: 8px;
	}

	.manufacturer-directory__logo {
		height: 82px;
		margin: -10px -9px 0;
		padding: 7px 10px;
	}

	.manufacturer-directory__status {
		top: 5px;
		right: 5px;
		padding: 1px 4px;
		font-size: 8px;
	}

	.manufacturer-directory__name {
		min-height: 38px;
		font-size: 13px;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	.manufacturer-directory__trend {
		min-height: 48px;
		margin: 2px 0 9px;
		font-size: 11px;
		line-height: 1.45;
		overflow-wrap: anywhere;
	}

	.manufacturer-directory__meta {
		align-items: flex-end;
		gap: 3px;
		font-size: 9px;
	}

	.manufacturer-directory__counts {
		display: grid;
		gap: 1px;
		white-space: normal;
	}

	.manufacturer-directory__meta strong {
		font-size: 10.5px;
	}

	.manufacturer-directory__external-links {
		gap: 0;
	}

	.manufacturer-directory__external-links a {
		width: 15px;
		height: 18px;
	}
}

.latest-comments__post-meta {
	display: block;
	min-width: 0;
	margin: 10px 0 0;
}

.latest-comments__post-meta.has-product-icon {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	margin-top: 7px;
	padding-left: 0;
}

.latest-comments__item.has-product-icon .latest-comments__bubble-surface::after {
	left: 15px;
}

.latest-comments__product-icon {
	display: flex;
	width: 42px;
	height: 42px;
	box-sizing: border-box;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 50%;
}

.latest-comments__product-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 50%;
}

.latest-comments__product-icon.is-article-image img {
	object-fit: cover;
}

.latest-comments__item:not(:last-child) .latest-comments__card {
	padding-bottom: 1px;
}

.latest-comments__card:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
	.latest-comments__card:hover {
		background: transparent;
	}

	.latest-comments__card:hover .latest-comments__bubble-surface {
		background: #fff5f8;
		border-color: #f09ab2;
		transform: scale(1.015);
	}

	.latest-comments__card:hover .latest-comments__bubble-surface::after {
		background: #fff5f8;
		border-right-color: #f09ab2;
		border-bottom-color: #f09ab2;
	}

	.latest-comments__card:hover .latest-comments__post-title {
		color: #666;
	}
}

@media (min-width: 1000px) {
	.sidebar-right .sidebar-block__body {
		padding-left: 8px;
	}
}

.popular-ranking__item {
	position: relative;
	padding: 8px 0;
	border-bottom: 1px solid var(--color-line);
}

.popular-ranking__item:first-child {
	padding-top: 0;
}

.popular-ranking__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.popular-ranking__rank {
	position: absolute;
	top: 8px;
	left: 0;
	z-index: 2;
	display: flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	color: #555;
	font-weight: 700;
	line-height: 1;
	background: rgb(255 255 255 / 92%);
	border: 1px solid var(--color-line);
}

.popular-ranking__item:first-child .popular-ranking__rank {
	top: 0;
}

.popular-ranking__item--top .popular-ranking__rank {
	color: #fff;
	background: #ff6b95;
	border-color: #ff6b95;
}

.popular-ranking__media {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 191 / 175;
	overflow: hidden;
	color: var(--color-text);
	background: #eceeef;
	text-decoration: none;
}

.popular-ranking__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.popular-ranking__item.is-review-product .popular-ranking__media {
	display: flex;
	height: auto;
	aspect-ratio: 191 / 175;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.popular-ranking__item.is-review-product .popular-ranking__media > img {
	display: block;
	width: 100%;
	height: 100%;
	flex: 1 1 100%;
	object-fit: cover;
	object-position: center;
}

.popular-ranking__title {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: -webkit-box;
	height: auto;
	padding: 4px 7px;
	overflow: hidden;
	color: var(--color-text);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	background: rgb(255 255 255 / 78%);
	overflow-wrap: break-word;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.popular-ranking__media:hover .popular-ranking__title,
.popular-ranking__media:focus-visible .popular-ranking__title {
	color: #ff6b95;
}

.popular-ranking__comments {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: baseline;
	gap: 2px;
	padding: 3px 6px 2px;
	color: #333;
	font-size: 11px;
	line-height: 1.3;
	background: rgb(255 255 255 / 88%);
	border-bottom: 2px solid #ff6b95;
	text-decoration: none;
}

.popular-ranking__comments strong {
	color: #333;
	font-size: 15px;
	font-weight: 700;
}

.popular-ranking__comments span {
	font-size: 10px;
}

.sidebar-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 7px;
}

.sidebar-search__input,
.sidebar-search__button,
.review-tag-search__select,
.review-tag-search__button {
	box-sizing: border-box;
	min-height: 36px;
	border: 1px solid var(--color-line);
	font: inherit;
}

.sidebar-search__input,
.review-tag-search__select {
	width: 100%;
	padding: 6px 8px;
	color: var(--color-text);
	background: #fff;
}

.sidebar-search__button,
.review-tag-search__button {
	padding: 6px 12px;
	color: #fff;
	font-weight: 700;
	background: var(--color-header);
	cursor: pointer;
}

.sidebar-search__button:hover,
.sidebar-search__button:focus-visible,
.review-tag-search__button:hover,
.review-tag-search__button:focus-visible {
	background: var(--color-accent);
	border-color: var(--color-accent);
}

.review-tag-search {
	display: grid;
	gap: 8px;
}

.review-tag-search__intro {
	margin: 0 0 9px;
	color: #777;
	font-size: 11px;
	line-height: 1.5;
}

.review-tag-search label {
	margin-bottom: -3px;
	color: var(--color-text);
	font-weight: 700;
}

.review-tag-search__button {
	width: 100%;
}

.review-tag-search__button:disabled {
	color: #8e9298;
	background: #eceeef;
	border-color: #dfe1e3;
	cursor: not-allowed;
}

.review-tag-search__db-link {
	display: inline-block;
	margin-top: 11px;
	color: #e95781;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
}

.review-tag-search__db-link:hover,
.review-tag-search__db-link:focus-visible {
	color: #ff6b95;
	text-decoration: underline;
}

.archive-navigation__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-bottom: 7px;
}

.archive-navigation__row:last-child {
	margin-bottom: 0;
}

.archive-navigation__year {
	position: relative;
	display: block;
	width: 100%;
	padding: 8px 24px 8px 10px;
	border: 1px solid #eee;
	background: #fff;
	cursor: pointer;
	color: var(--color-text);
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.archive-navigation__year::after {
	position: absolute;
	top: 50%;
	right: 9px;
	content: "›";
	color: var(--color-muted);
	font-size: 16px;
	font-weight: 400;
	transform: translateY(-50%);
}

.archive-navigation__year[aria-expanded="true"]::after {
	content: "▼";
}

.archive-navigation__year:hover,
.archive-navigation__year:focus-visible {
	color: var(--color-accent);
	background: #fff8fb;
	border-color: #f3a0c0;
}

.archive-navigation__year[aria-expanded="true"] {
	background: #fff8fb;
	border-color: #efb1c7;
}

.archive-navigation__panel {
	grid-column: 1 / -1;
}

.archive-navigation__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 5px;
	margin: 0;
	padding: 2px 0 3px;
	list-style: none;
	animation: archive-months-open 200ms ease both;
}

.archive-navigation__list li {
	min-width: 0;
	margin: 0;
}

.archive-navigation__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 5px 2px;
	border: 1px solid #eee;
	background: #fafafa;
	color: var(--color-text);
	font-size: 11px;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.archive-navigation__list a span {
	white-space: nowrap;
}

.archive-navigation__list a small {
	margin-left: 2px;
	color: var(--color-muted);
	font-size: 9px;
}

.archive-navigation__list a:hover,
.archive-navigation__list a:focus-visible {
	color: var(--color-accent);
	background: #fff8fb;
	border-color: #f3a0c0;
}

.archive-navigation__directory-link {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin-top: 10px;
	padding: 9px 28px 9px 10px;
	color: #4d4d4d;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	background: #fff7fa;
	border: 1px solid #edc3d2;
	border-radius: 3px;
	transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
}

.archive-navigation__directory-link::after {
	position: absolute;
	top: 50%;
	right: 10px;
	color: var(--color-accent);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	content: "›";
	transform: translateY(-50%);
}

.archive-navigation__directory-link:hover,
.archive-navigation__directory-link:focus-visible {
	color: var(--color-accent);
	background: #ffeef4;
	border-color: #e69ab6;
}

@keyframes archive-months-open {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 360px) {
	.archive-navigation__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.sidebar-profile__body {
	color: #555;
}

.sidebar-profile__summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	align-items: center;
	gap: 8px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--color-line);
}

.sidebar-profile__count p {
	margin: 0 0 7px;
	color: #ff5f8e;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
	text-align: center;
}

.sidebar-profile__count strong {
	display: block;
	color: #ff6b95;
	font-size: 47px;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	text-align: center;
}

.sidebar-profile__count-note {
	display: block;
	margin-top: 9px;
	color: #ff6b95;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	white-space: nowrap;
}

.sidebar-profile__figure {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	margin: 0;
	text-align: center;
}

.sidebar-profile__figure img {
	display: block;
	width: 120px;
	height: 120px;
	margin: 0;
	object-fit: cover;
	border: 2px solid #ff9fba;
	border-radius: 50%;
}

.sidebar-profile__figure figcaption {
	color: #222;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-align: start;
	writing-mode: vertical-rl;
}

@media (min-width: 1000px) {
	.sidebar-profile__summary {
		grid-template-columns: minmax(0, 1fr) 140px;
		gap: 6px;
	}

	.sidebar-profile__figure {
		gap: 5px;
	}

	.sidebar-profile__figure img {
		width: 116px;
		height: 116px;
	}
}

@media (max-width: 799px) {
	.sidebar-profile__summary {
		grid-template-columns: minmax(0, 1fr) clamp(166px, 22vw, 174px);
	}

	.sidebar-profile__figure img {
		width: clamp(136px, 18vw, 144px);
		height: clamp(136px, 18vw, 144px);
		flex: 0 0 auto;
	}
}

.sidebar-profile__intro {
	padding: 14px 0 12px;
}

.sidebar-profile__intro h3 {
	margin: 0 0 8px;
	color: #333;
	font-size: 14px;
	line-height: 1.55;
	white-space: nowrap;
	letter-spacing: -0.02em;
}

@media (max-width: 716px) {
	.sidebar-profile__summary {
		grid-template-columns: minmax(0, 1fr) 150px;
	}

	.sidebar-profile__count strong {
		font-size: 32px;
	}

	.sidebar-profile__count-note,
	.sidebar-profile__intro h3 {
		white-space: normal;
	}
}

.sidebar-profile__intro p {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
}

.sidebar-profile__affiliate {
	margin: 14px 0 16px !important;
	padding: 9px 12px;
	color: #4f6656;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	background: #f7faf7;
	border-left: 3px solid #6f9b7a;
	text-wrap: balance;
}

@media (min-width: 717px) and (max-width: 999.98px) {
	.sidebar-profile__affiliate-term { white-space: nowrap; }
}

@media (min-width: 1000px) {
	.sidebar-profile__affiliate {
		text-wrap: wrap;
	}

	.sidebar-profile__affiliate-term {
		white-space: nowrap;
	}
}

.sidebar-profile__links {
	display: grid;
	gap: 6px;
}

.sidebar-profile__links a,
.sidebar-profile__link-disabled {
	display: flex;
	min-height: 39px;
	box-sizing: border-box;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	color: #555;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	background: #f8f8f8;
	border: 1px solid #dedfe1;
}

.sidebar-profile__links a > span,
.sidebar-profile__link-disabled > span {
	color: #ff6b95;
	font-size: 18px;
	line-height: 1;
}

.sidebar-profile__links a:hover,
.sidebar-profile__links a:focus-visible {
	color: #ff6b95;
	background: #fff7f9;
	border-color: #ff9fba;
}

.sidebar-profile__link-disabled {
	color: #999;
	cursor: default;
}

.sidebar-survey__body {
	border-top: 1px solid #eceff3;
	padding-top: 14px;
}

.sidebar-survey__widget {
	margin: 0 auto;
	padding-bottom: 10px;
}

.sidebar-survey-link {
	margin: 0;
	text-align: center;
	font-size: 12px;
}

.sidebar-survey-link a {
	color: #6f9b7a;
	text-decoration: none;
}

.sidebar-survey-link a:hover,
.sidebar-survey-link a:focus-visible {
	text-decoration: underline;
	color: #4f6656;
}

.content-heading {
	margin: 0;
	padding: 17px 20px 14px;
	font-size: 19px;
	line-height: 1.4;
	border-bottom: 2px solid var(--color-header);
}

body.category:not(.onahodouga-db) .site-layout {
	padding-top: 10px;
}

.category-intro {
	padding: 8px 20px 0;
}

.category-intro__breadcrumb {
	margin-bottom: 11px;
	color: #858b91;
	font-size: 12px;
	line-height: 1.5;
}

.category-intro__breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.category-intro__breadcrumb li + li::before {
	content: '›';
	margin-right: 7px;
	color: #aab0b5;
}

.category-intro__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.category-intro__breadcrumb a:hover,
.category-intro__breadcrumb a:focus-visible { text-decoration: underline; }

.category-intro__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: #30343a;
	font-size: 28px;
	font-weight: 750;
	line-height: 1.35;
}

.category-intro__icon {
	display: inline-flex;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	color: #d85a83;
}

.category-intro__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.search-results-intro__preset-icon .quick-search-preset__icon-tablet { display: none; }
@media (min-width: 1000px), (min-width: 717px) and (max-width: 999.98px) and (pointer: coarse), (min-width: 717px) and (max-width: 999.98px) and (hover: none) {
	.search-results-intro__preset-icon.has-tablet-icon .quick-search-preset__icon-default { display: none; }
	.search-results-intro__preset-icon.has-tablet-icon .quick-search-preset__icon-tablet { display: block; }
}

.category-intro__description {
	margin: 10px 0 0;
	color: #4f555b;
	font-size: 15px;
	line-height: 1.65;
}

.search-results-intro.is-preset .category-intro__icon {
	align-self: flex-start;
	margin-top: calc((1.35em - 30px) / 2);
}

.search-results-intro.is-preset .category-intro__title > span:last-child { text-wrap: balance; }
.search-results-intro.is-preset .category-intro__description { margin-left: 42px; }

.category-intro__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 15px 0 10px;
}

.category-intro__description + .category-intro__toolbar {
	margin-top: 30px;
}

.series-archive-intro .category-intro__toolbar {
	margin-top: 24px;
}

body.category:not(.onahodouga-db) .main-content > .post-list-item:first-of-type {
	padding-top: 0;
}

body.date:not(.onahodouga-db) .main-content > .post-list-item:first-of-type {
	padding-top: 0;
}

.main-content > .search-results-intro + .post-list-item {
	padding-top: 0;
}

.main-content > .series-archive-intro + .post-list-item {
	padding-top: 0;
}

.hardness-archive-intro__icon {
	display: inline-flex;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hardness-accent);
	border-radius: 50%;
	color: var(--hardness-accent);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.hardness-archive-intro__note {
	margin: 4px 0 0;
	color: #7b838b;
	font-size: 12px;
	line-height: 1.5;
}

.hardness-archive-intro__note + .category-intro__toolbar {
	margin-top: 10px;
}

.main-content > .hardness-archive-intro + .post-list-item {
	padding-top: 0;
}

.rating-archive-intro__title { gap: 0; }
.rating-archive-intro__stars { color: #d5a323; }
.main-content > .rating-archive-intro + .post-list-item { padding-top: 0; }

.stimulation-archive-intro__heading {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 12px;
	align-items: center;
}
.stimulation-archive-intro__meter {
	display: inline-flex;
	grid-row: 1 / 3;
	gap: 2px;
	font-size: 17px;
	line-height: 1;
}
.stimulation-archive-intro__meter .is-active { color: #c96f72; }
.stimulation-archive-intro__meter .is-inactive { color: #e3e6e8; }
.stimulation-archive-intro__name {
	margin: 0;
	color: #4f555b;
	font-size: 15px;
	line-height: 1.5;
}
.stimulation-archive-intro .category-intro__toolbar { margin-top: 24px; }
.main-content > .stimulation-archive-intro + .post-list-item { padding-top: 0; }

.price-archive-intro__icon { align-items: center; justify-content: center; font-size: 26px; font-weight: 700; line-height: 1; }
.price-archive-intro .category-intro__toolbar { margin-top: 24px; }
.main-content > .price-archive-intro + .post-list-item { padding-top: 0; }

.regular-tag-intro .category-intro__toolbar { margin-top: 24px; }
.main-content > .regular-tag-intro + .post-list-item { padding-top: 0; }

.category-intro__sort {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.manufacturer-archive-sort {
	margin: 12px 0 10px;
}

.category-intro__sort-link {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 6px 13px;
	border: 1px solid #dce0e4;
	border-radius: 999px;
	background: #fff;
	color: #555c63;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.category-intro__sort-link:hover,
.category-intro__sort-link:focus-visible {
	border-color: #df7f9e;
	color: #ba4770;
}

.category-intro__sort-link.is-active,
.category-intro__sort-link.is-active:hover,
.category-intro__sort-link.is-active:focus-visible {
	border-color: #db6088;
	background: #db6088;
	color: #fff;
}

.category-intro__count {
	margin: 0 0 0 auto;
	color: #7b838b;
	font-size: 13px;
	line-height: 1.5;
	white-space: nowrap;
}

@media (max-width: 999px) {
	.category-intro__title { font-size: 27px; }
}

@media (max-width: 799px) {
	.category-intro { padding-right: 16px; padding-left: 16px; }
	.category-intro__breadcrumb { margin-bottom: 9px; font-size: 11px; }
	.category-intro__title { gap: 10px; font-size: 24px; }
	.category-intro__icon { flex-basis: 27px; width: 27px; height: 27px; }
	.category-intro__description { margin-top: 8px; font-size: 14px; }
	.search-results-intro.is-preset .category-intro__icon { margin-top: calc((1.35em - 27px) / 2); }
	.search-results-intro.is-preset .category-intro__description { margin-left: 37px; }
	.category-intro__toolbar { margin-top: 12px; }
	.category-intro__description + .category-intro__toolbar { margin-top: 28px; }
	.series-archive-intro .category-intro__toolbar { margin-top: 20px; }
	.stimulation-archive-intro .category-intro__toolbar { margin-top: 20px; }
	.price-archive-intro .category-intro__toolbar { margin-top: 20px; }
	.regular-tag-intro .category-intro__toolbar { margin-top: 20px; }
	.category-intro__sort-link { min-height: 32px; padding: 6px 12px; font-size: 12px; }
}

.manufacturer-archive-header {
	display: grid;
	grid-template-columns: 228px minmax(0, 1fr);
	align-items: stretch;
	min-height: 132px;
	padding: 0;
	background: #fcfcfc;
	border: 1px solid #ededed;
	border-bottom: 1px solid #e3e3e3;
}

.manufacturer-archive-header__logo-frame {
	display: flex;
	width: auto;
	min-height: 112px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
	background: #cf2e2e;
	border-radius: 3px;
}

.manufacturer-archive-header__logo-frame--hatopla {
	background: #e7e7e7;
}

.manufacturer-archive-header__logo-frame--hatopla img {
	height: 84px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--notowa {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--magic-eyes {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--a-one {
	background: #1f1f1f;
}

.manufacturer-archive-header__logo-frame--a-one img {
	width: auto;
	height: 104px;
	max-width: 180px;
	max-height: 104px;
}

.manufacturer-archive-header__logo-frame--npg {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--npg img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--tomax {
	background: #e87822;
}

.manufacturer-archive-header__logo-frame--tomax img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--kiterukiteru {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--kiterukiteru img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--coolp {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--coolp img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--tamatoys-ai {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--tamatoys-ai img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--tama-premium {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--tama-premium img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--tamatoys {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--tamatoys img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--toysheart {
	background: #424242;
}

.manufacturer-archive-header__logo-frame--toysheart img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--peach-toys {
	background: #d383a8;
}

.manufacturer-archive-header__logo-frame--peach-toys img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--fantastic-baby {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--fantastic-baby img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--prime {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--prime img {
	width: auto;
	height: 80%;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--hot-powers {
	background: #d32f2f;
}

.manufacturer-archive-header__logo-frame--hot-powers img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--mate {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--mate img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--mens-max {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--mens-max img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--kiss-me-love {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--kiss-me-love img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--vorze {
	background: #171717;
}

.manufacturer-archive-header__logo-frame--vorze img {
	width: 100%;
	height: auto;
	max-width: 178px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--ligre-japan {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--ligre-japan img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--world-kogei {
	background: #00073f;
}

.manufacturer-archive-header__logo-frame--world-kogei img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--g-project {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--g-project img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--pxpxp {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--pxpxp img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--exe {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--exe img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--solvemen {
	background: #fff;
}

.manufacturer-archive-header__logo-frame--solvemen img {
	width: 100%;
	height: auto;
	max-width: 198px;
	max-height: 84px;
}

.manufacturer-archive-header__logo-frame--discontinued {
	position: relative;
	overflow: hidden;
}

.manufacturer-archive-header__logo-frame--discontinued::after {
	position: absolute;
	inset: 0;
	background: rgba(128, 128, 128, 0.4);
	content: '';
	pointer-events: none;
}


.manufacturer-archive-header__logo-frame img {
	display: block;
	width: 100%;
	max-width: 198px;
	height: 100%;
	object-fit: contain;
}

/* Reuse each archive header's official logo background without its panel sizing. */
.manufacturer-directory__logo[class*="manufacturer-archive-header__logo-frame--"] {
	min-height: 0;
	box-sizing: border-box;
	border-radius: 0;
}

.manufacturer-directory__logo[class*="manufacturer-archive-header__logo-frame--"] img,
.manufacturer-directory__logo.has-manufacturer-background img {
	width: 100%;
	max-width: 198px;
	height: 100%;
	max-height: 72px;
	object-fit: contain;
}

.manufacturer-directory__logo:is(
	.manufacturer-archive-header__logo-frame--hatopla,
	.manufacturer-archive-header__logo-frame--notowa,
	.manufacturer-archive-header__logo-frame--magic-eyes,
	.manufacturer-archive-header__logo-frame--npg,
	.manufacturer-archive-header__logo-frame--kiterukiteru,
	.manufacturer-archive-header__logo-frame--coolp,
	.manufacturer-archive-header__logo-frame--tamatoys-ai,
	.manufacturer-archive-header__logo-frame--tama-premium,
	.manufacturer-archive-header__logo-frame--tamatoys,
	.manufacturer-archive-header__logo-frame--fantastic-baby,
	.manufacturer-archive-header__logo-frame--prime,
	.manufacturer-archive-header__logo-frame--mate,
	.manufacturer-archive-header__logo-frame--mens-max,
	.manufacturer-archive-header__logo-frame--kiss-me-love,
	.manufacturer-archive-header__logo-frame--ligre-japan,
	.manufacturer-archive-header__logo-frame--g-project,
	.manufacturer-archive-header__logo-frame--pxpxp,
	.manufacturer-archive-header__logo-frame--exe,
	.manufacturer-archive-header__logo-frame--solvemen
) {
	border-bottom: 1px solid #e0e0e0;
}

.manufacturer-archive-header__summary {
	display: grid;
	min-width: 0;
	grid-template-rows: auto minmax(0, 1fr);
	padding: 14px 18px 0;
}

.manufacturer-archive-header__summary h1 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	column-gap: 10px;
	margin: 0;
	padding-bottom: 5px;
	border-bottom: 1px solid #e5e5e5;
	color: #242424;
	font-size: 21px;
	line-height: 1.35;
}

.manufacturer-archive-header__name-label {
	display: flex;
	min-width: 0;
	align-items: baseline;
	flex-wrap: wrap;
	column-gap: 10px;
	row-gap: 1px;
}

.manufacturer-archive-header__name-primary {
	font-weight: 700;
}

.manufacturer-archive-header__name-secondary {
	color: #858585;
	font-size: 12px;
	font-weight: 400;
}

.manufacturer-archive-header__status {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 2px;
	background: #ededed;
	color: #626262;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.35;
}

.manufacturer-archive-header__official-links {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0;
	justify-self: end;
	white-space: nowrap;
}

.manufacturer-archive-header__official {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #666;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.manufacturer-archive-header__official + .manufacturer-archive-header__official::before {
	content: '|';
	margin: 0 8px;
	color: #d2d2d2;
	font-weight: 400;
}

.manufacturer-archive-header__official span {
	color: #888;
	font-size: 10px;
}

.manufacturer-archive-header__official:hover,
.manufacturer-archive-header__official:focus-visible {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.manufacturer-archive-header__official:hover span,
.manufacturer-archive-header__official:focus-visible span {
	color: inherit;
}

.manufacturer-archive-header__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	min-height: 0;
	margin: 5px 0 0;
}

.manufacturer-archive-header__stats > div {
	display: flex;
	min-width: 0;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2px 0;
	text-align: center;
}

.manufacturer-archive-header__stats > div + div {
	border-left: 1px solid #dedede;
}

.manufacturer-archive-header__stats dt {
	color: #777;
	font-size: 11px;
	line-height: 1.2;
}

.manufacturer-archive-header__stats dt span {
	color: #ff6b95;
}

.manufacturer-archive-header__stats dd {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin: 4px 0 0;
	color: #555;
	font-size: 12px;
}

.manufacturer-archive-header__stats strong {
	color: #333;
	font-size: 17px;
}

.manufacturer-archive-header__stats .manufacturer-archive-header__trend {
	display: block;
	max-width: 100%;
	font-size: 15px;
	line-height: 1.5;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

.manufacturer-archive-header__stats .manufacturer-archive-header__trend:has(br) {
	font-size: 13px;
	line-height: 1.15;
}

@media (max-width: 560px) {
	.manufacturer-archive-header {
		grid-template-columns: 1fr;
	}

	.manufacturer-archive-header__logo-frame {
		width: 100%;
		min-height: 66px;
	}

	.manufacturer-archive-header__summary {
		padding: 12px 14px 14px;
	}

	.manufacturer-archive-header__official-links {
		justify-self: start;
	}

	.manufacturer-archive-header__summary h1 {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 4px;
	}
}

.post-list-item {
	padding: 22px 18px 24px;
	border-bottom: 1px solid var(--color-line);
}

.home:not(.onahodouga-db) .post-list-item {
	padding-right: 10px;
	padding-left: 10px;
}

.post-list-item:last-of-type {
	border-bottom: 0;
}

.post-list-item__mobile-meta {
	display: none;
}

.post-list-item__pc-comments,
.post-list-item__pc-product-meta,
.post-list-item__pc-rating,
.post-list-item__pc-maker { display: none; }

.post-list-item__mobile-comments {
	display: none;
}

.post-title-row {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.post-comment-count {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--comment-heat-text, #168bd2);
	line-height: 1;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.post-comment-count__bubble {
	position: relative;
	display: flex;
	width: 64px;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	margin-bottom: 9px;
	background: #fff;
	border: 2px solid #d5d8dc;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
}

.post-comment-count__bubble::before,
.post-comment-count__bubble::after {
	position: absolute;
	left: 14px;
	width: 0;
	height: 0;
	content: "";
	border-style: solid;
}

.post-comment-count__bubble::before {
	bottom: -10px;
	border-width: 9px 9px 0 0;
	border-color: #d5d8dc transparent transparent transparent;
}

.post-comment-count__bubble::after {
	bottom: -6px;
	left: 16px;
	border-width: 6px 6px 0 0;
	border-color: #fff transparent transparent transparent;
}

.post-comment-count--quiet {
	--comment-heat-text: #8b9198;
}

.post-comment-count--quiet .post-comment-count__label {
	color: #b7a4aa;
}

.post-comment-count--warm {
	--comment-heat-border: #eda9bd;
}

.post-comment-count--warm .post-comment-count__bubble {
	border-color: var(--comment-heat-border);
}

.post-comment-count--warm .post-comment-count__bubble::before {
	border-color: var(--comment-heat-border) transparent transparent transparent;
}

.post-comment-count--hot {
	--comment-heat-text: #ff5b8b;
	--comment-heat-bg: #fff6f9;
	--comment-heat-border: #ff8eae;
}

.post-comment-count--hot .post-comment-count__bubble {
	background: var(--comment-heat-bg);
	border-color: var(--comment-heat-border);
}

.post-comment-count--hot .post-comment-count__bubble::before {
	border-color: var(--comment-heat-border) transparent transparent transparent;
}

.post-comment-count--hot .post-comment-count__bubble::after {
	border-color: var(--comment-heat-bg) transparent transparent transparent;
}

.post-comment-count--fire {
	--comment-heat-text: #f23f70;
	--comment-heat-bg: #fff0f4;
	--comment-heat-border: #f76b91;
}

.post-comment-count--fire .post-comment-count__bubble,
.post-list-item__pc-comments.post-comment-count--fire {
	background: var(--comment-heat-bg);
	border-color: var(--comment-heat-border);
	box-shadow: 0 2px 8px rgb(255 91 139 / 18%);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.post-comment-count--fire .post-comment-count__bubble::before {
	border-color: var(--comment-heat-border) transparent transparent transparent;
}

.post-comment-count--fire .post-comment-count__bubble::after {
	border-color: var(--comment-heat-bg) transparent transparent transparent;
}

.post-comment-count--fire:hover .post-comment-count__bubble,
.post-comment-count--fire:focus-visible .post-comment-count__bubble {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgb(255 91 139 / 24%);
}

.post-comment-count__fire {
	position: absolute;
	top: 3px;
	right: 3px;
	font-size: 9px;
	line-height: 1;
}

.post-comment-count:hover,
.post-comment-count:focus-visible {
	color: #0874b6;
}

.post-comment-count:hover .post-comment-count__bubble,
.post-comment-count:focus-visible .post-comment-count__bubble {
	border-color: #ff8eae;
}

.post-comment-count:hover .post-comment-count__bubble::before,
.post-comment-count:focus-visible .post-comment-count__bubble::before {
	border-color: #ff8eae transparent transparent transparent;
}

.post-comment-count__number {
	position: relative;
	font-size: 24px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	transition: transform 0.18s ease;
}

.post-comment-count__label {
	color: #ff6b95;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
}

.post-comment-count:hover .post-comment-count__number,
.post-comment-count:focus-visible .post-comment-count__number {
	transform: scale(1.12);
}

.post-list-item__title {
	min-width: 0;
	margin: 0 0 6px;
	color: #333333;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-align: justify;
	text-align-last: left;
	text-justify: inter-ideograph;
	overflow-wrap: break-word;
}

.post-list-item__title a {
	color: inherit;
	text-decoration: none;
}

.post-list-item__title a:hover,
.post-list-item__title a:focus-visible {
	color: var(--color-accent);
}

.post-list-item__date {
	padding-top: 3px;
	color: var(--color-muted);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.post-list-item__content {
	color: #4f535a;
	font-size: 16px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.post-list-item__content > :first-child {
	margin-top: 10px;
}

.post-list-item__content img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	margin: 14px 0;
}

/* Legacy lead images can share a paragraph with styled body text. List cards show only the image. */
body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content > :has(img) :not(img) {
	font-size: 0 !important;
	line-height: 0 !important;
}

.post-list-item__content h2,
.post-list-item__content h3,
.post-list-item__content h4 {
	line-height: 1.55;
}

.post-list-item__content .more-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	min-height: 0 !important;
	box-sizing: border-box;
	padding: 9px 14px !important;
	margin: 20px 0 22px;
	border: 1px solid #e3e4e6 !important;
	border-bottom: 2px solid #ff6b95 !important;
	border-radius: 0 !important;
	background: #fffafa !important;
	color: #333 !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
}

.post-list-item__content .more-link::after {
	content: "→";
	color: #ff6b95;
	transition: transform 0.2s ease;
}

.post-list-item__content .more-link:hover {
	background: #fff2f6 !important;
	border-color: #ffb0c6 !important;
	border-bottom-color: #ff6b95 !important;
	color: #ff6b95 !important;
}

.post-list-item__content .more-link:hover::after {
	transform: translateX(4px);
}

.post-list-item__meta {
	margin-top: 10px;
	padding-top: 8px;
	color: var(--color-muted);
	font-size: 12px;
	border-top: 1px solid #ececed;
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 16px;
	border-top: 1px solid var(--color-line);
}

.mobile-home-more {
	display: none;
}

.mobile-monthly-popular {
	display: none;
}

.mobile-latest-ranking {
	display: none;
}

.mobile-latest-ranking__count--tablet,
.mobile-latest-ranking__item:nth-child(n + 4) {
	display: none;
}

.mobile-home-search {
	display: none;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.pagination .page-numbers {
	display: inline-flex;
	min-height: 34px;
	min-width: 34px;
	align-items: center;
	justify-content: center;
	padding: 4px 8px;
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--color-line);
}

.pagination a.page-numbers:hover,
.pagination a.page-numbers:focus-visible,
.pagination-jump__button:hover,
.pagination-jump__button:focus-visible {
	color: #fff;
	background: var(--color-accent);
	border-color: var(--color-accent);
}

.pagination .current {
	background: var(--color-header);
	color: #fff;
	border-color: var(--color-header);
}

.pagination__disabled {
	color: #a4a7ac;
	background: #f5f5f6;
}

.pagination-jump {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}

.pagination-jump__input,
.pagination-jump__button {
	box-sizing: border-box;
	height: 34px;
	border: 1px solid var(--color-line);
	font: inherit;
}

.pagination-jump__input {
	width: 76px;
	padding: 4px 8px;
	background: #fff;
}

.pagination-jump__button {
	padding: 4px 12px;
	color: var(--color-text);
	background: #fff;
	cursor: pointer;
}

.pagination--compact {
	justify-content: center;
	padding: 18px 16px;
}

.pagination--compact .nav-links {
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.pagination--compact .page-numbers {
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	min-width: 38px;
	min-height: 38px;
	padding: 0;
	color: #555;
	background: #fff;
	border-color: #dedfe1;
	cursor: pointer;
}

.pagination--compact a.page-numbers:hover,
.pagination--compact a.page-numbers:focus-visible {
	color: var(--color-accent);
	background: #fff7fa;
	border-color: #efb8c9;
}

.pagination--compact .pagination__disabled {
	color: #b8bbc0;
	background: #f7f7f8;
	cursor: not-allowed;
	pointer-events: none;
}

.pagination__selector {
	position: relative;
	width: 104px;
	height: 38px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #dedfe1;
}

.pagination__status {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	color: #333;
	font-size: 14px;
	font-weight: 700;
	pointer-events: none;
}

.pagination__status::after {
	content: '';
	width: 0;
	height: 0;
	margin-left: 10px;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 5px solid #92959a;
}

.pagination__select {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	color: #333;
	background: #fff;
	border: 2px solid #dedfe1;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	opacity: 0;
	cursor: pointer;
}

.pagination__select option {
	padding: 9px 12px;
	color: #333;
	background-color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.pagination__select option:checked {
	color: #333;
	background-color: #f3f3f3;
}

.pagination__select option:hover,
.pagination__select option:focus {
	color: #333;
	background-color: #f7f7f7;
}

.pagination__selector:hover,
.pagination__selector:focus-within {
	background: #fff7fa;
	border-color: #efb8c9;
}

@media (max-width: 560px) {
	.pagination--compact {
		padding: 14px 4px;
	}

	.pagination--compact .nav-links {
		flex-wrap: nowrap;
		gap: 3px;
	}

	.pagination--compact .page-numbers {
		width: 32px;
		height: 34px;
		min-width: 32px;
		min-height: 34px;
		font-size: 12px;
	}

	.pagination__selector {
		width: 88px;
		height: 34px;
	}

	.pagination__status {
		font-size: 12px;
	}

	.pagination__status::after {
		margin-left: 6px;
	}
}

.entry {
	padding: 22px clamp(18px, 4vw, 42px) 36px;
}

.single-post .entry {
	padding-right: 10px;
	padding-left: 10px;
}

.entry-header {
	padding-bottom: 16px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--color-line);
}

.entry-title {
	margin: 0 0 8px;
	color: #333333;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	overflow-wrap: break-word;
}

.entry-meta {
	color: var(--color-muted);
	font-size: 12px;
}

@media (min-width: 1000px) {
	.entry-header--split {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		padding-bottom: 0;
		margin-bottom: 8px;
		border-bottom: 0;
	}

	.entry-header--split .entry-title--split {
		display: contents;
	}

	.entry-title--split .entry-title__product,
	.entry-title--split .entry-title__review {
		display: block;
	}

	.entry-title--split .entry-title__product {
		grid-row: 1;
		text-align: left;
		font-size: 21px;
		font-weight: 700;
		line-height: 1.3;
		color: #202536;
	}

	.entry-title--split .entry-title__product-name {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0 0.35em;
		min-width: 0;
		max-width: 100%;
	}

	.entry-title--split .entry-title__product-block {
		white-space: nowrap;
	}

	.entry-title--split .entry-title__divider {
		display: none;
	}

	.entry-title--split .entry-title__review {
		grid-row: 2;
		margin-top: 8px;
		font-size: 17px;
		font-weight: 700;
		line-height: 1.35;
		color: #555555;
	}

	.entry-header--split .entry-meta {
		grid-row: 3;
		margin-top: 6px;
	}
}

.entry-content {
	font-size: 16px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

/* Legacy survey quotes: retain their framed text-block character. */
.single-post .entry-content blockquote {
	position: static !important;
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 18px 0 !important;
	padding: 18px 20px !important;
	color: #222 !important;
	font-style: normal !important;
	line-height: 1.65 !important;
	text-align: left !important;
	background: #fffafb !important;
	border: 1px solid #f3a5c4 !important;
	border-radius: 3px !important;
}

.single-post .entry-content blockquote > :first-child {
	margin-top: 0;
}

.single-post .entry-content blockquote > :last-child {
	margin-bottom: 0;
}

/* Remove fixed copy-and-paste widths without erasing inline emphasis. */
.single-post .entry-content blockquote :where(dl, dt)[style*="width"] {
	width: auto !important;
	max-width: 100% !important;
}

@media (max-width: 560px) {
	.single-post .entry-content blockquote {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	line-height: 1.55;
}

.prototype-navigation__utilities {
	display: none;
	min-width: 148px;
	border-left: 2px solid #555;
}

/* Latest posts are a desktop right-column module. */
.sidebar-latest-posts {
	display: none;
}

@media (min-width: 800px) {
	.sidebar-latest-posts {
		display: block;
	}
}

.sidebar-latest-posts__body {
	padding: 2px 8px 4px;
}

.sidebar-latest-posts__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sidebar-latest-posts__item {
	margin: 0;
	border-bottom: 1px solid #ececec;
}

.sidebar-latest-posts__item:last-child {
	border-bottom: 0;
}

.sidebar-latest-posts__link {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	padding: 7px 2px;
	color: inherit;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.sidebar-latest-posts__item.has-no-image .sidebar-latest-posts__link {
	grid-template-columns: minmax(0, 1fr);
}

.sidebar-latest-posts__link:hover {
	background: #fafafa;
}

.sidebar-latest-posts__thumbnail {
	display: block;
	width: 60px;
	height: 60px;
	overflow: hidden;
	background: #f7f7f7;
	border: 1px solid #ededed;
}

.sidebar-latest-posts__thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sidebar-latest-posts__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.sidebar-latest-posts__copy time {
	color: #999;
	font-size: 9px;
	line-height: 1.25;
}

.sidebar-latest-posts__product,
.sidebar-latest-posts__title,
.sidebar-latest-posts__article-title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

.sidebar-latest-posts__product,
.sidebar-latest-posts__title {
	color: #333;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	-webkit-line-clamp: 2;
}

.sidebar-latest-posts__article-title {
	color: #777;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.35;
	-webkit-line-clamp: 2;
}

.sidebar-latest-posts__link:hover .sidebar-latest-posts__product,
.sidebar-latest-posts__link:hover .sidebar-latest-posts__title {
	color: #d94c76;
}

@media (min-width: 1000px) {
	.site-navigation.is-sticky .prototype-navigation__utilities {
		display: flex;
	}
}

.site-navigation .prototype-navigation__utility {
	display: flex;
	width: 74px;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 7px 8px;
	color: #ddd;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	background: transparent;
	border: 0;
	border-right: 1px solid #474747;
	cursor: pointer;
}

.site-navigation .prototype-navigation__utility:last-child {
	border-right: 0;
}

.site-navigation .prototype-navigation__utility:hover,
.site-navigation .prototype-navigation__utility:focus-visible,
.prototype-navigation.is-utility-search-open .prototype-navigation__utility--search {
	color: #fff;
	background: #414141;
}

.prototype-navigation__utility-search[hidden] {
	display: none;
}

.prototype-navigation__utility-search {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 45;
	width: min(420px, calc(100% - 24px));
	padding: 10px;
	background: #fff;
	border: 1px solid #d7d7d7;
}

.prototype-navigation__utility-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 6px;
}

.prototype-navigation__utility-search-form input[type="search"] {
	min-width: 0;
	height: 38px;
	padding: 7px 10px;
	font: inherit;
	border: 1px solid #bbb;
}

.prototype-navigation__utility-search-submit,
.prototype-navigation__utility-search-close {
	height: 38px;
	padding: 0 13px;
	color: #333;
	font: inherit;
	font-size: 13px;
	background: #f4f4f4;
	border: 1px solid #bbb;
	cursor: pointer;
}

.prototype-navigation__utility-search-close {
	width: 38px;
	padding: 0;
	font-size: 20px;
}

/* Restore the legacy heading treatment without overriding newer inline styles. */
.single-post .entry-content > h4:not([style]),
.single-post .entry-content > div:not([class]):not([id]):not([style]) > h4:not([style]) {
	margin: 0.7em 0;
	padding: 0.8em 0.9em;
	font-size: 22.4px;
	line-height: 1.3;
	border-left: 7px solid rgb(255, 51, 102);
	font-family: Helvetica, Arial, sans-serif, "メイリオ", Meiryo;
	background-color: rgb(242, 242, 242);
}

.entry-content img {
	display: block;
	margin-top: 1.25em;
	margin-bottom: 1.25em;
}

.single-post .entry-content img {
	margin-right: 0;
	margin-left: 0;
}

.single-post .entry-content img.entry-content__top-image {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin-right: 0;
	margin-left: 0;
}

/* Temporary compatibility for legacy articles authored around a floated lead product image. */
@media (min-width: 800px) {
	.single-post .entry-content img.entry-content__top-image.legacy-square-top-image,
	.post-list-item__content img.entry-content__top-image.legacy-square-top-image {
		float: left;
		width: auto;
		max-width: min(300px, 100%);
		height: auto;
		margin: 0 24px 18px 0;
	}
}

/* Desktop archive cards: remove vertical space only from each lead thumbnail. */
@media (min-width: 1000px) {
	.post-list-item .post-list-item__content img.entry-content__top-image {
		margin-top: 0;
		margin-bottom: 0;
	}

	.post-list-item.category-9
	.post-list-item__content > p:first-child
	> a:first-child:has(> img.entry-content__top-image) + br {
		display: none;
	}
}

.single-post article.category-9
.entry-content > p:first-child
> img.entry-content__top-image:first-child + br {
	display: none;
}

span[id^="more-"] {
	scroll-margin-top: 150px;
}

.onahodouga-dictionary-page .onahodouga-dictionary {
	color: #333;
	font-size: 15px;
	line-height: 1.7;
}

.onahodouga-dictionary-page .onahodouga-dictionary__index {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0 30px;
	padding: 12px;
	background: #fafafa;
	border: 1px solid #e6e6e6;
}

.onahodouga-dictionary-page .onahodouga-dictionary__index br {
	display: none;
}

.onahodouga-dictionary-page .onahodouga-dictionary__index a {
	display: inline-flex;
	min-width: 35px;
	min-height: 34px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 5px 8px;
	color: #555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.onahodouga-dictionary-page .onahodouga-dictionary__index a:hover,
.onahodouga-dictionary-page .onahodouga-dictionary__index a:focus-visible {
	color: #ff5f8d;
	background: #fff5f8;
	border-color: #ff8eae;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading,
.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]),
.onahodouga-dictionary-page .onahodouga-dictionary > h4,
.onahodouga-dictionary-page .onahodouga-dictionary__section-title,
.onahodouga-dictionary-page .onahodouga-dictionary h4 {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 12px;
	padding: 0;
	color: #333;
	font-size: 30px !important;
	font-weight: 700;
	line-height: 1.1;
	background: transparent;
	border: 0;
	scroll-margin-top: 100px;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading::after,
.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id])::after,
.onahodouga-dictionary-page .onahodouga-dictionary > h4::after,
.onahodouga-dictionary-page .onahodouga-dictionary__section-title::after,
.onahodouga-dictionary-page .onahodouga-dictionary h4::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: #e5e5e5;
	min-width: 24px;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 12px;
	color: #fff;
	background: #ff6b95;
	font-size: 30px !important;
	font-weight: 700;
	line-height: 1;
	border-radius: 4px;
	box-sizing: border-box;
	white-space: nowrap;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading.is-single-char .onahodouga-dictionary__section-heading-label,
.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]).is-single-char .onahodouga-dictionary__section-heading-label {
	min-width: 38px;
	min-height: 38px;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading.is-kana-row .onahodouga-dictionary__section-heading-label,
.onahodouga-dictionary-page .onahodouga-dictionary > h4.is-kana-row::first-child {
	padding: 0 14px;
	height: 38px;
	min-height: 38px;
	border-radius: 4px;
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading + br,
.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]) + br,
.onahodouga-dictionary-page .onahodouga-dictionary > h4 + br {
	display: none;
}

@media (max-width: 600px) {
	.onahodouga-dictionary-page .onahodouga-dictionary__section-heading,
	.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]),
	.onahodouga-dictionary-page .onahodouga-dictionary > h4,
	.onahodouga-dictionary-page .onahodouga-dictionary__section-title {
		font-size: 24px !important;
		margin: 22px 0 10px;
		padding-left: 14px;
		line-height: 1.1;
	}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading-label,
.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]) .onahodouga-dictionary__section-heading-label,
.onahodouga-dictionary-page .onahodouga-dictionary > h4 .onahodouga-dictionary__section-heading-label,
.onahodouga-dictionary-page .onahodouga-dictionary__section-title .onahodouga-dictionary__section-heading-label {
	min-height: 32px;
		height: 32px;
		font-size: 24px !important;
	}

	.onahodouga-dictionary-page .onahodouga-dictionary__section-heading.is-single-char .onahodouga-dictionary__section-heading-label,
	.onahodouga-dictionary-page .onahodouga-dictionary > span:has(> a[id]).is-single-char .onahodouga-dictionary__section-heading-label {
		min-width: 32px;
		height: 32px;
	}
}

.onahodouga-dictionary-page .onahodouga-dictionary__section-heading.is-empty-section {
	margin: 4px 0 8px;
}

.onahodouga-dictionary-page .onahodouga-dictionary .onahodouga-dictionary__section-heading.is-empty-section + .onahodouga-dictionary__section-heading {
	margin-top: 8px;
}

.onahodouga-dictionary-page .onahodouga-dictionary a[id],
.onahodouga-dictionary-page .onahodouga-dictionary__anchor {
	display: block;
	position: relative;
	top: -100px;
	visibility: hidden;
	pointer-events: none;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion {
	margin: 0 !important;
	padding: 0 !important;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion .ac-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: min-content;
	align-items: start;
	column-gap: 20px;
	row-gap: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion .ac-content.is-single-column {
	grid-template-columns: 1fr;
}

.onahodouga-dictionary-page .onahodouga-dictionary__column {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-self: start;
}

.onahodouga-dictionary-page .onahodouga-dictionary__entry {
	min-width: 0;
	height: auto;
	min-height: 0;
	border-top: 1px solid #ededed;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion input {
	display: none !important;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion label {
	position: relative;
	display: block;
	margin: 0;
	padding: 9px 36px 9px 12px !important;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	cursor: pointer;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid #ededed !important;
	transition: color 160ms ease, background-color 160ms ease;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion label + br,
.onahodouga-dictionary-page .onahodouga-dictionary .ac-content > input + p:empty {
	display: none;
	margin: 0;
}

.onahodouga-dictionary-page .onahodouga-dictionary .ac-content > p:has(> label) {
	margin: 0;
	padding: 0;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion label::after {
	position: absolute;
	top: 50%;
	right: 13px;
	color: #aaa;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	content: "+";
	transform: translateY(-50%);
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion label:hover {
	color: #e95781;
	background: #fff8fa !important;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion .ac-cont.is-open {
	height: auto !important;
	padding: 11px 12px 13px !important;
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion label.is-open::after {
	content: "−";
}

.onahodouga-dictionary-page .onahodouga-dictionary .accordion .ac-cont {
	height: 0 !important;
	box-sizing: border-box;
	overflow: hidden !important;
	padding: 0 12px !important;
	color: #666;
	font-size: 14px;
	line-height: 1.65;
	background: #fafafa !important;
	border-bottom: 1px solid #ededed;
	transition: padding 180ms ease;
}

.onahodouga-dictionary-page .onahodouga-dictionary .ac-cont img,
.onahodouga-dictionary-page .onahodouga-dictionary table {
	max-width: 100%;
	height: auto;
}

.onahodouga-dictionary-page .onahodouga-dictionary__empty {
	display: none;
	margin: 0 !important;
	padding: 0 !important;
	color: #999;
	font-size: 13px;
	background: transparent;
	border-bottom: 0;
}

.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + span,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + h4,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + br + span,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + br + h4,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + .onahodouga-dictionary__section-title,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + br + .onahodouga-dictionary__section-title {
	margin-top: 12px;
}

.onahodouga-dictionary-page .onahodouga-dictionary__empty + br,
.onahodouga-dictionary-page .onahodouga-dictionary__empty + br + br {
	display: none !important;
}

@media (max-width: 600px) {
	.onahodouga-dictionary-page .onahodouga-dictionary .accordion .ac-content {
		grid-template-columns: 1fr;
	}

	.onahodouga-dictionary-page .onahodouga-dictionary__index {
		gap: 5px;
		padding: 9px;
	}

	.onahodouga-dictionary-page .onahodouga-dictionary__index a {
		min-width: 32px;
		min-height: 32px;
		padding: 4px 6px;
	}
}

.empty-state {
	padding: 32px 20px;
}

.db-results-mode {
	padding: 12px 24px 28px;
	background: #f5f8f9;
}

.db-results-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
	padding: 17px 20px;
	background: #fff;
	border-left: 4px solid #36b7ca;
	border-bottom: 1px solid #dce7e9;
}

.db-results-hero__back {
	display: inline-block;
	margin-bottom: 5px;
	color: #65757a;
	font-size: 11px;
	text-decoration: none;
}

.db-results-hero__logo {
	margin: 0;
	color: #168da3;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.2;
}

.db-results-hero__logo small {
	display: block;
	margin-top: 4px;
	color: #67777b;
	font-size: 11px;
	font-weight: 600;
}

.db-results-hero > strong {
	color: #34474c;
	font-size: 15px;
}

.db-results-layout {
	display: block;
}

.db-results-main {
	min-width: 0;
}

.db-results-toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 7px 10px;
	background: #fff;
	border: 1px solid #dfe7e9;
}

.db-results-toolbar strong {
	font-size: 14px;
}

.db-results-toolbar span {
	color: #788388;
	font-size: 11px;
}

.db-product-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.db-product-card {
	display: flex;
	min-width: 0;
	min-height: 410px;
	flex-direction: column;
	background: #fff;
	border: 1px solid #dfe5e7;
	border-radius: 3px;
	transition: border-color 150ms ease, background-color 150ms ease;
}

.db-product-card:hover {
	background: #fcfeff;
	border-color: #9dcfd7;
}

.db-product-card__image {
	position: relative;
	display: block;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	color: #a0a8ab;
	font-size: 10px;
	background: #fff;
	border-bottom: 1px solid #e4e8e9;
}

.db-product-card__image img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	transition: filter 180ms ease;
}

.db-product-card__image.is-legacy-image {
	display: flex;
	height: 224px;
	min-height: 224px;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.db-product-card__image.is-legacy-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

.db-product-card__rating-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: auto;
	z-index: 1;
	display: block;
	padding: 4px 6px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	background: rgb(255 255 255 / 88%);
	border: 1px solid rgb(0 0 0 / 8%);
	border-radius: 0 0 0 3px;
	pointer-events: none;
}

.db-product-card__rating-filled {
	color: #f4b400;
}

.db-product-card__rating-empty {
	color: #d0d0d0;
}

.db-product-card__image-cta {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	padding: 9px 11px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	background: rgb(0 0 0 / 45%);
	border-radius: 3px;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition: opacity 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.db-product-card__image:hover img,
	.db-product-card__image:focus-visible img {
		filter: brightness(0.75);
	}

	.db-product-card__image:hover .db-product-card__image-cta,
	.db-product-card__image:focus-visible .db-product-card__image-cta {
		opacity: 1;
	}
}

.db-product-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 11px 13px 9px;
}

.db-product-card h2 {
	display: -webkit-box;
	margin: 0 0 7px;
	overflow: hidden;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.db-product-card h2 a {
	color: #263438;
	text-decoration: none;
}

.db-product-card h2 a:hover {
	color: #168da3;
}

.db-product-card__signals,
.db-product-card__identity,
.db-product-card__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-bottom: 5px;
	font-size: 11px;
}

.db-product-card__rating {
	color: #ff6b95;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.db-product-card__stimulation,
.db-product-card__identity {
	color: #5f6b6f;
}

.db-product-card__identity strong {
	color: #34474c;
}

.db-product-card__badges span {
	padding: 2px 7px;
	color: #52666b;
	background: #edf6f7;
	border: 1px solid #d0e5e8;
}

.db-product-card footer {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: auto;
	padding-top: 7px;
	color: #7c8588;
	font-size: 10px;
	border-top: 1px solid #edf0f1;
}

.db-product-card footer a {
	margin-left: auto;
	color: #e95781;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
}

.db-product-card__mobile-price,
.db-product-card__mobile-actions,
.db-product-card__mobile-title,
.db-product-card__mobile-rating {
	display: none;
}

.db-product-card:hover footer a {
	color: #cf3763;
}

.db-results-refine {
	margin-bottom: 10px;
	padding: 11px 14px;
	background: #fff;
	border: 1px solid #dce7e9;
	border-top: 3px solid #36b7ca;
}

.db-results-refine__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.db-results-refine__current {
	min-width: 0;
}

.db-results-refine h2 {
	margin: 0 0 6px;
	font-size: 13px;
}

.db-results-refine__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 0;
}

.db-results-refine__chips a {
	padding: 4px 8px;
	color: #168da3;
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	background: #edf9fb;
	border: 1px solid #b9e1e7;
}

.db-results-refine__chips > span {
	color: #8a9295;
	font-size: 11px;
}

.db-results-refine__actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 14px;
}

.db-results-refine__actions > strong {
	color: #34474c;
	font-size: 14px;
	white-space: nowrap;
}

.db-results-refine__toggle {
	display: inline-flex;
	height: 42px;
	align-items: center;
	gap: 7px;
	padding: 0 21px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	background: #00aecb;
	border: 1px solid #00aecb;
	border-radius: 3px;
	cursor: pointer;
}

.db-results-refine__toggle-icon {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

.db-results-refine__toggle-arrow {
	font-size: 10px;
}

.db-results-refine__toggle:hover,
.db-results-refine__toggle:focus-visible {
	background: #008fa8;
	border-color: #008fa8;
}

.db-results-refine__panel {
	margin-top: 11px;
}

.db-results-refine__panel[hidden] {
	display: none;
}

.db-results-refine__panel .prototype-db-menu.is-db-page-panel {
	margin: 0;
}

.db-results-filter {
	min-width: 0;
}

.db-results-filter__inner {
	position: sticky;
	top: 60px;
	max-height: calc(100vh - 76px);
	padding: 14px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid #dce5e7;
}

.db-results-filter h2 {
	margin: 0 0 11px;
	padding-bottom: 7px;
	font-size: 17px;
	border-bottom: 3px solid #36b7ca;
}

.db-results-filter h3 {
	margin: 0 0 7px;
	font-size: 12px;
}

.db-results-filter__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 11px;
}

.db-results-filter__chips a {
	padding: 3px 7px;
	color: #e95781;
	font-size: 10px;
	line-height: 1.35;
	text-decoration: none;
	background: rgb(255 107 149 / 10%);
	border: 1px solid rgb(255 107 149 / 35%);
}

.db-results-filter__chips > span {
	color: #8a9295;
	font-size: 10px;
}

.db-results-filter__form details {
	border-top: 1px solid #e7ebec;
}

.db-results-filter__form summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 2px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.db-results-filter__form summary small {
	color: #7b898c;
	font-size: 9px;
	font-weight: 500;
}

.db-results-filter__options {
	display: grid;
	gap: 3px;
	padding: 0 0 8px;
}

.db-results-filter__options label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 6px;
	align-items: center;
	padding: 4px 5px;
	font-size: 10px;
	background: #fafafa;
	border: 1px solid #eceeef;
}

.db-results-filter__options label.is-unavailable {
	color: #aaa;
	opacity: 0.65;
}

.db-results-filter__options label small {
	color: #727d80;
	font-size: 9px;
	font-variant-numeric: tabular-nums;
}

.db-results-filter__form > button {
	width: 100%;
	margin-top: 10px;
	padding: 9px 10px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	background: #ff6b95;
	border: 0;
	cursor: pointer;
}

@media (max-width: 799.98px), (max-width: 999.98px) and (pointer: coarse), (max-width: 999.98px) and (hover: none) {
	.db-results-mode {
		padding: 16px;
	}

	.db-results-layout {
		display: block;
	}

	.db-results-filter {
		order: 2;
	}

	.db-results-filter__inner {
		position: static;
		max-height: none;
	}
}

@media (max-width: 799.98px), (max-width: 1050px) and (pointer: coarse), (max-width: 1050px) and (hover: none) {
	.db-product-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.db-results-refine__summary,
	.db-results-refine__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.db-results-refine__summary {
		gap: 10px;
	}

	.db-results-refine__actions {
		gap: 8px;
	}

	.db-results-hero {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* The same DB product-card content is used on phones and portrait tablets. */
@media (max-width: 600px), (min-width: 481px) and (max-width: 999.98px) {
	.db-product-card {
		position: relative;
		min-height: 0;
	}

	.db-product-card__image,
	.db-product-card__image img {
		height: auto;
		min-height: 0;
	}

	.db-product-card__image.is-legacy-image {
		height: auto;
		min-height: 0;
		aspect-ratio: 31 / 18;
	}

	.db-product-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.db-product-card__rating-overlay { display: none; }

	.db-product-card__body {
		padding: 9px 8px 8px;
	}

	.db-product-card h2 {
		margin-bottom: 6px;
		font-size: 14px;
		line-height: 1.45;
	}
	.db-product-card__desktop-title { display: none; }
	.db-product-card__mobile-title { display: inline; }
	.db-product-card__mobile-rating {
		display: flex;
		margin: -1px 0 5px;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
	}

	.db-product-card__signals,
	.db-product-card__identity,
	.db-product-card__badges,
	.db-product-card__future-tags,
	.db-product-card footer { display: none; }

	.db-product-card__mobile-price {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 2px 6px;
		margin: 0 0 8px;
		color: #687579;
		font-size: 9px;
		line-height: 1.4;
	}

	.db-product-card__mobile-price strong { color: #d6363f; font-size: 13px; }
	.db-product-card__mobile-actions { display: grid; gap: 5px; margin-top: auto; }
	.db-product-card__mobile-actions a {
		display: flex;
		min-height: 34px;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		padding: 6px 5px;
		font-size: 10px;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		border-radius: 2px;
	}
	.db-product-card__mobile-actions .db-product-card__review-link {
		display: inline-flex;
		width: fit-content;
		min-height: 0;
		justify-content: center;
		justify-self: center;
		padding: 3px 0;
		color: #bf3f65;
		font-size: 10px;
		background: transparent;
		border: 0;
		-webkit-tap-highlight-color: transparent;
	}
	.db-product-card__mobile-actions .db-product-card__review-link::before {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 1;
		background: transparent;
		transition: background-color 70ms ease;
	}
	.db-product-card__mobile-actions .db-product-card__review-link:active::before { background: rgb(0 174 203 / 18%); }
	.db-product-card:has(.db-product-card__review-link:active) { border-color: #54b6c8; }
	.db-product-card__shop-links {
		position: relative;
		z-index: 2;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 3px;
		min-width: 0;
	}
	.db-product-card__shop-links a {
		display: block;
		min-width: 0;
		min-height: 0;
		padding: 4px 1px;
		overflow: hidden;
		color: #626d71;
		font-size: 8px;
		font-weight: 600;
		line-height: 1.2;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
		background: #fff;
		border: 1px solid #dce2e4;
	}
	.db-product-card__shop-links a[data-shop="FANZA"] { color: #c51f2e; background: #fff3f4; border-color: #efb8bd; }
	.db-product-card__shop-links a[data-shop="NLS"] { color: #08783a; background: #f0faf4; border-color: #a9d8bd; }
	.db-product-card__shop-links a[data-shop="大人のおもちゃ通販大魔王"] { color: #a85e00; background: #fff8eb; border-color: #edc983; }
	.db-product-card__shop-links a[data-shop="M-ZAKKA"] { color: #a20000; background: #fff2f2; border-color: #e4adad; }
	.db-product-card__shop-links a[data-shop="信長トイズ"] { color: #b00481; background: #fff1fb; border-color: #e4abd5; }
	.db-product-card__shop-links a[data-shop="ホットパワーズ"] { color: #087b8c; background: #eefbfc; border-color: #9ed8df; }
	.db-product-card__shop-links a:nth-child(n + 4) { display: none; }
}

.db-results-mobile-browser {
	display: none;
}

.db-results-mini-filter {
	display: none;
}

.site-footer {
	margin-top: 0;
	color: #555;
	background: #fafafa;
	border-top: 3px solid #ff86a9;
}

.site-footer__inner {
	width: 100%;
	box-sizing: border-box;
	padding: 30px clamp(20px, 3vw, 42px) 18px;
	font-size: 12px;
}

.site-footer__sitemap {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, .85fr);
	gap: clamp(24px, 3vw, 46px);
}

.site-footer__column {
	min-width: 0;
}

.site-footer__column h2 {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 8px 12px;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	border-bottom: 1px solid #e5e5e5;
}

.site-footer__column h2::before {
	position: absolute;
	top: .25em;
	bottom: calc(.25em + 8px);
	left: 0;
	width: 3px;
	background: #ff6b95;
	border-radius: 2px;
	content: "";
}

.site-footer__parent-link {
	display: inline-block;
	margin: 0 0 9px;
	color: #333;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.site-footer__links {
	display: grid;
	gap: 7px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__links--categories {
	display: block;
	columns: 2;
	column-gap: 14px;
}

.site-footer__links--categories > .site-footer__category-item {
	display: inline-block;
	width: 100%;
	margin: 0 0 7px;
	break-inside: avoid;
	break-inside: avoid-column;
	vertical-align: top;
}

.site-footer__category-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 14px;
}

.site-footer__category-children {
	display: grid;
	gap: 5px;
	margin: 5px 0 0;
	padding: 0 0 0 14px;
	list-style: none;
}

.site-footer__category-item.has-children > a {
	color: #484848;
	font-weight: 600;
}

.site-footer__category-children a {
	color: #6a6a6a;
	font-size: 11px;
}

.site-footer__category-children a::before {
	margin-right: 5px;
	content: "└";
}

.site-footer__links a {
	color: #555;
	font-size: 12px;
	line-height: 1.55;
	text-decoration: none;
	transition: color 160ms ease;
}

.site-footer__links a::before {
	margin-right: 6px;
	color: #c4c4c4;
	content: "›";
}

.site-footer__parent-link:hover,
.site-footer__parent-link:focus-visible,
.site-footer__links a:hover,
.site-footer__links a:focus-visible {
	color: #ff6b95;
}

.site-footer__bottom {
	margin-top: 26px;
	padding-top: 15px;
	color: #888;
	font-size: 11px;
	text-align: center;
	border-top: 1px solid #e3e3e3;
}

.site-footer--db {
	color: #b9bdc5;
	background: var(--color-header);
	border-top: 0;
}

.site-footer__inner--compact {
	padding: 24px;
}

@media (max-width: 799.98px), (max-width: 900px) and (pointer: coarse), (max-width: 900px) and (hover: none) {
	.site-footer__sitemap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.site-footer__inner {
		padding: 22px 12px 16px;
	}

	.site-footer__sitemap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}

	.site-footer__sitemap > .site-footer__column:nth-child(1) {
		order: 3;
	}

	.site-footer__sitemap > .site-footer__column:nth-child(2) {
		order: 4;
	}

	.site-footer__sitemap > .site-footer__column:nth-child(3) {
		order: 1;
	}

	.site-footer__sitemap > .site-footer__column:nth-child(4) {
		order: 2;
	}

	.site-footer__links--categories {
		columns: 1;
	}

	.site-footer__category-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer__column h2 {
		margin-bottom: 10px;
		padding-bottom: 7px;
		padding-left: 10px;
		font-size: 14px;
	}

	.site-footer__parent-link {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.site-footer__links {
		gap: 6px 8px;
	}

	.site-footer__links a {
		font-size: 11.5px;
		line-height: 1.5;
	}

	.site-footer__links a::before {
		margin-right: 4px;
	}

	.site-footer__category-children {
		gap: 4px;
		padding-left: 9px;
	}

	.site-footer__category-children a {
		font-size: 11px;
	}

	.site-footer__bottom {
		margin-top: 22px;
	}
}

@media (max-width: 799.98px), (max-width: 999.98px) and (pointer: coarse), (max-width: 999.98px) and (hover: none) {
	.site-navigation__legacy {
		display: block;
	}

	.prototype-navigation {
		display: none;
	}

	.site-layout {
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding: 24px;
	}

	.sidebar {
		display: block;
	}

	.main-content,
	.sidebar-block {
		width: 100%;
	}

	.main-content {
		order: 1;
	}

	.sidebar-left {
		order: 2;
	}

	.sidebar-right {
		order: 3;
	}

	.sidebar-profile {
		order: 2;
	}

	.sidebar-review-search {
		order: 3;
	}

	.popular-ranking-block {
		order: 5;
	}

	.sidebar-archives {
		order: 6;
	}
}

/* Keep desktop sidebars out of non-home mobile page flow. */
@media (max-width: 799.98px) {
	body:not(.home) .site-layout > .sidebar-left,
	body:not(.home) .site-layout > .sidebar-right,
	body.home.paged .site-layout > .sidebar-left,
	body.home.paged .site-layout > .sidebar-right {
		display: none;
	}
}

@media (min-width: 717px) and (max-width: 999.98px) {
	.prototype-navigation__bar {
		display: block;
	}

	.prototype-navigation__utilities,
	.prototype-navigation__utility-search {
		display: none !important;
	}

	.site-navigation__legacy {
		display: none;
	}

	.prototype-navigation {
		display: block;
	}

	.prototype-navigation__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 0;
	}

	.prototype-navigation__item {
		min-height: 58px;
		border-bottom: 1px solid #474747;
	}

	.mega-menu-flow-host {
		width: 100%;
	}

	.prototype-mega-menu.is-panel-open,
	.prototype-ranking-menu.is-panel-open,
	.prototype-projects-menu.is-panel-open,
	.prototype-variety-menu.is-panel-open,
	.prototype-series-menu.is-panel-open {
		max-height: 3000px;
	}
}

@media (min-width: 717px) and (max-width: 999.98px) {
	.prototype-mega-menu,
	.prototype-projects-menu,
	.prototype-series-menu,
	.prototype-variety-menu__primary,
	.prototype-variety-menu__secondary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Keep the portrait touch-tablet 3×2 navigation, with less vertical weight. */
@media (min-width: 717px) and (max-width: 999.98px) {
	body:not(.onahodouga-db) .prototype-navigation__item,
	body:not(.onahodouga-db) .site-navigation .prototype-navigation__item--database {
		min-height: 49px;
		gap: 8px;
		padding: 4px 10px;
	}
	body:not(.onahodouga-db) .prototype-navigation__icon { font-size: 21px; }
	body:not(.onahodouga-db) .prototype-navigation__copy strong { font-size: 13px; }
	body:not(.onahodouga-db) .prototype-navigation__copy small { font-size: 9px; }
	body:not(.onahodouga-db) .prototype-mega-menu {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	body:not(.onahodouga-db) .prototype-mega-menu .prototype-maker-column {
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
	}
	body:not(.onahodouga-db) .prototype-mega-menu .prototype-maker-column__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 10px;
	}
	body:not(.onahodouga-db) .prototype-mega-menu .prototype-maker__copy strong {
		text-overflow: clip;
		white-space: normal;
		overflow-wrap: break-word;
	}

	/* Compact only the opened mega-menu contents on portrait touch tablets. */
	body:not(.onahodouga-db) .prototype-navigation.is-ranking-open .prototype-ranking-menu,
	body:not(.onahodouga-db) .prototype-ranking-menu.is-panel-open,
	body:not(.onahodouga-db) .prototype-navigation.is-projects-open .prototype-projects-menu,
	body:not(.onahodouga-db) .prototype-projects-menu.is-panel-open,
	body:not(.onahodouga-db) .prototype-navigation.is-variety-open .prototype-variety-menu,
	body:not(.onahodouga-db) .prototype-variety-menu.is-panel-open,
	body:not(.onahodouga-db) .prototype-navigation.is-series-open .prototype-series-menu,
	body:not(.onahodouga-db) .prototype-series-menu.is-panel-open {
		padding-top: 13px;
		padding-bottom: 14px;
	}
	body:not(.onahodouga-db) .prototype-navigation.is-manufacturer-open .prototype-mega-menu,
	body:not(.onahodouga-db) .prototype-mega-menu.is-panel-open {
		padding-top: 11px;
	}
	body:not(.onahodouga-db) .prototype-navigation.is-db-open .prototype-db-menu,
	body:not(.onahodouga-db) .prototype-db-menu.is-panel-open {
		padding-top: 12px;
		padding-bottom: 12px;
	}
	body:not(.onahodouga-db) .prototype-ranking-menu {
		grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
		gap: 18px;
	}
	body:not(.onahodouga-db) .prototype-ranking-menu h2 { margin-bottom: 7px; font-size: 13px; }
	body:not(.onahodouga-db) .prototype-ranking-feature__image { aspect-ratio: 5 / 2; }
	body:not(.onahodouga-db) .prototype-ranking-feature__copy { gap: 3px; padding: 8px 10px 9px; }
	body:not(.onahodouga-db) .prototype-ranking-feature__copy strong { font-size: 15px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__browse { gap: 15px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__months { padding-bottom: 13px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__month-grid,
	body:not(.onahodouga-db) .prototype-ranking-menu__annual-links { gap: 6px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__month-grid > a,
	body:not(.onahodouga-db) .prototype-ranking-menu__month-grid > span { min-height: 36px; padding: 5px 7px; font-size: 13px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__annual-links a { min-height: 34px; font-size: 12px; }
	body:not(.onahodouga-db) .prototype-ranking-menu__archive { margin-top: 9px; }
	body:not(.onahodouga-db) .prototype-projects-menu,
	body:not(.onahodouga-db) .prototype-variety-menu,
	body:not(.onahodouga-db) .prototype-variety-menu__primary,
	body:not(.onahodouga-db) .prototype-variety-menu__secondary { gap: 9px; }
	body:not(.onahodouga-db) .prototype-project-card__image,
	body:not(.onahodouga-db) .prototype-variety-card__image { aspect-ratio: 3 / 1; }
	body:not(.onahodouga-db) .prototype-project-card__image img,
	body:not(.onahodouga-db) .prototype-variety-card__image img { object-fit: cover; }
	body:not(.onahodouga-db) .prototype-project-card__copy { padding: 6px 8px; }
	body:not(.onahodouga-db) .prototype-variety-card__copy { padding-bottom: 8px; }
	/* Keep the existing six variety cards in order while sharing one 3-column grid. */
	body:not(.onahodouga-db) .prototype-variety-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
	}
	body:not(.onahodouga-db) .prototype-variety-menu__primary,
	body:not(.onahodouga-db) .prototype-variety-menu__secondary { display: contents; }
	body:not(.onahodouga-db) .prototype-variety-card__copy { padding-right: 8px; padding-left: 8px; }
	body:not(.onahodouga-db) .prototype-projects-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
	}
	body:not(.onahodouga-db) .prototype-series-menu { gap: 16px; }
	body:not(.onahodouga-db) .prototype-series-menu__column { gap: 13px; }
	body:not(.onahodouga-db) .prototype-series-menu__maker { margin-bottom: 5px; padding-bottom: 4px; font-size: 13px; }
	body:not(.onahodouga-db) .prototype-series-menu__items { gap: 4px; }
	body:not(.onahodouga-db) .prototype-series-menu__item { min-height: 49px; padding: 6px 9px; }
	body:not(.onahodouga-db) .prototype-maker-column__title { margin-bottom: 5px; padding-bottom: 4px; font-size: 15px; }
	body:not(.onahodouga-db) .prototype-maker { min-height: 39px; }
	body:not(.onahodouga-db) .prototype-maker-column:not(:last-child) .prototype-maker { padding-top: 4px; padding-bottom: 4px; }
	body:not(.onahodouga-db) .prototype-db-menu__header { margin-bottom: 8px; }
	body:not(.onahodouga-db) .prototype-db-menu__header strong { font-size: 16px; }
}

/* Use the ranking image's own ratio so it fills the card without side gutters. */
@media (min-width: 1000px), (min-width: 717px) and (max-width: 999.98px) and (pointer: coarse), (min-width: 717px) and (max-width: 999.98px) and (hover: none) {
	body:not(.onahodouga-db) .prototype-ranking-feature__image { aspect-ratio: auto; }
	body:not(.onahodouga-db) .prototype-ranking-feature__image img { height: auto; }
}

.prototype-series-menu__mobile-list { display: contents; }
.prototype-series-menu__tier-list { display: none; }

/* Three separate rows retain the existing circular series links on PC and tablets. */
@media (min-width: 717px) {
	body:not(.onahodouga-db) .prototype-series-menu {
		display: block;
	}
	body:not(.onahodouga-db) .prototype-series-menu__mobile-list { display: none; }
	body:not(.onahodouga-db) .prototype-series-menu__tier-list { display: grid; gap: 12px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier {
		display: grid;
		justify-content: center;
		gap: 10px;
	}
	body:not(.onahodouga-db) .prototype-series-menu__tier--1 { grid-template-columns: repeat(4, minmax(0, 160px)); --series-thumb-size: 136px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier--2 { grid-template-columns: repeat(5, minmax(0, 140px)); --series-thumb-size: 122px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier--3 { grid-template-columns: repeat(8, minmax(0, 100px)); --series-thumb-size: 92px; }
	body:not(.onahodouga-db) .prototype-series-menu__maker { display: none; }
	body:not(.onahodouga-db) .prototype-series-menu__item {
		display: flex;
		min-height: 0;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		gap: 8px;
		padding: 4px;
		background: transparent;
		border: 0;
		border-radius: 0;
	}
	body:not(.onahodouga-db) .prototype-series-menu__thumbnail,
	body:not(.onahodouga-db) .prototype-series-menu__item:not(:has(.prototype-series-menu__thumbnail))::before {
		display: flex;
		width: min(100%, var(--series-thumb-size));
		height: auto;
		aspect-ratio: 1;
		box-sizing: border-box;
		flex: none;
		align-items: center;
		justify-content: center;
		padding: 6px;
		color: #999;
		font-size: 12px;
		background: #fafafa;
		border: 1px solid #ededed;
		border-radius: 50%;
		overflow: hidden;
	}
	body:not(.onahodouga-db) .prototype-series-menu__item:not(:has(.prototype-series-menu__thumbnail))::before { content: "画像なし"; }
	body:not(.onahodouga-db) .prototype-series-menu__thumbnail img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		border-radius: 50%;
	}
	body:not(.onahodouga-db) a.prototype-series-menu__item:hover,
	body:not(.onahodouga-db) a.prototype-series-menu__item:focus-visible { background: transparent; }
	body:not(.onahodouga-db) a.prototype-series-menu__item:hover .prototype-series-menu__thumbnail,
	body:not(.onahodouga-db) a.prototype-series-menu__item:focus-visible .prototype-series-menu__thumbnail { border-color: #ff9ab8; }
	body:not(.onahodouga-db) .prototype-series-menu__copy {
		flex: none;
		align-items: center;
		width: 100%;
		text-align: center;
	}
	body:not(.onahodouga-db) .prototype-series-menu__copy strong {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	body:not(.onahodouga-db) .prototype-series-menu__name-suffix { white-space: nowrap; }
	body:not(.onahodouga-db) .prototype-series-menu__copy small,
	body:not(.onahodouga-db) .prototype-series-menu__arrow { display: none; }
}
@media (min-width: 717px) and (max-width: 999.98px) {
	body:not(.onahodouga-db) .prototype-series-menu__tier-list { gap: 8px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier { gap: 6px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier--1 { grid-template-columns: repeat(4, minmax(0, 145px)); --series-thumb-size: 112px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier--2 { grid-template-columns: repeat(5, minmax(0, 120px)); --series-thumb-size: 100px; }
	body:not(.onahodouga-db) .prototype-series-menu__tier--3 { grid-template-columns: repeat(8, minmax(0, 1fr)); --series-thumb-size: 76px; }
}
@media (min-width: 717px) and (max-width: 999.98px) and (pointer: coarse), (min-width: 717px) and (max-width: 999.98px) and (hover: none) {
	body:not(.onahodouga-db) .prototype-series-menu__item { gap: 5px; padding: 2px; }
	body:not(.onahodouga-db) .prototype-series-menu__copy strong { font-size: 13px; line-height: 1.3; }
}

/* Dedicated /db/ landing page. The existing facet component is reused in-place. */
.db-site-header {
	width: min(calc(100% - 32px), 1240px);
	margin: 0 auto;
	background: #fff;
	border-top: 4px solid #00aecb;
	box-shadow: 0 4px 22px rgb(22 25 30 / 8%);
}

.db-site-header__inner {
	position: relative;
	display: flex;
	height: 146.5px;
	box-sizing: border-box;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	padding: 2px 20px;
}

.db-site-brand {
	display: flex;
	width: 400px;
	height: 142.5px;
	max-width: 100%;
	flex: 0 0 400px;
	align-items: flex-start;
	margin-left: -10px;
}

.db-site-brand img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 133.3px;
}

.db-header-search {
	margin-left: auto;
}

.db-header-search .header-search__input {
	border-color: #b8dfe5;
}

.db-header-search .header-search__input:focus {
	border-color: #00aecb;
	outline: 1px solid #00aecb;
	outline-offset: -1px;
}

.db-header-search .header-search__button {
	background: #00aecb;
	border-color: #00aecb;
}

.db-header-search .header-search__button:hover,
.db-header-search .header-search__button:focus-visible {
	background: #008fa8;
	border-color: #008fa8;
}

.db-site-header__back {
	display: flex;
	width: 196px;
	min-height: 72px;
	box-sizing: border-box;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 4px 10px;
	color: #fff;
	line-height: 1.3;
	text-decoration: none;
	background: #ff6b95;
	border: 1px solid #ff5e8d;
	border-radius: 3px;
}

.db-site-header__back:hover,
.db-site-header__back:focus-visible {
	color: #fff;
	background: #e95781;
	border-color: #e95781;
}

.db-site-header__back-logo {
	display: block;
	width: 151px;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 180ms ease;
}

.db-site-header__back:hover .db-site-header__back-logo,
.db-site-header__back:focus-visible .db-site-header__back-logo {
	transform: translateY(-1px);
}

.db-site-header__back-copy {
	display: block;
	margin: 0;
	font-size: 9px;
	line-height: 1.2;
	white-space: nowrap;
}

.onahodouga-db .site-header,
.onahodouga-db .prototype-navigation__bar,
.onahodouga-db .prototype-mega-menu,
.onahodouga-db .prototype-ranking-menu,
.onahodouga-db .prototype-series-menu,
.onahodouga-db .prototype-variety-menu,
.onahodouga-db .prototype-projects-menu,
.onahodouga-db .navigation-sticky-sentinel,
.onahodouga-db .mega-menu-flow-host {
	display: none !important;
}

.onahodouga-db .site-shell {
	min-width: 0;
	margin-top: 0;
}

@media (min-width: 1000px) {
	.onahodouga-db .site-shell { margin-bottom: 0; }
}

.onahodouga-db .site-navigation {
	position: static;
	top: auto;
	z-index: auto;
	margin: 0;
	background: #fff;
	border: 0;
	box-shadow: none;
}

.onahodouga-db .prototype-navigation {
	display: block;
}

.onahodouga-db-results .site-navigation {
	display: none;
}

.onahodouga-db .prototype-db-menu.is-db-page-panel {
	position: static;
	display: block;
	max-height: none;
	padding: 20px 22px 18px;
	overflow: visible;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	border: 1px solid #dfe8eb;
	border-top: 0;
}

.onahodouga-db .prototype-db-menu__header {
	padding-bottom: 10px;
	border-bottom: 2px solid #00aecb;
}

.onahodouga-db .db-type-panel__header {
	border-bottom-color: #00aecb;
}

.onahodouga-db .prototype-db-menu__layout {
	align-items: stretch;
}

.onahodouga-db .prototype-db-menu__main {
	display: flex;
	flex-direction: column;
}

.onahodouga-db .prototype-db-menu__selected {
	margin-top: auto;
}

.onahodouga-db .prototype-db-menu__header strong {
	color: #087f94;
	font-size: 20px;
}

.onahodouga-db .prototype-db-group h2 {
	border-bottom-color: #00aecb;
}

.onahodouga-db .prototype-db-nkp-note {
	border-left-color: #00aecb;
}

.onahodouga-db .db-type-item:hover,
.onahodouga-db .prototype-db-option:hover,
.onahodouga-db .prototype-db-maker-option:hover {
	background: rgb(0 174 203 / 8%);
}

.onahodouga-db .db-type-item:hover,
.onahodouga-db .prototype-db-maker-option:hover,
.onahodouga-db .prototype-db-select--maker[aria-expanded="true"] {
	color: #008ba3;
	border-color: #45bfd2;
}

.onahodouga-db .db-type-item:hover .db-type-item__icon {
	color: #008ba3;
}

.onahodouga-db .db-type-item.is-selected,
.onahodouga-db .prototype-db-option.is-selected,
.onahodouga-db .prototype-db-maker-option.is-selected,
.onahodouga-db .prototype-db-menu__submit {
	color: #fff;
	background: #00aecb;
	border-color: #00aecb;
}

.onahodouga-db .db-type-item.is-selected .db-type-item__icon,
.onahodouga-db .db-type-item.is-selected .db-type-item__count,
.onahodouga-db .prototype-db-option.is-selected .prototype-db-option__count,
.onahodouga-db .prototype-db-maker-option.is-selected > small {
	color: #008ba3;
}

.onahodouga-db .prototype-db-menu__facet-chip,
.onahodouga-db .prototype-db-menu__maker-chip {
	color: #008ba3;
	background: rgb(0 174 203 / 9%);
	border-color: rgb(0 174 203 / 38%);
}

.db-home-content {
	padding: 48px 22px 24px;
	color: #68757a;
	font-size: 12px;
	text-align: center;
}

.db-home-content p {
	margin: 0;
}

@media (max-width: 799.98px), (max-width: 900px) and (pointer: coarse), (max-width: 900px) and (hover: none) {
	.onahodouga-db .prototype-db-menu__layout {
		grid-template-columns: 1fr;
	}

	.onahodouga-db .db-type-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5px;
	}

	.onahodouga-db .prototype-db-menu__groups,
	.onahodouga-db .prototype-db-maker-panel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.site-branding__row {
		gap: 8px;
	}

	.site-branding__row .site-title {
		min-width: 0;
		flex: 1 1 auto;
	}

	.site-branding__row .site-logo {
		width: 100%;
	}

	.site-db-switch {
		width: 150px;
		min-height: 42px;
		flex-basis: 150px;
		padding: 5px 8px;
	}

}

@media (max-width: 560px) {
	.db-site-header {
		width: 100%;
		margin-top: 0;
	}

	.db-site-header__inner {
		height: auto;
		flex-wrap: wrap;
		align-items: flex-end;
		gap: 10px;
		padding: 10px 12px;
	}

	.db-site-brand {
		width: auto;
		height: auto;
		max-width: calc(100% - 140px);
		flex: 1 1 0;
		margin-left: 0;
	}

	.db-site-brand img {
		width: 100%;
		max-height: none;
	}

	.db-site-header__back {
		width: 122px;
		min-height: 42px;
		padding: 5px 7px;
	}

	.db-site-header__back-copy {
		font-size: 8px;
	}

	.db-header-search {
		order: 3;
		flex-basis: 100%;
		width: 100%;
		min-width: 0;
		margin-left: 0;
	}

	.onahodouga-db .site-shell {
		width: 100%;
		margin: 0;
		box-shadow: none;
	}

	.onahodouga-db .prototype-db-menu.is-db-page-panel {
		padding: 14px 10px;
	}

	.onahodouga-db .prototype-db-menu__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.onahodouga-db .db-type-list,
	.onahodouga-db .prototype-db-menu__groups,
	.onahodouga-db .prototype-db-menu__secondary,
	.onahodouga-db .prototype-db-maker-panel {
		grid-template-columns: 1fr;
	}

	.onahodouga-db .prototype-db-menu__selected,
	.onahodouga-db .prototype-db-menu__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.onahodouga-db .prototype-db-menu__submit {
		width: 100%;
		min-width: 0;
	}

	.db-home-content {
		padding-top: 28px;
	}
}

@media (max-width: 430px) {
	.site-db-switch {
		width: 128px;
		flex-basis: 128px;
	}

	.site-db-switch__logo-subtitle {
		font-size: 8px;
	}

}

@media (max-width: 720px) {
	span[id^="more-"] {
		scroll-margin-top: 220px;
	}

	.site-logo {
		width: 380px;
	}

	.site-navigation__inner {
		padding: 0;
		overflow-x: auto;
	}

	.site-navigation .sub-menu,
	.site-navigation .children {
		position: static;
		display: none;
		box-shadow: none;
	}

	.site-layout {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.pagination {
		align-items: flex-start;
		padding: 16px;
	}

	.pagination .nav-links {
		width: 100%;
	}

	.pagination-jump {
		margin-left: auto;
	}

	.main-content,
	.sidebar {
		width: 100%;
	}

	.sidebar {
		display: block;
	}

	.main-content {
		order: 1;
	}

	.main-content > .pagination:first-of-type {
		display: none;
	}

	/*
	 * Every standard post-listing loop uses the same Nintendo-style paginator.
	 * Expose that existing paginator on mobile for home, archives, taxonomies
	 * and search results without duplicating PHP or URL-building logic. DB mode
	 * keeps its dedicated results layout and pagination treatment.
	 */
	body:not(.onahodouga-db) .main-content > .pagination.pagination--compact:first-of-type {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 16px 4px;
	}

	body:not(.onahodouga-db) .main-content > .pagination--compact .nav-links {
		width: 100%;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 3px;
	}

	body:not(.onahodouga-db) .main-content > .pagination--compact .page-numbers {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		font-size: 13px;
	}

	body:not(.onahodouga-db) .main-content > .pagination--compact .pagination__selector {
		width: 96px;
		height: 44px;
		min-width: 88px;
	}

	body:not(.onahodouga-db) .main-content > .pagination--compact .pagination__status {
		font-size: 13px;
	}

	.sidebar-left {
		order: 2;
	}

	.sidebar-right {
		order: 3;
	}

	.post-list-item {
		padding: 16px;
	}

	.post-list-item__content img {
		width: 100%;
		max-width: 100%;
		height: auto;
		box-sizing: border-box;
		margin-right: 0;
		margin-left: 0;
	}

	.entry {
		padding: 18px 16px 28px;
	}
}

/* Quick review search: shares mega-menu.js panel placement and lifecycle. */
.prototype-navigation__item--quick-search { cursor: pointer; }
.prototype-navigation__item--quick-search:hover,
.prototype-navigation__item--quick-search:focus-visible { background: #414141; }
.prototype-navigation.is-quick-search-open .prototype-navigation__item--quick-search { background: #ff6b95; border-color: #ff86a8; }
.prototype-navigation.is-quick-search-open .prototype-navigation__item--quick-search small { color: #fff; }
.prototype-quick-search-menu { display: none; position: relative; z-index: 30; width: 100%; box-sizing: border-box; color: #333; background: #fff; border: 1px solid #e5e5e5; border-top: 3px solid #ff6b95; }
.prototype-quick-search-menu.is-panel-open { display: block; padding: 20px 26px 24px; }
.directory-page .prototype-quick-search-menu.quick-search-page { display: block; padding: 18px; border-top-width: 2px; }
.directory-page .quick-search-page .quick-search-layout { display: block; }
.directory-page .quick-search-page .quick-search-layout > section:first-child { padding-right: 0; }
.directory-page .quick-search-page .quick-search-presets { position: static; margin-top: 22px; padding: 18px 0 0; border-top: 1px solid #ececef; transform: none; }
.directory-page .quick-search-page .quick-search-presets::before { display: none; }
.directory-page .quick-search-page .quick-search-keyword-field { display: block; position: relative; margin-bottom: 11px; }
.directory-page .quick-search-page .quick-search-keyword { display: block; width: 100%; padding: 8px 10px; border: 1px solid #d9dadd; border-radius: 4px; font: inherit; }
.review-series-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 18px; }
.review-series-directory a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 13px 4px; border-bottom: 1px solid #e9e2e5; color: #333; text-decoration: none; }
.review-series-directory a span { min-width: 0; overflow-wrap: anywhere; }
.review-series-directory a small { flex: 0 0 auto; color: #888; }
.variety-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.variety-directory__item { display: block; min-width: 0; padding-bottom: 12px; border-bottom: 1px solid #e9e2e5; color: #333; text-decoration: none; }
.variety-directory__image { display: block; overflow: hidden; aspect-ratio: 3 / 1; background: #f7f7f7; }
.variety-directory__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.variety-directory__copy { display: block; padding-top: 9px; }
.variety-directory__copy strong { display: block; font-size: 15px; line-height: 1.4; }
.variety-directory__copy small { display: block; margin-top: 4px; color: #777; font-size: 12px; line-height: 1.45; }
.ranking-directory { max-width: 760px; }
.ranking-directory__section { padding: 19px 0 22px; border-bottom: 1px solid #e9e2e5; }
.ranking-directory__section h2 { margin: 0 0 12px; font-size: 17px; line-height: 1.4; }
.ranking-directory .prototype-ranking-feature__image { aspect-ratio: auto; }
.ranking-directory .prototype-ranking-feature__image img { height: auto; }
.ranking-directory__grid { display: grid; gap: 0 12px; }
.ranking-directory__grid--monthly { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ranking-directory__grid--annual { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ranking-directory__grid a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 46px; border-bottom: 1px solid #eee7ea; color: #333; font-size: 14px; text-decoration: none; }
.ranking-directory__grid--monthly .is-unavailable { display: none; min-width: 0; min-height: 46px; border-bottom: 1px solid #eee7ea; color: #bbb; font-size: 14px; cursor: default; pointer-events: none; }
.ranking-directory__grid--annual img { display: none; }
.ranking-directory__archive { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; color: #b8456f; font-weight: 700; text-decoration: none; }
@media (max-width: 716px) {
	.ranking-directory__grid--monthly { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ranking-directory__grid--monthly .is-unavailable { display: flex; align-items: center; justify-content: center; }
	.ranking-directory__grid--annual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ranking-directory__grid--annual a { display: block; min-height: 0; padding: 8px 0 12px; text-align: center; }
	.ranking-directory__grid--annual img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 7; object-fit: cover; }
	.ranking-directory__grid--annual span { display: block; padding-top: 7px; font-weight: 700; }
}
@media (min-width: 717px) and (max-width: 999px) { .variety-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 716px) {
	.variety-directory { display: block; }
	.variety-directory__item { display: block; padding: 18px 0 20px; }
	.variety-directory__image { width: 100%; aspect-ratio: auto; overflow: visible; background: transparent; }
	.variety-directory__image img { width: auto; max-width: 100%; height: auto; object-fit: contain; }
	.variety-directory__copy { min-width: 0; padding-top: 11px; overflow-wrap: anywhere; }
	.variety-directory__copy strong { font-size: 17px; }
	.variety-directory__copy small { font-size: 12px; }
}
.review-series-directory-mobile { display: none; }
@media (max-width: 716px) { .directory-page .prototype-quick-search-menu.quick-search-page { padding: 14px; } .directory-page .quick-search-page .quick-search-presets__grid, .review-series-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); } .directory-page .quick-search-page .quick-search-row { align-items: flex-start; } }
@media (max-width: 716px) {
	.review-series-directory--all { display: none; }
	.review-series-directory-mobile { display: block; }
	.review-series-directory-featured { display: grid; justify-content: center; gap: 16px 8px; margin-bottom: 20px; }
	.review-series-directory-featured:first-child { margin-top: 22px; }
	.review-series-directory-featured--tier-1 { grid-template-columns: repeat(2, minmax(0, 150px)); --series-thumb-size: 100px; }
	.review-series-directory-featured--tier-2 { grid-template-columns: repeat(3, minmax(0, 116px)); --series-thumb-size: 90px; }
	.review-series-directory-featured--tier-3 { grid-template-columns: repeat(3, minmax(0, 116px)); --series-thumb-size: 68px; }
	.review-series-directory-featured__item { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 7px; color: #333; text-align: center; text-decoration: none; }
	.review-series-directory-featured__thumbnail { display: flex; width: min(100%, var(--series-thumb-size)); aspect-ratio: 1; box-sizing: border-box; align-items: center; justify-content: center; overflow: hidden; padding: 6px; border: 1px solid #ededed; border-radius: 50%; background: #fafafa; color: #999; font-size: 11px; }
	.review-series-directory-featured__thumbnail img { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
	.review-series-directory-featured__item:hover .review-series-directory-featured__thumbnail,
	.review-series-directory-featured__item:focus-visible .review-series-directory-featured__thumbnail { border-color: #ff9ab8; }
	.review-series-directory-featured__name { width: 100%; overflow-wrap: anywhere; font-size: 12px; line-height: 1.4; }
	.review-series-directory--remaining { margin-top: 26px; border-top: 1px solid #f1ebee; }
	.review-series-directory--remaining a { gap: 7px; min-height: 44px; box-sizing: border-box; padding: 7px 2px; }
	.review-series-directory--remaining .review-series-directory__thumbnail { display: flex; width: 32px; height: 32px; min-width: 32px; box-sizing: border-box; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #ededed; border-radius: 50%; background: #fafafa; }
	.review-series-directory--remaining .review-series-directory__thumbnail img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
	.review-series-directory--remaining .review-series-directory__name { flex: 1 1 auto; font-size: 12px; line-height: 1.35; }
	.review-series-directory--remaining a small { font-size: 10px; }
}
.quick-search-heading { display: flex; align-items: baseline; gap: 16px; margin-bottom: 12px; }
.quick-search-heading h2 { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.5; }
.quick-search-heading p { margin: 0; color: #777; font-size: 12px; }
.quick-search-keyword-field { display: none; }
@media (min-width: 717px) {
	.prototype-quick-search-menu .quick-search-keyword-field { position: relative; display: block; margin-bottom: 11px; }
	.prototype-quick-search-menu .quick-search-keyword { display: block; width: 100%; height: 36px; box-sizing: border-box; padding: 7px 11px; color: #333; font: inherit; font-size: 13px; background: #fff; border: 1px solid #d9dadd; border-radius: 4px; }
	.prototype-quick-search-menu .quick-search-keyword:focus { border-color: #e984a5; outline: 1px solid #e984a5; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions:not([hidden]) { position: absolute; top: calc(100% + 2px); left: 0; right: 0; z-index: 50; display: block; max-height: 215px; overflow-y: auto; background: #fff; border: 1px solid #dedee1; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions button { display: flex; width: 100%; min-height: 34px; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; color: #363a40; text-align: left; background: #fff; border: 0; border-bottom: 1px solid #f0f0f1; cursor: pointer; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions button:last-child { border-bottom: 0; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions button:hover,
	.prototype-quick-search-menu .quick-search-keyword-suggestions button:focus-visible { background: #fff0f5; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions strong { font-size: 12px; font-weight: 600; }
	.prototype-quick-search-menu .quick-search-keyword-suggestions small { flex: 0 0 auto; color: #7d8389; font-size: 10px; }
}
.prototype-quick-search-menu .quick-search-keyword-field { width: min(100%, 400px); max-width: 400px; min-width: 0; box-sizing: border-box; }
.prototype-quick-search-menu .quick-search-keyword-field .quick-search-keyword { width: 100%; max-width: 400px; }
.quick-search-form__values { display: none; }
.quick-search-rows { display: grid; gap: 8px; }
.quick-search-row { display: flex; align-items: center; min-width: 0; gap: 10px; }
.quick-search-row h3 { flex: 0 0 48px; margin: 0; font-size: 13px; font-weight: 700; }
.quick-search-row__options { display: flex; flex-wrap: wrap; min-width: 0; gap: 5px; }
.prototype-quick-search-menu .quick-search-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; min-height: 28px; padding: 3px 9px; box-sizing: border-box; border: 1px solid #e2e4e7; border-radius: 6px; background: #fafafb; color: #42454a; font: inherit; font-size: 13px; line-height: 1.45; text-decoration: none; font-weight: 400; white-space: normal; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, color 150ms ease; }
.prototype-quick-search-menu .quick-search-chip:hover { color: #a8375b; border-color: #efb1c4; background: #fff1f6; }
.prototype-quick-search-menu .quick-search-chip.is-selected { color: #9e3155; border-color: #ff7da4; background: #ffe8f0; font-weight: 700; }
.quick-search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #ececef; }
.quick-search-actions__status { margin-right: auto; color: #777; font-size: 12px; }
.quick-search-actions__clear,
.quick-search-actions__submit { min-height: 38px; box-sizing: border-box; padding: 7px 16px; font: inherit; font-size: 13px; font-weight: 700; border-radius: 5px; cursor: pointer; }
.quick-search-actions__clear { color: #555; background: #fff; border: 1px solid #d9d9dc; }
.quick-search-actions__submit { min-width: 150px; color: #fff; background: #ff6b95; border: 1px solid #ff5f8d; }
.quick-search-actions__clear:hover:not(:disabled) { background: #f6f6f7; border-color: #bfc0c4; }
.quick-search-actions__submit:hover:not(:disabled) { background: #e95781; border-color: #e95781; }
.quick-search-actions__clear:disabled,
.quick-search-actions__submit:disabled { opacity: .45; cursor: not-allowed; }
.quick-search-presets { margin-top: 18px; padding-top: 16px; border-top: 1px solid #ececef; }
.quick-search-presets__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.prototype-quick-search-menu .quick-search-preset { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 80px; padding: 14px 16px; box-sizing: border-box; border: 1px solid #eddee4; border-radius: 9px; color: #383c43; background: linear-gradient(110deg, #fff4f8, #f7fbfc); text-decoration: none; font-weight: 400; white-space: normal; transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease; }
.quick-search-preset__icon { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; color: #c87994; }
.quick-search-preset__icon svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.quick-search-preset__icon svg.quick-search-preset__icon-tablet { display: none; }
.quick-search-preset__copy { flex: 1; min-width: 0; }
.quick-search-preset__copy strong { display: block; font-size: 15px; line-height: 1.5; }
.quick-search-preset__copy small { display: block; margin-top: 3px; color: #72727a; font-size: 12px; line-height: 1.5; }
.quick-search-preset__condition { color: #996077; font-size: 10px; white-space: nowrap; }
.quick-search-preset__arrow { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border: 1px solid #e5dce1; border-radius: 50%; color: #bd5679; background: #fff; font-size: 14px; }
.prototype-quick-search-menu .quick-search-preset:hover { transform: translateY(-2px); border-color: #e9acc0; box-shadow: 0 4px 12px rgb(125 68 89 / 9%); color: #a8375b; }
.prototype-quick-search-menu .quick-search-chip:focus-visible, .prototype-quick-search-menu .quick-search-preset:focus-visible, .quick-search-actions button:focus-visible { outline: 2px solid #cd4b76; outline-offset: 3px; }
.prototype-quick-search-menu .is-unavailable { opacity: .55; }
@media (min-width: 1000px) {
 .quick-search-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(400px, 1fr); align-items: start; gap: 0; }
 .quick-search-layout > section { min-width: 0; }
 .quick-search-layout > section:first-child { padding-right: 18px; box-sizing: border-box; }
 .quick-search-layout .quick-search-form { width: 100%; min-width: 0; }
 .quick-search-layout > section:first-child .quick-search-heading { display: block; margin-bottom: 10px; }
 .quick-search-layout > section:first-child .quick-search-heading p { margin-top: 2px; line-height: 1.5; }
 .quick-search-row:nth-child(4) .quick-search-row__options { flex-wrap: nowrap; gap: 3px; }
 .quick-search-row:nth-child(4) .quick-search-chip { padding-right: 5px; padding-left: 5px; }
 .quick-search-actions { justify-content: flex-start; flex-wrap: nowrap; }
 .quick-search-actions__submit { order: 1; }
 .quick-search-actions__clear { order: 2; }
 .quick-search-actions__status { order: 3; flex: 0 0 auto; margin: 0 0 0 2px; }
 .quick-search-presets { position: relative; margin-top: 0; padding: 0 0 0 8px; border-top: 0; transform: translateX(-20px); }
 .quick-search-presets::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 1px; background: #e5e5e5; }
 .quick-search-presets .quick-search-heading { display: block; margin-bottom: 10px; }
 .quick-search-presets .quick-search-heading p { margin-top: 2px; line-height: 1.5; }
 .quick-search-presets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
 .prototype-quick-search-menu .quick-search-preset { min-height: 58px; padding: 9px 8px; gap: 5px; }
 .quick-search-preset__icon { flex-basis: 21px; width: 21px; height: 21px; }
 .quick-search-preset__icon svg { width: 17px; height: 17px; }
 .quick-search-preset__copy strong { font-size: 14px; }
 .quick-search-preset__copy small { margin-top: 1px; font-size: 11px; }
 .quick-search-preset__condition { font-size: 9px; }
 .quick-search-preset__arrow { flex-basis: 24px; height: 24px; }
 .site-navigation.is-sticky .prototype-navigation > .prototype-quick-search-menu { position: absolute; top: 100%; left: 0; max-height: 75vh; overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 12px 24px rgb(0 0 0 / 12%); }
}
@media (max-width: 799.98px), (min-width: 481px) and (max-width: 999.98px) and (pointer: coarse), (min-width: 481px) and (max-width: 999.98px) and (hover: none) {
 .quick-search-row:nth-child(4) .quick-search-row__options { flex-wrap: wrap; }
 .quick-search-presets { transform: none; }
}
@media (min-width: 1000px), (min-width: 717px) and (max-width: 999.98px) and (pointer: coarse), (min-width: 717px) and (max-width: 999.98px) and (hover: none) {
 body:not(.onahodouga-db) .quick-search-presets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body:not(.onahodouga-db) .prototype-quick-search-menu .quick-search-preset {
  min-height: 72px;
  gap: 10px;
  padding: 10px 12px;
  color: #34363b;
  background: #fff;
  border-color: #e8dfe3;
  border-left: 3px solid #e4a1b6;
  border-radius: 5px;
  box-shadow: none;
  cursor: pointer;
 }
 body:not(.onahodouga-db) .quick-search-preset__icon { flex-basis: 33px; width: 33px; height: 33px; color: #c87994; }
 body:not(.onahodouga-db) .quick-search-preset__icon svg { width: 25px; height: 25px; }
 body:not(.onahodouga-db) .quick-search-preset__icon.has-tablet-icon svg.quick-search-preset__icon-default { display: none; }
 body:not(.onahodouga-db) .quick-search-preset__icon.has-tablet-icon svg.quick-search-preset__icon-tablet { display: block; }
 body:not(.onahodouga-db) .quick-search-preset__copy strong { font-size: 16px; font-weight: 700; }
 body:not(.onahodouga-db) .quick-search-preset__copy small { color: #7e8087; font-size: 11px; }
 body:not(.onahodouga-db) .quick-search-preset__arrow {
  flex-basis: 18px;
  height: auto;
  color: #c85e83;
  font-size: 19px;
  background: transparent;
  border: 0;
  border-radius: 0;
 }
 body:not(.onahodouga-db) .prototype-quick-search-menu a.quick-search-preset:hover,
 body:not(.onahodouga-db) .prototype-quick-search-menu a.quick-search-preset:focus-visible,
 body:not(.onahodouga-db) .prototype-quick-search-menu a.quick-search-preset:active {
  color: #a8375b;
  background: #fff5f8;
  border-color: #e9acc0;
  box-shadow: none;
  transform: none;
 }
 body:not(.onahodouga-db) .prototype-quick-search-menu .quick-search-preset.is-unavailable { cursor: default; }
}
@media (max-width: 799.98px), (max-width: 999.98px) and (pointer: coarse), (max-width: 999.98px) and (hover: none) {
 .quick-search-preset__condition { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .prototype-quick-search-menu .quick-search-chip, .prototype-quick-search-menu .quick-search-preset { transition: none; }
 .prototype-quick-search-menu .quick-search-preset:hover { transform: none; }
}

@media (max-width: 716px) {
 .directory-page .quick-search-page .quick-search-presets .quick-search-heading { display: block; margin-bottom: 10px; }
 .directory-page .quick-search-page .quick-search-presets .quick-search-heading p { margin-top: 3px; line-height: 1.45; }
 .directory-page .quick-search-page .quick-search-presets__grid { grid-template-columns: minmax(0, 1fr); gap: 7px; }
 .directory-page .quick-search-page .quick-search-preset {
  min-height: 72px;
  gap: 10px;
  padding: 10px 12px;
  color: #34363b;
  background: #fff;
  border-color: #e8dfe3;
  border-left: 3px solid #e4a1b6;
  border-radius: 5px;
  box-shadow: none;
 }
 .directory-page .quick-search-page .quick-search-preset__icon { flex-basis: 33px; width: 33px; height: 33px; color: #c87994; }
 .directory-page .quick-search-page .quick-search-preset__icon svg { width: 25px; height: 25px; }
 .directory-page .quick-search-page .quick-search-preset__copy strong { font-size: 15px; font-weight: 700; text-wrap: balance; }
 .directory-page .quick-search-page .quick-search-preset__copy small { color: #7e8087; font-size: 11px; }
 .directory-page .quick-search-page .quick-search-preset__arrow { flex-basis: 18px; height: auto; color: #c85e83; border: 0; border-radius: 0; background: transparent; font-size: 19px; }
 .directory-page .quick-search-page .quick-search-preset__icon.has-tablet-icon .quick-search-preset__icon-default,
 .search-results-intro__preset-icon.has-tablet-icon .quick-search-preset__icon-default { display: none; }
 .directory-page .quick-search-page .quick-search-preset__icon.has-tablet-icon .quick-search-preset__icon-tablet,
 .search-results-intro__preset-icon.has-tablet-icon .quick-search-preset__icon-tablet { display: block; }
 .directory-page .quick-search-page a.quick-search-preset:hover,
 .directory-page .quick-search-page a.quick-search-preset:focus-visible,
 .directory-page .quick-search-page a.quick-search-preset:active { color: #a8375b; background: #fff5f8; border-color: #e9acc0; box-shadow: none; transform: none; }
}

.mobile-compact-header { display: none; }

.mobile-scroll-top {
	display: none;
}

/* Smartphone foundation: header, main content and footer only. */
@media (max-width: 716px) {
	.mobile-scroll-top {
		position: fixed;
		right: 14px;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
		z-index: 850;
		display: grid;
		width: 44px;
		height: 44px;
		padding: 0;
		place-items: center;
		color: #555;
		font: inherit;
		font-size: 22px;
		line-height: 1;
		background: rgb(250 250 250 / 94%);
		border: 1px solid #d2d2d2;
		border-radius: 50%;
		box-shadow: 0 2px 6px rgb(0 0 0 / 9%);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(6px);
		transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
		cursor: pointer;
	}

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

	.mobile-scroll-top:focus-visible {
		outline: 2px solid #777;
		outline-offset: 2px;
	}

	.mobile-compact-header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 900;
		display: block;
		width: 100%;
		color: rgb(67 57 78);
		background: rgb(255 255 255 / 5%);
		border-bottom: 0;
		box-shadow: 0 3px 8px rgb(0 0 0 / 8%);
		-webkit-backdrop-filter: blur(8px) saturate(120%);
		backdrop-filter: blur(8px) saturate(120%);
		transform: translateY(-100%);
		transition: transform 0.24s ease;
	}

	body.has-mobile-compact-header .mobile-compact-header {
		transform: translateY(0);
	}

	body.is-mobile-compact-hidden .mobile-compact-header:not(.is-search-open) {
		transform: translateY(-100%);
	}

	.mobile-compact-header__bar {
		display: flex;
		height: 64px;
		align-items: center;
		justify-content: space-between;
		padding: 0 72px 0 16px;
	}

	.mobile-compact-header__home {
		display: flex;
		min-width: 44px;
		height: 44px;
		align-items: center;
		padding-left: 4px;
		color: rgb(67 57 78);
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		text-shadow: 0 0 2px rgb(255 255 255 / 80%);
		transform: translateY(4px);
	}

	.mobile-compact-header__search-toggle {
		display: grid;
		width: 44px;
		height: 44px;
		padding: 0;
		place-items: center;
		color: rgb(67 57 78);
		background: transparent;
		border: 0;
		cursor: pointer;
		transform: translateY(4px);
	}

	.mobile-compact-header__search-toggle svg {
		width: 24px;
		height: 24px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		filter: drop-shadow(0 0 2px rgb(255 255 255 / 80%));
	}

	.mobile-compact-header__search {
		padding: 0 10px 9px;
	}

	.mobile-compact-header__search[hidden] { display: none; }

	.mobile-compact-header__search form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 56px 34px;
		height: 36px;
	}

	.mobile-compact-header__search input,
	.mobile-compact-header__search button {
		box-sizing: border-box;
		min-width: 0;
		height: 36px;
		font: inherit;
	}

	.mobile-compact-header__search input {
		padding: 6px 9px;
		font-size: 12px;
		background: #fff;
		border: 1px solid #d9dadd;
		border-right: 0;
	}

	.mobile-compact-header__search button {
		padding: 0;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		background: #ff6b95;
		border: 1px solid #ff6b95;
	}

	.mobile-compact-header__search .mobile-compact-header__search-close {
		color: #555;
		font-size: 19px;
		font-weight: 400;
		background: #fff;
		border-color: #d9dadd;
		border-left: 0;
	}

	body.has-mobile-compact-header .mobile-menu-toggle small {
		display: none;
	}

	body.has-mobile-compact-header .mobile-menu-toggle {
		color: rgb(67 57 78);
	}

	body.has-mobile-compact-header .mobile-menu-toggle__lines {
		filter: drop-shadow(0 0 2px rgb(255 255 255 / 80%));
	}

	.site-shell {
		width: 100%;
		max-width: none;
		margin: 0;
	}

	.site-header__inner {
		gap: 3px;
		padding: 4px 14px 5px;
	}

	.site-header {
		background-color: #fff;
		background-image: url("assets/images/00bg.webp");
		background-position: center 72%;
		background-size: 100% auto;
		background-repeat: no-repeat;
	}

	.site-title {
		line-height: 0;
	}

	.site-branding {
		margin-left: 0;
	}

	.site-branding__row {
		gap: 10px;
	}

	.site-branding__row .site-title {
		min-width: 0;
		flex: 1 1 auto;
	}

	.site-branding__row .site-logo {
		width: min(100%, 229px);
	}

	.site-db-switches {
		display: none;
	}

	.mobile-menu-toggle {
		position: fixed;
		top: 12px;
		right: 12px;
		z-index: 1000;
		display: flex;
		width: 48px;
		height: 48px;
		align-items: center;
		justify-content: center;
		color: #333;
		background: transparent;
		border: 0;
		transition: none;
	}

	.mobile-menu-toggle__lines {
		position: absolute;
		top: 12px;
		left: 50%;
		display: grid;
		width: 30px;
		height: 24px;
		align-content: space-between;
		transform: translateX(-50%);
	}

	.mobile-menu-toggle__lines > span {
		display: block;
		height: 3px;
		background: currentColor;
	}

	.mobile-menu-toggle small {
		position: absolute;
		top: 39px;
		bottom: auto;
		left: 0;
		width: 100%;
		font-size: 8px;
		line-height: 1;
		text-align: center;
	}

	.site-navigation,
	.sidebar-left,
	.sidebar-right {
		display: none;
	}

	.site-header .header-search {
		position: relative;
		display: block;
		width: 100%;
		min-width: 0;
		background: transparent;
	}

	.site-header .header-search::before {
		content: "";
		position: absolute;
		top: 10px;
		left: 13px;
		z-index: 1;
		width: 11px;
		height: 11px;
		border: 1.7px solid #555;
		border-radius: 50%;
		pointer-events: none;
	}

	.site-header .header-search::after {
		content: "";
		position: absolute;
		top: 22px;
		left: 24px;
		z-index: 1;
		width: 7px;
		height: 1.7px;
		background: #555;
		transform: rotate(45deg);
		transform-origin: left center;
		pointer-events: none;
	}

	.site-header .header-search__input {
		height: 36px;
		padding: 7px 66px 7px 38px;
		font-size: 13px;
		background: #fff;
		border: 1px solid #d9dadd;
		border-radius: 2px;
	}

	.site-header .header-search__button {
		position: absolute;
		top: 0;
		right: 0;
		display: grid;
		place-items: center;
		width: 58px;
		height: 36px;
		padding: 0;
		color: #fff;
		background: #ff6b95;
		border: 1px solid #ff6b95;
	}

	.site-header .header-search__button:hover,
	.site-header .header-search__button:focus-visible {
		color: #fff;
		background: #e95781;
		border-color: #e95781;
	}

	.site-header .header-search__button span {
		display: inline;
		font-size: 13px;
		font-weight: 700;
	}

	.site-header .header-search__icon {
		display: none;
	}

	.site-header .header-search {
		display: none;
	}

	.site-layout {
		width: 100%;
		max-width: none;
		min-width: 0;
		margin-inline: 0;
		padding-top: 12px;
		padding-inline: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "main";
	}

	.post-list-item {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: start;
		column-gap: 12px;
		row-gap: 7px;
		padding: 14px 12px 16px;
		background: #fff;
		border-bottom: 1px solid #e7e7e7;
	}

	.post-list-item:has(.post-list-item__content img) {
		grid-template-columns: min(46%, 190px) minmax(0, 1fr);
	}
	.post-list-item:has(> .post-list-item__mobile-column) {
		grid-template-columns: min(46%, 190px) minmax(0, 1fr);
		grid-template-rows: auto;
	}
	.post-list-item__mobile-column {
		display: flex;
		flex-direction: column;
		gap: 7px;
		min-width: 0;
	}
	.post-list-item__mobile-column > .post-list-item__meta,
	.post-list-item__mobile-column > .post-list-item__mobile-meta {
		align-self: stretch;
		line-height: 16px;
		min-height: 16px;
	}

	.post-list-item__mobile-meta { grid-column: 2; }
	.post-title-row { grid-column: 1 / -1; }
	.post-list-item:has(.post-list-item__content img) .post-title-row { grid-column: 2; }

	.post-list-item__mobile-meta {
		position: relative;
		display: flex;
		grid-row: 1;
		min-width: 0;
		align-items: center;
		justify-content: space-between;
		gap: 6px;
	}

	.post-list-item__mobile-date {
		display: block;
		min-width: 0;
		color: #969ba0;
		font-size: 10px;
		font-variant-numeric: tabular-nums;
		line-height: 16px;
	}

	.post-title-row {
		display: block;
		grid-row: 2;
		min-width: 0;
	}

	.post-comment-count {
		display: none;
	}

	.post-list-item__title {
		display: -webkit-box;
		margin: 0;
		overflow: hidden;
		font-size: 13px;
		line-height: 1.5;
		text-align: left;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.post-list-item__content {
		display: block;
		grid-column: 1;
		grid-row: 2;
		min-width: 0;
		margin: 0;
	}

	.post-list-item:not(:has(.post-list-item__content img)) .post-list-item__content {
		display: none;
	}

	.post-list-item__content > * {
		display: none;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments {
		position: absolute;
		top: -5px;
		right: 0;
		z-index: 2;
		display: flex;
		height: 23px;
		box-sizing: border-box;
		align-items: center;
		gap: 4px;
		padding: 0 8px;
		color: #555d64;
		font-size: 10px;
		line-height: 1;
		text-decoration: none;
		white-space: nowrap;
		background: #fff;
		border: 1px solid #efc2cf;
		border-radius: 7px;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments strong {
		font-size: 12px;
		font-weight: 700;
		font-variant-numeric: tabular-nums;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments span {
		font-weight: 400;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments::before,
	.home:not(.onahodouga-db) .post-list-item__mobile-comments::after {
		position: absolute;
		left: 40%;
		width: 0;
		height: 0;
		content: "";
		border-style: solid;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments::before {
		bottom: -4px;
		border-width: 4px 4px 0 0;
		border-color: #efc2cf transparent transparent transparent;
	}

	.home:not(.onahodouga-db) .post-list-item__mobile-comments::after {
		bottom: -2px;
		margin-left: 1px;
		border-width: 3px 3px 0 0;
		border-color: #fff transparent transparent transparent;
	}

	.post-list-item__content .more-link {
		display: none !important;
	}

	.post-list-item .post-list-item__content > :has(img) {
		display: block;
		margin: 0;
		font-size: 0;
		line-height: 0;
	}

	.post-list-item__content > :has(img) ~ :has(img) {
		display: none;
	}

	.post-list-item__content img {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin: 0;
		object-fit: contain;
	}
	body:is(.archive, .search, .home.paged) .post-list-item__mobile-column--left .post-list-item__content img {
		aspect-ratio: 620 / 360;
		object-position: center;
	}

	.post-list-item__meta {
		grid-column: 1;
		grid-row: 1;
		align-self: baseline;
		min-width: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
		color: #727b82;
		font-size: 10.5px;
		line-height: 1.45;
		text-overflow: ellipsis;
		white-space: nowrap;
		border: 0;
	}

	.post-list-item__meta > span {
		display: none;
	}

	.post-list-item__meta a { color: inherit; text-decoration: none; background: none; padding: 0; border: 0; }
	.post-list-item__meta a:hover { text-decoration: underline; }
	/* A single classification label joins the thumbnail frame. */
	.post-list-item__mobile-column--left { gap: 0; }
	.post-list-item__mobile-column--left > .post-list-item__meta { display: none; }
	.post-list-item__category-tab {
		--category-tab-bg: #f1f4f5;
		position: relative;
		z-index: 1;
		align-self: flex-start;
		width: fit-content;
		max-width: calc(100% - 4px);
		box-sizing: border-box;
		margin-bottom: -1px;
		padding: 3px 5px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		font-size: 10.5px;
		line-height: 16px;
		color: #626970;
		text-decoration: none;
		background: var(--category-tab-bg);
		border: 1px solid #e1e4e7;
		border-bottom-color: var(--category-tab-bg);
		border-radius: 3px 3px 0 0;
	}
	.post-list-item__category-tab a,
	.post-list-item__category-tab a:hover,
	.post-list-item__category-tab a:focus,
	.post-list-item__category-tab a:active {
		color: inherit;
		text-decoration: none;
	}
	.post-list-item__category-tab[data-tone="review"] { --category-tab-bg: #faedf1; }
	.post-list-item__category-tab[data-tone="ranking"] { --category-tab-bg: #faf3de; }
	.post-list-item__category-tab[data-tone="survey"] { --category-tab-bg: #eaf1fa; }
	.post-list-item__category-tab[data-tone="topics"] { --category-tab-bg: #edf3f5; }
	.post-list-item__category-tab[data-tone="project"] { --category-tab-bg: #f2edf8; }
	.post-list-item__category-main,
	.post-list-item__category-detail {
		color: inherit;
		font-weight: 500;
	}
	.post-list-item__mobile-column--left .post-list-item__content img {
		box-sizing: border-box;
		border: 1px solid #e1e4e7;
		border-radius: 0;
	}
	.post-list-item::after { content: none; }
	.home:not(.onahodouga-db) .post-list-item.is-card-pressing::after {
		position: absolute;
		inset: 0;
		z-index: 3;
		display: block;
		content: "";
		background: rgb(0 102 204 / 14%);
		pointer-events: none;
	}
	.home:not(.onahodouga-db) .post-list-item__title a,
	.home:not(.onahodouga-db) .post-list-item__content a {
		-webkit-tap-highlight-color: transparent;
	}

	.post-list-item.has-separated-title .post-list-item__title {
		display: block;
		overflow: visible;
	}

	.post-list-item.has-separated-title .post-list-item__title a {
		display: grid;
		gap: 5px;
	}

	.post-list-item__product-name,
	.post-list-item__review-title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
	}

	.post-list-item__product-name {
		font-size: 13.5px;
		font-weight: 700;
		line-height: 1.45;
		-webkit-line-clamp: 3;
	}

	.post-list-item__review-title {
		color: #555;
		font-size: 12.5px;
		font-weight: 400;
		line-height: 1.5;
		-webkit-line-clamp: 4;
	}

	/* Give only the newest post a wider visual lead on the mobile TOP. */
	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 10px;
		row-gap: 8px;
		padding-top: 16px;
		padding-bottom: 19px;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type > .post-list-item__mobile-column {
		display: contents;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__content {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__category-tab {
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		width: max-content;
		max-width: min(160px, 45vw);
		margin: 0;
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
		overflow-wrap: anywhere;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__mobile-meta {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__mobile-comments {
		position: relative;
		top: auto;
		right: auto;
		margin-left: auto;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-title-row {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__title {
		font-size: 15px;
		line-height: 1.5;
		-webkit-line-clamp: 4;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__product-name {
		font-size: 15.5px;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type .post-list-item__review-title {
		font-size: 13px;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-home-search {
		display: block;
		position: relative;
		box-sizing: border-box;
		padding: 14px;
		margin: 18px 12px 22px;
		color: #f2f3f4;
		background: #303136;
		border: 1px solid #27282c;
		border-radius: 6px;
		overflow: hidden;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-home-search::before {
		content: none;
	}

	.mobile-home-search__header {
		margin: 0;
		padding: 14px 12px 12px;
		background: #303136;
		border-top: 3px solid #ff6b95;
	}

	.mobile-home-search__header h2 {
		margin: 0;
		color: #fff;
		font-size: 19px;
		line-height: 1.4;
	}

	.mobile-home-search__header p {
		margin: 3px 0 0;
		color: #cfd0d4;
		font-size: 11.5px;
		line-height: 1.5;
	}

	.mobile-home-search__body {
		position: relative;
		z-index: 1;
		padding: 0;
		color: #f2f3f4;
		background: transparent;
		border: 0;
	}

	.mobile-home-search__topline {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 7px;
		margin-bottom: 8px;
	}

	.mobile-home-search__title {
		display: flex;
		align-items: center;
		gap: 5px;
		margin: 0;
		white-space: nowrap;
		color: #f4f4f5;
		font-size: 13.5px;
		font-weight: 700;
		line-height: 1.4;
	}

	.mobile-home-search__title svg {
		width: 15px;
		height: 15px;
		flex: 0 0 auto;
		fill: none;
		stroke: #e95781;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mobile-home-search__keyword-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 2px;
		margin-bottom: 10px;
	}

	.mobile-home-search__keyword {
		display: block;
		min-width: 0;
		margin: 0;
	}

	.mobile-home-search__keyword > span {
		display: block;
		margin-bottom: 6px;
		color: #4b4c52;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
	}

	.mobile-home-search__keyword input {
		width: 100%;
		min-height: 40px;
		box-sizing: border-box;
		padding: 8px 10px;
		color: #25262a;
		font: inherit;
		font-size: 14px;
		background: #fff;
		border: 1px solid #d7d8dc;
		border-radius: 3px;
		outline: 0;
	}

	.mobile-home-search__submit.quick-search-actions__submit {
		width: 56px;
		min-width: 56px;
		min-height: 40px;
		padding: 6px 8px;
		color: #fff;
		font-size: 13px;
		font-weight: 700;
		background: #d65378;
		border: 1px solid #c94a6f;
		border-radius: 3px;
		box-shadow: none;
	}

	.mobile-home-search__submit.quick-search-actions__submit:hover,
	.mobile-home-search__submit.quick-search-actions__submit:focus-visible {
		background: #c8496e;
		border-color: #bb4064;
	}

	.mobile-home-search__submit.quick-search-actions__submit:focus-visible {
		outline: 2px solid rgba(255, 255, 255, 0.78);
		outline-offset: 2px;
	}

	.mobile-home-search__submit.quick-search-actions__submit:active {
		background: #bb4064;
		border-color: #ae385b;
	}

	.mobile-home-search__submit.quick-search-actions__submit:disabled {
		color: #fff;
		background: #d65378;
		border-color: #c94a6f;
		opacity: 1;
		cursor: default;
	}

	.mobile-home-search__keyword input:focus {
		border-color: #ff86a9;
		box-shadow: 0 0 0 2px rgba(255, 107, 149, 0.18);
	}

	.mobile-home-search__keyword input::placeholder {
		color: #8a8c92;
	}

	.mobile-home-search__groups {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		flex: 0 1 170px;
		gap: 4px;
		width: 170px;
		max-width: 170px;
		margin: 0;
	}

	.mobile-home-search__group {
		display: block;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.mobile-home-search__group > span {
		display: block;
		margin-bottom: 5px;
		color: #4b4c52;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
	}

	.mobile-home-search__group select {
		width: 100%;
		min-width: 0;
		min-height: 30px;
		box-sizing: border-box;
		padding: 4px 20px 4px 9px;
		color: #684651;
		font: inherit;
		font-size: 11.5px;
		font-weight: 600;
		background: #fff0f4;
		border: 1px solid transparent;
		border-radius: 999px;
		box-shadow: none;
	}

	.mobile-home-search__group select:focus {
		border-color: #dd7899;
		outline: 1px solid #dd7899;
	}

	.mobile-home-search__group legend {
		margin-bottom: 6px;
		padding: 0;
		color: #4b4c52;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
	}

	.mobile-home-search__chips {
		display: flex;
		flex-wrap: wrap;
		gap: 6px 5px;
	}

	.mobile-home-search .quick-search-chip {
		display: inline-flex;
		min-width: 48px;
		min-height: 38px;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		padding: 6px 10px;
		color: #414248;
		font: inherit;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.35;
		background: #fff;
		border: 1px solid #d4d5d9;
		border-radius: 4px;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
	}

	.mobile-home-search .quick-search-chip:hover,
	.mobile-home-search .quick-search-chip:focus-visible {
		color: #9f3156;
		background: #fff5f8;
		border-color: #dd7899;
	}

	.mobile-home-search .quick-search-chip.is-selected {
		color: #2f2630;
		font-weight: 700;
		background: #ffabc4;
		border-color: #ff86a9;
	}

	.mobile-home-search .quick-search-chip.is-unavailable {
		opacity: 0.45;
		cursor: default;
	}

	.mobile-home-search__types {
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.mobile-home-search__types legend {
		margin: 0 0 5px;
		padding: 0;
		color: #4b4c52;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
	}

	.mobile-home-search__type-grid {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 3px;
	}

	.mobile-home-search .mobile-home-search__type.quick-search-chip {
		display: flex;
		width: 100%;
		min-width: 0;
		min-height: 51px;
		flex-direction: column;
		gap: 1px;
		padding: 3px 1px;
		color: #eceef1;
		font-size: 10.5px;
		font-weight: 600;
		background: transparent;
		border: 0;
		border-radius: 2px;
	}

	.mobile-home-search__type-icon {
		display: flex;
		width: 25px;
		height: 25px;
		align-items: center;
		justify-content: center;
		color: #d9dde4;
	}

	.mobile-home-search__type-icon svg {
		width: 23px;
		height: 23px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mobile-home-search__type-label {
		display: block;
		white-space: nowrap;
	}

	.mobile-home-search .mobile-home-search__type.quick-search-chip:hover,
	.mobile-home-search .mobile-home-search__type.quick-search-chip:focus-visible {
		color: #fff;
		background: rgba(255, 107, 149, 0.16);
		border-color: rgba(255, 134, 169, 0.55);
	}

	.mobile-home-search .mobile-home-search__type.quick-search-chip:focus-visible {
		outline: 2px solid rgba(235, 127, 163, 0.5);
		outline-offset: 1px;
	}

	.mobile-home-search .mobile-home-search__type.quick-search-chip.is-selected {
		color: #8f3152;
		background: #ffe8ef;
		border-color: #eea0ba;
	}

	.mobile-home-search .mobile-home-search__type.quick-search-chip.is-selected .mobile-home-search__type-icon {
		color: #df4d7b;
	}

	.mobile-home-search__db {
		position: relative;
		z-index: 1;
		margin-top: 14px;
		padding: 11px 8px 12px;
		background:
			radial-gradient(circle at 19% 46%, rgba(255, 255, 255, 0.76) 0, rgba(255, 255, 255, 0) 42%),
			linear-gradient(101deg, #dff3ff 0%, #eaf7ff 54.8%, #fff 55%, #f7fbff 100%);
		border-top: 1px solid #c8deef;
		border-bottom: 1px solid #c8deef;
		border-radius: 4px;
		overflow: hidden;
	}

	.mobile-home-search__db::after {
		content: none;
	}

	.mobile-home-search__db > a {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: minmax(0, 55%) minmax(0, 45%);
		gap: 0;
		align-items: center;
		color: #303b50;
		text-decoration: none;
	}

	.mobile-home-search__db img {
		display: block;
		width: calc(100% - 8px);
		max-width: 170px;
		height: auto;
		margin: 0 auto;
	}

	.mobile-home-search__db-copy {
		display: block;
		min-width: 0;
		padding-left: 5px;
	}

	.mobile-home-search__db-copy strong,
	.mobile-home-search__db-copy small,
	.mobile-home-search__db-copy b {
		display: block;
	}

	.mobile-home-search__db-lead {
		display: block;
		margin-bottom: 3px;
		color: #3177ac;
		font-size: 10.5px;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
	}

	.mobile-home-search__db-copy strong {
		color: #24364b;
		font-size: 12.5px;
		font-weight: 800;
		line-height: 1.35;
		text-align: center;
	}

	.mobile-home-search__db-copy small {
		margin-top: 3px;
		color: #68758a;
		font-size: 9px;
		line-height: 1.4;
		text-align: center;
	}

	.mobile-home-search__db-copy b {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-height: 31px;
		box-sizing: border-box;
		margin-top: 6px;
		padding: 5px 4px;
		color: #fff;
		font-size: 9.5px;
		font-weight: 700;
		line-height: 1.4;
		white-space: nowrap;
		background: #347fba;
		border: 1px solid #2f75ad;
		border-radius: 4px;
		transition: background-color 0.16s ease, border-color 0.16s ease;
	}

	.mobile-home-search__db > a:hover .mobile-home-search__db-copy b,
	.mobile-home-search__db > a:focus-visible .mobile-home-search__db-copy b,
	.mobile-home-search__db > a:active .mobile-home-search__db-copy b {
		color: #fff;
		background: #266ea7;
		border-color: #23669b;
	}

	.mobile-home-search__actions.quick-search-actions {
		display: block;
		margin-top: 12px;
		padding-top: 12px;
		border-top-color: #dedfe2;
	}

	.mobile-home-search__actions .quick-search-actions__status {
		grid-column: 1 / -1;
		margin: 0;
		color: #72747b;
		font-size: 11px;
	}

	.mobile-home-search__actions .is-hidden {
		display: none;
	}

	.mobile-home-search__actions .quick-search-actions__clear,
	.mobile-home-search__actions .quick-search-actions__submit {
		min-height: 42px;
		padding: 7px 12px;
		border-radius: 3px;
	}

	.mobile-home-search__actions .quick-search-actions__clear.is-hidden + .quick-search-actions__submit {
		grid-column: 1 / -1;
	}

	.mobile-home-search__actions .quick-search-actions__clear {
		color: #55575e;
		background: #fff;
		border-color: #cfd0d4;
	}

	.mobile-home-search__actions .quick-search-actions__submit {
		width: 100%;
		min-width: 0;
	}

	.mobile-home-search__links {
		display: block;
		margin-top: 9px;
		padding-top: 9px;
		border-top: 1px solid #dedfe2;
	}

	.mobile-home-search__links a,
	.mobile-home-search__links .is-unavailable {
		display: flex;
		min-height: 34px;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 5px 9px;
		color: #9f3156;
		font-size: 12px;
		font-weight: 600;
		line-height: 1.4;
		text-decoration: none;
		background: #fff7f9;
		border: 1px solid #efb5c8;
		border-radius: 2px;
	}

	.mobile-home-search__links a span {
		color: #ff87aa;
	}

	.mobile-home-search__links a:hover,
	.mobile-home-search__links a:focus-visible,
	.mobile-home-search__links a:active {
		color: #ffabc4;
	}

	.mobile-home-search__links .is-unavailable {
		color: #96989f;
	}

	.home:not(.paged):not(.onahodouga-db) .main-content > .pagination.pagination--compact {
		display: none;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-home-more {
		display: flex;
		width: calc(100% - 24px);
		min-height: 44px;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		gap: 7px;
		margin: 18px 12px 26px;
		padding: 9px 14px;
		color: #3f4144;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.4;
		text-decoration: none;
		background: #fffafa;
		border: 1px solid #e3e4e6;
		border-bottom-color: #f3a5bd;
		border-radius: 2px;
		-webkit-tap-highlight-color: transparent;
		transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-home-more span {
		color: #e95781;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-home-more:hover,
	.home:not(.paged):not(.onahodouga-db) .mobile-home-more:focus-visible,
	.home:not(.paged):not(.onahodouga-db) .mobile-home-more:active {
		color: #e95781;
		background: #fff3f6;
		border-color: #f3a5bd;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-monthly-popular {
		display: block;
		box-sizing: border-box;
		margin-top: 0;
		padding: 14px 12px 26px;
		border-top: 1px solid #ececef;
	}

	.home:not(.paged):not(.onahodouga-db) .mobile-latest-ranking {
		display: block;
		box-sizing: border-box;
		margin-top: -8px;
		padding: 14px 12px 13px;
		border-top: 1px solid #ececef;
	}

	.mobile-latest-ranking__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		margin-bottom: 10px;
	}

	.mobile-latest-ranking__title,
	.mobile-monthly-popular__title {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 0 10px;
		color: #34363a;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.45;
	}

	.mobile-latest-ranking__title {
		min-width: 0;
		margin-bottom: 0;
	}

	.mobile-monthly-popular__title {
		margin-bottom: 10px;
	}

	.mobile-latest-ranking__title-icon,
	.mobile-monthly-popular__title-icon {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mobile-latest-ranking__title-icon {
		color: #a98a4d;
	}

	.mobile-monthly-popular__title-icon {
		color: #d94f77;
	}

	.mobile-latest-ranking__grid {
		display: flex;
		gap: 7px;
		margin: 0;
		padding: 0 0 10px;
		list-style: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.mobile-latest-ranking__item {
		flex: 0 0 clamp(96px, 29vw, 112px);
		min-width: 0;
		margin: 0;
		padding: 0;
		scroll-snap-align: start;
	}
	.mobile-latest-ranking__count--mobile { display: none; }
	.mobile-latest-ranking__count--tablet { display: inline; }
	.mobile-latest-ranking__item:nth-child(n + 4) { display: block; }
	.mobile-latest-ranking__item:nth-child(n + 4) .mobile-latest-ranking__rank { background: #79828b; }

	.mobile-latest-ranking__item > a {
		display: block;
		color: #34363a;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-latest-ranking__media {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		aspect-ratio: 1 / 1;
		overflow: hidden;
		background: #fafafa;
	}

	.mobile-latest-ranking__media img {
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		object-fit: contain;
	}

	.mobile-latest-ranking__rank {
		position: absolute;
		top: 4px;
		left: 4px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		box-sizing: border-box;
		padding: 0;
		color: #fff;
		font-size: 13px;
		font-weight: 800;
		line-height: 1;
		text-align: center;
		background: #a88a43;
		border: 1px solid #fff;
		border-radius: 50%;
		box-shadow: 0 1px 2px rgb(20 21 23 / 24%);
	}

	.mobile-latest-ranking__item--2 .mobile-latest-ranking__rank {
		color: #fff;
		background: #969da4;
		border-color: #fff;
	}

	.mobile-latest-ranking__item--3 .mobile-latest-ranking__rank {
		color: #fff;
		background: #98684e;
		border-color: #fff;
	}

	.mobile-latest-ranking__name {
		display: -webkit-box;
		overflow: hidden;
		margin-top: 5px;
		color: #34363a;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.mobile-latest-ranking__more {
		display: block;
		flex: 0 0 auto;
		margin: 0;
		color: #d94f77;
		font-size: 11.5px;
		font-weight: 700;
		line-height: 1.4;
		text-decoration: none;
	}

	.mobile-latest-ranking__item > a:hover .mobile-latest-ranking__name,
	.mobile-latest-ranking__item > a:focus-visible .mobile-latest-ranking__name,
	.mobile-latest-ranking__more:hover,
	.mobile-latest-ranking__more:focus-visible {
		color: #e95781;
	}

	.mobile-monthly-popular__grid {
		display: flex;
		gap: 10px;
		margin: 0;
		padding: 0 0 10px;
		list-style: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.mobile-monthly-popular__item {
		flex: 0 0 44%;
		min-width: 0;
		margin: 0;
		padding: 0;
		scroll-snap-align: start;
	}

	.mobile-monthly-popular__media {
		position: relative;
		width: 100%;
		aspect-ratio: 620 / 360;
		overflow: hidden;
		background: #f5f5f5;
	}

	.mobile-monthly-popular__image-link,
	.mobile-monthly-popular__text-link {
		display: block;
		min-width: 0;
		color: #34363a;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-monthly-popular__image {
		display: block;
		width: 100%;
		height: 100%;
	}

	.mobile-monthly-popular__image img {
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		object-fit: cover;
	}

	.mobile-monthly-popular__rank,
	.mobile-monthly-popular__comments {
		position: absolute;
		top: 0;
		z-index: 2;
		box-sizing: border-box;
		white-space: nowrap;
	}

	.mobile-monthly-popular__rank {
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		padding: 0;
		color: #555;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
		background: rgb(255 255 255 / 92%);
		border: 1px solid var(--color-line);
		border-radius: 0;
		box-shadow: none;
	}

	.mobile-monthly-popular__rank--1,
	.mobile-monthly-popular__rank--2 {
		color: #fff;
		background: #ff6b95;
		border-color: #ff6b95;
	}

	.mobile-monthly-popular__rank--3 {
		color: #fff;
		background: #ff6b95;
		border-color: #ff6b95;
	}

	.mobile-monthly-popular__comments {
		right: 0;
		display: flex;
		align-items: baseline;
		gap: 2px;
		padding: 3px 6px 2px;
		color: #333;
		font-size: 11px;
		line-height: 1.3;
		text-decoration: none;
		background: rgb(255 255 255 / 88%);
		border-bottom: 2px solid #ff6b95;
	}

	.mobile-monthly-popular__comments strong {
		color: #333;
		font-size: 15px;
		font-weight: 700;
	}

	.mobile-monthly-popular__comments span {
		font-size: 10px;
	}

	.mobile-monthly-popular__text-link {
		margin-top: 6px;
	}

	.mobile-monthly-popular__product-name,
	.mobile-monthly-popular__article-title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
	}

	.mobile-monthly-popular__product-name {
		color: #303236;
		font-size: 12.5px;
		font-weight: 700;
		line-height: 1.4;
		-webkit-line-clamp: 2;
	}

	.mobile-monthly-popular__article-title {
		margin-top: 3px;
		color: #696d72;
		font-size: 11.5px;
		font-weight: 400;
		line-height: 1.4;
		-webkit-line-clamp: 2;
	}

	.mobile-monthly-popular__image-link:hover img,
	.mobile-monthly-popular__image-link:focus-visible img {
		opacity: 0.88;
	}

	.mobile-monthly-popular__comments:hover,
	.mobile-monthly-popular__comments:focus-visible,
	.mobile-monthly-popular__text-link:hover .mobile-monthly-popular__product-name,
	.mobile-monthly-popular__text-link:focus-visible .mobile-monthly-popular__product-name,
	.mobile-monthly-popular__text-link:hover .mobile-monthly-popular__article-title,
	.mobile-monthly-popular__text-link:focus-visible .mobile-monthly-popular__article-title {
		color: #e95781;
	}

	.mobile-monthly-popular__comments:hover,
	.mobile-monthly-popular__comments:focus-visible {
		color: #333;
		background: rgb(255 255 255 / 96%);
	}
}

/* Supplemental navigation after the article, separate from product features. */
.entry-related-tags { margin-top: 32px; padding-top: 18px; border-top: 1px solid #eaedef; }
.entry-related-tags__title { margin: 0 0 10px; color: #646e75; font-size: 13px; font-weight: 600; line-height: 1.6; }
.entry-related-tags__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.entry-related-tags__list li { max-width: 100%; margin: 0; padding: 0; }
.entry-related-tags__list a { display: block; padding: 5px 12px; border: 1px solid #dfe5e8; border-radius: 999px; background: #fafbfc; color: #536b7a; font-size: 12px; line-height: 1.6; text-decoration: none; overflow-wrap: anywhere; }
.entry-related-tags__list a:hover { border-color: #b8c5cd; background: #f1f5f7; color: #354f60; }
.entry-related-tags__list a:focus-visible { outline: 2px solid #688697; outline-offset: 3px; }

.similar-products { margin-top: 30px; padding-top: 20px; border-top: 1px solid #e5e8ea; }
.similar-products__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 5px; }
.similar-products__heading-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 10px; min-width: 0; }
.similar-products__title { margin: 0; color: #30363b; font-size: 20px; line-height: 1.35; }
.similar-products__level { color: #858b90; font-size: 11px; line-height: 1.4; white-space: nowrap; }
.similar-products__note { margin: 0 0 13px; color: #777e83; font-size: 11px; line-height: 1.55; }
.similar-products__controls { display: flex; flex: 0 0 auto; gap: 5px; }
.similar-products__arrow { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid #d9dde0; border-radius: 50%; background: rgba(255,255,255,.94); color: #596168; line-height: 1; cursor: pointer; }
.similar-products__arrow::before,
.same-series-products__arrow::before { content: ""; display: block; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.similar-products__arrow--prev::before,
.same-series-products__arrow--prev::before { transform: rotate(-135deg); }
.similar-products__arrow--next::before,
.same-series-products__arrow--next::before { transform: rotate(45deg); }
.similar-products__arrow:hover,
.similar-products__arrow:focus-visible { border-color: #bfc5c9; color: var(--color-accent); }
.similar-products__grid { display: flex; gap: 12px; padding: 0 0 7px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: #c8cdd1 transparent; }
.similar-products__card { flex: 0 0 calc((100% - 36px) / 4); min-width: 0; margin: 0; border: 1px solid #e4e7e9; background: #fff; scroll-snap-align: start; }
.similar-products__card a { display: block; height: 100%; color: inherit; text-decoration: none; }
.similar-products__media { display: block; aspect-ratio: 16 / 10; background: #fff; overflow: hidden; }
.similar-products__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.similar-products__body { display: grid; gap: 5px; padding: 10px; }
.similar-products__name { color: #30363b; font-size: 14px; line-height: 1.4; }
.similar-products__rating { position: relative; display: inline-block; justify-self: start; color: #d8d8d8; font-size: 13px; line-height: 1; letter-spacing: 1px; }
.similar-products__rating i { position: absolute; inset: 0 auto 0 0; color: #eda900; font-style: normal; white-space: nowrap; overflow: hidden; }
.similar-products__card a:hover .similar-products__name,
.similar-products__card a:focus-visible .similar-products__name { color: var(--color-accent); }
@media (max-width: 799px) { .similar-products__card { flex-basis: calc((100% - 12px) / 2); } }
@media (max-width: 716px) {
	.similar-products { margin: 24px 12px 0; }
	.similar-products__header { align-items: center; }
	.similar-products__title { font-size: 18px; }
	.similar-products__grid { gap: 6px; }
	.similar-products__card { flex-basis: calc((100% - 12px) / 3); }
	.similar-products__card a { display: block; }
	.similar-products__media { aspect-ratio: 1 / 1; }
	.similar-products__body { gap: 4px; padding: 6px 5px; }
	.similar-products__rating { font-size: 10.5px; letter-spacing: 0.5px; }
	.similar-products__name {
		display: -webkit-box;
		overflow: hidden;
		font-size: 11px;
		line-height: 1.4;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

.same-series-products { margin-top: 30px; padding: 17px 16px 15px; border: 1px solid #e5e8ea; background: #fafbfb; }
.same-series-products__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.same-series-products__heading-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 10px; min-width: 0; }
.same-series-products__title { margin: 0; color: #30363b; font-size: 18px; line-height: 1.35; }
.same-series-products__series-name { color: #858b90; font-size: 11px; line-height: 1.4; }
.same-series-products__series-name a { color: inherit; text-decoration: none; }
.same-series-products__series-name a:hover,
.same-series-products__series-name a:focus-visible { color: #596168; }
.same-series-products__controls { display: flex; flex: 0 0 auto; gap: 5px; }
.same-series-products__arrow { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid #d9dde0; border-radius: 50%; background: rgba(255,255,255,.94); color: #596168; line-height: 1; cursor: pointer; }
.same-series-products__arrow:hover,
.same-series-products__arrow:focus-visible { border-color: #bfc5c9; color: var(--color-accent); }
.same-series-products__shelf { display: flex; gap: 10px; padding-bottom: 3px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; scrollbar-width: thin; scrollbar-color: #c8cdd1 transparent; }
.same-series-products__card { flex: 0 0 calc((100% - 40px) / 5); min-width: 0; margin: 0; background: #fff; scroll-snap-align: start; }
.same-series-products__card a { display: block; height: 100%; color: inherit; text-decoration: none; }
.same-series-products__media { display: block; aspect-ratio: 16 / 10; padding: 4px; border: 1px solid #e4e7e9; background: #fff; overflow: hidden; }
.same-series-products__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.same-series-products__body { display: grid; gap: 5px; padding: 7px 3px 3px; }
.same-series-products__name { color: #3c4247; font-size: 12px; line-height: 1.45; }
.same-series-products__rating { position: relative; display: inline-block; justify-self: start; color: #d8d8d8; font-size: 12px; line-height: 1; letter-spacing: 1px; }
.same-series-products__rating i { position: absolute; inset: 0 auto 0 0; color: #eda900; font-style: normal; white-space: nowrap; overflow: hidden; }
.same-series-products__card a:hover .same-series-products__name,
.same-series-products__card a:focus-visible .same-series-products__name { color: var(--color-accent); }
@media (min-width: 800px) {
	.same-series-products { background: #fff; border-color: #eceeef; }
	.same-series-products__shelf { gap: 0; padding-bottom: 5px; scrollbar-color: #d6dade transparent; }
	.same-series-products__card { flex-basis: 20%; box-sizing: border-box; padding: 0 10px; border-right: 1px solid #edf0f1; }
	.same-series-products__card:last-child { border-right: 0; }
	.same-series-products__media { padding: 0; border: 0; }
	.same-series-products__body { padding: 9px 2px 4px; }
	.same-series-products__name { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
}
@media (max-width: 799px) { .same-series-products__card { flex-basis: calc((100% - 20px) / 3); } }
@media (max-width: 716px) {
	.same-series-products { margin: 24px 12px 0; padding: 14px 10px 12px; }
	.same-series-products__shelf { gap: 6px; }
	.same-series-products__card { flex-basis: calc((100% - 12px) / 3); }
	.same-series-products__media { aspect-ratio: 1 / 1; padding: 1px; }
	.same-series-products__body { gap: 4px; padding: 6px 2px 3px; }
	.same-series-products__rating { font-size: 10.5px; letter-spacing: 0.5px; }
	.same-series-products__name {
		display: -webkit-box;
		overflow: hidden;
		font-size: 11px;
		line-height: 1.4;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

.entry-tag-index { display: flex; align-items: flex-start; gap: 8px; margin-top: 17px; padding: 7px 8px; border: 1px solid #eceeef; background: #fafafa; }
.entry-tag-index__title { flex: 0 0 auto; margin: 2px 0 0; color: #686e73; font-size: 12px; font-weight: 600; line-height: 1.45; }
.entry-tag-index__list { display: flex; flex-wrap: wrap; gap: 4px 5px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.entry-tag-index__list li { margin: 0; padding: 0; }
.entry-tag-index__list a { display: block; padding: 2px 6px; border: 1px solid #e1e4e6; background: #fff; color: #646a6f; font-size: 11px; line-height: 1.35; text-decoration: none; }
.entry-tag-index__list a:hover,
.entry-tag-index__list a:focus-visible { border-color: #cfd4d7; color: var(--color-accent); }
@media (min-width: 800px) {
	.single-post .entry:has(.entry-tag-index) { padding-bottom: 0; }
	.single-post .entry:has(.entry-tag-index) + .comments-area { margin-top: 0; }
}
@media (max-width: 716px) { .entry-tag-index { margin: 16px 12px 0; } }

/* Mobile-only author introduction; the desktop sidebar keeps its existing presentation. */
.mobile-author { display: none; }
@media (max-width: 716px) {
	.home .site-layout { padding-top: 8px; }
	.site-layout { grid-template-areas: "right" "main"; }
	.sidebar-right { display: block; order: 0; }
	.sidebar-right > :not(.mobile-author) { display: none; }
	.mobile-author {
		display: block;
		margin: 0 12px;
		padding: 0;
		color: #555;
		background: #fff;
	}
	.mobile-author__profile { display: grid; grid-template-columns: clamp(104px, 28vw, 128px) minmax(0, 1fr); align-items: center; gap: 12px; }
	.mobile-author__portrait { position: relative; align-self: center; padding-bottom: 10px; }
	.mobile-author__image { display: block; width: 100%; height: auto; aspect-ratio: 1; margin: 0; border-radius: 50%; object-fit: cover; }
	.mobile-author__message { position: absolute; left: -1px; bottom: -9px; width: 70%; max-width: none; height: auto; filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px rgb(255 255 255 / 95%)) drop-shadow(0 0 6px rgb(255 255 255 / 72%)); transform: rotate(-4deg); pointer-events: none; }
	.mobile-author__copy { min-width: 0; }
	.mobile-author h2 { margin: 0; color: #333; font-size: 10.5px; font-weight: 400; line-height: 1.55; }
	.mobile-author__greeting { margin: 1px 0 5px; color: #444; font-size: 11px; line-height: 1.55; }
	.mobile-author__lead { margin: 0 0 3px; color: #3f3f3f; font-size: 11.5px; font-weight: 700; line-height: 1.55; }
	.mobile-author__description { margin: 0; font-size: 10.5px; line-height: 1.65; }
	.mobile-author__link { display: block; text-align: right; margin-top: 5px; color: #555; font-size: 10px; line-height: 1.6; text-decoration: none; white-space: nowrap; }
	.mobile-author__link:hover { text-decoration: underline; }
	.mobile-author__link span { margin-right: 2px; }
	.mobile-author__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; padding: 8px 0 9px; border-top: 1px solid #ece7e9; border-bottom: 1px solid #ece7e9; background: #fffdfd; }
	.mobile-author__stat { display: grid; grid-template-columns: auto minmax(0, auto); grid-template-rows: auto auto; min-width: 0; justify-content: center; align-content: center; align-items: center; column-gap: 6px; padding: 0 4px; color: #666; text-align: left; }
	.mobile-author__stat + .mobile-author__stat { border-left: 1px solid #ece7e9; }
	.mobile-author__stat svg { grid-row: 1 / 3; align-self: center; width: 22px; height: 22px; margin: 0; fill: none; stroke: #d66b86; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
	.mobile-author__stat strong { color: #3f3f3f; font-size: 18px; font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; white-space: nowrap; }
	.mobile-author__stat--reviews strong { color: #3f3f3f; font-weight: 800; }
	.mobile-author__stat strong span { margin-left: 2px; font-size: 8px; font-weight: 500; }
	.mobile-author__stat small { display: block; margin-top: 1px; color: #777; font-size: 8px; line-height: 1.35; white-space: nowrap; }
}

@media (max-width: 716px) and (prefers-reduced-motion: reduce) {
	.mobile-scroll-top {
		transition: none;
	}
}

.mobile-latest-comments {
	display: none;
}

@media (max-width: 716px) {
	.home:not(.paged):not(.onahodouga-db) .mobile-latest-comments {
		display: block;
		box-sizing: border-box;
		padding: 14px 0 22px;
		border-top: 1px solid #ececef;
	}

	.mobile-latest-comments__title {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 12px 10px;
		color: #34363a;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.45;
	}

	.mobile-latest-comments__title-icon {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		fill: none;
		stroke: #d94f77;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mobile-latest-comments__track.latest-comments {
		display: flex;
		gap: 8px;
		margin: 0;
		padding: 0 12px 10px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scroll-padding-inline: 12px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.mobile-latest-comments__track::-webkit-scrollbar {
		display: none;
	}

	.mobile-latest-comments__item.latest-comments__item {
		flex: 0 0 min(180px, calc((100vw - 32px) / 2));
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		scroll-snap-align: start;
	}

	.mobile-latest-comments__item:not(:last-child) {
		margin-bottom: 0;
		border-bottom: 0;
	}

	.mobile-latest-comments__item .latest-comments__card {
		display: block;
		padding: 0;
	}

	.mobile-latest-comments__item .latest-comments__bubble {
		height: 72px;
		box-sizing: border-box;
		padding: 9px 10px;
	}

	.mobile-latest-comments__item .latest-comments__excerpt {
		-webkit-line-clamp: 3;
		font-size: 11px;
		line-height: 1.55;
	}

	.mobile-latest-comments__item .latest-comments__post-meta,
	.mobile-latest-comments__item .latest-comments__post-meta.has-product-icon {
		min-height: 38px;
		margin-top: 8px;
	}

	.mobile-latest-comments__item .latest-comments__post-meta.has-product-icon {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 6px;
	}

	.mobile-latest-comments__item .latest-comments__product-icon {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.mobile-latest-comments__item .latest-comments__post-title {
		display: -webkit-box;
		font-size: 10.5px;
		line-height: 1.45;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

/* Legacy image-note compatibility: only markup identified by the content filter. */
.entry-content img.legacy-image-note-image {
	margin-bottom: 8px;
}

.entry-content br.legacy-image-note-gap {
	display: none;
}

.entry-content .legacy-image-note {
	display: block;
	margin: 0;
	color: #555555;
	font-size: 13px !important;
	font-weight: 700;
	line-height: 1.55;
}

/* Gutenberg image captions. */
.entry-content figcaption.wp-element-caption {
	margin-top: 8px;
	margin-bottom: 18px;
	color: #555555;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
}

/* Temporary physical-tablet article layout. Keep the former two-column main
 * width, but center it without either sidebar. */
@media (min-width: 717px) and (max-width: 999.98px) {
	.single-post .site-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "main";
		gap: 0;
		align-items: start;
		justify-content: center;
	}

	.single-post .sidebar-left,
	.single-post .sidebar-right {
		display: none;
	}

	.single-post .main-content {
		grid-area: main;
		width: calc(100% - 212px);
		max-width: calc(100% - 212px);
		min-width: 0;
		justify-self: center;
		order: initial;
	}
}

/* Trial: allow a 620px article body in the centered portrait-tablet column. */
@media (min-width: 717px) and (max-width: 999.98px) {
	.single-post .main-content {
		width: min(100%, 640px);
		max-width: 640px;
	}
	.single-post .entry-content {
		width: 100%;
		max-width: 620px;
		margin-inline: auto;
	}
}

/* One vertical three-column article list for portrait-tablet search, archives, and paged lists. */
.article-hybrid-paging { display: none; }
@media (min-width: 717px) and (max-width: 999.98px) {
	.manufacturer-archive-breadcrumb { margin-bottom: 0; }
	.manufacturer-archive-sort { margin: 0; }
	.category-intro { padding-right: 0; padding-left: 0; }
	body.category:not(.onahodouga-db) .category-intro__toolbar { margin-bottom: 0; }
	body.category:not(.onahodouga-db) .site-layout.is-search-results-layout > .main-content { row-gap: 10px; }
	body.date:not(.onahodouga-db) .category-intro__toolbar { margin-bottom: 0; }
	body.date:not(.onahodouga-db) .site-layout.is-search-results-layout > .main-content { row-gap: 10px; }
	.search-results-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .search-results-intro) { row-gap: 10px; }
	.series-archive-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .series-archive-intro) { row-gap: 10px; }
	.hardness-archive-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .hardness-archive-intro) { row-gap: 10px; }
	.rating-archive-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .rating-archive-intro) { row-gap: 10px; }
	.stimulation-archive-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .stimulation-archive-intro) { row-gap: 10px; }
	.price-archive-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .price-archive-intro) { row-gap: 10px; }
	.regular-tag-intro .category-intro__toolbar { margin-bottom: 0; }
	.site-layout.is-search-results-layout > .main-content:has(> .regular-tag-intro) { row-gap: 10px; }
	body:not(.onahodouga-db) .site-layout.is-search-results-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "main";
		gap: 0;
	}
	body:not(.onahodouga-db) .is-search-results-layout > .sidebar-left,
	body:not(.onahodouga-db) .is-search-results-layout > .sidebar-right { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout > .main-content {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 14px;
		min-width: 0;
		width: 100%;
	}
	body:not(.onahodouga-db) .is-search-results-layout > .main-content > :not(article.post-list-item) { grid-column: 1 / -1; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto 1fr;
		align-content: start;
		gap: 7px;
		min-width: 0;
		padding: 0 0 12px;
	}
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-column { display: contents; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content { grid-column: 1; grid-row: 1; min-width: 0; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-meta {
		display: flex;
		grid-column: 1;
		grid-row: 2;
		justify-self: end;
		align-items: center;
		min-width: 0;
	}
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-date { color: #969ba0; font-size: 10px; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-comments { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout .post-comment-count,
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__meta,
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content > * { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content > :has(img) { display: block; margin: 0; font-size: 0; line-height: 0; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content > :has(img) ~ :has(img) { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__content img { display: block; width: 100%; height: 160px; margin: 0; object-fit: contain; background: #fff; border: 1px solid #e1e4e7; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab {
		--category-tab-bg: #f1f4f5;
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		align-self: center;
		width: fit-content;
		max-width: calc(100% - 80px);
		box-sizing: border-box;
		margin: 0;
		padding: 3px 5px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		color: #626970;
		font-size: 10.5px;
		line-height: 16px;
		background: var(--category-tab-bg);
		border: 1px solid #e1e4e7;
		border-radius: 3px;
	}
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="review"] { --category-tab-bg: #faedf1; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="ranking"] { --category-tab-bg: #faf3de; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="survey"] { --category-tab-bg: #eaf1fa; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="topics"] { --category-tab-bg: #edf3f5; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="project"] { --category-tab-bg: #f2edf8; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab a { color: inherit; text-decoration: none; }
	body:not(.onahodouga-db) .is-search-results-layout .post-title-row { display: block; grid-column: 1; grid-row: 3; min-width: 0; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__title { margin: 0; font-size: 14px; line-height: 1.5; text-align: left; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__product-name { display: block; font-size: 14px; font-weight: 700; }
	body:not(.onahodouga-db) .is-search-results-layout .post-list-item__review-title { display: block; color: #555; font-size: 13px; font-weight: 400; }
	body:not(.onahodouga-db) .is-search-results-layout > .main-content.has-article-hybrid-paging > .pagination { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout .article-hybrid-paging {
		display: flex;
		grid-column: 1 / -1;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		padding: 14px 0 24px;
	}
	body:not(.onahodouga-db) .is-search-results-layout .article-hybrid-paging__status { margin: 0; color: #777; font-size: 12px; }
	body:not(.onahodouga-db) .is-search-results-layout .article-hybrid-paging__status:empty { display: none; }
	body:not(.onahodouga-db) .is-search-results-layout .article-hybrid-paging__button {
		min-width: 180px;
		min-height: 42px;
		padding: 9px 20px;
		color: #3f4144;
		font: inherit;
		font-size: 13px;
		font-weight: 700;
		background: #fffafa;
		border: 1px solid #e3e4e6;
		border-bottom-color: #f3a5bd;
		border-radius: 2px;
		cursor: pointer;
	}
	body:not(.onahodouga-db) .is-search-results-layout .article-hybrid-paging__button[hidden] { display: none; }
}

/* Six existing shop logos, on the first mobile home page only. */
.mobile-home-shops { display: none; }
@media (max-width: 716px) {
 .home:not(.paged):not(.onahodouga-db) .mobile-home-shops {
  display: block;
  margin: 0;
  padding: 14px 12px 22px;
  border-top: 1px solid #ececef;
 }
 .mobile-home-shops h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #34363a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
 }
 .mobile-home-shops__title-icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #d94f77;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
 }
 .mobile-home-shops__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
 }
 .mobile-home-shops__grid li { min-width: 0; margin: 0; padding: 0; }
 .mobile-home-shops__grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  padding: 6px 8px;
  box-sizing: border-box;
  border: 1px solid #e8e5e7;
  border-radius: 3px;
  background: #fff;
 }
 .mobile-home-shops__grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
 }
 .mobile-home-shops__grid a:focus-visible { outline: 2px solid #d94f77; outline-offset: 2px; }
 .mobile-home-shops__grid a:hover, .mobile-home-shops__grid a:active { border-color: #e9a9bd; background: #fff8fa; }
}

/* DB mobile foundation: retain the desktop controls and facet behavior. */
.db-mobile-entry { display: none; }
@media (max-width: 480px) {
	.onahodouga-db .db-header-search { display: none !important; }
	.db-mobile-entry {
		display: block;
		margin: 0 0 16px;
		padding: 0 0 14px;
		border-bottom: 1px solid #e2e8ec;
	}
	.db-mobile-entry__keyword-row { display: flex; width: 100%; min-width: 0; }
	.db-mobile-entry__keyword-row label { min-width: 0; flex: 1 1 auto; }
	.db-mobile-entry__keyword-row input,
	.db-mobile-entry__keyword-row > button {
		height: 42px;
		box-sizing: border-box;
		border-radius: 0;
		font: inherit;
	}
	.db-mobile-entry__keyword-row input {
		width: 100%;
		min-width: 0;
		padding: 8px 10px;
		font-size: 16px;
		background: #fff;
		border: 1px solid #cfdce3;
		border-right: 0;
	}
	.db-mobile-entry__keyword-row input:focus { border-color: #ff6b95; outline: 1px solid #ff6b95; outline-offset: -1px; }
	.db-mobile-entry__keyword-row > button {
		flex: 0 0 auto;
		padding: 7px 14px;
		color: #fff;
		font-weight: 700;
		background: #ff6b95;
		border: 1px solid #ff6b95;
		cursor: pointer;
	}
	.db-mobile-entry__categories {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 4px;
		min-width: 0;
		margin: 9px 0 0;
		padding: 0;
		border: 0;
	}
	.db-mobile-entry__categories > label {
		display: flex;
		min-width: 0;
		min-height: 54px;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 2px;
		padding: 4px 2px;
		color: #596875;
		font-size: 10px;
		font-weight: 600;
		line-height: 1.25;
		background: #fbfcfd;
		border: 1px solid #dfe6ea;
		border-radius: 2px;
		cursor: pointer;
	}
	.db-mobile-entry__category-icon { display: block; width: 22px; height: 22px; color: #5f8299; }
	.db-mobile-entry__category-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
	.db-mobile-entry__categories > label:has(input:checked) { color: #cf426e; background: #fff0f4; border-color: #ed9db6; }
	.db-mobile-entry__categories > label:has(input:checked) .db-mobile-entry__category-icon { color: #df4d7b; }
	.onahodouga-db-home .site-navigation { display: block; }
	.onahodouga-db .prototype-navigation { width: 100%; min-width: 0; }
	.onahodouga-db .prototype-db-menu.is-db-page-panel { box-sizing: border-box; width: 100%; padding: 16px 14px; border-inline: 0; }
	.onahodouga-db .prototype-db-menu__layout,
	.onahodouga-db .prototype-db-menu__groups,
	.onahodouga-db .prototype-db-numeric__groups { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.onahodouga-db .prototype-db-menu__main { min-width: 0; }
	.onahodouga-db .db-type-list { grid-template-columns: minmax(0, 1fr); }
	.onahodouga-db .db-type-item { min-height: 44px; }
	.onahodouga-db .prototype-db-option { min-height: 44px; line-height: 1.5; }
	.onahodouga-db .prototype-db-hardness__header,
	.onahodouga-db .prototype-db-hardness__heading,
	.onahodouga-db .prototype-db-numeric__header,
	.onahodouga-db .prototype-db-numeric__legend-with-note { flex-wrap: wrap; }
	.onahodouga-db .prototype-db-hardness__scale { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.onahodouga-db .prototype-db-numeric { padding: 12px 10px; }
	.onahodouga-db .prototype-db-numeric__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.onahodouga-db .prototype-db-numeric__choices button { min-height: 44px; }
	.onahodouga-db .prototype-db-numeric__range label { flex: 1; min-width: 0; }
	.onahodouga-db .prototype-db-numeric__range select { min-width: 0; width: 100%; min-height: 40px; }
	.onahodouga-db .prototype-db-maker-panel { grid-template-columns: minmax(0, 1fr); padding: 12px 10px; }
	.onahodouga-db .prototype-db-maker-option { min-height: 40px; }
	.onahodouga-db .prototype-db-maker-option b { white-space: normal; overflow-wrap: anywhere; }
	.onahodouga-db .prototype-db-menu__selected { margin-top: 16px; gap: 8px; }
	.onahodouga-db .prototype-db-menu__facet-chip,
	.onahodouga-db .prototype-db-menu__maker-chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; min-height: 32px; }
	.onahodouga-db .prototype-db-menu__footer { flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.onahodouga-db .prototype-db-menu__footer button { min-height: 42px; padding: 9px 10px; font-size: 12px; }
	.onahodouga-db .prototype-db-menu__submit { width: auto; flex: 1 1 170px; }
	.onahodouga-db .db-header-search { display: flex; flex-wrap: nowrap; }
	.onahodouga-db .db-header-search .header-search__input { width: 0; min-width: 0; flex: 1; font-size: 16px; }
	.onahodouga-db .db-header-search .header-search__button { flex: 0 0 auto; min-height: 42px; padding-inline: 14px; }
}

/* Progressive mobile DB controls; original DOM and query behavior are retained. */
@media (max-width: 480px) {
	.prototype-db-menu__groups {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 11px;
	}

	.prototype-db-group h2 {
		margin-bottom: 7px;
		padding-bottom: 4px;
		font-size: 13px;
	}

	.prototype-db-group[data-facet-axis="nkp"] h2 {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.prototype-db-group[data-facet-axis="nkp"] .prototype-db-group__icon,
	.prototype-db-nkp-note,
	.prototype-db-option__description {
		display: none;
	}

	.prototype-db-group__options,
	.db-type-list,
	.prototype-db-hardness__scale,
	.prototype-db-numeric__choices {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 8px;
	}

	.prototype-db-option,
	.db-type-item,
	.prototype-db-numeric__choices button {
		width: auto;
		min-width: 0;
		min-height: 34px;
		padding: 8px 15px;
		background: #fff;
		border: 1px solid #dcdfe1;
		border-radius: 999px;
	}

	.prototype-db-option__main {
		gap: 7px;
		justify-content: flex-start;
	}

	.prototype-db-option__count,
	.db-type-item__count,
	.prototype-db-maker-option > small {
		min-width: 0;
		padding: 0;
		color: #92999c;
		font-size: 9px;
		font-weight: 500;
		background: transparent;
		border: 0;
	}

	.db-type-panel {
		padding: 12px;
	}

	.db-type-panel__header {
		margin-bottom: 9px;
		padding-bottom: 6px;
	}

	.db-type-panel__header p,
	.db-type-item__icon,
	.db-type-item__desc {
		display: none;
	}

	.db-type-item {
		display: inline-flex;
		align-items: center;
		gap: 7px;
	}

	.db-type-item__label {
		white-space: nowrap;
	}

	.prototype-db-hardness,
	.prototype-db-numeric {
		margin-top: 12px;
		padding: 0;
		background: transparent;
		border: 0;
	}

	.prototype-db-hardness__header,
	.prototype-db-numeric__header {
		display: none;
	}

	.prototype-db-hardness .prototype-db-hardness__option {
		width: auto;
		min-height: 34px;
		align-items: center;
		flex-direction: row;
		gap: 5px;
		padding: 8px 14px;
		background: #fff;
		border: 1px solid #dcdfe1;
		border-radius: 999px;
	}

	.prototype-db-hardness__option .prototype-db-hardness__value {
		display: inline;
		width: auto;
		height: auto;
		color: inherit;
		font-size: 12px;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	.prototype-db-hardness__option strong {
		width: auto;
		margin: 0;
		font-size: 11px;
		white-space: nowrap;
	}

	.prototype-db-hardness__option .prototype-db-option__count {
		display: inline;
		width: auto;
		margin: 0 0 0 2px;
		font-size: 9px;
	}

	.prototype-db-numeric__groups {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.prototype-db-numeric__group legend {
		margin-bottom: 6px;
	}

	.prototype-db-numeric__legend-with-note small {
		display: none;
	}

	.prototype-db-numeric__choices button {
		flex-direction: row;
		gap: 5px;
		padding: 7px 12px;
	}

	.prototype-db-numeric__choices button strong,
	.prototype-db-numeric__choices button small {
		display: inline;
		margin: 0;
		white-space: nowrap;
	}

	.prototype-db-numeric__choices button .prototype-db-numeric__count {
		margin: 0 0 0 2px;
		font-size: 9px;
	}

	.prototype-db-numeric__range {
		gap: 5px;
	}

	.prototype-db-numeric__range label {
		flex: 0 1 128px;
	}

	.prototype-db-numeric__range select {
		width: 104px;
		height: 34px;
	}

	.prototype-db-maker-panel {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 8px;
		padding: 10px;
	}

	.prototype-db-maker-panel[hidden] {
		display: none;
	}

	.prototype-db-maker-group,
	.prototype-db-maker-group__items {
		display: contents;
	}

	.prototype-db-maker-group h3 {
		display: none;
	}

	.prototype-db-maker-option {
		width: auto;
		min-width: 0;
		min-height: 34px;
		padding: 7px 14px;
		border-radius: 999px;
	}

	.prototype-db-maker-option > span {
		width: 12px;
		height: 12px;
		flex-basis: 12px;
		border-radius: 50%;
	}
}

@media (max-width: 480px) {
 .db-results-filter-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  background: rgb(0 0 0 / 6%);
  border: 0;
  touch-action: pan-y;
 }
 .db-results-filter-backdrop[hidden] { display: none; }
 body.has-db-filter-panel .db-results-mobile-browser { position: relative; }
 body.has-db-filter-panel .db-results-mobile-browser,
 body.has-db-filter-panel .db-results-mini-filter { z-index: 1090; }
 .onahodouga-db .db-results-mode { background: #ccdfe7; }
 .onahodouga-db .db-results-mobile-meta { padding: 6px 8px; background: #fff; }
 .onahodouga-db-home .site-navigation { display: none !important; }
 .db-home-mobile-content { padding: 0; background: #fff; }
 .db-home-mobile-intro { padding: 16px 12px 20px; background: #fff; }
 .db-home-mobile-intro__header { margin-bottom: 12px; padding-bottom: 9px; border-bottom: 2px solid #00aecb; }
 .db-home-mobile-intro__header h1 { margin: 0; color: #087f94; font-size: 19px; line-height: 1.35; }
 .db-home-mobile-intro__header p { margin: 2px 0 0; color: #68777c; font-size: 11px; }
 .db-home-mobile-search { margin-bottom: 18px; }
 .db-home-types h2 { margin: 0 0 9px; color: #263b41; font-size: 14px; line-height: 1.4; }
 .db-home-types__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
 .db-home-types__grid a {
	 display: flex;
	 gap: 3px;
	 align-items: center;
	 justify-content: center;
	 flex-direction: column;
	 min-width: 0;
	 min-height: 62px;
	 padding: 5px 2px;
	 box-sizing: border-box;
	 color: #34464c;
	 font-size: 10.5px;
	 font-weight: 600;
	 line-height: 1.2;
	 text-align: center;
	 text-decoration: none;
	 background: #fff;
	 border: 1px solid #dfe6ea;
	 border-radius: 2px;
 }
 .db-home-types__icon { display: block; width: 25px; height: 25px; flex: 0 0 25px; color: #5f8299; }
 .db-home-types__icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
 .db-home-types__label { min-width: 0; overflow-wrap: anywhere; }
 .db-home-types__grid a:active { background: #eff9fa; }
 .db-home-products .db-results-mode { padding: 0; background: #fff; }
 .db-home-products .db-results-layout { padding: 8px 8px 24px; background: #ccdfe7; }
 .db-home-products .db-results-toolbar { display: none; }
 .db-results-mini-filter {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1050;
  display: block;
  padding: 5px 8px;
  background: rgb(255 255 255 / 97%);
  border-bottom: 1px solid #dfe6e8;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: opacity .14s ease, transform .14s ease;
 }
 .db-results-mini-filter.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
 .db-results-mini-filter__rail { gap: 5px; }
 .db-results-mini-filter__rail button { min-height: 30px; padding: 4px 10px; font-size: 11px; }
 .has-db-infinite-results .db-results-layout .pagination { display: none; }
 .db-infinite-results-status {
  min-height: 20px;
  margin: 10px 0 2px;
  color: #718084;
  font-size: 11px;
  text-align: center;
 }
 .db-infinite-results-status.is-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
 }
 .db-infinite-results-status.is-loading::before {
  width: 13px;
  height: 13px;
  box-sizing: border-box;
  content: '';
  border: 2px solid #cfe2e6;
  border-top-color: #28a9bf;
  border-radius: 50%;
  animation: db-infinite-loading-spin .7s linear infinite;
 }
 @keyframes db-infinite-loading-spin { to { transform: rotate(360deg); } }
 @media (prefers-reduced-motion: reduce) {
  .db-infinite-results-status.is-loading::before { animation-duration: 1.5s; }
 }
 .onahodouga-db .mobile-compact-header { display: none !important; }
 body.onahodouga-db-results { padding-bottom: 0; }
 .onahodouga-db-results .db-results-mode { padding: 8px; }
 .db-results-mobile-browser {
  display: grid;
  gap: 8px;
  margin-bottom: 8px;
  padding: 0 0 7px;
  background: #fff;
  border-bottom: 1px solid #e2e8ea;
 }
 .db-results-mobile-search { position: relative; display: flex; min-width: 0; height: 40px; }
 .db-results-mobile-search > input[type="search"] {
  box-sizing: border-box;
  min-width: 0;
  flex: 1 1 auto;
  padding: 0 10px;
  color: #27383d;
  font-size: 16px;
  background: #fff;
  border: 1px solid #cfdadd;
  border-right: 0;
  border-radius: 3px 0 0 3px;
 }
 .db-results-mobile-search > input[type="search"]:focus { z-index: 1; border-color: #35aec3; outline: 1px solid #35aec3; }
 .db-results-mobile-search > button {
  display: grid;
  width: 43px;
  flex: 0 0 43px;
  place-items: center;
  padding: 0;
  color: #fff;
  background: #24a9c0;
  border: 1px solid #24a9c0;
  border-radius: 0 3px 3px 0;
 }
 .db-results-mobile-search svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
 .db-manufacturer-suggestions {
  position: absolute;
  top: calc(100% + 3px);
  right: 0;
  left: 0;
  z-index: 1200;
  max-height: min(52vh, 320px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid #d5e0e3;
  box-shadow: 0 7px 18px rgb(36 61 67 / 15%);
 }
 .db-manufacturer-suggestions[hidden] { display: none; }
 .db-results-mobile-search input[type="search"]:placeholder-shown ~ .db-manufacturer-suggestions { display: none; }
 .db-manufacturer-suggestions button {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 11px;
  color: #273b40;
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #edf0f1;
 }
 .db-manufacturer-suggestions button:last-child { border-bottom: 0; }
 .db-manufacturer-suggestions button:active,
 .db-manufacturer-suggestions button:focus-visible { background: #edf9fb; outline: 0; }
 .db-manufacturer-suggestions strong { font-size: 13px; font-weight: 700; }
 .db-manufacturer-suggestions small { flex: 0 0 auto; color: #78888c; font-size: 10px; }
 .db-results-mobile-rail {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 6px;
  overflow: visible;
 }
 .db-results-mobile-rail::-webkit-scrollbar { display: none; }
 .db-results-mobile-rail button {
  min-height: 34px;
  flex: 0 0 auto;
  padding: 6px 12px;
  color: #35464b;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  background: #f6f8f9;
  border: 1px solid #d8e1e4;
  border-radius: 17px;
 }
 .db-results-mobile-rail button:has(span) span { margin-left: 4px; color: #718085; font-size: 8px; }
 .db-results-mobile-rail button.is-active {
  color: #126f80;
  font-weight: 700;
  background: #e1f5f8;
  border-color: #41adbf;
 }
 .db-results-mobile-rail button.is-active:has(span) span { color: #16879a; }
 .db-results-mobile-detail-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 6px;
 }
 .db-results-mobile-detail-rail[hidden] { display: none; }
 .db-results-mobile-detail-rail button {
  min-width: 0;
  min-height: 34px;
  padding: 6px 12px;
  color: #35464b;
  font-size: 12px;
  font-weight: 600;
  line-height: normal;
  white-space: nowrap;
  background: #fbfcfd;
  border: 1px solid #d7e0e3;
  border-radius: 17px;
 }
 .db-results-mobile-detail-rail button span { margin-left: 4px; color: #718085; font-size: 8px; }
 .db-results-mobile-detail-rail button[aria-expanded="true"] { color: #126f80; background: #e1f5f8; border-color: #41adbf; }
 .db-results-mobile-detail-rail button[aria-expanded="true"] span { color: #16879a; }
 .db-results-mobile-detail-rail button.is-active {
  color: #126f80;
  font-weight: 700;
  background: #e1f5f8;
  border-color: #41adbf;
 }
 .db-results-mobile-meta { display: flex; align-items: center; justify-content: space-between; padding: 0 2px; color: #617075; font-size: 11px; }
 .db-results-mobile-count { min-width: 0; line-height: 1.35; }
 .db-results-mobile-count strong { margin-right: 2px; color: #263b41; font-size: 14px; }
 .db-results-mobile-sort { position: relative; display: inline-flex; align-items: center; }
 .db-results-mobile-sort::after { content: '▼'; position: absolute; right: 1px; color: #74858a; font-size: 8px; pointer-events: none; }
 .db-results-mobile-sort select {
  max-width: 132px;
  min-height: 34px;
  padding: 5px 15px 5px 7px;
  color: #617075;
  font: inherit;
  text-align: right;
  background: transparent;
  border: 0;
  border-radius: 0;
  appearance: none;
 }
}

/* Share the finished phone filter-panel UI with portrait tablets. */
@media (max-width: 480px), (min-width: 481px) and (max-width: 999.98px) {
 .onahodouga-db .db-results-refine { display: contents; }
 .onahodouga-db .db-results-refine__summary { display: none; }
 .onahodouga-db .db-results-refine__panel {
  box-sizing: border-box;
  margin: 0 0 8px;
  padding: 10px;
  background: #fff;
  border: 1px solid #dce5e8;
 }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) {
  position: fixed;
  z-index: 1100;
  max-height: min(58vh, 420px);
  margin: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 0 7px 20px rgb(36 61 67 / 16%);
 }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis] {
  position: fixed;
  z-index: 1100;
  max-height: min(65vh, 480px);
  margin: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 0 7px 20px rgb(36 61 67 / 16%);
 }
 .onahodouga-db .db-results-refine__panel.is-updating { cursor: progress; }
 .onahodouga-db .db-results-refine__panel.is-updating .db-mobile-layout { opacity: .62; pointer-events: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .prototype-db-option__count,
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-type-item__count { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-layout > [data-facet-axis] > h2,
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-layout > [data-facet-axis] > .db-type-panel__header { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option__main > span:first-child { font-size: 0; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option__main > span:first-child::after { font-size: 12px; letter-spacing: .02em; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option[data-chip-label="★★★★★"] .prototype-db-option__main > span:first-child::after { content: '★★★★★'; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option[data-chip-label="★★★★"] .prototype-db-option__main > span:first-child::after { content: '★★★★☆'; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option[data-chip-label="★★★"] .prototype-db-option__main > span:first-child::after { content: '★★★☆☆'; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option[data-chip-label="★★"] .prototype-db-option__main > span:first-child::after { content: '★★☆☆☆'; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .prototype-db-option[data-chip-label="★"] .prototype-db-option__main > span:first-child::after { content: '★☆☆☆☆'; }
 .db-results-mobile-panel-header { display: flex; align-items: center; margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px solid #e7ecee; }
 .db-results-mobile-panel-header strong { font-size: 13px; }
 .db-results-mobile-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #e7ecee; }
 .db-results-mobile-panel-actions button { min-height: 38px; padding: 7px 13px; font-size: 11.5px; border-radius: 3px; }
 .db-results-mobile-panel-clear { color: #53666c; background: #fff; border: 1px solid #cbd8dc; }
 .db-results-mobile-panel-clear:disabled { color: #a2adb0; background: #f7f9f9; border-color: #e1e7e9; cursor: default; }
 .db-results-mobile-panel-show { color: #fff; font-weight: 700; background: #238fa2; border: 1px solid #238fa2; }
 .onahodouga-db .db-results-refine__panel .prototype-db-menu.is-db-page-panel { padding: 0; border: 0; }
 .onahodouga-db .db-results-refine__panel .db-mobile-hint,
 .onahodouga-db .db-results-refine__panel .db-mobile-entry,
 .onahodouga-db .db-results-refine__panel .prototype-db-menu__header,
 .onahodouga-db .db-results-refine__panel .prototype-db-menu__footer,
 .onahodouga-db .db-results-refine__panel .db-mobile-details--selections { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-details--advanced { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="types"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="types"]),
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="rating"]),
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="stimulation"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="stimulation"]),
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="price"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="price"]) { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .db-mobile-layout > [data-facet-axis] { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .db-mobile-details--advanced > summary { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .db-mobile-details--advanced { border-top: 0; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis] .db-mobile-details--advanced > [data-mobile-detail-group] { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis="hardness"] .db-mobile-details--advanced > [data-mobile-detail-group="hardness"],
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis="nkp"] .db-mobile-details--advanced > [data-mobile-detail-group="nkp"],
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis="size"] .db-mobile-details--advanced > [data-mobile-detail-group="size"],
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis="maker"] .db-mobile-details--advanced > [data-mobile-detail-group="maker"] { display: block; border-top: 0; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] [data-mobile-detail-group] > summary { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="nkp"] .prototype-db-group[data-facet-axis="nkp"] > h2 { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .prototype-db-option__count,
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .prototype-db-hardness__option .prototype-db-option__count,
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .prototype-db-numeric__count,
 .onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .prototype-db-maker-option > small { display: none; }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__choices button.is-selected {
  color: #fff;
  background: #00aecb;
  border-color: #00aecb;
 }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__choices button {
  min-height: 32px;
  gap: 3px;
  padding: 6px 10px;
 }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__choices button strong { font-size: 11px; }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__choices button small:not(.prototype-db-numeric__count) { margin-top: 0; font-size: 9.5px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness__header small,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__header small,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__legend-with-note small,
 .onahodouga-db .db-results-refine__panel .prototype-db-nkp-note { display: none; }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric { margin-top: 12px; padding: 0; background: transparent; border: 0; }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness__header,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__header { display: none; }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness__scale,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__choices { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness .prototype-db-hardness__option {
  width: auto; min-height: 34px; align-items: center; flex-direction: row; gap: 5px;
  padding: 8px 14px; background: #fff; border: 1px solid #dcdfe1; border-radius: 999px;
 }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness__option .prototype-db-hardness__value {
  display: inline; width: auto; height: auto; color: inherit; font-size: 12px;
  background: transparent; border: 0; border-radius: 0;
 }
 .onahodouga-db .db-results-refine__panel .prototype-db-hardness__option strong { width: auto; margin: 0; font-size: 11px; white-space: nowrap; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__group legend { margin-bottom: 6px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__choices button {
  width: auto; min-width: 0; min-height: 34px; flex-direction: row; gap: 5px;
  padding: 7px 12px; background: #fff; border: 1px solid #dcdfe1; border-radius: 999px;
 }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__choices button strong,
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__choices button small { display: inline; margin: 0; white-space: nowrap; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__range { gap: 5px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__range label { flex: 0 1 128px; }
 .onahodouga-db .db-results-refine__panel .prototype-db-numeric__range select { width: 104px; height: 34px; }
 .db-mobile-featured-makers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
 }
 .db-mobile-featured-makers .prototype-db-maker-option {
  min-width: 0;
  width: auto;
  min-height: 34px;
  padding: 7px 14px;
  background: #fbfcfd;
  border: 1px solid #d7e0e3;
  border-radius: 999px;
  box-shadow: none;
 }
 .db-mobile-featured-makers .prototype-db-maker-option b[data-mobile-label] { font-size: 0; }
 .db-mobile-featured-makers .prototype-db-maker-option b[data-mobile-label]::after {
  content: attr(data-mobile-label);
  font-size: 11px;
 }
 .db-mobile-featured-makers .prototype-db-maker-option small { display: none; }
 .onahodouga-db-results .db-results-toolbar { display: none; }
 .has-mobile-db-layout > .prototype-db-menu__layout { display: none; }
 .db-mobile-layout { display: grid; gap: 16px; }
 .db-mobile-hint { margin: 0; color: #777; font-size: 11px; line-height: 1.7; }
 .db-mobile-layout .db-type-panel, .db-mobile-layout .prototype-db-group { padding: 0; border: 0; background: #fff; }
 .db-mobile-layout .db-type-panel__header { border: 0; margin-bottom: 8px; padding: 0; }
 .db-mobile-layout .db-type-panel__header p, .db-mobile-layout .db-type-item__desc,
 .db-mobile-layout .db-type-item__icon, .db-mobile-layout .prototype-db-option__description { display: none; }
 .onahodouga-db .db-mobile-layout .db-type-list,
 .db-mobile-layout .prototype-db-group__options { display: flex; flex-wrap: wrap; gap: 8px; }
 .onahodouga-db .db-mobile-layout .db-type-item { display: inline-flex; width: auto; min-width: 0; min-height: 34px; align-items: center; gap: 5px; padding: 7px 14px; border-radius: 999px; }
 .db-mobile-layout .db-type-item__label { font-size: 11px; }
 .db-mobile-layout .db-type-item__count { font-size: 9px; min-width: 0; }
 .onahodouga-db .db-mobile-layout .prototype-db-option { width: auto; min-width: 0; min-height: 34px; padding: 7px 14px; border: 1px solid #e8e8eb; border-radius: 999px; font-size: 11px; }
 .db-mobile-layout .prototype-db-option__main { flex-wrap: wrap; gap: 3px; }
 .db-mobile-layout .prototype-db-option__count { min-width: 0; font-size: 9px; }
 .db-mobile-details { min-width: 0; border-top: 1px solid #e4e5e8; }
 .db-mobile-details > summary { display: flex; align-items: center; gap: 8px; padding: 13px 0; cursor: pointer; list-style: none; color: #435461; font-size: 13px; font-weight: 600; }
 .db-mobile-details > summary::-webkit-details-marker { display: none; }
 .db-mobile-details > summary::after { content: '⌄'; margin-left: auto; }
 .db-mobile-details[open] > summary::after { content: '⌃'; }
 .db-mobile-details > summary small { font-size: 10px; font-weight: 400; color: #b65c78; }
 .db-mobile-details .db-mobile-details { margin-left: 4px; }
 .db-mobile-details > .prototype-db-group, .db-mobile-details > .prototype-db-hardness { margin-bottom: 14px; }
 .onahodouga-db .db-mobile-layout .prototype-db-numeric { border: 0; padding: 0 0 14px; margin: 0; }
 .db-mobile-maker-search { display: grid; gap: 5px; font-size: 12px; }
 .db-mobile-maker-search input { box-sizing: border-box; width: 100%; min-width: 0; padding: 8px; font-size: 16px; border: 1px solid #d9dfe3; border-radius: 3px; }
 .db-mobile-maker-more { margin: 10px 0; padding: 8px 10px; background: #fff; border: 1px solid #d9dfe3; color: #52616c; font-size: 12px; }
 .db-mobile-layout .prototype-db-maker-field { display: none; }
 .db-mobile-layout .prototype-db-menu__secondary { margin: 10px 0; }
 .onahodouga-db .db-mobile-layout .prototype-db-maker-panel { display: flex; flex-wrap: wrap; gap: 8px; border: 0; background: #fff; padding: 0; }
 .onahodouga-db .db-mobile-layout .prototype-db-maker-group,
 .onahodouga-db .db-mobile-layout .prototype-db-maker-group__items { display: contents; }
 .onahodouga-db .db-mobile-layout .prototype-db-maker-group h3 { display: none; }
 .onahodouga-db .db-mobile-layout .prototype-db-maker-option { width: auto; min-width: 0; min-height: 34px; padding: 7px 14px; border-radius: 999px; }
 .db-mobile-layout .db-mobile-filtered { display: none !important; }
 .onahodouga-db .db-mobile-layout .prototype-db-menu__selected { margin: 0 0 12px; }
 .db-mobile-layout .prototype-db-menu__selected > strong { display: none; }
}

@media (max-width: 480px) {
 body.onahodouga-db { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__groups { grid-template-columns: minmax(0, 1fr); }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__range label { flex: 1 1 0; }
 .onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] .prototype-db-numeric__range select { width: 100%; }
 .onahodouga-db .db-mobile-layout .prototype-db-menu__footer {
  position: fixed;
  right: max(8px, env(safe-area-inset-right));
  bottom: 0;
  left: max(8px, env(safe-area-inset-left));
  z-index: 1000;
  flex-wrap: nowrap;
  gap: 6px;
  margin: 0 auto;
  max-width: 464px;
  padding: 7px 7px max(7px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: rgba(255,255,255,.97);
  border: 1px solid #dce4e8;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
 }
 .onahodouga-db .db-mobile-layout .prototype-db-menu__footer button { min-height: 38px; padding: 7px 9px; white-space: nowrap; }
 .onahodouga-db .db-mobile-layout .prototype-db-menu__clear { flex: 0 0 auto; font-size: 11px; }
 .onahodouga-db .db-mobile-layout .prototype-db-menu__submit { flex: 1 1 auto; min-width: 0; font-size: 11.5px; }
}

/* Mobile primary brand headers: keep the site and DB on one shared visual stage. */
@media (max-width: 480px) {
	.site-header,
	.db-site-header {
		box-sizing: border-box;
		min-height: 74px;
	}

	.site-header__inner,
	.db-site-header__inner {
		box-sizing: border-box;
		height: 70px;
		min-height: 70px;
		padding: 7px 12px;
	}

	.site-header__inner {
		display: block;
	}

	.site-branding,
	.site-branding__row {
		width: 100%;
		height: 100%;
	}

	.site-branding__row {
		box-sizing: border-box;
		gap: 8px;
		padding-right: 50px;
	}

	.site-branding__row .site-title,
	.db-site-brand {
		display: flex;
		min-width: 0;
		height: 52px;
		flex: 1 1 0;
		align-items: center;
	}

	.site-branding__row .site-title a {
		display: flex;
		min-width: 0;
		height: 52px;
		align-items: center;
	}

	.site-branding__row .site-logo,
	.db-site-brand img {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 52px;
		object-fit: contain;
	}

	.site-db-switches {
		display: flex;
		width: 104px;
		flex: 0 0 104px;
	}

	.site-db-switch {
		width: 104px;
		min-height: 48px;
		flex-basis: 104px;
		padding: 4px 6px;
	}

	.site-db-switch__brand-logo,
	.db-site-header__back-logo {
		width: 92px;
		max-height: 31px;
	}

	.site-db-switch__logo-subtitle--desktop {
		display: none;
	}

	.site-db-switch__logo-subtitle--mobile {
		display: block;
	}

	.site-db-switch__logo-subtitle,
	.db-site-header__back-copy {
		font-size: 8px;
		line-height: 1.15;
	}

	.db-site-header__inner {
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
	}

	.db-site-brand {
		width: auto;
		max-width: none;
		margin-left: 0;
	}

	.db-site-header__back {
		width: 104px;
		min-height: 48px;
		flex: 0 0 104px;
		padding: 4px 6px;
	}
}

/* Extend only the main site's completed mobile header through 716px. */
@media (min-width: 481px) and (max-width: 716px) {
	body:not(.onahodouga-db) .site-header { box-sizing: border-box; min-height: 74px; }
	body:not(.onahodouga-db) .site-header__inner {
		display: block;
		box-sizing: border-box;
		height: 70px;
		min-height: 70px;
		padding: 7px 12px;
	}
	body:not(.onahodouga-db) .site-branding,
	body:not(.onahodouga-db) .site-branding__row { width: 100%; height: 100%; }
	body:not(.onahodouga-db) .site-branding__row { box-sizing: border-box; gap: 8px; padding-right: 50px; }
	body:not(.onahodouga-db) .site-branding__row .site-title {
		display: flex;
		min-width: 0;
		height: 52px;
		flex: 1 1 0;
		align-items: center;
	}
	body:not(.onahodouga-db) .site-branding__row .site-title a {
		display: flex;
		min-width: 0;
		height: 52px;
		align-items: center;
	}
	body:not(.onahodouga-db) .site-branding__row .site-logo {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 52px;
		object-fit: contain;
	}
	body:not(.onahodouga-db) .site-db-switches { display: flex; width: 104px; flex: 0 0 104px; }
	body:not(.onahodouga-db) .site-db-switch { width: 104px; min-height: 48px; flex-basis: 104px; padding: 4px 6px; }
	body:not(.onahodouga-db) .site-db-switch__brand-logo { width: 92px; max-height: 31px; }
	body:not(.onahodouga-db) .site-db-switch__logo-subtitle--desktop { display: none; }
	body:not(.onahodouga-db) .site-db-switch__logo-subtitle--mobile { display: block; }
	body:not(.onahodouga-db) .site-db-switch__logo-subtitle { font-size: 8px; line-height: 1.15; }
}

/* Reuse the PC DB header controls on portrait tablets. */
@media (min-width: 1000px), (min-width: 481px) and (max-width: 999.98px) {
	.onahodouga-db .db-site-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 150px;
		align-items: center;
		column-gap: 20px;
		row-gap: 9px;
		height: auto;
		padding: 10px 22px 14px;
	}
	.onahodouga-db .db-site-brand {
		width: 260px;
		height: auto;
		max-width: none;
		flex: none;
		align-items: center;
		margin-left: 0;
	}
	.onahodouga-db .db-site-brand img { max-height: 94px; }
	.onahodouga-db .db-header-search {
		position: relative;
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		max-width: none;
		min-width: 0;
		flex: none;
		margin: 0;
	}
	.onahodouga-db .db-header-search .header-search__input,
	.onahodouga-db .db-header-search .header-search__button { height: 46px; }
	.onahodouga-db .db-header-search .header-search__input {
		width: 100%;
		padding: 10px 15px;
		font-size: 15px;
	}
	.onahodouga-db .db-header-search .header-search__button {
		display: grid;
		width: 56px;
		place-items: center;
		padding: 0;
	}
	.onahodouga-db .db-header-search .header-search__icon {
		display: block;
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
	}
	.onahodouga-db .db-header-search .header-search__button span { display: none; }
	.onahodouga-db .db-site-header__back {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		width: 150px;
		min-height: 58px;
		padding: 5px 8px;
	}
	.onahodouga-db .db-site-header__back-logo { width: 120px; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions {
		position: absolute;
		top: calc(100% + 3px);
		right: 0;
		left: 0;
		z-index: 1200;
		max-height: min(52vh, 320px);
		overflow-y: auto;
		background: #fff;
		border: 1px solid #d5e0e3;
		box-shadow: 0 7px 18px rgb(36 61 67 / 15%);
	}
	.onahodouga-db .db-header-search .db-manufacturer-suggestions[hidden] { display: none; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions button {
		display: flex;
		width: 100%;
		min-height: 44px;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 7px 11px;
		color: #273b40;
		text-align: left;
		background: #fff;
		border: 0;
		border-bottom: 1px solid #edf0f1;
		cursor: pointer;
	}
	.onahodouga-db .db-header-search .db-manufacturer-suggestions button:last-child { border-bottom: 0; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions button:hover,
	.onahodouga-db .db-header-search .db-manufacturer-suggestions button:focus-visible { background: #edf9fb; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions strong { font-size: 13px; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions small { color: #78888c; font-size: 10px; }
}

@media (max-width: 999px) {
	.onahodouga-db .db-header-search { order: 3; }
}

/* Keep the existing wallpaper visible, but distinguish the PC DB canvas. */
@media (min-width: 1000px) {
	body.onahodouga-db {
		background-image: linear-gradient(rgba(225, 232, 235, .70), rgba(225, 232, 235, .70)), url("assets/images/00bg.webp");
	}
}

/* Desktop DB search-first header; the mobile and standard-site headers are untouched. */
.onahodouga-db .db-site-header__conditions { display: none; }
.onahodouga-db .db-site-header__search-backdrop { display: none; }
@media (min-width: 1000px) {
	.onahodouga-db-home .db-home-mobile-intro { display: none; }
}
@media (min-width: 1000px), (min-width: 481px) and (max-width: 999.98px) {
	.onahodouga-db .db-site-header {
		position: sticky;
		top: 0;
		z-index: 1100;
		isolation: isolate;
		background: #26313a;
		border-top-color: #27b8ca;
		box-shadow: none;
		transition: transform 160ms ease;
	}
	.onahodouga-db .db-site-header::before {
		content: '';
		position: absolute;
		top: -4px;
		bottom: 0;
		left: 50%;
		z-index: -1;
		width: 100vw;
		transform: translateX(-50%);
		background: linear-gradient(to bottom, #27b8ca 0 4px, #26313a 4px);
		pointer-events: none;
	}
	.onahodouga-db .db-site-header.is-db-header-hidden { transform: translateY(-100%); }
	.onahodouga-db .db-site-header__inner {
		grid-template-columns: 250px minmax(0, 1fr) 132px;
		column-gap: 24px;
		row-gap: 0;
		padding: 12px 22px;
		z-index: 2;
	}
	.onahodouga-db .db-site-header__search-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1099;
		background: rgba(0, 0, 0, .45);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .2s ease, visibility .2s ease;
	}
	.onahodouga-db .db-site-header.is-db-search-focused + .db-site-header__search-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.onahodouga-db .db-site-header.is-db-search-focused .db-site-header__inner { pointer-events: none; }
	.onahodouga-db .db-site-header.is-db-search-focused .db-header-search { pointer-events: auto; }
	.onahodouga-db .db-site-header.is-db-search-focused .db-site-header__conditions { pointer-events: none; }
	.onahodouga-db .db-site-brand { width: 250px; }
	.onahodouga-db .db-site-brand picture,
	.onahodouga-db .db-site-brand img { display: block; width: 100%; max-height: none; }
	.onahodouga-db .db-header-search { grid-column: 2; grid-row: 1; }
	.onahodouga-db .db-header-search .header-search__input,
	.onahodouga-db .db-header-search .header-search__button { height: 49px; }
	.onahodouga-db .db-header-search .header-search__input {
		padding-inline: 17px;
		border-radius: 5px 0 0 5px;
		color: #243840;
		font-size: 16px;
		background: #fff;
		border: 2px solid #a8cbd2;
		border-right: 0;
	}
	.onahodouga-db .db-header-search .header-search__input::placeholder { color: #65757b; opacity: 1; }
	.onahodouga-db .db-header-search .header-search__input:focus { border-color: #00aecb; outline: 1px solid #00aecb; outline-offset: -1px; }
	.onahodouga-db .db-header-search .header-search__button {
		width: 64px;
		border-radius: 0 5px 5px 0;
		background: #00aecb;
		border-color: #00aecb;
	}
	.onahodouga-db .db-site-header__back {
		grid-column: 3;
		width: 132px;
		min-height: 48px;
	}
	.onahodouga-db .db-site-header__back-logo { width: 96px; }
	.onahodouga-db .db-site-header__conditions {
		position: relative;
		z-index: 0;
		isolation: isolate;
		display: flex;
		flex-wrap: wrap;
		min-height: 35px;
		box-sizing: border-box;
		align-items: center;
		gap: 6px;
		padding: 5px 22px;
		color: #49606a;
		background: #eef0f2;
		border-top: 1px solid #dfe3e6;
	}
	.onahodouga-db .db-site-header__conditions::before {
		content: '';
		position: absolute;
		top: -1px;
		bottom: 0;
		left: 50%;
		z-index: -1;
		width: 100vw;
		transform: translateX(-50%);
		background: linear-gradient(to bottom, #dfe3e6 0 1px, #eef0f2 1px);
		pointer-events: none;
	}
	.onahodouga-db .db-site-header__conditions-label { flex: 0 0 auto; margin-right: 6px; font-size: 11px; font-weight: 700; }
	.onahodouga-db .db-site-header__conditions-content { display: contents; }
	.onahodouga-db .db-site-header__conditions-content > span { color: #7d8d92; font-size: 11px; }
	.onahodouga-db .db-site-header__conditions-content:has(.db-results-refine__summary) > span { display: none; }
	.onahodouga-db .db-site-header__conditions .db-results-refine__summary { display: contents; }
	.onahodouga-db .db-site-header__conditions .db-results-refine__current { display: contents; }
	.onahodouga-db .db-site-header__conditions .db-results-refine__current h2 { display: none; }
	.onahodouga-db .db-site-header__conditions .db-results-refine__chips { display: contents; }
	.onahodouga-db .db-site-header__conditions .db-results-refine__chips a { flex: 0 0 auto; padding: 2px 7px; white-space: nowrap; }
	.onahodouga-db .db-site-header__clear { flex: 0 0 auto; margin-left: 4px; padding: 3px 0; color: #168da3; font: inherit; font-size: 11px; background: none; border: 0; cursor: pointer; }
	.onahodouga-db .db-site-header__clear[hidden] { display: none; }
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-header__inner { padding-block: 6px; }
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-brand { width: 200px; }
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-header__inner { grid-template-columns: 200px minmax(0, 1fr) 132px; }
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-header__conditions { display: none; }
}

@media (min-width: 481px) and (max-width: 999.98px) {
	.onahodouga-db .db-site-header__inner,
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-header__inner {
		grid-template-columns: 170px minmax(0, 1fr) 104px;
		column-gap: 12px;
		padding: 10px 16px;
	}
	.onahodouga-db .db-site-brand,
	.onahodouga-db .db-site-header.is-db-header-compact .db-site-brand { width: 170px; }
	.onahodouga-db .db-header-search { order: initial; }
	.onahodouga-db .db-header-search .header-search__button { width: 52px; }
	.onahodouga-db .db-site-header__back { width: 104px; min-height: 44px; }
	.onahodouga-db .db-site-header__back-brand,
	.onahodouga-db .db-site-header__back-logo { width: 76px; }
	/* The portrait DB body keeps its existing search-condition controls. */
	.onahodouga-db .db-site-header__conditions { display: none; }
}

/* Main-site desktop header: keep the existing search form and DB link on one row. */
@media (min-width: 717px) {
	body:not(.onahodouga-db) .site-header__inner {
		display: grid;
		grid-template-columns: 270px minmax(0, 1fr) 156px;
		align-items: center;
		gap: 20px;
		min-height: 82px;
		padding: 5px 20px;
	}
	body:not(.onahodouga-db) .site-branding,
	body:not(.onahodouga-db) .site-branding__row {
		display: contents;
	}
	body:not(.onahodouga-db) .site-title {
		grid-column: 1;
		grid-row: 1;
		width: 270px;
		height: 72px;
		overflow: hidden;
		line-height: 0;
	}
	body:not(.onahodouga-db) .site-title a,
	body:not(.onahodouga-db) .site-title picture {
		display: block;
		width: 100%;
		height: 100%;
	}
	body:not(.onahodouga-db) .site-title .site-logo {
		position: relative;
		top: -39px;
		width: 270px;
		max-width: none;
	}
	body:not(.onahodouga-db) .site-description {
		display: none;
	}
	body:not(.onahodouga-db) .header-search {
		grid-column: 2;
		grid-row: 1;
		width: 100%;
		min-width: 0;
		margin: 0;
	}
	body:not(.onahodouga-db) .header-search__input,
	body:not(.onahodouga-db) .header-search__button {
		height: 44px;
	}
	body:not(.onahodouga-db) .header-search__input {
		border-radius: 4px 0 0 4px;
	}
	body:not(.onahodouga-db) .header-search__button {
		border-radius: 0 4px 4px 0;
	}
	body:not(.onahodouga-db) .site-db-switches {
		grid-column: 3;
		grid-row: 1;
	}
	body:not(.onahodouga-db) .site-db-switch--logo {
		width: 156px;
		flex: 0 0 auto;
		min-height: 52px;
		padding: 4px 8px;
	}
	body:not(.onahodouga-db) .site-db-switch__brand-logo {
		width: 132px;
	}
}

@media (min-width: 1000px) {
	body:not(.onahodouga-db) .site-header .header-search__input:not(:focus) {
		border-color: #cccdd0;
	}
}

@media (min-width: 717px) and (max-width: 999.98px) {
	body:not(.onahodouga-db) .site-header__inner {
		grid-template-columns: 200px minmax(0, 1fr) 120px;
		gap: 12px;
		min-height: 68px;
		padding: 5px 16px;
	}
	body:not(.onahodouga-db) .site-title {
		width: 200px;
		height: 54px;
	}
	body:not(.onahodouga-db) .site-title .site-logo {
		top: -29px;
		width: 200px;
	}
	body:not(.onahodouga-db) .site-db-switch--logo {
		width: 120px;
		min-height: 48px;
		padding-inline: 6px;
	}
	body:not(.onahodouga-db) .site-db-switch__brand {
		width: 106px;
	}
	body:not(.onahodouga-db) .site-db-switch__brand .site-db-switch__brand-logo {
		width: 100%;
	}
}

/* Crop transparent canvas inside the subtitle-free logos used by header links. */
.site-db-switch__brand {
	display: block;
	width: 151px;
	max-width: 100%;
	aspect-ratio: 2172 / 510;
	overflow: hidden;
}
.site-db-switch__brand .site-db-switch__brand-logo {
	width: 100%;
	max-width: none;
	max-height: none;
	transform: translateY(-9%);
}
.db-site-header__back-brand {
	display: block;
	width: 151px;
	max-width: 100%;
	aspect-ratio: 1672 / 460;
	overflow: hidden;
}
.db-site-header__back-brand .db-site-header__back-logo {
	width: 100%;
	max-width: none;
	max-height: none;
	transform: translateY(-25%);
}
.site-db-switch--logo:hover .site-db-switch__brand .site-db-switch__brand-logo,
.site-db-switch--logo:focus-visible .site-db-switch__brand .site-db-switch__brand-logo {
	transform: translateY(calc(-9% - 1px));
}
.db-site-header__back:hover .db-site-header__back-brand .db-site-header__back-logo,
.db-site-header__back:focus-visible .db-site-header__back-brand .db-site-header__back-logo {
	transform: translateY(calc(-25% - 1px));
}
@media (max-width: 799px) {
	.site-db-switch__brand,
	.db-site-header__back-brand { width: 92px; }
}
@media (min-width: 717px) and (max-width: 799.98px) {
	body:not(.onahodouga-db) .site-db-switch__brand { width: 88px; }
}
@media (min-width: 800px) and (max-width: 999.98px) {
	body:not(.onahodouga-db) .site-db-switch__brand { width: 98px; }
}
@media (min-width: 1000px) {
	body:not(.onahodouga-db) .site-db-switch__brand { width: 132px; }
}
@media (min-width: 1000px) {
	.onahodouga-db .db-site-header__back-brand { width: 96px; }
	.onahodouga-db .db-header-search .db-manufacturer-suggestions {
		max-height: min(75vh, 620px);
	}
}

/* Desktop main-site suggestions reuse the DB candidate markup with site colors. */
.site-search-suggestions { display: none; }
@media (min-width: 717px) {
	body:not(.onahodouga-db) .site-header { position: relative; z-index: 101; }
	body:not(.onahodouga-db) .site-header .header-search { position: relative; }
	body:not(.onahodouga-db) .site-header .site-search-suggestions:not([hidden]) {
		position: absolute;
		top: calc(100% + 3px);
		left: 0;
		right: 0;
		z-index: 120;
		display: block;
		max-height: min(52vh, 320px);
		overflow-y: auto;
		background: #fff;
		border: 1px solid #d9dadd;
	}
	body:not(.onahodouga-db) .site-header .site-search-suggestions button {
		display: flex;
		width: 100%;
		min-height: 42px;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 7px 12px;
		color: #30343a;
		text-align: left;
		background: #fff;
		border: 0;
		border-bottom: 1px solid #edf0f1;
		cursor: pointer;
	}
	body:not(.onahodouga-db) .site-header .site-search-suggestions button:last-child { border-bottom: 0; }
	body:not(.onahodouga-db) .site-header .site-search-suggestions button:hover,
	body:not(.onahodouga-db) .site-header .site-search-suggestions button:focus-visible { background: #fff0f5; outline: 0; }
	body:not(.onahodouga-db) .site-header .site-search-suggestions strong { font-size: 13px; }
	body:not(.onahodouga-db) .site-header .site-search-suggestions small { flex: 0 0 auto; color: #788188; font-size: 10px; }
}

/* /db/ has one stable results document; only the category-first entry changes by width. */
.onahodouga-db-home .db-home-mobile-intro { display: none; }
@media (max-width: 999px) {
	.onahodouga-db-home .db-home-mobile-intro { display: block; }
	.onahodouga-db-home .db-results-mobile-browser > .db-results-mobile-search { display: none; }
}
@media (min-width: 481px) and (max-width: 999px) {
	.onahodouga-db-home .db-home-mobile-intro { padding: 16px 12px 20px; background: #fff; }
	.onahodouga-db-home .db-home-mobile-intro__header { margin-bottom: 12px; padding-bottom: 9px; border-bottom: 2px solid #00aecb; }
	.onahodouga-db-home .db-home-mobile-intro__header h1 { margin: 0; color: #087f94; font-size: 19px; }
	.onahodouga-db-home .db-home-mobile-intro__header p { margin: 2px 0 0; color: #68777c; font-size: 11px; }
	.onahodouga-db-home .db-home-mobile-search { display: flex; margin-bottom: 18px; }
	.onahodouga-db-home .db-home-types h2 { margin: 0 0 9px; color: #263b41; font-size: 14px; }
	.onahodouga-db-home .db-home-types__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
	.onahodouga-db-home .db-home-types__grid a { display: flex; min-width: 0; min-height: 62px; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 5px 2px; color: #34464c; font-size: 10.5px; font-weight: 600; text-align: center; text-decoration: none; background: #fff; border: 1px solid #dfe6ea; box-sizing: border-box; }
	.onahodouga-db-home .db-home-types__icon { display: block; width: 25px; height: 25px; flex: 0 0 25px; color: #5f8299; }
	.onahodouga-db-home .db-home-types__icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
}
@media (max-width: 480px) {
	.onahodouga-db-home .db-results-mode { padding: 0; background: #fff; }
	.onahodouga-db-home .db-results-layout { padding: 8px 8px 24px; background: #ccdfe7; }
	.onahodouga-db-home .db-results-toolbar { display: none; }
}

/* DB landing: one search entry below the compact dark brand header. */
@media (max-width: 480px) {
	.onahodouga-db .db-site-header {
		width: 100%;
		background: #26313a;
		border-top-color: #27b8ca;
		box-shadow: none;
	}
	.onahodouga-db .db-site-header__inner { height: 64px; min-height: 64px; padding: 7px 12px; }
	.onahodouga-db .db-site-brand { height: auto; }
	.onahodouga-db .db-site-brand img { max-height: 50px; transform: scale(1.21); transform-origin: left center; }
	.onahodouga-db .db-site-header__back {
		min-height: 42px;
		background: #ff6b95;
		border-color: #ff5e8d;
	}
	.onahodouga-db .db-site-header__back:hover,
	.onahodouga-db .db-site-header__back:focus-visible { background: #e95781; border-color: #e95781; }
	.onahodouga-db-home .db-home-mobile-intro { padding: 12px 12px 14px; }
	.onahodouga-db-home .db-home-mobile-intro__header { display: none; }
	.onahodouga-db-home .db-home-mobile-search { margin-bottom: 12px; }
}
@media (min-width: 481px) and (max-width: 999.98px) {
	body.home:not(.page).onahodouga-db-home .site-shell { width: calc(100% - 32px); min-width: 0; margin-inline: auto; }
	.onahodouga-db-home .db-home-mobile-intro { box-sizing: border-box; width: min(100%, 800px); margin-inline: auto; padding: 12px 16px 16px; }
	.onahodouga-db-home .db-home-mobile-intro__header { display: none; }
	.onahodouga-db-home .db-home-mobile-search { display: none; }
}

/* Portrait DB reuses the mobile facet rails and selection panel, without a PC sidebar. */
@media (min-width: 481px) and (max-width: 999.98px) {
	body.onahodouga-db {
		background-color: #ccdfe7;
		background-image: none;
	}
	.onahodouga-db .db-site-header {
		position: relative;
		top: auto;
		transition: none;
	}
	.onahodouga-db .db-site-header.is-db-header-hidden { transform: none; }
	.onahodouga-db .db-results-mini-filter {
		position: fixed;
		right: 0;
		left: 0;
		z-index: 1050;
		display: grid;
		gap: 5px;
		padding: 6px 16px;
		background: rgb(255 255 255 / 97%);
		border-bottom: 1px solid #dfe6e8;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-100%);
		transition: opacity .14s ease, transform .14s ease;
	}
	.onahodouga-db .db-results-mini-filter.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
	.onahodouga-db .db-results-mini-filter .db-results-mobile-rail button,
	.onahodouga-db .db-results-mini-filter .db-results-mobile-detail-rail button {
		min-height: 30px;
		padding: 4px 10px;
		font-size: 11px;
	}
	.onahodouga-db.has-db-infinite-results .db-results-layout .pagination { display: none; }
	.onahodouga-db .db-infinite-results-status {
		min-height: 20px;
		margin: 10px 0 2px;
		color: #718084;
		font-size: 11px;
		text-align: center;
	}
	.onahodouga-db .db-infinite-results-status.is-loading {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 7px;
	}
	.onahodouga-db .db-infinite-results-status.is-loading::before {
		width: 13px;
		height: 13px;
		box-sizing: border-box;
		content: '';
		border: 2px solid #cfe2e6;
		border-top-color: #28a9bf;
		border-radius: 50%;
		animation: db-infinite-loading-spin .7s linear infinite;
	}
	@keyframes db-infinite-loading-spin { to { transform: rotate(360deg); } }
	@media (prefers-reduced-motion: reduce) {
		.onahodouga-db .db-infinite-results-status.is-loading::before { animation-duration: 1.5s; }
	}
	.onahodouga-db-home .db-home-types__grid a { border-color: #c5d2d8; }
	.onahodouga-db .db-results-mobile-browser {
		display: grid;
		gap: 6px;
		margin: 0 0 8px;
		padding: 11px 16px 9px;
		background: #fff;
		border-bottom: 1px solid #e2e8ea;
	}
	.onahodouga-db .db-results-mobile-browser > .db-results-mobile-search { display: none; }
	.onahodouga-db .db-results-mobile-rail,
	.onahodouga-db .db-results-mobile-detail-rail {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 7px;
		width: 100%;
	}
	.onahodouga-db .db-results-mobile-detail-rail { padding-top: 0; }
	.onahodouga-db .db-results-mobile-rail button,
	.onahodouga-db .db-results-mobile-detail-rail button {
		min-width: 0;
		min-height: 36px;
		padding: 6px 10px;
		color: #35464b;
		font-size: 12px;
		font-weight: 600;
		white-space: nowrap;
		background: #f1f4f5;
		border: 1px solid #c5d0d4;
		border-radius: 17px;
	}
	.onahodouga-db .db-results-mobile-rail button span,
	.onahodouga-db .db-results-mobile-detail-rail button span { margin-left: 4px; color: #718085; font-size: 8px; }
	.onahodouga-db .db-results-mobile-rail button.is-active,
	.onahodouga-db .db-results-mobile-detail-rail button.is-active,
	.onahodouga-db .db-results-mobile-rail button[aria-expanded="true"],
	.onahodouga-db .db-results-mobile-detail-rail button[aria-expanded="true"] {
		color: #126f80;
		background: #e1f5f8;
		border-color: #41adbf;
	}
	.onahodouga-db .db-results-mobile-meta { display: flex; align-items: center; justify-content: space-between; padding: 2px 0 0; color: #617075; font-size: 11px; }
	.onahodouga-db .db-results-mobile-count strong { margin-right: 2px; color: #263b41; font-size: 14px; }
	.onahodouga-db .db-results-mobile-sort select { min-height: 32px; padding: 5px 8px; color: #617075; background: #fff; border: 1px solid #d8e1e4; border-radius: 3px; }
	.onahodouga-db .db-product-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.onahodouga-db .db-results-refine { display: contents; }
	.onahodouga-db .db-results-refine__summary,
	.onahodouga-db .db-results-toolbar { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis] {
		position: fixed;
		z-index: 1100;
		box-sizing: border-box;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 12px;
		background: #fff;
		border: 1px solid #dce5e8;
		box-shadow: 0 7px 20px rgb(36 61 67 / 16%);
	}
	.onahodouga-db .db-results-refine__panel[hidden] { display: none; }
	.onahodouga-db .db-results-filter-backdrop:not([hidden]) { position: fixed; inset: 0; z-index: 1080; display: block; width: 100%; height: 100%; padding: 0; background: rgb(0 0 0 / 6%); border: 0; }
	.onahodouga-db .db-results-mobile-panel-header { display: flex; margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px solid #e7ecee; }
	.onahodouga-db .db-results-mobile-panel-header strong { font-size: 13px; }
	.onahodouga-db .db-results-mobile-panel-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #e7ecee; }
	.onahodouga-db .db-results-mobile-panel-actions button { min-height: 38px; padding: 7px 13px; font-size: 11.5px; border-radius: 3px; }
	.onahodouga-db .db-results-mobile-panel-clear { color: #53666c; background: #fff; border: 1px solid #cbd8dc; }
	.onahodouga-db .db-results-mobile-panel-clear:disabled { color: #a2adb0; background: #f7f9f9; border-color: #e1e7e9; }
	.onahodouga-db .db-results-mobile-panel-show { color: #fff; font-weight: 700; background: #238fa2; border: 1px solid #238fa2; }
	.onahodouga-db .has-mobile-db-layout > .prototype-db-menu__layout,
	.onahodouga-db .db-results-refine__panel .db-mobile-hint,
	.onahodouga-db .db-results-refine__panel .db-mobile-entry,
	.onahodouga-db .db-results-refine__panel .prototype-db-menu__header,
	.onahodouga-db .db-results-refine__panel .prototype-db-menu__footer,
	.onahodouga-db .db-results-refine__panel .db-mobile-details--selections { display: none; }
	.onahodouga-db .db-results-refine__panel .prototype-db-menu.is-db-page-panel { padding: 0; border: 0; }
	.onahodouga-db .db-mobile-layout { display: grid; gap: 12px; }
	.onahodouga-db .db-mobile-layout .db-type-panel,
	.onahodouga-db .db-mobile-layout .prototype-db-group { padding: 0; border: 0; background: #fff; }
	.onahodouga-db .db-mobile-layout .db-type-list,
	.onahodouga-db .db-mobile-layout .prototype-db-group__options { display: flex; flex-wrap: wrap; gap: 8px; }
	.onahodouga-db .db-mobile-layout .db-type-item,
	.onahodouga-db .db-mobile-layout .prototype-db-option,
	.onahodouga-db .db-mobile-featured-makers .prototype-db-maker-option { width: auto; min-width: 0; min-height: 34px; padding: 7px 14px; border-radius: 17px; }
	.onahodouga-db .db-mobile-layout .db-type-item__desc,
	.onahodouga-db .db-mobile-layout .db-type-item__icon,
	.onahodouga-db .db-mobile-layout .prototype-db-option__description { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-layout > [data-facet-axis] > h2,
	.onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-layout > [data-facet-axis] > .db-type-panel__header { display: none; }
	.onahodouga-db .db-mobile-featured-makers { display: flex; flex-wrap: wrap; gap: 8px; }
	.onahodouga-db .db-mobile-featured-makers .prototype-db-maker-option { background: #fbfcfd; border: 1px solid #d7e0e3; box-shadow: none; }
	.onahodouga-db .db-mobile-featured-makers .prototype-db-maker-option b[data-mobile-label] { font-size: 0; }
	.onahodouga-db .db-mobile-featured-makers .prototype-db-maker-option b[data-mobile-label]::after { content: attr(data-mobile-label); font-size: 11px; }
	.onahodouga-db .db-mobile-featured-makers .prototype-db-maker-option small { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis]:not([data-mobile-axis="detail"]) .db-mobile-details--advanced,
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .db-mobile-layout > [data-facet-axis] { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="types"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="types"]),
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="rating"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="rating"]),
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="stimulation"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="stimulation"]),
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="price"] .db-mobile-layout > [data-facet-axis]:not([data-facet-axis="price"]) { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] .db-mobile-details--advanced > summary,
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"] [data-mobile-detail-group] > summary { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-axis="detail"][data-mobile-detail-axis] .db-mobile-details--advanced > [data-mobile-detail-group] { display: none; }
	.onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="hardness"] [data-mobile-detail-group="hardness"],
	.onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="nkp"] [data-mobile-detail-group="nkp"],
	.onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="size"] [data-mobile-detail-group="size"],
	.onahodouga-db .db-results-refine__panel[data-mobile-detail-axis="maker"] [data-mobile-detail-group="maker"] { display: block !important; }
}

/* Portrait-tablet TOP prototype: reuse the first post and the complete PC right sidebar. */
@media (min-width: 717px) and (max-width: 999.98px) {
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-shell {
		width: min(calc(100% - 32px), var(--content-width));
		min-width: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 235px;
		grid-template-areas: "main right";
		gap: 14px;
		padding: 16px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout > .sidebar-left,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > :not(article.post-list-item):not(.mobile-latest-ranking):not(.mobile-monthly-popular):not(.mobile-latest-comments):not(.mobile-home-more) {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:not(:first-of-type):last-of-type {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > .mobile-home-more {
		display: flex;
		width: calc(100% - 24px);
		min-height: 44px;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		margin: 18px 12px 26px;
		padding: 9px 14px;
		color: #3f4144;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.4;
		text-decoration: none;
		background: #fffafa;
		border: 1px solid #e3e4e6;
		border-bottom-color: #f3a5bd;
		border-radius: 2px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout > .sidebar-right {
		display: block;
		width: auto;
		min-width: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-right .sidebar-latest-posts {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content {
		width: auto;
		min-width: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 10px;
		row-gap: 8px;
		padding: 16px 12px 20px;
		background: #fff;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:first-of-type > .post-list-item__mobile-column,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__content {
		display: contents;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__meta,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-comment-count,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__content > * {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__tablet-lead-image {
		display: block;
		grid-column: 1 / -1;
		grid-row: 1;
		margin: 0;
		font-size: 0;
		line-height: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__tablet-lead-image img {
		float: none;
		width: 100%;
		max-width: 100%;
		height: auto;
		margin: 0;
		object-fit: contain;
		border: 1px solid #e1e4e7;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab {
		--category-tab-bg: #f1f4f5;
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		width: max-content;
		max-width: 160px;
		margin: 0;
		padding: 3px 5px;
		color: #626970;
		font-size: 10.5px;
		line-height: 16px;
		background: var(--category-tab-bg);
		border: 1px solid #e1e4e7;
		border-radius: 3px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab[data-tone="review"] { --category-tab-bg: #faedf1; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab[data-tone="ranking"] { --category-tab-bg: #faf3de; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab[data-tone="survey"] { --category-tab-bg: #eaf1fa; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab[data-tone="topics"] { --category-tab-bg: #edf3f5; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__category-tab[data-tone="project"] { --category-tab-bg: #f2edf8; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__mobile-meta {
		display: flex;
		grid-column: 2;
		grid-row: 2;
		align-items: center;
		justify-content: space-between;
		gap: 6px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__mobile-date {
		color: #969ba0;
		font-size: 10px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__mobile-comments {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: 3px 6px;
		color: #555d64;
		font-size: 10px;
		text-decoration: none;
		white-space: nowrap;
		border: 1px solid #efc2cf;
		border-radius: 7px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-title-row {
		display: block;
		grid-column: 1 / -1;
		grid-row: 3;
		min-width: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__title {
		margin: 0;
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type.has-separated-title .post-list-item__title a {
		display: grid;
		gap: 5px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__product-name {
		font-size: 15.5px;
		font-weight: 700;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:first-of-type .post-list-item__review-title {
		color: #444;
		font-size: 14px;
		font-weight: 500;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:nth-of-type(n+2) {
		display: grid;
		grid-template-columns: min(42%, 180px) minmax(0, 1fr);
		align-items: start;
		gap: 10px;
		padding: 14px 12px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .main-content > article.post-list-item:nth-of-type(n+2):not(:has(.post-list-item__content img)) {
		grid-template-columns: minmax(0, 1fr);
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__mobile-column {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 7px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__mobile-column--left {
		gap: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2):not(:has(.post-list-item__content img)) .post-list-item__mobile-column--left {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__mobile-meta {
		display: flex;
		min-width: 0;
		align-items: center;
		justify-content: space-between;
		gap: 6px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__mobile-date {
		color: #969ba0;
		font-size: 10px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__mobile-comments {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: 3px 6px;
		color: #555d64;
		font-size: 10px;
		text-decoration: none;
		white-space: nowrap;
		border: 1px solid #efc2cf;
		border-radius: 7px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-comment-count,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__meta,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__content > * {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__content > :has(img) {
		display: block;
		margin: 0;
		font-size: 0;
		line-height: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__content > :has(img) ~ :has(img) {
		display: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__content img {
		width: 100%;
		height: auto;
		margin: 0;
		object-fit: contain;
		border: 1px solid #e1e4e7;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab {
		--category-tab-bg: #f1f4f5;
		position: relative;
		z-index: 1;
		align-self: flex-start;
		width: fit-content;
		max-width: calc(100% - 4px);
		box-sizing: border-box;
		margin-bottom: -1px;
		padding: 3px 5px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		color: #626970;
		font-size: 10.5px;
		line-height: 16px;
		background: var(--category-tab-bg);
		border: 1px solid #e1e4e7;
		border-bottom-color: var(--category-tab-bg);
		border-radius: 3px 3px 0 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab[data-tone="review"] { --category-tab-bg: #faedf1; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab[data-tone="ranking"] { --category-tab-bg: #faf3de; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab[data-tone="survey"] { --category-tab-bg: #eaf1fa; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab[data-tone="topics"] { --category-tab-bg: #edf3f5; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab[data-tone="project"] { --category-tab-bg: #f2edf8; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__category-tab a {
		color: inherit;
		text-decoration: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-title-row {
		display: block;
		min-width: 0;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__title {
		margin: 0;
		font-size: 13px;
		line-height: 1.5;
		text-align: left;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__product-name {
		display: block;
		font-size: 13.5px;
		font-weight: 700;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .post-list-item:nth-of-type(n+2) .post-list-item__review-title {
		display: block;
		color: #555;
		font-size: 12.5px;
		font-weight: 400;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout > .mobile-latest-ranking,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout > .mobile-monthly-popular,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .site-layout > .mobile-latest-comments {
		display: block;
		grid-column: 1 / -1;
		min-width: 0;
		box-sizing: border-box;
		padding: 14px 12px 22px;
		border-top: 1px solid #ececef;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		margin-bottom: 10px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__title,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__title,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__title {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 0 10px;
		color: #34363a;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.45;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__title { margin-bottom: 0; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__title-icon,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__title-icon,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__title-icon {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		fill: none;
		stroke: #d94f77;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__title-icon { stroke: #a98a4d; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__count--mobile { display: none; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__count--tablet { display: inline; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__grid {
		display: flex;
		gap: 10px;
		margin: 0;
		padding: 0 0 10px;
		list-style: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item {
		flex: 0 0 215px;
		scroll-snap-align: start;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item:nth-child(n + 4) { display: block; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__item { min-width: 0; margin: 0; padding: 0; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item > a,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__image-link,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__text-link {
		display: block;
		min-width: 0;
		color: #34363a;
		text-decoration: none;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__media {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		aspect-ratio: 1;
		overflow: hidden;
		background: #fafafa;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__media img { display: block; width: 100%; height: 100%; margin: 0; object-fit: contain; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__rank {
		position: absolute;
		top: 4px;
		left: 4px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		box-sizing: border-box;
		color: #fff;
		font-size: 13px;
		font-weight: 800;
		background: #a88a43;
		border: 1px solid #fff;
		border-radius: 50%;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item--2 .mobile-latest-ranking__rank { background: #969da4; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item--3 .mobile-latest-ranking__rank { background: #98684e; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__item:nth-child(n + 4) .mobile-latest-ranking__rank { background: #79828b; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__name {
		display: -webkit-box;
		overflow: hidden;
		margin-top: 5px;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-ranking__more { color: #d94f77; font-size: 11.5px; font-weight: 700; text-decoration: none; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__grid {
		display: flex;
		gap: 10px;
		margin: 0;
		padding: 0 0 10px;
		list-style: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__item {
		flex: 0 0 215px;
		scroll-snap-align: start;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__media { position: relative; width: 100%; aspect-ratio: 620 / 360; overflow: hidden; background: #f5f5f5; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__image,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__image img { display: block; width: 100%; height: 100%; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__image img { margin: 0; object-fit: cover; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__rank,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__comments { position: absolute; top: 0; z-index: 2; box-sizing: border-box; white-space: nowrap; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__rank { left: 0; width: 28px; height: 28px; color: #fff; font-size: 12px; font-weight: 700; line-height: 28px; text-align: center; background: #ff6b95; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__comments { right: 0; display: flex; align-items: baseline; gap: 2px; padding: 3px 6px 2px; color: #333; font-size: 11px; text-decoration: none; background: rgb(255 255 255 / 88%); border-bottom: 2px solid #ff6b95; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__comments strong { font-size: 15px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__comments span { font-size: 10px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__text-link { margin-top: 6px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__product-name,
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__article-title { display: -webkit-box; overflow: hidden; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__product-name { color: #303236; font-size: 12.5px; font-weight: 700; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-monthly-popular__article-title { margin-top: 3px; color: #696d72; font-size: 11.5px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__track.latest-comments {
		display: flex;
		gap: 8px;
		margin: 0;
		padding: 0 0 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item.latest-comments__item { flex: 0 0 180px; min-width: 0; margin: 0; padding: 0; border: 0; scroll-snap-align: start; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__card { display: block; padding: 0; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__bubble { height: 72px; box-sizing: border-box; padding: 9px 10px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__excerpt { font-size: 11px; line-height: 1.55; -webkit-line-clamp: 3; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__post-meta { min-height: 38px; margin-top: 8px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__post-meta.has-product-icon { grid-template-columns: 36px minmax(0, 1fr); gap: 6px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__product-icon { width: 36px; height: 36px; flex-basis: 36px; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .mobile-latest-comments__item .latest-comments__post-title { display: -webkit-box; font-size: 10.5px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__summary {
		grid-template-columns: minmax(0, 1fr) 100px;
		gap: 6px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__figure img {
		width: 80px;
		height: 80px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__count p {
		font-size: 12px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__count strong {
		font-size: 36px;
	}
	body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__count-note {
		font-size: 10px;
	}
body.home:not(.page):not(.paged):not(.onahodouga-db) .sidebar-profile__intro h3 {
		white-space: normal;
	}
}

@media (min-width: 1000px) {
	body:not(.home):not(.onahodouga-db) .is-search-results-layout > .main-content > .post-list-item {
		display: grid;
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
		padding: 12px 10px;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-column--left {
		position: relative;
		display: flex;
		min-width: 0;
		flex-direction: column;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-column--right {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 5px 8px;
		min-width: 0;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout > .main-content > .post-list-item.has-portrait-thumbnail { align-items: stretch; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .has-portrait-thumbnail .post-list-item__mobile-column--right {
		position: relative;
		align-content: center;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .has-portrait-thumbnail .post-list-item__mobile-meta { justify-content: flex-start; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .has-portrait-thumbnail .post-list-item__pc-comments {
		position: absolute;
		top: 0;
		right: 0;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__meta,
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__content > * { display: none; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__content { margin: 0; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__content > :has(img) { display: block; margin: 0; font-size: 0; line-height: 0; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__content > :has(img) ~ :has(img) { display: none; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__content img {
		width: 100%;
		height: auto;
		margin: 0;
		object-fit: contain;
		object-position: left top;
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .has-legacy-thumbnail .post-list-item__content img { height: 145px; object-position: center; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab {
		align-self: flex-start;
		width: fit-content;
		max-width: 100%;
		margin-bottom: -1px;
		padding: 2px 5px;
		overflow: hidden;
		color: #626970;
		background: #f1f4f5;
		border: 1px solid #e1e4e7;
		border-radius: 3px;
		font-size: 10.5px;
		line-height: 1.4;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="review"] { background: #faedf1; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="ranking"] { background: #faf3de; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="survey"] { background: #eaf1fa; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="topics"] { background: #edf3f5; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab[data-tone="project"] { background: #f2edf8; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__category-tab a { color: inherit; text-decoration: none; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-meta { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 7px; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__mobile-date { color: #969ba0; font-size: 11px; white-space: nowrap; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-comments {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 8px 9px;
		color: var(--comment-heat-text, #168bd2);
		background: var(--comment-heat-bg, #fff);
		border: 1px solid var(--comment-heat-border, #d5d8dc);
		border-radius: 4px;
		font-size: 12px;
		line-height: 1.3;
		text-decoration: none;
		white-space: nowrap;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-comments::after {
		position: absolute;
		left: 14px;
		bottom: -5px;
		width: 8px;
		height: 8px;
		content: "";
		background: var(--comment-heat-bg, #fff);
		border-right: 1px solid var(--comment-heat-border, #d5d8dc);
		border-bottom: 1px solid var(--comment-heat-border, #d5d8dc);
		transform: rotate(45deg);
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-comments strong { font-weight: 700; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-comments .post-comment-count__fire {
		position: static;
		font-size: 11px;
		line-height: 1;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-comments:hover { color: #d85a83; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-rating {
		display: inline-flex;
		white-space: nowrap;
		font-size: 14px;
		line-height: 1.2;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-rating-filled { color: #e7a400; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-rating-empty { color: #c9cdd1; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-title-row { display: block; grid-column: 1 / -1; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-comment-count { display: none; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__title { margin: 0; font-size: 17px; line-height: 1.5; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__product-name { display: block; font-weight: 700; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__review-title { display: block; color: #555; font-size: 15px; font-weight: 400; }
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-product-meta {
		display: flex;
		grid-column: 1 / -1;
		align-items: center;
		flex-wrap: wrap;
		gap: 5px 10px;
		min-width: 0;
	}
	body:not(.home):not(.onahodouga-db) .is-search-results-layout .post-list-item__pc-maker {
		display: inline-block;
		width: max-content;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 2px 7px;
		overflow: hidden;
		color: #687078;
		background: #f5f6f7;
		border: 1px solid #e5e8ea;
		border-radius: 3px;
		font-size: 11px;
		line-height: 1.45;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* Keep the existing narrow DB product grid; the main site now uses mobile UI here. */
@media (min-width: 481px) and (max-width: 699.98px) {
	.onahodouga-db .db-product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Keep the established PC canvas fixed; narrower desktop windows scroll horizontally. */
@media (min-width: 1000px) and (max-width: 1239.98px) {
	.onahodouga-db .site-shell {
		width: calc(100% - 32px);
		min-width: 0;
	}
}

/* Search units remain one-line, independently removable and scrollable on narrow screens. */
.search-condition-chips[hidden] { display: none !important; }
.search-condition-chips {
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}
.site-header > .search-condition-chips,
.db-site-header > .search-condition-chips { margin: 0 20px 8px; }
.db-results-mobile-browser > .search-condition-chips { margin: 7px 0 0; }
.search-condition-chip {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 7px;
	max-width: min(260px, 75vw);
	padding: 4px 8px;
	border: 1px solid #d8dfe2;
	border-radius: 5px;
	background: #f8fafb;
	color: #465159;
	font-size: 12px;
	line-height: 1.35;
	text-decoration: none;
}
.search-condition-chip__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.search-condition-chip:hover, .search-condition-chip:focus-visible { border-color: #d85a83; color: #a63c60; }
.onahodouga-db .search-condition-chip { border-color: #70949e; background: #314249; color: #fff; }
.onahodouga-db .db-results-mobile-browser .search-condition-chip { border-color: #c9dce0; background: #f5fafb; color: #30464d; }
@media (min-width: 481px) {
	.onahodouga-db .db-results-mobile-browser > .search-condition-chips { display: none; }
}
@media (max-width: 480px) {
	.onahodouga-db .db-site-header > .search-condition-chips { display: none; }
	.db-results-mobile-search + .search-condition-chips { width: 100%; }
	.db-manufacturer-suggestions button { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
	.db-manufacturer-suggestions small { font-size: 10px; font-weight: 400; }
}

/* Keep selected DB conditions and the next query inside one search field. */
.onahodouga-db .db-header-search__entry {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	height: 42px;
	box-sizing: border-box;
	align-items: center;
	gap: 6px;
	padding: 0 8px;
	background: #fff;
	border: 2px solid #a8cbd2;
	border-right: 0;
	border-radius: 5px 0 0 5px;
}
.onahodouga-db .db-header-search__entry:focus-within { border-color: #00aecb; }
.onahodouga-db .db-header-search__entry > .search-condition-chips {
	flex: 0 1 auto;
	max-width: calc(100% - 96px);
	overflow-x: auto;
	scrollbar-width: none;
}
.onahodouga-db .db-header-search__entry > .search-condition-chips::-webkit-scrollbar { display: none; }
.onahodouga-db .db-header-search__entry .search-condition-chip {
	max-width: min(220px, 56vw);
	padding: 3px 7px;
	border-color: #c9dce0;
	background: #f5fafb;
	color: #30464d;
}
.onahodouga-db .db-header-search .db-header-search__entry > .header-search__input {
	flex: 1 0 90px;
	width: 0;
	min-width: 90px;
	height: 100%;
	padding: 0 3px;
	background: transparent;
	border: 0;
	border-radius: 0;
	outline: 0;
}
.onahodouga-db .db-header-search .db-header-search__entry > .header-search__input:focus { border: 0; outline: 0; }
.onahodouga-db .db-site-header__conditions-label,
.onahodouga-db .db-site-header__conditions .db-results-refine__chips { display: none; }
.onahodouga-db .db-results-mobile-search__entry {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	align-items: center;
	gap: 6px;
	padding: 0 7px;
	background: #fff;
	border: 1px solid #cfdadd;
	border-right: 0;
	border-radius: 3px 0 0 3px;
}
.onahodouga-db .db-results-mobile-search__entry:focus-within { border-color: #35aec3; }
.onahodouga-db .db-results-mobile-search__entry > .search-condition-chips {
	flex: 0 1 auto;
	max-width: calc(100% - 92px);
	overflow-x: auto;
	scrollbar-width: none;
}
.onahodouga-db .db-results-mobile-search__entry > .search-condition-chips::-webkit-scrollbar { display: none; }
.onahodouga-db .db-results-mobile-search__entry .search-condition-chip {
	max-width: min(220px, 56vw);
	padding: 3px 7px;
	border-color: #c9dce0;
	background: #f5fafb;
	color: #30464d;
}
.onahodouga-db .db-results-mobile-search__entry > input[type="search"] {
	flex: 1 0 86px;
	width: 0;
	min-width: 86px;
	height: 100%;
	padding: 0 2px;
	color: #27383d;
	font-size: 16px;
	background: transparent;
	border: 0;
	outline: 0;
}
@media (min-width: 481px) {
	.onahodouga-db .db-header-search__entry { height: 46px; }
}
@media (min-width: 1000px) {
	.onahodouga-db .db-header-search__entry { height: 49px; }
}

/* Keyword chips stay in the field; facet chips occupy the existing gray strip. */
.onahodouga-db-results .db-site-header__conditions:not(:has(.search-condition-chip)) {
	display: none;
}
.onahodouga-db-results .db-site-header__conditions:has(.search-condition-chip) {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 35px;
	padding: 5px 12px;
	box-sizing: border-box;
	background: #eef0f2;
	border-top: 1px solid #dfe3e6;
}
.onahodouga-db-results .db-site-header__conditions-content {
	display: flex;
	flex: 0 1 auto;
	min-width: 0;
}
.onahodouga-db-results .db-site-header__conditions-content > .search-condition-chips {
	max-width: 100%;
}
.onahodouga-db-results .db-site-header__conditions .search-condition-chip {
	padding: 2px 7px;
	white-space: nowrap;
}
.onahodouga-db-results .db-site-header__clear {
	flex: 0 0 auto;
	margin-left: 4px;
	padding: 3px 0;
	color: #168da3;
	font: inherit;
	font-size: 11px;
	background: none;
	border: 0;
	cursor: pointer;
}
.onahodouga-db-results .db-site-header__clear[hidden] { display: none; }

.onahodouga-db-results .db-product-card__price-era {
	flex: 0 0 auto;
	padding: 2px 5px;
	border-radius: 3px;
	background: #edf0f2;
	color: #7f8b90;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}
.onahodouga-db-results .db-product-card__price-era-mobile { display: none; }
@media (min-width: 481px) {
	.onahodouga-db-results .db-product-card__mobile-price {
		flex-wrap: nowrap;
		gap: 5px;
	}
	.onahodouga-db-results .db-product-card__mobile-price > span,
	.onahodouga-db-results .db-product-card__mobile-price > strong { white-space: nowrap; }
}
@media (min-width: 1000px) {
	.onahodouga-db-results.has-db-desktop-sidebar .db-product-card__mobile-price {
		flex-wrap: nowrap;
		column-gap: 3px;
	}
}
@media (max-width: 600px) {
	.onahodouga-db-results .db-product-card__mobile-price {
		flex-wrap: wrap;
		row-gap: 0;
	}
	.onahodouga-db-results .db-product-card__price-era { display: none; }
	.onahodouga-db-results .db-product-card__price-era-mobile {
		display: block;
		flex-basis: 100%;
		color: #899399;
		font-size: 11px;
		font-weight: 400;
	}
}

/* Keep the smartphone projects directory compact without changing the variety page. */
@media (max-width: 716px) {
	.projects-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
	.projects-directory .variety-directory__item { min-width: 0; padding: 14px 0 16px; }
	.projects-directory .variety-directory__image { width: 100%; aspect-ratio: auto; }
	.projects-directory .variety-directory__image img { display: block; width: 100%; height: auto; }
	.projects-directory .variety-directory__copy { padding-top: 8px; }
	.projects-directory .variety-directory__copy strong { font-size: 14px; line-height: 1.45; }
	.projects-directory .variety-directory__copy small { font-size: 12px; line-height: 1.5; }
}
