/* ============================================================
   TrivalRO Donation Center + Cash Shop
   Shared game-store design for donate and purchase modules.
   ============================================================ */

.trival-store-section {
	position: relative;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	min-height: 680px;
	padding: 34px 0 88px;
	overflow: hidden;
	border-top: 1px solid rgba(135, 187, 220, .30);
	border-bottom: 1px solid rgba(135, 187, 220, .30);
	background: rgba(248, 251, 253, .92);
}

.trival-store-section::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.34) 22%, rgba(247,251,253,.45) 78%, rgba(255,255,255,.88) 100%),
		url('../../assets/background-3.jpg') center / cover no-repeat;
	opacity: .94;
	pointer-events: none;
}

.trival-store-inner {
	position: relative;
	z-index: 2;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.trival-store-chibi {
	position: absolute;
	z-index: -1;
	pointer-events: none;
	filter: drop-shadow(0 12px 18px rgba(55, 93, 122, .12));
}

.trival-store-chibi--left {
	left: -255px;
	top: 150px;
}

.trival-store-chibi--right {
	right: -270px;
	top: 205px;
}

.trival-store-chibi img {
	display: block;
	max-height: 330px;
	width: auto;
}

.trival-store-chibi--left img { transform: scale(1.12); transform-origin: right center; }
.trival-store-chibi--right img { transform: scale(1.18); transform-origin: left center; }

.trival-store-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 4px auto 8px;
	padding: 13px 32px 11px;
	border-radius: 999px;
	background: linear-gradient(180deg, #70c5ff 0%, #5bb5f1 56%, #4b9fdf 100%);
	box-shadow:
		inset 0 2px 1px rgba(255,255,255,.55),
		inset 0 -5px 0 rgba(22, 102, 164, .62),
		0 8px 16px rgba(48, 104, 151, .22);
	color: #fff;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 23px;
	font-weight: 400;
	letter-spacing: 3px;
	line-height: 1.1;
	text-align: center;
	text-shadow: 2px 2px 3px rgba(28, 75, 112, .55);
	text-transform: uppercase;
}

.trival-store-subtitle {
	max-width: 710px;
	margin: 0 auto 24px;
	color: #64788b;
	font-family: 'Informb', sans-serif;
	font-size: 13px;
	line-height: 1.55;
	letter-spacing: .55px;
	text-align: center;
}

.store-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	max-width: 870px;
	margin: 0 auto 22px;
}

.store-stat-card {
	min-height: 86px;
	padding: 15px 17px 12px;
	border: 1px solid rgba(114, 176, 219, .48);
	border-bottom: 4px solid rgba(86, 147, 191, .72);
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(230,244,253,.91));
	box-shadow: inset 0 2px 0 rgba(255,255,255,.95), 0 6px 15px rgba(64, 123, 165, .12);
	text-align: center;
}

.store-stat-card span {
	display: block;
	margin-bottom: 5px;
	color: #67849a;
	font-family: 'Informb', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.store-stat-card strong {
	display: block;
	color: #267fba;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: .5px;
	line-height: 1.25;
}

.store-panel {
	max-width: 920px;
	margin: 16px auto;
	padding: 21px 23px 19px;
	border: 1px solid rgba(111, 175, 217, .42);
	border-bottom: 4px solid rgba(83, 145, 190, .68);
	border-radius: 16px;
	background: rgba(255,255,255,.89);
	box-shadow:
		inset 0 2px 1px rgba(255,255,255,.98),
		0 8px 22px rgba(54, 112, 153, .12);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.store-panel--accent {
	background: linear-gradient(180deg, rgba(239,250,255,.95), rgba(255,255,255,.93));
}

.store-panel-title {
	margin: 0 0 6px;
	border: 0 !important;
	color: #37647f !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	letter-spacing: 1px !important;
	line-height: 1.25;
	text-transform: uppercase !important;
}

.store-panel-copy {
	margin: 0 0 15px;
	color: #60778a;
	font-family: 'Informb', sans-serif;
	font-size: 12px;
	line-height: 1.6;
}

.store-notice,
.store-error,
.store-success {
	max-width: 920px;
	margin: 12px auto;
	padding: 12px 15px;
	border-radius: 11px;
	font-family: 'Informb', sans-serif;
	font-size: 12px;
	line-height: 1.5;
}

.store-notice {
	border: 1px solid rgba(225, 177, 65, .48);
	border-left: 5px solid #e0ad36;
	background: rgba(255, 248, 224, .91);
	color: #756134;
}

.store-error {
	border: 1px solid rgba(217, 98, 98, .44);
	border-left: 5px solid #d95e5e;
	background: rgba(255, 237, 237, .94);
	color: #963d3d;
}

.store-success {
	border: 1px solid rgba(78, 175, 126, .44);
	border-left: 5px solid #4eaf7e;
	background: rgba(235, 252, 244, .94);
	color: #397559;
}

/* Donation */
.donation-value-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 13px;
}

.donation-value-card {
	padding: 13px 15px 11px;
	border: 1px solid rgba(125, 180, 215, .34);
	border-radius: 12px;
	background: rgba(244,250,254,.80);
}

.donation-value-card span {
	display: block;
	margin-bottom: 4px;
	color: #71899b;
	font-size: 10px;
	letter-spacing: .8px;
	text-transform: uppercase;
}

.donation-value-card strong {
	color: #2d83b9;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 14px;
	font-weight: 400;
}

.donation-amount-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
	gap: 12px;
	align-items: end;
	margin-top: 14px;
}

.donation-field label {
	display: block;
	margin-bottom: 6px;
	color: #526d82;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .9px;
	text-transform: uppercase;
}

