/* 
	red 	#D90500
	white	#fff
	gray	#DEE2E0
	dgray	#6E7264
	vdgray	#3a3d35
	black	#030303
*/
@font-face {
	font-family: 'Montserrat-Bold';
	src: url('../fonts/Montserrat-Bold.ttf');
}
@font-face {
	font-family: 'Montserrat-Regular';
	src: url('../fonts/Montserrat-Regular.ttf');
}
@font-face {
	font-family: 'Montserrat-Light';
	src: url('../fonts/Montserrat-Light.ttf');
}
/* foundation extensions */
.row.full {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 90rem;
}
.row.full>.column:first-child,.row.full>.columns:first-child {
	padding-left: 0;
}
.row.full>.column:last-child,.row.full>.columns:last-child {
	padding-right: 0;
}
.flex-row {
	display: flex;
	flex-wrap: wrap;
}
.flex-row .columns {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.button {
	background-color: #D90500;
	border-color: #D90500;
	color: white;
	float: left;
	padding: 1rem 2rem;
	margin: 1rem 1px;
	text-decoration: none;
	display: block;
	text-align: center;
}
.button>div>svg {
	display: none;
	width: 0;
	height: 0;
}
.button:hover {
	background-color: #fff;
	border-color: #fff;
	color: #D90500;
}
/* foundation extensions end */
html {
	font-size: 16px;
	scroll-behavior: smooth;
}
:root {
	--renewal-main-nav-height: 5.3125rem;
	--renewal-game-submenu-height: 3rem;
	--renewal-product-breadcrumb-height: 2.05rem;
	--renewal-unified-breadcrumb-height: 2.05rem;
	--renewal-secondary-nav-z-index: 1190;
}
@media only screen and (max-width: 64em) {
	:root {
		--renewal-main-nav-height: 4.8125rem;
	}
}
html.template-game-detail {
	scroll-padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-game-submenu-height) + 0.5rem);
}
html.template-shop-detail {
	--renewal-unified-breadcrumb-height: var(--renewal-product-breadcrumb-height);
}
html.template-shop-detail,
html.template-support-detail {
	scroll-padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height) + 0.5rem);
}
html.template-game-detail header .contain-to-grid.sticky,
html.template-game-detail header .contain-to-grid.fixed,
html.template-shop-detail header .contain-to-grid.sticky,
html.template-shop-detail header .contain-to-grid.fixed,
html.template-support-detail header .contain-to-grid.sticky,
html.template-support-detail header .contain-to-grid.fixed,
body:has(> article.game-detail) header .contain-to-grid.sticky,
body:has(> article.game-detail) header .contain-to-grid.fixed,
body:has(> article.game-detail-subpage) header .contain-to-grid.sticky,
body:has(> article.game-detail-subpage) header .contain-to-grid.fixed,
body:has(> article#game-detail-shop) header .contain-to-grid.sticky,
body:has(> article#game-detail-shop) header .contain-to-grid.fixed,
body:has(> article#support) header .contain-to-grid.sticky,
body:has(> article#support) header .contain-to-grid.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 1200 !important;
}
html.template-game-detail body > article.game-detail,
html.template-game-detail body > article.game-detail-subpage,
body > article.game-detail,
body > article.game-detail-subpage {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-game-submenu-height));
}
html.template-game-detail body > article.game-detail [id],
html.template-game-detail body > article.game-detail-subpage [id],
body > article.game-detail [id],
body > article.game-detail-subpage [id] {
	scroll-margin-top: calc(var(--renewal-main-nav-height) + var(--renewal-game-submenu-height) + 0.5rem);
}
html.template-shop-detail #game-detail-shop [id],
html.template-support-detail #support [id],
#game-detail-shop [id],
#support [id] {
	scroll-margin-top: calc(var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height) + 0.5rem);
}
/* Foundation topbar sticky behavior injects body.f-topbar-fixed padding on scroll.
 * Detail templates already reserve fixed-header space, so suppress that extra lane
 * to prevent Chromium scroll-position oscillation/jumping.
 */
html.template-game-detail body.f-topbar-fixed,
html.template-shop-detail body.f-topbar-fixed,
html.template-support-detail body.f-topbar-fixed,
body:has(> article.game-detail).f-topbar-fixed,
body:has(> article.game-detail-subpage).f-topbar-fixed,
body:has(> article#game-detail-shop).f-topbar-fixed,
body:has(> article#support).f-topbar-fixed {
	padding-top: 0 !important;
}
body {
    max-width: 100%;
    overflow-x: hidden;
}
body {
	font-size: 1rem;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	margin: 0;
	padding: 0;
	background: #030303;
	color: white;
}
#light {
	background: white;
	color: #030303;
}
a {
	color: #D90500;
}
a:hover,
a:focus,
a:active {
	color: #7A7A7A;
}
/* woocommerce */
.screen-reader-text,.wc-tabs,.woocommerce-Tabs-panel--description,footer #menu-menu-us-1 li.pll-parent-menu-item,footer #menu-menu-us-1 li.lang-item,footer #menu-menu-jp-1 li.pll-parent-menu-item,footer #menu-menu-jp-1 li.lang-item,.cart .hidden,.woocs_auto_switcher {
	visibility: hidden;
	display: none;
	width: 0;
	height: 0;
	margin: 0;
}
.product-info {
	height: 6rem;
}
.price {
	display: block;
	bottom: 0;
	left: 0;
	text-align: center;
	/* float:left;
	*/
}
.products .price {
	display: block;
	bottom: 0;
	left: 0;
	text-align: left;
	/* float:left;
	*/
}
.single_add_to_cart_button {
	width: 100%;
}
/* WooCommerce notice fix:
 * Keep notices clear of floated content and style cart success notices with
 * a boxed message + checkmark + stacked action button.
 */
.woocommerce .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce .woocommerce-notices-wrapper .woocommerce-error {
	clear: both;
}
.woocommerce .woocommerce-notices-wrapper .woocommerce-message::after,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info::after,
.woocommerce .woocommerce-notices-wrapper .woocommerce-error::after {
	content: '';
	display: table;
	clear: both;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
	padding: 1rem 1rem 1rem 3rem;
	background: #DEE2E0;
	border-left: 4px solid #D90500;
	color: #030303;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	line-height: 1.5;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before {
	content: '';
	position: absolute;
	left: 1rem;
	top: 1.05rem;
	width: 1.25rem;
	height: 1.25rem;
	background-image: url('../design/icons/greentick.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::after {
	content: none;
	display: none;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .renewal-cart-message-text {
	display: block;
	width: 100%;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .renewal-cart-message-action {
	display: block;
	width: 100%;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message > .button.wc-forward {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	white-space: nowrap !important;
}
/* Fallback when JS is unavailable: keep cart action button text sizes consistent. */
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message > .button.wc-forward,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	font-size: 1rem;
}
@media only screen and (max-width: 30em) {
	.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
		margin: 0 0 1rem;
		padding: 0.875rem 0.875rem 0.875rem 2.5rem;
	}
	.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before {
		left: 0.75rem;
		top: 0.95rem;
		width: 1rem;
		height: 1rem;
	}
}
.woocommerce .woocommerce-billing-fields > h3,
.woocommerce #order_review_heading {
	clear: both;
}
/* Match the "via {method}" text style with other order details totals text. */
.woocommerce-order-details .shop_table.order_details tfoot td .shipped_via {
	font-size: inherit;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

/* wwocommerce ends */
footer {
	background: #3a3d35;
	padding: 4rem 1rem;
}
footer ul {
	list-style: none;
}
/* Footer navigation:
 * deterministic 2-column mobile layout (EN + JA) with clear heading/sublink hierarchy.
 */
footer .footer-nav-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
}
footer .footer-nav-column {
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
footer .footer-nav-group {
	list-style: none;
	margin: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
footer .footer-nav-heading {
	display: block;
	margin: 0;
	padding: 0 0 0.35rem;
	border-bottom: 1px solid rgba(255,255,255,0.25);
	color: #fff;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.92rem;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
}
footer .footer-nav-heading:hover {
	color: #D90500;
}
footer .footer-nav-sublinks {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
}
footer .footer-nav-subitem {
	margin: 0 0 0.45rem;
}
footer .footer-nav-subitem:last-child {
	margin-bottom: 0;
}
footer .footer-nav-subitem-link {
	display: block;
	color: #e2e2e2;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: 0.8rem;
	line-height: 1.35;
	min-width: 0;
	text-transform: none;
	text-decoration: none;
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
}
footer .footer-nav-subitem-link:hover,
footer .footer-nav-subitem-link:focus,
footer .footer-nav-subitem-link:focus-visible {
	color: #D90500;
}
@media only screen and (min-width: 64.063em) {
	footer .footer-nav-columns {
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}
	footer .footer-nav-column {
		display: contents;
	}
	footer .footer-nav-group {
		padding: 0;
		border: 0;
		background: transparent;
	}
	footer .footer-nav-subitem-link {
		white-space: normal;
		overflow-wrap: break-word;
	}
}
footer ul li ul {
	margin: 0;
}
footer ul a,.game-listing .submenu ul a {
	color: #fff;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	text-decoration: none;
	text-decoration: none;
}
footer ul a:hover,.game-listing .submenu ul a:hover {
	color: #D90500;
}
footer ul li ul li a {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	text-transform: none;
	font-size: small;
	text-decoration: none;
}
/* Keep JP and EN footer links readable in narrow columns. */
footer .footer-nav-subitem-link {
	word-break: break-word;
}
footer .footer-logo {
	margin: 0 auto 2rem auto;
	display: table;
}
footer .footer-logo a {
	background-image: url('../design/exa_logo_power.png');
	float: left;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -99999em;
	white-space: nowrap;
	overflow: hidden;
	height: 6rem;
	aspect-ratio: 1/1;
}
footer .footer-social {
	--footer-social-button-size: 40px;
	--footer-social-icon-scale: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin: 20px 0 16px 0;
	font-family: "Montserrat", sans-serif;
}
footer .footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--footer-social-button-size);
	height: var(--footer-social-button-size);
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.3);
	color: #ccc;
	background: transparent;
	text-decoration: none;
	line-height: 0;
	transition: background-color 0.25s cubic-bezier(0.4,0,0.2,1), border-color 0.25s cubic-bezier(0.4,0,0.2,1), color 0.25s cubic-bezier(0.4,0,0.2,1), transform 0.25s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s cubic-bezier(0.4,0,0.2,1);
}
footer .footer-social-link svg {
	width: var(--footer-social-icon-scale);
	height: var(--footer-social-icon-scale);
	fill: currentColor;
	display: block;
}
footer .footer-social-link--facebook svg {
	transform: translate(0,-1px);
}
footer .footer-social-link--facebook:hover svg,
footer .footer-social-link--facebook:focus svg,
footer .footer-social-link--facebook:focus-visible svg {
	transform: translate(0,-1px);
}
footer .footer-social-link:hover,
footer .footer-social-link:focus,
footer .footer-social-link:focus-visible {
	background: #dd0500;
	border-color: #dd0500;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(221,5,0,0.4);
}
footer .footer-social-link:focus {
	outline: none;
}
footer .footer-social-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
footer p {
	color: #fff;
	font-size: smaller;
	text-align: center;
}
.landing-page {
	max-width: 80rem;
	margin: 0 auto;
}
:root {
	--renewal-cta-font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	--renewal-cta-font-size: 0.9rem;
	--renewal-cta-font-weight: 700;
	--renewal-cta-line-height: 1.2;
	--renewal-cta-letter-spacing: normal;
	--renewal-cta-text-transform: uppercase;
	--renewal-cta-radius: 8px;
	--renewal-cta-shadow: 0 8px 18px rgba(3, 3, 3, 0.18);
	--renewal-media-radius: 16px;
	--renewal-media-radius-sm: 12px;
	--renewal-mobile-stack-gap: clamp(1.5rem, 5vw, 2.5rem);
}
.button-red-shadowed {
	text-transform: uppercase;
	color: #fff;
	font-family: var(--renewal-cta-font-family);
	font-size: var(--renewal-cta-font-size);
	font-weight: var(--renewal-cta-font-weight);
	line-height: var(--renewal-cta-line-height);
	letter-spacing: var(--renewal-cta-letter-spacing);
	text-transform: var(--renewal-cta-text-transform);
	background-color: #D90500;
	padding: 0.75rem 4rem;
	box-shadow: var(--renewal-cta-shadow);
	margin-inline: auto;
	/* to make correct size when aligned in flex */
	margin-bottom: 2.5rem;
	text-decoration: none;
	border-radius: var(--renewal-cta-radius);
}
.align-bottom-center {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: end;
}
.scrolling-header {
	width: 100%;
	aspect-ratio: 1440/343;
	display: block;
	/* temp */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('../design/games-listing-header-temp.png');
}
.game-listing .submenu {
	margin: 2rem auto;
	max-width: 90rem;
}
.game-listing .submenu ul {
	font-size: 0.75rem;
}
.game-grid {
	width: 100%;
	max-width: 90rem;
	margin: 0 auto;
}
.game-grid a {
	display: block;
	padding: 0;
	margin-bottom: 3rem;
	height: 12rem;
}
.game-grid a.game-card-link {
	position: relative;
}
.game-grid a.featured {
	display: block;
	padding: 0;
	height: 36rem;
}
.game-grid a figure {
	padding: 0;
	margin: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	aspect-ratio: 16/9;
	border-radius: 4px;
}
.game-grid a .game-card-thumbnail {
	position: relative;
	overflow: hidden;
	background-color: #000;
	border-radius: 4px;
}
.game-grid a .game-card-thumbnail .game-card-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.game-grid a .game-card-video-preview {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}
.game-grid a .game-card-video-preview iframe,
.game-grid a .game-card-video-preview video {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	object-fit: cover;
}
.game-grid a:hover figure {
	border: 4px #fff solid;
	background-size: cover;
}
.game-grid a.featured figure {
}
.game-grid a p {
	margin: 0;
	padding: 0;
	color: #fff;
}
.game-grid a .game-name {
	float: left;
	text-transform: uppercase;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
.game-grid a .availability {
	clear: left;
	float: left;
	font-family: "Montserrat-Light", Helvetica, Arial, sans-serif;
	color: #6E7264;
}
.game-grid a.featured .availability {
	clear: none;
	float: right;
}
.game-grid a .intro {
	float: left;
}
.game-grid a.featured .intro {
	float: left;
	margin-top: 1rem;
}
.game-grid a:hover p {
	color: #D90500;
}
.game-detail-subpage .kt-btns-wrap {
	display: none;
	height: 0;
	margin: 0;
	padding: 0;
	line-height: 0;
}
.game-detail .game-info {
	background: #030303;
}
.game-detail .game-section-divider {
	border: 0;
	border-top: 1px solid #6e7264;
	margin: 0 auto 1.5rem auto;
	max-width: 90rem;
	opacity: 0.7;
}
.game-detail h3,.game-detail .game-info p,.game-detail .game-info li,.game-detail-subpage h3 {
	color: #fff;
}
.game-info .detail-points li {
	list-style: none;
	line-height: 2.5rem;
	background-image: url('../design/icons/players-white.png');
	background-position: left 0.45rem;
	background-repeat: no-repeat;
	padding-left: 2.5rem;
	background-size: 1.375rem;
	font-family: 'Montserrat-Bold';
}
.game-info ul .game-info-players {
	background-image: url('../design/icons/players-white.png');
}
.game-info ul .game-info-genre {
	background-image: url('../design/icons/genre-white.png');
}
.game-info ul .game-info-languages {
	background-image: url('../design/icons/languages-white.png');
}
.game-info ul .game-info-jvs {
	background-image: url('../design/icons/jvs-white.png');
}
.game-info ul .game-info-inputlag {
	background-image: url('../design/icons/lag-white.png');
}
.game-info ul .game-info-monitor {
	background-image: url('../design/icons/monitor-white.png');
}
section#game-info.game-info .detail-points {
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 6px;
	padding: 1rem 1.25rem;
}
section#game-info.game-info .detail-points li.game-info-languages .game-info-detail-line,
section#game-info.game-info .detail-points li.game-info-languages .languages-text-content,
section#game-info.game-info .detail-points li.game-info-monitor .game-info-detail-line,
section#game-info.game-info .detail-points li.game-info-monitor .monitor-text-content {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-weight: 400;
}
section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	vertical-align: middle;
	margin-left: 0.25rem;
}
section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img {
	width: 5rem;
	height: auto;
	margin-bottom: 0;
	display: inline-block;
}
section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img.monitor-icon-featured {
	filter: drop-shadow(0 0 6px rgba(217, 5, 0, 1)) drop-shadow(0 0 12px rgba(217, 5, 0, 0.8)) drop-shadow(0 0 20px rgba(217, 5, 0, 0.5));
}
@media only screen and (max-width: 40em) {
	section#game-info.game-info .detail-points {
		padding: 0.75rem 1rem;
	}
	section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row {
		display: flex;
		flex-wrap: wrap;
		margin-left: 0;
		margin-top: 0.5rem;
	}
	section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img {
		width: 4rem;
	}
}
.game-detail h3,.game-detail-subpage h3 {
	font-size: 1.25rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
.game-detail .game-submenu,.game-detail-subpage .game-submenu,.gc-page.gc-page--with-submenu .game-submenu {
	height: 3rem;
	background-color: #03030395;
	z-index: var(--renewal-secondary-nav-z-index);
	position: fixed;
	width: 100%;
	margin-bottom: 3rem;
	top: var(--renewal-main-nav-height);
	will-change: transform;
}
.game-detail a.game-submenu-logo,.game-detail-subpage a.game-submenu-logo,.gc-page.gc-page--with-submenu a.game-submenu-logo {
	float: left;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -99999em;
	white-space: nowrap;
	overflow: hidden;
	height: 2.5rem;
	margin-top: 0.25rem;
	width: 8rem;
}
.button-red {
	text-transform: uppercase;
	color: #fff;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	background-color: #D90500;
	padding: 0.35rem 1.25rem;
	margin: 0.55rem 0;
	font-size: 0.75rem;
	float: right;
	text-decoration: none;
	border-radius: 8px;
}
.button-red:hover {
	background-color: #fff;
	color: #D90500;
}
.game-submenu ul {
	display: table;
	width: 100%-16rem;
	margin: 0 auto;
	/* float:left;
	*/
}
.game-submenu ul li {
	display: table-cell;
}
.game-submenu ul li a {
	display: block;
	text-align: center;
	padding: 0.85rem 1rem 0 1rem;
	height: 3rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	color: #b3b8a6;
	font-size: 0.9rem;
	text-decoration: none;
}
.game-submenu ul li a.extra {
	background-color: #fff;
}
.game-submenu ul li a:hover {
	color: white;
}

/* Shared single-game submenu layout (EN/JA). */
.game-detail .game-submenu .game-submenu-row,
.game-detail-subpage .game-submenu .game-submenu-row,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.game-detail .game-submenu .game-submenu-logo-cell,
.game-detail-subpage .game-submenu .game-submenu-logo-cell,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-logo-cell {
	flex: 0 0 8rem;
	min-width: 8rem;
}
.game-detail .game-submenu a.game-submenu-logo,
.game-detail-subpage .game-submenu a.game-submenu-logo,
.gc-page.gc-page--with-submenu .game-submenu a.game-submenu-logo {
	float: none;
	display: inline-block;
}
.game-detail .game-submenu .game-submenu-nav-cell,
.game-detail-subpage .game-submenu .game-submenu-nav-cell,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-cell {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	text-align: center;
}
.game-detail .game-submenu .game-submenu-nav-frame,
.game-detail-subpage .game-submenu .game-submenu-nav-frame,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-frame {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.game-detail .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell,
.game-detail-subpage .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell {
	flex: 1 1 auto;
	min-width: 0;
}
.game-detail .game-submenu .game-submenu-links,
.game-detail-subpage .game-submenu .game-submenu-links,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	gap: 20px;
	height: 3rem;
	width: max-content;
}
.game-detail .game-submenu .game-submenu-links li,
.game-detail-subpage .game-submenu .game-submenu-links li,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links li {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: max-content;
}
.game-detail .game-submenu .game-submenu-links li a,
.game-detail-subpage .game-submenu .game-submenu-links li a,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links li a {
	display: inline-flex;
	align-items: center;
	height: 3rem;
	padding: 0 0.5rem;
	flex: 0 0 auto;
	white-space: nowrap;
}
.game-detail .game-submenu .game-submenu-actions-cell,
.game-detail-subpage .game-submenu .game-submenu-actions-cell,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-actions-cell {
	flex: 0 0 8rem;
	min-width: 8rem;
	text-align: right;
}
.game-detail .game-submenu .game-submenu-actions-cell .button-red,
.game-detail-subpage .game-submenu .game-submenu-actions-cell .button-red,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-actions-cell .button-red {
	display: inline-block;
	white-space: nowrap;
	float: none;
}
/* Hide submenu scroll indicators by default; mobile portrait styles enable them. */
.game-detail .game-submenu .game-submenu-nav-cell .game-submenu-scroll-arrow,
.game-detail-subpage .game-submenu .game-submenu-nav-cell .game-submenu-scroll-arrow,
.game-detail .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow,
.game-detail-subpage .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-cell .game-submenu-scroll-arrow,
.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow {
	display: none;
}

/* Hero purchase button stack (EN/JA).
 * Keep the buttons left-aligned under release text and within the hero column width.
 */
.game-detail .hero-image .game-purchase-buttons-hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.8rem;
	margin-top: 0.75rem;
	margin-bottom: 1.1rem;
	width: fit-content;
	max-width: 100%;
}
.game-detail .hero-image .game-purchase-buttons-hero .button-red-shadowed {
	display: inline-flex;
	width: auto;
	min-width: 15rem;
	max-width: min(100%, 22rem);
	box-sizing: border-box;
	margin: 0;
	margin-inline: 0;
	padding: 0.85rem 1.6rem;
	font-size: 1.05rem;
	/* Lighter than the default Bold CTA — Montserrat-Bold is a fixed-weight file,
	   so the family must change (not just font-weight) to lighten the glyphs. */
	font-family: 'Montserrat-Bold', Helvetica, Arial, sans-serif;
	font-weight: 500;
	justify-content: center;
	text-align: center;
	line-height: 1.2;
	white-space: normal;
}
/* Left-align the arcade icons to the CTA button's start edge. The grid's
   auto-fill tracks + justify-content:center pushed the first icon ~13px right. */
