/* 
	red 	#D90500
	white	#fff
	gray	#DEE2E0
	dgray	#6E7264
	vdgray	#3a3d35
	black	#030303
*/
@font-face {
	font-family: 'Montserrat-Bold';
	src: url('../fonts/Montserrat-Bold.woff2') format('woff2'), url('../fonts/Montserrat-Bold.ttf') format('truetype');
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat-Regular';
	src: url('../fonts/Montserrat-Regular.woff2') format('woff2'), url('../fonts/Montserrat-Regular.ttf') format('truetype');
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat-Light';
	src: url('../fonts/Montserrat-Light.ttf') format('truetype');
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Light.ttf') format('truetype');
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Regular.woff2') format('woff2'), url('../fonts/Montserrat-Regular.ttf') format('truetype');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Medium.ttf') format('truetype');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'), url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Bold.woff2') format('woff2'), url('../fonts/Montserrat-Bold.ttf') format('truetype');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
	font-style: normal;
	font-weight: 800;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-Black.ttf') format('truetype');
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}
/* The JS policy also sets disablePictureInPicture on every static or dynamic
 * video. Hide the exposed WebKit control as a defensive browser fallback. */
video::-webkit-media-controls-picture-in-picture-button {
	display: none !important;
}
/* 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;
	/* Foundation ships `border-style: solid; border-width: 0`, so the border-color
	   below was painting nothing. Give it the shared compact CTA width and the
	   outline becomes real — red-on-red at rest (invisible over the fill), red
	   against the white fill on hover. This is the WooCommerce Add to Cart /
	   product CTA. box-sizing is border-box globally (foundation.css), so the
	   button's footprint is unchanged. */
	border-width: var(--renewal-cta-border-width-compact);
	border-color: #D90500;
	color: white;
	float: left;
	padding: 1rem 2rem;
	margin: 1rem 1px;
	text-decoration: none;
	display: block;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.button>div>svg {
	display: none;
	width: 0;
	height: 0;
}
.button:hover {
	background-color: #fff;
	/* Was #fff — a white border on a white fill, i.e. the unbounded pill this
	   rollout exists to fix. */
	border-color: var(--renewal-cta-border-color);
	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;
	/* Navigational depth scale. Only these three numbers compete at the root:
	   page content (auto) < sub-nav veil < sub-nav bar < site header. Every
	   layer the header spawns is sealed inside the header's stacking context,
	   so a fixed bar clears the dropdown by staying *below* the header, never
	   by out-numbering the dropdown's own z-index. */
	--renewal-secondary-nav-z-index: 1190;
	--renewal-secondary-nav-veil-z-index: 1189;
	--renewal-header-z-index: 1300;
	--renewal-accent-separator-color: #6e7264;
	--renewal-accent-separator-width: 1px;
	--renewal-accent-separator-content-max: 49rem;
	--renewal-section-heading-accent: #e60000;
}
@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.gc-page) header .contain-to-grid.sticky,
body:has(> article.gc-page) 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,
html.template-game-detail body > article.gc-page.gc-page--with-submenu,
body > article.game-detail,
body > article.game-detail-subpage,
body > article.gc-page.gc-page--with-submenu {
	padding-top: calc(var(--renewal-main-nav-height) + var(--renewal-game-submenu-height));
}
html.template-game-detail,
body:has(> article.game-detail),
body:has(> article.game-detail-subpage),
body:has(> article.gc-page.gc-page--with-submenu) {
	--renewal-anchor-secondary-offset: var(--renewal-game-submenu-height, 3rem);
}
html.template-shop-detail,
body:has(> article#game-detail-shop) {
	--renewal-anchor-secondary-offset: var(--renewal-product-breadcrumb-height, 2.05rem);
}
html.template-support-detail,
body:has(> article#support) {
	--renewal-anchor-secondary-offset: var(--renewal-unified-breadcrumb-height, 2.05rem);
}
html.template-game-detail body > article.game-detail [id],
html.template-game-detail body > article.game-detail-subpage [id],
html.template-game-detail body > article.gc-page.gc-page--with-submenu [id],
body > article.game-detail [id],
body > article.game-detail-subpage [id],
body > article.gc-page.gc-page--with-submenu [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.gc-page).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 .footer-logo__mark {
	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);
	/* Brand-red CTA outline — the shared token behind every red CTA on the site.
	   The border is *reserved* at rest (transparent, sitting over the red fill,
	   so the rest state looks exactly as it did before) and turns red when the
	   button inverts to a white fill, where an unbounded white pill would
	   otherwise bleed into a dark page. With box-sizing: border-box the box is
	   the same size in both states, so nothing shifts on hover. Two pixels
	   matches the established About Products CTA weight across viewports. */
	--renewal-cta-border-color: #D90500;
	--renewal-cta-border-width: 2px;
	--renewal-cta-border-width-compact: 2px;
	--renewal-media-radius: 16px;
	--renewal-media-radius-sm: 12px;
	--renewal-mobile-stack-gap: clamp(1.5rem, 5vw, 2.5rem);
	/* Canonical System-page hero typography. Component styles consume these
	   tokens so the visual contract stays in one place without changing hero
	   markup or animation hooks. */
	--renewal-system-hero-title-font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	--renewal-system-hero-title-font-size: clamp(2rem, 5vw, 3rem);
	/* Apple-like marketing-title contract: approach 1.5x the original System
	   reference, then scale all four in-scope hero implementations together
	   before the longest authored Company line can escape the viewport. */
	--renewal-page-hero-title-font-size: min(clamp(3rem, 7.5vw, 4.5rem), 13vw, calc(5.48vw - 2.5px));
	--renewal-page-hero-title-line-height: 1.18;
	--renewal-system-hero-title-font-weight: 400;
	--renewal-system-hero-title-line-height: 1.1;
	--renewal-system-hero-title-letter-spacing: normal;
	--renewal-system-hero-subtitle-font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--renewal-system-hero-subtitle-font-size: clamp(18px, 1.8vw, 24px);
	--renewal-system-hero-subtitle-font-weight: 700;
	--renewal-system-hero-subtitle-line-height: 1.6;
	--renewal-system-hero-subtitle-letter-spacing: -0.02em;
	--renewal-system-rotating-font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--renewal-system-rotating-font-size: clamp(2rem, 3.6vw + 0.5rem, 3.65rem);
	--renewal-system-rotating-font-weight: 600;
	--renewal-system-rotating-line-height: 1.14;
	--renewal-system-rotating-letter-spacing: -0.01em;
}

/* Portrait titles follow a legibility-first mobile scale. The desktop fit cap
 * remains intact, but is not allowed to collapse display type below 26.4px on
 * legacy 320px phones. The upper bound meets the desktop curve without a jump. */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--renewal-page-hero-title-font-size: min(clamp(1.65rem, 8vw, 2.5rem), calc(10.69vw - 4.5px));
	}
}

/* Typography-only CTA contract, benchmarked against the System hero "Buy"
 * button. Geometry and colour remain owned by each component. The declarations
 * are intentionally important: this utility must beat route-scoped legacy
 * selectors without duplicating the same six properties across stylesheets. */
.btn-cta-standard,
.btn-cta-standard * {
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	line-height: 1.2 !important;
}
.button-red-shadowed {
	/* Shared red CTA outline — see the token block above. */
	border: var(--renewal-cta-border-width) solid transparent;
	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 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;
}
/* Shared detail-page section heading. Match the solid red Game Info panel
   header while keeping the existing semantic heading as the only DOM node. */