.donation-input-wrap {
	display: flex;
	align-items: center;
	min-height: 47px;
	border: 2px solid #a8cce5;
	border-radius: 13px;
	background: linear-gradient(180deg, #fff, #f6fbfe);
	box-shadow: inset 0 2px 0 rgba(255,255,255,.95);
	overflow: hidden;
}

.donation-input-wrap:focus-within {
	border-color: #55b8ef;
	box-shadow: 0 0 0 3px rgba(64,181,239,.12);
}

.donation-input-wrap input {
	min-width: 0;
	width: 100%;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 11px 12px !important;
	color: #354e63 !important;
	font-family: 'Informb', sans-serif;
	font-size: 14px;
}

.donation-input-unit {
	flex: 0 0 auto;
	padding: 0 13px;
	border-left: 1px solid rgba(135, 180, 210, .42);
	color: #4c84aa;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 10px;
	letter-spacing: .5px;
}

.donation-or {
	align-self: end;
	padding-bottom: 14px;
	color: #8ca0ae;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 10px;
	text-align: center;
	text-transform: uppercase;
}

.store-button,
.store-panel input[type="submit"],
.store-panel button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	padding: 10px 20px 8px;
	border: 1px solid #2a93cf;
	border-bottom: 4px solid #1573b0;
	border-radius: 12px;
	background: linear-gradient(180deg, #5cc3f5 0%, #34a8ef 48%, #1e90d8 100%);
	box-shadow: inset 0 2px 1px rgba(255,255,255,.50), 0 4px 10px rgba(40,130,200,.25);
	color: #fff;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .8px;
	line-height: 1.1;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0,60,110,.55);
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .15s ease, transform .08s ease;
}

.store-button:hover,
.store-panel input[type="submit"]:hover,
.store-panel button[type="submit"]:hover {
	color: #fff;
	filter: brightness(1.06);
	transform: translateY(-1px);
	text-decoration: none;
}

.store-button:active,
.store-panel input[type="submit"]:active,
.store-panel button[type="submit"]:active {
	transform: translateY(2px);
}

.store-button--secondary {
	border-color: #aacce4;
	border-bottom-color: #84b1d0;
	background: linear-gradient(180deg, #fff 0%, #edf7fd 100%);
	color: #397197;
	text-shadow: 0 1px 0 #fff;
}

.store-button--secondary:hover { color: #2d6388; }

.donation-submit-row {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

.donation-confirm {
	text-align: center;
}

.donation-credit-reward {
	margin: 13px auto 4px;
	color: #287eb5;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 25px;
	letter-spacing: 1px;
}

.donation-money-total {
	color: #63798a;
	font-size: 13px;
}

.donation-paypal-wrap {
	margin: 16px 0 8px;
}

.donation-paypal-wrap form,
.donation-paypal-wrap input[type="image"] {
	max-width: 100%;
}

/* Default credit balance inserted by header.php on donate/purchase routes. */
.credit-balance {
	position: relative;
	float: none !important;
	clear: both;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	margin: 0 auto 12px;
	padding: 9px 15px 7px;
	border: 1px solid #a5cae3;
	border-bottom: 4px solid #7aaed0;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(233,247,255,.94));
	box-shadow: inset 0 2px 0 rgba(255,255,255,.96), 0 4px 10px rgba(60,120,160,.13);
}

.credit-balance .balance-text {
	color: #638096;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 9px;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.credit-balance .balance-amount {
	min-width: 36px;
	color: #2284c1;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 15px;
	text-align: center;
}

/* Cash shop */
section.cash-shop-section.trival-store-section > .trival-store-inner {
	width: min(1000px, calc(100vw - 48px)) !important;
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cash-shop-section .trival-store-chibi--left { left: -245px; }
.cash-shop-section .trival-store-chibi--right { right: -245px; }

.cash-shop-browser {
	max-width: 1000px;
	margin: 0 auto 15px;
	padding: 18px;
	border: 1px solid rgba(104,171,213,.36);
	border-bottom: 4px solid rgba(66,145,198,.58);
	border-radius: 17px;
	background: rgba(255,255,255,.92);
	box-shadow: inset 0 2px 0 rgba(255,255,255,.96), 0 9px 22px rgba(53,111,151,.10);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.cash-shop-browser-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(117,177,216,.24);
}

.cash-shop-browser-heading {
	min-width: 0;
}

.cash-shop-browser-kicker {
	display: block;
	margin-bottom: 4px;
	color: #3c91c5;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.cash-shop-browser-heading > strong {
	display: block;
	margin-bottom: 4px;
	color: #376b88;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.2;
}

.cash-shop-browser-heading > small {
	display: block;
	color: #748999;
	font-family: 'Informb',sans-serif;
	font-size: 9.5px;
	line-height: 1.45;
}

.cash-shop-filter-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) 230px;
	gap: 12px;
	align-items: stretch;
	margin-top: 14px;
}

.store-search-box,
.store-sort-control {
	display: flex;
	align-items: center;
	min-height: 58px;
	border: 2px solid #b2d3e8;
	border-radius: 14px;
	background: linear-gradient(180deg,#fff,#f5fbfe);
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98);
	transition: border-color .15s ease, box-shadow .15s ease;
}

.store-search-box:focus-within,
.store-sort-control:focus-within {
	border-color: #59b8ed;
	box-shadow: 0 0 0 3px rgba(70,178,235,.12), inset 0 2px 0 rgba(255,255,255,.98);
}

.store-search-box {
	position: relative;
	gap: 11px;
	padding: 8px 10px 8px 14px;
	cursor: text;
}

.store-search-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #eaf7fe;
	color: #3b94c9;
}

.store-search-copy {
	display: block;
	min-width: 0;
	flex: 1 1 auto;
}

.store-search-copy > small {
	display: block;
	margin-bottom: 2px;
	color: #7190a4;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .8px;
}

.store-search-copy input[type="search"] {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #405f73 !important;
	font-family: 'Informb',sans-serif;
	font-size: 12px !important;
}

.store-search-copy input[type="search"]::placeholder {
	color: #9aabb7;
}

.store-search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 31px;
	height: 31px;
	padding: 0;
	border: 1px solid #c3dceb;
	border-radius: 9px;
	background: #f1f8fc;
	color: #5e8da9;
	cursor: pointer;
}