.game-detail .hero-image .boxIcons,
.inside-hero-image .boxIcons {
	justify-content: start;
}
.game-detail .hero-image .game-purchase-buttons-hero.is-placeholder {
	min-height: 3.2rem;
}

/* Guard the slider layout from being affected by prior floating/stacked content. */
.game-detail > .row.full,
.game-detail > section#gallery.game-detail-slider {
	clear: both;
}
.game-detail > .row.full > .column.small-12:empty,
.game-detail-subpage > .row.full > .column.small-12:empty {
	display: none;
}
.game-detail > .row.full > section#gallery.game-detail-slider,
.game-detail-subpage > .row.full > section#gallery.game-detail-slider,
.game-detail > .row.full > .column.small-12:empty + section#gallery.game-detail-slider,
.game-detail-subpage > .row.full > .column.small-12:empty + section#gallery.game-detail-slider {
	clear: both;
	float: none;
	display: block;
}
.game-detail.has-multi-purchase-buttons .boxIcons {
	margin-bottom: 1.5rem;
}
.game-detail.has-multi-purchase-buttons .game-detail-slider {
	/* Scale the upward pull with viewport width so the gallery keeps a constant
	   gap below the info icons as the hero (aspect-ratio:1440/870) shrinks.
	   -22.22vw == -20rem at 1440px; clamped so very wide/narrow stay sane. */
	margin-top: clamp(-20rem, -22.22vw, -8rem);
}

.game-detail .hero-image {
	width: 100%;
	margin: 1rem auto 0 auto;
	aspect-ratio: 1440/870;
/* 	min-height: 40rem; */
	max-width: 90rem;
	padding-top: 4rem;
}
.game-detail .hero-image::before {
	content: '';
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 100%;
	aspect-ratio: 1440/870;
/* 	min-height: 40rem; */
	max-width: 90rem;
	filter: brightness(75%);
	z-index: -1;
	top: 0;
	margin: 5rem auto 0 auto;
}
.game-detail .hero-image h2,.game-detail .hero-image p {
	color: #fff;
	text-shadow: 0px 1px 4px #000;
}
.hero-image p {
}
.inside-hero-image .exaclusive {
	width: 14rem
}
.inside-hero-image h2 {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	text-transform: uppercase;
	margin: 1.5rem auto;
}
.game-detail .game-cabinet {
	width: 100%;
	margin: 1rem auto 2rem auto;
	max-width: 90rem;
}
.game-detail .game-cabinet h3 {
	margin: 2rem 0;
}
.game-detail .game-cabinet .game-cabinet-image-wrap {
	text-align: center;
	max-width: clamp(36rem, 90vw, 88rem);
	margin: 0 auto;
	padding: 0 1rem;
}
.game-detail .game-cabinet .game-cabinet-image {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: min(90vh, 68rem);
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}
@media only screen and (max-width: 64rem) {
	.game-detail .game-cabinet .game-cabinet-image-wrap {
		max-width: min(96vw, 60rem);
		padding: 0 0.5rem;
	}
	.game-detail .game-cabinet .game-cabinet-image {
		max-height: min(80vh, 48rem);
	}
}
.game-detail .game-features {
	width: 100%;
	margin: 1rem auto 2rem auto;
	max-width: 90rem;
	position: relative;
}
.game-detail .game-features::before {
	content: '';
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: 90rem;
	-webkit-filter: brightness(35%) blur(5px);
	filter: brightness(35%) blur(5px);
	z-index: -1;
	top: 0;
	left: 0;
}
.game-detail-slider {
	margin-bottom: 4rem !important;
	/* See note above: scale the upward pull with viewport width so the gallery
	   never rides up over the info icons/CTA on non-maximized desktop windows. */
	margin-top: clamp(-20rem, -22.22vw, -8rem);
	margin-left: 3rem;
	margin-right: 3rem;
	padding: 0 2rem;
}
/* Product (shop detail) gallery: its two-column hero + float clearance makes the
   negative-margin tuck snap (a big blank gap appears at non-maximized desktop
   widths, only closing at full width). Pull the gallery up with a transform
   instead — it moves visually without triggering float clearance, so the position
   scales linearly — and compensate the vacated space so following content keeps
   its spacing. Desktop-only; mobile keeps the stacked layout below. */
@media only screen and (min-width: 64.0625rem) {
	#game-detail-shop .game-detail-slider {
		margin-top: 0;
		transform: translateY(-18vw);
		margin-bottom: calc(4rem - 18vw) !important;
	}
}
/* Collapse the gallery lane when no carousel/gallery content exists. */
body > article.game-detail.no-carousel > section#game-info.game-info,
body > article.game-detail-subpage.no-carousel > section#game-info.game-info,
body > article.game-detail > section#game-info.game-info.no-carousel,
body > article.game-detail-subpage > section#game-info.game-info.no-carousel {
	margin-top: -224px;
	position: relative;
	z-index: 2;
}
@media only screen and (max-width: 64rem) {
	.game-detail-slider {
		margin-top: 0rem;
		margin-left: 1rem;
		margin-right: 1rem;
	}
	body > article.game-detail:not(.no-carousel) > section#gallery.game-detail-slider,
	body > article.game-detail-subpage:not(.no-carousel) > section#gallery.game-detail-slider {
		margin-top: 0.75rem;
	}
	body > article.game-detail.no-carousel > section#game-info.game-info,
	body > article.game-detail-subpage.no-carousel > section#game-info.game-info,
	body > article.game-detail > section#game-info.game-info.no-carousel,
	body > article.game-detail-subpage > section#game-info.game-info.no-carousel {
		margin-top: -128px;
	}
}
.game-detail-slider .slick-slide {
	margin: 0 0.3rem;
}
.game-detail-slider .slick-slide,
.game-detail-slider .slick-slide > div,
.game-detail-slider .thumbnail,
.game-detail-slider .videoThumbnail {
	height: 20rem;
}
.game-detail-slider .thumbnail {
	display: block;
	width: auto;
}
.game-detail-slider .thumbnail > img:not(.playBtn) {
	display: block;
	width: auto;
	height: 20rem;
	max-width: none;
	object-fit: contain;
}
.game-detail-slider .slick-slide > div,
.game-detail-slider .thumbnail,
.game-detail-slider .videoThumbnail,
.game-detail-slider .videoThumbnail .thumbnail,
.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner,
.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap,
.game-detail .hero-image,
#game-detail-shop .hero-image,
.game-detail .game-cabinet .game-cabinet-image-wrap,
#game-detail-shop .productcontents .renewal-product-contents-image {
	border-radius: var(--renewal-media-radius);
	overflow: hidden;
}
.game-detail .hero-image::before,
#game-detail-shop .hero-image::before,
.game-detail .game-cabinet .game-cabinet-image,
.game-detail-slider .thumbnail > img:not(.playBtn),
.game-detail-slider .videoThumbnail .thumbnail > img:not(.playBtn),
.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-img,
.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap .slick-lightbox-slick-iframe,
.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item video {
	border-radius: inherit;
}
.game-detail .game-features,
#game-detail-shop .game-features,
.game-detail .game-features::before,
#game-detail-shop .game-features::before {
	border-radius: 0;
}
.game-detail .game-features .imgContainer.feature-shot-frame,
#game-detail-shop .game-features .imgContainer.feature-shot-frame {
	border-radius: var(--renewal-media-radius-sm);
	overflow: hidden;
	clip-path: inset(0 round var(--renewal-media-radius-sm));
	background: transparent;
	aspect-ratio: auto;
}
.game-detail .game-features .imgContainer.feature-shot-frame .feature-shot,
#game-detail-shop .game-features .imgContainer.feature-shot-frame .feature-shot {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	border-radius: inherit;
}
.game-detail .slick-prev {
	left: 0px !important;
}
.game-detail .slick-next {
	right: 0px !important;
}
.videoThumbnail {
	position: relative;
}
.playBtn {
	position: absolute;
	width: 32px;
	height: 32px !important;
	left: 50%;
	top: 50%;
	margin-left: -16px;
	/*half of the width */
	margin-top: -16px;
	/*half of the height */
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	.game-detail-slider .slick-slide,
	.game-detail-slider .slick-slide > div,
	.game-detail-slider .thumbnail,
	.game-detail-slider .videoThumbnail {
		height: auto;
	}
	.game-detail-slider .thumbnail > img:not(.playBtn) {
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: none;
		object-fit: contain;
	}
	/* Keep video preview thumbnails visually aligned with horizontal captures. */
	.game-detail-slider .videoThumbnail .thumbnail {
		width: 100%;
		aspect-ratio: 16 / 9;
		overflow: hidden;
	}
	.game-detail-slider .videoThumbnail .thumbnail > img:not(.playBtn) {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	body > article.game-detail.no-carousel > section#game-info.game-info,
	body > article.game-detail-subpage.no-carousel > section#game-info.game-info,
	body > article.game-detail > section#game-info.game-info.no-carousel,
	body > article.game-detail-subpage > section#game-info.game-info.no-carousel {
		margin-top: -72px;
	}
	#game-detail-shop section#game-info > .row > .column.large-8,
	#game-detail-shop section#game-info > .row > .columns.large-8 {
		margin-top: var(--renewal-mobile-stack-gap);
	}
}
.product-detail-secondary-media__image {
	border-radius: 0;
	overflow: visible;
}
.game-features p {
	color: white;
}
.game-features h3 {
	margin: 2rem 0;
}
.game-features h4 {
	color: white;
	font-size: 1rem;
	font-weight: bold;
	padding-bottom: .5rem;
}
.game-features .imgContainer {
	aspect-ratio: 1/1;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	margin-bottom: 1.5rem;
}
#game-info,#cabinet,#features,#updates,#exa-features,#History,#Profile,#Gameography {
	scroll-margin-top: 10rem;
	scroll-snap-margin-top: 10rem;
}
.game-detail #updates p,.game-detail-subpage p {
	color: white;
}
.game-detail .scrolling-tabs {
	margin-top: 2rem;
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	height: 2.5rem;
	white-space: nowrap;
}
.game-detail .tabs {
	display: inline-flex;
	flex-direction: row;
	padding: 0;
	margin: 0;
	list-style: none;
}
.game-detail .tabs .tab-title {
	display: inline-block;
	white-space: nowrap;
	position: relative;
}
.game-detail .tabs .tab-title a {
	font-size: 1rem;
	font-weight: bold;
	background-color: #3a3d33;
	color: rgba(255, 255, 255, 0.7);
	padding: 0.5rem 1.5rem;
	text-decoration: none !important;
	display: inline-block;
	border-radius: 0;
	border-bottom: 1px solid #6e7264;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.game-detail .tabs .tab-title:first-child a {
	border-radius: 0.4rem 0 0 0;
}
.game-detail .tabs .tab-title:last-child a {
	border-radius: 0 0.4rem 0 0;
}
.game-detail .tabs .tab-title:only-child a {
	border-radius: 0.4rem 0.4rem 0 0;
}
.game-detail .tabs .tab-title + .tab-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 60%;
	background: rgba(255, 255, 255, 0.15);
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.game-detail .tabs .tab-title.active + .tab-title::before,
.game-detail .tabs .tab-title + .tab-title.active::before {
	opacity: 0;
}
.game-detail .tabs .tab-title a:hover {
	background-color: #4a4d43;
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none !important;
}
.game-detail .tabs .tab-title.active a {
	background-color: #6e7264;
	color: #fff;
	border-bottom: 1px solid transparent;
	margin-bottom: -1px;
	position: relative;
	z-index: 1;
	text-decoration: none !important;
}
.game-detail .tabs-content .content {
	padding: 2rem;
	border: 1px solid #6e7264;
	text-decoration: none !important;
	border-radius: 0 0.4rem 0.4rem 0.4rem;
	background-color: transparent;
}
.game-detail .tabs-content {
	margin-bottom: 0.35rem;
	text-decoration: none !important;
}
.updatesAppendix {
	font-size: 0.75rem;
}
.exafeatures {
	text-indent: -99999em;
	display: block;
	overflow: hidden;
	background-image: url('../design/exa-features.png');
	aspect-ratio: 997/656;
	margin: 5rem 0;
	background-size: contain;
	background-repeat: no-repeat;
}
#development-team {
	margin: 2rem 0;
}
@media only screen and (min-width: 40.0625em) {
	#development-team {
		margin-top: 4rem;
	}
}
#development-team p {
	color: white;
}
#development-team .devTeamLogo {
	text-align: center;
	padding: 0 2rem;
	margin-bottom: 2rem;
}
#development-team .devTeamLogo .logoInside {
	width: 100%;
	min-height: 10rem;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
#development-team .devTeamLogo .logoInside img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 10rem;
	height: auto;
}
#development-team h3 {
	margin-top: -0.45rem;
}
@media only screen and (max-width: 40em) {
	#development-team .devTeamLogo {
		padding: 0 1rem;
		margin-bottom: 0;
	}
	#development-team .devTeamLogo .logoInside {
		min-height: 0;
	}
	#development-team .devTeamLogo + .column {
		margin-top: 1rem;
	}
	#development-team h3 {
		margin-top: 0;
	}
}
.contentBreak {
	border: 1px solid #6e7264;
	margin: 5rem 0;
}
.related-products:not(.shop-v2-related-products) h3,.cross-sells h3 {
	margin-bottom: 2rem;
}
.related-products:not(.shop-v2-related-products) .row,.cross-sells .row {
	margin-bottom: 5rem;
}
.related-products:not(.shop-v2-related-products) a,.cross-sells a {
	color: white;
	text-decoration: none;
}
.related-products:not(.shop-v2-related-products) figure,.cross-sells figure {
	aspect-ratio: 16/9;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	display: block;
	margin: 0 0 1rem 0;
}
.related-products:not(.shop-v2-related-products) p,.cross-sells p {
	margin-bottom: 0.5rem;
}
.related-products:not(.shop-v2-related-products) .button-red,.cross-sells .button-red {
	margin: 0.5rem 0 0 0;
	padding: 0 0.75rem;
	font-size: 1rem;
	text-decoration: none;
}
.related-products:not(.shop-v2-related-products) .button-red:hover,.cross-sells .button-red:hover {
	color: #D90500;
}
.related-products:not(.shop-v2-related-products) a:not(.add-to-cart-button),.cross-sells a:not(.add-to-cart-button) {
	color: #D90500 !important;
}
.related-products:not(.shop-v2-related-products) .add-to-cart-button,.cross-sells .add-to-cart-button {
	margin: 0.5rem 0 0 0;
	padding: 0 0.75rem;
	font-size: 1rem;
	text-decoration: none;
	background: #D90500;
	color: white;
	float: right;
	text-align: right;
	width: auto;
}
.related-products:not(.shop-v2-related-products) .add-to-cart-button:hover,.cross-sells .add-to-cart-button:hover {
	color: #D90500;
	background: white;
}
.related-products:not(.shop-v2-related-products) .price,.cross-sells .price {
	visibility: hidden;
	height: 0;
	padding: 0;
	margin: 0;
	line-height: 0;
	font-size: 0;
}
.cart-collaterals .cross-sells .shoplisting-product .product-info{
	height:auto;
}
.cart-collaterals .cross-sells .shoplisting-product{
	margin-bottom: 5rem;
}
#aboutus {
	color: white;
}
#aboutus h1 {
	color: white;
	font-size: 1.25rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
#aboutus .breakout-title h2,#aboutus .breakout-title h3 {
	color: white;
	padding: 7rem 0;
	font-size: 2rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	text-align: center;
}
#aboutus .breakout-title {
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(71, 71, 71, 1) 50%, rgba(0, 0, 0, 1) 100%);
}
#aboutus .machine-wide {
	aspect-ratio: 3118/1221;
	display: block;
	max-width: 90rem;
	width: 100%;
	margin: 5rem auto;
}
#aboutus .machine-wide-left {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url('../content/isotop-1.jpg');
	width: 50%;
	height: 100%;
	float: left;
	display: block;
}
#aboutus .machine-wide-right {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url('../content/isotop-2.jpg');
	width: 50%;
	height: 100%;
	float: left;
	display: block;
}
#aboutus .breakout-lightgray {
	background: rgb(222, 226, 224);
	width: 100%;
	color: #030303;
	display: block;
	margin-top: 5rem;
	margin-bottom: 5rem;
}
#aboutus .breakout-lightgray .top {
	background: green;
	width: 100%;
	display: block;
	height: 5rem;
	background: rgb(222, 226, 224);
	background: linear-gradient(0deg, rgba(222, 226, 224, 1) 0%, rgba(0, 0, 0, 1) 100%);
}
#aboutus .breakout-lightgray .bottom {
	background: blue;
	width: 100%;
	display: block;
	height: 5rem;
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(222, 226, 224, 1) 100%);
}
#aboutus .breakout-lightgray .row {
	padding-top: 5rem;
	padding-bottom: 4rem;
}
#aboutus .devtools {
	mix-blend-mode: multiply;
}
#aboutus .logos {
	aspect-ratio: 1109/427;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
	max-width: 65rem;
	width: 100%;
	margin: 3rem auto;
	background-image: url('../content/logos.png');
}
strong {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
#whatis {
	color: #fff;
}
#whatis p {
	font-size: 1.5rem;
}
#whatis .pnorm > p {
	font-size: 1rem;
}
#whatis h1,#whatis h2 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 2rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	color: #fff;
}
#whatis .container {
	width: 100%;
	max-width: 90rem;
	margin: 0 auto 3rem auto;
	overflow: hidden;
}
#whatis .image-container {
	display: flex;
	width: 100%;
	aspect-ratio: 2756/1024;
}
#whatis .machine-wide-left,#whatis .machine-wide-right {
	flex: 1;
	background-size: cover;
	background-repeat: repeat-y;
	background-attachment: scroll;
}
#whatis .machine-wide-left {
	background-image: url('../content/machine-standcab.jpg');
	background-position: center top;
	animation: scrollDown 15s linear infinite;
}
#whatis .machine-wide-right {
	background-image: url('../content/machine-standcab.jpg');
	background-position: center bottom;
	animation: scrollUp 15s linear infinite;
}
#whatis .machine-inarticle {
	display: block;
	width: 100%;
	aspect-ratio: 2756/1024;
	background-image: url('../content/machine-standcab.jpg');
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 2rem;
}
#whatis .big-iso {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image: url('../content/isotop-3.jpg');
	display: block;
	width: 100%;
	aspect-ratio: 639/496;
}
@keyframes scrollDown {
	0% {
		background-position: center 0%;
		/* Start from the top */
	}
	100% {
		background-position: center 200%;
		/* Scroll to the bottom */
	}
}
@keyframes scrollUp {
	0% {
		background-position: center 100%;
		/* Start from the bottom */
	}
	100% {
		background-position: center -100%;
		/* Scroll to the top */
	}
}
#generic-post,#generic-page {
	background: #030303;
	color: white;
}
/* ⚠️ LEGACY GLOBAL HEADING RULE — CHECKOUT/CART CONFLICT NOTICE
   `#generic-page h1/h2` has ID-level specificity (0,1,0,1) and silently
   overrides class-based headings inside the v2 Cart / Checkout / Order-received
   pages (they render inside #generic-page / #generic-page-light). The v2
   stylesheets (css/cart-v2.css, css/checkout-v2.css) therefore use `!important`
   on their `.exa-cart-summary-title` / stage-title rules to win against this.
   If you change v2 heading sizes and they don't take effect, this rule is why. */