.c-section-heading--accent {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 0.375rem 1.25rem 0.25rem;
	background: var(--renewal-section-heading-accent, #e60000);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.375rem;
	color: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}
.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;
	/* Compact pill: reserve the red outline here, on the base class, so every
	   .button-red inverts to a bounded white/red pill. The game-submenu and
	   game-cabinet variants below used to each re-declare this border; they now
	   inherit it. */
	box-sizing: border-box;
	border: var(--renewal-cta-border-width-compact) solid transparent;
	padding: 0.35rem 1.25rem;
	margin: 0.55rem 0;
	font-size: 0.75rem;
	float: right;
	text-decoration: none;
	border-radius: 8px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.button-red:hover {
	background-color: #fff;
	color: #D90500;
	border-color: var(--renewal-cta-border-color);
}
.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;
}
.game-submenu .game-submenu-item.is-active > a,
.game-submenu .game-submenu-item > a[aria-current="page"] {
	color: white;
	box-shadow: inset 0 -2px #d90500;
}
/* The standalone video-hub templates retain aria-current for screen readers,
 * but their linked Game submenu is contextual navigation rather than a tab
 * indicator. Keep the selected Superplays/Tournaments label visually neutral,
 * matching every other idle submenu link in both language templates. */
.superplays-page-article .game-submenu .game-submenu-item--superplays.is-active > a,
.superplays-page-article .game-submenu .game-submenu-item--superplays > a[aria-current="page"],
.tournaments-page-article .game-submenu .game-submenu-item--tournaments.is-active > a,
.tournaments-page-article .game-submenu .game-submenu-item--tournaments > a[aria-current="page"] {
	color: #b3b8a6;
	box-shadow: none;
}

/* 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;
	touch-action: pan-x pan-y;
	-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;
}
/* Hero + submenu CTA outlines now come from the .button-red-shadowed and
   .button-red base classes; these variants only adjust geometry. */
/* 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;
	left: 50%;
	width: 100%;
	aspect-ratio: 1440/870;
/* 	min-height: 40rem; */
	max-width: 90rem;
	filter: brightness(75%);
	transform: translateX(-50%);
	z-index: -1;
	top: 0;
	margin: 5rem 0 0;
}
.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;
}
.game-detail .game-cabinet .game-cabinet-cta-wrap {
	text-align: center;
	margin: 1.75rem auto 0;
}
/* Exact ARC32 exA Stage Request Pricing treatment, kept local so game pages do
   not need the complete Dedicated Product stylesheet. */
.game-detail .game-cabinet .game-cabinet-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: min(100%, 22rem);
	box-sizing: border-box;
	margin: 0;
	padding: 0.85rem 1.6rem;
	border: var(--renewal-cta-border-width, 2px) solid transparent;
	border-radius: var(--renewal-cta-radius, 8px);
	background-color: #D90500;
	color: #ffffff;
	font-family: 'Montserrat-Bold', Helvetica, Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.game-detail .game-cabinet .game-cabinet-cta:hover,
.game-detail .game-cabinet .game-cabinet-cta:focus-visible {
	background-color: #ffffff;
	color: #D90500;
	border-color: #D90500;
}
@media only screen and (max-width: 768px) {
	.game-detail .game-cabinet .game-cabinet-cta {
		min-height: 54px;
		padding: 2px;
		border: 0;
		border-radius: 8px;
		overflow: hidden;
		background: #D90500;
		box-shadow: none;
		filter: none;
		-webkit-appearance: none;
		appearance: none;
		-webkit-tap-highlight-color: transparent;
	}
	.game-detail .game-cabinet .game-cabinet-cta-label {
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: stretch;
		min-height: 50px;
		padding: 0 26px;
		border-radius: 6px;
		background: #D90500;
		color: #ffffff;
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	.game-detail .game-cabinet .game-cabinet-cta:hover,
	.game-detail .game-cabinet .game-cabinet-cta:focus-visible,
	.game-detail .game-cabinet .game-cabinet-cta:active {
		border: 0;
		background: #D90500;
		color: #D90500;
	}
	.game-detail .game-cabinet .game-cabinet-cta:hover .game-cabinet-cta-label,
	.game-detail .game-cabinet .game-cabinet-cta:focus-visible .game-cabinet-cta-label,
	.game-detail .game-cabinet .game-cabinet-cta:active .game-cabinet-cta-label {
		background: #ffffff;
		color: #D90500;
	}
}
@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;
}
/* Preserve vertical document scrolling and browser pinch zoom while Slick
 * owns horizontal pointer/touch dragging. */
.game-detail-slider .slick-list,
.slick-lightbox-slick .slick-list {
	touch-action: pan-y pinch-zoom;
	cursor: grab;
}
.slick-lightbox-slick .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}
.slick-lightbox-slick .slick-track {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}
.slick-lightbox-slick .slick-slide,
.slick-lightbox-slick .slick-lightbox-slick-item,
.slick-lightbox-slick .slick-lightbox-slick-item-inner {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	touch-action: pan-y pinch-zoom;
}
.game-detail-slider .slick-list:active,
.slick-lightbox-slick .slick-list:active {
	cursor: grabbing;
}
.slick-lightbox-slick .slick-lightbox-slick-img {
	-webkit-user-drag: none;
	user-select: none;
}
.slick-lightbox .renewal-youtube-gesture-layer {
	position: absolute;
	z-index: 1;
	top: 64px;
	right: 0;
	bottom: 88px;
	left: 0;
	pointer-events: auto;
	cursor: default;
	background: transparent;
	touch-action: pan-y pinch-zoom;
}
/* A phone-sized 16:9 iframe is only ~154px tall, so the desktop 64px/88px
 * control insets collapse its gesture layer to almost nothing. Own the full
 * paused frame on phones; once playback starts, use proportional insets so
 * most of the frame remains swipeable while YouTube's edge controls stay
 * directly reachable. */
@media (max-width: 40rem), (max-height: 31.25rem) and (any-pointer: coarse) {
	.slick-lightbox .renewal-youtube-gesture-layer {
		top: 0;
		bottom: 0;
	}
	.slick-lightbox .slick-lightbox-slick-iframe-wrap[data-renewal-youtube-playing="1"] .renewal-youtube-gesture-layer {
		top: clamp(20px, 13%, 36px);
		bottom: clamp(40px, 26%, 48px);
	}
}
/* Keep the global masthead usable while media is enlarged. Hidden modal states
 * must never retain an invisible hit surface during their fade/teardown. */