.store-search-clear:hover {
	background: #e4f4fd;
	color: #2f82b4;
}

.store-sort-control {
	position: relative;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	padding: 7px 12px 6px;
}

.store-sort-control > span {
	display: block;
	margin-bottom: 2px;
	color: #7190a4;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .8px;
}

.store-sort-control select {
	width: 100%;
	margin: 0;
	padding: 2px 28px 2px 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: #40667e;
	font-family: 'Informb',sans-serif;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}

.cash-shop-category-block {
	margin-top: 14px;
	padding-top: 13px;
	border-top: 1px solid rgba(117,177,216,.24);
}

.cash-shop-category-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 9px;
}

.cash-shop-category-heading strong {
	color: #3d718d;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 11px;
	font-weight: 400;
}

.cash-shop-category-heading span {
	color: #7c909f;
	font-family: 'Informb',sans-serif;
	font-size: 8.5px;
}

.cash-shop-section .store-category-list {
	justify-content: flex-start;
	max-width: none;
	margin: 0;
	gap: 7px;
}

.cash-shop-section .store-category {
	gap: 7px;
	min-height: 34px;
	padding: 7px 10px 5px;
	border-radius: 10px;
	font-size: 8.5px;
}

.cash-shop-section .store-category > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 19px;
	padding: 0 6px;
	border-radius: 999px;
	background: rgba(95,157,199,.10);
	color: #5682a0;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	line-height: 1;
}

.cash-shop-section .store-category.is-active > span {
	background: rgba(255,255,255,.23);
	color: #fff;
}

.cash-shop-section .store-cart-summary {
	justify-content: flex-start;
	max-width: 1000px;
	margin: 0 auto 14px;
	padding: 10px 13px;
}

.cash-shop-section .store-cart-summary .store-button {
	margin-left: auto;
}

.cash-shop-section .store-live-results {
	max-width: 1000px;
	margin-bottom: 12px;
	border: 1px solid rgba(113,174,214,.23);
	background: rgba(255,255,255,.86);
}

.cash-shop-section .store-grid {
	max-width: 1000px;
	gap: 13px;
}

.cash-shop-section .store-item-card {
	min-height: 302px;
	padding: 14px 14px 13px;
}

.cash-shop-section .store-item-image {
	height: 105px;
	margin-bottom: 9px;
}

.cash-shop-section .store-item-image img {
	max-width: 88px;
	max-height: 88px;
}

.store-item-category-badge {
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 21px;
	margin: 0 auto 7px;
	padding: 4px 8px 3px;
	border: 1px solid #c2dceb;
	border-radius: 999px;
	background: #f0f9fe;
	color: #5a88a6;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .35px;
	line-height: 1;
	text-transform: uppercase;
}

.cash-shop-section .store-item-name {
	font-size: 13.5px;
	line-height: 1.25;
}

.cash-shop-section .store-item-info {
	max-height: 58px;
	font-size: 10px;
	line-height: 1.42;
}

.cash-shop-section .store-item-price {
	margin: 5px 0 10px;
	padding: 8px 7px 6px;
	border-top: 1px solid rgba(119,178,216,.22);
	border-bottom: 1px solid rgba(119,178,216,.22);
	background: rgba(238,248,254,.55);
}

.cash-shop-section .store-item-price strong {
	font-size: 18px;
}

@media (max-width: 820px) {
	.cash-shop-filter-row {
		grid-template-columns: 1fr;
	}
	.cash-shop-browser-head {
		align-items: flex-start;
		flex-direction: column;
	}
	.cash-shop-browser-head .store-button,
	.cash-shop-browser-head .store-toolbar-actions {
		width: 100%;
	}
	.cash-shop-browser-head .store-toolbar-actions .store-button {
		flex: 1 1 auto;
	}
}

@media (max-width: 680px) {
	section.cash-shop-section.trival-store-section > .trival-store-inner {
		width: calc(100vw - 24px) !important;
	}
	.cash-shop-browser {
		padding: 14px;
	}
	.cash-shop-category-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}
	.cash-shop-section .store-category-list {
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		width: 100%;
	}
	.cash-shop-section .store-category {
		justify-content: space-between;
		width: 100%;
	}
}

.store-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	max-width: 1080px;
	margin: 0 auto 13px;
	padding: 12px 14px;
	border: 1px solid rgba(112, 174, 216, .42);
	border-radius: 14px;
	background: rgba(255,255,255,.84);
	box-shadow: 0 5px 14px rgba(62,118,157,.10);
}

.store-category-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
	max-width: 1080px;
	margin: 0 auto 18px;
}

.store-category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 35px;
	padding: 7px 12px 5px;
	border: 1px solid #afcde2;
	border-bottom: 3px solid #8ab5d2;
	border-radius: 10px;
	background: linear-gradient(180deg, #fff, #edf7fd);
	box-shadow: inset 0 1px 0 #fff, 0 3px 7px rgba(64,118,157,.10);
	color: #47779a;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 9px;
	letter-spacing: .4px;
	text-decoration: none;
	text-shadow: 0 1px 0 #fff;
	transition: transform .08s ease, filter .15s ease;
}

.store-category:hover {
	color: #34739e;
	filter: brightness(1.04);
	transform: translateY(-1px);
	text-decoration: none;
}