#generic-post h1,#generic-post h2,#generic-page h1,#generic-page h2 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 1.5rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	color: white;
}
#generic-post h2,#generic-page h2 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
	margin-top: 1.25rem;
}
#generic-post p:has(.aligncenter),#generic-page p:has(.aligncenter) {
	text-align: center;
	width: 100%;
}
#generic-post p:has(iframe),#generic-page p:has(iframe) {
	text-align: center;
	margin: 0 auto;
}
#generic-post iframe,#generic-page iframe,#generic-post-light iframe,#generic-page-light iframe,#shop-listing iframe {
	max-width: 100%;
}
#generic-post iframe[src*="youtube.com"],#generic-post iframe[src*="youtube-nocookie.com"],#generic-post iframe[src*="vimeo.com"],#generic-page iframe[src*="youtube.com"],#generic-page iframe[src*="youtube-nocookie.com"],#generic-page iframe[src*="vimeo.com"],#generic-post-light iframe[src*="youtube.com"],#generic-post-light iframe[src*="youtube-nocookie.com"],#generic-post-light iframe[src*="vimeo.com"],#generic-page-light iframe[src*="youtube.com"],#generic-page-light iframe[src*="youtube-nocookie.com"],#generic-page-light iframe[src*="vimeo.com"],#shop-listing iframe[src*="youtube.com"],#shop-listing iframe[src*="youtube-nocookie.com"],#shop-listing iframe[src*="vimeo.com"] {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	margin: 0 auto;
}
#generic-post .renewal-404-page-content > :first-child {
	margin-top: 0;
}
#generic-post .renewal-404-page-content > :last-child {
	margin-bottom: 0;
}
#generic-post.renewal-404-layout {
	--renewal-404-accent: #D90500;
	--renewal-404-bg-alt: #1a1a1a;
	--renewal-404-radius-lg: 0.75rem;
}
#generic-post .renewal-404-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	max-height: 200px;
	padding: 0 1rem;
	background: #000;
	overflow: hidden;
}
#generic-post .renewal-404-hero__content {
	position: relative;
	z-index: 1;
	padding: 2.5rem 1.5rem;
	text-align: center;
}
#generic-post .renewal-404-hero__title {
	margin: 0;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: clamp(3rem, 7vw, 4.5rem);
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
}
#generic-post .renewal-404-notice {
	margin: 0.5rem 0 1.5rem;
}
#generic-post .renewal-404-notice__inner {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 1rem;
	align-items: flex-start;
	padding: 1rem;
	background: var(--renewal-404-bg-alt);
	border-left: 4px solid var(--renewal-404-accent);
	border-radius: 0 var(--renewal-404-radius-lg) var(--renewal-404-radius-lg) 0;
}
#generic-post .renewal-404-notice__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #d1d5db;
}
#generic-post .renewal-404-notice__text p:first-child {
	margin-top: 0;
}
#generic-post .renewal-404-notice__text p:last-child {
	margin-bottom: 0;
}
#generic-post .renewal-404-support-cta {
	width: 100%;
	padding: 0.75rem 0 2rem;
	text-align: center;
}
#generic-post .renewal-404-support-cta .button-red-shadowed {
	display: inline-block;
	padding: 0.9rem 1.8rem;
	margin-bottom: 0;
}
@media (min-width: 40em) {
	#generic-post .renewal-404-notice__inner {
		flex-direction: row;
		align-items: center;
	}
	#generic-post .renewal-404-notice__text {
		font-size: 1rem;
	}
}
#generic-post video,#generic-page video,#generic-post-light video,#generic-page-light video,#shop-listing video {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	margin: 0 auto;
}
#generic-post .news-post-hero {
	width: 100%;
	max-width: 90rem;
	margin: 1rem auto 2rem auto;
}
#generic-post .news-post-hero .row {
	max-width: 90rem;
}
#generic-post .news-post-hero .inside-hero-image {
	padding-top: 0;
}
#generic-post .news-post-hero .news-post-hero-media {
	margin: 0;
	aspect-ratio: 16/9;
	overflow: hidden;
	background: #000;
}
#generic-post .news-post-hero .news-post-hero-media-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.patch-notes-header-announcement-row {
	position: relative;
	z-index: 1;
}
.patch-notes-header-announcement {
	margin: 0.9rem 0 0.2rem;
	padding: 0.65rem 0.75rem 0.75rem;
	background: #030303;
	text-align: center;
}
.patch-notes-header-announcement__image-wrap {
	margin: 0 auto 0.45rem;
}
.patch-notes-header-announcement__image {
	display: inline-block;
	width: min(180px, 45vw);
	max-width: 100%;
	height: auto;
}
.patch-notes-header-announcement__text {
	display: block;
	color: #D90500;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: clamp(0.8rem, 1.7vw, 0.95rem);
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.3s ease;
	white-space: normal;
	overflow-wrap: anywhere;
	max-width: 100%;
}
.patch-notes-header-announcement__text p,
.patch-notes-header-announcement__text span,
.patch-notes-header-announcement__text strong,
.patch-notes-header-announcement__text em,
.patch-notes-header-announcement__text li {
	color: inherit;
}
.patch-notes-header-announcement__text p {
	margin: 0;
}
.patch-notes-header-announcement__text p + p {
	margin-top: 0.2rem;
}
.patch-notes-header-announcement__text:hover,
.patch-notes-header-announcement__text:focus,
.patch-notes-header-announcement__text:focus-visible {
	color: #fff;
	text-decoration: none;
}
.patch-notes-header-announcement__text[aria-disabled="true"] {
	pointer-events: none;
}
header,
header .contain-to-grid,
header .top-bar,
header .top-bar-section,
header .top-bar-section .dropdown {
	z-index: 1300;
}
header,
header .top-bar,
header .top-bar-section,
header .top-bar-section .dropdown {
	position: relative;
}
html.touch-mobile-tablet header .contain-to-grid.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}
html.touch-mobile-tablet header .contain-to-grid.sticky:not(.fixed) {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
}
#generic-post-light,#generic-page-light {
	background: white;
	color: #030303;
}
#generic-post-light h1,#generic-post-light h2,#generic-page-light h1,#generic-page-light h2 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 1.5rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	color: #030303;
}
#generic-post-light h2,#generic-page-light h2 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
	margin-top: 1.25rem;
}
#generic-post-light p:has(.aligncenter),#generic-page-light p:has(.aligncenter) {
	text-align: center;
	width: 100%;
}
#generic-post-light p:has(iframe),#generic-page-light p:has(iframe) {
	text-align: center;
	margin: 0 auto;
}
#shop-listing {
	padding-top: 2.2rem;
	background: white;
	color: #030303;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
}
/* Enforce the site font family across the entire Shop page (desktop/mobile). */
#shop-listing,
#shop-listing * {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
}
#shop-listing h1,
#shop-listing h2,
#shop-listing h3,
#shop-listing h4,
#shop-listing h5,
#shop-listing h6,
#shop-listing strong,
#shop-listing b,
#shop-listing .clearButton,
#shop-listing .shoplisting-product .title {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
}
#shop-listing .shoplisting-footer .price,
#shop-listing .shoplisting-footer .add-to-cart-button,
#shop-listing .shoplisting-footer .add-to-cart-button.more-info-button {
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif !important;
}
#shop-listing h1,#shop-listing h2 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 1.5rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	color: #030303;
}
#shop-listing h2 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
	margin-top: 1.25rem;
}
#shop-listing p:has(.aligncenter) {
	text-align: center;
	width: 100%;
}
#shop-listing p:has(iframe) {
	text-align: center;
	margin: 0 auto;
}
#shop-listing .tabs {
	display: flex;
	gap: 2px;
	margin: 0 -2px;
	padding: 0;
	list-style: none;
	align-items: stretch;
}
#shop-listing .tabs .tab-title {
	flex: 1;
	display: flex;
}
#shop-listing .tabs .tab-title a {
	display: flex;
	flex-grow: 1;
	width: 100%;
	height: 100%;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	font-size: 0.95rem;
	background-color: #dee2e0;
	color: #6e7264;
	padding: 0.5rem 0;
	text-decoration: none;
	box-sizing: border-box;
}
#shop-listing .tabs .tab-title a:hover,#shop-listing .tabs .active a {
	background-color: #D90500;
	color: white;
	text-decoration: none !important;
	text-align: center !important;
}
#shop-listing .tabs-content .content {
	padding: 2rem 2rem 1rem 2rem;
	border: 1px solid #D90500;
	min-height: 17.5rem;
}
#shop-listing .tabs-content {
	margin-bottom: 0.35rem;
}
#shop-listing .cabImage {
	background-image: url('../content/machine-standcab.jpg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
#shop-listing .availability {
	margin-bottom: 1.8rem;
}
#shop-listing .shop-header-editor-content > :first-child {
	margin-top: 0;
}
#shop-listing .shop-header-editor-content > :last-child {
	margin-bottom: 0;
}
#shop-listing .shop-header-editor-content h1,
#shop-listing .shop-header-editor-content h2 {
	margin-top: 0;
	margin-bottom: 0.45rem;
}
#shop-listing .shop-header-editor-content .shop-support-style-title {
	margin-top: -0.35rem;
	margin-bottom: 0;
	font-size: 3rem;
	line-height: normal;
	text-align: center;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: normal;
	color: #030303;
}
#shop-listing .shop-header-editor-content .shop-support-style-title + * {
	margin-top: 0;
}
#shop-listing .exa-topbar-row {
	margin-top: 0.35rem;
}
#shop-listing .shop-sidebar-column {
	padding-right: 1.5rem;
	width: 28%;
	flex: 0 0 28%;
	max-width: 28%;
}
#shop-listing .shop-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.74rem;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	color: #646a76;
}
#shop-listing .shop-breadcrumbs a {
	color: #646a76;
	text-decoration: none;
}
#shop-listing .shop-breadcrumbs a:hover {
	color: #D90500;
}
#shop-listing .shop-breadcrumb-sep {
	color: #9aa0aa;
}
#shop-listing .shop-sidebar-header {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	margin: 0 0 0.6rem 0;
	padding: 0;
}
#shop-listing .clearButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.44rem 0.95rem;
	border: 1px solid #e0e0e0;
	border-radius: 999px;
	background-color: #ffffff;
	font-size: 0.74rem;
	letter-spacing: 0.01em;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
	color: #3e4653;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
#shop-listing .clear-icon-circle {
	display: inline-flex;
	width: 1.08rem;
	height: 1.08rem;
	border: 2px solid currentColor;
	border-radius: 50%;
	background-color: #fff;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	flex-shrink: 0;
}
#shop-listing .clearButton:hover {
	color: #fff;
	border-color: #D90500;
	background-color: #D90500;
	box-shadow: 0 1px 1px rgba(217, 5, 0, 0.25);
}
#shop-listing .clearButton:hover .clear-icon-circle {
	color: #D90500;
	border-color: #fff;
	background-color: #fff;
}
#shop-listing .clearButton:focus-visible {
	outline: none;
	border-color: #D90500;
	box-shadow: 0 0 0 2px rgba(217, 5, 0, 0.14);
}
#shop-listing .shop-grid-column {
	position: relative;
	width: 72%;
	flex: 0 0 72%;
	max-width: 72%;
}
#shop-listing .shop-grid-toolbar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0.55rem;
	min-height: 0;
	margin: 0;
}
#shop-listing .shop-sort-label {
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	height: auto;
	font-size: 0.78rem;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0.01em;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	color: #4b5563;
	cursor: default;
	pointer-events: none;
}
#shop-listing .shop-sort-select-wrap {
	position: relative;
	display: inline-block;
}
#shop-listing .shop-sort-select-wrap::after {
	content: none;
}
#shop-listing .shop-sort-select {
	appearance: menulist !important;
	-webkit-appearance: menulist !important;
	-moz-appearance: menulist !important;
	border: 1px solid #e0e0e0;
	border-radius: 0.6rem;
	background-color: #fff;
	background-image: none !important;
	color: #111827;
	font-size: 0.82rem;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-weight: 400;
	letter-spacing: 0.01em;
	padding: 0.42rem 0.6rem;
	width: auto;
	min-width: 0;
	max-width: 100%;
	height: auto;
	line-height: 1.2;
	margin: 0;
	display: block;
	text-align: left;
	box-sizing: border-box;
	cursor: pointer;
}
#shop-listing .shop-sort-select:hover {
	border-color: #cccccc;
	background-color: #fff;
	color: #111827;
}
#shop-listing .shop-sort-select:focus {
	outline: none;
	border-color: #D90500;
	background-color: #fff;
	color: #111827;
	box-shadow: 0 0 0 2px rgba(217, 5, 0, 0.15);
}
#shop-listing .shop-sort-select:active {
	background-color: #fff;
	color: #111827;
}
#shop-listing .shop-sort-select option {
	font-weight: 400;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
}
#shop-listing .shop-sort-select option:checked {
	background: #fff;
	color: #111827;
	font-weight: 400;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
}
#shop-listing h3 {
	text-transform: uppercase;
	font-size: 1rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
#shop-listing h3 a {
	text-transform: capitalize;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	margin-left: 1rem;
}
/* — Topbar & main rows — */
#shop-listing .exa-topbar-row {
	display: flex;
	align-items: center;
	padding-bottom: 0.45rem;
	margin-bottom: 0.85rem;
	border-bottom: 1px solid #e6e9ee;
}
#shop-listing .exa-main-row {
	display: flex;
	align-items: flex-start;
	margin-top: 0.15rem;
}

/* — exa-sidebar-wrapper (single continuous container) — */
#shop-listing .exa-sidebar-wrapper {
	background: #f5f5f5;
	border-radius: 8px;
	padding: 1rem;
}
#shop-listing .exa-filter-group {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 0.75rem;
}

/* — Tag selector (inside exa-filter-group) — */
#shop-listing .tag-selector {
	list-style: none;
	padding: 0;
	margin: 0;
}
#shop-listing .tag-selector .exa-filter-row {
	position: relative;
	line-height: 1.65rem;
}
#shop-listing .tag-selector .exa-filter-link {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	text-decoration: none;
	color: inherit;
	padding: 0.15rem 0;
	font-size: 0.88rem;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
}
#shop-listing .tag-selector .exa-filter-link:hover {
	color: #dd0500;
}

/* — Custom checkbox — */
#shop-listing .exa-checkbox {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	align-self: center;
	width: 16px;
	height: 16px;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background-color: #ffffff;
	transition: background-color 150ms ease, border-color 150ms ease;
}
#shop-listing .exa-checkbox.checked {
	background-color: #dd0500;
	border-color: #dd0500;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 12px 12px;
	background-position: center;
	background-repeat: no-repeat;
}
#shop-listing .exa-filter-row:hover .exa-checkbox:not(.checked) {
	border-color: #dd0500;
}

/* — Filter label & count — */
#shop-listing .exa-filter-label {
	flex: 1 1 auto;
	line-height: 1.35;
}
#shop-listing .exa-filter-count {
	flex-shrink: 0;
	font-size: 0.92em;
	color: #888888;
	margin-left: 0.25rem;
}

/* — Clear button: always visible — */

/* — Loading overlay — */
#shop-listing .grid-container {
	position: relative;
}
#shop-listing .exa-grid-loading {
	display: none;
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.7);
	z-index: 10;
	align-items: center;
	justify-content: center;
}
#shop-listing .grid-container.exa-loading .exa-grid-loading {
	display: flex;
}
#shop-listing .exa-spinner {
	width: 32px;
	height: 32px;
	border: 3px solid #e0e0e0;
	border-top-color: #dd0500;
	border-radius: 50%;
	animation: exa-spin 0.7s linear infinite;
}
@keyframes exa-spin {
	to { transform: rotate(360deg); }
}

/* — Empty state — */
#shop-listing .exa-empty-state {
	text-align: center;
	padding: 4rem 1rem;
	color: #666666;
	font-size: 1rem;
}

/* — Mobile filter toggle (hidden on desktop) — */
#shop-listing .exa-mobile-filter-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	padding: 0.65rem 1rem;
	border: 1px solid #cccccc;
	border-radius: 8px;
	background: #ffffff;
	font-size: 0.9rem;
	font-family: inherit;
	color: #333333;
	cursor: pointer;
	margin-bottom: 1rem;
	transition: background-color 150ms ease, border-color 150ms ease;
}
#shop-listing .exa-mobile-filter-toggle:hover {
	background-color: #f0f0f0;
	border-color: #999999;
}

/* — Focus-visible outlines — */
#shop-listing .exa-filter-link:focus-visible,
#shop-listing .clearButton:focus-visible,
#shop-listing .exa-mobile-filter-toggle:focus-visible {
	outline: 2px solid #dd0500;
	outline-offset: 2px;
}
#shop-listing .shoplisting-product {
	background: #fff;
	border: 1px solid #e2e8ef;
	border-radius: 0.95rem;
	overflow: hidden;
	text-transform: none;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: 0.9rem;
	line-height: 1.4;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
	box-shadow: 0 2px 10px rgba(3, 3, 3, 0.06);
	backface-visibility: hidden;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
#shop-listing .shoplisting-product a {
	color: #030303;
	text-decoration: none;
}
#shop-listing .shoplisting-product figure {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	aspect-ratio: 16/9;
	width: 100%;
	display: block;
	margin: 0;
	padding: 0;
	background-color: #f5f7fa;
	border-bottom: 1px solid #e7edf3;
}
#shop-listing .grid-container {
	/* container for the product list; the UL of products inside will handle columns */
	display: block;
	margin-bottom: 12rem;
}

/* Layout the product list (UL.products) in columns inside the grid-container */
#shop-listing .grid-container > ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: min-content;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
#shop-listing .grid-container > ul.products > li.shoplisting-product {
	display: flex;
}
@media only screen and (max-width: 58em) {
    #shop-listing .grid-container > ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 40em) {
    #shop-listing .grid-container > ul.products {
        grid-template-columns: repeat(1, 1fr);
    }
}
/* Stronger fallback: ensure any products list in shop-listing becomes a 3/1 responsive grid */
#shop-listing .products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1rem !important;
	list-style: none !important;
	margin: 0 0 4rem 0 !important;
	padding: 0 !important;
}
#shop-listing .products > li {
	display: block !important;
}
@media only screen and (max-width: 58em) {
	#shop-listing .products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media only screen and (max-width: 40em) {
	#shop-listing .products {
		grid-template-columns: repeat(1, 1fr) !important;
	}
}

/* ==========================================================================
   Shop Sections — Grouped Product Display (Battle.net / Limited Run style)
   ========================================================================== */

#shop-listing .shop-section {
	margin-bottom: 2.5rem;
}
#shop-listing .shop-section:last-child {
	margin-bottom: 0;
}

#shop-listing .shop-section-header {
	margin-bottom: 1.25rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #D90500;
}
#shop-listing .shop-section-headline {
	margin: 0 !important;
	padding: 0;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	color: #030303;
	letter-spacing: 0.01em;
	text-transform: none;
}
@media only screen and (min-width: 58em) {
	#shop-listing .shop-section-headline {
		font-size: 1.5rem;
	}
}

#shop-listing .shop-section-grid {
	position: relative;
}
#shop-listing .shop-section-grid > ul.products {
	margin-bottom: 0 !important;
}

#shop-listing .shop-section-divider {
	margin: 2.5rem 0;
	border: 0;
	border-top: 1px solid #6e7264;
	opacity: 0.35;
}
@media only screen and (max-width: 40em) {
	#shop-listing .shop-section-divider {
		margin: 2rem 0;
	}
}

#shop-listing .shoplisting-product {
	display: flex;
	flex-direction: column;
	height: 100%;
}
#shop-listing .shoplisting-product .shoplisting-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	flex: 1 1 auto;
	padding: 0;
	color: inherit;
}
#shop-listing .shoplisting-product .product-info {
	height: auto;
	min-height: 6.4rem;
	padding: 0.9rem 0.9rem 0.7rem 0.9rem;
}
#shop-listing .shoplisting-product .title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.82rem;
	line-height: 1.35;
	letter-spacing: 0.01em;
	color: #111827;
}
/* Keep product-card typography identical to renewal2023/en/shop reference. */
#shop-listing .shoplisting-footer .price {
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 0.85rem;
}
#shop-listing .shoplisting-footer .add-to-cart-button.more-info-button {
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 0.78rem;
	letter-spacing: 0.01em;
}
#shop-listing .shoplisting-product:hover {
	border-color: #D90500;
	box-shadow: 0 0 0 2px rgba(217, 5, 0, 0.35), 0 8px 18px rgba(3, 3, 3, 0.11);
}
#shop-listing .shoplisting-product:focus-within {
	border-color: #D90500;
	box-shadow: 0 0 0 2px rgba(217, 5, 0, 0.35), 0 8px 18px rgba(3, 3, 3, 0.11);
}
#shop-listing .shoplisting-product:hover .shoplisting-footer .add-to-cart-button {
	background-color: #b00400;
	border-color: #b00400;
	color: white;
}
@media (prefers-reduced-motion: reduce) {
	#shop-listing .shoplisting-product {
		transition: box-shadow 0.2s ease, border-color 0.2s ease;
	}
}
#shop-listing .shoplisting-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.65rem 0.85rem 0.85rem 0.85rem;
	border-top: 1px solid #e9eef4;
	background-color: #f5f5f5;
	border-radius: 0 0 0.95rem 0.95rem;
}
#shop-listing .shoplisting-footer .price {
	margin: 0;
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 0.85rem;
	color: #030303;
	text-align: left;
}
#shop-listing .shoplisting-footer .add-to-cart-button {
	margin: 0;
	padding: 0.3rem 0.85rem;
	background-color: #D90500;
	border: 1px solid #D90500;
	border-radius: 50px;
	color: #ffffff;
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif;
	font-size: 0.78rem;
	float: none;
	text-decoration: none;
	transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
#shop-listing .shoplisting-footer .add-to-cart-button:hover {
	background-color: #b00400;
	border-color: #b00400;
	color: white;
}
/* Defensive reset: prevent third-party bundle/cart pseudo-icons from rendering in shop cards. */
#shop-listing .shoplisting-product.product-type-bundle::before,
#shop-listing .shoplisting-product.product-type-bundle::after,
#shop-listing .shoplisting-product.product-type-bundle .product-info::before,
#shop-listing .shoplisting-product.product-type-bundle .product-info::after,
#shop-listing .shoplisting-product.product-type-bundle .price::before,
#shop-listing .shoplisting-product.product-type-bundle .price::after {
	content: none !important;
	display: none !important;
}
/* Visual parity with the legacy production shop layout.
 * Keep current filter/sort/clear-all behavior; only restyle presentation. */