.slick-lightbox {
	top: var(--renewal-main-nav-height, 5.3125rem);
	height: calc(100% - var(--renewal-main-nav-height, 5.3125rem));
}
.slick-lightbox .slick-lightbox-inner {
	top: var(--renewal-main-nav-height, 5.3125rem);
	height: calc(100% - var(--renewal-main-nav-height, 5.3125rem));
}
.slick-lightbox.slick-hide,
.slick-lightbox.slick-hide-init {
	pointer-events: none;
}
.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;
	-webkit-user-drag: none;
	user-select: none;
}
.game-detail-slider .thumbnail img {
	-webkit-user-drag: none;
	user-select: none;
}
.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;
	}

	body > article.game-detail > section.hero-image,
	body > article.game-detail-subpage > section.hero-image,
	#game-detail-shop .hero-image {
		border-radius: 0 !important;
	}

	body > article.game-detail > section.hero-image::before,
	body > article.game-detail-subpage > section.hero-image::before,
	#game-detail-shop .hero-image::before {
		border-radius: 0 !important;
	}
}
.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: calc(var(--renewal-main-nav-height, 0px) + var(--renewal-anchor-secondary-offset, 0px) + 0.5rem);
	scroll-snap-margin-top: calc(var(--renewal-main-nav-height, 0px) + var(--renewal-anchor-secondary-offset, 0px) + 0.5rem);
}
.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-flex;
	width: auto;
	min-width: 15rem;
	max-width: min(100%, 22rem);
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	margin: 0;
	margin-inline: 0;
	padding: 0.85rem 1.6rem;
	font-size: 1.05rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	white-space: normal;
	/* Red outline inherited from .button-red-shadowed. */
}
@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;
}
#generic-post .news-post-hero.news-post-hero-card {
	width: calc(100% - 2rem);
	max-width: 720px;
}
#generic-post .news-post-hero.news-post-hero-card .row {
	width: 100%;
	max-width: 720px;
	margin-right: 0;
	margin-left: 0;
}
#generic-post .news-post-hero.news-post-hero-card .news-post-hero-card__inner {
	padding-right: 0;
	padding-left: 0;
}
#generic-post .news-post-hero.news-post-hero-card .news-post-hero-media {
	border-radius: 16px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	background-color: #e0e0e0;
}
#generic-post .news-post-content.renewal-surface-container {
	float: none;
	width: calc(100% - 2rem);
	max-width: 720px;
	margin-right: auto;
	margin-left: auto;
}
#generic-post .news-post-meta-info {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 1.25rem;
	color: #a8a8a8;
	font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.2;
}
#generic-post .news-post-meta-info .press-releases-filter-icon {
	display: inline-flex;
	flex: 0 0 1.25rem;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	color: #e60012;
	font-size: 1.25rem;
	line-height: 1;
}
#generic-post .news-post-meta-info .press-releases-filter-icon svg,
#generic-post .news-post-meta-info .press-releases-filter-icon__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#generic-post .news-post-meta-info .press-releases-filter-icon svg {
	fill: none;
	stroke: currentColor;
	shape-rendering: geometricPrecision;
}
#generic-post .news-post-meta-info .press-releases-filter-icon svg * {
	vector-effect: non-scaling-stroke;
}
#generic-post .news-post-meta-info .press-releases-filter-icon__image {
	filter: brightness(0) saturate(100%) invert(11%) sepia(98%) saturate(5945%) hue-rotate(350deg) brightness(92%) contrast(111%);
}
#generic-post .news-post-content .news-post-article-title {
	margin-top: 0;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.3;
}
.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;
}
/* The site header owns the top navigational layer, and because it is positioned
   with a z-index it is a *stacking context*: the pinned bar, the desktop
   dropdown, the language menu and the mobile drawer all resolve inside it and
   can never paint above `--renewal-header-z-index`, whatever they declare
   internally. So this number — not theirs — is what any fixed bar elsewhere on
   the page has to stay below.

   Scoped to `.site-header` (nav.php). It used to be a bare `header` selector,
   which also matched every semantic <header> in page content
   (.dp-features__header, .exa-features__header, …) and leaked 1300 onto them.
   The product sub-navs were then pushed to 1400 to out-stack that leak, which
   put them above the real header — so an expanded nav dropdown opened
   *underneath* the sub-nav bar. Killing the leak lets the sub-navs sit at their
   proper 1190 and the dropdown overlay them. Content headers keep
   `position: relative` below, so nothing moves; they only lose the stray depth. */
.site-header,
.site-header .contain-to-grid,
.site-header .top-bar,
.site-header .top-bar-section,
.site-header .top-bar-section .dropdown {
	z-index: var(--renewal-header-z-index, 1300);
}

header .top-bar-section a[data-renewal-static-link="1"] {
	cursor: default !important;
}
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;
	overflow: hidden;
}
#shop-listing .shoplisting-product figure .shoplisting-product-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#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: var(--renewal-cta-border-width-compact, 2px) 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: var(--renewal-cta-border-width-compact, 2px) 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;
	left: 50%;
	width: 100%;
	aspect-ratio: 1440/870;
	min-height: 40rem;
	max-width: 90rem;
	/* filter: brightness(75%);
	*/
	opacity: 0.6;
	transform: translateX(-50%);
	z-index: -1;
	top: 0;
	margin: 5rem 0 0;
}
#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;
	/* Add to Cart — the shop's primary CTA. Reserve the compact red outline at
	   rest instead of `border: none`, so the border doesn't pop into existence
	   on hover (which shifted the label by 1px inside the border box). */
	border: var(--renewal-cta-border-width-compact) solid transparent;
	padding: 0.85rem 1.6rem;
	font-size: 1rem;
	letter-spacing: 0.03em;
	border-radius: 0 8px 8px 0;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#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-color: var(--renewal-cta-border-color);
}
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-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
}
#game-detail-shop .productcontents .renewal-product-contents-gallery {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 42.5rem;
}
#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 .renewal-product-contents-copy {
	width: 100%;
	max-width: 33.75rem;
	margin: 0 auto;
}
#game-detail-shop .productcontents .renewal-product-contents-copy h3 {
	margin: 0 0 1rem;
}
#game-detail-shop .productcontents .renewal-product-contents-list {
	max-width: 100%;
	text-align: left;
}
#game-detail-shop .productcontents .renewal-product-contents-list > ul,
#game-detail-shop .productcontents .renewal-product-contents-list > ol {
	display: inline-block;
	margin: 0 auto;
	max-width: 100%;
	padding-left: 1.25rem;
	text-align: left;
}
#game-detail-shop .productcontents .renewal-product-contents-list ul,
#game-detail-shop .productcontents .renewal-product-contents-list ol {
	list-style-position: outside;
	margin: 0.4rem 0 0;
	padding-left: 1.3rem;
}
#game-detail-shop .productcontents .renewal-product-contents-list li {
	margin: 0.2rem 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}
#game-detail-shop .productcontents .renewal-product-contents-list li > ul,
#game-detail-shop .productcontents .renewal-product-contents-list li > ol {
	margin-top: 0.35rem;
}
@media only screen and (max-width: 40em) {
	#game-detail-shop .productcontents .renewal-product-contents-gallery {
		max-width: min(100%, 28rem);
	}
	#game-detail-shop .productcontents .renewal-product-contents-list > ul,
	#game-detail-shop .productcontents .renewal-product-contents-list > ol {
		display: block;
		width: 100%;
	}
}
#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;
}

/* Shared exA-Arcadia Games navigation: circular glass controls with the same
   geometry and micro-interactions as the About Products media carousel. */
.renewal-carousel-nav--exa-games {
	--renewal-carousel-nav-offset-x: 20px;
}
.renewal-carousel-nav--exa-games .slick-prev,
.renewal-carousel-nav--exa-games .slick-next,
.renewal-carousel-nav--exa-games .exa-coverflow__nav,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev {
	position: absolute;
	top: 50%;
	z-index: 40;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	background-image: none;
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
	color: rgba(255, 255, 255, 0.82);
	cursor: pointer;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	touch-action: manipulation;
	transform: translateY(-50%) scale(1);
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.renewal-carousel-nav--exa-games .slick-prev,
.renewal-carousel-nav--exa-games .exa-coverflow__nav--prev,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev--prev {
	left: var(--renewal-carousel-nav-offset-x);
}
.renewal-carousel-nav--exa-games .slick-next,
.renewal-carousel-nav--exa-games .exa-coverflow__nav--next,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev--next {
	right: var(--renewal-carousel-nav-offset-x);
}
.renewal-carousel-nav--exa-games .slick-prev:hover,
.renewal-carousel-nav--exa-games .slick-next:hover,
.renewal-carousel-nav--exa-games .slick-prev:focus-visible,
.renewal-carousel-nav--exa-games .slick-next:focus-visible,
.renewal-carousel-nav--exa-games .exa-coverflow__nav:hover,
.renewal-carousel-nav--exa-games .exa-coverflow__nav:focus-visible,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev:hover,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev:focus-visible {
	background: rgba(255, 255, 255, 0.26);
	color: #fff;
	transform: translateY(-50%) scale(1.06);
}
.renewal-carousel-nav--exa-games .slick-prev:focus-visible,
.renewal-carousel-nav--exa-games .slick-next:focus-visible,
.renewal-carousel-nav--exa-games .exa-coverflow__nav:focus-visible,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
.renewal-carousel-nav--exa-games .slick-prev:active,
.renewal-carousel-nav--exa-games .slick-next:active,
.renewal-carousel-nav--exa-games .exa-coverflow__nav:active,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev:active {
	transform: translateY(-50%) scale(0.96);
}
.renewal-carousel-nav--exa-games .slick-prev::before,
.renewal-carousel-nav--exa-games .slick-next::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	color: currentColor;
	opacity: 1;
}
.renewal-carousel-nav--exa-games .slick-prev::before { content: '\2039'; }
.renewal-carousel-nav--exa-games .slick-next::before { content: '\203A'; }
.renewal-carousel-nav--exa-games .slick-prev.renewal-carousel-nav__button--svg::before,
.renewal-carousel-nav--exa-games .slick-next.renewal-carousel-nav__button--svg::before {
	content: none;
}
.renewal-carousel-nav--exa-games .slick-prev.renewal-carousel-nav__button--svg svg,
.renewal-carousel-nav--exa-games .slick-next.renewal-carousel-nav__button--svg svg,
.renewal-carousel-nav--exa-games .exa-coverflow__nav svg,
.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev svg {
	display: block;
	width: 24px;
	height: 24px;
	pointer-events: none;
}