.store-category.is-active {
	border-color: #2d96d0;
	border-bottom-color: #176fa9;
	background: linear-gradient(180deg, #61c5f5, #2c9fdf);
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,60,100,.5);
}

.store-cart-summary {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	max-width: 1080px;
	margin: 0 auto 16px;
	padding: 10px 14px;
	border: 1px solid rgba(102, 168, 210, .36);
	border-radius: 12px;
	background: rgba(236,248,255,.85);
	color: #587287;
	font-size: 11px;
}

.store-cart-summary strong {
	color: #2382be;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 11px;
	font-weight: 400;
}

.store-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	max-width: 1080px;
	margin: 0 auto 22px;
}

.store-item-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 15px 15px 13px;
	border: 1px solid rgba(111, 173, 214, .40);
	border-bottom: 4px solid rgba(81, 144, 188, .68);
	border-radius: 15px;
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(238,248,254,.93));
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98), 0 7px 18px rgba(58,113,153,.12);
	transition: transform .12s ease;
	/* Box-shadow transitions repaint every frame; animating transform only keeps
	   the hover effect on the compositor so hundreds of cards don't jank on hover. */
	content-visibility: auto;
	contain-intrinsic-size: 260px 300px;
}

.store-item-card:hover {
	transform: translateY(-3px);
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98), 0 11px 24px rgba(58,113,153,.18);
}

.store-item-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 84px;
	margin-bottom: 9px;
	border: 1px solid rgba(123,181,218,.26);
	border-radius: 11px;
	background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.98), rgba(229,243,252,.78));
}

.store-item-image img {
	max-width: 72px;
	max-height: 72px;
	image-rendering: auto;
}

.store-item-name {
	margin: 0 0 7px;
	color: #365970;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
}

.store-item-name a { color: inherit; text-decoration: none; }
.store-item-name a:hover { color: #2388c5; }

.store-item-qty {
	color: #2681b8;
	font-size: 10px;
}

.store-item-info {
	flex: 1 1 auto;
	max-height: 66px;
	margin: 0 0 10px;
	overflow: hidden;
	color: #697e8f;
	font-family: 'Informb', sans-serif;
	font-size: 11px;
	line-height: 1.45;
	text-align: center;
}

.store-item-price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 2px 0 9px;
	color: #627c90;
	font-size: 10px;
	text-transform: uppercase;
}

.store-item-price strong {
	color: #2784bd;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 17px;
	font-weight: 400;
}

.store-item-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}

.store-item-actions .store-button {
	min-height: 36px;
	padding: 7px 13px 6px;
	font-size: 8px;
}

.store-admin-links {
	margin-top: 8px;
	color: #7a8d9b;
	font-size: 9px;
	text-align: center;
}

.store-admin-links a { color: #5385a5; }

.store-empty {
	max-width: 760px;
	margin: 20px auto;
	padding: 36px 22px;
	border: 1px dashed rgba(103,164,204,.58);
	border-radius: 15px;
	background: rgba(255,255,255,.68);
	color: #718697;
	font-family: 'Informb', sans-serif;
	font-size: 13px;
	text-align: center;
}

/* Cart / checkout */
.store-cart-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 920px;
	margin: 16px auto;
}

.store-cart-item {
	display: grid;
	grid-template-columns: 90px minmax(0,1fr) auto;
	gap: 15px;
	align-items: center;
	padding: 13px 15px;
	border: 1px solid rgba(111,173,214,.38);
	border-bottom: 3px solid rgba(84,145,190,.62);
	border-radius: 13px;
	background: rgba(255,255,255,.90);
	box-shadow: 0 5px 13px rgba(58,113,153,.09);
}

.store-cart-item .store-item-image { margin: 0; height: 72px; }
.store-cart-item .store-item-name { text-align: left; }
.store-cart-item .store-item-info { margin: 0; max-height: none; text-align: left; }

.store-cart-price {
	min-width: 104px;
	color: #287fae;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 13px;
	text-align: right;
}

.store-cart-links {
	margin-top: 6px;
	font-size: 9px;
}

.store-cart-links a { color: #3b82ad; text-decoration: none; }
.store-cart-links a:hover { text-decoration: underline; }

.store-checkout-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 16px;
}

.store-checkout-summary .store-stat-card { min-height: 76px; }

.store-action-row {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 15px;
}

.store-checkbox {
	accent-color: #2fa8ef;
	width: 16px;
	height: 16px;
	vertical-align: middle;
}

/* Flux paginator in the shop. */
.trival-store-section .paginator,
.trival-store-section .pagination,
.trival-store-section .pages {
	text-align: center;
}

.trival-store-section a { transition: color .15s ease; }

@media (max-width: 900px) {
	.store-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.store-hero-stats { grid-template-columns: 1fr; max-width: 520px; }
	.trival-store-chibi { opacity: .30; }
}

@media (max-width: 680px) {
	.trival-store-section { padding: 26px 0 60px; }
	.trival-store-inner { width: min(100% - 24px, 1180px); }
	.trival-store-title { font-size: 17px; letter-spacing: 2px; padding: 11px 20px 9px; }
	.store-grid { grid-template-columns: 1fr; }
	.donation-value-grid,
	.store-checkout-summary { grid-template-columns: 1fr; }
	.donation-amount-grid { grid-template-columns: 1fr; }
	.donation-or { padding: 0; }
	.store-toolbar { flex-direction: column; }
	.store-cart-item { grid-template-columns: 70px minmax(0,1fr); }
	.store-cart-price { grid-column: 2; text-align: left; }
	.trival-store-chibi { display: none; }
}

/* Live Cash Shop interactions */
.store-results {
	position: relative;
	transition: opacity .16s ease, transform .16s ease;
}

.store-results.is-busy {
	opacity: .48;
	pointer-events: none;
	transform: translateY(2px);
}