#shop-listing {
	padding-top: clamp(2.4rem, 3.2vw, 3.2rem);
}
#shop-listing .exa-topbar-row {
	padding-bottom: 0.45rem;
	margin-bottom: 0.85rem;
	border-bottom: 1px solid #d8dde4;
}
#shop-listing .exa-main-row {
	margin-top: 0;
}
#shop-listing .shop-sidebar-column {
	width: 26%;
	flex: 0 0 26%;
	max-width: 26%;
	padding-right: 0.45rem;
}
#shop-listing .shop-grid-column {
	width: 74%;
	flex: 0 0 74%;
	max-width: 74%;
	padding-left: 0.35rem;
	padding-right: 0.35rem;
}
#shop-listing .exa-sidebar-wrapper,
#shop-listing .exa-filter-group {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}
#shop-listing .tag-selector {
	margin: 0 0 3rem 0;
}
#shop-listing .tag-selector .exa-filter-row {
	position: relative;
	display: block;
	line-height: 2rem;
}
#shop-listing .tag-selector .exa-filter-link {
	display: block;
	padding: 0 0 0 2rem;
	font-size: 0.92rem;
	white-space: nowrap;
	line-height: 1.9rem;
}
#shop-listing .shop-breadcrumbs,
#shop-listing .shop-breadcrumbs a,
#shop-listing .shop-sort-label {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: #6e7264;
}
#shop-listing .shop-breadcrumbs {
	gap: 0.35rem;
}
#shop-listing .shop-breadcrumbs a {
	text-decoration: none;
}
#shop-listing .shop-breadcrumb-sep {
	color: #6e7264;
}
#shop-listing .clearButton {
	padding: 0.46rem 0.85rem;
	min-width: 6.9rem;
	border: 1px solid #D90500;
	border-radius: 0;
	background-color: #D90500;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-size: 1.02rem;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: 0.01em;
	color: #ffffff;
	box-shadow: none;
	gap: 0;
}
#shop-listing .shop-sidebar-header {
	justify-content: flex-start;
}
#shop-listing .clearButton:hover {
	background-color: #ffffff;
	border-color: #D90500;
	color: #D90500;
	box-shadow: none;
}
#shop-listing .clearButton:active,
#shop-listing .clearButton:focus {
	background-color: #ffffff;
	border-color: #D90500;
	color: #D90500;
	box-shadow: none;
}
#shop-listing .clearButton .clear-icon-circle {
	display: none;
}
#shop-listing .shop-grid-toolbar {
	justify-content: flex-start;
	gap: 0.45rem;
}
#shop-listing .shop-sort-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #c5c9d1;
	border-radius: 0;
	background-color: #ffffff;
	background-image: none !important;
	color: #030303;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 0.78rem;
	padding: 0.25rem 0.6rem 0.25rem 0.5rem;
	box-shadow: none;
	width: 100%;
}
#shop-listing .shop-sort-select::-ms-expand {
	display: none;
}
#shop-listing .shop-sort-select-wrap {
	position: relative;
	display: inline-block;
	min-width: 12.6rem;
}
#shop-listing .shop-sort-select-wrap::after {
	content: none;
}
#shop-listing .shop-sort-select:hover,
#shop-listing .shop-sort-select:focus,
#shop-listing .shop-sort-select:active {
	border-color: #aeb4bf;
	background-color: #ffffff;
	color: #030303;
	box-shadow: none;
}
#shop-listing .exa-checkbox {
	position: absolute;
	left: 0;
	top: 0.25rem;
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid #D90500;
	border-radius: 0;
	background-color: transparent;
}
#shop-listing .exa-checkbox.checked {
	background-color: #D90500;
	border-color: #D90500;
}
#shop-listing .exa-filter-count {
	font-size: 0.8em;
}
#shop-listing .grid-container > ul.products,
#shop-listing .products {
	gap: 0.85rem !important;
	align-items: stretch;
	grid-auto-rows: 1fr;
}
#shop-listing .shoplisting-product {
	background: #DEE2E0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-transform: uppercase;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 0.8rem;
	transform: none;
	transition: none;
}
#shop-listing .shoplisting-product:hover,
#shop-listing .shoplisting-product.touch-hover-active,
#shop-listing .shoplisting-product:focus-within {
	transform: none;
	border-color: transparent;
	box-shadow: none;
	background: #ffffff;
}
#shop-listing .shoplisting-product .shoplisting-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 0.88rem 0.26rem 0.88rem;
}
#shop-listing .shoplisting-product figure {
	aspect-ratio: 4/3;
	margin: 0.95rem 0 0.85rem 0;
	background-size: cover;
	background-position: center center;
	background-color: transparent;
	border-bottom: 0;
}
#shop-listing .shoplisting-product .product-info {
	height: 4.05rem;
	min-height: 4.05rem;
	padding: 0 0.1rem 0.2rem 0.1rem;
	overflow: hidden;
}
#shop-listing .shoplisting-product .title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
	color: #030303;
	text-transform: uppercase;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
#shop-listing .shoplisting-footer {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: clamp(0.85rem, 2vw, 1.35rem);
	margin-top: 0;
	padding: 0.16rem 0.88rem 0.68rem 0.88rem;
	min-height: 3rem;
	border-top: 0;
	background: transparent;
	border-radius: 0;
	width: 100%;
}
#shop-listing .products > li.shoplisting-product {
	display: flex !important;
	flex-direction: column;
	height: 100%;
}
#shop-listing .shoplisting-footer .price {
	margin: 0;
	margin-right: auto;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 500;
	font-size: 0.92rem;
	line-height: 1.25;
	text-align: left;
	align-self: center;
	color: #030303;
	text-transform: uppercase;
	padding-right: 0;
	min-width: 0;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
/* Ensure nested WooCommerce price nodes render with consistent boldness. */
#shop-listing .shoplisting-footer .price .woocommerce-Price-amount,
#shop-listing .shoplisting-footer .price .woocommerce-Price-amount bdi,
#shop-listing .shoplisting-footer .price .woocommerce-Price-currencySymbol {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 500 !important;
	font-style: normal;
}
#shop-listing .shoplisting-footer .add-to-cart-button,
#shop-listing .shoplisting-footer .add-to-cart-button.more-info-button {
	float: none;
	margin: 0;
	margin-left: auto;
	padding: 0.3rem 0.58rem;
	background-color: #ffffff;
	border: 1px solid #D90500;
	border-radius: 0;
	color: #D90500;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 0.72rem;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
	align-self: center;
}
#shop-listing .shoplisting-product:hover .shoplisting-footer .add-to-cart-button,
#shop-listing .shoplisting-product.touch-hover-active .shoplisting-footer .add-to-cart-button,
#shop-listing .shoplisting-product:hover .shoplisting-footer .add-to-cart-button.more-info-button,
#shop-listing .shoplisting-product.touch-hover-active .shoplisting-footer .add-to-cart-button.more-info-button {
	background-color: #D90500;
	border-color: #D90500;
	color: #ffffff;
}
#game-detail-shop .hero-image {
	width: 100%;
	margin: 1rem auto 0 auto;
	aspect-ratio: 1440/870;
/* 	min-height: 40rem; */
	max-width: 90rem;
	padding-top: 2rem;
}
#game-detail-shop .hero-image::before {
	content: '';
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 100%;
	aspect-ratio: 1440/870;
	min-height: 40rem;
	max-width: 90rem;
	/* filter: brightness(75%);
	*/
	opacity: 0.6;
	z-index: -1;
	top: 0;
	margin: 5rem auto 0 auto;
}
#game-detail-shop .hero-image h2,#game-detail-shop .hero-image p {
	color: #030303;
	text-shadow: 0px 1px 4px #fff;
}
#game-detail-shop .exaclusive {
	width: 11rem;
	margin: 0 auto;
	display: block;
}
#game-detail-shop > .product-detail-breadcrumb-anchor {
	width: 100%;
	max-width: 62.5rem;
	margin: 1.1rem auto 0;
	padding: 0 0.9375rem;
}
#game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
	margin: 0;
	max-width: 100%;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	row-gap: 0.35rem;
	column-gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.92rem;
	line-height: 1.4;
	color: #030303;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-width: 0;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item + .support-breadcrumb-item::before {
	content: "/";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0.35rem 0 0;
	font: inherit;
	font-size: 1em;
	line-height: inherit;
	letter-spacing: inherit;
	color: #b3b8a6;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-current {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none;
	text-transform: none;
	color: #030303;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:hover {
	color: #D90500;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:hover .breadcrumb-home-icon {
	stroke: #D90500;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current .support-breadcrumb-current {
	color: #030303;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-icon a {
	display: inline-flex;
	align-items: center;
}
#game-detail-shop .product-detail-breadcrumb-nav .breadcrumb-home-icon {
	width: 18px;
	height: 18px;
	stroke: #b3b8a6;
	transition: stroke 0.15s ease;
	flex-shrink: 0;
}
/* Keep product-detail breadcrumb typography aligned with site theme font stack. */
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-current,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item + .support-breadcrumb-item::before {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-style: normal;
}
#game-detail-shop .inside-hero-image h2 {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	text-transform: uppercase;
	margin: 1.5rem auto;
}
#game-detail-shop .game-info {
	background: transparent;
}
#game-detail-shop .game-info .detail-points li {
	list-style: none;
	line-height: 2.5rem;
/* 	background-image: url('../design/icons/players.png'); */
	background-position: left 0.45rem;
	background-repeat: no-repeat;
	padding-left: 2.5rem;
	background-size: 1.375rem;
}
#game-detail-shop .game-info .softwarekit {
	background-image: url('../design/icons/softwarekit.png');
}
#game-detail-shop .game-info .instock {
	background-image: url('../design/icons/greentick.png');
	background-position: left 0.45rem;
	background-repeat: no-repeat;
	background-size: 1.375rem;
	padding-left: 2.5rem;
	list-style: none;
}
#game-detail-shop .game-info .instock strong {
	font-weight: 400;
}
#game-detail-shop .game-info .outofstock {
	background-image: url('../design/icons/redcross.png');
	background-position: left 0.45rem;
	background-repeat: no-repeat;
	background-size: 1.375rem;
	padding-left: 2.5rem;
	list-style: none;
}
#game-detail-shop .game-info .instock::before,
#game-detail-shop .game-info .instock::after,
#game-detail-shop .game-info .outofstock::before,
#game-detail-shop .game-info .outofstock::after {
	content: none !important;
}
#game-detail-shop .orderbox {
	background: white;
	text-align: center;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	padding: 1rem;
	display: block;
}
#game-detail-shop .quantity-button {
	background: white;
	text-align: center;
}
#game-detail-shop .quantity-button .cart {
	display: flex;
	align-items: stretch;
	width: 100%;
}
#game-detail-shop .quantity-button .quantity {
	width: 25%;
}
#game-detail-shop .quantity-button .hidden {
	width: 0%;
}
#game-detail-shop .quantity-button input {
	width: 100%;
	border: solid 1px #D90500;
	box-sizing: border-box;
	text-align: center;
	border-radius: 8px 0 0 8px;
}
#game-detail-shop .quantity-button button {
	width: 100%;
	background: #D90500;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	box-sizing: border-box;
	border: none;
	padding: 0.85rem 1.6rem;
	font-size: 1rem;
	letter-spacing: 0.03em;
	border-radius: 0 8px 8px 0;
}
#game-detail-shop .quantity-button input,#game-detail-shop .quantity-button button {
	height: 3.5rem;
	margin: 0;
}
#game-detail-shop .quantity-button button:hover {
	background: white;
	color: #D90500;
	border: 1px solid #D90500;
}
body:not(.shop-v2) #game-detail-shop .orderbox {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #d6dce4;
}
body:not(.shop-v2) #game-detail-shop .quantity-button .cart {
	border-radius: 8px;
	overflow: hidden;
}
#game-detail-shop .boxIcons-shop-primary {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	gap: 1rem;
	min-height: 4rem;
	width: fit-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	background: transparent;
}
#game-detail-shop .boxIcons-shop-primary img {
	width: 4rem;
	height: 4rem;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	flex: 0 0 auto;
}
#game-detail-shop .game-info .detail-points li.has-arcade-icons {
	display: block;
	line-height: inherit;
}
#game-detail-shop .game-info .detail-points li .game-info-text {
	display: block;
	line-height: 2.5rem;
}
#game-detail-shop .game-info .detail-points li .game-info-text-label {
	display: block;
}
#game-detail-shop .game-info .detail-points li .game-info-inline-icons {
	display: block;
	margin-top: 0;
	margin-bottom: 0;
	line-height: 0;
}
#game-detail-shop .game-info .detail-points li .game-info-inline-icons img {
	display: block;
	width: 5rem;
	height: 5rem;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin-bottom: 1rem;
}
#game-detail-shop .game-info .detail-points li .game-info-text-details {
	display: block;
}
#game-detail-shop .game-info .detail-points li .game-info-inline-icons + .game-info-text-details {
	margin-top: 0;
}
#game-detail-shop .game-info .detail-points li .game-info-detail-lines {
	margin-top: 0;
}
#game-detail-shop .game-info .detail-points li .game-info-detail-line {
	display: block;
	margin-top: 0;
	line-height: 2.5rem;
}
#game-detail-shop .game-info .detail-points li .game-info-detail-line:first-child {
	margin-top: 0;
}
#game-detail-shop .game-info .detail-points li .game-info-detail-gap {
	display: block;
	height: 1rem;
}
#game-detail-shop .game-info .detail-points li .game-info-detail-gap-resolution {
	height: 1rem;
}
#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-detail-gap {
	height: 0.18rem;
}
#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-detail-gap-resolution {
	height: 0;
}
#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-inline-icons img {
	margin-bottom: 0.45rem;
}
#game-detail-shop .game-info .game-info-players {
	background-image: url('../design/icons/players.png');
}
#game-detail-shop .game-info .game-info-genre {
	background-image: url('../design/icons/genre.png');
}
#game-detail-shop .game-info .game-info-languages {
	background-image: url('../design/icons/language.png');
}
#game-detail-shop .game-info .game-info-jvs {
	background-image: url('../design/icons/jvs.png');
}
#game-detail-shop .game-info .game-info-inputlag {
	background-image: url('../design/icons/lag.png');
}
#game-detail-shop .game-info .game-info-monitor {
	background-image: url('../design/icons/monitor-black.png');
}
#game-detail-shop section#game-info.game-info .detail-points {
	border: 1px solid rgba(0, 0, 0, 0.25);
	border-radius: 6px;
	padding: 1rem 1.25rem;
}
#game-detail-shop section#game-info.game-info .detail-points li.game-info-languages .game-info-detail-line,
#game-detail-shop section#game-info.game-info .detail-points li.game-info-languages .languages-text-content,
#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .game-info-detail-line,
#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-text-content {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-weight: 400;
}
#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	vertical-align: middle;
	margin-top: 0.5rem;
}
#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img {
	width: 5rem;
	height: 5rem;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin-bottom: 0;
	display: inline-block;
}
#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img.monitor-icon-featured {
	filter: drop-shadow(0 0 6px rgba(217, 5, 0, 1)) drop-shadow(0 0 12px rgba(217, 5, 0, 0.8)) drop-shadow(0 0 20px rgba(217, 5, 0, 0.5));
}
#game-detail-shop .tagbox {
	display: block;
	padding: 1rem;
	background: #f6f7f2;
	border: 1px solid rgba(3, 3, 3, 0.14);
	margin-right: 2rem;
	color: #030303;
}
#game-detail-shop .tagbox p {
	color: #030303;
}
#game-detail-shop .tagbox .tagbox__sku {
	font-weight: 700;
}
#game-detail-shop .tagbox a {
	color: #030303;
}
body#light #game-detail-shop section#game-info.game-info.no-gallery {
	margin-top: 0;
}
@media only screen and (min-width: 40.063em) {
	body#light #game-detail-shop section#game-info.game-info.no-gallery {
		margin-top: -14rem;
	}
}
#game-detail-shop h3 {
	font-size: 1.25rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
}
#game-detail-shop .game-features {
	width: 100%;
	margin: 1rem auto 2rem auto;
	max-width: 90rem;
	position: relative;
}
#game-detail-shop .game-features::before {
	content: '';
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: 90rem;
	-webkit-filter: brightness(100%) blur(5px);
	filter: brightness(100%) blur(5px);
	opacity: 50%;
	z-index: -1;
	top: 0;
	left: 0;
}
#game-detail-shop .game-features p {
	color: #030303;
}
#game-detail-shop .game-features h3 {
	margin: 2rem 0;
}
#game-detail-shop .productcontents {
	margin: 4rem auto;
}
#game-detail-shop .productcontents .renewal-product-contents-gallery {
	display: block;
}
#game-detail-shop .productcontents .renewal-product-contents-image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}
#game-detail-shop .productcontents .renewal-product-contents-image + .renewal-product-contents-image {
	margin-top: 24px;
}
#game-detail-shop .productcontents > .row {
	display: flex;
	flex-direction: row-reverse;
}
@media only screen and (max-width: 40em) {
	#game-detail-shop .productcontents > .row {
		flex-direction: column;
	}
	#game-detail-shop .productcontents .renewal-product-contents-gallery {
		order: -1;
		margin-bottom: 2rem;
	}
}
#game-detail-shop .contentBreak {
	border: 1px solid #DEE2E0;
	margin: 5rem 0;
}
#product-detail {
	background: white;
	color: #030303;
}
.woocommerce-cart-form .button {
	border: none;
}
.shop_table_responsive,.woocommerce-checkout-review-order-table {
	width: 100%;
}
.shop_table_responsive ul,.woocommerce-checkout-review-order-table ul {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.slick-arrow {
	background-size: cover;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
}
.slick-next,.slick-prev {
	width: 25px;
	height: 37px;
}
#gallery.game-detail-slider .slick-prev,
#gallery.game-detail-slider .slick-next {
	z-index: 3;
	pointer-events: auto;
}
.slick-next:hover,
.slick-next:focus,
.slick-next:focus-visible {
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2237%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpolygon%20points%3D%220%2C0%2025%2C18.5%200%2C37%22%20fill%3D%22%23D90500%22/%3E%3C/svg%3E');
}
.slick-prev:hover,
.slick-prev:focus,
.slick-prev:focus-visible {
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2237%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpolygon%20points%3D%2225%2C0%200%2C18.5%2025%2C37%22%20fill%3D%22%23D90500%22/%3E%3C/svg%3E');
}
.slick-next {
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2237%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpolygon%20points%3D%220%2C0%2025%2C18.5%200%2C37%22%20fill%3D%22%236e7264%22/%3E%3C/svg%3E');
}
.slick-prev {
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2237%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpolygon%20points%3D%2225%2C0%200%2C18.5%2025%2C37%22%20fill%3D%22%236e7264%22/%3E%3C/svg%3E');
}
.slick-next:before,.slick-prev:before {
	content: "";
}

/* Shared carousel nav utility (Asuka Characters V2 parity).
   Supports Slick/Swiper/Owl and keeps hover-reveal behavior scoped to
   containers that opt in via `.renewal-carousel-nav--asuka`. */