@media (max-width: 768px) {
	.renewal-carousel-nav--exa-games {
		--renewal-carousel-nav-offset-x: 8px;
	}
	.renewal-carousel-nav--exa-games .slick-prev,
	.renewal-carousel-nav--exa-games .slick-next,
	.renewal-carousel-nav--exa-games .exa-coverflow__nav,
	.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev {
		width: 48px;
		height: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.renewal-carousel-nav--exa-games .slick-prev,
	.renewal-carousel-nav--exa-games .slick-next,
	.renewal-carousel-nav--exa-games .exa-coverflow__nav,
	.renewal-carousel-nav--exa-games .exa-aboutus__carousel-chev {
		transition: none;
	}
}
.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;
	}
}

.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;
}
/* Ninja Forms submit (Contact, EN + JA). Split out from the searchform button
   below: that one is an icon-only SVG trigger, which the red outline would only
   box in for no reason. These two carry the shared compact CTA outline —
   reserved transparent over the red fill, red once the button inverts to white,
   which it previously did unbounded. */
.nf-form-cont #nf-field-4,.nf-form-cont #nf-field-16 {
	color: white;
	background: #D90500;
	box-sizing: border-box;
	padding: 0.25rem 1rem;
	border: var(--renewal-cta-border-width-compact) solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.nf-form-cont #nf-field-4:hover,.nf-form-cont #nf-field-16:hover {
	color: #D90500;
	background: white;
	border-color: var(--renewal-cta-border-color);
}
.searchform button[type=submit] {
	color: white;
	background: #D90500;
	padding: 0.25rem 1rem;
	border: 0;
}
.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;
}
/* Seamless black-to-grey fade bridging the search panel (#030303) into the footer (#3a3d35).
   Eased multi-stop curve (mirrors the About/Company-profile hero-transition easing) so the
   black holds longer and blends gently into the footer grey instead of a hard linear midpoint. */
.search-footer-fade {
	width: 100%;
	height: clamp(140px, 18vh, 240px);
	background: linear-gradient(
		to bottom,
		#030303 0%,
		rgb(5, 5, 4) 10%,
		rgb(9, 9, 8) 20%,
		rgb(15, 15, 14) 30%,
		rgb(22, 23, 21) 40%,
		rgb(31, 32, 28) 50%,
		rgb(39, 41, 35) 60%,
		rgb(46, 49, 42) 70%,
		rgb(52, 55, 48) 80%,
		rgb(57, 59, 52) 90%,
		#3a3d35 100%
	);
	pointer-events: none;
}
@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), only screen and (max-width: 58.25rem) and (orientation: landscape) {
	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 the hero pseudo-element from oversizing on short touch landscapes.
 */
@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;
	}
}