.store-category.is-loading,
.store-add-cart.is-loading {
	pointer-events: none;
	filter: saturate(.72) brightness(.98);
}

.store-add-cart.is-added {
	background: linear-gradient(180deg, #67cfa0 0%, #43b881 48%, #2b9866 100%);
	border-bottom-color: #237852;
	box-shadow: inset 0 2px 1px rgba(255,255,255,.42), 0 4px 10px rgba(45,145,96,.22);
}

/* Dedicated purchase item view. */
body.purchase-item-view-page #site-header,
body.purchase-item-view-page .hero-dl-btns {
	display: none !important;
}

body.purchase-item-view-page #main-wrapper {
	margin-top: 96px !important;
}

.store-live-results {
	max-width: 1080px;
	margin: 0 auto 10px;
	padding: 8px 12px 7px;
	border-radius: 10px;
	background: rgba(255,255,255,.82);
	box-shadow: 0 4px 10px rgba(55,110,150,.08);
	color: #647f92;
	font-family: 'Informb', sans-serif;
	font-size: 10px;
	text-align: center;
}

.store-item-card[hidden] {
	display: none !important;
}

.store-filter-empty[hidden] {
	display: none !important;
}

.store-filter-empty strong,
.store-empty > strong:first-child {
	display: block;
	margin-bottom: 6px;
	color: #3b789f;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-weight: 400;
}

.store-item-view-section {
	min-height: 620px;
}

.store-item-view {
	display: grid;
	grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
	gap: 30px;
	align-items: center;
	max-width: 920px;
	margin: 28px auto 0;
	padding: 30px;
	border-bottom: 4px solid rgba(77, 143, 190, .72);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(229,244,253,.92));
	box-shadow: inset 0 2px 0 rgba(255,255,255,.95), 0 14px 34px rgba(48,104,151,.18);
}

.store-item-view-art {
	text-align: center;
}

.store-item-view-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 250px;
	padding: 24px;
	border-radius: 18px;
	background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.98), rgba(209,235,250,.78));
	box-shadow: inset 0 -7px 18px rgba(87,153,196,.08), 0 8px 20px rgba(52,112,154,.10);
}

.store-item-view-image img {
	max-width: 190px;
	max-height: 190px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.store-item-view-fallback {
	color: #79acd0;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 54px;
}

.store-item-view-id {
	margin-top: 11px;
	color: #6d8597;
	font-size: 10px;
	letter-spacing: .8px;
	text-transform: uppercase;
}

.store-item-view-content h3 {
	margin: 6px 0 13px;
	border: 0 !important;
	color: #345c76 !important;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 27px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.store-item-view-qty {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 6px 10px 5px;
	border-radius: 8px;
	background: #dff2fd;
	color: #2d82b8;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 9px;
	text-transform: uppercase;
}

.store-item-view-description {
	max-width: 580px;
	min-height: 54px;
	color: #60798c;
	font-family: 'Informb', sans-serif;
	font-size: 13px;
	line-height: 1.6;
}

.store-item-view-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 22px 0 18px;
	color: #668094;
	text-transform: uppercase;
}

.store-item-view-price strong {
	color: #2588c5;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
}

.store-item-view-price span {
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 11px;
}

.store-item-view-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
}

/* Related products on the item-detail page. */
.store-related-products {
	max-width: 1080px;
	margin: 38px auto 0;
}

.store-related-heading {
	margin: 0 auto 16px;
	text-align: center;
}

.store-related-heading h3 {
	margin: 0 0 5px;
	border: 0 !important;
	color: #fff !important;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 1.2;
	text-shadow: 0 2px 5px rgba(37, 82, 116, .78);
}

.store-related-heading p {
	margin: 0;
	color: rgba(255,255,255,.94);
	font-family: 'Informb', sans-serif;
	font-size: 11px;
	line-height: 1.45;
	text-shadow: 0 1px 4px rgba(37, 82, 116, .72);
}

.store-related-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 0;
}

.store-related-card {
	min-height: 245px;
}

.store-related-card .store-item-image {
	text-decoration: none;
}

@media (max-width: 900px) {
	.store-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.store-related-products {
		margin-top: 28px;
	}

	.store-related-heading h3 {
		font-size: 16px;
	}

	.store-related-grid {
		grid-template-columns: 1fr;
	}
}

/* Guest cart */
.store-toolbar-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
}

.guest-cart-section .store-cart-list {
	max-width: 960px;
}

.guest-cart-item[hidden],
.guest-cart-bottom-actions[hidden],
.guest-cart-empty[hidden] {
	display: none !important;
}

.guest-cart-controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 10px;
}

.guest-cart-step.store-button {
	min-width: 34px;
	min-height: 32px;
	padding: 6px 10px 5px;
	font-size: 13px;
}

.guest-cart-quantity {
	min-width: 82px;
	color: #627b8e;
	font-size: 10px;
	text-align: center;
	text-transform: uppercase;
}

.guest-cart-quantity strong {
	color: #2586c0;
	font-family: 'Grobold', 'Arial Black', sans-serif;
	font-size: 13px;
	font-weight: 400;
}

.guest-cart-remove {
	padding: 6px 7px;
	border: 0;
	background: transparent;
	color: #b75555;
	font-family: 'Informb', sans-serif;
	font-size: 10px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.guest-cart-remove:hover {
	color: #943d3d;
}

@media (max-width: 900px) {
	body.purchase-item-view-page #main-wrapper {
		margin-top: 82px !important;
	}

	.store-item-view {
		grid-template-columns: minmax(200px, .75fr) minmax(0, 1.25fr);
		gap: 22px;
		padding: 24px;
	}

	.store-item-view-image { min-height: 210px; }
	.store-item-view-image img { max-width: 155px; max-height: 155px; }
}