.renewal-carousel-nav--asuka {
	--renewal-carousel-nav-offset-x: 0;
}
.renewal-carousel-nav--asuka .slick-prev,
.renewal-carousel-nav--asuka .slick-next,
.renewal-carousel-nav--asuka .swiper-button-prev,
.renewal-carousel-nav--asuka .swiper-button-next,
.renewal-carousel-nav--asuka .owl-prev,
.renewal-carousel-nav--asuka .owl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 30;
	width: 48px;
	height: 80px;
	padding: 0;
	background: rgba(0, 0, 0, 0.5);
	background-image: none;
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 2rem;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
	line-height: 1;
	cursor: pointer;
	transition: all 150ms ease-in-out;
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.renewal-carousel-nav--asuka .slick-prev,
.renewal-carousel-nav--asuka .swiper-button-prev,
.renewal-carousel-nav--asuka .owl-prev {
	left: var(--renewal-carousel-nav-offset-x);
	border-left: none;
	border-radius: 0 4px 4px 0;
}
.renewal-carousel-nav--asuka .slick-next,
.renewal-carousel-nav--asuka .swiper-button-next,
.renewal-carousel-nav--asuka .owl-next {
	right: var(--renewal-carousel-nav-offset-x);
	border-right: none;
	border-radius: 4px 0 0 4px;
}
.renewal-carousel-nav--asuka .slick-prev:hover,
.renewal-carousel-nav--asuka .slick-next:hover,
.renewal-carousel-nav--asuka .swiper-button-prev:hover,
.renewal-carousel-nav--asuka .swiper-button-next:hover,
.renewal-carousel-nav--asuka .owl-prev:hover,
.renewal-carousel-nav--asuka .owl-next:hover {
	background: #e61e25;
	border-color: #e61e25;
}
.renewal-carousel-nav--asuka .slick-prev::before,
.renewal-carousel-nav--asuka .slick-next::before,
.renewal-carousel-nav--asuka .owl-prev::before,
.renewal-carousel-nav--asuka .owl-next::before {
	/* Center the chevron glyph by flex rather than baseline so its bottom rim is
	   never clipped and it sits on the exact vertical center of the button. */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	font-weight: 400;
	color: currentColor;
	line-height: 1;
	opacity: 1;
}
.renewal-carousel-nav--asuka .slick-prev::before,
.renewal-carousel-nav--asuka .owl-prev::before {
	content: '\2039';
}
.renewal-carousel-nav--asuka .slick-next::before,
.renewal-carousel-nav--asuka .owl-next::before {
	content: '\203A';
}
.renewal-carousel-nav--asuka .swiper-button-prev::after,
.renewal-carousel-nav--asuka .swiper-button-next::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	font-weight: 400;
	color: currentColor;
	line-height: 1;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
}
.renewal-carousel-nav--asuka .swiper-button-prev::after {
	content: '\2039';
}
.renewal-carousel-nav--asuka .swiper-button-next::after {
	content: '\203A';
}
.renewal-carousel-nav--asuka .slick-prev:focus-visible,
.renewal-carousel-nav--asuka .slick-next:focus-visible,
.renewal-carousel-nav--asuka .swiper-button-prev:focus-visible,
.renewal-carousel-nav--asuka .swiper-button-next:focus-visible,
.renewal-carousel-nav--asuka .owl-prev:focus-visible,
.renewal-carousel-nav--asuka .owl-next:focus-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	outline: 2px solid #e61e25;
	outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
	.renewal-carousel-nav--asuka .slick-prev,
	.renewal-carousel-nav--asuka .slick-next,
	.renewal-carousel-nav--asuka .swiper-button-prev,
	.renewal-carousel-nav--asuka .swiper-button-next,
	.renewal-carousel-nav--asuka .owl-prev,
	.renewal-carousel-nav--asuka .owl-next {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.renewal-carousel-nav--asuka:hover .slick-prev,
	.renewal-carousel-nav--asuka:hover .slick-next,
	.renewal-carousel-nav--asuka:hover .swiper-button-prev,
	.renewal-carousel-nav--asuka:hover .swiper-button-next,
	.renewal-carousel-nav--asuka:hover .owl-prev,
	.renewal-carousel-nav--asuka:hover .owl-next,
	.renewal-carousel-nav--asuka:focus-within .slick-prev,
	.renewal-carousel-nav--asuka:focus-within .slick-next,
	.renewal-carousel-nav--asuka:focus-within .swiper-button-prev,
	.renewal-carousel-nav--asuka:focus-within .swiper-button-next,
	.renewal-carousel-nav--asuka:focus-within .owl-prev,
	.renewal-carousel-nav--asuka:focus-within .owl-next {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

@media (hover: none), (pointer: coarse) {
	.renewal-carousel-nav--asuka .slick-prev,
	.renewal-carousel-nav--asuka .slick-next,
	.renewal-carousel-nav--asuka .swiper-button-prev,
	.renewal-carousel-nav--asuka .swiper-button-next,
	.renewal-carousel-nav--asuka .owl-prev,
	.renewal-carousel-nav--asuka .owl-next {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

/* Gameography-style nav buttons — 1:1 with the Company Profile gameography image
   carousel chevrons (.exa-aboutus__carousel-chev): tall rounded side tabs, dark
   translucent, centered ‹ / › glyph, RED on hover/focus, always visible. Used
   as a modifier ALONGSIDE .renewal-carousel-nav--asuka. */
.renewal-carousel-nav--gameography .slick-prev,
.renewal-carousel-nav--gameography .slick-next,
.renewal-carousel-nav--gameography .swiper-button-prev,
.renewal-carousel-nav--gameography .swiper-button-next,
.renewal-carousel-nav--gameography .owl-prev,
.renewal-carousel-nav--gameography .owl-next {
	width: 48px;
	height: 80px;
	background: rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 2rem;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	/* Always visible like the gameography carousel (override asuka hover-reveal). */
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.renewal-carousel-nav--gameography .slick-prev,
.renewal-carousel-nav--gameography .swiper-button-prev,
.renewal-carousel-nav--gameography .owl-prev {
	left: var(--renewal-carousel-nav-offset-x, 0);
	border-left: none;
	border-radius: 0 4px 4px 0;
}
.renewal-carousel-nav--gameography .slick-next,
.renewal-carousel-nav--gameography .swiper-button-next,
.renewal-carousel-nav--gameography .owl-next {
	right: var(--renewal-carousel-nav-offset-x, 0);
	border-right: none;
	border-radius: 4px 0 0 4px;
}
.renewal-carousel-nav--gameography .slick-prev::before,
.renewal-carousel-nav--gameography .slick-next::before,
.renewal-carousel-nav--gameography .owl-prev::before,
.renewal-carousel-nav--gameography .owl-next::before,
.renewal-carousel-nav--gameography .swiper-button-prev::after,
.renewal-carousel-nav--gameography .swiper-button-next::after {
	font-size: 2rem;
}
.renewal-carousel-nav--gameography .slick-prev:hover,
.renewal-carousel-nav--gameography .slick-next:hover,
.renewal-carousel-nav--gameography .slick-prev:focus,
.renewal-carousel-nav--gameography .slick-next:focus,
.renewal-carousel-nav--gameography .slick-prev:focus-visible,
.renewal-carousel-nav--gameography .slick-next:focus-visible,
.renewal-carousel-nav--gameography .swiper-button-prev:hover,
.renewal-carousel-nav--gameography .swiper-button-next:hover,
.renewal-carousel-nav--gameography .owl-prev:hover,
.renewal-carousel-nav--gameography .owl-next:hover {
	background: #e61e25;
	border-color: #e61e25;
	color: #fff;
}

@media (hover: hover) and (pointer: fine) {
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .slick-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .slick-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .swiper-button-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .swiper-button-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .owl-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography .owl-next {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .slick-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .slick-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .swiper-button-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .swiper-button-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .owl-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:hover .owl-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .slick-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .slick-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .swiper-button-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .swiper-button-next,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .owl-prev,
	#shop-v2-page .shop-v2-hero.renewal-carousel-nav--gameography:focus-within .owl-next {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}
.slick-dots li button {
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%228%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Crect%20width%3D%2220%22%20height%3D%224%22%20fill%3D%22%236e7264%22/%3E%3C/svg%3E');
}
.slick-dots li button:hover,li.slick-active button,.slick-dots li button:focus {
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%228%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Crect%20width%3D%2220%22%20height%3D%224%22%20fill%3D%22%23D90500%22/%3E%3C/svg%3E');
}
.nf-form-cont,.searchform {
}
.nf-form-cont label,.searchform label {
	color: white;
	margin-bottom: 0.25rem;
}
.nf-form-cont input,.nf-form-cont textarea,.searchform input,.searchform textarea {
	border: none;
	border-radius: 2px;
}
.nf-form-cont #nf-field-4,.nf-form-cont #nf-field-16,.searchform button[type=submit] {
	color: white;
	background: #D90500;
	padding: 0.25rem 1rem;
	border: 0;
}
.nf-form-cont #nf-field-4:hover,.nf-form-cont #nf-field-16:hover,.searchform button[type=submit]:hover {
	color: #D90500;
	background: white;
	border: 0;
}
.searchform.searchform-pill {
	display: block;
	width: 100%;
	max-width: 680px;
	margin: 1rem 0 1.6rem;
}
.searchform.searchform-pill .searchform-pill-input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 48px;
	border: 1px solid #CFD5DA;
	border-radius: 999px;
	background: #fff;
	padding: 0 4px 0 0;
	overflow: clip;
	box-shadow: 0 2px 12px rgba(3, 3, 3, 0.07);
}
.searchform.searchform-pill .searchform-pill-input-wrap:focus-within {
	border-color: #CFD5DA;
	box-shadow: 0 0 0 3px rgba(207, 213, 218, 0.5), 0 8px 20px rgba(3, 3, 3, 0.12);
}
.searchform.searchform-pill input[type=search].searchform-pill-input {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
	box-shadow: none !important;
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	min-height: 0;
	margin: 0 !important;
	padding: 0.1rem 1rem 0.1rem 1.25rem;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: 1.02rem;
	line-height: 1.2;
	color: #6E7264;
}
.searchform.searchform-pill input[type=search].searchform-pill-input::placeholder {
	color: #6E7264;
	opacity: 1;
}
.searchform.searchform-pill input[type=search].searchform-pill-input:focus {
	outline: none;
}
.searchform.searchform-pill button[type=submit].searchform-pill-icon-button {
	position: relative;
	top: auto;
	right: auto;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 3.85rem;
	height: calc(100% - 8px);
	min-height: 40px;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: #D90500;
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: filter 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 3px 10px rgba(3, 3, 3, 0.2);
}
.searchform.searchform-pill button[type=submit].search-trigger-pill {
	border-radius: 9999px;
}
.searchform.searchform-pill button[type=submit].searchform-pill-icon-button:hover,
.searchform.searchform-pill button[type=submit].searchform-pill-icon-button:focus-visible {
	background: #C10600;
	color: #FFFFFF;
	filter: contrast(1.05) saturate(1.08);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 6px 16px rgba(3, 3, 3, 0.24);
}
.searchform.searchform-pill button[type=submit].searchform-pill-icon-button svg {
	width: 1.38rem;
	height: 1.38rem;
	display: block;
	flex: 0 0 auto;
}
.search-page-header-image {
	margin: 0.2rem 0 1rem;
	border-radius: 1rem;
	overflow: hidden;
	background: #0E100D;
	box-shadow: 0 10px 28px rgba(3, 3, 3, 0.24);
}
.search-page-header-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 340px;
	object-fit: cover;
}
.search-page-description-box {
	margin: 0.35rem 0 1.25rem;
	padding: 0.95rem 1rem;
	border: 1px solid #CFD5DA;
	border-radius: 0.9rem;
	background: #FFFFFF;
	color: #030303;
	box-shadow: 0 2px 12px rgba(3, 3, 3, 0.07);
}
.search-page-description-box p:last-child {
	margin-bottom: 0;
}
@media only screen and (max-width: 40em) {
	.searchform.searchform-pill {
		margin: 0.9rem 0 1.4rem;
	}
	.searchform.searchform-pill .searchform-pill-input-wrap {
		height: 46px;
	}
	.searchform.searchform-pill input[type=search].searchform-pill-input {
		height: 100%;
		padding-left: 1rem;
		padding-right: 0.75rem;
		font-size: 0.98rem;
	}
	.searchform.searchform-pill button[type=submit].searchform-pill-icon-button {
		width: 3.4rem;
		height: calc(100% - 8px);
		min-height: 38px;
	}
	.searchform.searchform-pill button[type=submit].searchform-pill-icon-button svg {
		width: 1.24rem;
		height: 1.24rem;
	}
}
@media only screen and (max-width: 23rem) {
	.searchform.searchform-pill input[type=search].searchform-pill-input {
		padding-right: 0.65rem;
	}
	.searchform.searchform-pill button[type=submit].searchform-pill-icon-button {
		width: 3.2rem;
	}
}
.company-profile-table {
	width: 100%;
}
.company-profile-table tr.even,.company-profile-table tr:nth-of-type(even) {
	background: #0E100D;
}
.company-profile-table tr.odd,.company-profile-table tr:nth-of-type(odd) {
	background: #171B15;
}
.company-profile-table td {
	background-color: none;
	vertical-align: top;
	padding-bottom: 1rem;
}
.company-profile-table td:first-child {
	vertical-align: top;
}
.company-profile-table td:first-child p {
	font-weight: bold;
}
@media only screen and (max-width: 40em) {
	.company-profile-table td p {
		font-size: 0.5rem;
	}
}
@media only screen and (max-width: 48em) {
	footer .footer-social {
		--footer-social-button-size: 48px;
		gap: 20px;
	}
}
/* min-width 641px and max-width 1024px */
@media only screen and (min-width: 40.063em) and (max-width: 64em) {
}
/* max-width 1024px */
@media only screen and (max-width: 64em) {
	.cabImage {
		visibility: hidden;
		height: 0;
	}
	#shop-listing .grid-container {
		grid-template-columns: repeat(2, 1fr);
	}
	#shop-listing .shop-sidebar-column {
		padding-right: 0;
		width: 23%;
		flex: 0 0 23%;
		max-width: 23%;
	}
	#shop-listing .shop-grid-column {
		width: 77%;
		flex: 0 0 77%;
		max-width: 77%;
	}
	#shop-listing .shop-grid-toolbar {
		justify-content: flex-start;
	}
}
/* 640px */
@media only screen and (max-width: 40em) {
	/* Keep the new shop sidebar/filter design visible on mobile and stack like desktop sections. */
	#shop-listing .exa-topbar-row,
	#shop-listing .exa-main-row {
		display: block;
	}
	#shop-listing .shop-sidebar-column,
	#shop-listing .shop-grid-column {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
	#shop-listing .shop-sidebar-column {
		padding-right: 0;
		margin-bottom: 0.75rem;
	}
	#shop-listing .shop-grid-column {
		padding-left: 0;
		padding-right: 0;
	}
	#whatis .image-container {
		aspect-ratio: 2/1;
	}
	#whatis .machine-inarticle {
		aspect-ratio: 2/1.8;
	}
	#whatis .big-iso {
		margin-top: 1.875rem;
	}
	footer {
		padding: 2rem 1rem;
	}
	.contain-to-grid {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	.scrolling-header {
		aspect-ratio: 2/1;
	}
	.game-listing .submenu {
		margin: 1rem;
	}
	.filter-controls.filter-controls--two-row {
		margin: 1rem;
		padding: 0.45rem 0;
	}
	.filter-controls.filter-controls--two-row .games-filter-row {
		flex-wrap: wrap;
		justify-content: center;
		overflow: visible;
		gap: 0.5rem 0.75rem;
		padding: 0.25rem 0 0.35rem;
	}
	.filter-controls.filter-controls--two-row .games-filter-row--secondary {
		padding-top: 0.45rem;
	}
	.game-listing .submenu ul {
		font-size: 0.75rem;
	}
	.game-grid {
		display: flex;
		flex-wrap: wrap;
	}
	.game-grid a {
		margin-bottom: 0;
		height: 16rem;
	}
	.game-grid a.featured {
		height: 28rem;
		margin-bottom: 2rem;
	}
	.button-red-shadowed {
		font-size: 0.85rem;
		padding: 0.25rem 1rem;
		margin-bottom: 1rem;
	}
	#aboutus .machine-wide {
		aspect-ratio: 1559/1221;
		margin: 0 auto;
	}
	#aboutus .machine-wide-left {
		width: 100%;
		margin-top: 2.5rem;
	}
	#aboutus .machine-wide-right {
		width: 100%;
		margin-bottom: 2.5rem;
	}
	#shop-listing .tabs .tab-title a {
		font-size: 0.75rem;
		padding: 0.25rem 0;
	}
	#shop-listing .grid-container {
		grid-template-columns: repeat(1, 1fr);
	}
	#shop-listing .shop-breadcrumbs {
		margin-bottom: 0.75rem;
	}
	#shop-listing .shop-sidebar-header {
		min-height: 0;
	}
	/* Show filters directly on mobile to mirror desktop design language. */
	#shop-listing .exa-sidebar-wrapper {
		display: block;
	}
	#shop-listing .exa-sidebar-wrapper.exa-sidebar-open {
		display: block;
	}
	#shop-listing .exa-mobile-filter-toggle {
		display: none;
	}
	#shop-listing .shop-grid-toolbar {
		flex-direction: column;
		align-items: center;
		gap: 0.08rem;
		min-height: 0;
	}
	#shop-listing .shop-sort-select-wrap,
	#shop-listing .shop-sort-select {
		width: min(100%, 12.75rem);
		min-width: 0;
		max-width: 100%;
	}
	#shop-listing .shop-sort-label {
		font-size: clamp(0.72rem, 2.9vw, 0.82rem);
		height: auto;
		line-height: 1.1;
		text-align: center;
		width: 100%;
	}
	#shop-listing .shop-sort-select-wrap {
		margin: 0 auto;
	}
	#shop-listing .shop-sort-select {
		font-size: clamp(0.74rem, 3vw, 0.84rem);
		padding: 0.4rem 0.56rem;
	}
	#shop-listing .exa-sidebar-wrapper {
		padding: 0.6rem;
		border-radius: 6px;
	}
	#shop-listing .exa-filter-group {
		padding: 0.46rem;
		border-radius: 5px;
	}
	#shop-listing .tag-selector .exa-filter-link {
		gap: 0.22rem;
		font-size: clamp(0.82rem, 3vw, 0.92rem);
	}
	#shop-listing .exa-filter-label {
		flex: 0 1 auto;
	}
	#shop-listing .exa-filter-count {
		margin-left: 0.12rem;
		font-size: 0.95em;
	}
	#shop-listing .grid-container,
	#shop-listing .products {
		margin-left: 0;
		margin-right: 0;
	}
	#shop-listing .products {
		justify-items: center;
	}
	#shop-listing .products > li.shoplisting-product {
		width: 100%;
		max-width: 24rem;
		margin: 0 auto;
	}
	#shop-listing .shoplisting-product .product-info {
		min-height: 0;
		padding: clamp(0.65rem, 2.8vw, 0.9rem);
	}
		#shop-listing .shoplisting-product .title {
			font-size: clamp(0.82rem, 3vw, 0.96rem);
			line-height: 1.32;
		}
	#shop-listing .shoplisting-footer {
		padding: clamp(0.5rem, 2.6vw, 0.85rem);
		gap: clamp(0.35rem, 2.2vw, 0.6rem);
	}
		#shop-listing .shoplisting-footer .price {
			font-size: clamp(0.82rem, 3vw, 0.96rem);
			line-height: 1.32;
		}
		#shop-listing .shoplisting-footer .add-to-cart-button {
			font-size: clamp(0.62rem, 2.6vw, 0.72rem);
			padding: clamp(0.28rem, 2vw, 0.38rem) clamp(0.6rem, 3vw, 0.94rem);
		}
	#shop-listing .exa-filter-row {
		line-height: 1.5rem;
	}
	#shop-listing .exa-checkbox {
		width: 14px;
		height: 14px;
	}
	.woocommerce-cart-form__contents .product-thumbnail {
		visibility: hidden;
		width: 0;
		height: 0;
		display: none;
	}
	.top-bar-section .right {
		width: 6rem;
	}
	.top-bar-section .left {
		text-align: right;
	}
	#generic-post .news-post-hero {
		margin: 0.75rem auto 1.25rem auto;
	}
	.game-detail .game-submenu,.game-detail-subpage .game-submenu {
		height: 3rem;
		background-color: #03030395;
		z-index: var(--renewal-secondary-nav-z-index);
		width: 100%;
		position:fixed !important;
		top: var(--renewal-main-nav-height);
		margin:0;
	}
	.inside-hero-image{
		padding-top: 3rem;
	}
	.game-submenu ul {
		display: table;
		width: 100%-16rem;
		margin: 0 auto;
		/* float:left;
		*/
	}
	.game-submenu ul li {
		display: table-cell;
	}
	.game-submenu ul li a {
		display: block;
		text-align: center;
		padding: 0.85rem 0.5rem 0 0.5rem;
		height: 3rem;
		font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
		color: #b3b8a6;
		font-size: 0.75rem;
		text-decoration: none;
	}
	.game-submenu .button-red{
		visibility: hidden;
		width:0;
	}
/*
	.game-submenu-logo{
		visibility: hidden;
		width:0;
	}
*/
	.game-detail .hero-image {
/* 		min-height: 10rem; */
		padding-top: 0;
		aspect-ratio: 1440/1440;
/* 		margin-bottom: -4rem; */
	}
	.game-detail .hero-image::before {
/* 		min-height: 10rem; */
		margin: 0 auto 0 auto;
		aspect-ratio: 1440/1440;
	}
	.inside-hero-image .exaclusive {
		width: 8rem;
	}
	.slick-dots {
		visibility: hidden;
		width: 0;
		height: 0;
		display: none;
	}
	#game-detail-shop .hero-image {
		width: 100%;
		margin: 1rem auto 0 auto;
		aspect-ratio: 1440/870;
/* 		min-height: 30rem; */
		max-width: 90rem;
		padding-top: 2rem;
	}
	#game-detail-shop .hero-image::before {
		content: '';
		background-position: top center;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		width: 100%;
		aspect-ratio: 1440/870;
		min-height: 40rem;
		max-width: 90rem;
		opacity: 0.6;
		z-index: -1;
		top: 0;
		margin: 5rem auto 0 auto;
		}
	}

/* Mobile nav layering fix (portrait + landscape):
 * Keep Foundation sticky/fixed behavior intact while ensuring expanded nav
 * sits above game-detail fixed submenu/content on EN+JA templates.
 */
@media only screen and (max-width: 64rem) {
	header .contain-to-grid.fixed,
	header .contain-to-grid.sticky {
		z-index: 1200;
	}
	header .contain-to-grid .top-bar.expanded {
		overflow: visible;
	}
	header .contain-to-grid .top-bar.expanded .top-bar-section {
		z-index: 1310;
	}
	header .contain-to-grid .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
	header .contain-to-grid .top-bar.expanded .top-bar-section > ul > li > .dropdown {
		z-index: 1320;
	}
	body > article.game-detail > .game-submenu,
	.game-detail .game-submenu,
	.game-detail-subpage .game-submenu,
	.gc-page.gc-page--with-submenu .game-submenu {
		z-index: var(--renewal-secondary-nav-z-index);
	}
}