@media only screen and (max-width: 58.25rem) and (orientation: landscape) {
	html.touch-mobile-tablet,
	html.touch-mobile-tablet body {
		overflow-x: hidden;
		overflow-x: clip;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage,
	html.touch-mobile-tablet.template-shop-detail #game-detail-shop {
		overflow-x: hidden;
		overflow-x: clip;
	}

	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 {
		max-width: 100vw;
		overflow-x: hidden;
		overflow-x: clip;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-content: space-between !important;
		gap: 0;
		padding: 0 0.35rem;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--no-cta,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--no-cta,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--no-cta {
		display: grid !important;
		grid-template-columns: 4.75rem minmax(0, 1fr) 4.75rem;
		align-items: center !important;
		justify-content: stretch !important;
		position: relative !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-logo-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-logo-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-logo-cell {
		flex: 0 0 5.75rem !important;
		min-width: 5.75rem !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-logo-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-logo-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-logo-cell {
		grid-column: 1;
		flex-basis: 4.75rem !important;
		min-width: 4.75rem !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu a.game-submenu-logo,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu a.game-submenu-logo,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu a.game-submenu-logo {
		width: 100% !important;
		max-width: 5.75rem;
		height: 2.25rem !important;
		margin-top: 0.35rem !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-nav-frame,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: 100% !important;
		overflow: hidden;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-nav-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: 100% !important;
		justify-content: flex-start !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-frame,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-frame,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-frame,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-nav-cell {
		grid-column: 2;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow),
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow),
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) {
		justify-content: center !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell {
		flex: 0 0 5.75rem !important;
		min-width: 5.75rem !important;
		width: 5.75rem !important;
		text-align: right;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--no-cta .game-submenu-actions-cell {
		grid-column: 3;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-actions-cell.is-empty,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-actions-cell.is-empty,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell.is-empty {
		display: block !important;
		flex: 0 0 4.75rem !important;
		min-width: 4.75rem !important;
		width: 4.75rem !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links {
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0.8rem !important;
		padding-right: 0.8rem !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu .game-submenu-actions-cell .button-red,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu .game-submenu-actions-cell .button-red,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell .button-red {
		padding: 0.32rem 0.68rem;
		margin: 0.45rem 0;
		font-size: 0.64rem;
	}

	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,
	html.touch-mobile-tablet #game-detail-shop .hero-image {
		position: relative;
		width: 100%;
		max-width: 100vw;
		margin: 0;
		padding-top: 0.75rem;
		padding-bottom: 1rem;
		aspect-ratio: auto;
		min-height: 0;
		overflow: hidden;
		border-radius: 0 !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > section.hero-image::before,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > section.hero-image::before,
	html.touch-mobile-tablet #game-detail-shop .hero-image::before {
		left: 50%;
		right: auto;
		width: 100%;
		max-width: 100%;
		height: 100%;
		min-height: 0;
		margin: 0;
		aspect-ratio: auto;
		transform: translateX(-50%);
		border-radius: 0 !important;
		background-position: top center !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > section.hero-image::before,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > section.hero-image::before {
		background-size: cover !important;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop .hero-image::before {
		background-size: contain !important;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > section.hero-image .inside-hero-image,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > section.hero-image .inside-hero-image,
	html.touch-mobile-tablet body#light #game-detail-shop .hero-image .inside-hero-image {
		padding-top: 0.5rem;
		margin-bottom: 0.75rem;
	}

	html.touch-mobile-tablet.template-game-detail body > article.game-detail > section.hero-image .boxIcons,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > section.hero-image .boxIcons {
		margin-top: 0.75rem;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor {
		left: 50%;
		right: auto;
		width: 100vw;
		transform: translateX(-50%);
		overflow: hidden;
		overflow: clip;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor::before {
		left: 0;
		right: 0;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav {
		max-width: min(62.5rem, 100vw);
	}

	html.touch-mobile-tablet #game-detail-shop section#game-info.game-info {
		clear: both;
		margin-top: 0 !important;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop.bundle-product-detail .hero-image .row.inside-hero-image:last-child {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
	}

	html.touch-mobile-tablet.template-shop-detail #game-detail-shop.bundle-product-detail .hero-image .row.inside-hero-image:last-child > .column,
	html.touch-mobile-tablet.template-shop-detail #game-detail-shop.bundle-product-detail .hero-image .row.inside-hero-image:last-child > .columns {
		float: none;
		width: 100%;
		max-width: 100%;
	}
}

/* Mobile portrait hero fix:
 * - preserve the intended 1440/870 hero framing on phones/tablets.
 * - prevent the pseudo-background from collapsing to the text-content height,
 *   which clips wide hero art on game detail and shop detail pages.
 */
@media only screen and (max-width: 64rem) and (orientation: portrait) {
	body > article.game-detail > section.hero-image,
	body > article.game-detail-subpage > section.hero-image,
	body#light #game-detail-shop .hero-image {
		position: relative;
		width: 100%;
		max-width: 100vw;
		padding-top: 0;
		aspect-ratio: auto;
		min-height: clamp(14rem, 60.4167vw, 54.375rem);
		height: auto;
		margin-bottom: 0 !important;
		overflow: hidden;
	}
	body > article.game-detail > section.hero-image .inside-hero-image,
	body > article.game-detail-subpage > section.hero-image .inside-hero-image {
		margin-bottom: 1rem !important;
	}
	body > article.game-detail > section.hero-image .boxIcons,
	body > article.game-detail-subpage > section.hero-image .boxIcons {
		margin-bottom: 1rem;
	}
	body > article.game-detail > section.hero-image::before,
	body > article.game-detail-subpage > section.hero-image::before,
	body#light #game-detail-shop .hero-image::before {
		inset: 0 auto auto 50%;
		width: 100%;
		height: auto;
		min-height: 100%;
		max-width: 100%;
		margin: 0 !important;
		left: 50%;
		right: auto;
		aspect-ratio: 1440/870 !important;
		transform: translateX(-50%);
		background-position: top center !important;
		background-repeat: no-repeat, no-repeat, no-repeat;
	}
	body > article.game-detail > section.hero-image::before,
	body > article.game-detail-subpage > section.hero-image::before {
		/* Keep gradients full-height while the hero art remains fully visible. */
		background-size: cover, cover, contain !important;
	}
	body#light #game-detail-shop .hero-image::before {
		background-size: contain !important;
	}
	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. The Game Info panel
   already carries these specs on phones, so the row is duplicate information.
   Game detail had this; shop detail uses the .boxIcons-shop-primary variant and
   was never included, which left the icons showing under Add to Cart. */
@media only screen and (max-width: 40em) {
	body > article.game-detail > section.hero-image .boxIcons,
	#game-detail-shop section.hero-image .boxIcons-shop-primary {
		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,
	body > article.game-detail > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame {
		position: relative;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !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,
	body > article.game-detail > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-frame {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !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: 1.55rem !important;
		padding-right: 1.55rem !important;
		margin-left: auto !important;
		margin-right: auto !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;
		visibility: visible;
		transition: opacity 0.24s ease, visibility 0.24s ease;
	}
	body > article.game-detail > .game-submenu .game-submenu-nav-frame:not(.has-scroll-overflow) .game-submenu-scroll-arrow,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-frame:not(.has-scroll-overflow) .game-submenu-scroll-arrow,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-frame:not(.has-scroll-overflow) .game-submenu-scroll-arrow {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	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.15;
		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;
		width: auto !important;
		display: flex !important;
		align-items: center !important;
		overflow-x: auto;
		overflow-y: hidden;
		touch-action: pan-x pan-y;
		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.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow),
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow),
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) {
		justify-content: center !important;
	}
	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.game-detail-subpage > .game-submenu .game-submenu-actions-cell.is-empty,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-actions-cell.is-empty {
		display: block !important;
		flex: 0 0 0 !important;
		min-width: 0 !important;
		width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !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 .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links,
	body > article.game-detail-subpage > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links,
	body > article.gc-page.gc-page--with-submenu > .game-submenu .game-submenu-nav-cell.game-submenu-nav-cell--no-cta:not(.has-scroll-overflow) .game-submenu-links {
		margin-left: auto !important;
		margin-right: auto !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;
	}
}

/* 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;
	}
}

/* Phone portrait parity: the top-right CTA is a landscape affordance, so do
 * not reserve its lane where it is not visible. Keep the existing flex scroller
 * intact so chevrons and native swipe remain driven by actual overflow.
 */
@media only screen and (max-width: 40em) and (orientation: portrait) {
	html.touch-mobile-tablet.template-game-detail body > article.game-detail > .game-submenu > .game-submenu-row.game-submenu-row--has-cta .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.game-detail-subpage > .game-submenu > .game-submenu-row.game-submenu-row--has-cta .game-submenu-actions-cell,
	html.touch-mobile-tablet.template-game-detail body > article.gc-page.gc-page--with-submenu > .game-submenu > .game-submenu-row.game-submenu-row--has-cta .game-submenu-actions-cell {
		flex: 0 0 0 !important;
		min-width: 0 !important;
		width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

/* 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;
	gap: 0.45rem;
	color: #fff;
	padding: 0.65rem 0.95rem;
	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: normal;
	border-radius: 7px;
	min-width: 4.2rem;
	min-height: 44px;
	transition: all 0.2s ease-in-out;
}
.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 .games-filter-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	flex: 0 0 auto;
	line-height: 0;
}
.filter-controls .games-filter-button__icon img {
	display: block;
	width: auto;
	height: auto;
	max-width: 5rem;
	max-height: 5rem;
	object-fit: contain;
	transform-origin: 50% 50%;
	transition: transform 0.2s ease-in-out, filter 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.filter-controls .games-filter-button--icon {
	padding: 0;
	min-width: 0;
	min-height: 0;
	border-radius: 0;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}
.filter-controls .games-filter-button--icon:hover {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	transform: translateY(-1px);
}
.filter-controls .games-filter-button--icon:hover .games-filter-button__icon img {
	transform: scale(1.05);
	filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.18)) saturate(1.04) brightness(1.03);
}
.filter-controls .games-filter-button--icon.active,
.filter-controls .games-filter-button--icon.active:hover {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	transform: translateY(-1px);
}
.filter-controls .games-filter-button--icon.active .games-filter-button__icon img,
.filter-controls .games-filter-button--icon.active:hover .games-filter-button__icon img {
	transform: scale(1.04);
	filter: drop-shadow(0 0 6px rgba(217, 5, 0, 0.9)) drop-shadow(0 0 12px rgba(217, 5, 0, 0.45)) saturate(1.06) brightness(1.02);
}
.filter-controls .games-filter-button--text {
	padding-inline: 0.95rem;
	border-radius: 7px;
}
.filter-controls .games-filter-button--text .games-filter-button__label {
	display: inline-block;
}
.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;
	max-width: 100%;
}
html[lang^="ja"] .filter-controls.filter-controls--two-row button {
	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 {
		font-size: 0.9rem;
		border-radius: 6px;
	}
	.filter-controls .games-filter-button__icon {
		width: auto;
		height: auto;
	}
	.filter-controls .games-filter-button__icon img {
		max-width: 4rem;
		max-height: 4rem;
	}
	.filter-controls .games-filter-button--icon {
		padding: 0;
		min-width: 0;
		min-height: 0;
		border-radius: 0;
	}
	.filter-controls .games-filter-button--text {
		padding-inline: 0.72rem;
	}
	html[lang^="ja"] .filter-controls.filter-controls--two-row button {
		line-height: 1.3;
	}
}
@media only screen and (max-width: 40em) and (orientation: portrait) {
	.game-listing .filter-controls.filter-controls--two-row {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		align-items: stretch;
		gap: 0.48rem;
	}
	.game-listing .filter-controls.filter-controls--two-row .games-filter-row {
		display: contents;
	}
	.game-listing .filter-controls.filter-controls--two-row button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		max-width: none;
		margin: 0;
	}
	.game-listing .filter-controls .games-filter-button__icon {
		width: 100%;
		min-width: 0;
	}
	.game-listing .filter-controls .games-filter-button__icon img {
		width: 100%;
		height: auto;
		max-width: 4rem;
		max-height: 4rem;
		margin-inline: auto;
	}
}
.figure-link:hover,.figure-link {
	text-decoration: none !important;
}
.button-red-shadowed:hover,.figure-link:hover .button-red-shadowed {
	background-color: #fff;
	color: #D90500;
	border-color: var(--renewal-cta-border-color);
	text-decoration: none !important;
}
.landing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 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;
	pointer-events: none;
	z-index: 0;
}
.landing-page .landing-grid > figure .home-canvas-tile-picture,
.landing-page .landing-grid > figure .home-canvas-tile-image {
	display: block;
	width: 100%;
	height: 100%;
}
.landing-page .landing-grid > figure .home-canvas-tile-image {
	object-fit: cover;
	object-position: center top;
}
.landing-page .landing-grid > figure .tile-visual .game-card-video-preview {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	contain: paint;
	isolation: isolate;
	opacity: 0;
	visibility: hidden;
	background: transparent;
	transition: opacity 180ms ease-out, visibility 0s linear 180ms;
}
.landing-page .landing-grid > figure .tile-visual .game-card-video-preview.is-preview-visible {
	opacity: 1;
	visibility: visible;
	transition: opacity 180ms ease-out, visibility 0s linear 0s;
}
.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;
}
.figure-link {
	display: block;
	width: 100%;
	height: 100%;
}
.landing-page .landing-grid > figure .figure-link {
	position: relative;
	z-index: 2;
}
.landing-page .home-card-cta__icon {
	display: none;
}
@media only screen and (min-width: 40.0625em) {
	.landing-page .landing-grid > figure .home-card-cta {
		display: inline-flex;
		width: auto;
		max-width: min(calc(100% - 2rem), 22rem);
		min-width: 0;
		min-height: 44px;
		box-sizing: border-box;
		align-self: center;
		align-items: center;
		justify-content: center;
		margin: 0 0 2.5rem;
		padding: 0.75rem 1.25rem;
		white-space: normal;
		text-align: center;
		transform: translate3d(0, 0, 0) scale(1);
		transform-origin: center center;
		transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1),
		            background-color 180ms ease,
		            color 180ms ease,
		            border-color 180ms ease;
	}
	.landing-page .landing-grid > figure[data-video-src].is-video-preview-active .home-card-cta {
		transform: translate3d(var(--home-cta-shift-x, 0), var(--home-cta-shift-y, 0), 0) scale(var(--home-cta-hover-scale, 0.82));
		will-change: transform;
	}
	.landing-page .landing-grid > figure[data-video-src].is-video-preview-returning .home-card-cta {
		transform: translate3d(0, 0, 0) scale(1);
		will-change: transform;
	}
	.landing-page .landing-grid > figure[data-video-src] .figure-link:hover .home-card-cta,
	.landing-page .landing-grid > figure[data-video-src].is-video-preview-active .home-card-cta {
		background-color: #D90500;
		border-color: #D90500;
		color: #fff;
	}
	.landing-page .landing-grid > figure[data-video-src] .figure-link:hover .home-card-cta:hover,
	.landing-page .landing-grid > figure[data-video-src] .figure-link:focus-within .home-card-cta:focus-visible {
		background-color: #fff;
		border-color: #D90500;
		color: #D90500;
	}
}
@media (prefers-reduced-motion: reduce) and (min-width: 40.0625em) {
	.landing-page .landing-grid > figure[data-video-src].is-video-preview-active .home-card-cta {
		transition: none;
		transform: translate3d(var(--home-cta-shift-x, 0), var(--home-cta-shift-y, 0), 0) scale(var(--home-cta-hover-scale, 0.82));
		will-change: auto;
	}
	.landing-page .landing-grid > figure[data-video-src].is-video-preview-returning .home-card-cta {
		transition: none;
		transform: translate3d(0, 0, 0) scale(1);
		will-change: auto;
	}
}
/* Match the Games grid's four-pixel white hover border on mouse and touch
 * tablets. The absolutely positioned outline does not participate in grid or
 * image geometry, and inherits the card's original four-pixel corner radius. */
@media only screen and (min-width: 40.0625em) {
	.landing-page .landing-grid > figure.full-width-image::after,
	.landing-page .landing-grid > figure.half-width-image::after {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 3;
		box-sizing: border-box;
		border: 4px solid #fff;
		border-radius: inherit;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.18s ease-out;
	}
	.landing-page .landing-grid > figure.full-width-image.touch-hover-active::after,
	.landing-page .landing-grid > figure.half-width-image.touch-hover-active::after,
	.landing-page .landing-grid > figure.full-width-image:focus-within::after,
	.landing-page .landing-grid > figure.half-width-image:focus-within::after {
		opacity: 1;
	}
}
@media only screen and (min-width: 40.0625em) and (hover: hover) and (pointer: fine) {
	.landing-page .landing-grid > figure.full-width-image:hover::after,
	.landing-page .landing-grid > figure.half-width-image:hover::after {
		opacity: 1;
	}
}
@media only screen and (max-width: 40em) {
	.landing-page .landing-grid > figure .figure-link::before {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.2));
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.4s ease;
	}
	.landing-page .landing-grid > figure .align-bottom-center {
		position: relative;
		z-index: 1;
		align-items: center;
		justify-content: center;
	}
	/* Reveal on the same 0.4s curve as the scrim above, so the pair fades in as
	   one surface — matching the ARC-32 game carousel, where the CTA has no
	   opacity of its own and simply rides its overlay. */
	.landing-page .landing-grid > figure .align-bottom-center .button-red-shadowed {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.4s ease, visibility 0s linear 0.4s, background-color 0.24s ease, color 0.24s ease, border-color 0.24s ease;
	}
	.landing-page .landing-grid > figure .home-card-cta,
	.landing-page .landing-grid > figure .home-card-cta:hover,
	.landing-page .landing-grid > figure .figure-link:hover .home-card-cta,
	.landing-page .landing-grid > figure .figure-link:focus-visible .home-card-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.35em;
		margin: 0;
		padding: 8px 12px;
		border: 0 !important;
		border-radius: 999px;
		background: #D90500;
		box-shadow: none;
		color: #fff;
	}
	/* 1:1 with the ARC-32 game carousel CTA (.dp-gcar__cta). 'Montserrat' is the
	   weight-linked family, so font-weight:600 loads the real SemiBold cut;
	   'Montserrat-Bold' (forced by .btn-cta-standard) is a single face that
	   renders every weight as Bold and reads heavier than the reference. The
	   CJK faces trail the Latin ones so 詳しく見る on /ja/ lands on the theme's
	   JP stack rather than the browser default. */
	.landing-page .landing-grid > figure .home-card-cta,
	.landing-page .landing-grid > figure .home-card-cta * {
		font-family: 'Montserrat', 'Helvetica Neue', Arial,
			'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, 'Noto Sans JP', sans-serif !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.15 !important;
	}
	.landing-page .landing-grid > figure .home-card-cta__label {
		white-space: nowrap;
	}
	.landing-page .landing-grid > figure .home-card-cta__icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 1.22em;
		height: 1.22em;
		border-radius: 50%;
		background: #fff;
		color: #D90500;
	}
	.landing-page .landing-grid > figure .home-card-cta__icon svg {
		display: block;
		width: 0.96em;
		height: 0.96em;
		margin: 0 auto;
		transform: translateX(0.2px);
		vector-effect: non-scaling-stroke;
	}
	/* The reference inverts on press. Hover is deliberately left uninverted
	   above because :hover latches after a tap on touch, but :active is
	   genuinely transient and is the state a phone user actually sees. */
	.landing-page .landing-grid > figure .home-card-cta:active {
		background: #fff;
		color: #D90500;
	}
	.landing-page .landing-grid > figure .home-card-cta:active .home-card-cta__icon {
		background: #D90500;
		color: #fff;
	}
	.landing-page .landing-grid > figure.touch-hover-active .figure-link::before,
	.landing-page .landing-grid > figure:hover .figure-link::before,
	.landing-page .landing-grid > figure:focus-within .figure-link::before {
		opacity: 1;
	}
	.landing-page .landing-grid > figure.touch-hover-active .align-bottom-center .button-red-shadowed,
	.landing-page .landing-grid > figure:hover .align-bottom-center .button-red-shadowed,
	.landing-page .landing-grid > figure:focus-within .align-bottom-center .button-red-shadowed {
		opacity: 1;
		visibility: visible;
		transition-delay: 0s;
	}
}
.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;
	}
	.game-listing .videoheader-wrapper {
		width: min(100%, calc((100vh - 90px) * 16 / 9));
		height: min(calc(100vh - 90px), 56.25vw);
	}
}
/* Soft rounded corners on RevSlider "MORE INFO" CTA buttons (games landing). */
.game-listing .videoheader-wrapper .sr7-btn {
	border-radius: 8px !important;
}

/*
 * Games hero bottom accent bar geometry.
 *
 * Shape-5 remains owned by Slider Revolution in both hero modules, including
 * its editable rgba(217, 5, 0, 0.6) fill. Theme CSS controls only the shared
 * height and bottom edge, so editor color and opacity changes are authoritative.
 */
.game-listing .videoheader-under sr7-module sr7-shp.sr7-layer {
	/*
	 * Horizontal geometry is deliberately left to Slider Revolution. At wide
	 * viewports the module box is wider than the 16:9 stage (1600 vs 1280 at
	 * 1600px), so stretching the bar across it spills red into the pillarbox
	 * gutters. The authored box already tracks the stage and scales with it.
	 */
	top: auto !important;
	bottom: 0 !important;
	/*
	 * Sized to clear the CTA by 2px: the button is 50px tall sitting 2px off the
	 * stage floor, so 2 + 50 + 2 = 54 of the 720 stage.
	 */
	height: 7.5% !important; /* 54/720 */
	pointer-events: none !important; /* keep the slide click-through intact */
}

/*
 * Games hero CTA: the same premium frosted surface used by the ARC-32
 * Location Consideration controls. The layer retains its authored dimensions,
 * link and timeline; an inset edge avoids changing its box geometry.
 */
.exa-hero-cta,
.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn {
	background: rgba(217, 5, 0, 0.86) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
	color: #ffffff !important;
	/* Lift the button 2px off the stage floor (2/720), scaled at every size. */
	top: auto !important;
	bottom: 0.2778% !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.2),
		0 8px 24px rgba(0, 0, 0, 0.18) !important;
	/*
	 * The page only loads Montserrat 400/500 from Google Fonts, so font-weight
	 * 700 would be synthesized. The theme's local Montserrat-Bold face is already
	 * bold at its natural weight -- the same approach the game title uses.
	 */
	font-family: "Montserrat-Bold", Montserrat, Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.24);
	scale: 1;
	transition: background-color 0.25s ease, color 0.25s ease,
		box-shadow 0.25s ease, scale 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.exa-hero-cta:hover,
.exa-hero-cta:focus-visible,
.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn:hover,
.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn:focus-visible {
	background: rgba(232, 22, 17, 0.97) !important;
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		0 12px 30px rgba(110, 0, 8, 0.38) !important;
	filter: none !important;
	scale: 1.035 !important;
}
.exa-hero-cta:focus-visible,
.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.82),
		inset 0 1px 0 rgba(255, 255, 255, 0.3),
		0 12px 30px rgba(110, 0, 8, 0.38) !important;
}
.exa-hero-cta:active,
.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn:active {
	background: rgba(183, 0, 12, 0.98) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.16),
		0 5px 14px rgba(75, 0, 5, 0.32) !important;
	filter: none !important;
	scale: 0.97 !important;
}

/* Restore the original edge-button treatment while leaving the rest of the
 * Slider Revolution hero presentation unchanged. */
.game-listing .videoheader-under sr7-module sr7-btn.sr7-layer {
	/* Hide the inconsistent font glyph while preserving the authored button. */
	color: transparent !important;
}
.game-listing .videoheader-under sr7-module sr7-btn.sr7-layer::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	transform: translate(-50%, -50%);
	border-left: 0.4625em solid transparent;
	border-right: 0.4625em solid transparent;
	border-bottom: 0.8em solid #ffffff;
	pointer-events: none;
}
.game-listing .videoheader-under sr7-module sr7-btn.sr7-layer:hover,
.game-listing .videoheader-under sr7-module sr7-btn.sr7-layer:active {
	background-color: #d90500 !important;
	color: transparent !important;
	filter: none !important;
}