@media (max-width: 680px) {
	body.purchase-item-view-page #main-wrapper {
		margin-top: 70px !important;
	}

	.store-item-view {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-top: 18px;
		padding: 18px 16px 16px;
	}

	.store-item-view-image { min-height: 180px; }
	.store-item-view-image img { max-width: 135px; max-height: 135px; }
	.store-item-view-content { text-align: center; }
	.store-item-view-content h3 { font-size: 21px; }
	.store-item-view-description { margin-left: auto; margin-right: auto; }
	.store-item-view-price { justify-content: center; }
	.store-item-view-actions { display: grid; grid-template-columns: 1fr; }
	.store-item-view-actions .store-button { width: 100%; }
}

/* ============================================================
   Cart page hierarchy
   One clear empty state, or items + order summary when populated.
   ============================================================ */
.cart-shop-section {
	min-height: 620px;
}

.cart-shop-section .trival-store-chibi--left {
	left: -205px;
	top: 205px;
}

.cart-shop-section .trival-store-chibi--right {
	right: -215px;
	top: 205px;
}

.cart-empty-state {
	display: flex;
	align-items: center;
	flex-direction: column;
	max-width: 700px;
	min-height: 285px;
	margin: 26px auto 0;
	padding: 36px 34px 30px;
	border: 0;
	border-radius: 18px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 14px 32px rgba(48,108,151,.14);
	text-align: center;
}

.cart-empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: linear-gradient(180deg,#e7f7ff,#d7effb);
	color: #3696ce;
	box-shadow: 0 7px 17px rgba(55,132,181,.12);
}

.cart-empty-icon svg {
	width: 38px;
	height: 38px;
}

.cart-empty-state h3 {
	margin: 0 0 8px;
	border: 0 !important;
	color: #376983 !important;
	font-family: 'Grobold','Arial Black',sans-serif !important;
	font-size: 21px !important;
	font-weight: 400 !important;
	line-height: 1.15;
	text-transform: none !important;
}

.cart-empty-state > p {
	max-width: 520px;
	margin: 0 auto 18px;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 11px;
	line-height: 1.55;
}

.cart-empty-primary {
	min-width: 190px;
}

.cart-empty-balance {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	margin-top: 17px;
	padding: 9px 15px;
	border-radius: 999px;
	background: #eef8fd;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9px;
}

.cart-empty-balance strong {
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 11px;
	font-weight: 400;
}

.cart-page-layout {
	display: grid;
	grid-template-columns: minmax(0,1fr) 300px;
	gap: 18px;
	align-items: start;
	margin: 24px auto 0;
}

.cart-items-panel,
.cart-order-summary {
	border: 0;
	border-radius: 18px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 12px 28px rgba(48,108,151,.12);
}

.cart-items-panel {
	padding: 21px 22px 18px;
}

.cart-panel-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 15px;
}

.cart-panel-heading h3,
.cart-summary-heading h3 {
	margin: 0 0 4px;
	border: 0 !important;
	color: #376983 !important;
	font-family: 'Grobold','Arial Black',sans-serif !important;
	font-weight: 400 !important;
	text-transform: none !important;
}

.cart-panel-heading h3 {
	font-size: 17px !important;
}

.cart-panel-heading p {
	margin: 0;
	color: #7a8e9d;
	font-family: 'Informb',sans-serif;
	font-size: 9px;
}

.cart-continue-link {
	flex: 0 0 auto;
	margin-top: 2px;
	color: #3982ad !important;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 8.5px;
	text-decoration: none !important;
}

.cart-continue-link:hover {
	color: #2478aa !important;
}

.cart-item-list {
	gap: 9px;
	max-width: none;
	margin: 0;
}

.cart-item-row {
	grid-template-columns: 24px 76px minmax(0,1fr) 110px;
	gap: 12px;
	padding: 12px 13px;
	border: 0;
	border-radius: 13px;
	background: rgba(239,248,253,.78);
	box-shadow: 0 5px 13px rgba(58,113,153,.07);
}

.cart-select-item {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	cursor: pointer;
}

.cart-item-image {
	height: 70px !important;
	margin: 0 !important;
	border: 0 !important;
	background: rgba(255,255,255,.80) !important;
}

.cart-item-image img {
	max-width: 60px !important;
	max-height: 60px !important;
}

.cart-item-copy .store-item-name {
	margin-bottom: 4px;
	font-size: 12px;
	text-align: left;
}

.cart-item-copy .store-item-info {
	margin: 0;
	max-height: 42px;
	font-size: 9px;
	line-height: 1.4;
	text-align: left;
}

.cart-item-copy .store-item-qty {
	margin-bottom: 3px;
	font-size: 8.5px;
}

.cart-item-copy .store-cart-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 7px;
	font-family: 'Informb',sans-serif;
	font-size: 8.5px;
}

.cart-item-copy .store-cart-links a {
	text-decoration: none;
}

.cart-item-price {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-direction: column;
	min-width: 0;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	text-transform: uppercase;
}

.cart-item-price strong {
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
}

.cart-selection-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 14px;
}

.cart-selection-actions > span {
	color: #8295a3;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	line-height: 1.4;
}

.cart-selection-actions .store-button {
	flex: 0 0 auto;
	min-height: 36px;
	padding: 7px 12px 6px;
	font-size: 8px;
}

.cart-order-summary {
	position: sticky;
	top: 118px;
	padding: 21px 19px 18px;
}

.cart-summary-heading > span {
	display: block;
	margin-bottom: 5px;
	color: #3d91c4;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .9px;
}

.cart-summary-heading h3 {
	font-size: 16px !important;
}

.cart-summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #f3f9fc;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9px;
}

.cart-summary-row strong {
	color: #3c6e89;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 10px;
	font-weight: 400;
}