@media only screen and (max-width: 40em) and (orientation: portrait) {
	header .contain-to-grid .top-bar.expanded .top-bar-section ul li > a {
		text-align: right;
		padding-right: 0.9375rem;
	}
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li.title.back h5 > a {
		text-align: right;
		padding-right: 0.9375rem;
		font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
		font-weight: 400;
	}
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li.parent-link > a {
		color: #D90500 !important;
		text-decoration: underline !important;
		text-underline-offset: 0.18rem;
	}
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).touch-hover-active > a,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title) > a:hover,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title) > a:focus,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title) > a:active,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title) > a.selected,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).active > a,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).current-menu-item > a,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).current_page_item > a,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).current-menu-ancestor > a,
	header .contain-to-grid .top-bar.expanded .top-bar-section .dropdown li:not(.parent-link):not(.title).current-page-ancestor > a {
		color: #ffffff !important;
		text-decoration: underline !important;
		text-decoration-color: #D90500 !important;
		text-underline-offset: 0.18rem;
	}
}

@media only screen and (max-width: 40em) and (orientation: portrait) {
	body > article.game-detail #development-team p.copyright-license-info {
		font-size: 0.64rem;
		line-height: 1.25;
	}
}

@media only screen and (max-width: 40em) and (orientation: portrait) {
	#shop-listing .exa-topbar-row .shop-sidebar-column,
	#shop-listing .exa-topbar-row .shop-grid-column,
	#shop-listing .exa-main-row .shop-sidebar-column,
	#shop-listing .exa-main-row .shop-grid-column {
		padding-left: 0;
		padding-right: 0;
	}
	#shop-listing .exa-topbar-row .shop-sidebar-column {
		display: block;
	}
	#shop-listing .exa-topbar-row .shop-breadcrumbs {
		width: min(100%, 24rem);
		margin-left: auto;
		margin-right: auto;
		justify-content: flex-start;
		text-align: left;
	}
	#shop-listing .exa-main-row .shop-sidebar-column {
		display: flex;
		justify-content: center;
	}
	#shop-listing .exa-sidebar-wrapper {
		padding: 0.52rem;
		width: min(100%, 24rem);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#shop-listing .shop-grid-toolbar {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 0.4rem;
		width: min(100%, 24rem);
		margin-left: auto;
		margin-right: auto;
	}
	#shop-listing .shop-sort-label {
		width: auto;
		text-align: left;
	}
	#shop-listing .shop-sort-select-wrap {
		margin: 0;
	}
	#shop-listing .exa-filter-group {
		padding: 0.4rem;
		width: min(100%, 17.5rem);
		margin-left: auto;
		margin-right: auto;
	}
	#shop-listing .tag-selector .exa-filter-row {
		display: flex;
		line-height: 1.35rem;
	}
	#shop-listing .tag-selector .exa-filter-link {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		width: auto;
		max-width: 100%;
		padding-top: 0.08rem;
		padding-bottom: 0.08rem;
		white-space: normal;
	}
	#shop-listing .exa-filter-label {
		flex: 0 0 auto;
	}
	#shop-listing .exa-filter-count {
		margin-left: 0.08rem;
	}
	}

@media (max-width: 600px) {
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item {
		max-width: 46vw;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current {
		max-width: 70vw;
	}
}

@media only screen and (max-width: 40em) {
	#game-detail-shop .boxIcons-shop-primary {
		gap: 1rem;
	}
	#game-detail-shop .game-info .detail-points li .game-info-inline-icons img {
		width: 4rem;
		height: 4rem;
		margin-bottom: 0.8rem;
	}
	#game-detail-shop .game-info .detail-points li .game-info-detail-gap {
		height: 0.85rem;
	}
	#game-detail-shop .game-info .detail-points li .game-info-detail-gap-resolution {
		height: 0.85rem;
	}
	#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-detail-gap {
		height: 0.12rem;
	}
	#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-detail-gap-resolution {
		height: 0;
	}
	#game-detail-shop .game-info .detail-points li.game-info-monitor .game-info-inline-icons img {
		margin-bottom: 0.4rem;
	}
	#game-detail-shop section#game-info.game-info .detail-points {
		padding: 0.75rem 1rem;
	}
	#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row {
		display: flex;
		flex-wrap: wrap;
		margin-top: 0.5rem;
	}
	#game-detail-shop section#game-info.game-info .detail-points li.game-info-monitor .monitor-icons-row img {
		width: 4rem;
		height: 4rem;
	}
	body#light #game-detail-shop .hero-image {
		position: relative;
		aspect-ratio: auto;
		height: auto;
		max-width: 100vw;
		padding-bottom: 1.5rem;
		overflow: hidden;
		margin-left: 0;
		margin-right: 0;
	}
	body#light #game-detail-shop .hero-image::before {
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	body#light #game-detail-shop .hero-image .inside-hero-image {
		padding-top: 0;
		margin-bottom: 0.75rem;
	}
	body#light #game-detail-shop .hero-image .orderbox {
		margin-bottom: 1rem;
	}
	body#light #game-detail-shop section#game-info.game-info {
		clear: both;
		position: relative;
		margin-top: 0 !important;
	}
	body#light #game-detail-shop section#game-info.game-info .tagbox {
		margin-right: 0;
		margin-top: 1rem;
	}
}

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
	#game-detail-shop .boxIcons-shop-primary {
		margin-top: 2rem;
		gap: 1rem;
	}
}

/* Phone portrait shop-hero seam fix:
 * remove the top gap between header and hero image on narrow portrait screens.
 */
@media only screen and (max-width: 40em) and (orientation: portrait) {
	#game-detail-shop {
		position: relative;
	}
	#game-detail-shop > .product-detail-breadcrumb-anchor {
		position: fixed;
		top: var(--renewal-main-nav-height);
		left: 0;
		right: 0;
		z-index: var(--renewal-secondary-nav-z-index);
		margin: 0;
		padding: 0 0.7rem;
	}
	#game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
		max-width: 100%;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list {
		flex-wrap: nowrap;
		row-gap: 0;
		column-gap: 0.2rem;
		white-space: nowrap;
		overflow: hidden;
		line-height: 1.3;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item,
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current {
		max-width: none;
		flex: 0 1 auto;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a,
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-current {
		max-width: none;
	}
	body#light #game-detail-shop .hero-image {
		margin-top: 0;
		max-height: none !important;
		padding-top: 2.1rem;
	}
	body#light #game-detail-shop .hero-image::before {
		margin-top: 0;
		min-height: 0 !important;
		aspect-ratio: 1440/870;
		background-size: contain !important;
		background-position: top center !important;
	}
	/* Match Game detail arrow alignment on narrow portrait product pages. */
	#game-detail-shop #gallery.game-detail-slider .slick-prev {
		left: 0 !important;
		z-index: 2;
	}
	#game-detail-shop #gallery.game-detail-slider .slick-next {
		right: 0 !important;
		z-index: 2;
	}
}

/* Phone landscape orientation stability:
 * keep forced-desktop landscape behavior while preventing oversized pseudo-height.
 */
@media only screen and (max-height: 40em) and (orientation: landscape) {
	html.touch-mobile-tablet body#light #game-detail-shop .hero-image {
		margin-top: 0;
	}
	html.touch-mobile-tablet body#light #game-detail-shop .hero-image::before {
		min-height: 0;
	}
}

/* Forced-landscape desktop mode (mobile/tablet):
 * keep Shop detail gallery below the arcade icon lane.
 */
html.force-desktop-landscape body#light #game-detail-shop section#gallery.game-detail-slider {
	/* Desktop uses a strong pull-up (-20rem); on short landscape screens that overlaps icons.
	 * Use a moderated pull-up to keep the carousel visually flush under the icon row.
	 */
	margin-top: -11.5rem !important;
}

/* Mobile portrait game-hero fix:
 * - override the square (1440/1440) tablet/mobile rule that causes zoomed crops.
 * - keep full image ratio visible and extend the hero background to the gallery edge.
 */
@media only screen and (max-width: 64rem) and (orientation: portrait) {
	body > article.game-detail > section.hero-image {
		position: relative;
		width: 100%;
		max-width: 100vw;
		padding-top: 0;
		aspect-ratio: auto;
		min-height: 0;
		margin-bottom: 0 !important;
		overflow: hidden;
	}
	body > article.game-detail > section.hero-image .inside-hero-image {
		margin-bottom: 1rem !important;
	}
	body > article.game-detail > section.hero-image .boxIcons {
		margin-bottom: 1rem;
	}
	body > article.game-detail > section.hero-image::before {
		inset: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		margin: 0 !important;
		left: 0;
		aspect-ratio: auto !important;
		/* Keep gradients full-height while image stays uncropped. */
		background-size: cover, cover, contain !important;
		background-repeat: no-repeat, no-repeat, no-repeat;
	}
	body > article.game-detail > section#gallery.game-detail-slider {
		margin-top: 0 !important;
	}
	body > article.game-detail:not(.no-carousel) > section#gallery.game-detail-slider,
	body > article.game-detail-subpage:not(.no-carousel) > section#gallery.game-detail-slider {
		margin-top: 0.9rem !important;
	}
	body > article.game-detail > section.hero-image .button-red-shadowed {
		display: inline-block;
		padding-top: 0.25rem;
		padding-bottom: 0.25rem;
		line-height: 1.2;
	}
}

@media only screen and (max-width: 64rem) {
	.game-detail .hero-image .game-purchase-buttons-hero {
		width: fit-content;
		max-width: 100%;
		gap: 0.6rem;
		margin-bottom: 0.8rem;
	}
	.game-detail .hero-image .game-purchase-buttons-hero .button-red-shadowed {
		min-width: 13rem;
		max-width: min(100%, 18rem);
		padding: 0.65rem 1.2rem;
		font-size: 0.85rem;
	}
	.game-detail .hero-image .game-purchase-buttons-hero.is-placeholder {
		min-height: 2.8rem;
	}
	.game-detail.has-multi-purchase-buttons .boxIcons {
		margin-bottom: 0.9rem;
	}
	.game-detail.has-multi-purchase-buttons .game-detail-slider {
		margin-top: 0 !important;
	}
	#game-detail-shop .quantity-button button {
		padding: 0.65rem 1.2rem;
		font-size: 0.85rem;
	}
	#game-detail-shop .quantity-button input,
	#game-detail-shop .quantity-button button {
		height: 3.2rem;
	}
}

/* Phone-only: hide hero arcade icon row under CTA buttons on game detail pages. */
@media only screen and (max-width: 40em) {
	body > article.game-detail > section.hero-image .boxIcons {
		display: none;
	}
}

/* Mobile submenu vertical-centering:
 * apply across all mobile browsers/devices (iOS, Android, Windows mobile),
 * not just portrait mode.
 */
html.touch-mobile-tablet.template-game-detail {
	--renewal-game-submenu-height: 3rem;
}
html.touch-mobile-tablet.template-game-detail header .contain-to-grid.fixed,
html.touch-mobile-tablet.template-game-detail header .contain-to-grid.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}
html.touch-mobile-tablet.template-game-detail body > article.game-detail,
html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-game-submenu-height));
}
html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu,
html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu {
	top: var(--renewal-main-nav-height) !important;
}
/* Foundation sticky topbar injects body.f-topbar-fixed padding on scroll.
 * Game detail pages already reserve header/submenu space, so disable the extra lane.
 */
html.touch-mobile-tablet.template-game-detail body.f-topbar-fixed {
	padding-top: 0 !important;
}
/* Safari mobile paint/layout guard:
 * keep submenu + hero in stable compositor layers during first paint/first scroll.
 */