/*
 * Game title: a soft bloom on hover/press. Two wide, low-opacity shadows rather
 * than one tight ring, so it reads as light lifting off the type instead of an
 * outline. Idle state paints nothing extra.
 */
.game-listing .videoheader-under sr7-module sr7-txt.sr7-layer {
	-webkit-text-stroke-color: rgba(0, 0, 0, 0.58);
	-webkit-text-stroke-width: clamp(0.3px, 0.0382vw, 0.55px);
	paint-order: stroke fill;
	transition: text-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/*
 * JA titles: Montserrat-Bold carries no Japanese glyphs, so the text drops to a
 * regular-weight system face and renders noticeably lighter than the EN titles.
 * The hover bloom was applying there all along, but on thin strokes it read at
 * roughly half the pixel delta of EN. A bold Japanese stack restores the weight
 * -- and the shine with it -- without downloading a CJK webfont.
 */
.game-listing .videoheader-under sr7-module[data-alias="games-en-1"] sr7-txt.sr7-layer {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic",
		"YuGothic", Meiryo, "Noto Sans JP", sans-serif !important;
	font-weight: 700 !important;
}
.game-listing .videoheader-under sr7-module sr7-txt.sr7-layer:hover,
.game-listing .videoheader-under sr7-module sr7-txt.sr7-layer:active {
	text-shadow: 0 0 20px rgba(255, 255, 255, 0.5), 0 0 48px rgba(255, 255, 255, 0.25)
		!important;
}

/*
 * Company logo: echo the title's soft white bloom without adding a link or
 * changing the layer geometry. Pointer events are limited to the rendered logo.
 */
.game-listing
	.videoheader-under
	sr7-module
	sr7-img.sr7-layer[style*="exA_Logo_White_no_Power.png"] {
	pointer-events: auto !important;
	transition: filter 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.game-listing
	.videoheader-under
	sr7-module
	sr7-img.sr7-layer[style*="exA_Logo_White_no_Power.png"]:hover,
.game-listing
	.videoheader-under
	sr7-module
	sr7-img.sr7-layer[style*="exA_Logo_White_no_Power.png"]:active {
	filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5))
		drop-shadow(0 0 20px rgba(255, 255, 255, 0.25)) !important;
}