.cart-summary-total {
	background: #eaf7fd;
}

.cart-summary-total strong {
	color: #2584bd;
	font-size: 13px;
}

.cart-summary-balance {
	margin: 12px 0 15px;
	padding: 13px 12px;
	border-radius: 11px;
	background: rgba(239,248,253,.78);
}

.cart-summary-balance > span,
.cart-summary-balance > strong,
.cart-summary-balance > small {
	display: block;
}

.cart-summary-balance > span {
	margin-bottom: 4px;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .65px;
	text-transform: uppercase;
}

.cart-summary-balance > strong {
	margin-bottom: 4px;
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 15px;
	font-weight: 400;
}

.cart-summary-balance > small {
	color: #8295a3;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	line-height: 1.4;
}

.cart-checkout-button,
.cart-shop-button {
	width: 100%;
	margin-top: 8px;
}

.cart-empty-cart-form {
	margin: 13px 0 0;
	text-align: center;
}

.cart-empty-cart-button {
	padding: 0;
	border: 0;
	background: transparent;
	color: #ad5d5d;
	font-family: 'Informb',sans-serif;
	font-size: 8px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.cart-empty-cart-button:hover {
	color: #8f4141;
}

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 900px) {
	.cart-page-layout {
		grid-template-columns: 1fr;
	}

	.cart-order-summary {
		position: static;
	}
}

@media (max-width: 680px) {
	.cart-shop-section .trival-store-inner {
		width: calc(100vw - 24px) !important;
	}

	.cart-empty-state {
		min-height: 0;
		padding: 28px 18px 24px;
	}

	.cart-page-layout {
		gap: 12px;
	}

	.cart-items-panel,
	.cart-order-summary {
		padding: 16px 14px 14px;
	}

	.cart-panel-heading,
	.cart-selection-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.cart-item-row {
		grid-template-columns: 22px 62px minmax(0,1fr);
	}

	.cart-item-price {
		grid-column: 3;
		align-items: flex-start;
	}

	.cart-selection-actions .store-button {
		width: 100%;
	}
}

/* ============================================================
   Pending redemption
   Compact transactional hierarchy for waiting and empty states.
   ============================================================ */
.pending-redemption-section {
	min-height: 620px;
}

.pending-redemption-section .trival-store-chibi--left {
	left: -210px;
	top: 185px;
}

.pending-redemption-section .trival-store-chibi--right {
	right: -220px;
	top: 190px;
}

.pending-redemption-shell,
.pending-redemption-empty {
	max-width: 1000px;
	margin: 24px auto 0;
	border: 0;
	border-radius: 18px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 14px 32px rgba(48,108,151,.14);
}

.pending-redemption-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 19px 22px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(145deg,rgba(234,247,254,.95),rgba(247,252,255,.96));
}

.pending-redemption-status {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
}

.pending-redemption-status-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: linear-gradient(180deg,#62c6f5,#34a8e8);
	color: #fff;
	box-shadow: 0 6px 14px rgba(45,145,204,.20);
}

.pending-redemption-status-icon svg {
	width: 27px;
	height: 27px;
}

.pending-redemption-status strong,
.pending-redemption-status small,
.pending-redemption-credit span,
.pending-redemption-credit strong {
	display: block;
}

.pending-redemption-status strong {
	margin-bottom: 4px;
	color: #376983;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}

.pending-redemption-status small {
	max-width: 560px;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9.5px;
	line-height: 1.45;
}

.pending-redemption-credit {
	flex: 0 0 auto;
	min-width: 150px;
	padding: 10px 14px;
	border-radius: 12px;
	background: rgba(255,255,255,.78);
	text-align: right;
}

.pending-redemption-credit span {
	margin-bottom: 3px;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .65px;
	text-transform: uppercase;
}

.pending-redemption-credit strong {
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 16px;
	font-weight: 400;
}

.pending-redemption-list-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 22px 14px;
}

.pending-redemption-list-head h3 {
	margin: 0 0 5px;
	border: 0 !important;
	color: #376983 !important;
	font-family: 'Grobold','Arial Black',sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.2;
	text-transform: none !important;
}

.pending-redemption-list-head p {
	max-width: 620px;
	margin: 0;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9px;
	line-height: 1.5;
}

.pending-redemption-list-head .store-button {
	flex: 0 0 auto;
	min-height: 36px;
	padding: 7px 13px 6px;
	font-size: 8px;
}

.pending-redemption-table-wrap {
	padding: 0 22px 22px;
	overflow-x: auto;
}

.pending-redemption-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 7px;
	font-family: 'Informb',sans-serif;
	font-size: 9.5px;
}

.pending-redemption-table thead th {
	padding: 10px 12px 8px;
	border: 0;
	background: #2C9FDF;
	color: #fff;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 8px;
	font-weight: 400;
	letter-spacing: .45px;
	text-align: left;
	text-shadow: 0 1px 2px rgba(0,70,120,.35);
	text-transform: uppercase;
}

.pending-redemption-table thead th:first-child {
	border-radius: 10px 0 0 10px;
}

.pending-redemption-table thead th:last-child {
	border-radius: 0 10px 10px 0;
}

.pending-redemption-table tbody td {
	padding: 12px;
	border: 0;
	background: rgba(239,248,253,.78);
	color: #647d8f;
	vertical-align: middle;
}

.pending-redemption-table tbody td:first-child {
	border-radius: 11px 0 0 11px;
}

.pending-redemption-table tbody td:last-child {
	border-radius: 0 11px 11px 0;
}

.pending-item-name {
	color: #376983;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 10px;
	font-weight: 400;
}

.pending-credit-value {
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 10px;
	font-weight: 400;
}

.pending-balance-change {
	color: #3e718d;
	font-weight: 700;
	white-space: nowrap;
}