@supports (-webkit-touch-callout: none) {
	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail > section.hero-image,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > section.hero-image {
		contain: layout paint;
		will-change: transform;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}

@media only screen and (max-width: 64rem) {
	/* Default mobile/landscape behavior: centered links for EN + JA. */
	.game-detail .game-submenu .game-submenu-logo-cell,
	.game-detail .game-submenu .game-submenu-actions-cell,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-logo-cell,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-actions-cell {
		flex-basis: 6.5rem !important;
		min-width: 6.5rem !important;
	}
	.game-detail .game-submenu .game-submenu-nav-cell,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-cell {
		justify-content: center !important;
		text-align: center !important;
	}
	.game-detail .game-submenu .game-submenu-links,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links {
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body > article.game-detail > .game-submenu,
	body > article.gc-page.gc-page--with-submenu > .game-submenu {
		display: flex !important;
		align-items: center !important;
	}
	.game-detail .game-submenu > .row,
	.gc-page.gc-page--with-submenu .game-submenu > .row {
		height: 3rem !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
	}
	.game-detail .game-submenu ul,
	.gc-page.gc-page--with-submenu .game-submenu ul {
		height: 3rem !important;
		margin: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		vertical-align: middle !important;
	}
	.game-detail .game-submenu ul li,
	.gc-page.gc-page--with-submenu .game-submenu ul li {
		height: 3rem !important;
		display: flex !important;
		align-items: center !important;
	}
	.game-detail .game-submenu ul li a,
	.gc-page.gc-page--with-submenu .game-submenu ul li a {
		height: 3rem !important;
		line-height: 3rem !important;
		padding: 0 0.5rem !important;
		margin: 0 !important;
		display: block !important;
		vertical-align: middle !important;
		white-space: nowrap !important;
	}
}

/* JP game-detail mobile portrait safety:
 * keep logo lane and nav lane separated to prevent overlap.
 */
@media only screen and (max-width: 64rem) and (orientation: portrait) {
	.game-detail .game-submenu .game-submenu-nav-cell,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-cell {
		justify-content: flex-start !important;
		text-align: left !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-nav-cell,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell {
		justify-content: flex-start !important;
		text-align: left !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow),
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow),
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) {
		justify-content: center !important;
		text-align: center !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-links,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-links,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-links {
		justify-content: flex-start !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links {
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-cell,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell {
		position: relative;
		scroll-behavior: smooth;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame {
		position: relative;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: 3rem !important;
		display: flex;
		align-items: center;
		overflow: hidden;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame > .game-submenu-nav-cell {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: 3rem !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-cell .game-submenu-links,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell .game-submenu-links,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell .game-submenu-links {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links {
		padding-left: 1.55rem !important;
		padding-right: 1.55rem !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow {
		position: absolute;
		top: 0;
		bottom: 0;
		width: 2.85rem;
		padding: 0 0.36rem;
		border: 0;
		background: transparent;
		color: #ffffff;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		z-index: 4;
		pointer-events: auto;
		touch-action: manipulation;
		transition: opacity 0.18s ease;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:hover,
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:focus-visible,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:hover,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:focus-visible,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:hover,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow:focus-visible {
		background-color: transparent;
		color: #ffffff;
		outline: none;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--left,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--left,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--left {
		left: 0;
		padding-left: 0.36rem;
		justify-content: flex-start;
		background: linear-gradient(90deg, rgba(3, 3, 3, 0.97) 16%, rgba(3, 3, 3, 0.82) 50%, rgba(3, 3, 3, 0.36) 70%, rgba(3, 3, 3, 0) 100%);
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--right,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--right,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow--right {
		right: 0;
		padding-right: 0.42rem;
		justify-content: flex-end;
		background: linear-gradient(270deg, rgba(3, 3, 3, 0.97) 16%, rgba(3, 3, 3, 0.82) 50%, rgba(3, 3, 3, 0.36) 70%, rgba(3, 3, 3, 0) 100%);
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow.is-disabled,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow.is-disabled,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow.is-disabled {
		opacity: 0.46;
		pointer-events: none;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow svg,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow svg,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame .game-submenu-scroll-arrow svg {
		display: block;
		width: 0.78rem;
		height: 0.78rem;
		stroke: currentColor;
		stroke-width: 1.9;
		fill: none;
		stroke-linecap: round;
		stroke-linejoin: round;
		filter: drop-shadow(0 0 0.35rem rgba(3, 3, 3, 0.5));
		transform: translateY(4px);
	}
	.game-detail .game-submenu .game-submenu-links,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links {
		justify-content: flex-start !important;
		margin-left: auto !important;
		margin-right: auto !important;
		flex: 0 0 auto !important;
		flex-wrap: nowrap !important;
		min-width: max-content !important;
		position: relative;
		top: 4px;
	}
	body > article.game-detail > .game-submenu > .game-submenu-row,
	body > article.game-detail-subpage > .game-submenu > .game-submenu-row,
	body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row {
		flex-wrap: nowrap !important;
		overflow: visible;
		height: 3rem !important;
		min-height: 3rem !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		align-items: center !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-logo-cell,
	body > article.game-detail-subpage > .game-submenu .game-submenu-logo-cell,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo-cell {
		flex: 0 0 6.5rem !important;
		min-width: 6.5rem !important;
		height: 3rem !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-cell,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell {
		flex: 1 1 auto !important;
		min-width: 0;
		display: flex !important;
		align-items: center !important;
		overflow-x: auto;
		overflow-y: hidden;
		touch-action: pan-x;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		scrollbar-gutter: auto;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-cell::-webkit-scrollbar,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell::-webkit-scrollbar,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell::-webkit-scrollbar {
		display: none;
	}
	body > article.game-detail > .game-submenu .game-submenu-actions-cell,
	body > article.game-detail-subpage > .game-submenu .game-submenu-actions-cell,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		height: 3rem !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-actions-cell.is-empty,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell.is-empty {
		flex: 0 0 6.5rem !important;
		min-width: 6.5rem !important;
		visibility: hidden;
		pointer-events: none;
	}
	/* JA game-detail pages do not show a top-right Shop button:
	 * reclaim the reserved empty lane so long labels (e.g. バージョン情報) have full width.
	 */
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-actions-cell.is-empty,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-actions-cell.is-empty,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell.is-empty {
		flex: 0 0 0 !important;
		min-width: 0 !important;
		width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-links li,
	body > article.game-detail > .game-submenu .game-submenu-links li a,
	body > article.game-detail-subpage > .game-submenu .game-submenu-links li,
	body > article.game-detail-subpage > .game-submenu .game-submenu-links li a,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-links li,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-links li a {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-links li,
	body > article.game-detail-subpage > .game-submenu .game-submenu-links li,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-links li {
		height: 3rem !important;
		display: flex !important;
		align-items: center !important;
	}
	body > article.game-detail > .game-submenu .game-submenu-links li a,
	body > article.game-detail-subpage > .game-submenu .game-submenu-links li a,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-links li a {
		height: 3rem !important;
		line-height: 3rem !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
	}
	body > article.game-detail > .game-submenu a.game-submenu-logo,
	body > article.game-detail-subpage > .game-submenu a.game-submenu-logo,
	body > article.gc-page.gc-page--with-submenu > .game-submenu a.game-submenu-logo {
		margin-top: 0.25rem !important;
		height: 2.5rem !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.has-scroll-overflow .game-submenu-links {
		justify-content: flex-start !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links,
	html.template-game-ja body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell:not(.has-scroll-overflow) .game-submenu-links {
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Tablet portrait centering parity (EN/JA):
 * keep lane-separation safety, but center submenu/filter controls for iPad.
 */
@media only screen and (min-width: 48em) and (max-width: 64rem) and (orientation: portrait) {
	.game-detail .game-submenu .game-submenu-nav-cell,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-nav-cell {
		justify-content: center !important;
		text-align: center !important;
	}
	.game-detail .game-submenu .game-submenu-links,
	.gc-page.gc-page--with-submenu .game-submenu .game-submenu-links {
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.filter-controls.filter-controls--two-row .games-filter-row {
		justify-content: center !important;
		text-align: center;
	}
}

/* JP mobile portrait title wrapping:
 * enforce kinsoku-style breaks by default and enable phrase-aware wrapping where supported.
 */
@media only screen and (max-width: 40em) and (orientation: portrait) {
	html[lang^="ja"] body > article.game-detail > .game-submenu .game-submenu-logo h1,
	html[lang^="ja"] body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo h1,
	html[lang^="ja"] body > article.game-detail > section.hero-image .inside-hero-image h2,
	html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-logo h1,
	html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo h1,
	html.template-game-ja body > article.game-detail > section.hero-image .inside-hero-image h2 {
		word-break: keep-all;
		line-break: strict;
		overflow-wrap: normal;
	}
	@supports (word-break: auto-phrase) {
		html[lang^="ja"] body > article.game-detail > .game-submenu .game-submenu-logo h1,
		html[lang^="ja"] body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo h1,
		html[lang^="ja"] body > article.game-detail > section.hero-image .inside-hero-image h2,
		html.template-game-ja body > article.game-detail > .game-submenu .game-submenu-logo h1,
		html.template-game-ja body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo h1,
		html.template-game-ja body > article.game-detail > section.hero-image .inside-hero-image h2 {
			word-break: auto-phrase;
			overflow-wrap: anywhere;
		}
	}
}

.filter-container {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}
.filtr-item.game-card-reveal {
	opacity: 0;
	transform: translate3d(0, 10px, 0);
	transition: opacity 0.24s ease, transform 0.24s ease;
}
.filtr-item.is-visible {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.filtr-item.game-card-reveal,
	.filtr-item.is-visible {
		transition: none;
		transform: none;
	}
}
.filtr-item {
	width: 24.5%;
	padding: 0.5rem;
	box-sizing: border-box;
}
.filtr-item:nth-child(odd) {
	/* background-color: red;
	*/
}
@media only screen and (min-width: 40.063em) and (max-width: 64em) {
	.filtr-item {
		width: 33.3%;
		padding: 0.75rem;
		box-sizing: border-box;
	}
}
@media only screen and (max-width: 40em) {
	.filtr-item {
		width: 100%;
		padding: 0.75rem;
		box-sizing: border-box;
		margin:0;
		aspect-ratio:16/11;
		/* height:20rem;
		*/
	}
}
.filter-controls {
	display: block;
	text-align: center;
	margin: 0 auto;
}
.games-grid-sentinel {
	width: 100%;
	height: 1px;
}
.games-grid-load-more[hidden] {
	display: none !important;
}
.games-grid-load-more {
	display: block;
	margin: 0.75rem auto 1.25rem;
}
.filter-controls button {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	background: #D90500;
	border: 1px solid #7f0300;
	box-shadow: inset 0 0 0 1.5px #000, 0 0 0 1px #7f0300;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	padding: 0.6rem 0.95rem 0.52rem;
	cursor: pointer;
	text-decoration: none;
	margin-right: 0;
	text-transform: uppercase;
	font-size: clamp(0.9rem, 0.87rem + 0.2vw, 1.05rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
	border-radius: 7px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.filter-controls button:last-child {
	margin-right: 0;
}
.filter-controls button:hover {
	background: #fff;
	border-color: #7f0300;
	color: #D90500;
	text-decoration: none;
	box-shadow: inset 0 0 0 1.5px #000, 0 0 0 1px #7f0300, 0 6px 14px rgba(0, 0, 0, 0.12);
	transform: translateY(-1px);
}
.filter-controls button:focus-visible {
	outline: none;
}
.filter-controls button.active,
.filter-controls button.active:hover {
	background: #fff;
	border-color: #7f0300;
	color: #D90500;
	box-shadow: inset 0 0 0 1.5px #000, 0 0 0 1px #7f0300, 0 8px 16px rgba(177, 6, 0, 0.25);
	transform: translateY(-1px);
}
.filter-controls.filter-controls--two-row {
	margin: clamp(0.75rem, 1.7vw, 1.2rem) auto clamp(0.9rem, 2.1vw, 1.35rem);
	max-width: 90rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.filter-controls.filter-controls--two-row .games-filter-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.72rem 0.72rem;
	margin: 0;
	padding: 0;
	overflow: visible;
}
.filter-controls.filter-controls--two-row .games-filter-row--secondary {
	margin-top: 0.8rem;
	padding-top: 0;
}
.filter-controls.filter-controls--two-row button {
	margin-right: 0;
	flex: 0 0 auto;
	white-space: nowrap;
}
html[lang^="ja"] .filter-controls.filter-controls--two-row button {
	padding: 0.56rem 0.86rem 0.5rem;
	line-height: 1.35;
	letter-spacing: 0;
}
@media only screen and (max-width: 40em) {
	.filter-controls.filter-controls--two-row {
		margin: 0.75rem 0.75rem 1rem;
		padding: 0.8rem 0;
	}
	.filter-controls.filter-controls--two-row .games-filter-row {
		gap: 0.48rem;
		justify-content: center;
		flex-wrap: wrap;
		overflow: visible;
	}
	.filter-controls.filter-controls--two-row .games-filter-row--secondary {
		margin-top: 0.55rem;
		padding-top: 0;
	}
	.filter-controls.filter-controls--two-row button {
		padding: 0.48rem 0.72rem 0.42rem;
		font-size: 0.9rem;
		border-radius: 6px;
	}
	html[lang^="ja"] .filter-controls.filter-controls--two-row button {
		padding: 0.48rem 0.66rem 0.42rem;
		line-height: 1.3;
	}
}
.figure-link:hover,.figure-link {
	text-decoration: none !important;
}
.button-red-shadowed:hover,.figure-link:hover .button-red-shadowed {
	background-color: #fff;
	color: #D90500;
	text-decoration: none !important;
}
.landing-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
	grid-gap: 1rem;
	margin-bottom: 1rem;
}
.full-width-image {
	grid-column: span 2;
	aspect-ratio: 16/9;
	margin: 0;
}
.half-width-image {
	aspect-ratio: 16/9;
	margin: 0;
}
.landing-page .landing-grid > figure.full-width-image,
.landing-page .landing-grid > figure.half-width-image {
	position: relative;
	overflow: hidden;
	background-color: #000;
	border-radius: 4px;
}
.landing-page .landing-grid > figure .tile-visual {
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.18s ease-out;
	will-change: transform;
	pointer-events: none;
	z-index: 0;
}
.landing-page .landing-grid > figure .tile-visual .game-card-video-preview {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}
.landing-page .landing-grid > figure .tile-visual .game-card-video-preview iframe,
.landing-page .landing-grid > figure .tile-visual .game-card-video-preview video {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
	.landing-page .landing-grid > figure.full-width-image:hover .tile-visual,
	.landing-page .landing-grid > figure.half-width-image:hover .tile-visual {
		box-shadow: inset 0 0 0 4px #fff;
		transform: scale(0.98);
	}
}
.landing-page .landing-grid > figure.full-width-image.touch-hover-active .tile-visual,
.landing-page .landing-grid > figure.half-width-image.touch-hover-active .tile-visual,
.landing-page .landing-grid > figure.full-width-image:focus-within .tile-visual,
.landing-page .landing-grid > figure.half-width-image:focus-within .tile-visual {
	box-shadow: inset 0 0 0 4px #fff;
	transform: scale(0.98);
}
.figure-link {
	display: block;
	width: 100%;
	height: 100%;
}
.landing-page .landing-grid > figure .figure-link {
	position: relative;
	z-index: 2;
}
@media only screen and (max-width: 40em) {
	.landing-page .landing-grid > figure .align-bottom-center .button-red-shadowed {
		display: none;
	}
}
.boxIcons {
	--renewal-hero-arcade-icon-size: 4rem;
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, var(--renewal-hero-arcade-icon-size));
	gap: 1rem;
	justify-content: center;
	align-items: start;
}
.boxIcons img {
	width: var(--renewal-hero-arcade-icon-size);
	height: var(--renewal-hero-arcade-icon-size);
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.videoheader-wrapper {
	margin: 0 auto;
}
@media only screen and (min-width: 641px) and (max-height: 813px) {
	.videoheader-wrapper {
		aspect-ratio: 16 / 9;
		height: calc(100vh - 90px);
		margin: 0 auto;
	}
}
/* Soft rounded corners on RevSlider "MORE INFO" CTA buttons (games landing). */
.game-listing .videoheader-wrapper .sr7-btn {
	border-radius: 8px !important;
}

/* Game detail related games (Steam-like "More Like This" cards). */
html.template-game-detail section.game-related-products {
	padding-bottom: clamp(0.7rem, 1.4vw, 1.2rem);
	margin-bottom: clamp(1.1rem, 2.2vw, 2rem);
}
html.template-game-detail section.game-related-products .row {
	margin-bottom: 0;
	max-width: 92rem;
	width: min(96vw, 92rem);
}
html.template-game-detail section.game-related-products h3 {
	margin-bottom: 1.25rem;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.95rem;
	padding: 0.1rem;
	margin: 0;
	list-style: none;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card {
	float: none !important;
	clear: none !important;
	width: auto !important;
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	display: flex;
	flex-direction: column;
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: hidden;
	transition: box-shadow 0.2s ease;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-card-link {
	display: block;
	text-decoration: none;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	line-height: 0;
	background: #000;
	position: relative;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-card-thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	background-color: #000;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-card-video-preview {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-card-video-preview iframe,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-card-video-preview video {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	object-fit: cover;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer {
	padding: 0;
	background: transparent;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Montserrat-Medium", Helvetica, Arial, sans-serif !important;
	font-size: 0.8rem;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.02em;
	margin: 0;
	width: 100%;
	padding: 0.62rem 0.82rem;
	background: #D90500;
	border-color: #D90500;
	color: #ffffff;
	border-radius: 0;
	line-height: 1.2;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
	text-align: center;
	transition: color 0.2s ease, border-color 0.2s ease;
	box-shadow: none;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button .button-label-default {
	display: block;
	text-transform: uppercase;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button .button-label-hover {
	display: none;
	text-transform: uppercase;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card.touch-hover-active,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:focus-within {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:hover .game-related-footer .add-to-cart-button.more-info-button,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card.touch-hover-active .game-related-footer .add-to-cart-button.more-info-button,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:focus-within .game-related-footer .add-to-cart-button.more-info-button,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:focus-visible {
	background: #ffffff;
	border-color: transparent;
	color: #D90500;
	box-shadow: none;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:hover .game-related-footer .add-to-cart-button.more-info-button .button-label-default,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card.touch-hover-active .game-related-footer .add-to-cart-button.more-info-button .button-label-default,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:focus-within .game-related-footer .add-to-cart-button.more-info-button .button-label-default,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:hover .button-label-default,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:focus-visible .button-label-default {
	display: none;
}
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:hover .game-related-footer .add-to-cart-button.more-info-button .button-label-hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card.touch-hover-active .game-related-footer .add-to-cart-button.more-info-button .button-label-hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card:focus-within .game-related-footer .add-to-cart-button.more-info-button .button-label-hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:hover .button-label-hover,
html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button:focus-visible .button-label-hover {
	display: block;
}
@media only screen and (min-width: 64.0625em) {
	html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button {
		font-size: 0.78rem;
	}
}
@media only screen and (max-width: 64em) {
	html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
		padding: 0.2rem;
		margin-left: 0;
		margin-right: 0;
	}
	html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card {
		float: none !important;
		clear: none !important;
		width: auto !important;
		flex: initial;
		min-width: 0;
		max-width: none;
	}
}
@media only screen and (max-width: 40em) {
	html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 {
		grid-template-columns: 1fr;
		gap: 0.7rem;
	}
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	html.template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button {
		min-height: 2.25rem;
	}
}

/* JA-only: larger related-card CTA text ("詳細" and hover game name). */
html[lang|="ja"].template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button {
	font-size: 0.96rem;
	line-height: 1.28;
}
@media only screen and (min-width: 64.0625em) {
	html[lang|="ja"].template-game-detail section.game-related-products ul.small-block-grid-2.medium-block-grid-4 > li.game-related-card .game-related-footer .add-to-cart-button.more-info-button {
		font-size: 0.96rem;
	}
}

/* Shop detail breadcrumb: align with game submenu typography while keeping a transparent lane. */
#game-detail-shop > .product-detail-breadcrumb-anchor {
	margin-top: 0;
}
#game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
	margin: 0;
	max-width: 100%;
	min-height: 2.05rem;
	background: transparent;
	display: flex;
	align-items: center;
	padding-inline: 0.5rem;
	position: relative;
	z-index: 0;
}
#game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: #030303;
	z-index: -1;
	pointer-events: none;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list {
	row-gap: 0.35rem;
	column-gap: 0.45rem;
	min-height: 2.05rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: 0.75rem;
	letter-spacing: 0.01em;
	line-height: 1.3;
	color: #b3b8a6;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item + .support-breadcrumb-item::before {
	color: #b3b8a6;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-current {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: inherit;
	letter-spacing: 0.01em;
	color: #b3b8a6;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:hover,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:focus,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:active {
	color: #D90500;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:hover .breadcrumb-home-icon,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:focus .breadcrumb-home-icon,
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a:active .breadcrumb-home-icon {
	stroke: #D90500;
}
#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current .support-breadcrumb-current {
	color: #b3b8a6;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
}
@media (max-width: 600px) {
	#game-detail-shop > .product-detail-breadcrumb-anchor {
		margin-top: 0;
		padding: 0 0.75rem;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list {
		font-size: 0.7rem;
		line-height: 1.3;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item {
		max-width: min(44vw, 13rem);
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current {
		max-width: min(62vw, 18rem);
	}
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	#game-detail-shop > .product-detail-breadcrumb-anchor {
		top: var(--renewal-main-nav-height);
		padding: 0 0.65rem;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-list {
		line-height: 1.3;
		column-gap: 0.2rem;
	}
}

/* Mobile overlay behavior:
 * keep breadcrumb lane on top of hero image and out of document flow.
 */
@media only screen and (max-width: 40em) {
	#game-detail-shop {
		position: relative;
	}
	#game-detail-shop > .product-detail-breadcrumb-anchor {
		position: fixed;
		top: var(--renewal-main-nav-height);
		left: 0;
		right: 0;
		z-index: var(--renewal-secondary-nav-z-index);
		margin: 0;
		padding: 0 0.65rem;
	}
	body#light #game-detail-shop .hero-image {
		margin-top: 0;
	}
}

/* Keep shop-detail breadcrumb lane paired with sticky main menu (same behavior as game submenu). */
html.template-shop-detail {
	--renewal-product-breadcrumb-height: 2.05rem;
}
html.template-shop-detail #game-detail-shop {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-product-breadcrumb-height));
}
html.template-shop-detail #game-detail-shop > .hero-image {
	margin-top: 0;
}
html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor {
	position: fixed;
	top: var(--renewal-main-nav-height);
	left: 0;
	right: 0;
	z-index: var(--renewal-secondary-nav-z-index);
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
	overflow: visible;
}
html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * env(safe-area-inset-left));
	right: calc(-1 * env(safe-area-inset-right));
	background: #030303;
	pointer-events: none;
}
html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
	width: 100%;
	max-width: 62.5rem;
	margin: 0 auto;
	padding-left: calc(0.9375rem + env(safe-area-inset-left));
	padding-right: calc(0.9375rem + env(safe-area-inset-right));
	pointer-events: auto;
}
html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav::before {
	content: none;
}
html.touch-mobile-tablet.template-shop-detail header .contain-to-grid.fixed,
html.touch-mobile-tablet.template-shop-detail header .contain-to-grid.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}
html.touch-mobile-tablet.template-shop-detail #game-detail-shop {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-product-breadcrumb-height));
}
@media (max-width: 640px) {
	html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor {
		padding: 0;
	}
	html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
		padding-left: calc(0.75rem + env(safe-area-inset-left));
		padding-right: calc(0.75rem + env(safe-area-inset-right));
	}
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	html.template-shop-detail #game-detail-shop,
	html.touch-mobile-tablet.template-shop-detail #game-detail-shop {
		padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-product-breadcrumb-height)) !important;
		margin-top: 0 !important;
	}
	html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor {
		position: fixed;
		top: var(--renewal-main-nav-height);
		left: 0;
		right: 0;
		z-index: var(--renewal-secondary-nav-z-index);
		padding: 0;
	}
	html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
		padding-left: calc(0.65rem + env(safe-area-inset-left));
		padding-right: calc(0.65rem + env(safe-area-inset-right));
	}
}

/* Unified translucent breadcrumb lane for shop archives + support detail pages. */
html.template-shop-catalog,
html.template-support-detail {
	--renewal-unified-breadcrumb-height: 2.05rem;
}
html.template-shop-catalog #shop-listing {
	padding-top: calc(2.2rem + var(--renewal-unified-breadcrumb-height));
}
html.template-shop-catalog #shop-listing.shop-breadcrumb-suppressed {
	padding-top: 2.2rem;
}
html.template-shop-catalog #shop-listing .exa-topbar-row {
	margin-top: 0;
}
html.template-support-detail #support.has-support-breadcrumb {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height));
}
html.template-support-detail #support:not(.has-support-breadcrumb) {
	padding-top: var(--renewal-main-nav-height);
}
#support.has-support-breadcrumb {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height));
}
#support:not(.has-support-breadcrumb) {
	padding-top: var(--renewal-main-nav-height);
}
.renewal-breadcrumb-anchor {
	position: fixed;
	top: var(--renewal-main-nav-height);
	left: 0;
	right: 0;
	z-index: var(--renewal-secondary-nav-z-index);
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
	overflow: visible;
}
.renewal-breadcrumb-anchor::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-1 * env(safe-area-inset-left));
	right: calc(-1 * env(safe-area-inset-right));
	background: rgba(3, 3, 3, 0.58);
	pointer-events: none;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb {
	width: 100%;
	max-width: 62.5rem;
	min-height: var(--renewal-unified-breadcrumb-height);
	margin: 0 auto;
	padding-left: calc(0.9375rem + env(safe-area-inset-left));
	padding-right: calc(0.9375rem + env(safe-area-inset-right));
	display: flex;
	align-items: center;
	pointer-events: auto;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.2rem 0.3rem;
	width: 100%;
	min-height: var(--renewal-unified-breadcrumb-height);
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: 0.66rem;
	line-height: 1.2;
	color: #b3b8a6;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: none;
	min-width: 0;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item + .support-breadcrumb-item::before {
	content: ">";
	display: inline-block;
	margin-right: 0.3rem;
	color: #b3b8a6;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item a,
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-current {
	display: inline-flex;
	align-items: center;
	max-width: min(62vw, 20rem);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: #b3b8a6;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: inherit;
	text-shadow: 0 1px 2px rgba(3, 3, 3, 0.22);
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item a:hover {
	color: #ffffff;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item.is-icon a {
	display: inline-flex;
	align-items: center;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .breadcrumb-home-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item.is-current .support-breadcrumb-current {
	color: #b3b8a6;
}
/* Support breadcrumb parity:
 * isolate support breadcrumb from shared/archive styling and mirror shop-detail tokens.
 */
#support .renewal-breadcrumb-anchor--support,
#support .renewal-breadcrumb-anchor--support::before,
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb {
	box-shadow: none !important;
	filter: none !important;
	-webkit-filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
}
#support .renewal-breadcrumb-anchor--support {
	isolation: isolate;
}
#support .renewal-breadcrumb-anchor--support::before {
	background: rgba(3, 3, 3, 0.58) !important;
	z-index: 0 !important;
}
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb {
	background: transparent !important;
	position: relative;
	z-index: 1;
}
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-list {
	min-height: 2.05rem !important;
	font-size: 0.75rem !important;
	line-height: 1.2 !important;
}
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item {
	max-width: min(62vw, 20rem);
}
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item + .support-breadcrumb-item::before {
	content: "";
	display: inline-block;
	width: 0.4rem;
	height: 0.4rem;
	margin-right: 0.4rem;
	border-right: 1.5px solid #b3b8a6;
	border-top: 1.5px solid #b3b8a6;
	transform: rotate(45deg);
}
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item a,
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item a:visited,
#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-current {
	max-width: 100% !important;
}
html.touch-mobile-tablet.template-shop-catalog header .contain-to-grid.fixed,
html.touch-mobile-tablet.template-shop-catalog header .contain-to-grid.sticky,
html.touch-mobile-tablet.template-support-detail header .contain-to-grid.fixed,
html.touch-mobile-tablet.template-support-detail header .contain-to-grid.sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}
html.touch-mobile-tablet.template-shop-catalog #shop-listing {
	padding-top: calc(2.2rem + var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height));
}
html.touch-mobile-tablet.template-shop-catalog #shop-listing.shop-breadcrumb-suppressed {
	padding-top: calc(2.2rem + var(--renewal-main-nav-height));
}
html.touch-mobile-tablet.template-support-detail #support.has-support-breadcrumb {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-unified-breadcrumb-height));
}
html.touch-mobile-tablet.template-support-detail #support:not(.has-support-breadcrumb) {
	padding-top: var(--renewal-main-nav-height);
}
@media (max-width: 640px) {
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb {
		padding-left: calc(0.75rem + env(safe-area-inset-left));
		padding-right: calc(0.75rem + env(safe-area-inset-right));
	}
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-list {
		font-size: 0.6rem;
		line-height: 1.15;
	}
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-item a,
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-current {
		max-width: min(74vw, 16rem);
	}
	#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-list {
		font-size: 0.68rem !important;
		line-height: 1.15 !important;
	}
	#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item {
		max-width: min(44vw, 13rem) !important;
	}
	#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-item.is-current {
		max-width: min(62vw, 18rem) !important;
	}
	html.template-support-detail #support:not(.has-support-breadcrumb) {
		padding-top: var(--renewal-main-nav-height);
	}
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb {
		padding-left: calc(0.65rem + env(safe-area-inset-left));
		padding-right: calc(0.65rem + env(safe-area-inset-right));
	}
	.renewal-breadcrumb-anchor .renewal-translucent-breadcrumb .support-breadcrumb-list {
		font-size: clamp(0.54rem, 2.1vw, 0.62rem);
	}
	#support .renewal-breadcrumb-anchor--support .renewal-translucent-breadcrumb .support-breadcrumb-list {
		font-size: clamp(0.6rem, 2.3vw, 0.7rem) !important;
		column-gap: 0.2rem !important;
	}
	html.template-support-detail #support:not(.has-support-breadcrumb) {
		padding-top: var(--renewal-main-nav-height);
	}
}

/* ==========================================================================
   Game Sidebar V2.2 - Details Panel
   ========================================================================== */