@media (prefers-reduced-motion: reduce) {
	.exa-hero-cta,
	.game-listing .videoheader-under sr7-module a.sr7-layer.sr7-btn,
	.game-listing .videoheader-under sr7-module sr7-txt.sr7-layer,
	.game-listing
		.videoheader-under
		sr7-module
		sr7-img.sr7-layer[style*="exA_Logo_White_no_Power.png"] {
		transition: none !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-frame {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-height: 2.05rem;
	display: flex;
	align-items: center;
	overflow: hidden;
	pointer-events: auto;
}
#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 {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	row-gap: 0.35rem;
	column-gap: 0.45rem;
	width: max-content;
	min-width: max-content;
	min-height: 2.05rem;
	margin: 0;
	padding: 0;
	list-style: none;
	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 {
	overflow-x: auto;
	overflow-y: hidden;
	touch-action: pan-x pan-y;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
#game-detail-shop .product-detail-breadcrumb-nav::-webkit-scrollbar {
	display: none;
}
#game-detail-shop .product-detail-breadcrumb-scroll-arrow {
	display: none;
}
#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 .product-detail-breadcrumb-nav-frame {
	width: 100%;
	max-width: 62.5rem;
	margin: 0 auto;
}
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));
	}
	html.template-shop-detail #game-detail-shop > .product-detail-breadcrumb-anchor .product-detail-breadcrumb-nav-frame {
		max-width: 100%;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item,
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item.is-current {
		flex: 0 0 auto;
		max-width: none;
	}
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-item a,
	#game-detail-shop .product-detail-breadcrumb-nav .support-breadcrumb-current {
		max-width: none;
		overflow: visible;
		text-overflow: clip;
		white-space: nowrap;
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame .product-detail-breadcrumb-scroll-arrow {
		position: absolute;
		top: 0;
		bottom: 0;
		width: 2.2rem;
		padding: 0 0.3rem;
		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;
		visibility: visible;
		transition: opacity 0.24s ease, visibility 0.24s ease;
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame:not(.has-scroll-overflow) .product-detail-breadcrumb-scroll-arrow {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame .product-detail-breadcrumb-scroll-arrow--left {
		left: 0;
		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%);
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame .product-detail-breadcrumb-scroll-arrow--right {
		right: 0;
		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%);
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame .product-detail-breadcrumb-scroll-arrow.is-disabled {
		opacity: 0.15;
		pointer-events: none;
	}
	#game-detail-shop .product-detail-breadcrumb-nav-frame .product-detail-breadcrumb-scroll-arrow svg {
		display: block;
		width: 0.72rem;
		height: 0.72rem;
		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));
	}
}