.pending-balance-change > span {
	padding: 0 5px;
	color: #4fa7d5;
}

.pending-redemption-empty {
	display: flex;
	align-items: center;
	flex-direction: column;
	max-width: 720px;
	min-height: 300px;
	padding: 38px 34px 30px;
	text-align: center;
}

.pending-redemption-empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 16px;
	border-radius: 18px;
	background: linear-gradient(180deg,#e8f8ff,#d9f0fb);
	color: #3798cf;
	box-shadow: 0 7px 18px rgba(55,132,181,.12);
}

.pending-redemption-empty-icon svg {
	width: 42px;
	height: 42px;
}

.pending-redemption-empty h3 {
	margin: 0 0 8px;
	border: 0 !important;
	color: #376983 !important;
	font-family: 'Grobold','Arial Black',sans-serif !important;
	font-size: 21px !important;
	font-weight: 400 !important;
	line-height: 1.15;
	text-transform: none !important;
}

.pending-redemption-empty > p {
	max-width: 500px;
	margin: 0 auto 18px;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 11px;
	line-height: 1.55;
}

.pending-redemption-primary {
	min-width: 190px;
}

.pending-redemption-empty-meta {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	margin-top: 17px;
	padding: 9px 15px;
	border-radius: 999px;
	background: #EAF7FE;
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9px;
}

.pending-redemption-empty-meta strong {
	color: #2784bd;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 11px;
	font-weight: 400;
}

@media (max-width: 760px) {
	.pending-redemption-summary,
	.pending-redemption-list-head {
		align-items: stretch;
		flex-direction: column;
	}

	.pending-redemption-credit {
		width: 100%;
		text-align: left;
	}

	.pending-redemption-list-head .store-button {
		width: 100%;
	}

	.pending-redemption-table-wrap {
		padding: 0 14px 16px;
	}

	.pending-redemption-table,
	.pending-redemption-table tbody,
	.pending-redemption-table tr,
	.pending-redemption-table td {
		display: block;
		width: 100%;
	}

	.pending-redemption-table thead {
		display: none;
	}

	.pending-redemption-table {
		border-spacing: 0;
	}

	.pending-redemption-table tbody tr {
		margin-bottom: 10px;
		padding: 10px 12px;
		border-radius: 12px;
		background: rgba(239,248,253,.82);
	}

	.pending-redemption-table tbody td {
		display: grid;
		grid-template-columns: 112px minmax(0,1fr);
		gap: 10px;
		padding: 6px 0;
		border-radius: 0 !important;
		background: transparent;
	}

	.pending-redemption-table tbody td::before {
		content: attr(data-label);
		color: #718797;
		font-family: 'Informb',sans-serif;
		font-size: 7.5px;
		font-weight: 700;
		letter-spacing: .55px;
		text-transform: uppercase;
	}
}

@media (max-width: 680px) {
	.pending-redemption-empty {
		min-height: 0;
		padding: 28px 18px 24px;
	}
}

/* Purchase module top treatment: the promotional hero is removed on these
   transactional pages, so keep the submenu on a clean white strip instead of
   exposing the blue top of the site background. Give it a little more breathing
   room below the fixed header while leaving the town artwork visible beneath. */
body.purchase-module-page #main-wrapper {
	position: relative;
	margin-top: 78px !important;
	padding-top: 30px !important;
}

body.purchase-module-page #main-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 132px;
	transform: translateX(-50%);
	background: #fff;
	pointer-events: none;
	z-index: 0;
}

body.purchase-module-page #content-col {
	position: relative;
	z-index: 1;
}

body.purchase-module-page #submenu.game-breadcrumb,
body.purchase-module-page #pagemenu {
	margin-top: 0 !important;
	margin-bottom: 28px !important;
}

@media (max-width: 900px) {
	body.purchase-module-page #main-wrapper {
		margin-top: 68px !important;
		padding-top: 22px !important;
	}

	body.purchase-module-page #main-wrapper::before {
		height: 118px;
	}
}

/* Purchase submenu feedback: compact notice below the menu, never above it. */
.purchase-menu-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(1000px, calc(100vw - 48px));
	margin: 12px auto 8px;
	padding: 11px 15px;
	border: 0;
	border-radius: 14px;
	background: rgba(234,247,254,.96);
	box-shadow: 0 7px 18px rgba(48,108,151,.10);
	color: #376983;
}

.purchase-menu-notice-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #2C9FDF;
	color: #fff;
	box-shadow: 0 4px 9px rgba(44,159,223,.20);
}

.purchase-menu-notice-icon svg {
	width: 21px;
	height: 21px;
}

.purchase-menu-notice-copy {
	display: block;
	min-width: 0;
}

.purchase-menu-notice-copy > strong,
.purchase-menu-notice-copy > span {
	display: block;
}

.purchase-menu-notice-copy > strong {
	margin-bottom: 2px;
	color: #376983;
	font-family: 'Grobold','Arial Black',sans-serif;
	font-size: 10px;
	font-weight: 400;
}

.purchase-menu-notice-copy > span {
	color: #718797;
	font-family: 'Informb',sans-serif;
	font-size: 9.5px;
	line-height: 1.4;
}

#submenu.is-purchase-loading {
	pointer-events: none;
}

#submenu.is-purchase-loading .sub-menu-item {
	opacity: .58;
}

#submenu .sub-menu-item.is-purchase-loading {
	opacity: 1;
	filter: brightness(1.06);
	transform: translateY(1px);
}

.trival-store-section.is-purchase-nav-loading {
	opacity: .72;
	transition: opacity .12s ease;
}

@media (max-width: 680px) {
	.purchase-menu-notice {
		width: calc(100vw - 24px);
		margin-top: 9px;
		padding: 10px 12px;
	}
}