.game-sidebar-v2 {
	--gsv2-arcade-icon-width: 5rem;
	width: 100%;
	max-width: 320px;
	background: #0f0f0f;
	border-radius: 0.25rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	margin-right: 0;
	margin-left: -5px;
}
.gsv2-header {
	padding: 0.375rem 1.25rem 0.25rem;
	background: #111111;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.gsv2-title {
	font-family: 'Montserrat-Bold', Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	color: #ffffff;
	margin: 0;
}
.gsv2-content {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	gap: 1.25rem;
	background: #0f0f0f;
}
.gsv2-row {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.gsv2-icon-box {
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1c1c1c;
	border-radius: 0.375rem;
	transition: background-color 0.2s ease;
}
.gsv2-row:hover .gsv2-icon-box {
	background: #262626;
}
.gsv2-field-icon {
	width: 1.125rem;
	height: 1.125rem;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.82;
}
.gsv2-row-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
}
.gsv2-row-content-inline {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}
.gsv2-inline-copy {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}
.gsv2-label,
.gsv2-meta-label,
.gsv2-compact-label,
.gsv2-aspect-label {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: #a8a8a8;
	white-space: nowrap;
}
.gsv2-inline-copy .gsv2-meta-label,
.gsv2-inline-copy .gsv2-value-text {
	display: inline;
}
.gsv2-label-value,
.gsv2-value-text,
.gsv2-compact-value,
.gsv2-aspect-value {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: #ffffff;
}
.gsv2-text-uppercase {
	text-transform: uppercase;
}
.gsv2-text-titlecase {
	text-transform: capitalize;
}
.gsv2-value-text-compact {
	font-size: 0.8125rem;
}
.gsv2-jvs-value-ja {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-stretch: normal;
	letter-spacing: 0;
}
.gsv2-arcade-icon-wrap {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
	flex-shrink: 0;
}
.gsv2-arcade-icon {
	width: var(--gsv2-arcade-icon-width);
	height: var(--gsv2-arcade-icon-width);
	aspect-ratio: 1 / 1;
	object-fit: contain;
	display: block;
	transition: transform 0.2s ease, filter 0.2s ease;
}
.gsv2-arcade-icon:hover {
	transform: scale(1.05);
	filter: brightness(1.1);
}
.gsv2-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-top: 0.5rem;
}
.gsv2-tag {
	padding: 0.375rem 0.75rem;
	background: #1a1a1a;
	border: 1px solid #282828;
	border-radius: 0.375rem;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.3;
	color: #e0e0e0;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.gsv2-tag:hover {
	background: #242424;
	border-color: #343434;
	color: #ffffff;
}
.gsv2-divider {
	border: 0;
	border-top: 1px solid #1f1f1f;
	margin: 0;
}
.gsv2-compact-rows {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.gsv2-compact-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #141414;
	padding: 0.5rem 1rem 0.5rem 0;
	border-radius: 0.375rem;
	border: 1px solid #1f1f1f;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.gsv2-compact-row:hover {
	background: #171717;
	border-color: #262626;
}
.gsv2-compact-row-main {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
}
.gsv2-compact-row-with-icons {
	flex-direction: column;
	align-items: stretch;
}
.gsv2-compact-left {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 1 1 auto;
	min-width: 0;
}
.gsv2-compact-icon {
	width: 1.125rem;
	height: 1.125rem;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.82;
}
.gsv2-compact-icon-box,
.gsv2-compact-row:hover .gsv2-compact-icon-box,
.gsv2-aspect-line:hover .gsv2-compact-icon-box {
	background: transparent;
}
.gsv2-inline-arcade-icons {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	margin-top: 0.375rem;
	padding-left: 3rem;
}
.gsv2-inline-arcade-icon {
	width: var(--gsv2-arcade-icon-width);
	height: var(--gsv2-arcade-icon-width);
	aspect-ratio: 1 / 1;
	object-fit: contain;
	display: block;
	transition: transform 0.2s ease, filter 0.2s ease;
}
.gsv2-inline-arcade-icon:hover {
	transform: scale(1.05);
	filter: brightness(1.1);
}
.gsv2-monitor-section {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.gsv2-monitor-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}
.gsv2-monitor-boxes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.875rem;
}
.gsv2-monitor-boxes-single {
	grid-template-columns: minmax(0, 1fr);
	justify-content: center;
}
.gsv2-monitor-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	overflow: hidden;
	min-height: 100px;
	padding: 1rem;
	background: #0f0f0f;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.5rem;
}
.gsv2-monitor-boxes-single .gsv2-monitor-box {
	max-width: 10rem;
	width: 100%;
	justify-self: center;
}
.gsv2-monitor-box-recommended {
	background: #1f1f1f;
	border: 1px solid #e60012;
	box-shadow: inset 0 0 0 1px rgba(230, 0, 18, 0.35);
}
.gsv2-monitor-ribbon {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: #e60012;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.5rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #ffffff;
	padding: 0.25rem 0;
	text-align: center;
}
.gsv2-monitor-box-icon {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 0.5rem;
}
.gsv2-monitor-arcade-icon {
	width: var(--gsv2-arcade-icon-width);
	height: var(--gsv2-arcade-icon-width);
	aspect-ratio: 1 / 1;
	max-width: 100%;
	max-height: none;
	object-fit: contain;
	transition: transform 0.2s ease, filter 0.2s ease;
}
.gsv2-monitor-box:hover .gsv2-monitor-arcade-icon {
	transform: scale(1.05);
	filter: brightness(1.1);
}
.gsv2-monitor-box-label {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #bcbcbc;
	margin-top: 0.5rem;
}
.gsv2-aspect-ratios {
	margin-top: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.gsv2-aspect-row {
	margin-top: 0;
}
.gsv2-aspect-icon {
	opacity: 0.82;
}
.gsv2-aspect-row-combined {
	align-items: flex-start;
}
.gsv2-aspect-stack {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0;
	width: 100%;
}
.gsv2-aspect-line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	min-height: 1.55rem;
}
.gsv2-aspect-line-left {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 1 1 auto;
	min-width: 0;
}
.gsv2-inline-copy .gsv2-meta-label,
.gsv2-compact-left .gsv2-meta-label,
.gsv2-monitor-label,
.gsv2-aspect-label {
	white-space: normal;
	overflow-wrap: anywhere;
}
.gsv2-aspect-label {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: #a8a8a8;
}
.gsv2-aspect-value {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: #ffffff;
	flex-shrink: 0;
}
.gsv2-footer-glow {
	height: 3px;
	margin-top: auto;
	background: linear-gradient(90deg, transparent, #e60012, transparent);
	opacity: 0.4;
}

/* Game Sidebar V2.2: Responsive - Mobile */
@media only screen and (max-width: 40em) {
	.game-sidebar-v2 {
		--gsv2-arcade-icon-width: 4rem;
		width: 100%;
		max-width: none;
		border-radius: 0;
		margin-left: 0;
		margin-right: 0;
	}
	.gsv2-header {
		padding: 0.375rem 1rem 0.25rem;
	}
	.gsv2-content {
		padding: 1rem;
		gap: 1rem;
	}
	.gsv2-row {
		gap: 0.75rem;
	}
	.gsv2-icon-box {
		width: 1.5rem;
		height: 1.5rem;
	}
	.gsv2-field-icon {
		width: 0.875rem;
		height: 0.875rem;
	}
	.gsv2-compact-left,
	.gsv2-aspect-line-left {
		gap: 0.75rem;
	}
	.gsv2-compact-icon {
		width: 0.875rem;
		height: 0.875rem;
	}
	.gsv2-arcade-icon-wrap {
		margin-top: 0;
	}
	.gsv2-tags {
		gap: 0.375rem;
	}
	.gsv2-tag {
		font-size: 0.75rem;
		padding: 0.35rem 0.7rem;
	}
	.gsv2-compact-row {
		gap: 0.75rem;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.gsv2-inline-arcade-icons {
		padding-left: 2.25rem;
	}
	.gsv2-compact-row-main {
		flex-wrap: wrap;
	}
	.gsv2-compact-left,
	.gsv2-aspect-line-left {
		width: 100%;
	}
	.gsv2-aspect-line {
		flex-wrap: wrap;
	}
	.gsv2-monitor-boxes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.gsv2-monitor-box {
		min-height: 92px;
		padding: 1.5rem 0.75rem 0.75rem;
		justify-content: flex-start;
	}
	.gsv2-monitor-box-icon {
		flex-grow: 0;
		width: 100%;
		min-height: 2.75rem;
		padding-top: 0;
	}
	.gsv2-row-jvs .gsv2-compact-row-main,
	.gsv2-row-inputlag {
		flex-wrap: nowrap;
		align-items: center;
	}
	.gsv2-row-jvs .gsv2-compact-left,
	.gsv2-row-inputlag .gsv2-compact-left,
	.gsv2-aspect-row .gsv2-compact-left,
	.gsv2-aspect-row .gsv2-aspect-line-left {
		width: auto;
		flex: 1 1 auto;
		min-width: 0;
	}
	.gsv2-row-jvs .gsv2-meta-label,
	.gsv2-row-inputlag .gsv2-meta-label,
	.gsv2-aspect-row .gsv2-aspect-label,
	.gsv2-row-jvs .gsv2-value-text,
	.gsv2-row-inputlag .gsv2-value-text,
	.gsv2-aspect-row .gsv2-aspect-value {
		font-size: 0.8125rem;
	}
	.gsv2-row-jvs .gsv2-value-text,
	.gsv2-row-inputlag .gsv2-value-text,
	.gsv2-aspect-row .gsv2-aspect-value {
		flex-shrink: 0;
		white-space: nowrap;
	}
	.gsv2-aspect-row .gsv2-aspect-line {
		flex-wrap: nowrap;
		align-items: center;
	}
}

/* Game Sidebar V2.2: Integration with game-detail layout */
body > article.game-detail section#game-info .game-sidebar-v2,
body > article.game-detail-subpage section#game-info .game-sidebar-v2 {
	margin-bottom: 1.5rem;
}

/* Game Sidebar V2.2: Product page (light theme) adjustments */
#game-detail-shop .game-sidebar-v2 {
	background: #f6f7f2;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
#game-detail-shop .gsv2-header {
	background: #f6f7f2;
	border-bottom-color: rgba(3, 3, 3, 0.14);
}
#game-detail-shop .gsv2-content {
	background: #f6f7f2;
}
#game-detail-shop .gsv2-title {
	color: #030303;
}
#game-detail-shop .gsv2-icon-box {
	background: #f6f7f2;
}
#game-detail-shop .gsv2-row:hover .gsv2-icon-box {
	background: #f6f7f2;
}
#game-detail-shop .gsv2-field-icon {
	filter: brightness(0);
	opacity: 1;
}
#game-detail-shop .gsv2-label {
	color: #030303;
}
#game-detail-shop .gsv2-meta-label,
#game-detail-shop .gsv2-compact-label,
#game-detail-shop .gsv2-aspect-label {
	color: #030303;
}
#game-detail-shop .gsv2-label-value,
#game-detail-shop .gsv2-value-text,
#game-detail-shop .gsv2-compact-value,
#game-detail-shop .gsv2-aspect-value {
	color: #030303;
}
#game-detail-shop .gsv2-arcade-icon:hover {
	filter: brightness(1.05);
}
#game-detail-shop .gsv2-inline-arcade-icon:hover,
#game-detail-shop .gsv2-monitor-box:hover .gsv2-monitor-arcade-icon {
	filter: brightness(1.05);
}
#game-detail-shop .gsv2-tag {
	background: #f6f7f2;
	border-color: #b5bbb0;
	color: #030303;
}
#game-detail-shop .gsv2-tag:hover {
	background: #e8ebe3;
	border-color: #aab0a4;
	color: #030303;
}
#game-detail-shop .gsv2-divider {
	border-top-color: rgba(3, 3, 3, 0.14);
}
#game-detail-shop .gsv2-compact-row {
	background: #f6f7f2;
	border-color: rgba(3, 3, 3, 0.14);
}
#game-detail-shop .gsv2-compact-row:hover {
	background: #eff1ea;
	border-color: rgba(3, 3, 3, 0.18);
}
#game-detail-shop .gsv2-compact-icon {
	filter: brightness(0);
	opacity: 1;
}
#game-detail-shop .gsv2-compact-icon-box,
#game-detail-shop .gsv2-compact-row:hover .gsv2-compact-icon-box,
#game-detail-shop .gsv2-aspect-line:hover .gsv2-compact-icon-box {
	background: transparent;
}
#game-detail-shop .gsv2-compact-label {
	color: #030303;
}
#game-detail-shop .gsv2-compact-value {
	color: #030303;
}
#game-detail-shop .gsv2-monitor-box {
	background: #f6f7f2;
	border-color: rgba(3, 3, 3, 0.14);
}
#game-detail-shop .gsv2-monitor-box-recommended {
	background: #e8ebe3;
	border: 1px solid #D90500;
	box-shadow: inset 0 0 0 1px rgba(217, 5, 0, 0.2);
}
#game-detail-shop .gsv2-monitor-ribbon {
	background: #D90500;
}
#game-detail-shop .gsv2-monitor-box-label {
	color: #030303;
}
#game-detail-shop .gsv2-aspect-dot {
	background: #999999;
}
#game-detail-shop .gsv2-aspect-label {
	color: #030303;
}
#game-detail-shop .gsv2-aspect-value {
	color: #030303;
}
#game-detail-shop .gsv2-footer-glow {
	background: linear-gradient(90deg, transparent, #D90500, transparent);
}
/* ========================================
   Patch Notes Page Hero
   ======================================== */
#generic-page .patch-notes-hero,
.patch-notes-hero {
	position: relative;
	width: 100%;
	min-height: 120px;
	max-height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #000;
	margin-bottom: 0;
}
#generic-page .patch-notes-hero__overlay,
.patch-notes-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);
	pointer-events: none;
}
#generic-page .patch-notes-hero__content,
.patch-notes-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 1.5rem 1.5rem;
}
#generic-page .patch-notes-hero__title,
#generic-page h1.patch-notes-hero__title,
.patch-notes-hero__title {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: clamp(2rem, 5vw, 3rem) !important;
	color: #fff !important;
	margin: 0 !important;
	line-height: 1.1 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}
#generic-page .patch-notes-section-divider,
.patch-notes-section-divider {
	width: calc(100% - 4rem);
	max-width: 1136px;
	height: 1px;
	background: rgba(255, 255, 255, 0.12);
	margin: 0 auto;
}
#generic-page .patch-notes-hero + .patch-notes-header-announcement-row .patch-notes-header-announcement,
.patch-notes-hero + .patch-notes-header-announcement-row .patch-notes-header-announcement {
	margin-top: 0;
}

/* ========================================
   Patch Notes Card Styles
   ======================================== */
#generic-page .patch-notes-container,
.patch-notes-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 2rem 0;
}
#generic-page .patch-note-card,
.patch-note-card {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 2rem;
	padding: 2rem;
	border-radius: 0.75rem;
	background: #121212;
	border: 1px solid #262626;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	margin-bottom: 1.5rem;
	overflow: hidden;
}
#generic-page .patch-note-card:hover,
.patch-note-card:hover {
	border-color: #D90500;
}
#generic-page .patch-note-card-image,
.patch-note-card-image {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#generic-page .patch-note-card-image a,
.patch-note-card-image a {
	display: block;
}
#generic-page .patch-note-card-image img,
.patch-note-card-image img {
	width: 10rem;
	height: 10rem;
	border-radius: 0.5rem;
	overflow: hidden;
	object-fit: cover;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.3);
}
#generic-page .patch-note-card-hint,
.patch-note-card-hint {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: 'Montserrat-Regular', Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	margin-top: 1.5rem;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
#generic-page .patch-note-card:hover .patch-note-card-hint,
.patch-note-card:hover .patch-note-card-hint {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
#generic-page .patch-note-card-hint a,
.patch-note-card-hint a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}
#generic-page .patch-note-card-hint a:hover,
.patch-note-card-hint a:hover {
	color: rgba(255, 255, 255, 0.8);
}
#generic-page .patch-note-card-hint .patch-note-chevron,
.patch-note-card-hint .patch-note-chevron {
	width: 14px;
	height: 14px;
	fill: currentColor;
	transition: transform 0.2s ease;
}
#generic-page .patch-note-card-hint a:hover .patch-note-chevron,
.patch-note-card-hint a:hover .patch-note-chevron {
	transform: translateX(3px);
}
#generic-page .patch-note-card-content,
.patch-note-card-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
	padding-top: 0;
	margin-top: 0;
}
#generic-page .patch-note-card-header,
.patch-note-card-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 0;
	margin-bottom: 0;
	gap: 1rem;
}
#generic-page .patch-note-card-title-wrap,
.patch-note-card-title-wrap {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
}
#generic-page .patch-note-card-title,
#generic-page h2.patch-note-card-title,
.patch-note-card-title {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
	font-weight: 700 !important;
	color: #fff !important;
	line-height: 1.1 !important;
	margin: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}
#generic-page .patch-note-card-title a,
.patch-note-card-title a {
	color: inherit !important;
	text-decoration: none;
}
#generic-page .patch-note-card-title a:hover,
.patch-note-card-title a:hover {
	color: inherit !important;
}
#generic-page .patch-note-card-divider,
.patch-note-card-divider {
	width: 100%;
	height: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	background: #3a3d35 !important;
	margin: 0.5rem 0 0.75rem !important;
	border: none !important;
	padding: 0 !important;
}
#generic-page .patch-note-card-date,
.patch-note-card-date {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #6e7264;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	white-space: nowrap;
	flex-shrink: 0;
	margin-top: 0.25rem;
}
#generic-page .patch-note-card-body,
.patch-note-card-body {
	flex-grow: 1;
}
#generic-page .patch-note-version-badge,
.patch-note-version-badge {
	display: inline-block;
	padding: 0.3rem 0.6rem;
	background: #252525;
	border: 1px solid #3a3a3a;
	border-radius: 0.15rem;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.3;
	color: #e0e0e0;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 1rem;
}
#generic-page .patch-note-card-list,
.patch-note-card-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
#generic-page .patch-note-card-list li,
.patch-note-card-list li {
	display: flex;
	align-items: flex-start;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-size: 1rem !important;
	color: #d4d4d8 !important;
	line-height: 1.6;
	margin-bottom: 0.5rem;
}
#generic-page .patch-note-card-list li.patch-note-first-line,
.patch-note-card-list li.patch-note-first-line {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 600 !important;
	color: #a1a1aa !important;
	margin-top: 0;
}
#generic-page .patch-note-card-list li.patch-note-first-line .patch-note-bullet,
.patch-note-card-list li.patch-note-first-line .patch-note-bullet {
	color: #a1a1aa !important;
}
#generic-page .patch-note-card-list li:last-child,
.patch-note-card-list li:last-child {
	margin-bottom: 0;
}
#generic-page .patch-note-bullet,
.patch-note-bullet {
	color: #d4d4d8;
	margin-right: 0.75rem;
	flex-shrink: 0;
}
#generic-page .patch-note-card-text,
.patch-note-card-text {
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif !important;
	font-size: 1rem !important;
	color: #d4d4d8 !important;
	line-height: 1.6;
	margin: 0;
}
#generic-page .patch-note-card-text .patch-note-first-line,
.patch-note-card-text .patch-note-first-line {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 600 !important;
	color: #a1a1aa !important;
	display: block;
	margin-top: 0;
}
#generic-page .patch-note-card-text a,
.patch-note-card-text a {
	color: #D90500;
}

#generic-page .patch-notes-footer-notes,
.patch-notes-footer-notes {
	width: 100%;
}

#generic-page .patch-notes-footer-notes__inner,
.patch-notes-footer-notes__inner {
	text-align: left;
}

#generic-page .patch-notes-footer-notes__inner ul,
.patch-notes-footer-notes__inner ul,
#generic-page .patch-notes-footer-notes__inner ol,
.patch-notes-footer-notes__inner ol {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

#generic-page .patch-notes-footer-notes__inner li,
.patch-notes-footer-notes__inner li {
	margin-left: 0 !important;
}

/* Responsive: Mobile stacked layout */
@media only screen and (max-width: 64em) {
	#generic-page .patch-notes-hero,
	.patch-notes-hero {
		min-height: 120px;
	}
	#generic-page .patch-notes-hero__title,
	#generic-page h1.patch-notes-hero__title,
	.patch-notes-hero__title {
		font-size: clamp(1.25rem, 5vw, 1.75rem) !important;
	}
	#generic-page .patch-notes-container,
	.patch-notes-container {
		padding: 1.5rem 1rem 0;
	}
	#generic-page .patch-notes-section-divider,
	.patch-notes-section-divider {
		width: calc(100% - 2rem);
	}
	#generic-page .patch-note-card,
	.patch-note-card {
		flex-direction: column;
		padding: 1.5rem;
		gap: 1.25rem;
		align-items: stretch;
	}
	#generic-page .patch-note-card-image,
	.patch-note-card-image {
		align-self: center;
	}
	#generic-page .patch-note-card-image img,
	.patch-note-card-image img {
		width: 8rem;
		height: 8rem;
	}
	#generic-page .patch-note-card-hint,
	.patch-note-card-hint {
		opacity: 0;
		visibility: hidden;
	}
	#generic-page .patch-note-card:hover .patch-note-card-hint,
	.patch-note-card:hover .patch-note-card-hint,
	#generic-page .patch-note-card:active .patch-note-card-hint,
	.patch-note-card:active .patch-note-card-hint {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	#generic-page .patch-note-card-header,
	.patch-note-card-header {
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
	}
	#generic-page .patch-note-card-title-wrap,
	.patch-note-card-title-wrap {
		align-items: center;
	}
	#generic-page .patch-note-card-title,
	#generic-page h2.patch-note-card-title,
	.patch-note-card-title {
		font-size: 1.5rem !important;
		text-align: center;
	}
	#generic-page .patch-note-card-divider,
	.patch-note-card-divider {
		margin: 0.5rem auto 0.75rem !important;
		width: 80%;
	}
	#generic-page .patch-note-card-body,
	.patch-note-card-body {
		text-align: left;
	}
	#generic-page .patch-note-version-badge,
	.patch-note-version-badge {
		display: block;
		text-align: center;
		margin: 0 auto 1rem;
		width: fit-content;
	}
	#generic-page .patch-note-card-hint,
	.patch-note-card-hint {
		margin-top: 0.75rem;
	}
	#generic-page .patch-note-card-list li,
	.patch-note-card-list li {
		text-align: left;
	}
}