/* 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.625rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	/* Backing shadow removed: on the near-black (#030303) game-info section it read
	   as a low-contrast dark shape behind the panel and overlapped the section
	   dividers. The light shop variant keeps its own (valid) shadow below. */
	margin-right: 0;
	margin-left: -5px;
}
/* Shared red panel-bar primitive.
   Cosmetic source of truth: the "Development Portfolio" bar on /company-profile/
   (#ProductReleases .product-releases-header-wrapper in css/exa-aboutus.css).
   The accent token there is scoped to .exa-aboutus, so the fill is restated here.
   Top radii are inherited so the bar always follows its host panel's corners. */
.c-panel-header--red-bar {
	background: var(--renewal-section-heading-accent, #e60000);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	overflow: hidden;
}
.c-panel-header--red-bar > * {
	color: #ffffff;
}
.gsv2-header {
	/* Red bar chrome comes from .c-panel-header--red-bar on the same element. */
	padding: 0.375rem 1.25rem 0.25rem;
}
.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.875rem;
}
.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;
}
.gsv2-row-inputlag .gsv2-value-text {
	text-align: right;
}

/* The four hardware-spec rows share one left edge for icon-to-label spacing.
   Values remain right-aligned independently of the label column. */
.gsv2-row-jvs .gsv2-compact-left,
.gsv2-row-inputlag .gsv2-compact-left,
.gsv2-aspect-row .gsv2-compact-left,
.gsv2-aspect-line-left {
	justify-content: flex-start;
	text-align: left;
}
.gsv2-row-jvs .gsv2-meta-label,
.gsv2-row-inputlag .gsv2-meta-label,
.gsv2-aspect-row .gsv2-aspect-label {
	text-align: left;
}

/* Keep one typographic scale across every direct sidebar label/value pair on
   the desktop/tablet rail. Input Response retains its compact single-line
   geometry; mobile keeps its existing treatment below. */
@media only screen and (min-width: 40.0625em) {
	.game-sidebar-v2 .gsv2-label,
	.game-sidebar-v2 .gsv2-meta-label,
	.game-sidebar-v2 .gsv2-compact-label,
	.game-sidebar-v2 .gsv2-aspect-label,
	.game-sidebar-v2 .gsv2-label-value,
	.game-sidebar-v2 .gsv2-value-text,
	.game-sidebar-v2 .gsv2-compact-value,
	.game-sidebar-v2 .gsv2-aspect-value {
		font-size: 0.8125rem;
	}
	.gsv2-row-inputlag {
		justify-content: space-between;
		gap: 0.5rem;
		padding-right: 1rem;
	}
	.gsv2-row-inputlag .gsv2-compact-left {
		flex: 0 0 auto;
		gap: 1rem;
	}
	.gsv2-row-inputlag .gsv2-meta-label,
	.gsv2-row-inputlag .gsv2-value-text {
		white-space: nowrap;
	}
	.gsv2-row-inputlag .gsv2-value-text {
		flex: 0 0 auto;
		margin-left: auto;
	}
}

/* Game Sidebar V2.2: Responsive - Mobile */
@media only screen and (max-width: 40em) {
	.game-sidebar-v2 {
		--gsv2-arcade-icon-width: 4rem;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.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));
	}
	/* The single-card variant declares one full-width track at (0,1,0). The
	   two-column rule above matches that specificity and wins on source order,
	   which dropped a lone monitor card into the left half-track -- justify-self
	   then centred it inside that half rather than inside the panel. */
	.gsv2-monitor-boxes-single {
		grid-template-columns: 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.875rem;
	}
	.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;
	/* Dark game detail pages already render the visible panel via the header/content
	   surfaces below. Keeping the outer aside filled as well creates a second
	   low-contrast dark slab behind the card, which reads like a hidden backing
	   shape and carries into the divider zone. */
	background: transparent;
	overflow: hidden;
	margin-left: 0;
}

/* Game Sidebar V2.2: separation from the adjacent About copy.
   Two-column (Foundation `large`, >=1025px): widen the trough. Only the copy
   column gives up width, so the panel keeps its size, and the row's fixed
   1000px max-width means nothing is pushed past the viewport edge.
   Stacked (<768px): the trough becomes vertical, using the theme's existing
   --renewal-mobile-stack-gap token. Spacing goes on the column rather than the
   panel because the shop template can also render a .tagbox below the panel in
   the same column. The panel's own margin is zeroed so both templates land on
   one predictable gap -- previously shop had margin-bottom:0 and only picked
   up the token under 40em, leaving ~3px at tablet widths. */
@media only screen and (min-width: 64.0625em) {
	section#game-info > .row > .column.large-8 {
		padding-left: 2.5rem;
	}
}
@media only screen and (max-width: 47.9375em) {
	section#game-info > .row > .column.large-4 {
		padding-bottom: var(--renewal-mobile-stack-gap);
	}
	section#game-info > .row > .column.large-4 .game-sidebar-v2 {
		margin-bottom: 0;
	}
	/* Panel is capped well below the column width whenever stacked, so centre it
	   rather than leaving it against the left edge. Needs this specificity to
	   outrank the integration rule's margin-left:0 and the base margin-left:-5px
	   the shop template inherits. */
	section#game-info > .row > .column.large-4 .game-sidebar-v2 {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Game Sidebar V2.2: tablet portrait to small laptop (768-1024px).
   Foundation stacks here because .large-4 / .large-8 only take effect from
   1025px, and a one-third column is genuinely too narrow below that: the panel
   needs ~297px of content and a third of 768px yields 226px. So instead of
   thirds, pin the panel column to 350px (320px of content, the panel's own cap)
   and let the copy column absorb whatever remains. Desktop (>=1025px) keeps the
   untouched Foundation thirds. */
@media only screen and (min-width: 48em) and (max-width: 64em) {
	section#game-info > .row {
		display: flex;
		align-items: flex-start;
	}
	/* Foundation's .row clearfix would otherwise become two phantom flex items. */
	section#game-info > .row::before,
	section#game-info > .row::after {
		display: none;
	}
	section#game-info > .row > .column.large-4 {
		flex: 0 0 auto;
		width: 350px;
	}
	section#game-info > .row > .column.large-8 {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		/* Same 55px trough as desktop: 15px column gutter + 40px here. */
		padding-left: 2.5rem;
	}
}

/* Shop hero order box (price / quantity / add-to-cart), 768-1024px.
   It sits alone in a .large-4 column, which loses its one-third width below
   Foundation's 1025px breakpoint and goes full-bleed -- stretching the controls
   to ~738px at 768px wide. Pin the column back to the 333px it holds on
   desktop, so the controls keep their normal proportions. */
@media only screen and (min-width: 48em) and (max-width: 64em) {
	#game-detail-shop .row.inside-hero-image > .column.large-4 {
		max-width: 333px;
	}
}

/* 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-content {
	background: #f6f7f2;
}
#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;
	}
}
